vxe-pc-ui 4.14.28 → 4.14.29

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/dist/all.esm.js +83 -7
  2. package/es/date-panel/src/date-panel.js +4 -3
  3. package/es/date-range-picker/src/date-range-picker.js +77 -2
  4. package/es/ui/index.js +1 -1
  5. package/es/ui/src/log.js +1 -1
  6. package/lib/date-panel/src/date-panel.js +9 -3
  7. package/lib/date-panel/src/date-panel.min.js +1 -1
  8. package/lib/date-range-picker/src/date-range-picker.js +85 -2
  9. package/lib/date-range-picker/src/date-range-picker.min.js +1 -1
  10. package/lib/index.umd.js +96 -7
  11. package/lib/index.umd.min.js +1 -1
  12. package/lib/ui/index.js +1 -1
  13. package/lib/ui/index.min.js +1 -1
  14. package/lib/ui/src/log.js +1 -1
  15. package/lib/ui/src/log.min.js +1 -1
  16. package/package.json +1 -1
  17. package/packages/date-panel/src/date-panel.ts +19 -18
  18. package/packages/date-range-picker/src/date-range-picker.ts +78 -3
  19. package/types/components/date-panel.d.ts +19 -2
  20. package/types/components/date-range-picker.d.ts +2 -0
  21. package/types/components/gantt.d.ts +4 -0
  22. /package/es/icon/{iconfont.1780570418794.ttf → iconfont.1780632924397.ttf} +0 -0
  23. /package/es/icon/{iconfont.1780570418794.woff → iconfont.1780632924397.woff} +0 -0
  24. /package/es/icon/{iconfont.1780570418794.woff2 → iconfont.1780632924397.woff2} +0 -0
  25. /package/es/{iconfont.1780570418794.ttf → iconfont.1780632924397.ttf} +0 -0
  26. /package/es/{iconfont.1780570418794.woff → iconfont.1780632924397.woff} +0 -0
  27. /package/es/{iconfont.1780570418794.woff2 → iconfont.1780632924397.woff2} +0 -0
  28. /package/lib/icon/style/{iconfont.1780570418794.ttf → iconfont.1780632924397.ttf} +0 -0
  29. /package/lib/icon/style/{iconfont.1780570418794.woff → iconfont.1780632924397.woff} +0 -0
  30. /package/lib/icon/style/{iconfont.1780570418794.woff2 → iconfont.1780632924397.woff2} +0 -0
  31. /package/lib/{iconfont.1780570418794.ttf → iconfont.1780632924397.ttf} +0 -0
  32. /package/lib/{iconfont.1780570418794.woff → iconfont.1780632924397.woff} +0 -0
  33. /package/lib/{iconfont.1780570418794.woff2 → iconfont.1780632924397.woff2} +0 -0
package/dist/all.esm.js CHANGED
@@ -80,11 +80,11 @@ function checkDynamic() {
80
80
  }
81
81
  }
82
82
 
83
- const version$1 = `ui v${"4.14.28"}`;
83
+ const version$1 = `ui v${"4.14.30"}`;
84
84
  const warnLog = log.create('warn', version$1);
85
85
  const errLog = log.create('error', version$1);
86
86
 
87
- const version = "4.14.28";
87
+ const version = "4.14.30";
88
88
  VxeUI.uiVersion = version;
89
89
  VxeUI.dynamicApp = dynamicApp;
90
90
  function config(options) {
@@ -15268,7 +15268,7 @@ var VxeDatePanelComponent = defineVxeComponent({
15268
15268
  if (!props.multiple) {
15269
15269
  hidePanel();
15270
15270
  }
15271
- dispatchEvent('date-today', { type: props.type }, evnt);
15271
+ dispatchEvent('date-today', { viewType: reactData.datePanelType, type: props.type, viewDate: reactData.selectMonth }, evnt);
15272
15272
  };
15273
15273
  const dateNextEvent = (evnt) => {
15274
15274
  const { type } = props;
@@ -15301,7 +15301,7 @@ var VxeDatePanelComponent = defineVxeComponent({
15301
15301
  }
15302
15302
  }
15303
15303
  reactData.selectMonth = viewDate;
15304
- dispatchEvent('date-next', { viewType: datePanelType, value, type }, evnt);
15304
+ dispatchEvent('date-next', { viewType: datePanelType, value, type, viewDate }, evnt);
15305
15305
  }
15306
15306
  };
15307
15307
  const isRangeDisabled = (item) => {
@@ -15585,7 +15585,8 @@ var VxeDatePanelComponent = defineVxeComponent({
15585
15585
  }
15586
15586
  },
15587
15587
  getPanelDate() {
15588
- return reactData.selectMonth;
15588
+ const { selectMonth } = reactData;
15589
+ return selectMonth ? new Date(selectMonth.getTime()) : new Date();
15589
15590
  },
15590
15591
  checkValue(value) {
15591
15592
  afterCheckValue(value);
@@ -17186,6 +17187,10 @@ var VxeDateRangePickerComponent = defineVxeComponent({
17186
17187
  type: Boolean,
17187
17188
  default: () => getConfig$3().dateRangePicker.clearable
17188
17189
  },
17190
+ linkedPanels: {
17191
+ type: Boolean,
17192
+ default: () => getConfig$3().dateRangePicker.linkedPanels
17193
+ },
17189
17194
  readonly: {
17190
17195
  type: Boolean,
17191
17196
  default: null
@@ -17701,6 +17706,7 @@ var VxeDateRangePickerComponent = defineVxeComponent({
17701
17706
  }
17702
17707
  if (!reactData.visiblePanel) {
17703
17708
  reactData.isActivated = false;
17709
+ checkValue();
17704
17710
  }
17705
17711
  dispatchEvent('blur', { value, startValue, endValue }, evnt);
17706
17712
  // 自动更新校验状态
@@ -17772,6 +17778,70 @@ var VxeDateRangePickerComponent = defineVxeComponent({
17772
17778
  }
17773
17779
  });
17774
17780
  };
17781
+ const startPanelDateBtnChangeEvent = (params) => {
17782
+ const { linkedPanels } = props;
17783
+ if (linkedPanels) {
17784
+ const { viewType } = params;
17785
+ const $startDatePanel = refStartDatePanel.value;
17786
+ const $endDatePanel = refEndDatePanel.value;
17787
+ if (!$startDatePanel || !$endDatePanel) {
17788
+ return;
17789
+ }
17790
+ const startPanelDate = $startDatePanel.getPanelDate();
17791
+ if (!startPanelDate) {
17792
+ return;
17793
+ }
17794
+ const endYear = startPanelDate.getFullYear();
17795
+ const endMonth = startPanelDate.getMonth();
17796
+ switch (viewType) {
17797
+ case 'day':
17798
+ case 'date':
17799
+ case 'week': {
17800
+ if (endMonth < 11) {
17801
+ startPanelDate.setMonth(endMonth + 1);
17802
+ }
17803
+ else {
17804
+ startPanelDate.setFullYear(endYear + 1);
17805
+ startPanelDate.setMonth(0);
17806
+ }
17807
+ $endDatePanel.setPanelDate(startPanelDate);
17808
+ break;
17809
+ }
17810
+ }
17811
+ }
17812
+ };
17813
+ const endPanelDateBtnChangeEvent = (params) => {
17814
+ const { linkedPanels } = props;
17815
+ if (linkedPanels) {
17816
+ const { viewType } = params;
17817
+ const $startDatePanel = refStartDatePanel.value;
17818
+ const $endDatePanel = refEndDatePanel.value;
17819
+ if (!$startDatePanel || !$endDatePanel) {
17820
+ return;
17821
+ }
17822
+ const endPanelDate = $endDatePanel.getPanelDate();
17823
+ if (!endPanelDate) {
17824
+ return;
17825
+ }
17826
+ const endYear = endPanelDate.getFullYear();
17827
+ const endMonth = endPanelDate.getMonth();
17828
+ switch (viewType) {
17829
+ case 'day':
17830
+ case 'date':
17831
+ case 'week': {
17832
+ if (endMonth) {
17833
+ endPanelDate.setMonth(endMonth - 1);
17834
+ }
17835
+ else {
17836
+ endPanelDate.setFullYear(endYear - 1);
17837
+ endPanelDate.setMonth(11);
17838
+ }
17839
+ $startDatePanel.setPanelDate(endPanelDate);
17840
+ break;
17841
+ }
17842
+ }
17843
+ }
17844
+ };
17775
17845
  // 全局事件
17776
17846
  const handleGlobalMousedownEvent = (evnt) => {
17777
17847
  const { visiblePanel, isActivated } = reactData;
@@ -18132,7 +18202,10 @@ var VxeDateRangePickerComponent = defineVxeComponent({
18132
18202
  disabledMethod: props.disabledMethod,
18133
18203
  selectDay: props.selectDay,
18134
18204
  cellClassName: panelCellClassName,
18135
- onChange: startPanelChangeEvent
18205
+ onChange: startPanelChangeEvent,
18206
+ onDatePrev: startPanelDateBtnChangeEvent,
18207
+ onDateToday: startPanelDateBtnChangeEvent,
18208
+ onDateNext: startPanelDateBtnChangeEvent
18136
18209
  }),
18137
18210
  h(VxeDatePanelComponent, {
18138
18211
  ref: refEndDatePanel,
@@ -18153,7 +18226,10 @@ var VxeDateRangePickerComponent = defineVxeComponent({
18153
18226
  disabledMethod: props.disabledMethod,
18154
18227
  selectDay: props.selectDay,
18155
18228
  cellClassName: panelCellClassName,
18156
- onChange: endPanelChangeEvent
18229
+ onChange: endPanelChangeEvent,
18230
+ onDatePrev: endPanelDateBtnChangeEvent,
18231
+ onDateToday: endPanelDateBtnChangeEvent,
18232
+ onDateNext: endPanelDateBtnChangeEvent
18157
18233
  })
18158
18234
  ]),
18159
18235
  h('div', {
@@ -857,7 +857,7 @@ export default defineVxeComponent({
857
857
  if (!props.multiple) {
858
858
  hidePanel();
859
859
  }
860
- dispatchEvent('date-today', { type: props.type }, evnt);
860
+ dispatchEvent('date-today', { viewType: reactData.datePanelType, type: props.type, viewDate: reactData.selectMonth }, evnt);
861
861
  };
862
862
  const dateNextEvent = (evnt) => {
863
863
  const { type } = props;
@@ -890,7 +890,7 @@ export default defineVxeComponent({
890
890
  }
891
891
  }
892
892
  reactData.selectMonth = viewDate;
893
- dispatchEvent('date-next', { viewType: datePanelType, value, type }, evnt);
893
+ dispatchEvent('date-next', { viewType: datePanelType, value, type, viewDate }, evnt);
894
894
  }
895
895
  };
896
896
  const isRangeDisabled = (item) => {
@@ -1176,7 +1176,8 @@ export default defineVxeComponent({
1176
1176
  }
1177
1177
  },
1178
1178
  getPanelDate() {
1179
- return reactData.selectMonth;
1179
+ const { selectMonth } = reactData;
1180
+ return selectMonth ? new Date(selectMonth.getTime()) : new Date();
1180
1181
  },
1181
1182
  checkValue(value) {
1182
1183
  afterCheckValue(value);
@@ -29,6 +29,10 @@ export default defineVxeComponent({
29
29
  type: Boolean,
30
30
  default: () => getConfig().dateRangePicker.clearable
31
31
  },
32
+ linkedPanels: {
33
+ type: Boolean,
34
+ default: () => getConfig().dateRangePicker.linkedPanels
35
+ },
32
36
  readonly: {
33
37
  type: Boolean,
34
38
  default: null
@@ -544,6 +548,7 @@ export default defineVxeComponent({
544
548
  }
545
549
  if (!reactData.visiblePanel) {
546
550
  reactData.isActivated = false;
551
+ checkValue();
547
552
  }
548
553
  dispatchEvent('blur', { value, startValue, endValue }, evnt);
549
554
  // 自动更新校验状态
@@ -615,6 +620,70 @@ export default defineVxeComponent({
615
620
  }
616
621
  });
617
622
  };
623
+ const startPanelDateBtnChangeEvent = (params) => {
624
+ const { linkedPanels } = props;
625
+ if (linkedPanels) {
626
+ const { viewType } = params;
627
+ const $startDatePanel = refStartDatePanel.value;
628
+ const $endDatePanel = refEndDatePanel.value;
629
+ if (!$startDatePanel || !$endDatePanel) {
630
+ return;
631
+ }
632
+ const startPanelDate = $startDatePanel.getPanelDate();
633
+ if (!startPanelDate) {
634
+ return;
635
+ }
636
+ const endYear = startPanelDate.getFullYear();
637
+ const endMonth = startPanelDate.getMonth();
638
+ switch (viewType) {
639
+ case 'day':
640
+ case 'date':
641
+ case 'week': {
642
+ if (endMonth < 11) {
643
+ startPanelDate.setMonth(endMonth + 1);
644
+ }
645
+ else {
646
+ startPanelDate.setFullYear(endYear + 1);
647
+ startPanelDate.setMonth(0);
648
+ }
649
+ $endDatePanel.setPanelDate(startPanelDate);
650
+ break;
651
+ }
652
+ }
653
+ }
654
+ };
655
+ const endPanelDateBtnChangeEvent = (params) => {
656
+ const { linkedPanels } = props;
657
+ if (linkedPanels) {
658
+ const { viewType } = params;
659
+ const $startDatePanel = refStartDatePanel.value;
660
+ const $endDatePanel = refEndDatePanel.value;
661
+ if (!$startDatePanel || !$endDatePanel) {
662
+ return;
663
+ }
664
+ const endPanelDate = $endDatePanel.getPanelDate();
665
+ if (!endPanelDate) {
666
+ return;
667
+ }
668
+ const endYear = endPanelDate.getFullYear();
669
+ const endMonth = endPanelDate.getMonth();
670
+ switch (viewType) {
671
+ case 'day':
672
+ case 'date':
673
+ case 'week': {
674
+ if (endMonth) {
675
+ endPanelDate.setMonth(endMonth - 1);
676
+ }
677
+ else {
678
+ endPanelDate.setFullYear(endYear - 1);
679
+ endPanelDate.setMonth(11);
680
+ }
681
+ $startDatePanel.setPanelDate(endPanelDate);
682
+ break;
683
+ }
684
+ }
685
+ }
686
+ };
618
687
  // 全局事件
619
688
  const handleGlobalMousedownEvent = (evnt) => {
620
689
  const { visiblePanel, isActivated } = reactData;
@@ -975,7 +1044,10 @@ export default defineVxeComponent({
975
1044
  disabledMethod: props.disabledMethod,
976
1045
  selectDay: props.selectDay,
977
1046
  cellClassName: panelCellClassName,
978
- onChange: startPanelChangeEvent
1047
+ onChange: startPanelChangeEvent,
1048
+ onDatePrev: startPanelDateBtnChangeEvent,
1049
+ onDateToday: startPanelDateBtnChangeEvent,
1050
+ onDateNext: startPanelDateBtnChangeEvent
979
1051
  }),
980
1052
  h(VxeDatePanelComponent, {
981
1053
  ref: refEndDatePanel,
@@ -996,7 +1068,10 @@ export default defineVxeComponent({
996
1068
  disabledMethod: props.disabledMethod,
997
1069
  selectDay: props.selectDay,
998
1070
  cellClassName: panelCellClassName,
999
- onChange: endPanelChangeEvent
1071
+ onChange: endPanelChangeEvent,
1072
+ onDatePrev: endPanelDateBtnChangeEvent,
1073
+ onDateToday: endPanelDateBtnChangeEvent,
1074
+ onDateNext: endPanelDateBtnChangeEvent
1000
1075
  })
1001
1076
  ]),
1002
1077
  h('div', {
package/es/ui/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { VxeUI, setConfig, setIcon } from '@vxe-ui/core';
2
2
  import { dynamicApp } from '../dynamics';
3
3
  import { warnLog } from './src/log';
4
- export const version = "4.14.28";
4
+ export const version = "4.14.30";
5
5
  VxeUI.uiVersion = version;
6
6
  VxeUI.dynamicApp = dynamicApp;
7
7
  export function config(options) {
package/es/ui/src/log.js CHANGED
@@ -1,4 +1,4 @@
1
1
  import { log } from '@vxe-ui/core';
2
- const version = `ui v${"4.14.28"}`;
2
+ const version = `ui v${"4.14.30"}`;
3
3
  export const warnLog = log.create('warn', version);
4
4
  export const errLog = log.create('error', version);
@@ -981,7 +981,9 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
981
981
  hidePanel();
982
982
  }
983
983
  dispatchEvent('date-today', {
984
- type: props.type
984
+ viewType: reactData.datePanelType,
985
+ type: props.type,
986
+ viewDate: reactData.selectMonth
985
987
  }, evnt);
986
988
  };
987
989
  const dateNextEvent = evnt => {
@@ -1021,7 +1023,8 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
1021
1023
  dispatchEvent('date-next', {
1022
1024
  viewType: datePanelType,
1023
1025
  value,
1024
- type
1026
+ type,
1027
+ viewDate
1025
1028
  }, evnt);
1026
1029
  }
1027
1030
  };
@@ -1341,7 +1344,10 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
1341
1344
  }
1342
1345
  },
1343
1346
  getPanelDate() {
1344
- return reactData.selectMonth;
1347
+ const {
1348
+ selectMonth
1349
+ } = reactData;
1350
+ return selectMonth ? new Date(selectMonth.getTime()) : new Date();
1345
1351
  },
1346
1352
  checkValue(value) {
1347
1353
  afterCheckValue(value);
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeDatePanel",props:{modelValue:[String,Number,Date],type:{type:String,default:"date"},className:String,cellClassName:[String,Function],size:{type:String,default:()=>(0,_ui.getConfig)().datePanel.size||(0,_ui.getConfig)().size},multiple:Boolean,limitCount:{type:[String,Number],default:()=>(0,_ui.getConfig)().datePanel.limitCount},startDate:{type:[String,Number,Date],default:()=>(0,_ui.getConfig)().datePanel.startDate},endDate:{type:[String,Number,Date],default:()=>(0,_ui.getConfig)().datePanel.endDate},defaultDate:[String,Number,Date],defaultTime:[String,Number,Date],minDate:[String,Number,Date],maxDate:[String,Number,Date],startDay:{type:[String,Number],default:()=>(0,_ui.getConfig)().datePanel.startDay},labelFormat:String,valueFormat:String,timeFormat:String,festivalMethod:{type:Function,default:()=>(0,_ui.getConfig)().datePanel.festivalMethod},disabledMethod:{type:Function,default:()=>(0,_ui.getConfig)().datePanel.disabledMethod},timeConfig:Object,selectDay:{type:[String,Number],default:()=>(0,_ui.getConfig)().datePanel.selectDay}},emits:["update:modelValue","change","click","clear","date-prev","date-today","date-next","confirm","revert"],setup(c,e){let Y=e.emit;var H=_xeUtils.default.uniqueId();let E=(0,_ui.useSize)(c).computeSize,h=(0,_vue.reactive)({visiblePanel:!1,isAniVisible:!1,isActivated:!1,inputValue:"",inputLabel:"",datetimePanelValue:null,datePanelValue:null,datePanelLabel:"",datePanelType:"day",selectMonth:null,currentDate:null}),o={yearSize:12,monthSize:20,quarterSize:8,hpTimeout:void 0};var t=(0,_vue.ref)();let a=(0,_vue.ref)(),L=(0,_vue.ref)(),z={refElem:t},_={xID:H,props:c,context:e,reactData:h,internalData:o,getRefMaps:()=>z},v=(0,_vue.computed)(()=>{var e=c.type;return"time"===e||"datetime"===e}),r=(0,_vue.computed)(()=>v.value||-1<["date","week","month","quarter","year"].indexOf(c.type)),j=(0,_vue.computed)(()=>c.startDate?_xeUtils.default.toStringDate(c.startDate):null),I=(0,_vue.computed)(()=>c.endDate?_xeUtils.default.toStringDate(c.endDate):null),f=(0,_vue.computed)(()=>{var{modelValue:e,multiple:t}=c,a=r.value;let l=m.value;return t&&e&&a?_xeUtils.default.toValueString(e).split(",").map(e=>{e=D(e,l);return _xeUtils.default.isValidDate(e),e}):[]}),p=(0,_vue.computed)(()=>{var e=f.value;let t=m.value;return e.map(e=>_xeUtils.default.toDateString(e,t))}),d=(0,_vue.computed)(()=>{var e=f.value;let t=n.value;return e.map(e=>_xeUtils.default.toDateString(e,t)).join(", ")}),O=(0,_vue.computed)(()=>c.multiple?_xeUtils.default.toNumber(c.limitCount):0),x=(0,_vue.computed)(()=>{var e=c.multiple,t=O.value,a=p.value;return!(!e||!t)&&a.length>=t}),i=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().datePanel.timeConfig,c.timeConfig)),m=(0,_vue.computed)(()=>{var{type:e,valueFormat:t}=c;return(0,_util.handleValueFormat)(e,t)}),y=(0,_vue.computed)(()=>{var e=c.modelValue,t=r.value,a=m.value;let l=null;return l=e&&t&&(t=D(e,a),_xeUtils.default.isValidDate(t))?t:l}),$=(0,_vue.computed)(()=>{var e=j.value,t=h.selectMonth;return!(!t||!e)&&t<=e}),A=(0,_vue.computed)(()=>{var e=I.value,t=h.selectMonth;return!(!t||!e)&&_xeUtils.default.getWhatMonth(t,0,"last")>=e}),B=(0,_vue.computed)(()=>{var e=h.datetimePanelValue,t=ne.value,a=de.value;return e?_xeUtils.default.toDateString(e,a&&t?"HH:mm:ss":a?"HH:mm":"HH"):""}),Q=(0,_vue.computed)(()=>{var e=y.value,t=v.value;return e&&t?1e3*(3600*e.getHours()+60*e.getMinutes()+e.getSeconds()):0}),n=(0,_vue.computed)(()=>{var e=c.labelFormat;return r.value?e||(0,_ui.getI18n)("vxe.input.date.labelFormat."+c.type):""}),g=(0,_vue.computed)(()=>{var t=o.yearSize,{selectMonth:e,currentDate:a}=h,l=[];if(e&&a){var i=a.getFullYear(),a=e.getFullYear(),u=new Date(a-a%t,0,1);for(let e=-4;e<t+4;e++){var s=_xeUtils.default.getWhatYear(u,e,"first"),r=s.getFullYear();l.push({date:s,isCurrent:!0,isPrev:e<0,isNow:i===r,isNext:e>=t,year:r})}}return l}),R=(0,_vue.computed)(()=>{let a="",l="";if(r.value){var{datePanelType:i,selectMonth:u}=h,s=g.value;let e="",t;u&&(e=u.getFullYear(),t=u.getMonth()+1),"quarter"===i||"month"===i?a=(0,_ui.getI18n)("vxe.datePicker.yearTitle",[e]):"year"===i?a=s.length?s[0].year+" - "+s[s.length-1].year:"":(a=(0,_ui.getI18n)("vxe.datePicker.yearTitle",[e]),l=t?(0,_ui.getI18n)("vxe.input.date.m"+t):"-")}return{y:a,m:l}}),b=(0,_vue.computed)(()=>{var e=c.startDay;return _xeUtils.default.toNumber(e)}),G=(0,_vue.computed)(()=>{var a=[];if(r.value){let t=b.value;a.push(t);for(let e=0;e<6;e++)6<=t?t=0:t++,a.push(t)}return a}),J=(0,_vue.computed)(()=>r.value?G.value.map(e=>({value:e,label:(0,_ui.getI18n)("vxe.input.date.weeks.w"+e)})):[]),K=(0,_vue.computed)(()=>{var e;return r.value?(e=J.value,[{label:(0,_ui.getI18n)("vxe.input.date.weeks.w")}].concat(e)):[]}),X=(0,_vue.computed)(()=>{var e=g.value;return _xeUtils.default.chunk(e,4)}),Z=(0,_vue.computed)(()=>{var t=o.quarterSize,{selectMonth:e,currentDate:a}=h,l=[];if(e&&a){var i=a.getFullYear(),u=(0,_util.getDateQuarter)(a),s=_xeUtils.default.getWhatYear(e,0,"first"),r=s.getFullYear();for(let e=-2;e<t-2;e++){var d=_xeUtils.default.getWhatQuarter(s,e),n=d.getFullYear(),v=(0,_util.getDateQuarter)(d),p=n<r;l.push({date:d,isPrev:p,isCurrent:n===r,isNow:n===i&&v===u,isNext:!p&&r<n,quarter:v})}}return l}),ee=(0,_vue.computed)(()=>{var e=Z.value;return _xeUtils.default.chunk(e,2)}),te=(0,_vue.computed)(()=>{var t=o.monthSize,{selectMonth:a,currentDate:e}=h,l=[];if(a&&e){var i=e.getFullYear(),u=e.getMonth(),s=_xeUtils.default.getWhatYear(a,0,"first").getFullYear();for(let e=-4;e<t-4;e++){var r=_xeUtils.default.getWhatYear(a,0,e),d=r.getFullYear(),n=r.getMonth(),v=d<s;l.push({date:r,isPrev:v,isCurrent:d===s,isNow:d===i&&n===u,isNext:!v&&s<d,month:n})}}return l}),ae=(0,_vue.computed)(()=>{var e=te.value;return _xeUtils.default.chunk(e,4)}),le=(0,_vue.computed)(()=>{var{selectMonth:t,currentDate:e}=h,a=[];if(t&&e){var l=Q.value,i=G.value,u=e.getFullYear(),s=e.getMonth(),r=e.getDate(),d=t.getFullYear(),n=t.getMonth(),e=t.getDay(),i=-i.indexOf(e),v=new Date(_xeUtils.default.getWhatDay(t,i).getTime()+l);for(let e=0;e<42;e++){var p=_xeUtils.default.getWhatDay(v,e),o=p.getFullYear(),m=p.getMonth(),c=p.getDate(),_=p<t;a.push({date:p,isPrev:_,isCurrent:o===d&&m===n,isNow:o===u&&m===s&&c===r,isNext:!_&&n!==m,label:c})}}return a}),ie=(0,_vue.computed)(()=>{var e=le.value;return _xeUtils.default.chunk(e,7)}),ue=(0,_vue.computed)(()=>{var e=ie.value;let a=b.value;return e.map(e=>{var t=e[0];return[{date:t.date,isWeekNumber:!0,isPrev:!1,isCurrent:!1,isNow:!1,isNext:!1,label:_xeUtils.default.getYearWeek(t.date,a)}].concat(e)})}),se=(0,_vue.computed)(()=>{let{hours:e,hourDisabledMethod:a}=i.value,l=[];if(v.value)if(e&&e.length)e.forEach(e=>{var t;_xeUtils.default.isNumber(e)||_xeUtils.default.isString(e)?(t=_xeUtils.default.toNumber(e),l.push({value:t,label:(""+t).padStart(2,"0"),disabled:!(!a||!a({hour:t}))})):e&&(t=_xeUtils.default.toNumber(e.value),l.push({value:t,label:(""+(e.label||t)).padStart(2,"0"),disabled:_xeUtils.default.isBoolean(e.disabled)?e.disabled:!(!a||!a({hour:t}))}))});else for(let e=0;e<24;e++){var t=e;l.push({value:t,label:(""+t).padStart(2,"0"),disabled:!(!a||!a({hour:t}))})}return l}),re=(0,_vue.computed)(()=>{let{minutes:e,minuteDisabledMethod:a}=i.value,l=[];if(v.value)if(e&&e.length)e.forEach(e=>{var t;_xeUtils.default.isNumber(e)||_xeUtils.default.isString(e)?(t=_xeUtils.default.toNumber(e),l.push({value:t,label:(""+t).padStart(2,"0"),disabled:!(!a||!a({minute:t}))})):e&&(t=_xeUtils.default.toNumber(e.value),l.push({value:t,label:(""+(e.label||t)).padStart(2,"0"),disabled:_xeUtils.default.isBoolean(e.disabled)?e.disabled:!(!a||!a({minute:t}))}))});else for(let e=0;e<60;e++){var t=e;l.push({value:t,label:(""+t).padStart(2,"0"),disabled:!(!a||!a({minute:t}))})}return l}),de=(0,_vue.computed)(()=>{var e=c.timeFormat,t=m.value;return!/HH/.test(e||t)||/mm/.test(e||t)}),ne=(0,_vue.computed)(()=>{var e=c.timeFormat,t=m.value;return!/HH/.test(e||t)||/ss/.test(e||t)}),ve=(0,_vue.computed)(()=>{let{seconds:e,secondDisabledMethod:a}=i.value,l=[];if(v.value)if(e&&e.length)e.forEach(e=>{var t;_xeUtils.default.isNumber(e)||_xeUtils.default.isString(e)?(t=_xeUtils.default.toNumber(e),l.push({value:t,label:(""+t).padStart(2,"0"),disabled:!(!a||!a({second:t}))})):e&&(t=_xeUtils.default.toNumber(e.value),l.push({value:t,label:(""+(e.label||t)).padStart(2,"0"),disabled:_xeUtils.default.isBoolean(e.disabled)?e.disabled:!(!a||!a({second:t}))}))});else for(let e=0;e<60;e++){var t=e;l.push({value:t,label:(""+t).padStart(2,"0"),disabled:!(!a||!a({second:t}))})}return l}),pe=e=>{var t=c.type,a=m.value,e=(0,_util.parseDateValue)(e,t,{valueFormat:a});h.inputValue=e,h.inputLabel=e,Te()},D=(e,t)=>{var{type:a,multiple:l}=c;return"time"===a?(0,_util.toStringTimeDate)(e):_xeUtils.default.isArray(e)?_xeUtils.default.toStringDate(e[0],t):_xeUtils.default.isString(e)?_xeUtils.default.toStringDate(l?_xeUtils.default.last(e.split(",")):e,t):_xeUtils.default.toStringDate(e,t)},oe=a=>{var l=c.type,{inputLabel:i,datetimePanelValue:u}=h,s=n.value;if(a){let t=D(a,s);if(_xeUtils.default.isValidDate(t))if("time"===l)i!==(t=_xeUtils.default.toDateString(t,s))&&w(t,{type:"check"}),h.inputLabel=t;else{let e=!1;i=b.value;"datetime"===l?(l=y.value,a===_xeUtils.default.toDateString(l,s)&&a===_xeUtils.default.toDateString(t,s)||(e=!0,u&&(u.setHours(t.getHours()),u.setMinutes(t.getMinutes()),u.setSeconds(t.getSeconds())))):e=!0,h.inputLabel=_xeUtils.default.toDateString(t,s,{firstDay:i}),e&&P(t)}else l=c.multiple?d.value:h.datePanelLabel,h.inputLabel=l,F("revert",{label:l},null)}else w("",{type:"check"})},U=e=>{h.inputValue=e,Y("update:modelValue",e)},w=(e,t)=>{var a,{type:l,modelValue:i,valueFormat:u}=c,s=m.value;h.inputLabel=e,(0,_util.hasTimestampValueType)(u)?(a=(a=(0,_util.parseDateValue)(e,l,{valueFormat:s}))?a.getTime():null,U(a),i!==a&&F("change",{value:a},t)):(0,_util.hasDateValueType)(u)?(a=(0,_util.parseDateValue)(e,l,{valueFormat:s}),U(a),(i&&a?_xeUtils.default.toStringDate(i).getTime()!==a.getTime():i!==a)&&F("change",{value:a},t)):(U(e),_xeUtils.default.toValueString(i)!==e&&F("change",{value:e},t))},s=()=>new Promise(e=>{h.visiblePanel=!1,o.hpTimeout=setTimeout(()=>{h.isAniVisible=!1,e()},350)}),u=e=>{var t=c.type,a=n.value,l=m.value,i=b.value,e=(0,_util.parseDateObj)(e,t,{valueFormat:l,labelFormat:a,firstDay:i});h.datePanelValue=e.value,h.datePanelLabel=e.label},me=()=>{var e=r.value,t=h.inputLabel;e&&(u(t),h.inputLabel=c.multiple?d.value:h.datePanelLabel)},ce=()=>{var e=c.modelValue,t=r.value;pe(e),t&&me()},S=e=>{var t=b.value,a=_xeUtils.default.getYearWeek(e,t),t=_xeUtils.default.getWhatWeek(e,0,t,t),a=_xeUtils.default.getWhatMonth(1===a?_xeUtils.default.getWhatDay(t,6):e,0,"first");_xeUtils.default.isEqual(a,h.selectMonth)||(h.selectMonth=a)},P=(a,e)=>{var{modelValue:t,multiple:l}=c;let i=h.datetimePanelValue;var u=v.value;let s=m.value;var r=b.value;"week"===c.type?(n=_xeUtils.default.toNumber(c.selectDay),a=_xeUtils.default.getWhatWeek(a,0,n,r)):u&&i&&(a.setHours(i.getHours()),a.setMinutes(i.getMinutes()),a.setSeconds(i.getSeconds()));let d=_xeUtils.default.toDateString(a,s,{firstDay:r});if(S(a),l){var n=x.value;if(u){r=e?[]:[...f.value];let t=[];l=_xeUtils.default.findIndexOf(r,e=>_xeUtils.default.isDateSame(a,e,"yyyyMMdd"));if(-1===l){if(n)return;r.push(a)}else r.splice(l,1);r.forEach(e=>{e&&(i&&(e.setHours(i.getHours()),e.setMinutes(i.getMinutes()),e.setSeconds(i.getSeconds())),t.push(e))}),w(t.map(e=>_xeUtils.default.toDateString(e,s)).join(","),{type:"update"})}else{u=e?[]:p.value;u.some(e=>_xeUtils.default.isEqual(e,d))?w(u.filter(e=>!_xeUtils.default.isEqual(e,d)).join(","),{type:"update"}):n||w(u.concat([d]).join(","),{type:"update"})}}else _xeUtils.default.isEqual(t,d)||w(d,{type:"update"})},M=(e,t)=>{var a=b.value,l=_xeUtils.default.getYearWeek(e,a),a=_xeUtils.default.getWhatWeek(e,0,a,a),l=_xeUtils.default.getWhatMonth(1===l?_xeUtils.default.getWhatDay(a,6):e,t,"first");h.selectMonth=l},_e=()=>{var e=c.type,t=b.value;let a=new Date;switch(e){case"week":a=_xeUtils.default.getWhatWeek(a,0,t);break;case"datetime":a=new Date,h.datetimePanelValue=new Date;break;default:a=_xeUtils.default.getWhatDay(Date.now(),0,"first")}h.currentDate=a,M(a,0)},he=()=>{h.datePanelType="year"},fe=()=>{let e=h.datePanelType;e="month"===e||"quarter"===e?"year":"month",h.datePanelType=e},xe=t=>{var a=c.type,{datePanelType:l,selectMonth:i,inputLabel:u}=h,s=o.yearSize;if(!$.value){let e;e="year"===a?_xeUtils.default.getWhatYear(i,-s,"first"):"month"===a||"quarter"===a?"year"===l?_xeUtils.default.getWhatYear(i,-s,"first"):_xeUtils.default.getWhatYear(i,-1,"first"):"year"===l?_xeUtils.default.getWhatYear(i,-s,"first"):"month"===l?_xeUtils.default.getWhatYear(i,-1,"first"):_xeUtils.default.getWhatMonth(i,-1,"first"),h.selectMonth=e,F("date-prev",{viewType:l,viewDate:e,value:u,type:a},t)}},ye=e=>{_e(),P(h.currentDate,!0),c.multiple||s(),F("date-today",{type:c.type},e)},ge=t=>{var a=c.type,{datePanelType:l,selectMonth:i,inputLabel:u}=h,s=o.yearSize;if(!A.value){let e;e="year"===a?_xeUtils.default.getWhatYear(i,s,"first"):"month"===a||"quarter"===a?"year"===l?_xeUtils.default.getWhatYear(i,s,"first"):_xeUtils.default.getWhatYear(i,1,"first"):"year"===l?_xeUtils.default.getWhatYear(i,s,"first"):"month"===l?_xeUtils.default.getWhatYear(i,1,"first"):_xeUtils.default.getWhatMonth(i,1,"first"),h.selectMonth=e,F("date-next",{viewType:l,value:u,type:a},t)}},k=e=>{var t=j.value,a=I.value,e=e.date;return!!(t&&t.getTime()>e.getTime())||!!(a&&a.getTime()<e.getTime())},V=e=>{var t=c.disabledMethod,a=h.datePanelType,e=e.date;return!!t&&t({type:a,viewType:a,date:e,$datePanel:_})},l=e=>k(e)||V(e),be=e=>{var{type:t,multiple:a}=c,l=h.datePanelType;"month"===t?"year"===l?(h.datePanelType="month",S(e)):(P(e),a||s()):"year"===t?(P(e),a||s()):"quarter"===t?"year"===l?(h.datePanelType="quarter",S(e)):(P(e),a||s()):"month"===l?(h.datePanelType="week"===t?t:"day",S(e)):"year"===l?(h.datePanelType="month",S(e)):(P(e),"datetime"===t||a||s())},T=e=>{l(e)||be(e.date)},De=t=>{l({date:t})||(le.value.some(e=>_xeUtils.default.isDateSame(e.date,t,"yyyyMMdd"))||S(t),u(t))},Ue=t=>{l({date:t})||(g.value.some(e=>_xeUtils.default.isDateSame(e.date,t,"yyyy"))||S(t),u(t))},we=t=>{l({date:t})||(Z.value.some(e=>_xeUtils.default.isDateSame(e.date,t,"yyyyq"))||S(t),u(t))},Se=t=>{l({date:t})||(te.value.some(e=>_xeUtils.default.isDateSame(e.date,t,"yyyyMM"))||S(t),u(t))},N=e=>{var t;l(e)||(t=h.datePanelType,("month"===t?Se:"quarter"===t?we:"year"===t?Ue:De)(e.date))},C=()=>{h.datePanelValue=null},Pe=e=>{var t;e&&(t=e.offsetHeight,e.parentNode.scrollTop=e.offsetTop-4*t)},W=e=>{var t=h.datetimePanelValue;h.datetimePanelValue=t?new Date(t.getTime()):new Date,Pe(e.currentTarget)},Me=(e,t)=>{var a=h.datetimePanelValue;t.disabled||(a&&a.setHours(t.value),W(e))},ke=(e,t)=>{var a=h.datetimePanelValue;t.disabled||(a&&a.setMinutes(t.value),W(e))},Ve=(e,t)=>{var a=h.datetimePanelValue;t.disabled||(a&&a.setSeconds(t.value),W(e))},Te=()=>{var{type:e,defaultDate:t,defaultTime:a}=c,l=v.value,i=y.value;if(-1<["year","quarter","month","week"].indexOf(e)?h.datePanelType=e:h.datePanelType="day",h.currentDate=_xeUtils.default.getWhatDay(Date.now(),0,"first"),i?(M(i,0),u(i)):t&&(e=D(t,"yyyy-MM-dd"),_xeUtils.default.isValidDate(e))?M(e,0):_e(),l){let e=h.datePanelValue;e||(e=_xeUtils.default.getWhatDay(Date.now(),0,"first"),a&&(i=(0,_util.toStringTimeDate)(a),_xeUtils.default.isValidDate(i))&&(e.setHours(i.getHours()),e.setMinutes(i.getMinutes()),e.setSeconds(i.getSeconds()))),h.datetimePanelValue=e,(0,_vue.nextTick)(()=>{var e=L.value;_xeUtils.default.arrayEach(e.querySelectorAll("li.is--selected"),e=>{Pe(e)})})}},F=(e,t,a)=>{Y(e,(0,_ui.createEvent)(a,{$datePanel:_},t))};t={dispatchEvent:F,getModelValue(){return h.inputValue},setPanelDate(e){e&&S(e)},getPanelDate(){return h.selectMonth},checkValue(e){oe(e)},confirmByEvent(e){(e=>{var t=c.multiple;let l=h.datetimePanelValue;var i=y.value,u=v.value;if(u){let a=m.value;if(t){t=p.value;if(u){u=[...f.value];let t=[];u.forEach(e=>{e&&(l&&(e.setHours(l.getHours()),e.setMinutes(l.getMinutes()),e.setSeconds(l.getSeconds())),t.push(e))}),w(t.map(e=>_xeUtils.default.toDateString(e,a)).join(","),{type:"update"})}else w(t.join(","),{type:"update"})}else P(i||h.currentDate)}s(),F("confirm",{},e)})(e)}};Object.assign(_,t);let q=(e,t)=>{var a,l=c.festivalMethod,i=[];return l&&(a=h.datePanelType,e=(a=(l=l({type:a,viewType:a,date:e.date,$datePanel:_}))?_xeUtils.default.isString(l)?{label:l}:l:{}).extra?_xeUtils.default.isString(a.extra)?{label:a.extra}:a.extra:null,i.push((0,_vue.h)("div",{class:["vxe-date-panel--label",{"is-notice":a.notice}]},e&&e.label?[(0,_vue.h)("div",{class:"vxe-date-panel--label--number"},""+t),(0,_vue.h)("div",{class:["vxe-date-panel--label--extra",e.important?"is-important":"",e.className],style:e.style},_xeUtils.default.toValueString(e.label))]:""+t)),l=a.label)&&(e=_xeUtils.default.toValueString(l).split(","),i.push((0,_vue.h)("div",{class:["vxe-date-panel--festival",a.important?"is-important":"",a.className],style:a.style},[1<e.length?(0,_vue.h)("div",{class:["vxe-date-panel--festival--overlap","overlap--"+e.length]},e.map(e=>(0,_vue.h)("div",e.substring(0,3)))):(0,_vue.h)("div",{class:"vxe-date-panel--festival--label"},e[0].substring(0,3))]))),i},Ne=()=>{let{type:l,multiple:i,cellClassName:u}=c,{datePanelType:s,datePanelValue:r}=h,d=y.value,t=J.value,e=ie.value,n=f.value,v=x.value,p="yyyyMMdd";return[(0,_vue.h)("div",{class:["vxe-date-panel--view-wrapper","type--"+s]},[(0,_vue.h)("div",{class:"vxe-date-panel--view-header"},[(0,_vue.h)("div",{class:"vxe-date-panel--view-row"},t.map(e=>(0,_vue.h)("div",{class:"vxe-date-panel--view-item",style:{width:100/t.length+"%"}},[(0,_vue.h)("div",{class:"vxe-date-panel--view-item-inner"},[(0,_vue.h)("div",{class:"vxe-date-panel--view-item-label"},e.label)])])))]),(0,_vue.h)("div",{class:"vxe-date-panel--view-body"},e.map(a=>(0,_vue.h)("div",{class:"vxe-date-panel--view-row",style:{height:100/e.length+"%"}},a.map(t=>{var e=i?n.some(e=>_xeUtils.default.isDateSame(e,t.date,p)):_xeUtils.default.isDateSame(d,t.date,p);return(0,_vue.h)("div",{class:["vxe-date-panel--view-item",u?_xeUtils.default.isFunction(u)?""+(u({$datePanel:_,type:l,viewType:s,date:t.date})||""):""+(u||""):"",{"is--prev":t.isPrev,"is--current":t.isCurrent,"is--now":t.isNow,"is--next":t.isNext,"is--range-disabled":k(t),"is--disabled":V(t),"is--selected":e,"is--over":v&&!e,"is--hover":!v&&_xeUtils.default.isDateSame(r,t.date,p)}],style:{width:100/a.length+"%"},onClick:()=>T(t),onMouseenter:()=>N(t),onMouseleave:C},[(0,_vue.h)("div",{class:"vxe-date-panel--view-item-inner"},q(t,t.label))])}))))])]},Ce=()=>{let{type:u,multiple:t,cellClassName:s}=c,{datePanelType:r,datePanelValue:d}=h,n=y.value;var e=K.value;let v=ue.value,p=f.value,o=x.value,m="yyyyMMdd";return[(0,_vue.h)("div",{class:["vxe-date-panel--view-wrapper","type--"+r]},[(0,_vue.h)("div",{class:"vxe-date-panel--view-header"},[(0,_vue.h)("div",{class:"vxe-date-panel--view-row"},e.map((e,t)=>(0,_vue.h)("div",{class:"vxe-date-panel--view-item",style:{width:`${t?13:9}%`}},[(0,_vue.h)("div",{class:"vxe-date-panel--view-item-inner"},[(0,_vue.h)("div",{class:"vxe-date-panel--view-item-label"},e.label)])])))]),(0,_vue.h)("div",{class:"vxe-date-panel--view-body"},v.map(e=>{let a=t?e.some(t=>p.some(e=>_xeUtils.default.isDateSame(e,t.date,m))):e.some(e=>_xeUtils.default.isDateSame(n,e.date,m)),l=e.some(e=>_xeUtils.default.isDateSame(d,e.date,m)),i=e.some(e=>e.isNow);return(0,_vue.h)("div",{class:"vxe-date-panel--view-row",style:{height:100/v.length+"%"}},e.map((e,t)=>(0,_vue.h)("div",{class:["vxe-date-panel--view-item",s?_xeUtils.default.isFunction(s)?""+(s({$datePanel:_,type:u,viewType:r,date:e.date})||""):""+(s||""):"",{"is--prev":e.isPrev,"is--current":e.isCurrent,"is--now":t?e.isNow:i,"is--next":e.isNext,"is--range-disabled":k(e),"is--disabled":V(e),"is--selected":a,"is--over":o&&!a,"is--hover":!o&&l}],style:{width:`${t?13:9}%`},onClick:()=>T(e),onMouseenter:()=>N(e),onMouseleave:C},[(0,_vue.h)("div",{class:"vxe-date-panel--view-item-inner"},q(e,e.label))])))}))])]},We=()=>{let{type:l,multiple:i,cellClassName:u}=c,{datePanelType:s,datePanelValue:r}=h,d=y.value,e=ae.value,n=f.value,v=x.value,p="yyyyMM";return[(0,_vue.h)("div",{class:["vxe-date-panel--view-wrapper","type--"+s]},[(0,_vue.h)("div",{class:"vxe-date-panel--view-body"},e.map(a=>(0,_vue.h)("div",{class:"vxe-date-panel--view-row",style:{height:100/e.length+"%"}},a.map(t=>{var e=i?n.some(e=>_xeUtils.default.isDateSame(e,t.date,p)):_xeUtils.default.isDateSame(d,t.date,p);return(0,_vue.h)("div",{class:["vxe-date-panel--view-item",u?_xeUtils.default.isFunction(u)?""+(u({$datePanel:_,type:l,viewType:s,date:t.date})||""):""+(u||""):"",{"is--prev":t.isPrev,"is--current":t.isCurrent,"is--now":t.isNow,"is--next":t.isNext,"is--range-disabled":k(t),"is--disabled":V(t),"is--selected":e,"is--over":v&&!e,"is--hover":!v&&_xeUtils.default.isDateSame(r,t.date,p)}],style:{width:100/a.length+"%"},onClick:()=>T(t),onMouseenter:()=>N(t),onMouseleave:C},[(0,_vue.h)("div",{class:"vxe-date-panel--view-item-inner"},q(t,(0,_ui.getI18n)("vxe.input.date.months.m"+t.month)))])}))))])]},Fe=()=>{let{type:l,multiple:i,cellClassName:u}=c,{datePanelType:s,datePanelValue:r}=h,d=y.value,e=ee.value,n=f.value,v=x.value,p="yyyyq";return[(0,_vue.h)("div",{class:["vxe-date-panel--view-wrapper","type--"+s]},[(0,_vue.h)("div",{class:"vxe-date-panel--view-body"},e.map(a=>(0,_vue.h)("div",{class:"vxe-date-panel--view-row",style:{height:100/e.length+"%"}},a.map(t=>{var e=i?n.some(e=>_xeUtils.default.isDateSame(e,t.date,p)):_xeUtils.default.isDateSame(d,t.date,p);return(0,_vue.h)("div",{class:["vxe-date-panel--view-item",u?_xeUtils.default.isFunction(u)?""+(u({$datePanel:_,type:l,viewType:s,date:t.date})||""):""+(u||""):"",{"is--prev":t.isPrev,"is--current":t.isCurrent,"is--now":t.isNow,"is--next":t.isNext,"is--range-disabled":k(t),"is--disabled":V(t),"is--selected":e,"is--over":v&&!e,"is--hover":!v&&_xeUtils.default.isDateSame(r,t.date,p)}],style:{width:100/a.length+"%"},onClick:()=>T(t),onMouseenter:()=>N(t),onMouseleave:C},[(0,_vue.h)("div",{class:"vxe-date-panel--view-item-inner"},q(t,(0,_ui.getI18n)("vxe.input.date.quarters.q"+t.quarter)))])}))))])]},qe=()=>{let{type:l,multiple:i,cellClassName:u}=c,{datePanelType:s,datePanelValue:r}=h,d=y.value,e=X.value,n=f.value,v=x.value,p="yyyy";return[(0,_vue.h)("div",{class:["vxe-date-panel--view-wrapper","type--"+s]},[(0,_vue.h)("div",{class:"vxe-date-panel--view-body"},e.map(a=>(0,_vue.h)("div",{class:"vxe-date-panel--view-row",style:{height:100/e.length+"%"}},a.map(t=>{var e=i?n.some(e=>_xeUtils.default.isDateSame(e,t.date,p)):_xeUtils.default.isDateSame(d,t.date,p);return(0,_vue.h)("div",{class:["vxe-date-panel--view-item",u?_xeUtils.default.isFunction(u)?""+(u({$datePanel:_,type:l,viewType:s,date:t.date})||""):""+(u||""):"",{"is--prev":t.isPrev,"is--current":t.isCurrent,"is--now":t.isNow,"is--next":t.isNext,"is--range-disabled":k(t),"is--disabled":V(t),"is--selected":e,"is--over":v&&!e,"is--hover":!v&&_xeUtils.default.isDateSame(r,t.date,p)}],style:{width:100/a.length+"%"},onClick:()=>T(t),onMouseenter:()=>N(t),onMouseleave:C},[(0,_vue.h)("div",{class:"vxe-date-panel--view-item-inner"},q(t,t.year))])}))))])]},Ye=()=>{var e=h.datePanelType;switch(e){case"week":return Ce();case"month":return We();case"quarter":return Fe();case"year":return qe()}return Ne()},He=()=>{var e=h.datePanelType,t=$.value,a=A.value,l=R.value;return[(0,_vue.h)("div",{class:"vxe-date-panel--picker-header"},[(0,_vue.h)("div",{class:"vxe-date-panel--picker-type-wrapper"},["year"===e?(0,_vue.h)("span",{class:"vxe-date-panel--picker-label"},l.y):(0,_vue.h)("span",{class:"vxe-date-panel--picker-btns"},[(0,_vue.h)("span",{class:"vxe-date-panel--picker-btn",onClick:he},l.y),l.m?(0,_vue.h)("span",{class:"vxe-date-panel--picker-btn",onClick:fe},l.m):(0,_ui.renderEmptyElement)(_)])]),(0,_vue.h)("div",{class:"vxe-date-panel--picker-btn-wrapper"},[(0,_vue.h)("span",{class:["vxe-date-panel--picker-btn vxe-date-panel--picker-prev-btn",{"is--disabled":t}],onClick:xe},[(0,_vue.h)("i",{class:"vxe-icon-caret-left"})]),(0,_vue.h)("span",{class:"vxe-date-panel--picker-btn vxe-date-panel--picker-current-btn",onClick:ye},[(0,_vue.h)("i",{class:"vxe-icon-dot"})]),(0,_vue.h)("span",{class:["vxe-date-panel--picker-btn vxe-date-panel--picker-next-btn",{"is--disabled":a}],onClick:ge},[(0,_vue.h)("i",{class:"vxe-icon-caret-right"})])])]),(0,_vue.h)("div",{class:"vxe-date-panel--picker-body"},Ye())]},Ee=()=>{var e=c.type;let a=h.datetimePanelValue;var t=B.value,l=se.value,i=de.value,u=re.value,s=ne.value,r=ve.value;return["time"===e?(0,_ui.renderEmptyElement)(_):(0,_vue.h)("div",{class:"vxe-date-panel--time-header"},[(0,_vue.h)("div",{class:"vxe-date-panel--time-title"},t)]),(0,_vue.h)("div",{ref:L,class:"vxe-date-panel--time-body"},[(0,_vue.h)("ul",{class:"vxe-date-panel--time-hour-list"},l.map((t,e)=>(0,_vue.h)("li",{key:e,class:{"is--disabled":t.disabled,"is--selected":a&&a.getHours()===t.value},onClick:e=>Me(e,t)},t.label))),i?(0,_vue.h)("ul",{class:"vxe-date-panel--time-minute-list"},u.map((t,e)=>(0,_vue.h)("li",{key:e,class:{"is--disabled":t.disabled,"is--selected":a&&a.getMinutes()===t.value},onClick:e=>ke(e,t)},t.label))):(0,_ui.renderEmptyElement)(_),i&&s?(0,_vue.h)("ul",{class:"vxe-date-panel--time-second-list"},r.map((t,e)=>(0,_vue.h)("li",{key:e,class:{"is--disabled":t.disabled,"is--selected":a&&a.getSeconds()===t.value},onClick:e=>Ve(e,t)},t.label))):(0,_ui.renderEmptyElement)(_)])]};return(0,_vue.watch)(()=>c.modelValue,e=>{pe(e),me()}),(0,_vue.watch)(()=>c.type,()=>{Object.assign(h,{inputLabel:"",datetimePanelValue:null,datePanelValue:null,datePanelLabel:"",datePanelType:"day",selectMonth:null,currentDate:null}),ce()}),(0,_vue.watch)(n,()=>{r.value&&(u(h.datePanelValue),h.inputLabel=c.multiple?d.value:h.datePanelLabel)}),ce(),Te(),_.renderVN=()=>{var e=c.type,t=E.value;return(0,_vue.h)("div",{class:["vxe-date-panel","type--"+e,{["size--"+t]:t}]},["datetime"===(e=c.type)?(0,_vue.h)("div",{key:e,ref:a,class:"vxe-date-panel--time-layout-wrapper"},[(0,_vue.h)("div",{class:"vxe-date-panel--time-left-wrapper"},He()),(0,_vue.h)("div",{class:"vxe-date-panel--time-right-wrapper"},Ee())]):"time"===e?(0,_vue.h)("div",{key:e,ref:a,class:"vxe-date-panel--wrapper"},Ee()):(0,_vue.h)("div",{key:e||"default",ref:a,class:"vxe-date-panel--wrapper"},He())])},_},render(){return this.renderVN()}});
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeDatePanel",props:{modelValue:[String,Number,Date],type:{type:String,default:"date"},className:String,cellClassName:[String,Function],size:{type:String,default:()=>(0,_ui.getConfig)().datePanel.size||(0,_ui.getConfig)().size},multiple:Boolean,limitCount:{type:[String,Number],default:()=>(0,_ui.getConfig)().datePanel.limitCount},startDate:{type:[String,Number,Date],default:()=>(0,_ui.getConfig)().datePanel.startDate},endDate:{type:[String,Number,Date],default:()=>(0,_ui.getConfig)().datePanel.endDate},defaultDate:[String,Number,Date],defaultTime:[String,Number,Date],minDate:[String,Number,Date],maxDate:[String,Number,Date],startDay:{type:[String,Number],default:()=>(0,_ui.getConfig)().datePanel.startDay},labelFormat:String,valueFormat:String,timeFormat:String,festivalMethod:{type:Function,default:()=>(0,_ui.getConfig)().datePanel.festivalMethod},disabledMethod:{type:Function,default:()=>(0,_ui.getConfig)().datePanel.disabledMethod},timeConfig:Object,selectDay:{type:[String,Number],default:()=>(0,_ui.getConfig)().datePanel.selectDay}},emits:["update:modelValue","change","click","clear","date-prev","date-today","date-next","confirm","revert"],setup(c,e){let Y=e.emit;var H=_xeUtils.default.uniqueId();let E=(0,_ui.useSize)(c).computeSize,h=(0,_vue.reactive)({visiblePanel:!1,isAniVisible:!1,isActivated:!1,inputValue:"",inputLabel:"",datetimePanelValue:null,datePanelValue:null,datePanelLabel:"",datePanelType:"day",selectMonth:null,currentDate:null}),o={yearSize:12,monthSize:20,quarterSize:8,hpTimeout:void 0};var t=(0,_vue.ref)();let a=(0,_vue.ref)(),L=(0,_vue.ref)(),z={refElem:t},_={xID:H,props:c,context:e,reactData:h,internalData:o,getRefMaps:()=>z},v=(0,_vue.computed)(()=>{var e=c.type;return"time"===e||"datetime"===e}),r=(0,_vue.computed)(()=>v.value||-1<["date","week","month","quarter","year"].indexOf(c.type)),j=(0,_vue.computed)(()=>c.startDate?_xeUtils.default.toStringDate(c.startDate):null),I=(0,_vue.computed)(()=>c.endDate?_xeUtils.default.toStringDate(c.endDate):null),f=(0,_vue.computed)(()=>{var{modelValue:e,multiple:t}=c,a=r.value;let l=m.value;return t&&e&&a?_xeUtils.default.toValueString(e).split(",").map(e=>{e=D(e,l);return _xeUtils.default.isValidDate(e),e}):[]}),p=(0,_vue.computed)(()=>{var e=f.value;let t=m.value;return e.map(e=>_xeUtils.default.toDateString(e,t))}),d=(0,_vue.computed)(()=>{var e=f.value;let t=n.value;return e.map(e=>_xeUtils.default.toDateString(e,t)).join(", ")}),O=(0,_vue.computed)(()=>c.multiple?_xeUtils.default.toNumber(c.limitCount):0),y=(0,_vue.computed)(()=>{var e=c.multiple,t=O.value,a=p.value;return!(!e||!t)&&a.length>=t}),i=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().datePanel.timeConfig,c.timeConfig)),m=(0,_vue.computed)(()=>{var{type:e,valueFormat:t}=c;return(0,_util.handleValueFormat)(e,t)}),x=(0,_vue.computed)(()=>{var e=c.modelValue,t=r.value,a=m.value;let l=null;return l=e&&t&&(t=D(e,a),_xeUtils.default.isValidDate(t))?t:l}),$=(0,_vue.computed)(()=>{var e=j.value,t=h.selectMonth;return!(!t||!e)&&t<=e}),A=(0,_vue.computed)(()=>{var e=I.value,t=h.selectMonth;return!(!t||!e)&&_xeUtils.default.getWhatMonth(t,0,"last")>=e}),B=(0,_vue.computed)(()=>{var e=h.datetimePanelValue,t=ne.value,a=de.value;return e?_xeUtils.default.toDateString(e,a&&t?"HH:mm:ss":a?"HH:mm":"HH"):""}),Q=(0,_vue.computed)(()=>{var e=x.value,t=v.value;return e&&t?1e3*(3600*e.getHours()+60*e.getMinutes()+e.getSeconds()):0}),n=(0,_vue.computed)(()=>{var e=c.labelFormat;return r.value?e||(0,_ui.getI18n)("vxe.input.date.labelFormat."+c.type):""}),g=(0,_vue.computed)(()=>{var t=o.yearSize,{selectMonth:e,currentDate:a}=h,l=[];if(e&&a){var i=a.getFullYear(),a=e.getFullYear(),u=new Date(a-a%t,0,1);for(let e=-4;e<t+4;e++){var s=_xeUtils.default.getWhatYear(u,e,"first"),r=s.getFullYear();l.push({date:s,isCurrent:!0,isPrev:e<0,isNow:i===r,isNext:e>=t,year:r})}}return l}),R=(0,_vue.computed)(()=>{let a="",l="";if(r.value){var{datePanelType:i,selectMonth:u}=h,s=g.value;let e="",t;u&&(e=u.getFullYear(),t=u.getMonth()+1),"quarter"===i||"month"===i?a=(0,_ui.getI18n)("vxe.datePicker.yearTitle",[e]):"year"===i?a=s.length?s[0].year+" - "+s[s.length-1].year:"":(a=(0,_ui.getI18n)("vxe.datePicker.yearTitle",[e]),l=t?(0,_ui.getI18n)("vxe.input.date.m"+t):"-")}return{y:a,m:l}}),b=(0,_vue.computed)(()=>{var e=c.startDay;return _xeUtils.default.toNumber(e)}),G=(0,_vue.computed)(()=>{var a=[];if(r.value){let t=b.value;a.push(t);for(let e=0;e<6;e++)6<=t?t=0:t++,a.push(t)}return a}),J=(0,_vue.computed)(()=>r.value?G.value.map(e=>({value:e,label:(0,_ui.getI18n)("vxe.input.date.weeks.w"+e)})):[]),K=(0,_vue.computed)(()=>{var e;return r.value?(e=J.value,[{label:(0,_ui.getI18n)("vxe.input.date.weeks.w")}].concat(e)):[]}),X=(0,_vue.computed)(()=>{var e=g.value;return _xeUtils.default.chunk(e,4)}),Z=(0,_vue.computed)(()=>{var t=o.quarterSize,{selectMonth:e,currentDate:a}=h,l=[];if(e&&a){var i=a.getFullYear(),u=(0,_util.getDateQuarter)(a),s=_xeUtils.default.getWhatYear(e,0,"first"),r=s.getFullYear();for(let e=-2;e<t-2;e++){var d=_xeUtils.default.getWhatQuarter(s,e),n=d.getFullYear(),v=(0,_util.getDateQuarter)(d),p=n<r;l.push({date:d,isPrev:p,isCurrent:n===r,isNow:n===i&&v===u,isNext:!p&&r<n,quarter:v})}}return l}),ee=(0,_vue.computed)(()=>{var e=Z.value;return _xeUtils.default.chunk(e,2)}),te=(0,_vue.computed)(()=>{var t=o.monthSize,{selectMonth:a,currentDate:e}=h,l=[];if(a&&e){var i=e.getFullYear(),u=e.getMonth(),s=_xeUtils.default.getWhatYear(a,0,"first").getFullYear();for(let e=-4;e<t-4;e++){var r=_xeUtils.default.getWhatYear(a,0,e),d=r.getFullYear(),n=r.getMonth(),v=d<s;l.push({date:r,isPrev:v,isCurrent:d===s,isNow:d===i&&n===u,isNext:!v&&s<d,month:n})}}return l}),ae=(0,_vue.computed)(()=>{var e=te.value;return _xeUtils.default.chunk(e,4)}),le=(0,_vue.computed)(()=>{var{selectMonth:t,currentDate:e}=h,a=[];if(t&&e){var l=Q.value,i=G.value,u=e.getFullYear(),s=e.getMonth(),r=e.getDate(),d=t.getFullYear(),n=t.getMonth(),e=t.getDay(),i=-i.indexOf(e),v=new Date(_xeUtils.default.getWhatDay(t,i).getTime()+l);for(let e=0;e<42;e++){var p=_xeUtils.default.getWhatDay(v,e),o=p.getFullYear(),m=p.getMonth(),c=p.getDate(),_=p<t;a.push({date:p,isPrev:_,isCurrent:o===d&&m===n,isNow:o===u&&m===s&&c===r,isNext:!_&&n!==m,label:c})}}return a}),ie=(0,_vue.computed)(()=>{var e=le.value;return _xeUtils.default.chunk(e,7)}),ue=(0,_vue.computed)(()=>{var e=ie.value;let a=b.value;return e.map(e=>{var t=e[0];return[{date:t.date,isWeekNumber:!0,isPrev:!1,isCurrent:!1,isNow:!1,isNext:!1,label:_xeUtils.default.getYearWeek(t.date,a)}].concat(e)})}),se=(0,_vue.computed)(()=>{let{hours:e,hourDisabledMethod:a}=i.value,l=[];if(v.value)if(e&&e.length)e.forEach(e=>{var t;_xeUtils.default.isNumber(e)||_xeUtils.default.isString(e)?(t=_xeUtils.default.toNumber(e),l.push({value:t,label:(""+t).padStart(2,"0"),disabled:!(!a||!a({hour:t}))})):e&&(t=_xeUtils.default.toNumber(e.value),l.push({value:t,label:(""+(e.label||t)).padStart(2,"0"),disabled:_xeUtils.default.isBoolean(e.disabled)?e.disabled:!(!a||!a({hour:t}))}))});else for(let e=0;e<24;e++){var t=e;l.push({value:t,label:(""+t).padStart(2,"0"),disabled:!(!a||!a({hour:t}))})}return l}),re=(0,_vue.computed)(()=>{let{minutes:e,minuteDisabledMethod:a}=i.value,l=[];if(v.value)if(e&&e.length)e.forEach(e=>{var t;_xeUtils.default.isNumber(e)||_xeUtils.default.isString(e)?(t=_xeUtils.default.toNumber(e),l.push({value:t,label:(""+t).padStart(2,"0"),disabled:!(!a||!a({minute:t}))})):e&&(t=_xeUtils.default.toNumber(e.value),l.push({value:t,label:(""+(e.label||t)).padStart(2,"0"),disabled:_xeUtils.default.isBoolean(e.disabled)?e.disabled:!(!a||!a({minute:t}))}))});else for(let e=0;e<60;e++){var t=e;l.push({value:t,label:(""+t).padStart(2,"0"),disabled:!(!a||!a({minute:t}))})}return l}),de=(0,_vue.computed)(()=>{var e=c.timeFormat,t=m.value;return!/HH/.test(e||t)||/mm/.test(e||t)}),ne=(0,_vue.computed)(()=>{var e=c.timeFormat,t=m.value;return!/HH/.test(e||t)||/ss/.test(e||t)}),ve=(0,_vue.computed)(()=>{let{seconds:e,secondDisabledMethod:a}=i.value,l=[];if(v.value)if(e&&e.length)e.forEach(e=>{var t;_xeUtils.default.isNumber(e)||_xeUtils.default.isString(e)?(t=_xeUtils.default.toNumber(e),l.push({value:t,label:(""+t).padStart(2,"0"),disabled:!(!a||!a({second:t}))})):e&&(t=_xeUtils.default.toNumber(e.value),l.push({value:t,label:(""+(e.label||t)).padStart(2,"0"),disabled:_xeUtils.default.isBoolean(e.disabled)?e.disabled:!(!a||!a({second:t}))}))});else for(let e=0;e<60;e++){var t=e;l.push({value:t,label:(""+t).padStart(2,"0"),disabled:!(!a||!a({second:t}))})}return l}),pe=e=>{var t=c.type,a=m.value,e=(0,_util.parseDateValue)(e,t,{valueFormat:a});h.inputValue=e,h.inputLabel=e,Ve()},D=(e,t)=>{var{type:a,multiple:l}=c;return"time"===a?(0,_util.toStringTimeDate)(e):_xeUtils.default.isArray(e)?_xeUtils.default.toStringDate(e[0],t):_xeUtils.default.isString(e)?_xeUtils.default.toStringDate(l?_xeUtils.default.last(e.split(",")):e,t):_xeUtils.default.toStringDate(e,t)},oe=a=>{var l=c.type,{inputLabel:i,datetimePanelValue:u}=h,s=n.value;if(a){let t=D(a,s);if(_xeUtils.default.isValidDate(t))if("time"===l)i!==(t=_xeUtils.default.toDateString(t,s))&&w(t,{type:"check"}),h.inputLabel=t;else{let e=!1;i=b.value;"datetime"===l?(l=x.value,a===_xeUtils.default.toDateString(l,s)&&a===_xeUtils.default.toDateString(t,s)||(e=!0,u&&(u.setHours(t.getHours()),u.setMinutes(t.getMinutes()),u.setSeconds(t.getSeconds())))):e=!0,h.inputLabel=_xeUtils.default.toDateString(t,s,{firstDay:i}),e&&P(t)}else l=c.multiple?d.value:h.datePanelLabel,h.inputLabel=l,F("revert",{label:l},null)}else w("",{type:"check"})},U=e=>{h.inputValue=e,Y("update:modelValue",e)},w=(e,t)=>{var a,{type:l,modelValue:i,valueFormat:u}=c,s=m.value;h.inputLabel=e,(0,_util.hasTimestampValueType)(u)?(a=(a=(0,_util.parseDateValue)(e,l,{valueFormat:s}))?a.getTime():null,U(a),i!==a&&F("change",{value:a},t)):(0,_util.hasDateValueType)(u)?(a=(0,_util.parseDateValue)(e,l,{valueFormat:s}),U(a),(i&&a?_xeUtils.default.toStringDate(i).getTime()!==a.getTime():i!==a)&&F("change",{value:a},t)):(U(e),_xeUtils.default.toValueString(i)!==e&&F("change",{value:e},t))},s=()=>new Promise(e=>{h.visiblePanel=!1,o.hpTimeout=setTimeout(()=>{h.isAniVisible=!1,e()},350)}),u=e=>{var t=c.type,a=n.value,l=m.value,i=b.value,e=(0,_util.parseDateObj)(e,t,{valueFormat:l,labelFormat:a,firstDay:i});h.datePanelValue=e.value,h.datePanelLabel=e.label},me=()=>{var e=r.value,t=h.inputLabel;e&&(u(t),h.inputLabel=c.multiple?d.value:h.datePanelLabel)},ce=()=>{var e=c.modelValue,t=r.value;pe(e),t&&me()},S=e=>{var t=b.value,a=_xeUtils.default.getYearWeek(e,t),t=_xeUtils.default.getWhatWeek(e,0,t,t),a=_xeUtils.default.getWhatMonth(1===a?_xeUtils.default.getWhatDay(t,6):e,0,"first");_xeUtils.default.isEqual(a,h.selectMonth)||(h.selectMonth=a)},P=(a,e)=>{var{modelValue:t,multiple:l}=c;let i=h.datetimePanelValue;var u=v.value;let s=m.value;var r=b.value;"week"===c.type?(n=_xeUtils.default.toNumber(c.selectDay),a=_xeUtils.default.getWhatWeek(a,0,n,r)):u&&i&&(a.setHours(i.getHours()),a.setMinutes(i.getMinutes()),a.setSeconds(i.getSeconds()));let d=_xeUtils.default.toDateString(a,s,{firstDay:r});if(S(a),l){var n=y.value;if(u){r=e?[]:[...f.value];let t=[];l=_xeUtils.default.findIndexOf(r,e=>_xeUtils.default.isDateSame(a,e,"yyyyMMdd"));if(-1===l){if(n)return;r.push(a)}else r.splice(l,1);r.forEach(e=>{e&&(i&&(e.setHours(i.getHours()),e.setMinutes(i.getMinutes()),e.setSeconds(i.getSeconds())),t.push(e))}),w(t.map(e=>_xeUtils.default.toDateString(e,s)).join(","),{type:"update"})}else{u=e?[]:p.value;u.some(e=>_xeUtils.default.isEqual(e,d))?w(u.filter(e=>!_xeUtils.default.isEqual(e,d)).join(","),{type:"update"}):n||w(u.concat([d]).join(","),{type:"update"})}}else _xeUtils.default.isEqual(t,d)||w(d,{type:"update"})},M=(e,t)=>{var a=b.value,l=_xeUtils.default.getYearWeek(e,a),a=_xeUtils.default.getWhatWeek(e,0,a,a),l=_xeUtils.default.getWhatMonth(1===l?_xeUtils.default.getWhatDay(a,6):e,t,"first");h.selectMonth=l},_e=()=>{var e=c.type,t=b.value;let a=new Date;switch(e){case"week":a=_xeUtils.default.getWhatWeek(a,0,t);break;case"datetime":a=new Date,h.datetimePanelValue=new Date;break;default:a=_xeUtils.default.getWhatDay(Date.now(),0,"first")}h.currentDate=a,M(a,0)},he=()=>{h.datePanelType="year"},fe=()=>{let e=h.datePanelType;e="month"===e||"quarter"===e?"year":"month",h.datePanelType=e},ye=t=>{var a=c.type,{datePanelType:l,selectMonth:i,inputLabel:u}=h,s=o.yearSize;if(!$.value){let e;e="year"===a?_xeUtils.default.getWhatYear(i,-s,"first"):"month"===a||"quarter"===a?"year"===l?_xeUtils.default.getWhatYear(i,-s,"first"):_xeUtils.default.getWhatYear(i,-1,"first"):"year"===l?_xeUtils.default.getWhatYear(i,-s,"first"):"month"===l?_xeUtils.default.getWhatYear(i,-1,"first"):_xeUtils.default.getWhatMonth(i,-1,"first"),h.selectMonth=e,F("date-prev",{viewType:l,viewDate:e,value:u,type:a},t)}},xe=e=>{_e(),P(h.currentDate,!0),c.multiple||s(),F("date-today",{viewType:h.datePanelType,type:c.type,viewDate:h.selectMonth},e)},ge=t=>{var a=c.type,{datePanelType:l,selectMonth:i,inputLabel:u}=h,s=o.yearSize;if(!A.value){let e;e="year"===a?_xeUtils.default.getWhatYear(i,s,"first"):"month"===a||"quarter"===a?"year"===l?_xeUtils.default.getWhatYear(i,s,"first"):_xeUtils.default.getWhatYear(i,1,"first"):"year"===l?_xeUtils.default.getWhatYear(i,s,"first"):"month"===l?_xeUtils.default.getWhatYear(i,1,"first"):_xeUtils.default.getWhatMonth(i,1,"first"),h.selectMonth=e,F("date-next",{viewType:l,value:u,type:a,viewDate:e},t)}},k=e=>{var t=j.value,a=I.value,e=e.date;return!!(t&&t.getTime()>e.getTime())||!!(a&&a.getTime()<e.getTime())},T=e=>{var t=c.disabledMethod,a=h.datePanelType,e=e.date;return!!t&&t({type:a,viewType:a,date:e,$datePanel:_})},l=e=>k(e)||T(e),be=e=>{var{type:t,multiple:a}=c,l=h.datePanelType;"month"===t?"year"===l?(h.datePanelType="month",S(e)):(P(e),a||s()):"year"===t?(P(e),a||s()):"quarter"===t?"year"===l?(h.datePanelType="quarter",S(e)):(P(e),a||s()):"month"===l?(h.datePanelType="week"===t?t:"day",S(e)):"year"===l?(h.datePanelType="month",S(e)):(P(e),"datetime"===t||a||s())},V=e=>{l(e)||be(e.date)},De=t=>{l({date:t})||(le.value.some(e=>_xeUtils.default.isDateSame(e.date,t,"yyyyMMdd"))||S(t),u(t))},Ue=t=>{l({date:t})||(g.value.some(e=>_xeUtils.default.isDateSame(e.date,t,"yyyy"))||S(t),u(t))},we=t=>{l({date:t})||(Z.value.some(e=>_xeUtils.default.isDateSame(e.date,t,"yyyyq"))||S(t),u(t))},Se=t=>{l({date:t})||(te.value.some(e=>_xeUtils.default.isDateSame(e.date,t,"yyyyMM"))||S(t),u(t))},N=e=>{var t;l(e)||(t=h.datePanelType,("month"===t?Se:"quarter"===t?we:"year"===t?Ue:De)(e.date))},C=()=>{h.datePanelValue=null},Pe=e=>{var t;e&&(t=e.offsetHeight,e.parentNode.scrollTop=e.offsetTop-4*t)},W=e=>{var t=h.datetimePanelValue;h.datetimePanelValue=t?new Date(t.getTime()):new Date,Pe(e.currentTarget)},Me=(e,t)=>{var a=h.datetimePanelValue;t.disabled||(a&&a.setHours(t.value),W(e))},ke=(e,t)=>{var a=h.datetimePanelValue;t.disabled||(a&&a.setMinutes(t.value),W(e))},Te=(e,t)=>{var a=h.datetimePanelValue;t.disabled||(a&&a.setSeconds(t.value),W(e))},Ve=()=>{var{type:e,defaultDate:t,defaultTime:a}=c,l=v.value,i=x.value;if(-1<["year","quarter","month","week"].indexOf(e)?h.datePanelType=e:h.datePanelType="day",h.currentDate=_xeUtils.default.getWhatDay(Date.now(),0,"first"),i?(M(i,0),u(i)):t&&(e=D(t,"yyyy-MM-dd"),_xeUtils.default.isValidDate(e))?M(e,0):_e(),l){let e=h.datePanelValue;e||(e=_xeUtils.default.getWhatDay(Date.now(),0,"first"),a&&(i=(0,_util.toStringTimeDate)(a),_xeUtils.default.isValidDate(i))&&(e.setHours(i.getHours()),e.setMinutes(i.getMinutes()),e.setSeconds(i.getSeconds()))),h.datetimePanelValue=e,(0,_vue.nextTick)(()=>{var e=L.value;_xeUtils.default.arrayEach(e.querySelectorAll("li.is--selected"),e=>{Pe(e)})})}},F=(e,t,a)=>{Y(e,(0,_ui.createEvent)(a,{$datePanel:_},t))};t={dispatchEvent:F,getModelValue(){return h.inputValue},setPanelDate(e){e&&S(e)},getPanelDate(){var e=h.selectMonth;return e?new Date(e.getTime()):new Date},checkValue(e){oe(e)},confirmByEvent(e){(e=>{var t=c.multiple;let l=h.datetimePanelValue;var i=x.value,u=v.value;if(u){let a=m.value;if(t){t=p.value;if(u){u=[...f.value];let t=[];u.forEach(e=>{e&&(l&&(e.setHours(l.getHours()),e.setMinutes(l.getMinutes()),e.setSeconds(l.getSeconds())),t.push(e))}),w(t.map(e=>_xeUtils.default.toDateString(e,a)).join(","),{type:"update"})}else w(t.join(","),{type:"update"})}else P(i||h.currentDate)}s(),F("confirm",{},e)})(e)}};Object.assign(_,t);let q=(e,t)=>{var a,l=c.festivalMethod,i=[];return l&&(a=h.datePanelType,e=(a=(l=l({type:a,viewType:a,date:e.date,$datePanel:_}))?_xeUtils.default.isString(l)?{label:l}:l:{}).extra?_xeUtils.default.isString(a.extra)?{label:a.extra}:a.extra:null,i.push((0,_vue.h)("div",{class:["vxe-date-panel--label",{"is-notice":a.notice}]},e&&e.label?[(0,_vue.h)("div",{class:"vxe-date-panel--label--number"},""+t),(0,_vue.h)("div",{class:["vxe-date-panel--label--extra",e.important?"is-important":"",e.className],style:e.style},_xeUtils.default.toValueString(e.label))]:""+t)),l=a.label)&&(e=_xeUtils.default.toValueString(l).split(","),i.push((0,_vue.h)("div",{class:["vxe-date-panel--festival",a.important?"is-important":"",a.className],style:a.style},[1<e.length?(0,_vue.h)("div",{class:["vxe-date-panel--festival--overlap","overlap--"+e.length]},e.map(e=>(0,_vue.h)("div",e.substring(0,3)))):(0,_vue.h)("div",{class:"vxe-date-panel--festival--label"},e[0].substring(0,3))]))),i},Ne=()=>{let{type:l,multiple:i,cellClassName:u}=c,{datePanelType:s,datePanelValue:r}=h,d=x.value,t=J.value,e=ie.value,n=f.value,v=y.value,p="yyyyMMdd";return[(0,_vue.h)("div",{class:["vxe-date-panel--view-wrapper","type--"+s]},[(0,_vue.h)("div",{class:"vxe-date-panel--view-header"},[(0,_vue.h)("div",{class:"vxe-date-panel--view-row"},t.map(e=>(0,_vue.h)("div",{class:"vxe-date-panel--view-item",style:{width:100/t.length+"%"}},[(0,_vue.h)("div",{class:"vxe-date-panel--view-item-inner"},[(0,_vue.h)("div",{class:"vxe-date-panel--view-item-label"},e.label)])])))]),(0,_vue.h)("div",{class:"vxe-date-panel--view-body"},e.map(a=>(0,_vue.h)("div",{class:"vxe-date-panel--view-row",style:{height:100/e.length+"%"}},a.map(t=>{var e=i?n.some(e=>_xeUtils.default.isDateSame(e,t.date,p)):_xeUtils.default.isDateSame(d,t.date,p);return(0,_vue.h)("div",{class:["vxe-date-panel--view-item",u?_xeUtils.default.isFunction(u)?""+(u({$datePanel:_,type:l,viewType:s,date:t.date})||""):""+(u||""):"",{"is--prev":t.isPrev,"is--current":t.isCurrent,"is--now":t.isNow,"is--next":t.isNext,"is--range-disabled":k(t),"is--disabled":T(t),"is--selected":e,"is--over":v&&!e,"is--hover":!v&&_xeUtils.default.isDateSame(r,t.date,p)}],style:{width:100/a.length+"%"},onClick:()=>V(t),onMouseenter:()=>N(t),onMouseleave:C},[(0,_vue.h)("div",{class:"vxe-date-panel--view-item-inner"},q(t,t.label))])}))))])]},Ce=()=>{let{type:u,multiple:t,cellClassName:s}=c,{datePanelType:r,datePanelValue:d}=h,n=x.value;var e=K.value;let v=ue.value,p=f.value,o=y.value,m="yyyyMMdd";return[(0,_vue.h)("div",{class:["vxe-date-panel--view-wrapper","type--"+r]},[(0,_vue.h)("div",{class:"vxe-date-panel--view-header"},[(0,_vue.h)("div",{class:"vxe-date-panel--view-row"},e.map((e,t)=>(0,_vue.h)("div",{class:"vxe-date-panel--view-item",style:{width:`${t?13:9}%`}},[(0,_vue.h)("div",{class:"vxe-date-panel--view-item-inner"},[(0,_vue.h)("div",{class:"vxe-date-panel--view-item-label"},e.label)])])))]),(0,_vue.h)("div",{class:"vxe-date-panel--view-body"},v.map(e=>{let a=t?e.some(t=>p.some(e=>_xeUtils.default.isDateSame(e,t.date,m))):e.some(e=>_xeUtils.default.isDateSame(n,e.date,m)),l=e.some(e=>_xeUtils.default.isDateSame(d,e.date,m)),i=e.some(e=>e.isNow);return(0,_vue.h)("div",{class:"vxe-date-panel--view-row",style:{height:100/v.length+"%"}},e.map((e,t)=>(0,_vue.h)("div",{class:["vxe-date-panel--view-item",s?_xeUtils.default.isFunction(s)?""+(s({$datePanel:_,type:u,viewType:r,date:e.date})||""):""+(s||""):"",{"is--prev":e.isPrev,"is--current":e.isCurrent,"is--now":t?e.isNow:i,"is--next":e.isNext,"is--range-disabled":k(e),"is--disabled":T(e),"is--selected":a,"is--over":o&&!a,"is--hover":!o&&l}],style:{width:`${t?13:9}%`},onClick:()=>V(e),onMouseenter:()=>N(e),onMouseleave:C},[(0,_vue.h)("div",{class:"vxe-date-panel--view-item-inner"},q(e,e.label))])))}))])]},We=()=>{let{type:l,multiple:i,cellClassName:u}=c,{datePanelType:s,datePanelValue:r}=h,d=x.value,e=ae.value,n=f.value,v=y.value,p="yyyyMM";return[(0,_vue.h)("div",{class:["vxe-date-panel--view-wrapper","type--"+s]},[(0,_vue.h)("div",{class:"vxe-date-panel--view-body"},e.map(a=>(0,_vue.h)("div",{class:"vxe-date-panel--view-row",style:{height:100/e.length+"%"}},a.map(t=>{var e=i?n.some(e=>_xeUtils.default.isDateSame(e,t.date,p)):_xeUtils.default.isDateSame(d,t.date,p);return(0,_vue.h)("div",{class:["vxe-date-panel--view-item",u?_xeUtils.default.isFunction(u)?""+(u({$datePanel:_,type:l,viewType:s,date:t.date})||""):""+(u||""):"",{"is--prev":t.isPrev,"is--current":t.isCurrent,"is--now":t.isNow,"is--next":t.isNext,"is--range-disabled":k(t),"is--disabled":T(t),"is--selected":e,"is--over":v&&!e,"is--hover":!v&&_xeUtils.default.isDateSame(r,t.date,p)}],style:{width:100/a.length+"%"},onClick:()=>V(t),onMouseenter:()=>N(t),onMouseleave:C},[(0,_vue.h)("div",{class:"vxe-date-panel--view-item-inner"},q(t,(0,_ui.getI18n)("vxe.input.date.months.m"+t.month)))])}))))])]},Fe=()=>{let{type:l,multiple:i,cellClassName:u}=c,{datePanelType:s,datePanelValue:r}=h,d=x.value,e=ee.value,n=f.value,v=y.value,p="yyyyq";return[(0,_vue.h)("div",{class:["vxe-date-panel--view-wrapper","type--"+s]},[(0,_vue.h)("div",{class:"vxe-date-panel--view-body"},e.map(a=>(0,_vue.h)("div",{class:"vxe-date-panel--view-row",style:{height:100/e.length+"%"}},a.map(t=>{var e=i?n.some(e=>_xeUtils.default.isDateSame(e,t.date,p)):_xeUtils.default.isDateSame(d,t.date,p);return(0,_vue.h)("div",{class:["vxe-date-panel--view-item",u?_xeUtils.default.isFunction(u)?""+(u({$datePanel:_,type:l,viewType:s,date:t.date})||""):""+(u||""):"",{"is--prev":t.isPrev,"is--current":t.isCurrent,"is--now":t.isNow,"is--next":t.isNext,"is--range-disabled":k(t),"is--disabled":T(t),"is--selected":e,"is--over":v&&!e,"is--hover":!v&&_xeUtils.default.isDateSame(r,t.date,p)}],style:{width:100/a.length+"%"},onClick:()=>V(t),onMouseenter:()=>N(t),onMouseleave:C},[(0,_vue.h)("div",{class:"vxe-date-panel--view-item-inner"},q(t,(0,_ui.getI18n)("vxe.input.date.quarters.q"+t.quarter)))])}))))])]},qe=()=>{let{type:l,multiple:i,cellClassName:u}=c,{datePanelType:s,datePanelValue:r}=h,d=x.value,e=X.value,n=f.value,v=y.value,p="yyyy";return[(0,_vue.h)("div",{class:["vxe-date-panel--view-wrapper","type--"+s]},[(0,_vue.h)("div",{class:"vxe-date-panel--view-body"},e.map(a=>(0,_vue.h)("div",{class:"vxe-date-panel--view-row",style:{height:100/e.length+"%"}},a.map(t=>{var e=i?n.some(e=>_xeUtils.default.isDateSame(e,t.date,p)):_xeUtils.default.isDateSame(d,t.date,p);return(0,_vue.h)("div",{class:["vxe-date-panel--view-item",u?_xeUtils.default.isFunction(u)?""+(u({$datePanel:_,type:l,viewType:s,date:t.date})||""):""+(u||""):"",{"is--prev":t.isPrev,"is--current":t.isCurrent,"is--now":t.isNow,"is--next":t.isNext,"is--range-disabled":k(t),"is--disabled":T(t),"is--selected":e,"is--over":v&&!e,"is--hover":!v&&_xeUtils.default.isDateSame(r,t.date,p)}],style:{width:100/a.length+"%"},onClick:()=>V(t),onMouseenter:()=>N(t),onMouseleave:C},[(0,_vue.h)("div",{class:"vxe-date-panel--view-item-inner"},q(t,t.year))])}))))])]},Ye=()=>{var e=h.datePanelType;switch(e){case"week":return Ce();case"month":return We();case"quarter":return Fe();case"year":return qe()}return Ne()},He=()=>{var e=h.datePanelType,t=$.value,a=A.value,l=R.value;return[(0,_vue.h)("div",{class:"vxe-date-panel--picker-header"},[(0,_vue.h)("div",{class:"vxe-date-panel--picker-type-wrapper"},["year"===e?(0,_vue.h)("span",{class:"vxe-date-panel--picker-label"},l.y):(0,_vue.h)("span",{class:"vxe-date-panel--picker-btns"},[(0,_vue.h)("span",{class:"vxe-date-panel--picker-btn",onClick:he},l.y),l.m?(0,_vue.h)("span",{class:"vxe-date-panel--picker-btn",onClick:fe},l.m):(0,_ui.renderEmptyElement)(_)])]),(0,_vue.h)("div",{class:"vxe-date-panel--picker-btn-wrapper"},[(0,_vue.h)("span",{class:["vxe-date-panel--picker-btn vxe-date-panel--picker-prev-btn",{"is--disabled":t}],onClick:ye},[(0,_vue.h)("i",{class:"vxe-icon-caret-left"})]),(0,_vue.h)("span",{class:"vxe-date-panel--picker-btn vxe-date-panel--picker-current-btn",onClick:xe},[(0,_vue.h)("i",{class:"vxe-icon-dot"})]),(0,_vue.h)("span",{class:["vxe-date-panel--picker-btn vxe-date-panel--picker-next-btn",{"is--disabled":a}],onClick:ge},[(0,_vue.h)("i",{class:"vxe-icon-caret-right"})])])]),(0,_vue.h)("div",{class:"vxe-date-panel--picker-body"},Ye())]},Ee=()=>{var e=c.type;let a=h.datetimePanelValue;var t=B.value,l=se.value,i=de.value,u=re.value,s=ne.value,r=ve.value;return["time"===e?(0,_ui.renderEmptyElement)(_):(0,_vue.h)("div",{class:"vxe-date-panel--time-header"},[(0,_vue.h)("div",{class:"vxe-date-panel--time-title"},t)]),(0,_vue.h)("div",{ref:L,class:"vxe-date-panel--time-body"},[(0,_vue.h)("ul",{class:"vxe-date-panel--time-hour-list"},l.map((t,e)=>(0,_vue.h)("li",{key:e,class:{"is--disabled":t.disabled,"is--selected":a&&a.getHours()===t.value},onClick:e=>Me(e,t)},t.label))),i?(0,_vue.h)("ul",{class:"vxe-date-panel--time-minute-list"},u.map((t,e)=>(0,_vue.h)("li",{key:e,class:{"is--disabled":t.disabled,"is--selected":a&&a.getMinutes()===t.value},onClick:e=>ke(e,t)},t.label))):(0,_ui.renderEmptyElement)(_),i&&s?(0,_vue.h)("ul",{class:"vxe-date-panel--time-second-list"},r.map((t,e)=>(0,_vue.h)("li",{key:e,class:{"is--disabled":t.disabled,"is--selected":a&&a.getSeconds()===t.value},onClick:e=>Te(e,t)},t.label))):(0,_ui.renderEmptyElement)(_)])]};return(0,_vue.watch)(()=>c.modelValue,e=>{pe(e),me()}),(0,_vue.watch)(()=>c.type,()=>{Object.assign(h,{inputLabel:"",datetimePanelValue:null,datePanelValue:null,datePanelLabel:"",datePanelType:"day",selectMonth:null,currentDate:null}),ce()}),(0,_vue.watch)(n,()=>{r.value&&(u(h.datePanelValue),h.inputLabel=c.multiple?d.value:h.datePanelLabel)}),ce(),Ve(),_.renderVN=()=>{var e=c.type,t=E.value;return(0,_vue.h)("div",{class:["vxe-date-panel","type--"+e,{["size--"+t]:t}]},["datetime"===(e=c.type)?(0,_vue.h)("div",{key:e,ref:a,class:"vxe-date-panel--time-layout-wrapper"},[(0,_vue.h)("div",{class:"vxe-date-panel--time-left-wrapper"},He()),(0,_vue.h)("div",{class:"vxe-date-panel--time-right-wrapper"},Ee())]):"time"===e?(0,_vue.h)("div",{key:e,ref:a,class:"vxe-date-panel--wrapper"},Ee()):(0,_vue.h)("div",{key:e||"default",ref:a,class:"vxe-date-panel--wrapper"},He())])},_},render(){return this.renderVN()}});
@@ -36,6 +36,10 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
36
36
  type: Boolean,
37
37
  default: () => (0, _ui.getConfig)().dateRangePicker.clearable
38
38
  },
39
+ linkedPanels: {
40
+ type: Boolean,
41
+ default: () => (0, _ui.getConfig)().dateRangePicker.linkedPanels
42
+ },
39
43
  readonly: {
40
44
  type: Boolean,
41
45
  default: null
@@ -632,6 +636,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
632
636
  }
633
637
  if (!reactData.visiblePanel) {
634
638
  reactData.isActivated = false;
639
+ checkValue();
635
640
  }
636
641
  dispatchEvent('blur', {
637
642
  value,
@@ -720,6 +725,78 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
720
725
  }
721
726
  });
722
727
  };
728
+ const startPanelDateBtnChangeEvent = params => {
729
+ const {
730
+ linkedPanels
731
+ } = props;
732
+ if (linkedPanels) {
733
+ const {
734
+ viewType
735
+ } = params;
736
+ const $startDatePanel = refStartDatePanel.value;
737
+ const $endDatePanel = refEndDatePanel.value;
738
+ if (!$startDatePanel || !$endDatePanel) {
739
+ return;
740
+ }
741
+ const startPanelDate = $startDatePanel.getPanelDate();
742
+ if (!startPanelDate) {
743
+ return;
744
+ }
745
+ const endYear = startPanelDate.getFullYear();
746
+ const endMonth = startPanelDate.getMonth();
747
+ switch (viewType) {
748
+ case 'day':
749
+ case 'date':
750
+ case 'week':
751
+ {
752
+ if (endMonth < 11) {
753
+ startPanelDate.setMonth(endMonth + 1);
754
+ } else {
755
+ startPanelDate.setFullYear(endYear + 1);
756
+ startPanelDate.setMonth(0);
757
+ }
758
+ $endDatePanel.setPanelDate(startPanelDate);
759
+ break;
760
+ }
761
+ }
762
+ }
763
+ };
764
+ const endPanelDateBtnChangeEvent = params => {
765
+ const {
766
+ linkedPanels
767
+ } = props;
768
+ if (linkedPanels) {
769
+ const {
770
+ viewType
771
+ } = params;
772
+ const $startDatePanel = refStartDatePanel.value;
773
+ const $endDatePanel = refEndDatePanel.value;
774
+ if (!$startDatePanel || !$endDatePanel) {
775
+ return;
776
+ }
777
+ const endPanelDate = $endDatePanel.getPanelDate();
778
+ if (!endPanelDate) {
779
+ return;
780
+ }
781
+ const endYear = endPanelDate.getFullYear();
782
+ const endMonth = endPanelDate.getMonth();
783
+ switch (viewType) {
784
+ case 'day':
785
+ case 'date':
786
+ case 'week':
787
+ {
788
+ if (endMonth) {
789
+ endPanelDate.setMonth(endMonth - 1);
790
+ } else {
791
+ endPanelDate.setFullYear(endYear - 1);
792
+ endPanelDate.setMonth(11);
793
+ }
794
+ $startDatePanel.setPanelDate(endPanelDate);
795
+ break;
796
+ }
797
+ }
798
+ }
799
+ };
723
800
  // 全局事件
724
801
  const handleGlobalMousedownEvent = evnt => {
725
802
  const {
@@ -1116,7 +1193,10 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
1116
1193
  disabledMethod: props.disabledMethod,
1117
1194
  selectDay: props.selectDay,
1118
1195
  cellClassName: panelCellClassName,
1119
- onChange: startPanelChangeEvent
1196
+ onChange: startPanelChangeEvent,
1197
+ onDatePrev: startPanelDateBtnChangeEvent,
1198
+ onDateToday: startPanelDateBtnChangeEvent,
1199
+ onDateNext: startPanelDateBtnChangeEvent
1120
1200
  }), (0, _vue.h)(_datePanel.default, {
1121
1201
  ref: refEndDatePanel,
1122
1202
  modelValue: endValue,
@@ -1136,7 +1216,10 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
1136
1216
  disabledMethod: props.disabledMethod,
1137
1217
  selectDay: props.selectDay,
1138
1218
  cellClassName: panelCellClassName,
1139
- onChange: endPanelChangeEvent
1219
+ onChange: endPanelChangeEvent,
1220
+ onDatePrev: endPanelDateBtnChangeEvent,
1221
+ onDateToday: endPanelDateBtnChangeEvent,
1222
+ onDateNext: endPanelDateBtnChangeEvent
1140
1223
  })]), (0, _vue.h)('div', {
1141
1224
  class: 'vxe-date-range-picker--layout-footer-wrapper'
1142
1225
  }, [(0, _vue.h)('div', {