vxe-pc-ui 4.15.2 → 4.15.4

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 (129) hide show
  1. package/dist/all.esm.js +866 -257
  2. package/es/backtop/src/backtop.js +2 -1
  3. package/es/button/src/button.js +3 -2
  4. package/es/calendar/src/calendar.js +2 -1
  5. package/es/cascader/src/cascader.js +72 -29
  6. package/es/checkbox/src/group.js +5 -1
  7. package/es/date-panel/src/util.js +27 -16
  8. package/es/date-picker/src/date-picker.js +572 -74
  9. package/es/date-range-picker/src/date-range-picker.js +3 -2
  10. package/es/drawer/src/drawer.js +2 -0
  11. package/es/form/render/index.js +3 -2
  12. package/es/form/src/form.js +6 -5
  13. package/es/form/src/itemInfo.js +6 -5
  14. package/es/input/src/input.js +2 -1
  15. package/es/menu/src/menu.js +2 -1
  16. package/es/modal/src/modal.js +5 -2
  17. package/es/pager/src/pager.js +4 -3
  18. package/es/radio/src/group.js +5 -1
  19. package/es/select/src/select.js +25 -20
  20. package/es/splitter/src/splitter.js +7 -6
  21. package/es/table-select/src/table-select.js +21 -16
  22. package/es/tabs/src/tabs.js +4 -3
  23. package/es/textarea/src/textarea.js +2 -1
  24. package/es/tree/src/tree.js +3 -2
  25. package/es/tree-select/src/tree-select.js +16 -19
  26. package/es/ui/index.js +4 -1
  27. package/es/ui/src/log.js +14 -4
  28. package/es/upload/src/upload.js +12 -3
  29. package/lib/backtop/src/backtop.js +5 -2
  30. package/lib/backtop/src/backtop.min.js +1 -1
  31. package/lib/button/src/button.js +4 -1
  32. package/lib/button/src/button.min.js +1 -1
  33. package/lib/calendar/src/calendar.js +4 -1
  34. package/lib/calendar/src/calendar.min.js +1 -1
  35. package/lib/cascader/src/cascader.js +80 -30
  36. package/lib/cascader/src/cascader.min.js +1 -1
  37. package/lib/checkbox/src/group.js +5 -1
  38. package/lib/checkbox/src/group.min.js +1 -1
  39. package/lib/date-panel/src/util.js +37 -19
  40. package/lib/date-panel/src/util.min.js +1 -1
  41. package/lib/date-picker/src/date-picker.js +620 -77
  42. package/lib/date-picker/src/date-picker.min.js +1 -1
  43. package/lib/date-range-picker/src/date-range-picker.js +4 -1
  44. package/lib/date-range-picker/src/date-range-picker.min.js +1 -1
  45. package/lib/drawer/src/drawer.js +2 -0
  46. package/lib/drawer/src/drawer.min.js +1 -1
  47. package/lib/form/render/index.js +4 -1
  48. package/lib/form/render/index.min.js +1 -1
  49. package/lib/form/src/form.js +8 -4
  50. package/lib/form/src/form.min.js +1 -1
  51. package/lib/form/src/itemInfo.js +7 -4
  52. package/lib/form/src/itemInfo.min.js +1 -1
  53. package/lib/index.umd.js +941 -215
  54. package/lib/index.umd.min.js +1 -1
  55. package/lib/input/src/input.js +6 -3
  56. package/lib/input/src/input.min.js +1 -1
  57. package/lib/menu/src/menu.js +4 -1
  58. package/lib/menu/src/menu.min.js +1 -1
  59. package/lib/modal/src/modal.js +8 -2
  60. package/lib/modal/src/modal.min.js +1 -1
  61. package/lib/pager/src/pager.js +6 -2
  62. package/lib/pager/src/pager.min.js +1 -1
  63. package/lib/radio/src/group.js +5 -1
  64. package/lib/radio/src/group.min.js +1 -1
  65. package/lib/select/src/select.js +27 -20
  66. package/lib/select/src/select.min.js +1 -1
  67. package/lib/splitter/src/splitter.js +12 -8
  68. package/lib/splitter/src/splitter.min.js +1 -1
  69. package/lib/table-select/src/table-select.js +22 -15
  70. package/lib/table-select/src/table-select.min.js +1 -1
  71. package/lib/tabs/src/tabs.js +7 -3
  72. package/lib/tabs/src/tabs.min.js +1 -1
  73. package/lib/textarea/src/textarea.js +4 -1
  74. package/lib/textarea/src/textarea.min.js +1 -1
  75. package/lib/tree/src/tree.js +7 -4
  76. package/lib/tree/src/tree.min.js +1 -1
  77. package/lib/tree-select/src/tree-select.js +14 -10
  78. package/lib/tree-select/src/tree-select.min.js +1 -1
  79. package/lib/ui/index.js +4 -1
  80. package/lib/ui/index.min.js +1 -1
  81. package/lib/ui/src/log.js +16 -3
  82. package/lib/ui/src/log.min.js +1 -1
  83. package/lib/upload/src/upload.js +20 -3
  84. package/lib/upload/src/upload.min.js +1 -1
  85. package/package.json +1 -1
  86. package/packages/backtop/src/backtop.ts +3 -1
  87. package/packages/button/src/button.ts +4 -2
  88. package/packages/calendar/src/calendar.ts +3 -1
  89. package/packages/cascader/src/cascader.ts +71 -29
  90. package/packages/checkbox/src/group.ts +6 -2
  91. package/packages/date-panel/src/util.ts +28 -16
  92. package/packages/date-picker/src/date-picker.ts +583 -75
  93. package/packages/date-range-picker/src/date-range-picker.ts +4 -2
  94. package/packages/drawer/src/drawer.ts +2 -0
  95. package/packages/form/render/index.ts +4 -2
  96. package/packages/form/src/form.ts +7 -5
  97. package/packages/form/src/itemInfo.ts +7 -5
  98. package/packages/input/src/input.ts +3 -1
  99. package/packages/menu/src/menu.ts +3 -1
  100. package/packages/modal/src/modal.ts +6 -2
  101. package/packages/pager/src/pager.ts +5 -3
  102. package/packages/radio/src/group.ts +6 -2
  103. package/packages/select/src/select.ts +29 -22
  104. package/packages/splitter/src/splitter.ts +8 -6
  105. package/packages/table-select/src/table-select.ts +24 -17
  106. package/packages/tabs/src/tabs.ts +5 -3
  107. package/packages/textarea/src/textarea.ts +3 -1
  108. package/packages/tree/src/tree.ts +4 -2
  109. package/packages/tree-select/src/tree-select.ts +17 -19
  110. package/packages/ui/index.ts +3 -0
  111. package/packages/ui/src/log.ts +16 -4
  112. package/packages/upload/src/upload.ts +14 -3
  113. package/types/components/cascader.d.ts +4 -0
  114. package/types/components/date-picker.d.ts +14 -6
  115. package/types/components/drawer.d.ts +2 -0
  116. package/types/components/modal.d.ts +2 -0
  117. package/types/components/upload.d.ts +28 -1
  118. /package/es/icon/{iconfont.1781753592499.ttf → iconfont.1781876596706.ttf} +0 -0
  119. /package/es/icon/{iconfont.1781753592499.woff → iconfont.1781876596706.woff} +0 -0
  120. /package/es/icon/{iconfont.1781753592499.woff2 → iconfont.1781876596706.woff2} +0 -0
  121. /package/es/{iconfont.1781753592499.ttf → iconfont.1781876596706.ttf} +0 -0
  122. /package/es/{iconfont.1781753592499.woff → iconfont.1781876596706.woff} +0 -0
  123. /package/es/{iconfont.1781753592499.woff2 → iconfont.1781876596706.woff2} +0 -0
  124. /package/lib/icon/style/{iconfont.1781753592499.ttf → iconfont.1781876596706.ttf} +0 -0
  125. /package/lib/icon/style/{iconfont.1781753592499.woff → iconfont.1781876596706.woff} +0 -0
  126. /package/lib/icon/style/{iconfont.1781753592499.woff2 → iconfont.1781876596706.woff2} +0 -0
  127. /package/lib/{iconfont.1781753592499.ttf → iconfont.1781876596706.ttf} +0 -0
  128. /package/lib/{iconfont.1781753592499.woff → iconfont.1781876596706.woff} +0 -0
  129. /package/lib/{iconfont.1781753592499.woff2 → iconfont.1781876596706.woff2} +0 -0
package/dist/all.esm.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as core from '@vxe-ui/core';
2
- import { VxeUI, log, setConfig as setConfig$1, setIcon, getConfig as getConfig$3, createEvent, getIcon as getIcon$2, renderEmptyElement, useSize, usePermission, permission, globalEvents, renderer, getI18n as getI18n$2, globalResize, GLOBAL_EVENT_KEYS, getSlotVNs as getSlotVNs$1, commands, formats, getComponent, validators } from '@vxe-ui/core';
2
+ import { VxeUI, setConfig as setConfig$1, setIcon, getConfig as getConfig$3, createEvent, getIcon as getIcon$2, renderEmptyElement, useSize, usePermission, permission, globalEvents, renderer, getI18n as getI18n$2, globalResize, GLOBAL_EVENT_KEYS, getSlotVNs as getSlotVNs$1, commands, formats, getComponent, validators } from '@vxe-ui/core';
3
3
  export * from '@vxe-ui/core';
4
4
  import { defineComponent, reactive, h, createCommentVNode, createApp, ref, inject, computed, watch, onMounted, onUnmounted, provide, nextTick, onBeforeUnmount, resolveComponent, Teleport, onActivated, onDeactivated, TransitionGroup } from 'vue';
5
5
  import XEUtils from 'xe-utils';
@@ -80,19 +80,29 @@ function checkDynamic() {
80
80
  }
81
81
  }
82
82
 
83
- const version$1 = `ui v${"4.15.2"}`;
84
- const warnLog = log.create('warn', version$1);
85
- const errLog = log.create('error', version$1);
83
+ const { log } = VxeUI;
84
+ const uiVersion = `ui v${"4.15.4"}`;
85
+ function createComponentLog(name) {
86
+ const tableVersion = VxeUI.tableVersion ? `table v${VxeUI.tableVersion}` : '';
87
+ const ganttVersion = VxeUI.ganttVersion ? `gantt v${VxeUI.ganttVersion}` : '';
88
+ const designVersion = VxeUI.designVersion ? `design v${VxeUI.designVersion}` : '';
89
+ return {
90
+ warnLog: log.create('warn', uiVersion + tableVersion + ganttVersion + designVersion + '] [' + name),
91
+ errLog: log.create('error', uiVersion + tableVersion + ganttVersion + designVersion + '] [' + name)
92
+ };
93
+ }
94
+ const warnLog$b = log.create('warn', uiVersion);
95
+ log.create('error', uiVersion);
86
96
 
87
- const version = "4.15.2";
97
+ const version = "4.15.4";
88
98
  VxeUI.uiVersion = version;
89
99
  VxeUI.dynamicApp = dynamicApp;
90
100
  function config(options) {
91
- warnLog('vxe.error.delFunc', ['config', 'setConfig']);
101
+ warnLog$b('vxe.error.delFunc', ['config', 'setConfig']);
92
102
  return setConfig$1(options);
93
103
  }
94
104
  function setup(options) {
95
- warnLog('vxe.error.delFunc', ['setup', 'setConfig']);
105
+ warnLog$b('vxe.error.delFunc', ['setup', 'setConfig']);
96
106
  return setConfig$1(options);
97
107
  }
98
108
  VxeUI.config = config;
@@ -147,6 +157,9 @@ setConfig$1({
147
157
  showFullLabel: true,
148
158
  treeConfig: {
149
159
  showIcon: true
160
+ },
161
+ filterConfig: {
162
+ autoExpandMode: 'first'
150
163
  }
151
164
  },
152
165
  checkbox: {},
@@ -3041,6 +3054,7 @@ dynamicApp.use(VxeTooltip);
3041
3054
  VxeUI.component(VxeTooltipComponent);
3042
3055
  const Tooltip = VxeTooltip;
3043
3056
 
3057
+ const { warnLog: warnLog$a } = createComponentLog('button');
3044
3058
  const VxeButtonComponent = defineVxeComponent({
3045
3059
  name: 'VxeButton',
3046
3060
  props: {
@@ -3759,7 +3773,7 @@ const VxeButtonComponent = defineVxeComponent({
3759
3773
  $xeButton.renderVN = renderVN;
3760
3774
  onMounted(() => {
3761
3775
  if (props.type === 'text') {
3762
- warnLog('vxe.error.delProp', ['[button] type=text', 'mode=text']);
3776
+ warnLog$a('vxe.error.delProp', ['type=text', 'mode=text']);
3763
3777
  }
3764
3778
  globalEvents.on($xeButton, 'mousewheel', handleGlobalMousewheelEvent);
3765
3779
  globalEvents.on($xeButton, 'mousedown', handleGlobalMousedownEvent);
@@ -3786,12 +3800,13 @@ dynamicApp.use(VxeButton);
3786
3800
  VxeUI.component(VxeButtonComponent);
3787
3801
  const Button = VxeButton;
3788
3802
 
3789
- function createInternalData$d() {
3803
+ const { errLog: errLog$g } = createComponentLog('backtop');
3804
+ function createInternalData$e() {
3790
3805
  return {
3791
3806
  targetEl: null
3792
3807
  };
3793
3808
  }
3794
- function createReactData$a() {
3809
+ function createReactData$f() {
3795
3810
  return {
3796
3811
  showBtn: false,
3797
3812
  backtopZindex: 0
@@ -3870,8 +3885,8 @@ var VxeBacktopComponent = defineVxeComponent({
3870
3885
  const xID = XEUtils.uniqueId();
3871
3886
  const refElem = ref();
3872
3887
  const { computeSize } = useSize(props);
3873
- const internalData = createInternalData$d();
3874
- const reactData = reactive(createReactData$a());
3888
+ const internalData = createInternalData$e();
3889
+ const reactData = reactive(createReactData$f());
3875
3890
  const refMaps = {
3876
3891
  refElem
3877
3892
  };
@@ -3963,13 +3978,13 @@ var VxeBacktopComponent = defineVxeComponent({
3963
3978
  const { target } = props;
3964
3979
  if (!target) {
3965
3980
  removeScrollEvent();
3966
- errLog('vxe.error.reqProp', ['target']);
3981
+ errLog$g('vxe.error.reqProp', ['target']);
3967
3982
  return;
3968
3983
  }
3969
3984
  if (XEUtils.isString(target)) {
3970
3985
  const tEl = document.querySelector(target);
3971
3986
  if (!tEl) {
3972
- errLog('vxe.error.errProp', [`target=${target}`, 'body']);
3987
+ errLog$g('vxe.error.errProp', [`target=${target}`, 'body']);
3973
3988
  }
3974
3989
  const { targetEl } = internalData;
3975
3990
  if (targetEl !== tEl) {
@@ -4048,8 +4063,8 @@ var VxeBacktopComponent = defineVxeComponent({
4048
4063
  });
4049
4064
  onBeforeUnmount(() => {
4050
4065
  removeScrollEvent();
4051
- XEUtils.assign(reactData, createReactData$a());
4052
- XEUtils.assign(internalData, createInternalData$d());
4066
+ XEUtils.assign(reactData, createReactData$f());
4067
+ XEUtils.assign(internalData, createInternalData$e());
4053
4068
  });
4054
4069
  $xeBacktop.renderVN = renderVN;
4055
4070
  return $xeBacktop;
@@ -4412,6 +4427,18 @@ dynamicApp.use(VxeButtonGroup);
4412
4427
  VxeUI.component(VxeButtonGroupComponent);
4413
4428
  const ButtonGroup = VxeButtonGroup;
4414
4429
 
4430
+ function getChunkDefaultNum(selectKey) {
4431
+ const currDate = new Date();
4432
+ switch (selectKey) {
4433
+ case 'y': return currDate.getFullYear();
4434
+ case 'M': return currDate.getMonth() + 1;
4435
+ case 'd': return currDate.getDate();
4436
+ case 'H': return currDate.getHours();
4437
+ case 'm': return currDate.getMinutes();
4438
+ case 's': return currDate.getSeconds();
4439
+ }
4440
+ return 0;
4441
+ }
4415
4442
  function hasTimestampValueType(valueFormat) {
4416
4443
  return valueFormat === 'timestamp';
4417
4444
  }
@@ -4432,18 +4459,6 @@ function handleValueFormat(type, valueFormat) {
4432
4459
  }
4433
4460
  return 'yyyy-MM-dd';
4434
4461
  }
4435
- function handleInputFormat(type, inputFormat) {
4436
- if (inputFormat) {
4437
- return inputFormat;
4438
- }
4439
- if (type === 'time') {
4440
- return 'HH:mm:ss';
4441
- }
4442
- if (type === 'datetime') {
4443
- return 'yyyy-MM-dd HH:mm:ss';
4444
- }
4445
- return 'yyyy-MM-dd';
4446
- }
4447
4462
  function toStringTimeDate(str) {
4448
4463
  const rest = new Date(2e3, 0, 1);
4449
4464
  if (str) {
@@ -4487,7 +4502,7 @@ function getDateQuarter(date) {
4487
4502
  }
4488
4503
  return 4;
4489
4504
  }
4490
- const parseDateValue = (val, type, options) => {
4505
+ function parseDateValue(val, type, options) {
4491
4506
  const { valueFormat } = options;
4492
4507
  if (val) {
4493
4508
  if (type === 'time') {
@@ -4502,7 +4517,7 @@ const parseDateValue = (val, type, options) => {
4502
4517
  return XEUtils.toStringDate(val, valueFormat);
4503
4518
  }
4504
4519
  return null;
4505
- };
4520
+ }
4506
4521
  const parseDateString = (val, type, options) => {
4507
4522
  const dValue = parseDateValue(val, type, options);
4508
4523
  return dValue ? XEUtils.toDateString(dValue, options.valueFormat) : '';
@@ -4639,10 +4654,22 @@ function getRangeDateByCode(code, val, type, options) {
4639
4654
  /**
4640
4655
  * 判断周的年份是否跨年
4641
4656
  */
4642
- const checkWeekOfsetYear = (W, M) => {
4657
+ function checkWeekOfsetYear(W, M) {
4643
4658
  return `${W}` === '1' && `${M}` === '12';
4644
- };
4659
+ }
4660
+ function isAllSameChar(str, char) {
4661
+ if (str.length === 0) {
4662
+ return false;
4663
+ }
4664
+ for (let i = 0; i < str.length; i++) {
4665
+ if (str[i] !== char) {
4666
+ return false;
4667
+ }
4668
+ }
4669
+ return true;
4670
+ }
4645
4671
 
4672
+ const { errLog: errLog$f } = createComponentLog('calendar');
4646
4673
  const { menus: menus$2, getConfig: getConfig$2, getI18n: getI18n$1 } = VxeUI;
4647
4674
  var VxeCalendarComponent = defineVxeComponent({
4648
4675
  name: 'VxeCalendar',
@@ -5910,7 +5937,7 @@ var VxeCalendarComponent = defineVxeComponent({
5910
5937
  const { menuConfig } = props;
5911
5938
  const VxeUIContextMenu = VxeUI.getComponent('VxeContextMenu');
5912
5939
  if (menuConfig && !VxeUIContextMenu) {
5913
- errLog('vxe.error.reqComp', ['vxe-context-menu']);
5940
+ errLog$f('vxe.error.reqComp', ['vxe-context-menu']);
5914
5941
  }
5915
5942
  dateOpenPanel();
5916
5943
  });
@@ -6692,7 +6719,7 @@ function deNodeValue$1(nodeid) {
6692
6719
  return nodeid ? decodeURIComponent(`${nodeid}`) : nodeid;
6693
6720
  }
6694
6721
 
6695
- function createReactData$9() {
6722
+ function createReactData$e() {
6696
6723
  return {
6697
6724
  scrollYLoad: false,
6698
6725
  bodyHeight: 0,
@@ -6703,7 +6730,7 @@ function createReactData$9() {
6703
6730
  items: []
6704
6731
  };
6705
6732
  }
6706
- function createInternalData$c() {
6733
+ function createInternalData$d() {
6707
6734
  return {
6708
6735
  resizeObserver: undefined,
6709
6736
  fullData: [],
@@ -6746,8 +6773,8 @@ var VxeListComponent = defineVxeComponent({
6746
6773
  const xID = XEUtils.uniqueId();
6747
6774
  const browseObj = XEUtils.browse();
6748
6775
  const { computeSize } = useSize(props);
6749
- const reactData = reactive(createReactData$9());
6750
- const internalData = createInternalData$c();
6776
+ const reactData = reactive(createReactData$e());
6777
+ const internalData = createInternalData$d();
6751
6778
  const refElem = ref();
6752
6779
  const refVirtualWrapper = ref();
6753
6780
  const refVirtualBody = ref();
@@ -7079,8 +7106,8 @@ var VxeListComponent = defineVxeComponent({
7079
7106
  resizeObserver.disconnect();
7080
7107
  }
7081
7108
  globalEvents.off($xeList, 'resize');
7082
- XEUtils.assign(reactData, createReactData$9());
7083
- XEUtils.assign(internalData, createInternalData$c());
7109
+ XEUtils.assign(reactData, createReactData$e());
7110
+ XEUtils.assign(internalData, createInternalData$d());
7084
7111
  });
7085
7112
  $xeList.renderVN = renderVN;
7086
7113
  return $xeList;
@@ -7112,6 +7139,7 @@ function toFloatValueFixed(inputValue, type, digitsValue, roundingMode) {
7112
7139
  }
7113
7140
  }
7114
7141
 
7142
+ const { warnLog: warnLog$9 } = createComponentLog('input');
7115
7143
  var VxeInputComponent = defineVxeComponent({
7116
7144
  name: 'VxeInput',
7117
7145
  props: {
@@ -9748,13 +9776,13 @@ var VxeInputComponent = defineVxeComponent({
9748
9776
  onMounted(() => {
9749
9777
  const { type } = props;
9750
9778
  if (['date', 'time', 'datetime', 'week', 'month', 'quarter', 'year'].includes(type)) {
9751
- warnLog('vxe.error.useNew', [`<vxe-input type="${type}" ... />`, `<vxe-date-picker type="${type}" ... />`]);
9779
+ warnLog$9('vxe.error.useNew', [`<vxe-input type="${type}" ... />`, `<vxe-date-picker type="${type}" ... />`]);
9752
9780
  }
9753
9781
  else if (['number', 'integer', 'float'].includes(type)) {
9754
- warnLog('vxe.error.useNew', [`<vxe-input type="${type}" ... />`, `<vxe-number-input type="${type}" ... />`]);
9782
+ warnLog$9('vxe.error.useNew', [`<vxe-input type="${type}" ... />`, `<vxe-number-input type="${type}" ... />`]);
9755
9783
  }
9756
9784
  else if (['password'].includes(type)) {
9757
- warnLog('vxe.error.useNew', [`<vxe-input type="${type}" ... />`, '<vxe-password-input ... />']);
9785
+ warnLog$9('vxe.error.useNew', [`<vxe-input type="${type}" ... />`, '<vxe-password-input ... />']);
9758
9786
  }
9759
9787
  const inputElem = refInputTarget.value;
9760
9788
  if (inputElem) {
@@ -9792,7 +9820,7 @@ var VxeInputComponent = defineVxeComponent({
9792
9820
  function getNodeUniqueId$1() {
9793
9821
  return XEUtils.uniqueId('node_');
9794
9822
  }
9795
- function createReactData$8() {
9823
+ function createReactData$d() {
9796
9824
  return {
9797
9825
  initialized: false,
9798
9826
  searchValue: '',
@@ -9815,7 +9843,7 @@ function createReactData$8() {
9815
9843
  lazyOptFlag: 1
9816
9844
  };
9817
9845
  }
9818
- function createInternalData$b() {
9846
+ function createInternalData$c() {
9819
9847
  return {
9820
9848
  // hpTimeout: undefined,
9821
9849
  listVirtualYOpts: {
@@ -9942,8 +9970,8 @@ var VxeCascaderComponent = defineVxeComponent({
9942
9970
  const refInpSearch = ref();
9943
9971
  const refChunkWrapper = ref();
9944
9972
  const refOptionPanel = ref();
9945
- const reactData = reactive(createReactData$8());
9946
- const internalData = createInternalData$b();
9973
+ const reactData = reactive(createReactData$d());
9974
+ const internalData = createInternalData$c();
9947
9975
  const refMaps = {
9948
9976
  refElem
9949
9977
  };
@@ -10356,7 +10384,6 @@ var VxeCascaderComponent = defineVxeComponent({
10356
10384
  return internalData.afterVisibleList;
10357
10385
  };
10358
10386
  const handleData = (force) => {
10359
- const { nodeMaps } = internalData;
10360
10387
  let fullList = internalData.afterVisibleList;
10361
10388
  if (force) {
10362
10389
  // 更新数据,处理筛选和排序
@@ -10365,16 +10392,56 @@ var VxeCascaderComponent = defineVxeComponent({
10365
10392
  fullList = handleTreeToList();
10366
10393
  }
10367
10394
  const treeList = fullList.slice(0);
10368
- treeList.forEach((item, $index) => {
10369
- const nodeid = getNodeId(item);
10370
- const itemRest = nodeMaps[nodeid];
10371
- if (itemRest) {
10372
- itemRest.$index = $index;
10373
- }
10374
- });
10375
10395
  reactData.treeList = treeList;
10376
10396
  };
10377
- const triggerSearchEvent = XEUtils.debounce(() => handleData(true), 350, { trailing: true });
10397
+ /**
10398
+ * 获取第一个拥有子节点的节点
10399
+ */
10400
+ function handleHasChildNodeIds(treeList, type) {
10401
+ const childrenField = computeChildrenField.value;
10402
+ const mapChildrenField = computeMapChildrenField.value;
10403
+ const treeOpts = computeTreeOpts.value;
10404
+ const { transform } = treeOpts;
10405
+ const childField = transform ? mapChildrenField : childrenField;
10406
+ const nodeIds = [];
10407
+ let currList = treeList;
10408
+ while (currList.length) {
10409
+ let targetNode = null;
10410
+ for (const item of currList) {
10411
+ const kids = item[childField];
10412
+ if (XEUtils.isArray(kids) && kids.length > 0) {
10413
+ targetNode = item;
10414
+ break;
10415
+ }
10416
+ }
10417
+ if (targetNode) {
10418
+ nodeIds.push(getNodeId(targetNode));
10419
+ currList = targetNode[childField];
10420
+ }
10421
+ else {
10422
+ const endNode = XEUtils[type](currList);
10423
+ nodeIds.push(getNodeId(endNode));
10424
+ break;
10425
+ }
10426
+ }
10427
+ return nodeIds;
10428
+ }
10429
+ const triggerSearchEvent = XEUtils.debounce(() => {
10430
+ handleData(true);
10431
+ updateModelChecked();
10432
+ const filterOpts = computeFilterOpts.value;
10433
+ const { autoExpandMode } = filterOpts;
10434
+ const { afterTreeList } = internalData;
10435
+ // 默认展开第
10436
+ if (autoExpandMode === 'first' || autoExpandMode === 'last') {
10437
+ const stItems = handleHasChildNodeIds(afterTreeList, autoExpandMode);
10438
+ reactData.currentItems = stItems;
10439
+ }
10440
+ else {
10441
+ handleCurrentItems();
10442
+ }
10443
+ updateCurrentChunk();
10444
+ }, 350, { trailing: true });
10378
10445
  const loadData = (list) => {
10379
10446
  const treeOpts = computeTreeOpts.value;
10380
10447
  const keyField = computeKeyField.value;
@@ -10401,17 +10468,20 @@ var VxeCascaderComponent = defineVxeComponent({
10401
10468
  };
10402
10469
  const updateCurrentChunk = () => {
10403
10470
  const { currentItems } = reactData;
10404
- const { treeFullData } = internalData;
10471
+ const { afterTreeList } = internalData;
10405
10472
  const childrenField = computeChildrenField.value;
10406
- const currentCunkList = [treeFullData];
10473
+ const mapChildrenField = computeMapChildrenField.value;
10474
+ const treeOpts = computeTreeOpts.value;
10475
+ const { transform } = treeOpts;
10476
+ const currentCunkList = [afterTreeList];
10407
10477
  if (currentItems.length) {
10408
10478
  let chunkIndex = 0;
10409
10479
  let stNodeid = currentItems[chunkIndex];
10410
- let optList = treeFullData;
10480
+ let optList = afterTreeList;
10411
10481
  while (stNodeid && optList && optList.length) {
10412
10482
  stNodeid = currentItems[chunkIndex++];
10413
10483
  const currOption = optList.find(item => stNodeid === getNodeId(item));
10414
- optList = currOption ? currOption[childrenField] : [];
10484
+ optList = currOption ? currOption[transform ? mapChildrenField : childrenField] : [];
10415
10485
  if (!optList || !optList.length) {
10416
10486
  break;
10417
10487
  }
@@ -10421,7 +10491,7 @@ var VxeCascaderComponent = defineVxeComponent({
10421
10491
  reactData.currentCunkList = currentCunkList;
10422
10492
  };
10423
10493
  const handleCurrentItems = () => {
10424
- const { treeFullData } = internalData;
10494
+ const { afterTreeList } = internalData;
10425
10495
  const selectVals = computeSelectVals.value;
10426
10496
  const childrenField = computeChildrenField.value;
10427
10497
  const mapChildrenField = computeMapChildrenField.value;
@@ -10431,7 +10501,7 @@ var VxeCascaderComponent = defineVxeComponent({
10431
10501
  const expandedMaps = {};
10432
10502
  if (selectVals.length) {
10433
10503
  const lastVal = enNodeValue$1(XEUtils.last(selectVals));
10434
- const stRest = XEUtils.findTree(treeFullData, (item) => lastVal === getNodeId(item), { children: transform ? mapChildrenField : childrenField });
10504
+ const stRest = XEUtils.findTree(afterTreeList, (item) => lastVal === getNodeId(item), { children: transform ? mapChildrenField : childrenField });
10435
10505
  if (stRest) {
10436
10506
  const { nodes } = stRest;
10437
10507
  nodes.forEach(item => {
@@ -10537,10 +10607,11 @@ var VxeCascaderComponent = defineVxeComponent({
10537
10607
  return { checkNodeKeys: checkKeys, checkNodes };
10538
10608
  });
10539
10609
  };
10540
- const clearCheckboxNode = () => {
10610
+ const clearSelectedNode = () => {
10541
10611
  internalData.indeterminateRowMaps = {};
10542
10612
  internalData.selectCheckboxMaps = {};
10543
10613
  reactData.updateCheckboxFlag++;
10614
+ reactData.selectRadioKey = null;
10544
10615
  updateCheckboxStatus();
10545
10616
  return nextTick().then(() => {
10546
10617
  return { checkNodeKeys: [], checkNodes: [] };
@@ -10582,7 +10653,7 @@ var VxeCascaderComponent = defineVxeComponent({
10582
10653
  const { $event } = params;
10583
10654
  const { multiple, checkedClosable } = props;
10584
10655
  const value = multiple ? [] : null;
10585
- clearCheckboxNode().then(() => {
10656
+ clearSelectedNode().then(() => {
10586
10657
  if (checkedClosable) {
10587
10658
  hideOptionPanel($event);
10588
10659
  }
@@ -10664,9 +10735,12 @@ var VxeCascaderComponent = defineVxeComponent({
10664
10735
  const { nodeMaps } = internalData;
10665
10736
  const radioOpts = computeRadioOpts.value;
10666
10737
  const childrenField = computeChildrenField.value;
10738
+ const treeOpts = computeTreeOpts.value;
10739
+ const { transform } = treeOpts;
10740
+ const mapChildrenField = computeMapChildrenField.value;
10667
10741
  const { checkMode, checkMethod } = radioOpts;
10668
10742
  const nodeid = getNodeId(node);
10669
- const childList = node[childrenField];
10743
+ const childList = node[transform ? mapChildrenField : childrenField];
10670
10744
  const isExistChild = childList && childList.length > 0;
10671
10745
  const nodeItem = nodeMaps[nodeid] || {};
10672
10746
  const nLevel = nodeItem.level;
@@ -10815,7 +10889,7 @@ var VxeCascaderComponent = defineVxeComponent({
10815
10889
  const childRowList = [];
10816
10890
  XEUtils.eachTree(afterTreeList, (node) => {
10817
10891
  const nodeid = getNodeId(node);
10818
- const childList = node[childrenField];
10892
+ const childList = node[transform ? mapChildrenField : childrenField];
10819
10893
  if (childList && childList.length && !childRowMaps[nodeid]) {
10820
10894
  childRowMaps[nodeid] = 1;
10821
10895
  childRowList.unshift([node, nodeid, childList]);
@@ -10919,7 +10993,7 @@ var VxeCascaderComponent = defineVxeComponent({
10919
10993
  const treeOpts = computeTreeOpts.value;
10920
10994
  const { transform } = treeOpts;
10921
10995
  const nodeid = getNodeId(node);
10922
- const childList = node[childrenField];
10996
+ const childList = node[transform ? mapChildrenField : childrenField];
10923
10997
  const isExistChild = childList && childList.length > 0;
10924
10998
  const nodeItem = nodeMaps[nodeid] || {};
10925
10999
  const nLevel = nodeItem.level;
@@ -11165,11 +11239,12 @@ var VxeCascaderComponent = defineVxeComponent({
11165
11239
  const { currentNode, selectRadioKey, updateCheckboxFlag, updateExpandedFlag } = reactData;
11166
11240
  const { nodeMaps, selectCheckboxMaps, indeterminateRowMaps, treeExpandedMaps, treeExpandLazyLoadedMaps } = internalData;
11167
11241
  const treeOpts = computeTreeOpts.value;
11168
- const { lazy, iconLoaded, iconOpen, iconClose } = treeOpts;
11242
+ const { lazy, transform, iconLoaded, iconOpen, iconClose } = treeOpts;
11169
11243
  const childrenField = computeChildrenField.value;
11244
+ const mapChildrenField = computeMapChildrenField.value;
11170
11245
  const labelField = computeLabelField.value;
11171
11246
  const hasChildField = computeHasChildField.value;
11172
- const childList = node[childrenField];
11247
+ const childList = node[transform ? mapChildrenField : childrenField];
11173
11248
  const isExistChild = childList && childList.length > 0;
11174
11249
  const iconSlot = slots.icon;
11175
11250
  const titleSlot = slots.title;
@@ -11351,7 +11426,7 @@ var VxeCascaderComponent = defineVxeComponent({
11351
11426
  h('div', {
11352
11427
  class: 'vxe-tree-select--header-button'
11353
11428
  }, [
11354
- showCheckedButton && showClearButton
11429
+ (showCheckedButton && multiple) || showClearButton
11355
11430
  ? h('div', {
11356
11431
  class: 'vxe-tree-select--selected-btns'
11357
11432
  }, [
@@ -11402,7 +11477,7 @@ var VxeCascaderComponent = defineVxeComponent({
11402
11477
  })
11403
11478
  ])
11404
11479
  ]),
11405
- footerSlot || showTotalButton || (showCloseButton && multiple)
11480
+ footerSlot || showTotalButton || showCloseButton
11406
11481
  ? h('div', {
11407
11482
  class: 'vxe-cascader--panel-footer'
11408
11483
  }, footerSlot
@@ -11416,7 +11491,7 @@ var VxeCascaderComponent = defineVxeComponent({
11416
11491
  class: 'vxe-cascader--total-btns'
11417
11492
  }, getI18n$2('vxe.treeSelect.total', [selectVals.length]))
11418
11493
  : renderEmptyElement($xeCascader),
11419
- showCloseButton && multiple
11494
+ showCloseButton
11420
11495
  ? h('div', {
11421
11496
  class: 'vxe-cascader--oper-btns'
11422
11497
  }, [
@@ -11458,9 +11533,6 @@ var VxeCascaderComponent = defineVxeComponent({
11458
11533
  });
11459
11534
  loadData(props.options || []);
11460
11535
  onMounted(() => {
11461
- if (props.filterable) {
11462
- errLog('vxe.error.notProp', ['filterable']);
11463
- }
11464
11536
  globalEvents.on($xeCascader, 'mousewheel', handleGlobalMousewheelEvent);
11465
11537
  globalEvents.on($xeCascader, 'mousedown', handleGlobalMousedownEvent);
11466
11538
  globalEvents.on($xeCascader, 'blur', handleGlobalBlurEvent);
@@ -11471,7 +11543,7 @@ var VxeCascaderComponent = defineVxeComponent({
11471
11543
  globalEvents.off($xeCascader, 'mousedown');
11472
11544
  globalEvents.off($xeCascader, 'blur');
11473
11545
  globalEvents.off($xeCascader, 'resize');
11474
- XEUtils.assign(internalData, createInternalData$b());
11546
+ XEUtils.assign(internalData, createInternalData$c());
11475
11547
  });
11476
11548
  provide('$xeCascader', $xeCascader);
11477
11549
  $xeCascader.renderVN = renderVN;
@@ -11804,7 +11876,10 @@ dynamicApp.use(VxeCheckboxButton);
11804
11876
  VxeUI.component(VxeCheckboxButtonComponent);
11805
11877
  const CheckboxButton = VxeCheckboxButton;
11806
11878
 
11807
- function createInternalData$a() {
11879
+ function createReactData$c() {
11880
+ return {};
11881
+ }
11882
+ function createInternalData$b() {
11808
11883
  return {
11809
11884
  // isLoaded: false
11810
11885
  };
@@ -11843,8 +11918,8 @@ var VxeCheckboxGroupComponent = defineVxeComponent({
11843
11918
  const $xeForm = inject('$xeForm', null);
11844
11919
  const formItemInfo = inject('xeFormItemInfo', null);
11845
11920
  const xID = XEUtils.uniqueId();
11846
- const reactData = reactive({});
11847
- const internalData = createInternalData$a();
11921
+ const reactData = reactive(createReactData$c());
11922
+ const internalData = createInternalData$b();
11848
11923
  const computeIsReadonly = computed(() => {
11849
11924
  const { readonly } = props;
11850
11925
  if (readonly === null) {
@@ -12003,7 +12078,8 @@ var VxeCheckboxGroupComponent = defineVxeComponent({
12003
12078
  });
12004
12079
  });
12005
12080
  onUnmounted(() => {
12006
- XEUtils.assign(internalData, createInternalData$a());
12081
+ XEUtils.assign(reactData, createReactData$c());
12082
+ XEUtils.assign(internalData, createInternalData$b());
12007
12083
  });
12008
12084
  provide('$xeCheckboxGroup', $xeCheckboxGroup);
12009
12085
  $xeCheckboxGroup.renderVN = renderVN;
@@ -14745,12 +14821,12 @@ dynamicApp.use(VxeColorPicker);
14745
14821
  VxeUI.component(VxeColorPickerComponent);
14746
14822
  const ColorPicker = VxeColorPicker;
14747
14823
 
14748
- function createInternalData$9() {
14824
+ function createInternalData$a() {
14749
14825
  return {
14750
14826
  // leaveTime: null
14751
14827
  };
14752
14828
  }
14753
- function createReactData$7() {
14829
+ function createReactData$b() {
14754
14830
  return {
14755
14831
  visible: false,
14756
14832
  activeOption: null,
@@ -14805,8 +14881,8 @@ var VxeContextMenuComponent = defineVxeComponent({
14805
14881
  const xID = XEUtils.uniqueId();
14806
14882
  const refElem = ref();
14807
14883
  const { computeSize } = useSize(props);
14808
- const internalData = createInternalData$9();
14809
- const reactData = reactive(createReactData$7());
14884
+ const internalData = createInternalData$a();
14885
+ const reactData = reactive(createReactData$b());
14810
14886
  const refMaps = {
14811
14887
  refElem
14812
14888
  };
@@ -15361,8 +15437,8 @@ var VxeContextMenuComponent = defineVxeComponent({
15361
15437
  globalEvents.off($xeContextMenu, 'keydown');
15362
15438
  globalEvents.off($xeContextMenu, 'mousedown');
15363
15439
  globalEvents.off($xeContextMenu, 'blur');
15364
- XEUtils.assign(reactData, createReactData$7());
15365
- XEUtils.assign(internalData, createInternalData$9());
15440
+ XEUtils.assign(reactData, createReactData$b());
15441
+ XEUtils.assign(internalData, createInternalData$a());
15366
15442
  });
15367
15443
  $xeContextMenu.renderVN = renderVN;
15368
15444
  return $xeContextMenu;
@@ -17620,6 +17696,33 @@ dynamicApp.use(VxeDatePanel);
17620
17696
  VxeUI.component(VxeDatePanelComponent);
17621
17697
  const DatePanel = VxeDatePanel;
17622
17698
 
17699
+ const { warnLog: warnLog$8, errLog: errLog$e } = createComponentLog('date-picker');
17700
+ const maskedTypes = ['year', 'month', 'date', 'datetime', 'time'];
17701
+ const inputMaskedKeys = ['y', 'M', 'd', 'H', 'm', 'n', 's'];
17702
+ const parseInputKayMaps = {};
17703
+ inputMaskedKeys.forEach(key => {
17704
+ parseInputKayMaps[key] = true;
17705
+ });
17706
+ function createReactData$a() {
17707
+ return {
17708
+ initialized: false,
17709
+ panelIndex: 0,
17710
+ visiblePanel: false,
17711
+ isAniVisible: false,
17712
+ panelStyle: {},
17713
+ panelPlacement: '',
17714
+ isActivated: false,
17715
+ inputValue: '',
17716
+ labelFlag: 0
17717
+ };
17718
+ }
17719
+ function createInternalData$9() {
17720
+ return {
17721
+ // hpTimeout: undefined,
17722
+ inputLabel: '',
17723
+ laseFocusMasked: 0
17724
+ };
17725
+ }
17623
17726
  var VxeDatePickerComponent = defineVxeComponent({
17624
17727
  name: 'VxeDatePicker',
17625
17728
  props: {
@@ -17682,7 +17785,6 @@ var VxeDatePickerComponent = defineVxeComponent({
17682
17785
  labelFormat: String,
17683
17786
  valueFormat: String,
17684
17787
  timeFormat: String,
17685
- inputFormat: String,
17686
17788
  editable: {
17687
17789
  type: Boolean,
17688
17790
  default: true
@@ -17712,7 +17814,7 @@ var VxeDatePickerComponent = defineVxeComponent({
17712
17814
  type: Boolean,
17713
17815
  default: () => getConfig$3().datePicker.autoClose
17714
17816
  },
17715
- controlConfig: Object,
17817
+ maskedConfig: Object,
17716
17818
  prefixIcon: String,
17717
17819
  suffixIcon: String,
17718
17820
  placement: String,
@@ -17753,21 +17855,8 @@ var VxeDatePickerComponent = defineVxeComponent({
17753
17855
  const formItemInfo = inject('xeFormItemInfo', null);
17754
17856
  const xID = XEUtils.uniqueId();
17755
17857
  const { computeSize } = useSize(props);
17756
- const reactData = reactive({
17757
- initialized: false,
17758
- panelIndex: 0,
17759
- visiblePanel: false,
17760
- isAniVisible: false,
17761
- panelStyle: {},
17762
- panelPlacement: '',
17763
- isActivated: false,
17764
- inputValue: '',
17765
- inputLabel: ''
17766
- });
17767
- const internalData = {
17768
- // hpTimeout: undefined,
17769
- parseInputKayMaps: {}
17770
- };
17858
+ const reactData = reactive(createReactData$a());
17859
+ const internalData = createInternalData$9();
17771
17860
  const refElem = ref();
17772
17861
  const refInputTarget = ref();
17773
17862
  const refInputPanel = ref();
@@ -17833,6 +17922,44 @@ var VxeDatePickerComponent = defineVxeComponent({
17833
17922
  const computeIsClearable = computed(() => {
17834
17923
  return props.clearable;
17835
17924
  });
17925
+ const computeIsDatePanelType = computed(() => {
17926
+ const isDateTimeType = computeIsDateTimeType.value;
17927
+ return isDateTimeType || ['date', 'week', 'month', 'quarter', 'year'].indexOf(props.type) > -1;
17928
+ });
17929
+ const computeDateListValue = computed(() => {
17930
+ const { modelValue, type, multiple } = props;
17931
+ const isDatePanelType = computeIsDatePanelType.value;
17932
+ const dateValueFormat = computeDateValueFormat.value;
17933
+ if (multiple && modelValue && isDatePanelType) {
17934
+ return XEUtils.toValueString(modelValue).split(',').map(item => {
17935
+ const date = parseDateValue(item, type, {
17936
+ valueFormat: dateValueFormat
17937
+ });
17938
+ if (XEUtils.isValidDate(date)) {
17939
+ return date;
17940
+ }
17941
+ return date;
17942
+ });
17943
+ }
17944
+ return [];
17945
+ });
17946
+ const computeLimitMaxCount = computed(() => {
17947
+ return props.multiple ? XEUtils.toNumber(props.limitCount) : 0;
17948
+ });
17949
+ const computeDateMultipleValue = computed(() => {
17950
+ const dateListValue = computeDateListValue.value;
17951
+ const dateValueFormat = computeDateValueFormat.value;
17952
+ return dateListValue.map(date => XEUtils.toDateString(date, dateValueFormat));
17953
+ });
17954
+ const computeOverCount = computed(() => {
17955
+ const { multiple } = props;
17956
+ const limitMaxCount = computeLimitMaxCount.value;
17957
+ const dateMultipleValue = computeDateMultipleValue.value;
17958
+ if (multiple && limitMaxCount) {
17959
+ return dateMultipleValue.length >= limitMaxCount;
17960
+ }
17961
+ return false;
17962
+ });
17836
17963
  const computeInputReadonly = computed(() => {
17837
17964
  const { type, editable, multiple } = props;
17838
17965
  const formReadonly = computeFormReadonly.value;
@@ -17882,9 +18009,9 @@ var VxeDatePickerComponent = defineVxeComponent({
17882
18009
  const { type, valueFormat } = props;
17883
18010
  return handleValueFormat(type, valueFormat);
17884
18011
  });
17885
- const computeDateInputFormat = computed(() => {
17886
- const { type, inputFormat } = props;
17887
- return handleInputFormat(type, inputFormat);
18012
+ const computeDateMaskedFormat = computed(() => {
18013
+ const dateLabelFormat = computeDateLabelFormat.value;
18014
+ return dateLabelFormat;
17888
18015
  });
17889
18016
  const computeFirstDayOfWeek = computed(() => {
17890
18017
  const { startDay } = props;
@@ -17906,8 +18033,13 @@ var VxeDatePickerComponent = defineVxeComponent({
17906
18033
  return dateObj.label;
17907
18034
  }).join(', ');
17908
18035
  });
17909
- const computeControlOpts = computed(() => {
17910
- return Object.assign({}, getConfig$3().datePicker.controlConfig, props.controlConfig);
18036
+ const computeMaskedOpts = computed(() => {
18037
+ return Object.assign({}, getConfig$3().datePicker.maskedConfig, props.maskedConfig);
18038
+ });
18039
+ const computeMaskChar = computed(() => {
18040
+ const maskedOpts = computeMaskedOpts.value;
18041
+ const { maskPlaceholder } = maskedOpts;
18042
+ return (maskPlaceholder ? ('' + maskPlaceholder)[0] : '') || '*';
17911
18043
  });
17912
18044
  const updateModelValue = () => {
17913
18045
  const { modelValue } = props;
@@ -17922,6 +18054,12 @@ var VxeDatePickerComponent = defineVxeComponent({
17922
18054
  }
17923
18055
  reactData.inputValue = val;
17924
18056
  };
18057
+ const handleInputLabel = (text, isUpdate) => {
18058
+ internalData.inputLabel = text;
18059
+ if (isUpdate) {
18060
+ reactData.labelFlag++;
18061
+ }
18062
+ };
17925
18063
  const triggerEvent = (evnt) => {
17926
18064
  const { inputValue } = reactData;
17927
18065
  dispatchEvent(evnt.type, { value: inputValue }, evnt);
@@ -17967,7 +18105,7 @@ var VxeDatePickerComponent = defineVxeComponent({
17967
18105
  const inputEvent = (evnt) => {
17968
18106
  const inputElem = evnt.target;
17969
18107
  const value = inputElem.value;
17970
- reactData.inputLabel = value;
18108
+ handleInputLabel(value, true);
17971
18109
  dispatchEvent('input', { value }, evnt);
17972
18110
  };
17973
18111
  const changeEvent = (evnt) => {
@@ -17976,18 +18114,6 @@ var VxeDatePickerComponent = defineVxeComponent({
17976
18114
  triggerEvent(evnt);
17977
18115
  }
17978
18116
  };
17979
- const focusEvent = (evnt) => {
17980
- const popupOpts = computePopupOpts.value;
17981
- const { trigger } = popupOpts;
17982
- reactData.isActivated = true;
17983
- if (!trigger || trigger === 'default') {
17984
- datePickerOpenEvent(evnt);
17985
- }
17986
- else if (trigger === 'icon') {
17987
- hidePanel();
17988
- }
17989
- triggerEvent(evnt);
17990
- };
17991
18117
  const clickPrefixEvent = (evnt) => {
17992
18118
  const isDisabled = computeIsDisabled.value;
17993
18119
  if (!isDisabled) {
@@ -18004,6 +18130,107 @@ var VxeDatePickerComponent = defineVxeComponent({
18004
18130
  }, 350);
18005
18131
  });
18006
18132
  };
18133
+ const dateChange = (date, isReload) => {
18134
+ const { modelValue, multiple } = props;
18135
+ const isDateTimeType = computeIsDateTimeType.value;
18136
+ const dateValueFormat = computeDateValueFormat.value;
18137
+ const firstDayOfWeek = computeFirstDayOfWeek.value;
18138
+ if (props.type === 'week') {
18139
+ const sWeek = XEUtils.toNumber(props.selectDay);
18140
+ date = XEUtils.getWhatWeek(date, 0, sWeek, firstDayOfWeek);
18141
+ }
18142
+ const inpVal = XEUtils.toDateString(date, dateValueFormat, { firstDay: firstDayOfWeek });
18143
+ if (multiple) {
18144
+ const overCount = computeOverCount.value;
18145
+ // 如果为多选
18146
+ if (isDateTimeType) {
18147
+ // 如果是datetime特殊类型
18148
+ const dateListValue = [...computeDateListValue.value];
18149
+ const datetimeRest = [];
18150
+ const eqIndex = XEUtils.findIndexOf(dateListValue, val => XEUtils.isDateSame(date, val, 'yyyyMMdd'));
18151
+ if (eqIndex === -1) {
18152
+ if (overCount) {
18153
+ // 如果超出最大多选数量
18154
+ return;
18155
+ }
18156
+ dateListValue.push(date);
18157
+ }
18158
+ else {
18159
+ dateListValue.splice(eqIndex, 1);
18160
+ }
18161
+ dateListValue.forEach(item => {
18162
+ if (item) {
18163
+ datetimeRest.push(item);
18164
+ }
18165
+ });
18166
+ handleChange(datetimeRest.map(date => XEUtils.toDateString(date, dateValueFormat)).join(','), { type: 'update' });
18167
+ }
18168
+ else {
18169
+ const dateMultipleValue = computeDateMultipleValue.value;
18170
+ // 如果是日期类型
18171
+ if (dateMultipleValue.some(val => XEUtils.isEqual(val, inpVal))) {
18172
+ handleChange(dateMultipleValue.filter(val => !XEUtils.isEqual(val, inpVal)).join(','), { type: 'update' });
18173
+ }
18174
+ else {
18175
+ if (overCount) {
18176
+ // 如果超出最大多选数量
18177
+ return;
18178
+ }
18179
+ handleChange(dateMultipleValue.concat([inpVal]).join(','), { type: 'update' });
18180
+ }
18181
+ }
18182
+ }
18183
+ else {
18184
+ // 如果为单选
18185
+ if (!XEUtils.isEqual(modelValue, inpVal)) {
18186
+ handleChange(inpVal, { type: 'update' });
18187
+ }
18188
+ }
18189
+ };
18190
+ const dateRevert = () => {
18191
+ const panelLabel = computePanelLabel.value;
18192
+ handleInputLabel(panelLabel, true);
18193
+ };
18194
+ const afterCheckValue = (inpVal) => {
18195
+ const { type } = props;
18196
+ const { inputLabel } = internalData;
18197
+ const dateLabelFormat = computeDateLabelFormat.value;
18198
+ if (!inpVal) {
18199
+ handleChange('', { type: 'check' });
18200
+ return;
18201
+ }
18202
+ let inpDateVal = parseDateValue(inpVal, type, {
18203
+ valueFormat: dateLabelFormat
18204
+ });
18205
+ if (!XEUtils.isValidDate(inpDateVal)) {
18206
+ dateRevert();
18207
+ return;
18208
+ }
18209
+ if (type === 'time') {
18210
+ inpDateVal = XEUtils.toDateString(inpDateVal, dateLabelFormat);
18211
+ if (inputLabel !== inpDateVal) {
18212
+ handleChange(inpDateVal, { type: 'check' });
18213
+ }
18214
+ handleInputLabel(inpDateVal, true);
18215
+ return;
18216
+ }
18217
+ let isChange = false;
18218
+ const firstDayOfWeek = computeFirstDayOfWeek.value;
18219
+ if (type === 'datetime') {
18220
+ const dateValue = reactData.inputValue;
18221
+ if (inpVal !== XEUtils.toDateString(dateValue, dateLabelFormat) || inpVal !== XEUtils.toDateString(inpDateVal, dateLabelFormat)) {
18222
+ isChange = true;
18223
+ }
18224
+ }
18225
+ else {
18226
+ isChange = true;
18227
+ }
18228
+ const label = XEUtils.toDateString(inpDateVal, dateLabelFormat, { firstDay: firstDayOfWeek });
18229
+ handleInputLabel(label, true);
18230
+ if (isChange) {
18231
+ dateChange(inpDateVal);
18232
+ }
18233
+ };
18007
18234
  const clearValueEvent = (evnt, value) => {
18008
18235
  const isDatePickerType = computeIsDatePickerType.value;
18009
18236
  if (isDatePickerType) {
@@ -18019,29 +18246,296 @@ var VxeDatePickerComponent = defineVxeComponent({
18019
18246
  dispatchEvent('suffix-click', { value: inputValue }, evnt);
18020
18247
  }
18021
18248
  };
18022
- const handleArrowInputDate = (evnt, isUpArrow) => {
18249
+ const handleArrowInputDate = (evnt, isUpArrow, isDwArrow, isLtArrow, isRtArrow) => {
18250
+ const { type, multiple } = props;
18251
+ if (multiple) {
18252
+ return;
18253
+ }
18254
+ const targetElem = refInputTarget.value;
18255
+ if (!targetElem) {
18256
+ return;
18257
+ }
18258
+ const inpValue = targetElem.value;
18259
+ if (!inpValue) {
18260
+ return;
18261
+ }
18262
+ const dateMaskedFormat = computeDateMaskedFormat.value;
18263
+ const dateLabelFormat = computeDateLabelFormat.value;
18264
+ const firstDayOfWeek = computeFirstDayOfWeek.value;
18265
+ const maskChar = computeMaskChar.value;
18266
+ const selectionStart = targetElem.selectionStart || 0;
18267
+ let selectKey = dateMaskedFormat[selectionStart];
18268
+ if (!parseInputKayMaps[selectKey]) {
18269
+ selectKey = dateMaskedFormat[selectionStart - 1];
18270
+ }
18271
+ const skRest = dateMaskedFormat.match(new RegExp(selectKey + '+'));
18272
+ if (!skRest) {
18273
+ return;
18274
+ }
18275
+ if (isUpArrow || isDwArrow) {
18276
+ const chunkFormat = skRest[0] || '';
18277
+ const chunkStartIndex = skRest.index || 0;
18278
+ const chunkEndIndex = chunkStartIndex + chunkFormat.length;
18279
+ const chunkValue = inpValue.slice(chunkStartIndex, chunkEndIndex);
18280
+ if (parseInputKayMaps[selectKey]) {
18281
+ const chunkNum = (isAllSameChar(chunkValue, maskChar) ? getChunkDefaultNum(selectKey) : XEUtils.toNumber(chunkValue)) + (isUpArrow ? 1 : -1);
18282
+ const restValue = inpValue.slice(0, chunkStartIndex) + XEUtils.padStart(chunkNum, chunkFormat.length, '0') + inpValue.slice(chunkEndIndex);
18283
+ evnt.preventDefault();
18284
+ if (restValue.indexOf(maskChar) === -1) {
18285
+ // 解析日期
18286
+ const inpDateVal = parseDateValue(restValue, type, {
18287
+ valueFormat: dateLabelFormat
18288
+ });
18289
+ if (XEUtils.isValidDate(inpDateVal)) {
18290
+ const label = XEUtils.toDateString(inpDateVal, dateLabelFormat, { firstDay: firstDayOfWeek });
18291
+ targetElem.value = label;
18292
+ handleInputLabel(label, false);
18293
+ }
18294
+ }
18295
+ else {
18296
+ targetElem.value = restValue;
18297
+ handleInputLabel(restValue, false);
18298
+ }
18299
+ }
18300
+ targetElem.setSelectionRange(chunkStartIndex, chunkEndIndex);
18301
+ }
18302
+ else if (isLtArrow || isRtArrow) {
18303
+ const currKeyIndex = inputMaskedKeys.indexOf(selectKey);
18304
+ if (currKeyIndex > -1) {
18305
+ const allMaskedKeys = XEUtils.map(dateMaskedFormat.match(new RegExp(`(${inputMaskedKeys.join('|')})+`, 'g')) || [], fullKey => fullKey[0]);
18306
+ const currIndex = XEUtils.findIndexOf(allMaskedKeys, key => selectKey === key[0]);
18307
+ const targetFormatKey = isLtArrow ? (allMaskedKeys[currIndex - 1] || allMaskedKeys[0]) : (allMaskedKeys[currIndex + 1] || allMaskedKeys[allMaskedKeys.length - 1]);
18308
+ const targetKey = targetFormatKey ? targetFormatKey[0] : '';
18309
+ const sktRest = dateMaskedFormat.match(new RegExp(targetKey + '+'));
18310
+ if (sktRest) {
18311
+ evnt.preventDefault();
18312
+ const mtStartIndex = sktRest.index || 0;
18313
+ const mtEndIndex = mtStartIndex + sktRest[0].length;
18314
+ targetElem.setSelectionRange(mtStartIndex, mtEndIndex);
18315
+ }
18316
+ }
18317
+ }
18318
+ internalData.isTriggerMasked = true;
18319
+ };
18320
+ const handleMaskedInputDate = (evnt) => {
18023
18321
  const { multiple } = props;
18024
18322
  if (multiple) {
18025
18323
  return;
18026
18324
  }
18027
- const { inputValue } = reactData;
18028
- if (!inputValue) {
18325
+ const targetElem = refInputTarget.value;
18326
+ if (!targetElem) {
18327
+ return;
18328
+ }
18329
+ const isControlKey = hasControlKey(evnt);
18330
+ if (isControlKey) {
18331
+ return;
18332
+ }
18333
+ evnt.preventDefault();
18334
+ const eKey = evnt.key;
18335
+ const isDeleleKey = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.DELETE);
18336
+ const isBackspaceKey = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.BACKSPACE);
18337
+ const isNumKey = eKey >= '0' && eKey <= '9';
18338
+ const numKey = isNumKey ? evnt.key : '';
18339
+ if (!(isDeleleKey || isBackspaceKey || isNumKey)) {
18340
+ return;
18341
+ }
18342
+ const { isTriggerMasked } = internalData;
18343
+ const dateMaskedFormat = computeDateMaskedFormat.value;
18344
+ const maskChar = computeMaskChar.value;
18345
+ let inpValue = targetElem.value || dateMaskedFormat;
18346
+ const selectionStart = targetElem.selectionStart || 0;
18347
+ const selectionEnd = targetElem.selectionEnd || 0;
18348
+ let selectKey = dateMaskedFormat[selectionStart];
18349
+ if (!parseInputKayMaps[selectKey]) {
18350
+ selectKey = dateMaskedFormat[selectionStart - 1];
18351
+ }
18352
+ const skRest = dateMaskedFormat.match(new RegExp(selectKey + '+'));
18353
+ if (!skRest) {
18354
+ return;
18355
+ }
18356
+ const allMaskedKeys = XEUtils.map(dateMaskedFormat.match(new RegExp(`(${inputMaskedKeys.join('|')})+`, 'g')) || [], fullKey => fullKey[0]);
18357
+ const chunkFormat = skRest[0] || '';
18358
+ const chunkStartIndex = skRest.index || 0;
18359
+ const chunkEndIndex = chunkStartIndex + chunkFormat.length;
18360
+ const currKeyIndex = allMaskedKeys.indexOf(selectKey);
18361
+ // 全选 | 如果无效字符
18362
+ const isAllSelected = !selectionStart && selectionEnd === inpValue.length;
18363
+ const isNotMasked = inpValue && inpValue.length !== dateMaskedFormat.length;
18364
+ if (isAllSelected || isNotMasked) {
18365
+ inpValue = dateMaskedFormat;
18366
+ }
18367
+ let chunkValue = isDeleleKey ? '' : inpValue.slice(chunkStartIndex, chunkEndIndex);
18368
+ const chunkNums = (chunkValue.match(/\d/g) || []);
18369
+ const chunkNumList = isTriggerMasked && !isBackspaceKey ? [] : chunkNums.slice(0);
18370
+ if (isNumKey) {
18371
+ chunkNumList.push(numKey);
18372
+ }
18373
+ else if (isBackspaceKey) {
18374
+ chunkNumList.pop();
18375
+ }
18376
+ chunkValue = chunkNumList.join('').padEnd(chunkFormat.length, maskChar);
18377
+ let restValue = inpValue.slice(0, chunkStartIndex) + chunkValue + inpValue.slice(chunkEndIndex);
18378
+ restValue = restValue.replace(new RegExp(`(${inputMaskedKeys.join('|')})`, 'g'), maskChar);
18379
+ targetElem.value = restValue;
18380
+ handleInputLabel(restValue, false);
18381
+ // 如果是全选/删除
18382
+ if (isAllSelected) {
18383
+ if (isBackspaceKey || isDeleleKey) {
18384
+ const firstMaskedKeys = allMaskedKeys[0];
18385
+ const firstSkRest = dateMaskedFormat.match(new RegExp(`${firstMaskedKeys}+`));
18386
+ if (firstSkRest) {
18387
+ const firstChunkFormat = firstSkRest[0];
18388
+ targetElem.setSelectionRange(0, firstChunkFormat.length);
18389
+ internalData.isTriggerMasked = true;
18390
+ return;
18391
+ }
18392
+ }
18393
+ }
18394
+ else {
18395
+ if (isBackspaceKey && !chunkNums.length) {
18396
+ // 回退到上一个数字块
18397
+ for (let i = currKeyIndex - 1; i >= 0; i--) {
18398
+ const prveChunkKey = allMaskedKeys[i];
18399
+ const prveSkRest = dateMaskedFormat.match(new RegExp(`${prveChunkKey}+`));
18400
+ if (prveSkRest) {
18401
+ const prveChunkFormat = prveSkRest[0];
18402
+ const prveChunkStartIndex = prveSkRest.index || 0;
18403
+ const prveChunkEndIndex = prveChunkStartIndex + prveChunkFormat.length;
18404
+ let prveChunkValue = restValue.slice(prveChunkStartIndex, prveChunkEndIndex);
18405
+ const prveChunkNums = (prveChunkValue.match(/\d/g) || []);
18406
+ if (prveChunkNums.length) {
18407
+ prveChunkNums.pop();
18408
+ prveChunkValue = prveChunkNums.join('').padEnd(prveChunkFormat.length, maskChar);
18409
+ restValue = restValue.slice(0, prveChunkStartIndex) + prveChunkValue + restValue.slice(prveChunkEndIndex);
18410
+ targetElem.value = restValue;
18411
+ handleInputLabel(restValue, false);
18412
+ targetElem.setSelectionRange(prveChunkStartIndex, prveChunkEndIndex);
18413
+ return;
18414
+ }
18415
+ }
18416
+ }
18417
+ const firstMaskedKeys = allMaskedKeys[0];
18418
+ const firstSkRest = dateMaskedFormat.match(new RegExp(`${firstMaskedKeys}+`));
18419
+ if (firstSkRest) {
18420
+ const firstChunkFormat = firstSkRest[0];
18421
+ restValue = dateMaskedFormat.replace(new RegExp(`(${inputMaskedKeys.join('|')})`, 'g'), maskChar);
18422
+ targetElem.value = restValue;
18423
+ handleInputLabel(restValue, false);
18424
+ targetElem.setSelectionRange(0, firstChunkFormat.length);
18425
+ internalData.isTriggerMasked = true;
18426
+ return;
18427
+ }
18428
+ return;
18429
+ }
18430
+ }
18431
+ let maskStartIndex = skRest.index || 0;
18432
+ let maskEndIndex = maskStartIndex + skRest[0].length;
18433
+ // 如果输入完成,跳转下一个
18434
+ if (chunkNumList.length >= chunkValue.length) {
18435
+ const nextKeys = allMaskedKeys.slice(currKeyIndex + 1);
18436
+ if (currKeyIndex > -1) {
18437
+ const nextRest = nextKeys.length ? dateMaskedFormat.match(new RegExp(`(${nextKeys.join('|')})+`)) : null;
18438
+ // 如果当前数字块已输入,则跳转下一个数字块
18439
+ if (nextRest) {
18440
+ maskStartIndex = nextRest.index || 0;
18441
+ maskEndIndex = maskStartIndex + nextRest[0].length;
18442
+ targetElem.setSelectionRange(maskStartIndex, maskEndIndex);
18443
+ }
18444
+ else {
18445
+ targetElem.setSelectionRange(maskStartIndex, maskEndIndex);
18446
+ }
18447
+ }
18448
+ internalData.isTriggerMasked = true;
18449
+ return;
18450
+ }
18451
+ targetElem.setSelectionRange(maskStartIndex, maskEndIndex);
18452
+ internalData.isTriggerMasked = false;
18453
+ };
18454
+ const handleMaskedSelectedDate = (evnt, isFocus) => {
18455
+ const { type, multiple, modelValue } = props;
18456
+ if (multiple) {
18457
+ return;
18458
+ }
18459
+ if (!maskedTypes.includes(type)) {
18029
18460
  return;
18030
18461
  }
18031
18462
  const targetElem = refInputTarget.value;
18032
18463
  if (!targetElem) {
18033
18464
  return;
18034
18465
  }
18035
- const { parseInputKayMaps } = internalData;
18036
- const inputFormat = computeDateInputFormat.value;
18466
+ const { laseFocusMasked } = internalData;
18467
+ if (laseFocusMasked && Date.now() - laseFocusMasked < 100) {
18468
+ return;
18469
+ }
18470
+ const dateMaskedFormat = computeDateMaskedFormat.value;
18471
+ const maskChar = computeMaskChar.value;
18037
18472
  const selectionStart = targetElem.selectionStart || 0;
18038
- let selectKey = inputFormat[selectionStart];
18473
+ const selectionEnd = targetElem.selectionEnd || 0;
18474
+ const inpValue = targetElem.value;
18475
+ const allMaskedKeys = XEUtils.map(dateMaskedFormat.match(new RegExp(`(${inputMaskedKeys.join('|')})+`, 'g')) || [], fullKey => fullKey[0]);
18476
+ // 如果为空
18477
+ if (!inpValue) {
18478
+ let restValue = dateMaskedFormat.replace(new RegExp(`(${inputMaskedKeys.join('|')})`, 'g'), maskChar);
18479
+ // 还原值
18480
+ if (isFocus && modelValue) {
18481
+ const chunkNums = (('' + XEUtils.toNumber(modelValue)).match(/\d/g) || []);
18482
+ let useNumIndex = 0;
18483
+ restValue = dateMaskedFormat.replace(new RegExp(`(${inputMaskedKeys.join('|')})`, 'g'), (txt) => chunkNums[useNumIndex++] || txt);
18484
+ }
18485
+ const firstMaskedKeys = allMaskedKeys[0];
18486
+ const firstSkRest = dateMaskedFormat.match(new RegExp(`${firstMaskedKeys}+`));
18487
+ if (firstSkRest) {
18488
+ evnt.preventDefault();
18489
+ const firstChunkFormat = firstSkRest[0];
18490
+ targetElem.value = restValue;
18491
+ handleInputLabel(restValue, false);
18492
+ targetElem.setSelectionRange(0, firstChunkFormat.length);
18493
+ internalData.laseFocusMasked = Date.now();
18494
+ return;
18495
+ }
18496
+ }
18497
+ // 全选 | 如果无效字符
18498
+ const isAllSelected = !selectionStart && selectionEnd === inpValue.length;
18499
+ const isNotMasked = inpValue && inpValue.length !== dateMaskedFormat.length;
18500
+ if (isAllSelected || isNotMasked) {
18501
+ let restValue = '';
18502
+ // 还原值
18503
+ if (isNotMasked && inpValue) {
18504
+ const chunkNums = inpValue.match(/\d/g) || [];
18505
+ let useNumIndex = 0;
18506
+ restValue = dateMaskedFormat.replace(new RegExp(`(${inputMaskedKeys.join('|')})`, 'g'), () => chunkNums[useNumIndex++] || maskChar);
18507
+ }
18508
+ else {
18509
+ dateMaskedFormat.replace(new RegExp(`(${inputMaskedKeys.join('|')})`, 'g'), maskChar);
18510
+ }
18511
+ const firstMaskedKeys = allMaskedKeys[0];
18512
+ const firstSkRest = dateMaskedFormat.match(new RegExp(`${firstMaskedKeys}+`));
18513
+ if (firstSkRest) {
18514
+ evnt.preventDefault();
18515
+ const firstChunkFormat = firstSkRest[0];
18516
+ targetElem.value = restValue;
18517
+ handleInputLabel(restValue, false);
18518
+ targetElem.setSelectionRange(0, firstChunkFormat.length);
18519
+ internalData.laseFocusMasked = Date.now();
18520
+ return;
18521
+ }
18522
+ }
18523
+ // 是否选择数字块
18524
+ let selectKey = dateMaskedFormat[selectionStart];
18039
18525
  if (!parseInputKayMaps[selectKey]) {
18040
- selectKey = inputFormat[selectionStart - 1];
18526
+ selectKey = dateMaskedFormat[selectionStart - 1];
18041
18527
  }
18042
- const inputPaesrFn = parseInputKayMaps[selectKey];
18043
- if (inputPaesrFn) {
18044
- inputPaesrFn(evnt, targetElem, isUpArrow);
18528
+ if (selectKey) {
18529
+ evnt.preventDefault();
18530
+ const skRest = dateMaskedFormat.match(new RegExp(selectKey + '+'));
18531
+ if (skRest) {
18532
+ const chunkFormat = skRest[0] || '';
18533
+ const chunkStartIndex = skRest.index || 0;
18534
+ const chunkEndIndex = chunkStartIndex + chunkFormat.length;
18535
+ targetElem.setSelectionRange(chunkStartIndex, chunkEndIndex);
18536
+ internalData.isTriggerMasked = true;
18537
+ internalData.laseFocusMasked = Date.now();
18538
+ }
18045
18539
  }
18046
18540
  };
18047
18541
  const blurEvent = (evnt) => {
@@ -18053,10 +18547,14 @@ var VxeDatePickerComponent = defineVxeComponent({
18053
18547
  handleChange(value, evnt);
18054
18548
  }
18055
18549
  if (!reactData.visiblePanel) {
18550
+ const { inputLabel } = internalData;
18056
18551
  reactData.isActivated = false;
18057
18552
  // 未打开面板时才校验
18058
18553
  if ($datePanel) {
18059
- $datePanel.checkValue(reactData.inputLabel);
18554
+ $datePanel.checkValue(inputLabel);
18555
+ }
18556
+ else {
18557
+ afterCheckValue(inputLabel);
18060
18558
  }
18061
18559
  }
18062
18560
  dispatchEvent('blur', { value }, evnt);
@@ -18065,13 +18563,80 @@ var VxeDatePickerComponent = defineVxeComponent({
18065
18563
  $xeForm.triggerItemEvent(evnt, formItemInfo.itemConfig.field, value);
18066
18564
  }
18067
18565
  };
18566
+ const focusEvent = (evnt) => {
18567
+ const { multiple, editable, maskedConfig } = props;
18568
+ const maskedOpts = computeMaskedOpts.value;
18569
+ const popupOpts = computePopupOpts.value;
18570
+ const { trigger } = popupOpts;
18571
+ reactData.isActivated = true;
18572
+ if (!trigger || trigger === 'default') {
18573
+ datePickerOpenEvent(evnt);
18574
+ setTimeout(() => {
18575
+ if (editable && !multiple && (isEnableConf(maskedConfig) || maskedOpts.enabled)) {
18576
+ handleMaskedSelectedDate(evnt, true);
18577
+ }
18578
+ }, 15);
18579
+ }
18580
+ else if (trigger === 'icon') {
18581
+ hidePanel();
18582
+ setTimeout(() => {
18583
+ if (editable && !multiple && (isEnableConf(maskedConfig) || maskedOpts.enabled)) {
18584
+ handleMaskedSelectedDate(evnt, true);
18585
+ }
18586
+ }, 15);
18587
+ }
18588
+ else {
18589
+ if (editable && !multiple && (isEnableConf(maskedConfig) || maskedOpts.enabled)) {
18590
+ handleMaskedSelectedDate(evnt, true);
18591
+ }
18592
+ }
18593
+ triggerEvent(evnt);
18594
+ };
18595
+ const clickEvent = (evnt) => {
18596
+ const { editable, maskedConfig } = props;
18597
+ const maskedOpts = computeMaskedOpts.value;
18598
+ if (editable && (isEnableConf(maskedConfig) || maskedOpts.enabled)) {
18599
+ handleMaskedSelectedDate(evnt);
18600
+ }
18601
+ triggerEvent(evnt);
18602
+ };
18068
18603
  const keydownEvent = (evnt) => {
18069
- const { controlConfig } = props;
18070
- const controlOpts = computeControlOpts.value;
18604
+ const { type, editable, maskedConfig } = props;
18605
+ const { visiblePanel } = reactData;
18606
+ const maskedOpts = computeMaskedOpts.value;
18071
18607
  const isUpArrow = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ARROW_UP);
18072
18608
  const isDwArrow = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ARROW_DOWN);
18073
- if ((isUpArrow || isDwArrow) && controlOpts.isArrow && (controlConfig || controlOpts.enabled)) {
18074
- handleArrowInputDate(evnt, isUpArrow);
18609
+ const isLtArrow = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ARROW_LEFT);
18610
+ const isRtArrow = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ARROW_RIGHT);
18611
+ const isEnter = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ENTER);
18612
+ if (editable) {
18613
+ if (isEnter) {
18614
+ const $datePanel = refDatePanel.value;
18615
+ const { inputLabel } = internalData;
18616
+ const targetElem = refInputTarget.value;
18617
+ if (visiblePanel) {
18618
+ hidePanel();
18619
+ }
18620
+ if ($datePanel) {
18621
+ $datePanel.checkValue(inputLabel);
18622
+ }
18623
+ else {
18624
+ afterCheckValue(inputLabel);
18625
+ }
18626
+ if (targetElem) {
18627
+ targetElem.blur();
18628
+ }
18629
+ }
18630
+ else if (maskedTypes.includes(type)) {
18631
+ if (isEnableConf(maskedConfig) || maskedOpts.enabled) {
18632
+ if (maskedOpts.isArrow && (isUpArrow || isDwArrow || isLtArrow || isRtArrow)) {
18633
+ handleArrowInputDate(evnt, isUpArrow, isDwArrow, isLtArrow, isRtArrow);
18634
+ }
18635
+ else if (maskedOpts.isMasked) {
18636
+ handleMaskedInputDate(evnt);
18637
+ }
18638
+ }
18639
+ }
18075
18640
  }
18076
18641
  triggerEvent(evnt);
18077
18642
  };
@@ -18100,7 +18665,7 @@ var VxeDatePickerComponent = defineVxeComponent({
18100
18665
  dispatchEvent('confirm', params, params.$event);
18101
18666
  };
18102
18667
  const panelRevertEvent = (params) => {
18103
- reactData.inputLabel = params.label;
18668
+ handleInputLabel(params.label, true);
18104
18669
  };
18105
18670
  // 全局事件
18106
18671
  const handleGlobalMousedownEvent = (evnt) => {
@@ -18110,25 +18675,34 @@ var VxeDatePickerComponent = defineVxeComponent({
18110
18675
  const panelWrapperElem = refPanelWrapper.value;
18111
18676
  const isDisabled = computeIsDisabled.value;
18112
18677
  if (!isDisabled && isActivated) {
18113
- reactData.isActivated = getEventTargetNode(evnt, el).flag || getEventTargetNode(evnt, panelWrapperElem).flag;
18114
- if (!reactData.isActivated) {
18678
+ const currActivated = getEventTargetNode(evnt, el).flag || getEventTargetNode(evnt, panelWrapperElem).flag;
18679
+ if (currActivated !== isActivated) {
18680
+ reactData.isActivated = currActivated;
18681
+ }
18682
+ if (!currActivated) {
18115
18683
  if (visiblePanel) {
18116
18684
  hidePanel();
18685
+ const { inputLabel } = internalData;
18117
18686
  if ($datePanel) {
18118
- $datePanel.checkValue(reactData.inputLabel);
18687
+ $datePanel.checkValue(inputLabel);
18688
+ }
18689
+ else {
18690
+ afterCheckValue(inputLabel);
18119
18691
  }
18120
18692
  }
18121
18693
  }
18122
18694
  }
18123
18695
  };
18124
18696
  const handleGlobalKeydownEvent = (evnt) => {
18125
- const { visiblePanel } = reactData;
18697
+ const { isActivated, visiblePanel } = reactData;
18126
18698
  const isDisabled = computeIsDisabled.value;
18127
18699
  if (!isDisabled) {
18128
18700
  const isTab = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.TAB);
18129
18701
  const isEsc = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ESCAPE);
18130
18702
  if (isTab) {
18131
- reactData.isActivated = false;
18703
+ if (isActivated) {
18704
+ reactData.isActivated = false;
18705
+ }
18132
18706
  }
18133
18707
  if (visiblePanel) {
18134
18708
  if (isEsc || isTab) {
@@ -18163,7 +18737,7 @@ var VxeDatePickerComponent = defineVxeComponent({
18163
18737
  }
18164
18738
  if (visiblePanel || isActivated) {
18165
18739
  if ($datePanel) {
18166
- $datePanel.checkValue(reactData.inputLabel);
18740
+ $datePanel.checkValue(internalData.inputLabel);
18167
18741
  }
18168
18742
  const targetElem = refInputTarget.value;
18169
18743
  if (targetElem) {
@@ -18255,9 +18829,6 @@ var VxeDatePickerComponent = defineVxeComponent({
18255
18829
  }
18256
18830
  }
18257
18831
  };
18258
- const clickEvent = (evnt) => {
18259
- triggerEvent(evnt);
18260
- };
18261
18832
  const handleShortcutEvent = ({ option, $event }) => {
18262
18833
  const { type } = props;
18263
18834
  const { inputValue } = reactData;
@@ -18296,7 +18867,7 @@ var VxeDatePickerComponent = defineVxeComponent({
18296
18867
  break;
18297
18868
  }
18298
18869
  default:
18299
- errLog('vxe.error.notCommands', [`[date-picker] ${code}`]);
18870
+ errLog$e('vxe.error.notCommands', [code]);
18300
18871
  break;
18301
18872
  }
18302
18873
  }
@@ -18581,7 +19152,8 @@ var VxeDatePickerComponent = defineVxeComponent({
18581
19152
  };
18582
19153
  const renderVN = () => {
18583
19154
  const { className, type, name, autoComplete } = props;
18584
- const { inputValue, inputLabel, visiblePanel, isActivated } = reactData;
19155
+ const { inputValue, visiblePanel, isActivated, labelFlag } = reactData;
19156
+ const { inputLabel } = internalData;
18585
19157
  const vSize = computeSize.value;
18586
19158
  const isDisabled = computeIsDisabled.value;
18587
19159
  const formReadonly = computeFormReadonly.value;
@@ -18617,7 +19189,7 @@ var VxeDatePickerComponent = defineVxeComponent({
18617
19189
  h('input', {
18618
19190
  ref: refInputTarget,
18619
19191
  class: 'vxe-date-picker--inner',
18620
- value: inputLabel,
19192
+ value: labelFlag ? inputLabel : '',
18621
19193
  name,
18622
19194
  type: 'text',
18623
19195
  placeholder: inpPlaceholder,
@@ -18639,7 +19211,7 @@ var VxeDatePickerComponent = defineVxeComponent({
18639
19211
  ]);
18640
19212
  };
18641
19213
  watch(computePanelLabel, (val) => {
18642
- reactData.inputLabel = val;
19214
+ handleInputLabel(val, true);
18643
19215
  });
18644
19216
  watch(() => props.modelValue, () => {
18645
19217
  updateModelValue();
@@ -18652,13 +19224,15 @@ var VxeDatePickerComponent = defineVxeComponent({
18652
19224
  globalEvents.on($xeDatePicker, 'resize', handleGlobalResizeEvent);
18653
19225
  });
18654
19226
  onMounted(() => {
18655
- const { parseInputKayMaps } = internalData;
18656
- const inputKeys = ['y', 'M', 'd', 'H', 'm', 'n'];
18657
- inputKeys.forEach(key => {
18658
- parseInputKayMaps[key] = (evnt) => {
18659
- evnt.preventDefault();
18660
- };
18661
- });
19227
+ const { type, multiple, maskedConfig } = props;
19228
+ if (isEnableConf(maskedConfig)) {
19229
+ if (multiple) {
19230
+ errLog$e('vxe.error.notSupportProp', ['multiple', 'control-config.enabled=true', 'control-config.enabled=false']);
19231
+ }
19232
+ if (!maskedTypes.includes(type)) {
19233
+ warnLog$8('vxe.error.notSupportProp', ['control-config.enabled=true', `type=${type}`, `type=${maskedTypes.join('|')}`]);
19234
+ }
19235
+ }
18662
19236
  });
18663
19237
  onUnmounted(() => {
18664
19238
  globalEvents.off($xeDatePicker, 'mousewheel');
@@ -18685,6 +19259,7 @@ dynamicApp.use(VxeDatePicker);
18685
19259
  VxeUI.component(VxeDatePickerComponent);
18686
19260
  const DatePicker = VxeDatePicker;
18687
19261
 
19262
+ const { errLog: errLog$d } = createComponentLog('date-range-picker');
18688
19263
  var VxeDateRangePickerComponent = defineVxeComponent({
18689
19264
  name: 'VxeDateRangePicker',
18690
19265
  props: {
@@ -19562,7 +20137,7 @@ var VxeDateRangePickerComponent = defineVxeComponent({
19562
20137
  break;
19563
20138
  }
19564
20139
  default:
19565
- errLog('vxe.error.notCommands', [`[date-range-picker] ${code}`]);
20140
+ errLog$d('vxe.error.notCommands', [code]);
19566
20141
  break;
19567
20142
  }
19568
20143
  }
@@ -20090,6 +20665,7 @@ var VxeDrawerComponent = defineVxeComponent({
20090
20665
  type: Boolean,
20091
20666
  default: () => getConfig$3().drawer.showTitleOverflow
20092
20667
  },
20668
+ preload: Boolean,
20093
20669
  width: [Number, String],
20094
20670
  height: [Number, String],
20095
20671
  resize: {
@@ -20596,6 +21172,7 @@ var VxeDrawerComponent = defineVxeComponent({
20596
21172
  }
20597
21173
  });
20598
21174
  onMounted(() => {
21175
+ reactData.initialized = !!props.preload;
20599
21176
  nextTick(() => {
20600
21177
  if (props.modelValue) {
20601
21178
  openDrawer();
@@ -20765,6 +21342,7 @@ dynamicApp.use(VxeEmpty);
20765
21342
  VxeUI.component(VxeEmptyComponent);
20766
21343
  const Empty = VxeEmpty;
20767
21344
 
21345
+ const { errLog: errLog$c } = createComponentLog('form');
20768
21346
  class ItemInfo {
20769
21347
  constructor($xeForm, item) {
20770
21348
  const { field, itemRender, formatter } = item;
@@ -20772,22 +21350,22 @@ class ItemInfo {
20772
21350
  if (XEUtils.isString(formatter)) {
20773
21351
  const gFormatOpts = formats.get(formatter);
20774
21352
  if (!gFormatOpts || !gFormatOpts.formItemFormatMethod) {
20775
- errLog('vxe.error.notFormats', [`[form] ${formatter}`]);
21353
+ errLog$c('vxe.error.notFormats', [formatter]);
20776
21354
  }
20777
21355
  }
20778
21356
  else if (XEUtils.isArray(formatter)) {
20779
21357
  const gFormatOpts = formats.get(formatter[0]);
20780
21358
  if (!gFormatOpts || !gFormatOpts.formItemFormatMethod) {
20781
- errLog('vxe.error.notFormats', [`[form] ${formatter[0]}`]);
21359
+ errLog$c('vxe.error.notFormats', [formatter[0]]);
20782
21360
  }
20783
21361
  }
20784
21362
  }
20785
21363
  if (field && itemRender) {
20786
21364
  if (itemRender.startField && `${itemRender.startField}`.indexOf(field) >= 0) {
20787
- errLog('vxe.error.modelConflicts', [`[form] field=${field}`, `item-render.startField=${itemRender.startField}`]);
21365
+ errLog$c('vxe.error.modelConflicts', [`field=${field}`, `item-render.startField=${itemRender.startField}`]);
20788
21366
  }
20789
21367
  if (itemRender.endField && `${itemRender.endField}`.indexOf(field) >= 0) {
20790
- errLog('vxe.error.modelConflicts', [`[form] field=${field}`, `item-render.endField=${itemRender.endField}`]);
21368
+ errLog$c('vxe.error.modelConflicts', [`field=${field}`, `item-render.endField=${itemRender.endField}`]);
20791
21369
  }
20792
21370
  }
20793
21371
  Object.assign(this, {
@@ -21511,6 +22089,7 @@ const VxeFormConfigItem = defineVxeComponent({
21511
22089
  }
21512
22090
  });
21513
22091
 
22092
+ const { errLog: errLog$b } = createComponentLog('form');
21514
22093
  const componentDefaultModelProp = 'modelValue';
21515
22094
  /**
21516
22095
  * 已废弃
@@ -21597,7 +22176,7 @@ function getComponentOns(renderOpts, params, eFns, eventOns) {
21597
22176
  XEUtils.objectEach(events, (func, key) => {
21598
22177
  ons[getOnName(key)] = function (...args) {
21599
22178
  if (!XEUtils.isFunction(func)) {
21600
- errLog('vxe.error.errFunc', [`[form] ${func}`]);
22179
+ errLog$b('vxe.error.errFunc', [func]);
21601
22180
  }
21602
22181
  func(params, ...args);
21603
22182
  };
@@ -22024,6 +22603,7 @@ renderer.mixin({
22024
22603
  // 以上已废弃
22025
22604
  });
22026
22605
 
22606
+ const { warnLog: warnLog$7, errLog: errLog$a } = createComponentLog('form');
22027
22607
  class Rule {
22028
22608
  constructor(rule) {
22029
22609
  Object.assign(this, {
@@ -22144,7 +22724,7 @@ function checkRuleStatus(rule, data, val) {
22144
22724
  }
22145
22725
  return true;
22146
22726
  }
22147
- function createReactData$6() {
22727
+ function createReactData$9() {
22148
22728
  return {
22149
22729
  collapseAll: false,
22150
22730
  staticItems: [],
@@ -22261,7 +22841,7 @@ var VxeFormComponent = defineVxeComponent({
22261
22841
  const $xeGrid = inject('$xeGrid', null);
22262
22842
  const xID = XEUtils.uniqueId();
22263
22843
  const { computeSize } = useSize(props);
22264
- const reactData = reactive(createReactData$6());
22844
+ const reactData = reactive(createReactData$9());
22265
22845
  const internalData = createInternalData$8();
22266
22846
  const refElem = ref();
22267
22847
  const refTooltip = ref();
@@ -22332,7 +22912,7 @@ var VxeFormComponent = defineVxeComponent({
22332
22912
  XEUtils.each(item.slots, (func) => {
22333
22913
  if (!XEUtils.isFunction(func)) {
22334
22914
  if (!slots[func]) {
22335
- errLog('vxe.error.notSlot', [`[form] ${func}`]);
22915
+ errLog$a('vxe.error.notSlot', [func]);
22336
22916
  }
22337
22917
  }
22338
22918
  });
@@ -22555,11 +23135,11 @@ var VxeFormComponent = defineVxeComponent({
22555
23135
  customValid = validatorMethod(validParams);
22556
23136
  }
22557
23137
  else {
22558
- warnLog('vxe.error.notValidators', [`[form] ${validator}`]);
23138
+ warnLog$7('vxe.error.notValidators', [validator]);
22559
23139
  }
22560
23140
  }
22561
23141
  else {
22562
- errLog('vxe.error.notValidators', [`[form] ${validator}`]);
23142
+ errLog$a('vxe.error.notValidators', [validator]);
22563
23143
  }
22564
23144
  }
22565
23145
  else {
@@ -22949,7 +23529,7 @@ var VxeFormComponent = defineVxeComponent({
22949
23529
  onMounted(() => {
22950
23530
  nextTick(() => {
22951
23531
  if (props.customLayout && props.items) {
22952
- errLog('vxe.error.errConflicts', ['[form] custom-layout', 'items']);
23532
+ errLog$a('vxe.error.errConflicts', ['custom-layout', 'items']);
22953
23533
  }
22954
23534
  });
22955
23535
  globalEvents.on($xeForm, 'resize', handleGlobalResizeEvent);
@@ -24366,7 +24946,7 @@ function createInternalData$7() {
24366
24946
  // mdTime: 0
24367
24947
  };
24368
24948
  }
24369
- function createReactData$5() {
24949
+ function createReactData$8() {
24370
24950
  return {};
24371
24951
  }
24372
24952
  var VxeImageComponent = defineVxeComponent({
@@ -24426,7 +25006,7 @@ var VxeImageComponent = defineVxeComponent({
24426
25006
  const refElem = ref();
24427
25007
  const { computeSize } = useSize(props);
24428
25008
  const internalData = createInternalData$7();
24429
- const reactData = reactive(createReactData$5());
25009
+ const reactData = reactive(createReactData$8());
24430
25010
  const refMaps = {
24431
25011
  refElem
24432
25012
  };
@@ -24612,7 +25192,7 @@ var VxeImageComponent = defineVxeComponent({
24612
25192
  ]);
24613
25193
  };
24614
25194
  onBeforeUnmount(() => {
24615
- XEUtils.assign(reactData, createReactData$5());
25195
+ XEUtils.assign(reactData, createReactData$8());
24616
25196
  XEUtils.assign(internalData, createInternalData$7());
24617
25197
  });
24618
25198
  $xeImage.renderVN = renderVN;
@@ -24905,7 +25485,7 @@ const LayoutAside = VxeLayoutAside;
24905
25485
  function createInternalData$6() {
24906
25486
  return {};
24907
25487
  }
24908
- function createReactData$4() {
25488
+ function createReactData$7() {
24909
25489
  return {};
24910
25490
  }
24911
25491
  var VxeLayoutBodyComponent = defineVxeComponent({
@@ -24931,7 +25511,7 @@ var VxeLayoutBodyComponent = defineVxeComponent({
24931
25511
  const refElem = ref();
24932
25512
  const { computeSize } = useSize(props);
24933
25513
  const internalData = createInternalData$6();
24934
- const reactData = reactive(createReactData$4());
25514
+ const reactData = reactive(createReactData$7());
24935
25515
  const refMaps = {
24936
25516
  refElem
24937
25517
  };
@@ -25355,6 +25935,7 @@ dynamicApp.use(VxeList);
25355
25935
  VxeUI.component(VxeListComponent);
25356
25936
  const List = VxeList;
25357
25937
 
25938
+ const { errLog: errLog$9 } = createComponentLog('menu');
25358
25939
  const { menus: menus$1, getConfig: getConfig$1, getIcon: getIcon$1 } = VxeUI;
25359
25940
  var VxeMenuComponent = defineVxeComponent({
25360
25941
  name: 'VxeMenu',
@@ -25841,7 +26422,7 @@ var VxeMenuComponent = defineVxeComponent({
25841
26422
  const { menuConfig } = props;
25842
26423
  const VxeUIContextMenu = VxeUI.getComponent('VxeContextMenu');
25843
26424
  if (menuConfig && !VxeUIContextMenu) {
25844
- errLog('vxe.error.reqComp', ['vxe-context-menu']);
26425
+ errLog$9('vxe.error.reqComp', ['vxe-context-menu']);
25845
26426
  }
25846
26427
  globalEvents.on($xeMenu, 'resize', updateCollapseStyle);
25847
26428
  updateCollapseStyle();
@@ -25875,6 +26456,7 @@ dynamicApp.use(VxeMenu);
25875
26456
  VxeUI.component(VxeMenuComponent);
25876
26457
  const Menu = VxeMenu;
25877
26458
 
26459
+ const { warnLog: warnLog$6, errLog: errLog$8 } = createComponentLog('modal');
25878
26460
  const allActiveModals = [];
25879
26461
  const msgQueue = [];
25880
26462
  const notifyQueue = [];
@@ -25961,6 +26543,7 @@ var VxeModalComponent = defineVxeComponent({
25961
26543
  type: Boolean,
25962
26544
  default: () => getConfig$3().modal.showFooter
25963
26545
  },
26546
+ preload: Boolean,
25964
26547
  showZoom: Boolean,
25965
26548
  zoomConfig: Object,
25966
26549
  showMaximize: {
@@ -27260,11 +27843,12 @@ var VxeModalComponent = defineVxeComponent({
27260
27843
  });
27261
27844
  onMounted(() => {
27262
27845
  if (props.type === 'modal' && props.showFooter && !(props.showConfirmButton || props.showCancelButton || slots.footer)) {
27263
- warnLog('vxe.modal.footPropErr');
27846
+ warnLog$6('vxe.modal.footPropErr');
27264
27847
  }
27848
+ reactData.initialized = !!props.preload;
27265
27849
  nextTick(() => {
27266
27850
  if (props.storage && !props.id) {
27267
- errLog('vxe.error.reqProp', ['[modal] id']);
27851
+ errLog$8('vxe.error.reqProp', ['id']);
27268
27852
  }
27269
27853
  if (props.modelValue) {
27270
27854
  openModal();
@@ -27716,12 +28300,34 @@ dynamicApp.use(VxeOption);
27716
28300
  VxeUI.component(VxeOptionComponent);
27717
28301
  const Option = VxeOption;
27718
28302
 
28303
+ const { errLog: errLog$7 } = createComponentLog('select');
27719
28304
  function isOptionVisible(option) {
27720
28305
  return option.visible !== false;
27721
28306
  }
27722
28307
  function getOptUniqueId$1() {
27723
28308
  return XEUtils.uniqueId('opt_');
27724
28309
  }
28310
+ function createReactData$6() {
28311
+ return {
28312
+ initialized: false,
28313
+ scrollYLoad: false,
28314
+ bodyHeight: 0,
28315
+ topSpaceHeight: 0,
28316
+ optList: [],
28317
+ staticOptions: [],
28318
+ reactFlag: 0,
28319
+ currentOption: null,
28320
+ searchValue: '',
28321
+ searchLoading: false,
28322
+ panelIndex: 0,
28323
+ panelStyle: {},
28324
+ panelPlacement: null,
28325
+ triggerFocusPanel: false,
28326
+ visiblePanel: false,
28327
+ isAniVisible: false,
28328
+ isActivated: false
28329
+ };
28330
+ }
27725
28331
  function createInternalData$5() {
27726
28332
  return {
27727
28333
  // isLoaded: false,
@@ -27897,25 +28503,7 @@ var VxeSelectComponent = defineVxeComponent({
27897
28503
  const refOptionPanel = ref();
27898
28504
  const refVirtualBody = ref();
27899
28505
  const { computeSize } = useSize(props);
27900
- const reactData = reactive({
27901
- initialized: false,
27902
- scrollYLoad: false,
27903
- bodyHeight: 0,
27904
- topSpaceHeight: 0,
27905
- optList: [],
27906
- staticOptions: [],
27907
- reactFlag: 0,
27908
- currentOption: null,
27909
- searchValue: '',
27910
- searchLoading: false,
27911
- panelIndex: 0,
27912
- panelStyle: {},
27913
- panelPlacement: null,
27914
- triggerFocusPanel: false,
27915
- visiblePanel: false,
27916
- isAniVisible: false,
27917
- isActivated: false
27918
- });
28506
+ const reactData = reactive(createReactData$6());
27919
28507
  const internalData = createInternalData$5();
27920
28508
  const refMaps = {
27921
28509
  refElem
@@ -28947,7 +29535,7 @@ var VxeSelectComponent = defineVxeComponent({
28947
29535
  });
28948
29536
  }
28949
29537
  else {
28950
- errLog('vxe.error.notConflictProp', ['default-config.selectMode=all', 'multiple=true']);
29538
+ errLog$7('vxe.error.notConflictProp', ['default-config.selectMode=all', 'multiple=true']);
28951
29539
  }
28952
29540
  }
28953
29541
  else if (selectMode === 'first' || selectMode === 'last') {
@@ -29437,6 +30025,7 @@ var VxeSelectComponent = defineVxeComponent({
29437
30025
  globalEvents.off($xeSelect, 'keydown');
29438
30026
  globalEvents.off($xeSelect, 'blur');
29439
30027
  globalEvents.off($xeSelect, 'resize');
30028
+ XEUtils.assign(reactData, createReactData$6());
29440
30029
  XEUtils.assign(internalData, createInternalData$5());
29441
30030
  });
29442
30031
  provide('$xeSelect', $xeSelect);
@@ -29448,6 +30037,7 @@ var VxeSelectComponent = defineVxeComponent({
29448
30037
  }
29449
30038
  });
29450
30039
 
30040
+ const { warnLog: warnLog$5, errLog: errLog$6 } = createComponentLog('pager');
29451
30041
  var VxePagerComponent = defineVxeComponent({
29452
30042
  name: 'VxePager',
29453
30043
  props: {
@@ -30049,7 +30639,7 @@ var VxePagerComponent = defineVxeComponent({
30049
30639
  * @deprecated
30050
30640
  */
30051
30641
  jumpPage(currentPage) {
30052
- warnLog('vxe.error.delFunc', ['[pager] jumpPage', 'setCurrentPage']);
30642
+ warnLog$5('vxe.error.delFunc', ['jumpPage', 'setCurrentPage']);
30053
30643
  return $xePager.setCurrentPage(currentPage);
30054
30644
  }
30055
30645
  };
@@ -30120,7 +30710,7 @@ var VxePagerComponent = defineVxeComponent({
30120
30710
  childNodes.push(renderFn());
30121
30711
  }
30122
30712
  else {
30123
- errLog('vxe.error.notProp', [`[pager] layouts -> ${name}`]);
30713
+ errLog$6('vxe.error.notProp', [`layouts -> ${name}`]);
30124
30714
  }
30125
30715
  });
30126
30716
  if (slots.right) {
@@ -30646,7 +31236,7 @@ function handlePrint(opts, printHtml = '') {
30646
31236
  if (styleUrls && styleUrls.length) {
30647
31237
  styleUrls.forEach(url => {
30648
31238
  if (!/.css$/.test(url)) {
30649
- warnLog('vxe.error.errProp', [url, `${url}.css`]);
31239
+ warnLog$b('vxe.error.errProp', [url, `${url}.css`]);
30650
31240
  }
30651
31241
  });
30652
31242
  }
@@ -31875,6 +32465,9 @@ dynamicApp.use(VxeRadioButton);
31875
32465
  VxeUI.component(VxeRadioButtonComponent);
31876
32466
  const RadioButton = VxeRadioButton;
31877
32467
 
32468
+ function createReactData$5() {
32469
+ return {};
32470
+ }
31878
32471
  function createInternalData$4() {
31879
32472
  return {
31880
32473
  // isLoaded: false
@@ -31916,7 +32509,7 @@ var VxeRadioGroupComponent = defineVxeComponent({
31916
32509
  const formItemInfo = inject('xeFormItemInfo', null);
31917
32510
  const xID = XEUtils.uniqueId();
31918
32511
  const { computeSize } = useSize(props);
31919
- const reactData = reactive({});
32512
+ const reactData = reactive(createReactData$5());
31920
32513
  const internalData = createInternalData$4();
31921
32514
  const computeIsReadonly = computed(() => {
31922
32515
  const { readonly } = props;
@@ -32053,6 +32646,7 @@ var VxeRadioGroupComponent = defineVxeComponent({
32053
32646
  });
32054
32647
  });
32055
32648
  onUnmounted(() => {
32649
+ XEUtils.assign(reactData, createReactData$5());
32056
32650
  XEUtils.assign(internalData, createInternalData$4());
32057
32651
  });
32058
32652
  provide('$xeRadioGroup', $xeRadioGroup);
@@ -32438,7 +33032,7 @@ dynamicApp.use(VxeRow);
32438
33032
  VxeUI.component(VxeRowComponent);
32439
33033
  const Row = VxeRow;
32440
33034
 
32441
- function createReactData$3() {
33035
+ function createReactData$4() {
32442
33036
  return {
32443
33037
  groupName: XEUtils.uniqueId('xe_group_'),
32444
33038
  selectStyle: {
@@ -32479,7 +33073,7 @@ var VxeSegmentedComponent = defineVxeComponent({
32479
33073
  const refElem = ref();
32480
33074
  const refWrapperElem = ref();
32481
33075
  const refSelectedElem = ref();
32482
- const reactData = reactive(createReactData$3());
33076
+ const reactData = reactive(createReactData$4());
32483
33077
  const refMaps = {
32484
33078
  refElem
32485
33079
  };
@@ -32652,7 +33246,7 @@ var VxeSegmentedComponent = defineVxeComponent({
32652
33246
  updateStyle();
32653
33247
  });
32654
33248
  onBeforeUnmount(() => {
32655
- XEUtils.assign(reactData, createReactData$3());
33249
+ XEUtils.assign(reactData, createReactData$4());
32656
33250
  });
32657
33251
  $xeSegmented.renderVN = renderVN;
32658
33252
  return $xeSegmented;
@@ -32680,6 +33274,7 @@ dynamicApp.use(VxeSelect);
32680
33274
  VxeUI.component(VxeSelectComponent);
32681
33275
  const Select = VxeSelect;
32682
33276
 
33277
+ const { warnLog: warnLog$4, errLog: errLog$5 } = createComponentLog('splitter');
32683
33278
  var VxeSplitComponent = defineVxeComponent({
32684
33279
  name: 'VxeSplitter',
32685
33280
  props: {
@@ -32879,13 +33474,13 @@ var VxeSplitComponent = defineVxeComponent({
32879
33474
  };
32880
33475
  reactData.itemList = list.map(item => {
32881
33476
  if (item.showAction) {
32882
- warnLog('vxe.error.removeProp', ['[splitter] show-action']);
33477
+ warnLog$4('vxe.error.removeProp', ['show-action']);
32883
33478
  }
32884
33479
  if (item.slots) {
32885
33480
  XEUtils.each(item.slots, (func) => {
32886
33481
  if (!XEUtils.isFunction(func)) {
32887
33482
  if (!slots[func]) {
32888
- errLog('vxe.error.notSlot', [`[splitter] ${func}`]);
33483
+ errLog$5('vxe.error.notSlot', [func]);
32889
33484
  }
32890
33485
  }
32891
33486
  });
@@ -32895,10 +33490,10 @@ var VxeSplitComponent = defineVxeComponent({
32895
33490
  });
32896
33491
  });
32897
33492
  if (staticItems.length) {
32898
- errLog('vxe.error.errConflicts', ['<vxe-splitter-panel ...>', 'items']);
33493
+ errLog$5('vxe.error.errConflicts', ['<vxe-splitter-panel ...>', 'items']);
32899
33494
  }
32900
33495
  if ((showPrevButton || showNextButton) && reactData.itemList.length > 2) {
32901
- errLog('vxe.error.errConflicts', ['action-config.showPrevButton | action-config.showNextButton', 'Only supports 2 item']);
33496
+ errLog$5('vxe.error.errConflicts', ['action-config.showPrevButton | action-config.showNextButton', 'Only supports 2 item']);
32902
33497
  }
32903
33498
  return recalculate();
32904
33499
  };
@@ -33584,15 +34179,15 @@ var VxeSplitComponent = defineVxeComponent({
33584
34179
  const actionOpts = computeActionOpts.value;
33585
34180
  const { showPrevButton, showNextButton } = actionOpts;
33586
34181
  if (props.items && props.items.length) {
33587
- errLog('vxe.error.errConflicts', ['<vxe-splitter-panel ...>', 'items']);
34182
+ errLog$5('vxe.error.errConflicts', ['<vxe-splitter-panel ...>', 'items']);
33588
34183
  }
33589
34184
  reactData.itemList = val || [];
33590
34185
  if ((showPrevButton || showNextButton) && reactData.itemList.length > 2) {
33591
- errLog('vxe.error.modelConflicts', ['[splitter] action-config.showPrevButton | action-config.showNextButton', '<vxe-splitter-panel ...> Only supports 2 panel']);
34186
+ errLog$5('vxe.error.modelConflicts', ['action-config.showPrevButton | action-config.showNextButton', '<vxe-splitter-panel ...> Only supports 2 panel']);
33592
34187
  }
33593
34188
  reactData.itemList.forEach(item => {
33594
34189
  if (item.showAction) {
33595
- warnLog('vxe.error.removeProp', ['[splitter] showAction']);
34190
+ warnLog$4('vxe.error.removeProp', ['showAction']);
33596
34191
  }
33597
34192
  });
33598
34193
  recalculate();
@@ -33611,7 +34206,7 @@ var VxeSplitComponent = defineVxeComponent({
33611
34206
  }
33612
34207
  const actionOpts = computeActionOpts.value;
33613
34208
  if (actionOpts.direction) {
33614
- errLog('vxe.error.delProp', ['[splitter] action-config.direction', 'action-config.showPrevButton | action-config.showNextButton']);
34209
+ errLog$5('vxe.error.delProp', ['action-config.direction', 'action-config.showPrevButton | action-config.showNextButton']);
33615
34210
  }
33616
34211
  globalEvents.on($xeSplitter, 'resize', handleGlobalResizeEvent);
33617
34212
  });
@@ -34458,9 +35053,24 @@ dynamicApp.use(VxeTabPane);
34458
35053
  VxeUI.component(VxeTabPaneComponent);
34459
35054
  const TabPane = VxeTabPane;
34460
35055
 
35056
+ const { errLog: errLog$4 } = createComponentLog('table-select');
34461
35057
  function getRowUniqueId() {
34462
35058
  return XEUtils.uniqueId('row_');
34463
35059
  }
35060
+ function createReactData$3() {
35061
+ return {
35062
+ initialized: false,
35063
+ tableColumns: [],
35064
+ fullOptionList: [],
35065
+ panelIndex: 0,
35066
+ panelStyle: {},
35067
+ panelPlacement: null,
35068
+ triggerFocusPanel: false,
35069
+ visiblePanel: false,
35070
+ isAniVisible: false,
35071
+ isActivated: false
35072
+ };
35073
+ }
34464
35074
  function createInternalData$3() {
34465
35075
  return {
34466
35076
  // hpTimeout: undefined,
@@ -34540,18 +35150,7 @@ var VxeTableSelectComponent = defineVxeComponent({
34540
35150
  const refGridWrapper = ref();
34541
35151
  const refOptionPanel = ref();
34542
35152
  const refGrid = ref();
34543
- const reactData = reactive({
34544
- initialized: false,
34545
- tableColumns: [],
34546
- fullOptionList: [],
34547
- panelIndex: 0,
34548
- panelStyle: {},
34549
- panelPlacement: null,
34550
- triggerFocusPanel: false,
34551
- visiblePanel: false,
34552
- isAniVisible: false,
34553
- isActivated: false
34554
- });
35153
+ const reactData = reactive(createReactData$3());
34555
35154
  const internalData = createInternalData$3();
34556
35155
  const refMaps = {
34557
35156
  refElem
@@ -34806,12 +35405,12 @@ var VxeTableSelectComponent = defineVxeComponent({
34806
35405
  rowid = getRowUniqueId();
34807
35406
  }
34808
35407
  if (keyMaps[rowid]) {
34809
- errLog('vxe.error.repeatKey', [`[table-select] ${rowKeyField}`, rowid]);
35408
+ errLog$4('vxe.error.repeatKey', [rowKeyField, rowid]);
34810
35409
  }
34811
35410
  keyMaps[rowid] = true;
34812
35411
  const value = item[valueField];
34813
35412
  if (rowMaps[value]) {
34814
- errLog('vxe.error.repeatKey', [`[table-select] ${valueField}`, value]);
35413
+ errLog$4('vxe.error.repeatKey', [valueField, value]);
34815
35414
  }
34816
35415
  rowMaps[value] = { item, index, items, parent: null, nodes: [] };
34817
35416
  });
@@ -35155,11 +35754,12 @@ var VxeTableSelectComponent = defineVxeComponent({
35155
35754
  globalEvents.off($xeTableSelect, 'mousedown');
35156
35755
  globalEvents.off($xeTableSelect, 'blur');
35157
35756
  globalEvents.off($xeTableSelect, 'resize');
35757
+ XEUtils.assign(reactData, createReactData$3());
35158
35758
  XEUtils.assign(internalData, createInternalData$3());
35159
35759
  });
35160
35760
  nextTick(() => {
35161
35761
  if (!VxeTableGridComponent) {
35162
- errLog('vxe.error.reqComp', ['[table-select] vxe-grid']);
35762
+ errLog$4('vxe.error.reqComp', ['vxe-grid']);
35163
35763
  }
35164
35764
  });
35165
35765
  provide('$xeTableSelect', $xeTableSelect);
@@ -35180,6 +35780,7 @@ dynamicApp.use(VxeTableSelect);
35180
35780
  VxeUI.component(VxeTableSelectComponent);
35181
35781
  const TableSelect = VxeTableSelect;
35182
35782
 
35783
+ const { warnLog: warnLog$3, errLog: errLog$3 } = createComponentLog('tabs');
35183
35784
  const scrollbarOffsetSize = 20;
35184
35785
  var VxeTabsComponent = defineVxeComponent({
35185
35786
  name: 'VxeTabs',
@@ -35535,7 +36136,7 @@ var VxeTabsComponent = defineVxeComponent({
35535
36136
  });
35536
36137
  }
35537
36138
  else {
35538
- errLog('vxe.error.notFunc', ['refresh-config.queryMethod']);
36139
+ errLog$3('vxe.error.notFunc', ['refresh-config.queryMethod']);
35539
36140
  }
35540
36141
  }
35541
36142
  };
@@ -35716,11 +36317,11 @@ var VxeTabsComponent = defineVxeComponent({
35716
36317
  return handlePrevNext(true);
35717
36318
  },
35718
36319
  prevTab() {
35719
- warnLog('vxe.error.delFunc', ['[tabs] prevTab', 'prev']);
36320
+ warnLog$3('vxe.error.delFunc', ['prevTab', 'prev']);
35720
36321
  return tabsMethods.prev();
35721
36322
  },
35722
36323
  nextTab() {
35723
- warnLog('vxe.error.delFunc', ['[tabs] nextTab', 'next']);
36324
+ warnLog$3('vxe.error.delFunc', ['nextTab', 'next']);
35724
36325
  return tabsMethods.next();
35725
36326
  }
35726
36327
  };
@@ -36488,6 +37089,7 @@ dynamicApp.use(VxeText);
36488
37089
  VxeUI.component(VxeTextComponent);
36489
37090
  const Text = VxeText;
36490
37091
 
37092
+ const { warnLog: warnLog$2 } = createComponentLog('textarea');
36491
37093
  let autoTxtElem;
36492
37094
  var VxeTextareaComponent = defineVxeComponent({
36493
37095
  name: 'VxeTextarea',
@@ -36852,7 +37454,7 @@ var VxeTextareaComponent = defineVxeComponent({
36852
37454
  nextTick(() => {
36853
37455
  const { autosize, autoSize } = props;
36854
37456
  if (autosize) {
36855
- warnLog('vxe.error.delProp', ['autosize', 'auto-size']);
37457
+ warnLog$2('vxe.error.delProp', ['autosize', 'auto-size']);
36856
37458
  }
36857
37459
  if (autosize || autoSize) {
36858
37460
  updateAutoTxt();
@@ -37224,6 +37826,7 @@ function clearRowAnimate(elem, clss) {
37224
37826
  }, 500);
37225
37827
  }
37226
37828
 
37829
+ const { errLog: errLog$2 } = createComponentLog('tree');
37227
37830
  const { menus, getConfig, getI18n, getIcon } = VxeUI;
37228
37831
  /**
37229
37832
  * 生成节点的唯一主键
@@ -37933,7 +38536,7 @@ var VxeTreeComponent = defineVxeComponent({
37933
38536
  handleData(true);
37934
38537
  if (sYLoad) {
37935
38538
  if (!(props.height || props.maxHeight)) {
37936
- errLog('vxe.error.reqProp', ['[tree] height | max-height | virtual-y-config.enabled=false']);
38539
+ errLog$2('vxe.error.reqProp', ['height | max-height | virtual-y-config.enabled=false']);
37937
38540
  }
37938
38541
  }
37939
38542
  return computeScrollLoad().then(() => {
@@ -39869,17 +40472,17 @@ var VxeTreeComponent = defineVxeComponent({
39869
40472
  const { transform, drag, menuConfig } = props;
39870
40473
  const dragOpts = computeDragOpts.value;
39871
40474
  if (drag && !transform) {
39872
- errLog('vxe.error.notSupportProp', ['drag', 'transform=false', 'transform=true']);
40475
+ errLog$2('vxe.error.notSupportProp', ['drag', 'transform=false', 'transform=true']);
39873
40476
  }
39874
40477
  if (dragOpts.isCrossTreeDrag) {
39875
- errLog('vxe.error.notProp', ['drag-config.isCrossTreeDrag']);
40478
+ errLog$2('vxe.error.notProp', ['drag-config.isCrossTreeDrag']);
39876
40479
  }
39877
40480
  // if (valueField) {
39878
40481
  // errLog('vxe.error.delProp', ['value-field', 'value-field'])
39879
40482
  // }
39880
40483
  const VxeUIContextMenu = VxeUI.getComponent('VxeContextMenu');
39881
40484
  if (menuConfig && !VxeUIContextMenu) {
39882
- errLog('vxe.error.reqComp', ['vxe-context-menu']);
40485
+ errLog$2('vxe.error.reqComp', ['vxe-context-menu']);
39883
40486
  }
39884
40487
  if (props.autoResize) {
39885
40488
  const el = refElem.value;
@@ -39928,6 +40531,7 @@ dynamicApp.use(VxeTree);
39928
40531
  VxeUI.component(VxeTreeComponent);
39929
40532
  const Tree = VxeTree;
39930
40533
 
40534
+ const { warnLog: warnLog$1, errLog: errLog$1 } = createComponentLog('tree-select');
39931
40535
  function getOptUniqueId() {
39932
40536
  return XEUtils.uniqueId('node_');
39933
40537
  }
@@ -40293,12 +40897,12 @@ var VxeTreeSelectComponent = defineVxeComponent({
40293
40897
  nodeid = getOptUniqueId();
40294
40898
  }
40295
40899
  if (keyMaps[nodeid]) {
40296
- errLog('vxe.error.repeatKey', [nodeKeyField, nodeid]);
40900
+ errLog$1('vxe.error.repeatKey', [nodeKeyField, nodeid]);
40297
40901
  }
40298
40902
  keyMaps[nodeid] = true;
40299
40903
  const value = item[valueField];
40300
40904
  if (nodeMaps[value]) {
40301
- errLog('vxe.error.repeatKey', [valueField, value]);
40905
+ errLog$1('vxe.error.repeatKey', [valueField, value]);
40302
40906
  }
40303
40907
  nodeMaps[value] = {
40304
40908
  item,
@@ -40737,7 +41341,7 @@ var VxeTreeSelectComponent = defineVxeComponent({
40737
41341
  h('div', {
40738
41342
  class: 'vxe-tree-select--header-button'
40739
41343
  }, [
40740
- showCheckedButton && showClearButton
41344
+ (showCheckedButton && multiple) || showClearButton
40741
41345
  ? h('div', {
40742
41346
  class: 'vxe-tree-select--selected-btns'
40743
41347
  }, [
@@ -40757,24 +41361,20 @@ var VxeTreeSelectComponent = defineVxeComponent({
40757
41361
  : renderEmptyElement($xeTreeSelect)
40758
41362
  ])
40759
41363
  : renderEmptyElement($xeTreeSelect),
40760
- showExpandButton && showExpandButton
41364
+ showExpandButton
40761
41365
  ? h('div', {
40762
41366
  class: 'vxe-tree-select--expand-btns'
40763
41367
  }, [
40764
- showExpandButton
40765
- ? h(VxeButton, {
40766
- content: getI18n$2('vxe.treeSelect.allExpand'),
40767
- mode: 'text',
40768
- onClick: allExpandPanelEvent
40769
- })
40770
- : renderEmptyElement($xeTreeSelect),
40771
- showExpandButton
40772
- ? h(VxeButton, {
40773
- content: getI18n$2('vxe.treeSelect.clearExpand'),
40774
- mode: 'text',
40775
- onClick: clearExpandPanelEvent
40776
- })
40777
- : renderEmptyElement($xeTreeSelect)
41368
+ h(VxeButton, {
41369
+ content: getI18n$2('vxe.treeSelect.allExpand'),
41370
+ mode: 'text',
41371
+ onClick: allExpandPanelEvent
41372
+ }),
41373
+ h(VxeButton, {
41374
+ content: getI18n$2('vxe.treeSelect.clearExpand'),
41375
+ mode: 'text',
41376
+ onClick: clearExpandPanelEvent
41377
+ })
40778
41378
  ])
40779
41379
  : renderEmptyElement($xeTreeSelect)
40780
41380
  ])
@@ -40837,7 +41437,7 @@ var VxeTreeSelectComponent = defineVxeComponent({
40837
41437
  }, treeScopedSlots)
40838
41438
  ])
40839
41439
  ]),
40840
- footerSlot || showTotalButton || (showCloseButton && multiple)
41440
+ footerSlot || showTotalButton || showCloseButton
40841
41441
  ? h('div', {
40842
41442
  class: 'vxe-tree-select--panel-footer'
40843
41443
  }, footerSlot
@@ -40851,7 +41451,7 @@ var VxeTreeSelectComponent = defineVxeComponent({
40851
41451
  class: 'vxe-tree-select--total-btns'
40852
41452
  }, getI18n$2('vxe.treeSelect.total', [selectVals.length]))
40853
41453
  : renderEmptyElement($xeTreeSelect),
40854
- showCloseButton && multiple
41454
+ showCloseButton
40855
41455
  ? h('div', {
40856
41456
  class: 'vxe-tree-select--oper-btns'
40857
41457
  }, [
@@ -40895,7 +41495,7 @@ var VxeTreeSelectComponent = defineVxeComponent({
40895
41495
  cacheLazyDataMap();
40896
41496
  onMounted(() => {
40897
41497
  if (XEUtils.isBoolean(props.autoClose)) {
40898
- warnLog('vxe.error.delProp', ['auto-close', 'checked-closable | clear-closable']);
41498
+ warnLog$1('vxe.error.delProp', ['auto-close', 'checked-closable | clear-closable']);
40899
41499
  }
40900
41500
  globalEvents.on($xeTreeSelect, 'mousewheel', handleGlobalMousewheelEvent);
40901
41501
  globalEvents.on($xeTreeSelect, 'mousedown', handleGlobalMousedownEvent);
@@ -41030,6 +41630,7 @@ const saveLocalFile = (options) => {
41030
41630
  return Promise.reject(new Error(getI18n$2('vxe.error.notExp')));
41031
41631
  };
41032
41632
 
41633
+ const { warnLog, errLog } = createComponentLog('upload');
41033
41634
  function createReactData() {
41034
41635
  return {
41035
41636
  isDragUploadStatus: false,
@@ -41237,8 +41838,12 @@ var VxeUploadComponent = defineVxeComponent({
41237
41838
  'remove-fail',
41238
41839
  'download',
41239
41840
  'download-fail',
41841
+ 'upload-start',
41240
41842
  'upload-success',
41241
41843
  'upload-error',
41844
+ 'upload-end',
41845
+ 'upload-queue-start',
41846
+ 'upload-queue-end',
41242
41847
  'sort-dragend',
41243
41848
  'more-visible'
41244
41849
  ],
@@ -41572,6 +42177,7 @@ var VxeUploadComponent = defineVxeComponent({
41572
42177
  const fileKey = getFieldKey(item);
41573
42178
  const uploadFn = props.uploadMethod || getConfig$3().upload.uploadMethod;
41574
42179
  if (uploadFn) {
42180
+ dispatchEvent('upload-start', { option: item }, null);
41575
42181
  return Promise.resolve(uploadFn({
41576
42182
  $upload: $xeUpload,
41577
42183
  file,
@@ -41612,6 +42218,7 @@ var VxeUploadComponent = defineVxeComponent({
41612
42218
  if (cacheItem) {
41613
42219
  cacheItem.loading = false;
41614
42220
  }
42221
+ dispatchEvent('upload-end', { option: item }, null);
41615
42222
  });
41616
42223
  }
41617
42224
  else {
@@ -41720,6 +42327,7 @@ var VxeUploadComponent = defineVxeComponent({
41720
42327
  }
41721
42328
  }
41722
42329
  }
42330
+ dispatchEvent('upload-queue-start', { files: selectFiles }, evnt);
41723
42331
  const cacheMaps = Object.assign({}, reactData.fileCacheMaps);
41724
42332
  const newFileList = multiple ? fileList : [];
41725
42333
  const uploadPromiseRests = [];
@@ -41756,6 +42364,7 @@ var VxeUploadComponent = defineVxeComponent({
41756
42364
  });
41757
42365
  Promise.all(urlMode ? uploadPromiseRests : []).then(() => {
41758
42366
  const restFileList = reactData.fileList;
42367
+ dispatchEvent('upload-queue-end', { options: restFileList, files: selectFiles }, evnt);
41759
42368
  handleChange(restFileList);
41760
42369
  // 自动更新校验状态
41761
42370
  if ($xeForm && formItemInfo) {
@@ -42817,10 +43426,10 @@ var VxeUploadComponent = defineVxeComponent({
42817
43426
  });
42818
43427
  onMounted(() => {
42819
43428
  if (props.multiple && props.singleMode) {
42820
- errLog('vxe.error.errConflicts', ['[upload] multiple', 'single-mode']);
43429
+ errLog('vxe.error.errConflicts', ['multiple', 'single-mode']);
42821
43430
  }
42822
43431
  if (props.imageStyle) {
42823
- warnLog('vxe.error.delProp', ['[upload] image-style', 'image-config']);
43432
+ warnLog('vxe.error.delProp', ['image-style', 'image-config']);
42824
43433
  }
42825
43434
  if (props.dragSort) {
42826
43435
  initTpImg();