vxe-pc-ui 4.15.24 → 4.15.25

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.
Files changed (49) hide show
  1. package/dist/all.esm.js +220 -94
  2. package/dist/style.css +1 -1
  3. package/dist/style.min.css +1 -1
  4. package/es/date-panel/src/date-panel.js +79 -52
  5. package/es/date-panel/src/util.js +11 -1
  6. package/es/date-picker/src/date-picker.js +17 -12
  7. package/es/date-range-picker/src/date-range-picker.js +104 -19
  8. package/es/icon/style.css +1 -1
  9. package/es/style.css +1 -1
  10. package/es/style.min.css +1 -1
  11. package/es/ui/index.js +1 -1
  12. package/es/ui/src/log.js +1 -1
  13. package/lib/date-panel/src/date-panel.js +87 -51
  14. package/lib/date-panel/src/date-panel.min.js +1 -1
  15. package/lib/date-panel/src/util.js +14 -2
  16. package/lib/date-panel/src/util.min.js +1 -1
  17. package/lib/date-picker/src/date-picker.js +19 -12
  18. package/lib/date-picker/src/date-picker.min.js +1 -1
  19. package/lib/date-range-picker/src/date-range-picker.js +119 -18
  20. package/lib/date-range-picker/src/date-range-picker.min.js +1 -1
  21. package/lib/icon/style/style.css +1 -1
  22. package/lib/icon/style/style.min.css +1 -1
  23. package/lib/index.umd.js +239 -84
  24. package/lib/index.umd.min.js +1 -1
  25. package/lib/style.css +1 -1
  26. package/lib/style.min.css +1 -1
  27. package/lib/ui/index.js +1 -1
  28. package/lib/ui/index.min.js +1 -1
  29. package/lib/ui/src/log.js +1 -1
  30. package/lib/ui/src/log.min.js +1 -1
  31. package/package.json +1 -1
  32. package/packages/date-panel/src/date-panel.ts +85 -54
  33. package/packages/date-panel/src/util.ts +14 -2
  34. package/packages/date-picker/src/date-picker.ts +18 -12
  35. package/packages/date-range-picker/src/date-range-picker.ts +102 -19
  36. package/types/components/date-panel.d.ts +4 -2
  37. package/types/components/date-range-picker.d.ts +2 -2
  38. /package/es/icon/{iconfont.1783233742355.ttf → iconfont.1783247320664.ttf} +0 -0
  39. /package/es/icon/{iconfont.1783233742355.woff → iconfont.1783247320664.woff} +0 -0
  40. /package/es/icon/{iconfont.1783233742355.woff2 → iconfont.1783247320664.woff2} +0 -0
  41. /package/es/{iconfont.1783233742355.ttf → iconfont.1783247320664.ttf} +0 -0
  42. /package/es/{iconfont.1783233742355.woff → iconfont.1783247320664.woff} +0 -0
  43. /package/es/{iconfont.1783233742355.woff2 → iconfont.1783247320664.woff2} +0 -0
  44. /package/lib/icon/style/{iconfont.1783233742355.ttf → iconfont.1783247320664.ttf} +0 -0
  45. /package/lib/icon/style/{iconfont.1783233742355.woff → iconfont.1783247320664.woff} +0 -0
  46. /package/lib/icon/style/{iconfont.1783233742355.woff2 → iconfont.1783247320664.woff2} +0 -0
  47. /package/lib/{iconfont.1783233742355.ttf → iconfont.1783247320664.ttf} +0 -0
  48. /package/lib/{iconfont.1783233742355.woff → iconfont.1783247320664.woff} +0 -0
  49. /package/lib/{iconfont.1783233742355.woff2 → iconfont.1783247320664.woff2} +0 -0
package/dist/all.esm.js CHANGED
@@ -81,7 +81,7 @@ function checkDynamic() {
81
81
  }
82
82
 
83
83
  const { log } = VxeUI;
84
- const uiVersion = `ui v${"4.15.24"}`;
84
+ const uiVersion = `ui v${"4.15.25"}`;
85
85
  function createComponentLog(name) {
86
86
  const tableVersion = VxeUI.tableVersion ? `table v${VxeUI.tableVersion}` : '';
87
87
  const ganttVersion = VxeUI.ganttVersion ? `gantt v${VxeUI.ganttVersion}` : '';
@@ -95,7 +95,7 @@ function createComponentLog(name) {
95
95
  const warnLog$g = log.create('warn', uiVersion);
96
96
  log.create('error', uiVersion);
97
97
 
98
- const version = "4.15.24";
98
+ const version = "4.15.25";
99
99
  VxeUI.uiVersion = version;
100
100
  VxeUI.dynamicApp = dynamicApp;
101
101
  function config(options) {
@@ -3866,7 +3866,7 @@ dynamicApp.use(VxeButton);
3866
3866
  VxeUI.component(VxeButtonComponent);
3867
3867
  const Button = VxeButton;
3868
3868
 
3869
- const { errLog: errLog$h } = createComponentLog('backtop');
3869
+ const { errLog: errLog$i } = createComponentLog('backtop');
3870
3870
  function createInternalData$j() {
3871
3871
  return {
3872
3872
  targetEl: null
@@ -4044,13 +4044,13 @@ var VxeBacktopComponent = defineVxeComponent({
4044
4044
  const { target } = props;
4045
4045
  if (!target) {
4046
4046
  removeScrollEvent();
4047
- errLog$h('vxe.error.reqProp', ['target']);
4047
+ errLog$i('vxe.error.reqProp', ['target']);
4048
4048
  return;
4049
4049
  }
4050
4050
  if (XEUtils.isString(target)) {
4051
4051
  const tEl = document.querySelector(target);
4052
4052
  if (!tEl) {
4053
- errLog$h('vxe.error.errProp', [`target=${target}`, 'body']);
4053
+ errLog$i('vxe.error.errProp', [`target=${target}`, 'body']);
4054
4054
  }
4055
4055
  const { targetEl } = internalData;
4056
4056
  if (targetEl !== tEl) {
@@ -4572,7 +4572,7 @@ function parseDateValue(val, type, options) {
4572
4572
  const { valueFormat } = options;
4573
4573
  if (val) {
4574
4574
  if (type === 'time') {
4575
- return toStringTimeDate(XEUtils.isArray(val) ? val : XEUtils.last(val));
4575
+ return toStringTimeDate(XEUtils.isArray(val) ? XEUtils.last(val) : val);
4576
4576
  }
4577
4577
  if (XEUtils.isNumber(val) || /^[0-9]{10,15}$/.test(`${val}`)) {
4578
4578
  return new Date(Number(val));
@@ -4753,6 +4753,16 @@ function checkDateInputFormat(numStr, formatKey) {
4753
4753
  }
4754
4754
  return numVal;
4755
4755
  }
4756
+ const getPrevYear = (date, size = 1) => {
4757
+ const currtYear = date.getFullYear();
4758
+ date.setFullYear(currtYear - size);
4759
+ return date;
4760
+ };
4761
+ const getNextYear = (date, size = 1) => {
4762
+ const currtYear = date.getFullYear();
4763
+ date.setFullYear(currtYear + size);
4764
+ return date;
4765
+ };
4756
4766
  const getPrevMonth = (date) => {
4757
4767
  const currtYear = date.getFullYear();
4758
4768
  const currMonth = date.getMonth();
@@ -4778,7 +4788,7 @@ const getNextMonth = (date) => {
4778
4788
  return date;
4779
4789
  };
4780
4790
 
4781
- const { errLog: errLog$g } = createComponentLog('calendar');
4791
+ const { errLog: errLog$h } = createComponentLog('calendar');
4782
4792
  const { menus: menus$2, getConfig: getConfig$2, getI18n: getI18n$1 } = VxeUI;
4783
4793
  var VxeCalendarComponent = defineVxeComponent({
4784
4794
  name: 'VxeCalendar',
@@ -6046,7 +6056,7 @@ var VxeCalendarComponent = defineVxeComponent({
6046
6056
  const { menuConfig } = props;
6047
6057
  const VxeUIContextMenu = VxeUI.getComponent('VxeContextMenu');
6048
6058
  if (menuConfig && !VxeUIContextMenu) {
6049
- errLog$g('vxe.error.reqComp', ['vxe-context-menu']);
6059
+ errLog$h('vxe.error.reqComp', ['vxe-context-menu']);
6050
6060
  }
6051
6061
  dateOpenPanel();
6052
6062
  });
@@ -6859,7 +6869,7 @@ function clearRowAnimate(elem, clss) {
6859
6869
  }, 500);
6860
6870
  }
6861
6871
 
6862
- const { errLog: errLog$f } = createComponentLog('tree');
6872
+ const { errLog: errLog$g } = createComponentLog('tree');
6863
6873
  function getRowKeyByField(row, keyField) {
6864
6874
  return row ? ('' + (row[keyField] || '')) : '';
6865
6875
  }
@@ -8356,17 +8366,17 @@ var VxeListComponent = defineVxeComponent({
8356
8366
  const keyField = computeKeyField.value;
8357
8367
  if (!keyField) {
8358
8368
  if (showRadio) {
8359
- errLog$f('vxe.error.reqSupportProp', ['show-radio', 'row-config.keyField']);
8369
+ errLog$g('vxe.error.reqSupportProp', ['show-radio', 'row-config.keyField']);
8360
8370
  }
8361
8371
  if (showCheckbox) {
8362
- errLog$f('vxe.error.reqSupportProp', ['show-checkbox', 'row-config.keyField']);
8372
+ errLog$g('vxe.error.reqSupportProp', ['show-checkbox', 'row-config.keyField']);
8363
8373
  }
8364
8374
  if (isDrag) {
8365
- errLog$f('vxe.error.reqSupportProp', ['drag-config', 'row-config.keyField']);
8375
+ errLog$g('vxe.error.reqSupportProp', ['drag-config', 'row-config.keyField']);
8366
8376
  }
8367
8377
  }
8368
8378
  if (useKey && !keyField) {
8369
- errLog$f('vxe.error.reqSupportProp', ['row-config.useKey', 'row-config.keyField']);
8379
+ errLog$g('vxe.error.reqSupportProp', ['row-config.useKey', 'row-config.keyField']);
8370
8380
  }
8371
8381
  if (props.autoResize) {
8372
8382
  const el = refElem.value;
@@ -17430,6 +17440,7 @@ dynamicApp.use(VxeCountdown);
17430
17440
  VxeUI.component(VxeCountdownComponent);
17431
17441
  const Countdown = VxeCountdown;
17432
17442
 
17443
+ const { errLog: errLog$f } = createComponentLog('date-panel');
17433
17444
  var VxeDatePanelComponent = defineVxeComponent({
17434
17445
  name: 'VxeDatePanel',
17435
17446
  props: {
@@ -17515,32 +17526,26 @@ var VxeDatePanelComponent = defineVxeComponent({
17515
17526
  currentDate: null
17516
17527
  });
17517
17528
  const internalData = {
17518
- yearSize: 12,
17519
- monthSize: 20,
17520
- quarterSize: 8,
17529
+ yearSize: 16,
17530
+ monthSize: 12,
17531
+ quarterSize: 4,
17521
17532
  hpTimeout: undefined
17522
17533
  };
17523
17534
  const refElem = ref();
17524
17535
  const refPanelWrapper = ref();
17525
17536
  const refInputTimeBody = ref();
17526
- const refMaps = {
17527
- refElem
17528
- };
17529
- const $xeDatePanel = {
17530
- xID,
17531
- props,
17532
- context,
17533
- reactData,
17534
- internalData,
17535
- getRefMaps: () => refMaps
17536
- };
17537
- const computeIsDateTimeType = computed(() => {
17537
+ const computeIsTimeType = computed(() => {
17538
17538
  const { type } = props;
17539
- return type === 'time' || type === 'datetime';
17539
+ return type === 'time';
17540
+ });
17541
+ const computeIsTimeOrDateTimeType = computed(() => {
17542
+ const { type } = props;
17543
+ const isTimeType = computeIsTimeType.value;
17544
+ return isTimeType || type === 'datetime';
17540
17545
  });
17541
17546
  const computeIsDatePanelType = computed(() => {
17542
- const isDateTimeType = computeIsDateTimeType.value;
17543
- return isDateTimeType || ['date', 'week', 'month', 'quarter', 'year'].indexOf(props.type) > -1;
17547
+ const isTimeOrDateTimeType = computeIsTimeOrDateTimeType.value;
17548
+ return isTimeOrDateTimeType || ['date', 'week', 'month', 'quarter', 'year'].indexOf(props.type) > -1;
17544
17549
  });
17545
17550
  const computeDateStartDate = computed(() => {
17546
17551
  return props.startDate ? XEUtils.toStringDate(props.startDate) : null;
@@ -17549,19 +17554,25 @@ var VxeDatePanelComponent = defineVxeComponent({
17549
17554
  return props.endDate ? XEUtils.toStringDate(props.endDate) : null;
17550
17555
  });
17551
17556
  const computeDateListValue = computed(() => {
17552
- const { modelValue } = props;
17557
+ const { modelValue, valueFormat } = props;
17553
17558
  const isDatePanelType = computeIsDatePanelType.value;
17554
17559
  const dateValueFormat = computeDateValueFormat.value;
17560
+ const restList = [];
17555
17561
  if (modelValue && isDatePanelType) {
17556
- return XEUtils.toValueString(modelValue).split(',').map(item => {
17557
- const date = parseDate(item, dateValueFormat);
17558
- if (XEUtils.isValidDate(date)) {
17559
- return date;
17562
+ (XEUtils.isArray(modelValue) ? modelValue : XEUtils.toValueString(modelValue).split(',')).forEach(val => {
17563
+ let strVal = val;
17564
+ if (val) {
17565
+ if (valueFormat === 'timestamp') {
17566
+ if (XEUtils.isString(val) && /^\d+$/.test(val)) {
17567
+ strVal = Number(strVal);
17568
+ }
17569
+ }
17570
+ const date = parseDate(strVal, dateValueFormat);
17571
+ restList.push(date);
17560
17572
  }
17561
- return date;
17562
17573
  });
17563
17574
  }
17564
- return [];
17575
+ return restList;
17565
17576
  });
17566
17577
  const computeDateMultipleValue = computed(() => {
17567
17578
  const dateListValue = computeDateListValue.value;
@@ -17634,8 +17645,8 @@ var VxeDatePanelComponent = defineVxeComponent({
17634
17645
  });
17635
17646
  const computeDateHMSTime = computed(() => {
17636
17647
  const dateValue = computeDateValue.value;
17637
- const isDateTimeType = computeIsDateTimeType.value;
17638
- return dateValue && isDateTimeType ? (dateValue.getHours() * 3600 + dateValue.getMinutes() * 60 + dateValue.getSeconds()) * 1000 : 0;
17648
+ const isTimeOrDateTimeType = computeIsTimeOrDateTimeType.value;
17649
+ return dateValue && isTimeOrDateTimeType ? (dateValue.getHours() * 3600 + dateValue.getMinutes() * 60 + dateValue.getSeconds()) * 1000 : 0;
17639
17650
  });
17640
17651
  const computeDateLabelFormat = computed(() => {
17641
17652
  const { labelFormat } = props;
@@ -17653,7 +17664,7 @@ var VxeDatePanelComponent = defineVxeComponent({
17653
17664
  const currFullYear = currentDate.getFullYear();
17654
17665
  const selectFullYear = selectMonth.getFullYear();
17655
17666
  const startYearDate = new Date(selectFullYear - selectFullYear % yearSize, 0, 1);
17656
- for (let index = -4; index < yearSize + 4; index++) {
17667
+ for (let index = 0; index < yearSize; index++) {
17657
17668
  const date = XEUtils.getWhatYear(startYearDate, index, 'first');
17658
17669
  const itemFullYear = date.getFullYear();
17659
17670
  years.push({
@@ -17753,7 +17764,7 @@ var VxeDatePanelComponent = defineVxeComponent({
17753
17764
  const currQuarter = getDateQuarter(currentDate);
17754
17765
  const firstYear = XEUtils.getWhatYear(selectMonth, 0, 'first');
17755
17766
  const selFullYear = firstYear.getFullYear();
17756
- for (let index = -2; index < quarterSize - 2; index++) {
17767
+ for (let index = 0; index < quarterSize; index++) {
17757
17768
  const date = XEUtils.getWhatQuarter(firstYear, index);
17758
17769
  const itemFullYear = date.getFullYear();
17759
17770
  const itemQuarter = getDateQuarter(date);
@@ -17782,7 +17793,7 @@ var VxeDatePanelComponent = defineVxeComponent({
17782
17793
  const currFullYear = currentDate.getFullYear();
17783
17794
  const currMonth = currentDate.getMonth();
17784
17795
  const selFullYear = XEUtils.getWhatYear(selectMonth, 0, 'first').getFullYear();
17785
- for (let index = -4; index < monthSize - 4; index++) {
17796
+ for (let index = 0; index < monthSize; index++) {
17786
17797
  const date = XEUtils.getWhatYear(selectMonth, 0, index);
17787
17798
  const itemFullYear = date.getFullYear();
17788
17799
  const itemMonth = date.getMonth();
@@ -17860,8 +17871,8 @@ var VxeDatePanelComponent = defineVxeComponent({
17860
17871
  const timeOpts = computeTimeOpts.value;
17861
17872
  const { hours: hourOptions, hourDisabledMethod } = timeOpts;
17862
17873
  const list = [];
17863
- const isDateTimeType = computeIsDateTimeType.value;
17864
- if (isDateTimeType) {
17874
+ const isTimeOrDateTimeType = computeIsTimeOrDateTimeType.value;
17875
+ if (isTimeOrDateTimeType) {
17865
17876
  if (hourOptions && hourOptions.length) {
17866
17877
  hourOptions.forEach(item => {
17867
17878
  if (XEUtils.isNumber(item) || XEUtils.isString(item)) {
@@ -17899,8 +17910,8 @@ var VxeDatePanelComponent = defineVxeComponent({
17899
17910
  const timeOpts = computeTimeOpts.value;
17900
17911
  const { minutes: minuteOptions, minuteDisabledMethod } = timeOpts;
17901
17912
  const list = [];
17902
- const isDateTimeType = computeIsDateTimeType.value;
17903
- if (isDateTimeType) {
17913
+ const isTimeOrDateTimeType = computeIsTimeOrDateTimeType.value;
17914
+ if (isTimeOrDateTimeType) {
17904
17915
  if (minuteOptions && minuteOptions.length) {
17905
17916
  minuteOptions.forEach(item => {
17906
17917
  if (XEUtils.isNumber(item) || XEUtils.isString(item)) {
@@ -17948,8 +17959,8 @@ var VxeDatePanelComponent = defineVxeComponent({
17948
17959
  const timeOpts = computeTimeOpts.value;
17949
17960
  const { seconds: secondOptions, secondDisabledMethod } = timeOpts;
17950
17961
  const list = [];
17951
- const isDateTimeType = computeIsDateTimeType.value;
17952
- if (isDateTimeType) {
17962
+ const isTimeOrDateTimeType = computeIsTimeOrDateTimeType.value;
17963
+ if (isTimeOrDateTimeType) {
17953
17964
  if (secondOptions && secondOptions.length) {
17954
17965
  secondOptions.forEach(item => {
17955
17966
  if (XEUtils.isNumber(item) || XEUtils.isString(item)) {
@@ -17983,6 +17994,22 @@ var VxeDatePanelComponent = defineVxeComponent({
17983
17994
  }
17984
17995
  return list;
17985
17996
  });
17997
+ const refMaps = {
17998
+ refElem
17999
+ };
18000
+ const computeMaps = {
18001
+ computeSize,
18002
+ computeYearList
18003
+ };
18004
+ const $xeDatePanel = {
18005
+ xID,
18006
+ props,
18007
+ context,
18008
+ reactData,
18009
+ internalData,
18010
+ getRefMaps: () => refMaps,
18011
+ getComputeMaps: () => computeMaps
18012
+ };
17986
18013
  const updateModelValue = (modelValue) => {
17987
18014
  const { type } = props;
17988
18015
  const dateValueFormat = computeDateValueFormat.value;
@@ -17994,7 +18021,7 @@ var VxeDatePanelComponent = defineVxeComponent({
17994
18021
  const parseDate = (value, format) => {
17995
18022
  const { type, multiple } = props;
17996
18023
  if (type === 'time') {
17997
- return toStringTimeDate(XEUtils.isArray(value) ? value : XEUtils.last(value));
18024
+ return toStringTimeDate(XEUtils.isArray(value) ? XEUtils.last(value) : value);
17998
18025
  }
17999
18026
  if (XEUtils.isArray(value)) {
18000
18027
  return XEUtils.toStringDate(XEUtils.last(value), format);
@@ -18148,14 +18175,15 @@ var VxeDatePanelComponent = defineVxeComponent({
18148
18175
  const dateChange = (date, isReload) => {
18149
18176
  const { modelValue, multiple, valueSort } = props;
18150
18177
  const { datetimePanelValue } = reactData;
18151
- const isDateTimeType = computeIsDateTimeType.value;
18178
+ const isTimeType = computeIsTimeType.value;
18179
+ const isTimeOrDateTimeType = computeIsTimeOrDateTimeType.value;
18152
18180
  const dateValueFormat = computeDateValueFormat.value;
18153
18181
  const firstDayOfWeek = computeFirstDayOfWeek.value;
18154
18182
  if (props.type === 'week') {
18155
18183
  const sWeek = XEUtils.toNumber(props.selectDay);
18156
18184
  date = XEUtils.getWhatWeek(date, 0, sWeek, firstDayOfWeek);
18157
18185
  }
18158
- else if (isDateTimeType) {
18186
+ else if (isTimeOrDateTimeType) {
18159
18187
  if (datetimePanelValue) {
18160
18188
  date.setHours(datetimePanelValue.getHours());
18161
18189
  date.setMinutes(datetimePanelValue.getMinutes());
@@ -18164,10 +18192,10 @@ var VxeDatePanelComponent = defineVxeComponent({
18164
18192
  }
18165
18193
  const inpVal = XEUtils.toDateString(date, dateValueFormat, { firstDay: firstDayOfWeek });
18166
18194
  dateCheckMonth(date);
18167
- if (multiple) {
18195
+ if (!isTimeType && multiple) {
18168
18196
  const overCount = computeOverCount.value;
18169
18197
  // 如果为多选
18170
- if (isDateTimeType) {
18198
+ if (isTimeOrDateTimeType) {
18171
18199
  // 如果是datetime特殊类型
18172
18200
  const dateListValue = isReload ? [] : [...computeDateListValue.value];
18173
18201
  let datetimeRest = [];
@@ -18503,19 +18531,21 @@ var VxeDatePanelComponent = defineVxeComponent({
18503
18531
  };
18504
18532
  const dateConfirmEvent = (evnt) => {
18505
18533
  const { multiple } = props;
18506
- const { datetimePanelValue } = reactData;
18534
+ const { datetimePanelValue, currentDate } = reactData;
18507
18535
  const dateValue = computeDateValue.value;
18508
- const isDateTimeType = computeIsDateTimeType.value;
18509
- if (isDateTimeType) {
18536
+ const isTimeType = computeIsTimeType.value;
18537
+ const isTimeOrDateTimeType = computeIsTimeOrDateTimeType.value;
18538
+ if (isTimeOrDateTimeType) {
18510
18539
  const dateValueFormat = computeDateValueFormat.value;
18511
- if (multiple) {
18540
+ if (!isTimeType && multiple) {
18512
18541
  // 如果为多选
18513
18542
  const dateMultipleValue = computeDateMultipleValue.value;
18514
- if (isDateTimeType) {
18543
+ const dateListValue = computeDateListValue.value;
18544
+ if (isTimeOrDateTimeType) {
18515
18545
  // 如果是datetime特殊类型
18516
- const dateListValue = [...computeDateListValue.value];
18546
+ const listVals = dateListValue.length ? [...dateListValue] : [];
18517
18547
  const datetimeRest = [];
18518
- dateListValue.forEach(item => {
18548
+ listVals.forEach(item => {
18519
18549
  if (item) {
18520
18550
  if (datetimePanelValue) {
18521
18551
  item.setHours(datetimePanelValue.getHours());
@@ -18533,7 +18563,7 @@ var VxeDatePanelComponent = defineVxeComponent({
18533
18563
  }
18534
18564
  }
18535
18565
  else {
18536
- dateChange(dateValue || reactData.currentDate);
18566
+ dateChange(dateValue || currentDate);
18537
18567
  }
18538
18568
  }
18539
18569
  hidePanel();
@@ -18559,7 +18589,7 @@ var VxeDatePanelComponent = defineVxeComponent({
18559
18589
  };
18560
18590
  const dateOpenPanel = () => {
18561
18591
  const { type, defaultDate, defaultTime } = props;
18562
- const isDateTimeType = computeIsDateTimeType.value;
18592
+ const isTimeOrDateTimeType = computeIsTimeOrDateTimeType.value;
18563
18593
  const dateValue = computeDateValue.value;
18564
18594
  if (['year', 'quarter', 'month', 'week'].indexOf(type) > -1) {
18565
18595
  reactData.datePanelType = type;
@@ -18587,7 +18617,7 @@ var VxeDatePanelComponent = defineVxeComponent({
18587
18617
  dateNowHandle();
18588
18618
  }
18589
18619
  }
18590
- if (isDateTimeType) {
18620
+ if (isTimeOrDateTimeType) {
18591
18621
  let dtPanelValue = reactData.datePanelValue;
18592
18622
  if (!dtPanelValue) {
18593
18623
  dtPanelValue = XEUtils.getWhatDay(Date.now(), 0, 'first');
@@ -19194,6 +19224,12 @@ var VxeDatePanelComponent = defineVxeComponent({
19194
19224
  });
19195
19225
  initValue();
19196
19226
  dateOpenPanel();
19227
+ onMounted(() => {
19228
+ const { type, multiple } = props;
19229
+ if (multiple && type === 'time') {
19230
+ errLog$f('vxe.error.notSupportProp', [`type=${type}`, 'multiple=true', 'multiple=false']);
19231
+ }
19232
+ });
19197
19233
  $xeDatePanel.renderVN = renderVN;
19198
19234
  return $xeDatePanel;
19199
19235
  },
@@ -19428,20 +19464,25 @@ var VxeDatePickerComponent = defineVxeComponent({
19428
19464
  }
19429
19465
  return disabled;
19430
19466
  });
19431
- const computeIsDateTimeType = computed(() => {
19467
+ const computeIsTimeType = computed(() => {
19432
19468
  const { type } = props;
19433
- return type === 'time' || type === 'datetime';
19469
+ return type === 'time';
19470
+ });
19471
+ const computeIsTimeOrDateTimeType = computed(() => {
19472
+ const { type } = props;
19473
+ const isTimeType = computeIsTimeType.value;
19474
+ return isTimeType || type === 'datetime';
19434
19475
  });
19435
19476
  const computeIsDatePickerType = computed(() => {
19436
- const isDateTimeType = computeIsDateTimeType.value;
19437
- return isDateTimeType || ['date', 'week', 'month', 'quarter', 'year'].indexOf(props.type) > -1;
19477
+ const isTimeOrDateTimeType = computeIsTimeOrDateTimeType.value;
19478
+ return isTimeOrDateTimeType || ['date', 'week', 'month', 'quarter', 'year'].indexOf(props.type) > -1;
19438
19479
  });
19439
19480
  const computeIsClearable = computed(() => {
19440
19481
  return props.clearable;
19441
19482
  });
19442
19483
  const computeIsDatePanelType = computed(() => {
19443
- const isDateTimeType = computeIsDateTimeType.value;
19444
- return isDateTimeType || ['date', 'week', 'month', 'quarter', 'year'].indexOf(props.type) > -1;
19484
+ const isTimeOrDateTimeType = computeIsTimeOrDateTimeType.value;
19485
+ return isTimeOrDateTimeType || ['date', 'week', 'month', 'quarter', 'year'].indexOf(props.type) > -1;
19445
19486
  });
19446
19487
  const computeDateListValue = computed(() => {
19447
19488
  const { modelValue, type, multiple } = props;
@@ -19655,7 +19696,7 @@ var VxeDatePickerComponent = defineVxeComponent({
19655
19696
  };
19656
19697
  const dateChange = (date, isReload) => {
19657
19698
  const { modelValue, multiple } = props;
19658
- const isDateTimeType = computeIsDateTimeType.value;
19699
+ const isTimeOrDateTimeType = computeIsTimeOrDateTimeType.value;
19659
19700
  const dateValueFormat = computeDateValueFormat.value;
19660
19701
  const firstDayOfWeek = computeFirstDayOfWeek.value;
19661
19702
  if (props.type === 'week') {
@@ -19666,7 +19707,7 @@ var VxeDatePickerComponent = defineVxeComponent({
19666
19707
  if (multiple) {
19667
19708
  const overCount = computeOverCount.value;
19668
19709
  // 如果为多选
19669
- if (isDateTimeType) {
19710
+ if (isTimeOrDateTimeType) {
19670
19711
  // 如果是datetime特殊类型
19671
19712
  const dateListValue = [...computeDateListValue.value];
19672
19713
  const datetimeRest = [];
@@ -20219,9 +20260,9 @@ var VxeDatePickerComponent = defineVxeComponent({
20219
20260
  const panelChangeEvent = (params) => {
20220
20261
  const { multiple, autoClose } = props;
20221
20262
  const { value, $event } = params;
20222
- const isDateTimeType = computeIsDateTimeType.value;
20263
+ const isTimeOrDateTimeType = computeIsTimeOrDateTimeType.value;
20223
20264
  handleChange(value, $event);
20224
- if (!multiple && !isDateTimeType) {
20265
+ if (!multiple && !isTimeOrDateTimeType) {
20225
20266
  if (autoClose) {
20226
20267
  hidePanel();
20227
20268
  }
@@ -20505,7 +20546,7 @@ var VxeDatePickerComponent = defineVxeComponent({
20505
20546
  const btnTransfer = computeBtnTransfer.value;
20506
20547
  const shortcutOpts = computeShortcutOpts.value;
20507
20548
  const isClearable = computeIsClearable.value;
20508
- const isDateTimeType = computeIsDateTimeType.value;
20549
+ const isTimeOrDateTimeType = computeIsTimeOrDateTimeType.value;
20509
20550
  const shortcutList = computeShortcutList.value;
20510
20551
  const timeOpts = computeTimeOpts.value;
20511
20552
  const dateStartDate = computeDateStartDate.value;
@@ -20519,7 +20560,7 @@ var VxeDatePickerComponent = defineVxeComponent({
20519
20560
  const rightSlot = slots.right;
20520
20561
  const ppClassName = popupOpts.className;
20521
20562
  const hasShortcutBtn = shortcutList.length > 0;
20522
- const showConfirmBtn = (showConfirmButton === null ? (isDateTimeType || multiple) : showConfirmButton);
20563
+ const showConfirmBtn = (showConfirmButton === null ? (isTimeOrDateTimeType || multiple) : showConfirmButton);
20523
20564
  const showClearBtn = (showClearButton === null ? (isClearable && showConfirmBtn && type !== 'time') : showClearButton);
20524
20565
  return h(Teleport, {
20525
20566
  to: 'body',
@@ -20833,8 +20874,8 @@ function createReactData$d() {
20833
20874
  isActivated: false,
20834
20875
  selectStValue: '',
20835
20876
  selectEdValue: '',
20836
- paneStartVal: '',
20837
- paneEndVal: ''
20877
+ paneStartVal: [],
20878
+ paneEndVal: []
20838
20879
  };
20839
20880
  }
20840
20881
  function createInternalData$c() {
@@ -21067,9 +21108,14 @@ var VxeDateRangePickerComponent = defineVxeComponent({
21067
21108
  const { startValue, endValue } = props;
21068
21109
  return `${startValue || ''}${endValue || ''}`;
21069
21110
  });
21070
- const computeIsDateTimeType = computed(() => {
21111
+ const computeIsTimeType = computed(() => {
21071
21112
  const { type } = props;
21072
- return type === 'time' || type === 'datetime';
21113
+ return type === 'time';
21114
+ });
21115
+ const computeIsTimeOrDateTimeType = computed(() => {
21116
+ const { type } = props;
21117
+ const isTimeType = computeIsTimeType.value;
21118
+ return isTimeType || type === 'datetime';
21073
21119
  });
21074
21120
  const computeIsDatePickerType = computed(() => {
21075
21121
  return ['date', 'week', 'month', 'quarter', 'year'].indexOf(props.type) > -1;
@@ -21221,7 +21267,7 @@ var VxeDateRangePickerComponent = defineVxeComponent({
21221
21267
  };
21222
21268
  };
21223
21269
  const updateModelValue = (isModel) => {
21224
- const { modelValue, startValue, endValue } = props;
21270
+ const { modelValue, startValue, endValue, valueFormat } = props;
21225
21271
  let restObj = {
21226
21272
  sValue: '',
21227
21273
  eValue: ''
@@ -21242,8 +21288,20 @@ var VxeDateRangePickerComponent = defineVxeComponent({
21242
21288
  restObj = paraeUpdateModel();
21243
21289
  }
21244
21290
  }
21245
- reactData.selectStValue = restObj.sValue;
21246
- reactData.selectEdValue = restObj.eValue;
21291
+ let startRest = restObj.sValue;
21292
+ let endRest = restObj.eValue;
21293
+ if (valueFormat === 'timestamp') {
21294
+ if (XEUtils.isString(startRest) && /^\d+$/.test(startRest)) {
21295
+ startRest = Number(startRest);
21296
+ }
21297
+ if (XEUtils.isString(endRest) && /^\d+$/.test(endRest)) {
21298
+ endRest = Number(endRest);
21299
+ }
21300
+ }
21301
+ reactData.selectStValue = startRest;
21302
+ reactData.selectEdValue = endRest;
21303
+ reactData.paneEndVal = [startRest, endRest];
21304
+ reactData.paneStartVal = [startRest, endRest];
21247
21305
  };
21248
21306
  const triggerEvent = (evnt) => {
21249
21307
  const { selectStValue, selectEdValue } = reactData;
@@ -21407,12 +21465,17 @@ var VxeDateRangePickerComponent = defineVxeComponent({
21407
21465
  triggerEvent(evnt);
21408
21466
  };
21409
21467
  const confirmEvent = (evnt) => {
21468
+ const isTimeType = computeIsTimeType.value;
21410
21469
  const $startDatePanel = refStartDatePanel.value;
21411
21470
  const $endDatePanel = refEndDatePanel.value;
21412
21471
  if ($startDatePanel && $endDatePanel) {
21413
21472
  const startValue = $startDatePanel.getModelValue();
21414
21473
  const endValue = $endDatePanel.getModelValue();
21415
- if ((startValue && !endValue) || (!startValue && endValue)) {
21474
+ if (isTimeType) {
21475
+ $startDatePanel.confirmByEvent(evnt);
21476
+ $endDatePanel.confirmByEvent(evnt);
21477
+ }
21478
+ else if ((startValue && !endValue) || (!startValue && endValue)) {
21416
21479
  handleChange('', '', evnt);
21417
21480
  }
21418
21481
  else {
@@ -21442,11 +21505,16 @@ var VxeDateRangePickerComponent = defineVxeComponent({
21442
21505
  else {
21443
21506
  startValue = currValue || XEUtils.last(paneVals);
21444
21507
  }
21445
- reactData.paneEndVal = [startValue, endValue].join(',');
21446
- reactData.paneStartVal = [startValue, endValue].join(',');
21508
+ reactData.paneEndVal = [startValue, endValue];
21509
+ reactData.paneStartVal = [startValue, endValue];
21447
21510
  handleChange(startValue, endValue, $event);
21448
21511
  handleSelectClose();
21449
- if (!selectStatus) {
21512
+ if (selectStatus) {
21513
+ if (startValue && endValue) {
21514
+ internalData.selectStatus = false;
21515
+ }
21516
+ }
21517
+ else {
21450
21518
  internalData.selectStatus = true;
21451
21519
  }
21452
21520
  nextTick(() => {
@@ -21472,11 +21540,16 @@ var VxeDateRangePickerComponent = defineVxeComponent({
21472
21540
  else {
21473
21541
  endValue = currValue || XEUtils.last(paneVals);
21474
21542
  }
21475
- reactData.paneEndVal = [startValue, endValue].join(',');
21476
- reactData.paneStartVal = [startValue, endValue].join(',');
21543
+ reactData.paneEndVal = [startValue, endValue];
21544
+ reactData.paneStartVal = [startValue, endValue];
21477
21545
  handleChange(startValue, endValue, $event);
21478
21546
  handleSelectClose();
21479
- if (!selectStatus) {
21547
+ if (selectStatus) {
21548
+ if (startValue && endValue) {
21549
+ internalData.selectStatus = false;
21550
+ }
21551
+ }
21552
+ else {
21480
21553
  internalData.selectStatus = true;
21481
21554
  }
21482
21555
  nextTick(() => {
@@ -21508,6 +21581,21 @@ var VxeDateRangePickerComponent = defineVxeComponent({
21508
21581
  }
21509
21582
  break;
21510
21583
  }
21584
+ case 'month':
21585
+ case 'quarter': {
21586
+ if (endYear <= startYear) {
21587
+ $endDatePanel.setPanelDate(getNextYear(startPanelDate));
21588
+ }
21589
+ break;
21590
+ }
21591
+ case 'year': {
21592
+ const { computeYearList } = $startDatePanel.getComputeMaps();
21593
+ const yearList = computeYearList.value;
21594
+ if (yearList.some((item) => XEUtils.isDateSame(item.date, endPanelDate, 'yyyy'))) {
21595
+ $endDatePanel.setPanelDate(getNextYear(startPanelDate, yearList.length));
21596
+ }
21597
+ break;
21598
+ }
21511
21599
  }
21512
21600
  };
21513
21601
  const startPanelDateBtnChangeEvent = () => {
@@ -21531,6 +21619,17 @@ var VxeDateRangePickerComponent = defineVxeComponent({
21531
21619
  $endDatePanel.setPanelDate(getNextMonth(startPanelDate));
21532
21620
  break;
21533
21621
  }
21622
+ case 'month':
21623
+ case 'quarter': {
21624
+ $endDatePanel.setPanelDate(getNextYear(startPanelDate));
21625
+ break;
21626
+ }
21627
+ case 'year': {
21628
+ const { computeYearList } = $startDatePanel.getComputeMaps();
21629
+ const yearList = computeYearList.value;
21630
+ $endDatePanel.setPanelDate(getNextYear(startPanelDate, yearList.length));
21631
+ break;
21632
+ }
21534
21633
  }
21535
21634
  }
21536
21635
  else {
@@ -21562,6 +21661,21 @@ var VxeDateRangePickerComponent = defineVxeComponent({
21562
21661
  }
21563
21662
  break;
21564
21663
  }
21664
+ case 'month':
21665
+ case 'quarter': {
21666
+ if (startYear >= endYear) {
21667
+ $startDatePanel.setPanelDate(getPrevYear(endPanelDate));
21668
+ }
21669
+ break;
21670
+ }
21671
+ case 'year': {
21672
+ const { computeYearList } = $endDatePanel.getComputeMaps();
21673
+ const yearList = computeYearList.value;
21674
+ if (yearList.some((item) => XEUtils.isDateSame(item.date, startPanelDate, 'yyyy'))) {
21675
+ $startDatePanel.setPanelDate(getPrevYear(endPanelDate, yearList.length));
21676
+ }
21677
+ break;
21678
+ }
21565
21679
  }
21566
21680
  };
21567
21681
  const endPanelDateBtnChangeEvent = () => {
@@ -21585,6 +21699,17 @@ var VxeDateRangePickerComponent = defineVxeComponent({
21585
21699
  $startDatePanel.setPanelDate(getPrevMonth(endPanelDate));
21586
21700
  break;
21587
21701
  }
21702
+ case 'month':
21703
+ case 'quarter': {
21704
+ $startDatePanel.setPanelDate(getPrevYear(endPanelDate));
21705
+ break;
21706
+ }
21707
+ case 'year': {
21708
+ const { computeYearList } = $endDatePanel.getComputeMaps();
21709
+ const yearList = computeYearList.value;
21710
+ $startDatePanel.setPanelDate(getPrevYear(endPanelDate, yearList.length));
21711
+ break;
21712
+ }
21588
21713
  }
21589
21714
  }
21590
21715
  else {
@@ -21877,7 +22002,8 @@ var VxeDateRangePickerComponent = defineVxeComponent({
21877
22002
  const isClearable = computeIsClearable.value;
21878
22003
  const panelLabelObj = computePanelLabelObj.value;
21879
22004
  const shortcutList = computeShortcutList.value;
21880
- const isDateTimeType = computeIsDateTimeType.value;
22005
+ const isTimeType = computeIsTimeType.value;
22006
+ const isTimeOrDateTimeType = computeIsTimeOrDateTimeType.value;
21881
22007
  const defaultDates = computeDefaultDates.value;
21882
22008
  const defaultTimes = computeDefaultTimes.value;
21883
22009
  const timeOpts = computeTimeOpts.value;
@@ -21893,7 +22019,7 @@ var VxeDateRangePickerComponent = defineVxeComponent({
21893
22019
  const [sdDate, edDate] = defaultDates;
21894
22020
  const [sdTime, edTime] = defaultTimes;
21895
22021
  const hasShortcutBtn = shortcutList.length > 0;
21896
- const showConfirmBtn = (showConfirmButton === null ? (isDateTimeType || !autoClose) : showConfirmButton);
22022
+ const showConfirmBtn = (showConfirmButton === null ? (isTimeOrDateTimeType || !autoClose) : showConfirmButton);
21897
22023
  const showClearBtn = (showClearButton === null ? isClearable : showClearButton);
21898
22024
  return h(Teleport, {
21899
22025
  to: 'body',
@@ -21948,7 +22074,7 @@ var VxeDateRangePickerComponent = defineVxeComponent({
21948
22074
  h(VxeDatePanel, {
21949
22075
  ref: refStartDatePanel,
21950
22076
  modelValue: paneStartVal,
21951
- multiple: true,
22077
+ multiple: !isTimeType,
21952
22078
  valueSort: true,
21953
22079
  limitCount: 3,
21954
22080
  defaultMode: 'first',
@@ -21975,7 +22101,7 @@ var VxeDateRangePickerComponent = defineVxeComponent({
21975
22101
  h(VxeDatePanel, {
21976
22102
  ref: refEndDatePanel,
21977
22103
  modelValue: paneEndVal,
21978
- multiple: true,
22104
+ multiple: !isTimeType,
21979
22105
  valueSort: true,
21980
22106
  limitCount: 3,
21981
22107
  defaultMode: 'last',