vxe-pc-ui 4.3.63 → 4.3.65

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 (158) hide show
  1. package/es/button/src/button-group.js +1 -0
  2. package/es/button/src/button.js +16 -5
  3. package/es/button/style.css +4 -3
  4. package/es/button/style.min.css +1 -1
  5. package/es/button-group/style.css +8 -2
  6. package/es/button-group/style.min.css +1 -1
  7. package/es/date-picker/src/date-picker.js +104 -32
  8. package/es/date-picker/style.css +37 -12
  9. package/es/date-picker/style.min.css +1 -1
  10. package/es/icon/style.css +1 -1
  11. package/es/language/ar-EG.js +1 -0
  12. package/es/language/de-DE.js +1 -0
  13. package/es/language/en-US.js +1 -0
  14. package/es/language/es-ES.js +1 -0
  15. package/es/language/fr-FR.js +1 -0
  16. package/es/language/hu-HU.js +1 -0
  17. package/es/language/hy-AM.js +1 -0
  18. package/es/language/it-IT.js +1 -0
  19. package/es/language/ja-JP.js +1 -0
  20. package/es/language/ko-KR.js +1 -0
  21. package/es/language/nb-NO.js +1 -0
  22. package/es/language/pt-BR.js +1 -0
  23. package/es/language/ru-RU.js +1 -0
  24. package/es/language/th-TH.js +1 -0
  25. package/es/language/ug-CN.js +1 -0
  26. package/es/language/uk-UA.js +1 -0
  27. package/es/language/vi-VN.js +1 -0
  28. package/es/language/zh-CHT.js +1 -0
  29. package/es/language/zh-CN.js +1 -0
  30. package/es/style.css +1 -1
  31. package/es/style.min.css +1 -1
  32. package/es/ui/index.js +8 -2
  33. package/es/ui/src/log.js +1 -1
  34. package/es/vxe-button/style.css +4 -3
  35. package/es/vxe-button/style.min.css +1 -1
  36. package/es/vxe-button-group/style.css +8 -2
  37. package/es/vxe-button-group/style.min.css +1 -1
  38. package/es/vxe-date-picker/style.css +37 -12
  39. package/es/vxe-date-picker/style.min.css +1 -1
  40. package/helper/vetur/attributes.json +1 -1
  41. package/helper/vetur/tags.json +1 -1
  42. package/lib/button/src/button-group.js +1 -0
  43. package/lib/button/src/button-group.min.js +1 -1
  44. package/lib/button/src/button.js +17 -5
  45. package/lib/button/src/button.min.js +1 -1
  46. package/lib/button/style/style.css +4 -3
  47. package/lib/button/style/style.min.css +1 -1
  48. package/lib/button-group/style/style.css +8 -2
  49. package/lib/button-group/style/style.min.css +1 -1
  50. package/lib/date-picker/src/date-picker.js +114 -31
  51. package/lib/date-picker/src/date-picker.min.js +1 -1
  52. package/lib/date-picker/style/style.css +37 -12
  53. package/lib/date-picker/style/style.min.css +1 -1
  54. package/lib/icon/style/style.css +1 -1
  55. package/lib/icon/style/style.min.css +1 -1
  56. package/lib/index.umd.js +142 -39
  57. package/lib/index.umd.min.js +1 -1
  58. package/lib/language/ar-EG.js +1 -0
  59. package/lib/language/ar-EG.min.js +1 -1
  60. package/lib/language/de-DE.js +1 -0
  61. package/lib/language/de-DE.min.js +1 -1
  62. package/lib/language/en-US.js +1 -0
  63. package/lib/language/en-US.min.js +1 -1
  64. package/lib/language/en-US.umd.js +1 -0
  65. package/lib/language/es-ES.js +1 -0
  66. package/lib/language/es-ES.min.js +1 -1
  67. package/lib/language/es-ES.umd.js +1 -0
  68. package/lib/language/fr-FR.js +1 -0
  69. package/lib/language/fr-FR.min.js +1 -1
  70. package/lib/language/hu-HU.js +1 -0
  71. package/lib/language/hu-HU.min.js +1 -1
  72. package/lib/language/hu-HU.umd.js +1 -0
  73. package/lib/language/hy-AM.js +1 -0
  74. package/lib/language/hy-AM.min.js +1 -1
  75. package/lib/language/it-IT.js +1 -0
  76. package/lib/language/it-IT.min.js +1 -1
  77. package/lib/language/ja-JP.js +1 -0
  78. package/lib/language/ja-JP.min.js +1 -1
  79. package/lib/language/ja-JP.umd.js +1 -0
  80. package/lib/language/ko-KR.js +1 -0
  81. package/lib/language/ko-KR.min.js +1 -1
  82. package/lib/language/ko-KR.umd.js +1 -0
  83. package/lib/language/nb-NO.js +1 -0
  84. package/lib/language/nb-NO.min.js +1 -1
  85. package/lib/language/pt-BR.js +1 -0
  86. package/lib/language/pt-BR.min.js +1 -1
  87. package/lib/language/pt-BR.umd.js +1 -0
  88. package/lib/language/ru-RU.js +1 -0
  89. package/lib/language/ru-RU.min.js +1 -1
  90. package/lib/language/ru-RU.umd.js +1 -0
  91. package/lib/language/th-TH.js +1 -0
  92. package/lib/language/th-TH.min.js +1 -1
  93. package/lib/language/ug-CN.js +1 -0
  94. package/lib/language/ug-CN.min.js +1 -1
  95. package/lib/language/uk-UA.js +1 -0
  96. package/lib/language/uk-UA.min.js +1 -1
  97. package/lib/language/uk-UA.umd.js +1 -0
  98. package/lib/language/vi-VN.js +1 -0
  99. package/lib/language/vi-VN.min.js +1 -1
  100. package/lib/language/zh-CHT.js +1 -0
  101. package/lib/language/zh-CHT.min.js +1 -1
  102. package/lib/language/zh-CN.js +1 -0
  103. package/lib/language/zh-CN.min.js +1 -1
  104. package/lib/language/zh-CN.umd.js +1 -0
  105. package/lib/style.css +1 -1
  106. package/lib/style.min.css +1 -1
  107. package/lib/ui/index.js +8 -2
  108. package/lib/ui/index.min.js +1 -1
  109. package/lib/ui/src/log.js +1 -1
  110. package/lib/ui/src/log.min.js +1 -1
  111. package/lib/vxe-button/style/style.css +4 -3
  112. package/lib/vxe-button/style/style.min.css +1 -1
  113. package/lib/vxe-button-group/style/style.css +8 -2
  114. package/lib/vxe-button-group/style/style.min.css +1 -1
  115. package/lib/vxe-date-picker/style/style.css +37 -12
  116. package/lib/vxe-date-picker/style/style.min.css +1 -1
  117. package/package.json +1 -1
  118. package/packages/button/src/button-group.ts +1 -0
  119. package/packages/button/src/button.ts +17 -5
  120. package/packages/date-picker/src/date-picker.ts +106 -33
  121. package/packages/language/ar-EG.ts +1 -0
  122. package/packages/language/de-DE.ts +1 -0
  123. package/packages/language/en-US.ts +1 -0
  124. package/packages/language/es-ES.ts +1 -0
  125. package/packages/language/fr-FR.ts +1 -0
  126. package/packages/language/hu-HU.ts +1 -0
  127. package/packages/language/hy-AM.ts +1 -0
  128. package/packages/language/it-IT.ts +1 -0
  129. package/packages/language/ja-JP.ts +1 -0
  130. package/packages/language/ko-KR.ts +1 -0
  131. package/packages/language/nb-NO.ts +1 -0
  132. package/packages/language/pt-BR.ts +1 -0
  133. package/packages/language/ru-RU.ts +1 -0
  134. package/packages/language/th-TH.ts +1 -0
  135. package/packages/language/ug-CN.ts +1 -0
  136. package/packages/language/uk-UA.ts +1 -0
  137. package/packages/language/vi-VN.ts +1 -0
  138. package/packages/language/zh-CHT.ts +1 -0
  139. package/packages/language/zh-CN.ts +1 -0
  140. package/packages/ui/index.ts +7 -1
  141. package/styles/components/button-group.scss +14 -2
  142. package/styles/components/button.scss +7 -5
  143. package/styles/components/date-picker.scss +33 -11
  144. package/types/components/button-group.d.ts +3 -1
  145. package/types/components/button.d.ts +2 -2
  146. package/types/components/date-picker.d.ts +32 -1
  147. /package/es/icon/{iconfont.1736058631411.ttf → iconfont.1736122977610.ttf} +0 -0
  148. /package/es/icon/{iconfont.1736058631411.woff → iconfont.1736122977610.woff} +0 -0
  149. /package/es/icon/{iconfont.1736058631411.woff2 → iconfont.1736122977610.woff2} +0 -0
  150. /package/es/{iconfont.1736058631411.ttf → iconfont.1736122977610.ttf} +0 -0
  151. /package/es/{iconfont.1736058631411.woff → iconfont.1736122977610.woff} +0 -0
  152. /package/es/{iconfont.1736058631411.woff2 → iconfont.1736122977610.woff2} +0 -0
  153. /package/lib/icon/style/{iconfont.1736058631411.ttf → iconfont.1736122977610.ttf} +0 -0
  154. /package/lib/icon/style/{iconfont.1736058631411.woff → iconfont.1736122977610.woff} +0 -0
  155. /package/lib/icon/style/{iconfont.1736058631411.woff2 → iconfont.1736122977610.woff2} +0 -0
  156. /package/lib/{iconfont.1736058631411.ttf → iconfont.1736122977610.ttf} +0 -0
  157. /package/lib/{iconfont.1736058631411.woff → iconfont.1736122977610.woff} +0 -0
  158. /package/lib/{iconfont.1736058631411.woff2 → iconfont.1736122977610.woff2} +0 -0
package/lib/index.umd.js CHANGED
@@ -3414,6 +3414,7 @@ setTheme();
3414
3414
  },
3415
3415
  error: {
3416
3416
  downErr: '下载失败',
3417
+ errLargeData: '当绑定的数据量过大时,应该请使用 {0},否则可能会出现卡顿',
3417
3418
  groupFixed: '如果使用分组表头,冻结列必须按组设置',
3418
3419
  groupMouseRange: '分组表头与 "{0}" 不能同时使用,这可能会出现错误',
3419
3420
  groupTag: '分组列头应该使用 "{0}" 而不是 "{1}",这可能会出现错误',
@@ -4141,14 +4142,14 @@ function checkDynamic() {
4141
4142
  }
4142
4143
  ;// CONCATENATED MODULE: ./packages/ui/src/log.ts
4143
4144
 
4144
- const log_version = `ui v${"4.3.63"}`;
4145
+ const log_version = `ui v${"4.3.65"}`;
4145
4146
  const warnLog = log.create('warn', log_version);
4146
4147
  const errLog = log.create('error', log_version);
4147
4148
  ;// CONCATENATED MODULE: ./packages/ui/index.ts
4148
4149
 
4149
4150
 
4150
4151
 
4151
- const ui_version = "4.3.63";
4152
+ const ui_version = "4.3.65";
4152
4153
  index_esm_VxeUI.uiVersion = ui_version;
4153
4154
  index_esm_VxeUI.dynamicApp = dynamicApp;
4154
4155
  function config(options) {
@@ -4229,7 +4230,13 @@ setConfig({
4229
4230
  startDate: new Date(1900, 0, 1),
4230
4231
  endDate: new Date(2100, 0, 1),
4231
4232
  startDay: 1,
4232
- selectDay: 1
4233
+ selectDay: 1,
4234
+ shortcutConfig: {
4235
+ // position: 'left',
4236
+ align: 'left',
4237
+ mode: 'text',
4238
+ autoClose: true
4239
+ }
4233
4240
  },
4234
4241
  drawer: {
4235
4242
  // size: null,
@@ -6401,6 +6408,18 @@ function handleBooleanDefaultValue(value) {
6401
6408
  }
6402
6409
  return '';
6403
6410
  });
6411
+ const computeBtnAlign = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
6412
+ const {
6413
+ align
6414
+ } = props;
6415
+ if (align) {
6416
+ return align;
6417
+ }
6418
+ if ($xeButtonGroup) {
6419
+ return $xeButtonGroup.props.align;
6420
+ }
6421
+ return false;
6422
+ });
6404
6423
  const computeBtnRound = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
6405
6424
  const {
6406
6425
  round
@@ -6762,7 +6781,6 @@ function handleBooleanDefaultValue(value) {
6762
6781
  const {
6763
6782
  className,
6764
6783
  popupClassName,
6765
- align,
6766
6784
  trigger,
6767
6785
  title,
6768
6786
  routerLink,
@@ -6780,6 +6798,7 @@ function handleBooleanDefaultValue(value) {
6780
6798
  const btnMode = computeBtnMode.value;
6781
6799
  const btnStatus = computeBtnStatus.value;
6782
6800
  const btnRound = computeBtnRound.value;
6801
+ const btnAlign = computeBtnAlign.value;
6783
6802
  const btnCircle = computeBtnCircle.value;
6784
6803
  const btnTransfer = computeBtnTransfer.value;
6785
6804
  const btnDisabled = computeBtnDisabled.value;
@@ -6809,7 +6828,7 @@ function handleBooleanDefaultValue(value) {
6809
6828
  }]
6810
6829
  }, [routerLink ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)((0,external_commonjs_vue_commonjs2_vue_root_Vue_.resolveComponent)('router-link'), {
6811
6830
  ref: refButton,
6812
- class: ['vxe-button', 'vxe-button--link', `type--${btnMode}`, align ? `align--${align}` : '', className ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(className) ? className({
6831
+ class: ['vxe-button', 'vxe-button--link', `type--${btnMode}`, btnAlign ? `align--${btnAlign}` : '', className ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(className) ? className({
6813
6832
  $button: $xeButton
6814
6833
  }) : className : '', {
6815
6834
  [`size--${vSize}`]: vSize,
@@ -6834,7 +6853,7 @@ function handleBooleanDefaultValue(value) {
6834
6853
  }
6835
6854
  }) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('button', {
6836
6855
  ref: refButton,
6837
- class: ['vxe-button', `type--${btnMode}`, align ? `align--${align}` : '', className ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(className) ? className({
6856
+ class: ['vxe-button', `type--${btnMode}`, btnAlign ? `align--${btnAlign}` : '', className ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(className) ? className({
6838
6857
  $button: $xeButton
6839
6858
  }) : className : '', {
6840
6859
  [`size--${vSize}`]: vSize,
@@ -6876,7 +6895,7 @@ function handleBooleanDefaultValue(value) {
6876
6895
  if (routerLink) {
6877
6896
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)((0,external_commonjs_vue_commonjs2_vue_root_Vue_.resolveComponent)('router-link'), {
6878
6897
  ref: refButton,
6879
- class: ['vxe-button', 'vxe-button--link', `type--${btnMode}`, align ? `align--${align}` : '', className ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(className) ? className({
6898
+ class: ['vxe-button', 'vxe-button--link', `type--${btnMode}`, btnAlign ? `align--${btnAlign}` : '', className ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(className) ? className({
6880
6899
  $button: $xeButton
6881
6900
  }) : className : '', {
6882
6901
  [`size--${vSize}`]: vSize,
@@ -6902,7 +6921,7 @@ function handleBooleanDefaultValue(value) {
6902
6921
  }
6903
6922
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('button', {
6904
6923
  ref: refButton,
6905
- class: ['vxe-button', `type--${btnMode}`, align ? `align--${align}` : '', className ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(className) ? className({
6924
+ class: ['vxe-button', `type--${btnMode}`, btnAlign ? `align--${btnAlign}` : '', className ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(className) ? className({
6906
6925
  $button: $xeButton
6907
6926
  }) : className : '', {
6908
6927
  [`size--${vSize}`]: vSize,
@@ -6968,6 +6987,7 @@ const Button = VxeButton;
6968
6987
  round: Boolean,
6969
6988
  vertical: Boolean,
6970
6989
  circle: Boolean,
6990
+ align: String,
6971
6991
  className: [String, Function],
6972
6992
  disabled: Boolean,
6973
6993
  permissionCode: [String, Number],
@@ -14182,6 +14202,7 @@ const Countdown = VxeCountdown;
14182
14202
 
14183
14203
 
14184
14204
 
14205
+
14185
14206
  /* harmony default export */ var date_picker = ((0,external_commonjs_vue_commonjs2_vue_root_Vue_.defineComponent)({
14186
14207
  name: 'VxeDatePicker',
14187
14208
  props: {
@@ -14262,6 +14283,7 @@ const Countdown = VxeCountdown;
14262
14283
  type: Boolean,
14263
14284
  default: null
14264
14285
  },
14286
+ shortcutConfig: Object,
14265
14287
  // 已废弃 startWeek,被 startDay 替换
14266
14288
  startWeek: Number,
14267
14289
  // 已废弃
@@ -14269,7 +14291,7 @@ const Countdown = VxeCountdown;
14269
14291
  // 已废弃
14270
14292
  autocomplete: String
14271
14293
  },
14272
- emits: ['update:modelValue', 'input', 'change', 'keydown', 'keyup', 'wheel', 'click', 'focus', 'blur', 'clear', 'prefix-click', 'suffix-click', 'date-prev', 'date-today', 'date-next'],
14294
+ emits: ['update:modelValue', 'input', 'change', 'keydown', 'keyup', 'wheel', 'click', 'focus', 'blur', 'clear', 'prefix-click', 'suffix-click', 'date-prev', 'date-today', 'date-next', 'shortcut-click'],
14273
14295
  setup(props, context) {
14274
14296
  const {
14275
14297
  slots,
@@ -14787,6 +14809,9 @@ const Countdown = VxeCountdown;
14787
14809
  } = props;
14788
14810
  return immediate;
14789
14811
  });
14812
+ const computeShortcutOpts = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
14813
+ return Object.assign({}, getConfig().datePicker.shortcutConfig, props.shortcutConfig);
14814
+ });
14790
14815
  const updateModelValue = modelValue => {
14791
14816
  const {
14792
14817
  isActivated,
@@ -14807,18 +14832,25 @@ const Countdown = VxeCountdown;
14807
14832
  };
14808
14833
  const parseDate = (value, format) => {
14809
14834
  const {
14810
- type
14835
+ type,
14836
+ multiple
14811
14837
  } = props;
14812
14838
  if (type === 'time') {
14813
14839
  return toStringTimeDate(value);
14814
14840
  }
14841
+ if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(value)) {
14842
+ return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toStringDate(value[0], format);
14843
+ }
14844
+ if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isString(value)) {
14845
+ return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toStringDate(multiple ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().last(value.split(',')) : value, format);
14846
+ }
14815
14847
  return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toStringDate(value, format);
14816
14848
  };
14817
14849
  const triggerEvent = evnt => {
14818
14850
  const {
14819
14851
  inputValue
14820
14852
  } = reactData;
14821
- datePickerMethods.dispatchEvent(evnt.type, {
14853
+ dispatchEvent(evnt.type, {
14822
14854
  value: inputValue
14823
14855
  }, evnt);
14824
14856
  };
@@ -14826,7 +14858,7 @@ const Countdown = VxeCountdown;
14826
14858
  reactData.inputValue = value;
14827
14859
  emit('update:modelValue', value);
14828
14860
  if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toValueString(props.modelValue) !== value) {
14829
- datePickerMethods.dispatchEvent('change', {
14861
+ dispatchEvent('change', {
14830
14862
  value
14831
14863
  }, evnt);
14832
14864
  // 自动更新校验状态
@@ -14845,7 +14877,7 @@ const Countdown = VxeCountdown;
14845
14877
  if (inpImmediate) {
14846
14878
  handleChange(value, evnt);
14847
14879
  } else {
14848
- datePickerMethods.dispatchEvent('input', {
14880
+ dispatchEvent('input', {
14849
14881
  value
14850
14882
  }, evnt);
14851
14883
  }
@@ -14871,7 +14903,7 @@ const Countdown = VxeCountdown;
14871
14903
  const {
14872
14904
  inputValue
14873
14905
  } = reactData;
14874
- datePickerMethods.dispatchEvent('prefix-click', {
14906
+ dispatchEvent('prefix-click', {
14875
14907
  value: inputValue
14876
14908
  }, evnt);
14877
14909
  }
@@ -14891,7 +14923,7 @@ const Countdown = VxeCountdown;
14891
14923
  hidePanel();
14892
14924
  }
14893
14925
  handleChange('', evnt);
14894
- datePickerMethods.dispatchEvent('clear', {
14926
+ dispatchEvent('clear', {
14895
14927
  value
14896
14928
  }, evnt);
14897
14929
  };
@@ -14901,7 +14933,7 @@ const Countdown = VxeCountdown;
14901
14933
  const {
14902
14934
  inputValue
14903
14935
  } = reactData;
14904
- datePickerMethods.dispatchEvent('suffix-click', {
14936
+ dispatchEvent('suffix-click', {
14905
14937
  value: inputValue
14906
14938
  }, evnt);
14907
14939
  }
@@ -14980,7 +15012,7 @@ const Countdown = VxeCountdown;
14980
15012
  reactData.selectMonth = month;
14981
15013
  }
14982
15014
  };
14983
- const dateChange = date => {
15015
+ const dateChange = (date, isReload) => {
14984
15016
  const {
14985
15017
  modelValue,
14986
15018
  multiple
@@ -15007,10 +15039,9 @@ const Countdown = VxeCountdown;
15007
15039
  dateCheckMonth(date);
15008
15040
  if (multiple) {
15009
15041
  // 如果为多选
15010
- const dateMultipleValue = computeDateMultipleValue.value;
15011
15042
  if (isDateTimeType) {
15012
15043
  // 如果是datetime特殊类型
15013
- const dateListValue = [...computeDateListValue.value];
15044
+ const dateListValue = isReload ? [] : [...computeDateListValue.value];
15014
15045
  const datetimeRest = [];
15015
15046
  const eqIndex = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findIndexOf(dateListValue, val => external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isDateSame(date, val, 'yyyyMMdd'));
15016
15047
  if (eqIndex === -1) {
@@ -15032,6 +15063,7 @@ const Countdown = VxeCountdown;
15032
15063
  type: 'update'
15033
15064
  });
15034
15065
  } else {
15066
+ const dateMultipleValue = isReload ? [] : computeDateMultipleValue.value;
15035
15067
  // 如果是日期类型
15036
15068
  if (dateMultipleValue.some(val => external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isEqual(val, inpVal))) {
15037
15069
  handleChange(dateMultipleValue.filter(val => !external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isEqual(val, inpVal)).join(','), {
@@ -15120,7 +15152,7 @@ const Countdown = VxeCountdown;
15120
15152
  if (!reactData.visiblePanel) {
15121
15153
  reactData.isActivated = false;
15122
15154
  }
15123
- datePickerMethods.dispatchEvent('blur', {
15155
+ dispatchEvent('blur', {
15124
15156
  value
15125
15157
  }, evnt);
15126
15158
  // 自动更新校验状态
@@ -15146,7 +15178,23 @@ const Countdown = VxeCountdown;
15146
15178
  reactData.selectMonth = month;
15147
15179
  };
15148
15180
  const dateNowHandle = () => {
15149
- const currentDate = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().getWhatDay(Date.now(), 0, 'first');
15181
+ const {
15182
+ type
15183
+ } = props;
15184
+ const firstDayOfWeek = computeFirstDayOfWeek.value;
15185
+ let currentDate = new Date();
15186
+ switch (type) {
15187
+ case 'week':
15188
+ currentDate = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().getWhatWeek(currentDate, 0, firstDayOfWeek);
15189
+ break;
15190
+ case 'datetime':
15191
+ currentDate = new Date();
15192
+ reactData.datetimePanelValue = new Date();
15193
+ break;
15194
+ default:
15195
+ currentDate = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().getWhatDay(Date.now(), 0, 'first');
15196
+ break;
15197
+ }
15150
15198
  reactData.currentDate = currentDate;
15151
15199
  dateMonthHandle(currentDate, 0);
15152
15200
  };
@@ -15195,7 +15243,7 @@ const Countdown = VxeCountdown;
15195
15243
  }
15196
15244
  }
15197
15245
  reactData.selectMonth = viewDate;
15198
- datePickerMethods.dispatchEvent('date-prev', {
15246
+ dispatchEvent('date-prev', {
15199
15247
  viewType: datePanelType,
15200
15248
  viewDate,
15201
15249
  value,
@@ -15205,11 +15253,11 @@ const Countdown = VxeCountdown;
15205
15253
  };
15206
15254
  const dateTodayMonthEvent = evnt => {
15207
15255
  dateNowHandle();
15256
+ dateChange(reactData.currentDate, true);
15208
15257
  if (!props.multiple) {
15209
- dateChange(reactData.currentDate);
15210
15258
  hidePanel();
15211
15259
  }
15212
- datePickerMethods.dispatchEvent('date-today', {
15260
+ dispatchEvent('date-today', {
15213
15261
  type: props.type
15214
15262
  }, evnt);
15215
15263
  };
@@ -15247,7 +15295,7 @@ const Countdown = VxeCountdown;
15247
15295
  }
15248
15296
  }
15249
15297
  reactData.selectMonth = viewDate;
15250
- datePickerMethods.dispatchEvent('date-next', {
15298
+ dispatchEvent('date-next', {
15251
15299
  viewType: datePanelType,
15252
15300
  value,
15253
15301
  type
@@ -15531,17 +15579,25 @@ const Countdown = VxeCountdown;
15531
15579
  offsetMonth = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().getWhatMonth(offsetMonth, 4);
15532
15580
  }
15533
15581
  dateMoveMonth(offsetMonth);
15534
- } else {
15582
+ } else if (datePanelType === 'week') {
15535
15583
  let offsetDay = datePanelValue || external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().getWhatDay(Date.now(), 0, 'first');
15536
15584
  const firstDayOfWeek = computeFirstDayOfWeek.value;
15585
+ if (isUpArrow) {
15586
+ offsetDay = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().getWhatWeek(offsetDay, -1, firstDayOfWeek);
15587
+ } else if (isDwArrow) {
15588
+ offsetDay = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().getWhatWeek(offsetDay, 1, firstDayOfWeek);
15589
+ }
15590
+ dateMoveDay(offsetDay);
15591
+ } else {
15592
+ let offsetDay = datePanelValue || external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().getWhatDay(Date.now(), 0, 'first');
15537
15593
  if (isLeftArrow) {
15538
15594
  offsetDay = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().getWhatDay(offsetDay, -1);
15539
15595
  } else if (isUpArrow) {
15540
- offsetDay = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().getWhatWeek(offsetDay, -1, firstDayOfWeek);
15596
+ offsetDay = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().getWhatWeek(offsetDay, -1, offsetDay.getDay());
15541
15597
  } else if (isRightArrow) {
15542
15598
  offsetDay = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().getWhatDay(offsetDay, 1);
15543
15599
  } else if (isDwArrow) {
15544
- offsetDay = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().getWhatWeek(offsetDay, 1, firstDayOfWeek);
15600
+ offsetDay = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().getWhatWeek(offsetDay, 1, offsetDay.getDay());
15545
15601
  }
15546
15602
  dateMoveDay(offsetDay);
15547
15603
  }
@@ -15714,7 +15770,27 @@ const Countdown = VxeCountdown;
15714
15770
  const clickEvent = evnt => {
15715
15771
  triggerEvent(evnt);
15716
15772
  };
15717
- // 弹出面板
15773
+ const handleShortcutEvent = ({
15774
+ option,
15775
+ $event
15776
+ }) => {
15777
+ const shortcutOpts = computeShortcutOpts.value;
15778
+ const {
15779
+ autoClose
15780
+ } = shortcutOpts;
15781
+ const clickMethod = option.clickMethod || shortcutOpts.clickMethod;
15782
+ const shortcutParams = {
15783
+ $datePicker: $xeDatePicker,
15784
+ option: option
15785
+ };
15786
+ if (clickMethod) {
15787
+ clickMethod(shortcutParams);
15788
+ }
15789
+ if (autoClose) {
15790
+ hidePanel();
15791
+ }
15792
+ dispatchEvent('shortcut-click', shortcutParams, $event);
15793
+ };
15718
15794
  // 全局事件
15719
15795
  const handleGlobalMousedownEvent = evnt => {
15720
15796
  const {
@@ -16217,6 +16293,27 @@ const Countdown = VxeCountdown;
16217
16293
  }, item.label);
16218
16294
  })) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createCommentVNode)()])];
16219
16295
  };
16296
+ const renderShortcutBtn = (pos, isVertical) => {
16297
+ const shortcutOpts = computeShortcutOpts.value;
16298
+ const {
16299
+ options,
16300
+ position,
16301
+ align,
16302
+ mode
16303
+ } = shortcutOpts;
16304
+ if (isEnableConf(shortcutOpts) && options && options.length && (position || 'left') === pos) {
16305
+ return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
16306
+ class: `vxe-date-picker--panel-${pos}-wrapper`
16307
+ }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(button_group, {
16308
+ options,
16309
+ mode,
16310
+ align,
16311
+ vertical: isVertical,
16312
+ onClick: handleShortcutEvent
16313
+ })]);
16314
+ }
16315
+ return renderEmptyElement($xeDatePicker);
16316
+ };
16220
16317
  const renderPanel = () => {
16221
16318
  const {
16222
16319
  type
@@ -16230,12 +16327,18 @@ const Countdown = VxeCountdown;
16230
16327
  } = reactData;
16231
16328
  const vSize = computeSize.value;
16232
16329
  const btnTransfer = computeBtnTransfer.value;
16330
+ const shortcutOpts = computeShortcutOpts.value;
16331
+ const {
16332
+ options,
16333
+ position
16334
+ } = shortcutOpts;
16233
16335
  const headerSlot = slots.header;
16234
16336
  const footerSlot = slots.footer;
16235
16337
  const topSlot = slots.top;
16236
16338
  const bottomSlot = slots.bottom;
16237
16339
  const leftSlot = slots.left;
16238
16340
  const rightSlot = slots.right;
16341
+ const hasShortcutBtn = options && options.length;
16239
16342
  const renders = [];
16240
16343
  if (type === 'datetime') {
16241
16344
  renders.push((0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
@@ -16270,10 +16373,10 @@ const Countdown = VxeCountdown;
16270
16373
  'is--transfer': btnTransfer,
16271
16374
  'ani--leave': isAniVisible,
16272
16375
  'ani--enter': visiblePanel,
16273
- 'show--top': !!(topSlot || headerSlot),
16274
- 'show--bottom': !!(bottomSlot || footerSlot),
16275
- 'show--left': !!leftSlot,
16276
- 'show--right': !!rightSlot
16376
+ 'show--top': !!(topSlot || headerSlot || hasShortcutBtn && (position === 'top' || position === 'header')),
16377
+ 'show--bottom': !!(bottomSlot || footerSlot || hasShortcutBtn && (position === 'bottom' || position === 'footer')),
16378
+ 'show--left': !!(leftSlot || hasShortcutBtn && position === 'left'),
16379
+ 'show--right': !!(rightSlot || hasShortcutBtn && position === 'right')
16277
16380
  }],
16278
16381
  placement: panelPlacement,
16279
16382
  style: panelStyle
@@ -16281,23 +16384,23 @@ const Countdown = VxeCountdown;
16281
16384
  class: 'vxe-date-picker--panel-layout-wrapper'
16282
16385
  }, [topSlot ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
16283
16386
  class: 'vxe-date-picker--panel-top-wrapper'
16284
- }, topSlot({})) : renderEmptyElement($xeDatePicker), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
16387
+ }, topSlot({})) : renderShortcutBtn('top'), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
16285
16388
  class: 'vxe-date-picker--panel-body-layout-wrapper'
16286
16389
  }, [leftSlot ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
16287
16390
  class: 'vxe-date-picker--panel-left-wrapper'
16288
- }, leftSlot({})) : renderEmptyElement($xeDatePicker), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
16391
+ }, leftSlot({})) : renderShortcutBtn('left', true), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
16289
16392
  class: 'vxe-date-picker--panel-body-content-wrapper'
16290
16393
  }, [headerSlot ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
16291
16394
  class: 'vxe-date-picker--panel-header-wrapper'
16292
- }, headerSlot({})) : renderEmptyElement($xeDatePicker), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
16395
+ }, headerSlot({})) : renderShortcutBtn('header'), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
16293
16396
  class: 'vxe-date-picker--panel-body-wrapper'
16294
16397
  }, renders), footerSlot ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
16295
16398
  class: 'vxe-date-picker--panel-footer-wrapper'
16296
- }, footerSlot({})) : renderEmptyElement($xeDatePicker)]), rightSlot ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
16399
+ }, footerSlot({})) : renderShortcutBtn('footer')]), rightSlot ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
16297
16400
  class: 'vxe-date-picker--panel-right-wrapper'
16298
- }, rightSlot({})) : renderEmptyElement($xeDatePicker)]), bottomSlot ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
16401
+ }, rightSlot({})) : renderShortcutBtn('right', true)]), bottomSlot ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
16299
16402
  class: 'vxe-date-picker--panel-bottom-wrapper'
16300
- }, bottomSlot({})) : renderEmptyElement($xeDatePicker)])] : [])]);
16403
+ }, bottomSlot({})) : renderShortcutBtn('bottom')])] : [])]);
16301
16404
  };
16302
16405
  const renderPrefixIcon = () => {
16303
16406
  const {