vxe-pc-ui 4.14.27 → 4.14.29
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/all.esm.js +177 -26
- package/dist/style.css +1 -1
- package/dist/style.min.css +1 -1
- package/es/date-panel/src/date-panel.js +15 -13
- package/es/date-panel/style.css +4 -0
- package/es/date-panel/style.min.css +1 -1
- package/es/date-range-picker/src/date-range-picker.js +92 -2
- package/es/select/src/select.js +4 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table-select/src/table-select.js +4 -1
- package/es/tree-select/src/tree-select.js +4 -1
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/es/upload/src/upload.js +56 -6
- package/es/vxe-date-panel/style.css +4 -0
- package/es/vxe-date-panel/style.min.css +1 -1
- package/lib/date-panel/src/date-panel.js +55 -13
- package/lib/date-panel/src/date-panel.min.js +1 -1
- package/lib/date-panel/style/style.css +4 -0
- package/lib/date-panel/style/style.min.css +1 -1
- package/lib/date-range-picker/src/date-range-picker.js +102 -2
- package/lib/date-range-picker/src/date-range-picker.min.js +1 -1
- package/lib/index.umd.js +243 -30
- package/lib/index.umd.min.js +1 -1
- package/lib/select/src/select.js +4 -1
- package/lib/select/src/select.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table-select/src/table-select.js +4 -1
- package/lib/table-select/src/table-select.min.js +1 -1
- package/lib/tree-select/src/tree-select.js +4 -1
- package/lib/tree-select/src/tree-select.min.js +1 -1
- package/lib/ui/index.js +1 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/lib/upload/src/upload.js +72 -10
- package/lib/upload/src/upload.min.js +1 -1
- package/lib/vxe-date-panel/style/style.css +4 -0
- package/lib/vxe-date-panel/style/style.min.css +1 -1
- package/package.json +1 -1
- package/packages/date-panel/src/date-panel.ts +30 -28
- package/packages/date-range-picker/src/date-range-picker.ts +94 -3
- package/packages/select/src/select.ts +4 -1
- package/packages/table-select/src/table-select.ts +4 -1
- package/packages/tree-select/src/tree-select.ts +4 -1
- package/packages/upload/src/upload.ts +66 -6
- package/styles/components/date-panel.scss +4 -0
- package/types/components/date-panel.d.ts +26 -2
- package/types/components/date-range-picker.d.ts +2 -0
- package/types/components/gantt.d.ts +4 -0
- package/types/components/upload.d.ts +37 -2
- /package/es/icon/{iconfont.1780477619002.ttf → iconfont.1780632924397.ttf} +0 -0
- /package/es/icon/{iconfont.1780477619002.woff → iconfont.1780632924397.woff} +0 -0
- /package/es/icon/{iconfont.1780477619002.woff2 → iconfont.1780632924397.woff2} +0 -0
- /package/es/{iconfont.1780477619002.ttf → iconfont.1780632924397.ttf} +0 -0
- /package/es/{iconfont.1780477619002.woff → iconfont.1780632924397.woff} +0 -0
- /package/es/{iconfont.1780477619002.woff2 → iconfont.1780632924397.woff2} +0 -0
- /package/lib/icon/style/{iconfont.1780477619002.ttf → iconfont.1780632924397.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1780477619002.woff → iconfont.1780632924397.woff} +0 -0
- /package/lib/icon/style/{iconfont.1780477619002.woff2 → iconfont.1780632924397.woff2} +0 -0
- /package/lib/{iconfont.1780477619002.ttf → iconfont.1780632924397.ttf} +0 -0
- /package/lib/{iconfont.1780477619002.woff → iconfont.1780632924397.woff} +0 -0
- /package/lib/{iconfont.1780477619002.woff2 → iconfont.1780632924397.woff2} +0 -0
package/dist/all.esm.js
CHANGED
|
@@ -80,11 +80,11 @@ function checkDynamic() {
|
|
|
80
80
|
}
|
|
81
81
|
}
|
|
82
82
|
|
|
83
|
-
const version$1 = `ui v${"4.14.
|
|
83
|
+
const version$1 = `ui v${"4.14.30"}`;
|
|
84
84
|
const warnLog = log.create('warn', version$1);
|
|
85
85
|
const errLog = log.create('error', version$1);
|
|
86
86
|
|
|
87
|
-
const version = "4.14.
|
|
87
|
+
const version = "4.14.30";
|
|
88
88
|
VxeUI.uiVersion = version;
|
|
89
89
|
VxeUI.dynamicApp = dynamicApp;
|
|
90
90
|
function config(options) {
|
|
@@ -14423,6 +14423,7 @@ var VxeDatePanelComponent = defineVxeComponent({
|
|
|
14423
14423
|
default: 'date'
|
|
14424
14424
|
},
|
|
14425
14425
|
className: String,
|
|
14426
|
+
cellClassName: [String, Function],
|
|
14426
14427
|
size: {
|
|
14427
14428
|
type: String,
|
|
14428
14429
|
default: () => getConfig$3().datePanel.size || getConfig$3().size
|
|
@@ -15267,7 +15268,7 @@ var VxeDatePanelComponent = defineVxeComponent({
|
|
|
15267
15268
|
if (!props.multiple) {
|
|
15268
15269
|
hidePanel();
|
|
15269
15270
|
}
|
|
15270
|
-
dispatchEvent('date-today', { type: props.type }, evnt);
|
|
15271
|
+
dispatchEvent('date-today', { viewType: reactData.datePanelType, type: props.type, viewDate: reactData.selectMonth }, evnt);
|
|
15271
15272
|
};
|
|
15272
15273
|
const dateNextEvent = (evnt) => {
|
|
15273
15274
|
const { type } = props;
|
|
@@ -15300,7 +15301,7 @@ var VxeDatePanelComponent = defineVxeComponent({
|
|
|
15300
15301
|
}
|
|
15301
15302
|
}
|
|
15302
15303
|
reactData.selectMonth = viewDate;
|
|
15303
|
-
dispatchEvent('date-next', { viewType: datePanelType, value, type }, evnt);
|
|
15304
|
+
dispatchEvent('date-next', { viewType: datePanelType, value, type, viewDate }, evnt);
|
|
15304
15305
|
}
|
|
15305
15306
|
};
|
|
15306
15307
|
const isRangeDisabled = (item) => {
|
|
@@ -15584,7 +15585,8 @@ var VxeDatePanelComponent = defineVxeComponent({
|
|
|
15584
15585
|
}
|
|
15585
15586
|
},
|
|
15586
15587
|
getPanelDate() {
|
|
15587
|
-
|
|
15588
|
+
const { selectMonth } = reactData;
|
|
15589
|
+
return selectMonth ? new Date(selectMonth.getTime()) : new Date();
|
|
15588
15590
|
},
|
|
15589
15591
|
checkValue(value) {
|
|
15590
15592
|
afterCheckValue(value);
|
|
@@ -15638,7 +15640,7 @@ var VxeDatePanelComponent = defineVxeComponent({
|
|
|
15638
15640
|
return labelVNs;
|
|
15639
15641
|
};
|
|
15640
15642
|
const renderDateDayTable = () => {
|
|
15641
|
-
const { multiple } = props;
|
|
15643
|
+
const { type, multiple, cellClassName } = props;
|
|
15642
15644
|
const { datePanelType, datePanelValue } = reactData;
|
|
15643
15645
|
const dateValue = computeDateValue.value;
|
|
15644
15646
|
const dateHeaders = computeDateHeaders.value;
|
|
@@ -15683,7 +15685,7 @@ var VxeDatePanelComponent = defineVxeComponent({
|
|
|
15683
15685
|
}, rows.map((item) => {
|
|
15684
15686
|
const isSelected = multiple ? dateListValue.some(val => XEUtils.isDateSame(val, item.date, matchFormat)) : XEUtils.isDateSame(dateValue, item.date, matchFormat);
|
|
15685
15687
|
return h('div', {
|
|
15686
|
-
class: ['vxe-date-panel--view-item', {
|
|
15688
|
+
class: ['vxe-date-panel--view-item', cellClassName ? (XEUtils.isFunction(cellClassName) ? `${cellClassName({ $datePanel: $xeDatePanel, type, viewType: datePanelType, date: item.date }) || ''}` : `${cellClassName || ''}`) : '', {
|
|
15687
15689
|
'is--prev': item.isPrev,
|
|
15688
15690
|
'is--current': item.isCurrent,
|
|
15689
15691
|
'is--now': item.isNow,
|
|
@@ -15711,7 +15713,7 @@ var VxeDatePanelComponent = defineVxeComponent({
|
|
|
15711
15713
|
];
|
|
15712
15714
|
};
|
|
15713
15715
|
const renderDateWeekTable = () => {
|
|
15714
|
-
const { multiple } = props;
|
|
15716
|
+
const { type, multiple, cellClassName } = props;
|
|
15715
15717
|
const { datePanelType, datePanelValue } = reactData;
|
|
15716
15718
|
const dateValue = computeDateValue.value;
|
|
15717
15719
|
const weekHeaders = computeWeekHeaders.value;
|
|
@@ -15758,7 +15760,7 @@ var VxeDatePanelComponent = defineVxeComponent({
|
|
|
15758
15760
|
}
|
|
15759
15761
|
}, rows.map((item, rIndex) => {
|
|
15760
15762
|
return h('div', {
|
|
15761
|
-
class: ['vxe-date-panel--view-item', {
|
|
15763
|
+
class: ['vxe-date-panel--view-item', cellClassName ? (XEUtils.isFunction(cellClassName) ? `${cellClassName({ $datePanel: $xeDatePanel, type, viewType: datePanelType, date: item.date }) || ''}` : `${cellClassName || ''}`) : '', {
|
|
15762
15764
|
'is--prev': item.isPrev,
|
|
15763
15765
|
'is--current': item.isCurrent,
|
|
15764
15766
|
'is--now': rIndex ? item.isNow : isNowWeek,
|
|
@@ -15786,7 +15788,7 @@ var VxeDatePanelComponent = defineVxeComponent({
|
|
|
15786
15788
|
];
|
|
15787
15789
|
};
|
|
15788
15790
|
const renderDateMonthTable = () => {
|
|
15789
|
-
const { multiple } = props;
|
|
15791
|
+
const { type, multiple, cellClassName } = props;
|
|
15790
15792
|
const { datePanelType, datePanelValue } = reactData;
|
|
15791
15793
|
const dateValue = computeDateValue.value;
|
|
15792
15794
|
const monthDatas = computeMonthDatas.value;
|
|
@@ -15808,7 +15810,7 @@ var VxeDatePanelComponent = defineVxeComponent({
|
|
|
15808
15810
|
}, rows.map((item) => {
|
|
15809
15811
|
const isSelected = multiple ? dateListValue.some(val => XEUtils.isDateSame(val, item.date, matchFormat)) : XEUtils.isDateSame(dateValue, item.date, matchFormat);
|
|
15810
15812
|
return h('div', {
|
|
15811
|
-
class: ['vxe-date-panel--view-item', {
|
|
15813
|
+
class: ['vxe-date-panel--view-item', cellClassName ? (XEUtils.isFunction(cellClassName) ? `${cellClassName({ $datePanel: $xeDatePanel, type, viewType: datePanelType, date: item.date }) || ''}` : `${cellClassName || ''}`) : '', {
|
|
15812
15814
|
'is--prev': item.isPrev,
|
|
15813
15815
|
'is--current': item.isCurrent,
|
|
15814
15816
|
'is--now': item.isNow,
|
|
@@ -15836,7 +15838,7 @@ var VxeDatePanelComponent = defineVxeComponent({
|
|
|
15836
15838
|
];
|
|
15837
15839
|
};
|
|
15838
15840
|
const renderDateQuarterTable = () => {
|
|
15839
|
-
const { multiple } = props;
|
|
15841
|
+
const { type, multiple, cellClassName } = props;
|
|
15840
15842
|
const { datePanelType, datePanelValue } = reactData;
|
|
15841
15843
|
const dateValue = computeDateValue.value;
|
|
15842
15844
|
const quarterDatas = computeQuarterDatas.value;
|
|
@@ -15858,7 +15860,7 @@ var VxeDatePanelComponent = defineVxeComponent({
|
|
|
15858
15860
|
}, rows.map((item) => {
|
|
15859
15861
|
const isSelected = multiple ? dateListValue.some(val => XEUtils.isDateSame(val, item.date, matchFormat)) : XEUtils.isDateSame(dateValue, item.date, matchFormat);
|
|
15860
15862
|
return h('div', {
|
|
15861
|
-
class: ['vxe-date-panel--view-item', {
|
|
15863
|
+
class: ['vxe-date-panel--view-item', cellClassName ? (XEUtils.isFunction(cellClassName) ? `${cellClassName({ $datePanel: $xeDatePanel, type, viewType: datePanelType, date: item.date }) || ''}` : `${cellClassName || ''}`) : '', {
|
|
15862
15864
|
'is--prev': item.isPrev,
|
|
15863
15865
|
'is--current': item.isCurrent,
|
|
15864
15866
|
'is--now': item.isNow,
|
|
@@ -15886,7 +15888,7 @@ var VxeDatePanelComponent = defineVxeComponent({
|
|
|
15886
15888
|
];
|
|
15887
15889
|
};
|
|
15888
15890
|
const renderDateYearTable = () => {
|
|
15889
|
-
const { multiple } = props;
|
|
15891
|
+
const { type, multiple, cellClassName } = props;
|
|
15890
15892
|
const { datePanelType, datePanelValue } = reactData;
|
|
15891
15893
|
const dateValue = computeDateValue.value;
|
|
15892
15894
|
const yearDatas = computeYearDatas.value;
|
|
@@ -15908,7 +15910,7 @@ var VxeDatePanelComponent = defineVxeComponent({
|
|
|
15908
15910
|
}, rows.map((item) => {
|
|
15909
15911
|
const isSelected = multiple ? dateListValue.some(val => XEUtils.isDateSame(val, item.date, matchFormat)) : XEUtils.isDateSame(dateValue, item.date, matchFormat);
|
|
15910
15912
|
return h('div', {
|
|
15911
|
-
class: ['vxe-date-panel--view-item', {
|
|
15913
|
+
class: ['vxe-date-panel--view-item', cellClassName ? (XEUtils.isFunction(cellClassName) ? `${cellClassName({ $datePanel: $xeDatePanel, type, viewType: datePanelType, date: item.date }) || ''}` : `${cellClassName || ''}`) : '', {
|
|
15912
15914
|
'is--prev': item.isPrev,
|
|
15913
15915
|
'is--current': item.isCurrent,
|
|
15914
15916
|
'is--now': item.isNow,
|
|
@@ -17185,6 +17187,10 @@ var VxeDateRangePickerComponent = defineVxeComponent({
|
|
|
17185
17187
|
type: Boolean,
|
|
17186
17188
|
default: () => getConfig$3().dateRangePicker.clearable
|
|
17187
17189
|
},
|
|
17190
|
+
linkedPanels: {
|
|
17191
|
+
type: Boolean,
|
|
17192
|
+
default: () => getConfig$3().dateRangePicker.linkedPanels
|
|
17193
|
+
},
|
|
17188
17194
|
readonly: {
|
|
17189
17195
|
type: Boolean,
|
|
17190
17196
|
default: null
|
|
@@ -17652,6 +17658,19 @@ var VxeDateRangePickerComponent = defineVxeComponent({
|
|
|
17652
17658
|
}
|
|
17653
17659
|
}
|
|
17654
17660
|
};
|
|
17661
|
+
const panelCellClassName = ({ date }) => {
|
|
17662
|
+
const startValue = reactData.startValue;
|
|
17663
|
+
const endValue = reactData.endValue;
|
|
17664
|
+
if (startValue && endValue) {
|
|
17665
|
+
const currTime = date.getTime();
|
|
17666
|
+
const startTime = XEUtils.toStringDate(startValue).getTime();
|
|
17667
|
+
const endTime = XEUtils.toStringDate(endValue).getTime();
|
|
17668
|
+
if (currTime >= startTime && currTime <= endTime) {
|
|
17669
|
+
return 'is--range-selected';
|
|
17670
|
+
}
|
|
17671
|
+
}
|
|
17672
|
+
return '';
|
|
17673
|
+
};
|
|
17655
17674
|
const handleSelectClose = () => {
|
|
17656
17675
|
const { autoClose } = props;
|
|
17657
17676
|
const { startValue, endValue } = reactData;
|
|
@@ -17687,6 +17706,7 @@ var VxeDateRangePickerComponent = defineVxeComponent({
|
|
|
17687
17706
|
}
|
|
17688
17707
|
if (!reactData.visiblePanel) {
|
|
17689
17708
|
reactData.isActivated = false;
|
|
17709
|
+
checkValue();
|
|
17690
17710
|
}
|
|
17691
17711
|
dispatchEvent('blur', { value, startValue, endValue }, evnt);
|
|
17692
17712
|
// 自动更新校验状态
|
|
@@ -17758,6 +17778,70 @@ var VxeDateRangePickerComponent = defineVxeComponent({
|
|
|
17758
17778
|
}
|
|
17759
17779
|
});
|
|
17760
17780
|
};
|
|
17781
|
+
const startPanelDateBtnChangeEvent = (params) => {
|
|
17782
|
+
const { linkedPanels } = props;
|
|
17783
|
+
if (linkedPanels) {
|
|
17784
|
+
const { viewType } = params;
|
|
17785
|
+
const $startDatePanel = refStartDatePanel.value;
|
|
17786
|
+
const $endDatePanel = refEndDatePanel.value;
|
|
17787
|
+
if (!$startDatePanel || !$endDatePanel) {
|
|
17788
|
+
return;
|
|
17789
|
+
}
|
|
17790
|
+
const startPanelDate = $startDatePanel.getPanelDate();
|
|
17791
|
+
if (!startPanelDate) {
|
|
17792
|
+
return;
|
|
17793
|
+
}
|
|
17794
|
+
const endYear = startPanelDate.getFullYear();
|
|
17795
|
+
const endMonth = startPanelDate.getMonth();
|
|
17796
|
+
switch (viewType) {
|
|
17797
|
+
case 'day':
|
|
17798
|
+
case 'date':
|
|
17799
|
+
case 'week': {
|
|
17800
|
+
if (endMonth < 11) {
|
|
17801
|
+
startPanelDate.setMonth(endMonth + 1);
|
|
17802
|
+
}
|
|
17803
|
+
else {
|
|
17804
|
+
startPanelDate.setFullYear(endYear + 1);
|
|
17805
|
+
startPanelDate.setMonth(0);
|
|
17806
|
+
}
|
|
17807
|
+
$endDatePanel.setPanelDate(startPanelDate);
|
|
17808
|
+
break;
|
|
17809
|
+
}
|
|
17810
|
+
}
|
|
17811
|
+
}
|
|
17812
|
+
};
|
|
17813
|
+
const endPanelDateBtnChangeEvent = (params) => {
|
|
17814
|
+
const { linkedPanels } = props;
|
|
17815
|
+
if (linkedPanels) {
|
|
17816
|
+
const { viewType } = params;
|
|
17817
|
+
const $startDatePanel = refStartDatePanel.value;
|
|
17818
|
+
const $endDatePanel = refEndDatePanel.value;
|
|
17819
|
+
if (!$startDatePanel || !$endDatePanel) {
|
|
17820
|
+
return;
|
|
17821
|
+
}
|
|
17822
|
+
const endPanelDate = $endDatePanel.getPanelDate();
|
|
17823
|
+
if (!endPanelDate) {
|
|
17824
|
+
return;
|
|
17825
|
+
}
|
|
17826
|
+
const endYear = endPanelDate.getFullYear();
|
|
17827
|
+
const endMonth = endPanelDate.getMonth();
|
|
17828
|
+
switch (viewType) {
|
|
17829
|
+
case 'day':
|
|
17830
|
+
case 'date':
|
|
17831
|
+
case 'week': {
|
|
17832
|
+
if (endMonth) {
|
|
17833
|
+
endPanelDate.setMonth(endMonth - 1);
|
|
17834
|
+
}
|
|
17835
|
+
else {
|
|
17836
|
+
endPanelDate.setFullYear(endYear - 1);
|
|
17837
|
+
endPanelDate.setMonth(11);
|
|
17838
|
+
}
|
|
17839
|
+
$startDatePanel.setPanelDate(endPanelDate);
|
|
17840
|
+
break;
|
|
17841
|
+
}
|
|
17842
|
+
}
|
|
17843
|
+
}
|
|
17844
|
+
};
|
|
17761
17845
|
// 全局事件
|
|
17762
17846
|
const handleGlobalMousedownEvent = (evnt) => {
|
|
17763
17847
|
const { visiblePanel, isActivated } = reactData;
|
|
@@ -18117,7 +18201,11 @@ var VxeDateRangePickerComponent = defineVxeComponent({
|
|
|
18117
18201
|
festivalMethod: props.festivalMethod,
|
|
18118
18202
|
disabledMethod: props.disabledMethod,
|
|
18119
18203
|
selectDay: props.selectDay,
|
|
18120
|
-
|
|
18204
|
+
cellClassName: panelCellClassName,
|
|
18205
|
+
onChange: startPanelChangeEvent,
|
|
18206
|
+
onDatePrev: startPanelDateBtnChangeEvent,
|
|
18207
|
+
onDateToday: startPanelDateBtnChangeEvent,
|
|
18208
|
+
onDateNext: startPanelDateBtnChangeEvent
|
|
18121
18209
|
}),
|
|
18122
18210
|
h(VxeDatePanelComponent, {
|
|
18123
18211
|
ref: refEndDatePanel,
|
|
@@ -18137,7 +18225,11 @@ var VxeDateRangePickerComponent = defineVxeComponent({
|
|
|
18137
18225
|
festivalMethod: props.festivalMethod,
|
|
18138
18226
|
disabledMethod: props.disabledMethod,
|
|
18139
18227
|
selectDay: props.selectDay,
|
|
18140
|
-
|
|
18228
|
+
cellClassName: panelCellClassName,
|
|
18229
|
+
onChange: endPanelChangeEvent,
|
|
18230
|
+
onDatePrev: endPanelDateBtnChangeEvent,
|
|
18231
|
+
onDateToday: endPanelDateBtnChangeEvent,
|
|
18232
|
+
onDateNext: endPanelDateBtnChangeEvent
|
|
18141
18233
|
})
|
|
18142
18234
|
]),
|
|
18143
18235
|
h('div', {
|
|
@@ -26507,7 +26599,10 @@ var VxeSelectComponent = defineVxeComponent({
|
|
|
26507
26599
|
props: {
|
|
26508
26600
|
modelValue: [String, Number, Boolean, Array],
|
|
26509
26601
|
defaultConfig: Object,
|
|
26510
|
-
clearable:
|
|
26602
|
+
clearable: {
|
|
26603
|
+
type: Boolean,
|
|
26604
|
+
default: () => getConfig$3().select.clearable
|
|
26605
|
+
},
|
|
26511
26606
|
placeholder: String,
|
|
26512
26607
|
readonly: {
|
|
26513
26608
|
type: Boolean,
|
|
@@ -33222,7 +33317,10 @@ var VxeTableSelectComponent = defineVxeComponent({
|
|
|
33222
33317
|
name: 'VxeTableSelect',
|
|
33223
33318
|
props: {
|
|
33224
33319
|
modelValue: [String, Number, Array],
|
|
33225
|
-
clearable:
|
|
33320
|
+
clearable: {
|
|
33321
|
+
type: Boolean,
|
|
33322
|
+
default: getConfig$3().tableSelect.clearable
|
|
33323
|
+
},
|
|
33226
33324
|
placeholder: {
|
|
33227
33325
|
type: String,
|
|
33228
33326
|
default: () => XEUtils.eqNull(getConfig$3().tableSelect.placeholder) ? getI18n$2('vxe.base.pleaseSelect') : getConfig$3().tableSelect.placeholder
|
|
@@ -38665,7 +38763,10 @@ var VxeTreeSelectComponent = defineVxeComponent({
|
|
|
38665
38763
|
name: 'VxeTreeSelect',
|
|
38666
38764
|
props: {
|
|
38667
38765
|
modelValue: [String, Number, Array],
|
|
38668
|
-
clearable:
|
|
38766
|
+
clearable: {
|
|
38767
|
+
type: Boolean,
|
|
38768
|
+
default: getConfig$3().treeSelect.clearable
|
|
38769
|
+
},
|
|
38669
38770
|
placeholder: {
|
|
38670
38771
|
type: String,
|
|
38671
38772
|
default: () => XEUtils.eqNull(getConfig$3().treeSelect.placeholder) ? getI18n$2('vxe.base.pleaseSelect') : getConfig$3().treeSelect.placeholder
|
|
@@ -40087,7 +40188,9 @@ var VxeUploadComponent = defineVxeComponent({
|
|
|
40087
40188
|
const computeMoreOpts = computed(() => {
|
|
40088
40189
|
return Object.assign({ showMoreButton: true }, props.moreConfig);
|
|
40089
40190
|
});
|
|
40090
|
-
const computeMaps = {
|
|
40191
|
+
const computeMaps = {
|
|
40192
|
+
computeUrlProp
|
|
40193
|
+
};
|
|
40091
40194
|
const $xeUpload = {
|
|
40092
40195
|
xID,
|
|
40093
40196
|
props,
|
|
@@ -40480,14 +40583,16 @@ var VxeUploadComponent = defineVxeComponent({
|
|
|
40480
40583
|
handleChange(fileList);
|
|
40481
40584
|
// 自动更新校验状态
|
|
40482
40585
|
if ($xeForm && formItemInfo) {
|
|
40483
|
-
$xeForm.triggerItemEvent(evnt, formItemInfo.itemConfig.field, fileList);
|
|
40586
|
+
$xeForm.triggerItemEvent(evnt || { type: 'remove' }, formItemInfo.itemConfig.field, fileList);
|
|
40587
|
+
}
|
|
40588
|
+
if (evnt) {
|
|
40589
|
+
dispatchEvent('remove', { option: item }, evnt);
|
|
40484
40590
|
}
|
|
40485
|
-
dispatchEvent('remove', { option: item }, evnt);
|
|
40486
40591
|
};
|
|
40487
40592
|
const removeFileEvent = (evnt, item, index) => {
|
|
40488
40593
|
const beforeRemoveFn = props.beforeRemoveMethod || getConfig$3().upload.beforeRemoveMethod;
|
|
40489
40594
|
const removeFn = props.removeMethod || getConfig$3().upload.removeMethod;
|
|
40490
|
-
Promise.resolve(beforeRemoveFn
|
|
40595
|
+
return Promise.resolve(beforeRemoveFn
|
|
40491
40596
|
? beforeRemoveFn({
|
|
40492
40597
|
$upload: $xeUpload,
|
|
40493
40598
|
option: item
|
|
@@ -40507,8 +40612,11 @@ var VxeUploadComponent = defineVxeComponent({
|
|
|
40507
40612
|
}
|
|
40508
40613
|
}
|
|
40509
40614
|
else {
|
|
40510
|
-
|
|
40615
|
+
if (evnt) {
|
|
40616
|
+
dispatchEvent('remove-fail', { option: item }, evnt);
|
|
40617
|
+
}
|
|
40511
40618
|
}
|
|
40619
|
+
return status;
|
|
40512
40620
|
});
|
|
40513
40621
|
};
|
|
40514
40622
|
const handleDownloadEvent = (evnt, item) => {
|
|
@@ -40867,11 +40975,46 @@ var VxeUploadComponent = defineVxeComponent({
|
|
|
40867
40975
|
const handleGlobalBlurEvent = () => {
|
|
40868
40976
|
reactData.isActivated = false;
|
|
40869
40977
|
};
|
|
40978
|
+
const handleClearFile = (evnt) => {
|
|
40979
|
+
const { fileList } = reactData;
|
|
40980
|
+
const urlProp = computeUrlProp.value;
|
|
40981
|
+
const rest = [];
|
|
40982
|
+
XEUtils.lastEach(fileList, (item, index) => {
|
|
40983
|
+
rest.push(removeFileEvent(evnt, item, index).then((status) => {
|
|
40984
|
+
return { url: item[urlProp], status };
|
|
40985
|
+
}));
|
|
40986
|
+
});
|
|
40987
|
+
return Promise.all(rest);
|
|
40988
|
+
};
|
|
40989
|
+
const handleRemoveFile = (evnt, urlOrItem) => {
|
|
40990
|
+
const { fileList } = reactData;
|
|
40991
|
+
const urlProp = computeUrlProp.value;
|
|
40992
|
+
const urls = (XEUtils.isArray(urlOrItem) ? urlOrItem : [urlOrItem]);
|
|
40993
|
+
const rest = [];
|
|
40994
|
+
urls.forEach((obj) => {
|
|
40995
|
+
if (obj) {
|
|
40996
|
+
const url = XEUtils.isString(obj) ? obj : obj[urlProp];
|
|
40997
|
+
const index = XEUtils.findIndexOf(fileList, fileItem => fileItem[urlProp] === url);
|
|
40998
|
+
if (index > -1) {
|
|
40999
|
+
rest.push(removeFileEvent(evnt, fileList[index], index).then(status => {
|
|
41000
|
+
return { url, status };
|
|
41001
|
+
}));
|
|
41002
|
+
}
|
|
41003
|
+
}
|
|
41004
|
+
});
|
|
41005
|
+
return Promise.all(rest);
|
|
41006
|
+
};
|
|
40870
41007
|
const uploadMethods = {
|
|
40871
41008
|
dispatchEvent,
|
|
40872
41009
|
choose() {
|
|
40873
41010
|
return handleChoose(null);
|
|
40874
41011
|
},
|
|
41012
|
+
clear() {
|
|
41013
|
+
return handleClearFile(null);
|
|
41014
|
+
},
|
|
41015
|
+
clearByEvent(evnt) {
|
|
41016
|
+
return handleClearFile(evnt);
|
|
41017
|
+
},
|
|
40875
41018
|
getPendingFiles() {
|
|
40876
41019
|
const { fileList, fileCacheMaps } = reactData;
|
|
40877
41020
|
const pendingFiles = [];
|
|
@@ -40934,9 +41077,17 @@ var VxeUploadComponent = defineVxeComponent({
|
|
|
40934
41077
|
VxeUI.modal.close(internalData.moreId);
|
|
40935
41078
|
}
|
|
40936
41079
|
return nextTick();
|
|
41080
|
+
},
|
|
41081
|
+
remove(urlOrItem) {
|
|
41082
|
+
return handleRemoveFile(null, urlOrItem);
|
|
41083
|
+
},
|
|
41084
|
+
removeByEvent(evnt, urlOrItem) {
|
|
41085
|
+
return handleRemoveFile(evnt, urlOrItem);
|
|
40937
41086
|
}
|
|
40938
41087
|
};
|
|
40939
|
-
const uploadPrivateMethods = {
|
|
41088
|
+
const uploadPrivateMethods = {
|
|
41089
|
+
removeFileEvent
|
|
41090
|
+
};
|
|
40940
41091
|
Object.assign($xeUpload, uploadMethods, uploadPrivateMethods);
|
|
40941
41092
|
const renderFileItemList = (currList, isMoreView) => {
|
|
40942
41093
|
const { showRemoveButton, showDownloadButton, showProgress, progressText, showPreview, showErrorStatus, dragSort, autoSubmit, showSubmitButton } = props;
|