vxe-pc-ui 4.1.18 → 4.1.20
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/README.md +1 -1
- package/es/button/src/button.js +2 -1
- package/es/card/src/card.js +4 -3
- package/es/countdown/src/countdown.js +16 -7
- package/es/date-picker/src/date-picker.js +136 -57
- package/es/drawer/src/drawer.js +85 -45
- package/es/icon/src/icon.js +3 -0
- package/es/icon/style.css +1 -1
- package/es/icon-picker/src/icon-picker.js +2 -1
- package/es/input/src/input.js +2 -1
- package/es/loading/src/loading.js +3 -0
- package/es/menu/src/menu.js +3 -2
- package/es/number-input/src/number-input.js +95 -72
- package/es/pulldown/src/pulldown.js +19 -13
- package/es/radio/src/button.js +2 -2
- package/es/radio/src/group.js +3 -2
- package/es/select/src/optgroup.js +9 -3
- package/es/select/src/option.js +9 -3
- package/es/select/src/select.js +32 -12
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/textarea/src/textarea.js +24 -6
- package/es/tooltip/src/tooltip.js +107 -78
- package/es/tree-select/src/tree-select.js +2 -1
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/lib/button/src/button.js +2 -1
- package/lib/button/src/button.min.js +1 -1
- package/lib/card/src/card.js +6 -5
- package/lib/card/src/card.min.js +1 -1
- package/lib/countdown/src/countdown.js +14 -6
- package/lib/countdown/src/countdown.min.js +1 -1
- package/lib/date-picker/src/date-picker.js +112 -50
- package/lib/date-picker/src/date-picker.min.js +1 -1
- package/lib/drawer/src/drawer.js +14 -29
- package/lib/drawer/src/drawer.min.js +1 -1
- package/lib/icon/src/icon.js +3 -0
- package/lib/icon/src/icon.min.js +1 -1
- package/lib/icon/style/style.css +1 -1
- package/lib/icon/style/style.min.css +1 -1
- package/lib/icon-picker/src/icon-picker.js +2 -1
- package/lib/icon-picker/src/icon-picker.min.js +1 -1
- package/lib/index.umd.js +368 -278
- package/lib/index.umd.min.js +1 -1
- package/lib/input/src/input.js +2 -1
- package/lib/input/src/input.min.js +1 -1
- package/lib/loading/src/loading.js +3 -0
- package/lib/loading/src/loading.min.js +1 -1
- package/lib/menu/src/menu.js +3 -2
- package/lib/menu/src/menu.min.js +1 -1
- package/lib/number-input/src/number-input.js +62 -64
- package/lib/number-input/src/number-input.min.js +1 -1
- package/lib/pulldown/src/pulldown.js +19 -13
- package/lib/pulldown/src/pulldown.min.js +1 -1
- package/lib/radio/src/button.js +2 -2
- package/lib/radio/src/group.js +3 -2
- package/lib/radio/src/group.min.js +1 -1
- package/lib/select/src/optgroup.js +1 -1
- package/lib/select/src/optgroup.min.js +1 -1
- package/lib/select/src/option.js +1 -1
- package/lib/select/src/option.min.js +1 -1
- package/lib/select/src/select.js +19 -9
- package/lib/select/src/select.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/tooltip/src/tooltip.js +96 -88
- package/lib/tooltip/src/tooltip.min.js +1 -1
- package/lib/tree-select/src/tree-select.js +2 -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/package.json +1 -1
- package/packages/button/src/button.ts +6 -5
- package/packages/card/src/card.ts +6 -4
- package/packages/countdown/src/countdown.ts +18 -9
- package/packages/date-picker/src/date-picker.ts +148 -68
- package/packages/drawer/src/drawer.ts +89 -48
- package/packages/icon/src/icon.ts +3 -0
- package/packages/icon-picker/src/icon-picker.ts +6 -5
- package/packages/input/src/input.ts +6 -5
- package/packages/loading/src/loading.ts +3 -0
- package/packages/menu/src/menu.ts +3 -2
- package/packages/number-input/src/number-input.ts +97 -74
- package/packages/pulldown/src/pulldown.ts +28 -22
- package/packages/radio/src/button.ts +2 -2
- package/packages/radio/src/group.ts +3 -2
- package/packages/select/src/optgroup.ts +9 -3
- package/packages/select/src/option.ts +9 -3
- package/packages/select/src/select.ts +38 -17
- package/packages/textarea/src/textarea.ts +24 -6
- package/packages/tooltip/src/tooltip.ts +119 -85
- package/packages/tree-select/src/tree-select.ts +6 -5
- package/types/components/countdown.d.ts +4 -0
- package/types/components/date-picker.d.ts +23 -5
- package/types/components/drawer.d.ts +0 -1
- package/types/components/number-input.d.ts +6 -2
- package/types/components/pulldown.d.ts +5 -1
- package/types/components/select.d.ts +4 -0
- package/types/components/table.d.ts +1 -0
- package/types/components/tooltip.d.ts +4 -0
- /package/es/icon/style/{iconfont.1725597454404.ttf → iconfont.1725680652286.ttf} +0 -0
- /package/es/icon/style/{iconfont.1725597454404.woff → iconfont.1725680652286.woff} +0 -0
- /package/es/icon/style/{iconfont.1725597454404.woff2 → iconfont.1725680652286.woff2} +0 -0
- /package/es/{iconfont.1725597454404.ttf → iconfont.1725680652286.ttf} +0 -0
- /package/es/{iconfont.1725597454404.woff → iconfont.1725680652286.woff} +0 -0
- /package/es/{iconfont.1725597454404.woff2 → iconfont.1725680652286.woff2} +0 -0
- /package/lib/icon/style/{iconfont.1725597454404.ttf → iconfont.1725680652286.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1725597454404.woff → iconfont.1725680652286.woff} +0 -0
- /package/lib/icon/style/{iconfont.1725597454404.woff2 → iconfont.1725680652286.woff2} +0 -0
- /package/lib/{iconfont.1725597454404.ttf → iconfont.1725680652286.ttf} +0 -0
- /package/lib/{iconfont.1725597454404.woff → iconfont.1725680652286.woff} +0 -0
- /package/lib/{iconfont.1725597454404.woff2 → iconfont.1725680652286.woff2} +0 -0
package/README.md
CHANGED
package/es/button/src/button.js
CHANGED
|
@@ -95,6 +95,7 @@ export default defineComponent({
|
|
|
95
95
|
setup(props, context) {
|
|
96
96
|
const { slots, emit } = context;
|
|
97
97
|
const $xeModal = inject('$xeModal', null);
|
|
98
|
+
const $xeDrawer = inject('$xeDrawer', null);
|
|
98
99
|
const $xeTable = inject('$xeTable', null);
|
|
99
100
|
const $xeForm = inject('$xeForm', null);
|
|
100
101
|
const $xeButtonGroup = inject('$xeButtonGroup', null);
|
|
@@ -135,7 +136,7 @@ export default defineComponent({
|
|
|
135
136
|
if (XEUtils.isBoolean(globalTransfer)) {
|
|
136
137
|
return globalTransfer;
|
|
137
138
|
}
|
|
138
|
-
if ($xeTable || $xeModal || $xeForm) {
|
|
139
|
+
if ($xeTable || $xeModal || $xeDrawer || $xeForm) {
|
|
139
140
|
return true;
|
|
140
141
|
}
|
|
141
142
|
}
|
package/es/card/src/card.js
CHANGED
|
@@ -57,10 +57,11 @@ export default defineComponent({
|
|
|
57
57
|
getRefMaps: () => refMaps,
|
|
58
58
|
getComputeMaps: () => computeMaps
|
|
59
59
|
};
|
|
60
|
+
const dispatchEvent = (type, params, evnt) => {
|
|
61
|
+
emit(type, createEvent(evnt, { $card: $xeCard }, params));
|
|
62
|
+
};
|
|
60
63
|
const cardMethods = {
|
|
61
|
-
dispatchEvent
|
|
62
|
-
emit(type, createEvent(evnt, { $card: $xeCard }, params));
|
|
63
|
-
}
|
|
64
|
+
dispatchEvent
|
|
64
65
|
};
|
|
65
66
|
const cardPrivateMethods = {};
|
|
66
67
|
Object.assign($xeCard, cardMethods, cardPrivateMethods);
|
|
@@ -10,7 +10,10 @@ export default defineComponent({
|
|
|
10
10
|
format: String,
|
|
11
11
|
prefixConfig: Object,
|
|
12
12
|
suffixConfig: Object,
|
|
13
|
-
size: {
|
|
13
|
+
size: {
|
|
14
|
+
type: String,
|
|
15
|
+
default: () => getConfig().countdown.size || getConfig().size
|
|
16
|
+
}
|
|
14
17
|
},
|
|
15
18
|
emits: [
|
|
16
19
|
'update:modelValue',
|
|
@@ -26,6 +29,9 @@ export default defineComponent({
|
|
|
26
29
|
currNum: 0,
|
|
27
30
|
secondNum: 0
|
|
28
31
|
});
|
|
32
|
+
const internalData = {
|
|
33
|
+
dnTimeout: undefined
|
|
34
|
+
};
|
|
29
35
|
const refMaps = {
|
|
30
36
|
refElem
|
|
31
37
|
};
|
|
@@ -79,10 +85,10 @@ export default defineComponent({
|
|
|
79
85
|
props,
|
|
80
86
|
context,
|
|
81
87
|
reactData,
|
|
88
|
+
internalData,
|
|
82
89
|
getRefMaps: () => refMaps,
|
|
83
90
|
getComputeMaps: () => computeMaps
|
|
84
91
|
};
|
|
85
|
-
let htime = null;
|
|
86
92
|
const dispatchEvent = (type, params, evnt) => {
|
|
87
93
|
emit(type, createEvent(evnt, { $carousel: $xeCountdown }, params));
|
|
88
94
|
};
|
|
@@ -95,11 +101,13 @@ export default defineComponent({
|
|
|
95
101
|
const { currNum } = reactData;
|
|
96
102
|
if (currNum > 1000) {
|
|
97
103
|
reactData.currNum -= 1000;
|
|
98
|
-
|
|
104
|
+
internalData.dnTimeout = setTimeout(() => {
|
|
105
|
+
handleTime();
|
|
106
|
+
}, 1000);
|
|
99
107
|
}
|
|
100
108
|
else {
|
|
101
109
|
reactData.currNum = 0;
|
|
102
|
-
|
|
110
|
+
handleStop();
|
|
103
111
|
}
|
|
104
112
|
};
|
|
105
113
|
const countdownMethods = {
|
|
@@ -110,9 +118,10 @@ export default defineComponent({
|
|
|
110
118
|
handleTime();
|
|
111
119
|
};
|
|
112
120
|
const handleStop = () => {
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
121
|
+
const { dnTimeout } = internalData;
|
|
122
|
+
if (dnTimeout) {
|
|
123
|
+
clearTimeout(dnTimeout);
|
|
124
|
+
internalData.dnTimeout = undefined;
|
|
116
125
|
dispatchEvent('end', {}, null);
|
|
117
126
|
}
|
|
118
127
|
};
|
|
@@ -9,10 +9,19 @@ export default defineComponent({
|
|
|
9
9
|
name: 'VxeDatePicker',
|
|
10
10
|
props: {
|
|
11
11
|
modelValue: [String, Number, Date],
|
|
12
|
-
immediate: {
|
|
12
|
+
immediate: {
|
|
13
|
+
type: Boolean,
|
|
14
|
+
default: true
|
|
15
|
+
},
|
|
13
16
|
name: String,
|
|
14
|
-
type: {
|
|
15
|
-
|
|
17
|
+
type: {
|
|
18
|
+
type: String,
|
|
19
|
+
default: 'date'
|
|
20
|
+
},
|
|
21
|
+
clearable: {
|
|
22
|
+
type: Boolean,
|
|
23
|
+
default: () => getConfig().datePicker.clearable
|
|
24
|
+
},
|
|
16
25
|
readonly: {
|
|
17
26
|
type: Boolean,
|
|
18
27
|
default: null
|
|
@@ -22,35 +31,66 @@ export default defineComponent({
|
|
|
22
31
|
default: null
|
|
23
32
|
},
|
|
24
33
|
placeholder: String,
|
|
25
|
-
|
|
26
|
-
|
|
34
|
+
maxLength: [String, Number],
|
|
35
|
+
autoComplete: {
|
|
36
|
+
type: String,
|
|
37
|
+
default: 'off'
|
|
38
|
+
},
|
|
27
39
|
align: String,
|
|
28
40
|
form: String,
|
|
29
41
|
className: String,
|
|
30
|
-
size: {
|
|
42
|
+
size: {
|
|
43
|
+
type: String,
|
|
44
|
+
default: () => getConfig().datePicker.size || getConfig().size
|
|
45
|
+
},
|
|
31
46
|
multiple: Boolean,
|
|
32
47
|
// date、week、month、quarter、year
|
|
33
|
-
startDate: {
|
|
34
|
-
|
|
48
|
+
startDate: {
|
|
49
|
+
type: [String, Number, Date],
|
|
50
|
+
default: () => getConfig().datePicker.startDate
|
|
51
|
+
},
|
|
52
|
+
endDate: {
|
|
53
|
+
type: [String, Number, Date],
|
|
54
|
+
default: () => getConfig().datePicker.endDate
|
|
55
|
+
},
|
|
35
56
|
minDate: [String, Number, Date],
|
|
36
57
|
maxDate: [String, Number, Date],
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
58
|
+
startDay: {
|
|
59
|
+
type: [String, Number],
|
|
60
|
+
default: () => getConfig().datePicker.startDay
|
|
61
|
+
},
|
|
40
62
|
labelFormat: String,
|
|
41
63
|
valueFormat: String,
|
|
42
|
-
editable: {
|
|
43
|
-
|
|
44
|
-
|
|
64
|
+
editable: {
|
|
65
|
+
type: Boolean,
|
|
66
|
+
default: true
|
|
67
|
+
},
|
|
68
|
+
festivalMethod: {
|
|
69
|
+
type: Function,
|
|
70
|
+
default: () => getConfig().datePicker.festivalMethod
|
|
71
|
+
},
|
|
72
|
+
disabledMethod: {
|
|
73
|
+
type: Function,
|
|
74
|
+
default: () => getConfig().datePicker.disabledMethod
|
|
75
|
+
},
|
|
45
76
|
// week
|
|
46
|
-
selectDay: {
|
|
77
|
+
selectDay: {
|
|
78
|
+
type: [String, Number],
|
|
79
|
+
default: () => getConfig().datePicker.selectDay
|
|
80
|
+
},
|
|
47
81
|
prefixIcon: String,
|
|
48
82
|
suffixIcon: String,
|
|
49
83
|
placement: String,
|
|
50
84
|
transfer: {
|
|
51
85
|
type: Boolean,
|
|
52
86
|
default: null
|
|
53
|
-
}
|
|
87
|
+
},
|
|
88
|
+
// 已废弃 startWeek,被 startDay 替换
|
|
89
|
+
startWeek: Number,
|
|
90
|
+
// 已废弃
|
|
91
|
+
maxlength: [String, Number],
|
|
92
|
+
// 已废弃
|
|
93
|
+
autocomplete: String
|
|
54
94
|
},
|
|
55
95
|
emits: [
|
|
56
96
|
'update:modelValue',
|
|
@@ -72,20 +112,18 @@ export default defineComponent({
|
|
|
72
112
|
setup(props, context) {
|
|
73
113
|
const { slots, emit } = context;
|
|
74
114
|
const $xeModal = inject('$xeModal', null);
|
|
115
|
+
const $xeDrawer = inject('$xeDrawer', null);
|
|
75
116
|
const $xeTable = inject('$xeTable', null);
|
|
76
117
|
const $xeForm = inject('$xeForm', null);
|
|
77
118
|
const formItemInfo = inject('xeFormItemInfo', null);
|
|
78
119
|
const xID = XEUtils.uniqueId();
|
|
79
120
|
const { computeSize } = useSize(props);
|
|
80
|
-
const yearSize = 12;
|
|
81
|
-
const monthSize = 20;
|
|
82
|
-
const quarterSize = 8;
|
|
83
121
|
const reactData = reactive({
|
|
84
122
|
initialized: false,
|
|
85
123
|
panelIndex: 0,
|
|
86
124
|
visiblePanel: false,
|
|
87
125
|
isAniVisible: false,
|
|
88
|
-
panelStyle:
|
|
126
|
+
panelStyle: {},
|
|
89
127
|
panelPlacement: '',
|
|
90
128
|
isActivated: false,
|
|
91
129
|
inputValue: props.modelValue,
|
|
@@ -96,6 +134,12 @@ export default defineComponent({
|
|
|
96
134
|
selectMonth: null,
|
|
97
135
|
currentDate: null
|
|
98
136
|
});
|
|
137
|
+
const internalData = {
|
|
138
|
+
yearSize: 12,
|
|
139
|
+
monthSize: 20,
|
|
140
|
+
quarterSize: 8,
|
|
141
|
+
hpTimeout: undefined
|
|
142
|
+
};
|
|
99
143
|
const refElem = ref();
|
|
100
144
|
const refInputTarget = ref();
|
|
101
145
|
const refInputPanel = ref();
|
|
@@ -110,16 +154,10 @@ export default defineComponent({
|
|
|
110
154
|
props,
|
|
111
155
|
context,
|
|
112
156
|
reactData,
|
|
157
|
+
internalData,
|
|
113
158
|
getRefMaps: () => refMaps
|
|
114
159
|
};
|
|
115
160
|
let datePickerMethods = {};
|
|
116
|
-
const parseDate = (value, format) => {
|
|
117
|
-
const { type } = props;
|
|
118
|
-
if (type === 'time') {
|
|
119
|
-
return toStringTimeDate(value);
|
|
120
|
-
}
|
|
121
|
-
return XEUtils.toStringDate(value, format);
|
|
122
|
-
};
|
|
123
161
|
const computeBtnTransfer = computed(() => {
|
|
124
162
|
const { transfer } = props;
|
|
125
163
|
if (transfer === null) {
|
|
@@ -127,7 +165,7 @@ export default defineComponent({
|
|
|
127
165
|
if (XEUtils.isBoolean(globalTransfer)) {
|
|
128
166
|
return globalTransfer;
|
|
129
167
|
}
|
|
130
|
-
if ($xeTable || $xeModal || $xeForm) {
|
|
168
|
+
if ($xeTable || $xeModal || $xeDrawer || $xeForm) {
|
|
131
169
|
return true;
|
|
132
170
|
}
|
|
133
171
|
}
|
|
@@ -183,7 +221,7 @@ export default defineComponent({
|
|
|
183
221
|
if (XEUtils.isValidDate(date)) {
|
|
184
222
|
return date;
|
|
185
223
|
}
|
|
186
|
-
return
|
|
224
|
+
return date;
|
|
187
225
|
});
|
|
188
226
|
}
|
|
189
227
|
return [];
|
|
@@ -203,7 +241,13 @@ export default defineComponent({
|
|
|
203
241
|
if (valueFormat) {
|
|
204
242
|
return valueFormat;
|
|
205
243
|
}
|
|
206
|
-
|
|
244
|
+
if (type === 'time') {
|
|
245
|
+
return 'HH:mm:ss';
|
|
246
|
+
}
|
|
247
|
+
if (type === 'datetime') {
|
|
248
|
+
return 'yyyy-MM-dd HH:mm:ss';
|
|
249
|
+
}
|
|
250
|
+
return 'yyyy-MM-dd';
|
|
207
251
|
});
|
|
208
252
|
const computeDateValue = computed(() => {
|
|
209
253
|
const { modelValue } = props;
|
|
@@ -257,6 +301,7 @@ export default defineComponent({
|
|
|
257
301
|
return null;
|
|
258
302
|
});
|
|
259
303
|
const computeYearList = computed(() => {
|
|
304
|
+
const { yearSize } = internalData;
|
|
260
305
|
const { selectMonth, currentDate } = reactData;
|
|
261
306
|
const years = [];
|
|
262
307
|
if (selectMonth && currentDate) {
|
|
@@ -350,6 +395,7 @@ export default defineComponent({
|
|
|
350
395
|
return XEUtils.chunk(yearList, 4);
|
|
351
396
|
});
|
|
352
397
|
const computeQuarterList = computed(() => {
|
|
398
|
+
const { quarterSize } = internalData;
|
|
353
399
|
const { selectMonth, currentDate } = reactData;
|
|
354
400
|
const quarters = [];
|
|
355
401
|
if (selectMonth && currentDate) {
|
|
@@ -379,6 +425,7 @@ export default defineComponent({
|
|
|
379
425
|
return XEUtils.chunk(quarterList, 2);
|
|
380
426
|
});
|
|
381
427
|
const computeMonthList = computed(() => {
|
|
428
|
+
const { monthSize } = internalData;
|
|
382
429
|
const { selectMonth, currentDate } = reactData;
|
|
383
430
|
const months = [];
|
|
384
431
|
if (selectMonth && currentDate) {
|
|
@@ -520,6 +567,13 @@ export default defineComponent({
|
|
|
520
567
|
const { immediate } = props;
|
|
521
568
|
return immediate;
|
|
522
569
|
});
|
|
570
|
+
const parseDate = (value, format) => {
|
|
571
|
+
const { type } = props;
|
|
572
|
+
if (type === 'time') {
|
|
573
|
+
return toStringTimeDate(value);
|
|
574
|
+
}
|
|
575
|
+
return XEUtils.toStringDate(value, format);
|
|
576
|
+
};
|
|
523
577
|
const triggerEvent = (evnt) => {
|
|
524
578
|
const { inputValue } = reactData;
|
|
525
579
|
datePickerMethods.dispatchEvent(evnt.type, { value: inputValue }, evnt);
|
|
@@ -571,11 +625,10 @@ export default defineComponent({
|
|
|
571
625
|
datePickerMethods.dispatchEvent('prefix-click', { value: inputValue }, evnt);
|
|
572
626
|
}
|
|
573
627
|
};
|
|
574
|
-
let hidePanelTimeout;
|
|
575
628
|
const hidePanel = () => {
|
|
576
629
|
return new Promise(resolve => {
|
|
577
630
|
reactData.visiblePanel = false;
|
|
578
|
-
|
|
631
|
+
internalData.hpTimeout = window.setTimeout(() => {
|
|
579
632
|
reactData.isAniVisible = false;
|
|
580
633
|
resolve();
|
|
581
634
|
}, 350);
|
|
@@ -668,9 +721,11 @@ export default defineComponent({
|
|
|
668
721
|
date = XEUtils.getWhatWeek(date, 0, sWeek, firstDayOfWeek);
|
|
669
722
|
}
|
|
670
723
|
else if (isDateTimeType) {
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
724
|
+
if (datetimePanelValue) {
|
|
725
|
+
date.setHours(datetimePanelValue.getHours());
|
|
726
|
+
date.setMinutes(datetimePanelValue.getMinutes());
|
|
727
|
+
date.setSeconds(datetimePanelValue.getSeconds());
|
|
728
|
+
}
|
|
674
729
|
}
|
|
675
730
|
const inpVal = XEUtils.toDateString(date, dateValueFormat, { firstDay: firstDayOfWeek });
|
|
676
731
|
dateCheckMonth(date);
|
|
@@ -690,9 +745,11 @@ export default defineComponent({
|
|
|
690
745
|
}
|
|
691
746
|
dateListValue.forEach(item => {
|
|
692
747
|
if (item) {
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
748
|
+
if (datetimePanelValue) {
|
|
749
|
+
item.setHours(datetimePanelValue.getHours());
|
|
750
|
+
item.setMinutes(datetimePanelValue.getMinutes());
|
|
751
|
+
item.setSeconds(datetimePanelValue.getSeconds());
|
|
752
|
+
}
|
|
696
753
|
datetimeRest.push(item);
|
|
697
754
|
}
|
|
698
755
|
});
|
|
@@ -738,9 +795,11 @@ export default defineComponent({
|
|
|
738
795
|
const dateValue = computeDateValue.value;
|
|
739
796
|
if (inputValue !== XEUtils.toDateString(dateValue, dateLabelFormat) || inputValue !== XEUtils.toDateString(inpDateVal, dateLabelFormat)) {
|
|
740
797
|
isChange = true;
|
|
741
|
-
datetimePanelValue
|
|
742
|
-
|
|
743
|
-
|
|
798
|
+
if (datetimePanelValue) {
|
|
799
|
+
datetimePanelValue.setHours(inpDateVal.getHours());
|
|
800
|
+
datetimePanelValue.setMinutes(inpDateVal.getMinutes());
|
|
801
|
+
datetimePanelValue.setSeconds(inpDateVal.getSeconds());
|
|
802
|
+
}
|
|
744
803
|
}
|
|
745
804
|
}
|
|
746
805
|
else {
|
|
@@ -804,6 +863,7 @@ export default defineComponent({
|
|
|
804
863
|
const datePrevEvent = (evnt) => {
|
|
805
864
|
const { type } = props;
|
|
806
865
|
const { datePanelType, selectMonth } = reactData;
|
|
866
|
+
const { yearSize } = internalData;
|
|
807
867
|
const isDisabledPrevDateBtn = computeIsDisabledPrevDateBtn.value;
|
|
808
868
|
if (!isDisabledPrevDateBtn) {
|
|
809
869
|
if (type === 'year') {
|
|
@@ -842,6 +902,7 @@ export default defineComponent({
|
|
|
842
902
|
const dateNextEvent = (evnt) => {
|
|
843
903
|
const { type } = props;
|
|
844
904
|
const { datePanelType, selectMonth } = reactData;
|
|
905
|
+
const { yearSize } = internalData;
|
|
845
906
|
const isDisabledNextDateBtn = computeIsDisabledNextDateBtn.value;
|
|
846
907
|
if (!isDisabledNextDateBtn) {
|
|
847
908
|
if (type === 'year') {
|
|
@@ -995,11 +1056,15 @@ export default defineComponent({
|
|
|
995
1056
|
}
|
|
996
1057
|
};
|
|
997
1058
|
const dateTimeChangeEvent = (evnt) => {
|
|
998
|
-
|
|
1059
|
+
const { datetimePanelValue } = reactData;
|
|
1060
|
+
reactData.datetimePanelValue = datetimePanelValue ? new Date(datetimePanelValue.getTime()) : new Date();
|
|
999
1061
|
updateTimePos(evnt.currentTarget);
|
|
1000
1062
|
};
|
|
1001
1063
|
const dateHourEvent = (evnt, item) => {
|
|
1002
|
-
reactData
|
|
1064
|
+
const { datetimePanelValue } = reactData;
|
|
1065
|
+
if (datetimePanelValue) {
|
|
1066
|
+
datetimePanelValue.setHours(item.value);
|
|
1067
|
+
}
|
|
1003
1068
|
dateTimeChangeEvent(evnt);
|
|
1004
1069
|
};
|
|
1005
1070
|
const dateConfirmEvent = () => {
|
|
@@ -1018,9 +1083,11 @@ export default defineComponent({
|
|
|
1018
1083
|
const datetimeRest = [];
|
|
1019
1084
|
dateListValue.forEach(item => {
|
|
1020
1085
|
if (item) {
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1086
|
+
if (datetimePanelValue) {
|
|
1087
|
+
item.setHours(datetimePanelValue.getHours());
|
|
1088
|
+
item.setMinutes(datetimePanelValue.getMinutes());
|
|
1089
|
+
item.setSeconds(datetimePanelValue.getSeconds());
|
|
1090
|
+
}
|
|
1024
1091
|
datetimeRest.push(item);
|
|
1025
1092
|
}
|
|
1026
1093
|
});
|
|
@@ -1038,11 +1105,17 @@ export default defineComponent({
|
|
|
1038
1105
|
hidePanel();
|
|
1039
1106
|
};
|
|
1040
1107
|
const dateMinuteEvent = (evnt, item) => {
|
|
1041
|
-
reactData
|
|
1108
|
+
const { datetimePanelValue } = reactData;
|
|
1109
|
+
if (datetimePanelValue) {
|
|
1110
|
+
datetimePanelValue.setMinutes(item.value);
|
|
1111
|
+
}
|
|
1042
1112
|
dateTimeChangeEvent(evnt);
|
|
1043
1113
|
};
|
|
1044
1114
|
const dateSecondEvent = (evnt, item) => {
|
|
1045
|
-
reactData
|
|
1115
|
+
const { datetimePanelValue } = reactData;
|
|
1116
|
+
if (datetimePanelValue) {
|
|
1117
|
+
datetimePanelValue.setSeconds(item.value);
|
|
1118
|
+
}
|
|
1046
1119
|
dateTimeChangeEvent(evnt);
|
|
1047
1120
|
};
|
|
1048
1121
|
const dateOffsetEvent = (evnt) => {
|
|
@@ -1155,7 +1228,9 @@ export default defineComponent({
|
|
|
1155
1228
|
reactData.datetimePanelValue = reactData.datePanelValue || XEUtils.getWhatDay(Date.now(), 0, 'first');
|
|
1156
1229
|
nextTick(() => {
|
|
1157
1230
|
const timeBodyElem = refInputTimeBody.value;
|
|
1158
|
-
XEUtils.arrayEach(timeBodyElem.querySelectorAll('li.is--selected'),
|
|
1231
|
+
XEUtils.arrayEach(timeBodyElem.querySelectorAll('li.is--selected'), (elem) => {
|
|
1232
|
+
updateTimePos(elem);
|
|
1233
|
+
});
|
|
1159
1234
|
});
|
|
1160
1235
|
}
|
|
1161
1236
|
};
|
|
@@ -1249,7 +1324,10 @@ export default defineComponent({
|
|
|
1249
1324
|
if (!reactData.initialized) {
|
|
1250
1325
|
reactData.initialized = true;
|
|
1251
1326
|
}
|
|
1252
|
-
|
|
1327
|
+
if (internalData.hpTimeout) {
|
|
1328
|
+
clearTimeout(internalData.hpTimeout);
|
|
1329
|
+
internalData.hpTimeout = undefined;
|
|
1330
|
+
}
|
|
1253
1331
|
reactData.isActivated = true;
|
|
1254
1332
|
reactData.isAniVisible = true;
|
|
1255
1333
|
if (isDatePickerType) {
|
|
@@ -1408,13 +1486,13 @@ export default defineComponent({
|
|
|
1408
1486
|
}]
|
|
1409
1487
|
}, extraItem && extraItem.label
|
|
1410
1488
|
? [
|
|
1411
|
-
h('span', label),
|
|
1489
|
+
h('span', `${label}`),
|
|
1412
1490
|
h('span', {
|
|
1413
1491
|
class: ['vxe-date-picker--date-label--extra', extraItem.important ? 'is-important' : '', extraItem.className],
|
|
1414
1492
|
style: extraItem.style
|
|
1415
1493
|
}, XEUtils.toValueString(extraItem.label))
|
|
1416
1494
|
]
|
|
1417
|
-
: label)
|
|
1495
|
+
: `${label}`)
|
|
1418
1496
|
];
|
|
1419
1497
|
const festivalLabel = festivalItem.label;
|
|
1420
1498
|
if (festivalLabel) {
|
|
@@ -1899,10 +1977,11 @@ export default defineComponent({
|
|
|
1899
1977
|
})
|
|
1900
1978
|
]);
|
|
1901
1979
|
};
|
|
1980
|
+
const dispatchEvent = (type, params, evnt) => {
|
|
1981
|
+
emit(type, createEvent(evnt, { $datePicker: $xeDatePicker }, params));
|
|
1982
|
+
};
|
|
1902
1983
|
datePickerMethods = {
|
|
1903
|
-
dispatchEvent
|
|
1904
|
-
emit(type, createEvent(evnt, { $input: $xeDatePicker }, params));
|
|
1905
|
-
},
|
|
1984
|
+
dispatchEvent,
|
|
1906
1985
|
focus() {
|
|
1907
1986
|
const inputElem = refInputTarget.value;
|
|
1908
1987
|
reactData.isActivated = true;
|
|
@@ -1964,7 +2043,7 @@ export default defineComponent({
|
|
|
1964
2043
|
});
|
|
1965
2044
|
initValue();
|
|
1966
2045
|
const renderVN = () => {
|
|
1967
|
-
const { className, type, align, name, autocomplete } = props;
|
|
2046
|
+
const { className, type, align, name, autocomplete, autoComplete } = props;
|
|
1968
2047
|
const { inputValue, visiblePanel, isActivated } = reactData;
|
|
1969
2048
|
const vSize = computeSize.value;
|
|
1970
2049
|
const isDisabled = computeIsDisabled.value;
|
|
@@ -2008,7 +2087,7 @@ export default defineComponent({
|
|
|
2008
2087
|
placeholder: inpPlaceholder,
|
|
2009
2088
|
readonly: inputReadonly,
|
|
2010
2089
|
disabled: isDisabled,
|
|
2011
|
-
autocomplete,
|
|
2090
|
+
autocomplete: autoComplete || autocomplete,
|
|
2012
2091
|
onKeydown: keydownEvent,
|
|
2013
2092
|
onKeyup: keyupEvent,
|
|
2014
2093
|
onWheel: wheelEvent,
|