vxe-pc-ui 3.15.22 → 3.15.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/date-panel/src/date-panel.js +34 -14
- package/es/date-panel/src/util.js +30 -3
- package/es/date-picker/src/date-picker.js +1 -1
- package/es/date-range-picker/src/date-range-picker.js +236 -134
- package/es/icon/style.css +1 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/tooltip/src/tooltip.js +34 -21
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/lib/date-panel/src/date-panel.js +46 -15
- package/lib/date-panel/src/date-panel.min.js +1 -1
- package/lib/date-panel/src/util.js +31 -5
- package/lib/date-panel/src/util.min.js +1 -1
- package/lib/date-picker/src/date-picker.js +1 -1
- package/lib/date-picker/src/date-picker.min.js +1 -1
- package/lib/date-range-picker/src/date-range-picker.js +259 -142
- package/lib/date-range-picker/src/date-range-picker.min.js +1 -1
- package/lib/icon/style/style.css +1 -1
- package/lib/icon/style/style.min.css +1 -1
- package/lib/index.umd.js +381 -192
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/tooltip/src/tooltip.js +36 -21
- package/lib/tooltip/src/tooltip.min.js +1 -1
- package/lib/ui/index.js +1 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/package.json +1 -1
- package/packages/date-panel/src/date-panel.ts +38 -15
- package/packages/date-panel/src/util.ts +31 -4
- package/packages/date-picker/src/date-picker.ts +1 -1
- package/packages/date-range-picker/src/date-range-picker.ts +238 -134
- package/packages/tooltip/src/tooltip.ts +41 -20
- package/types/components/date-panel.d.ts +15 -2
- package/types/components/date-range-picker.d.ts +5 -3
- package/types/components/tooltip.d.ts +1 -1
- package/types/ui/commands.d.ts +3 -3
- /package/es/icon/{iconfont.1783065884505.ttf → iconfont.1783233735491.ttf} +0 -0
- /package/es/icon/{iconfont.1783065884505.woff → iconfont.1783233735491.woff} +0 -0
- /package/es/icon/{iconfont.1783065884505.woff2 → iconfont.1783233735491.woff2} +0 -0
- /package/es/{iconfont.1783065884505.ttf → iconfont.1783233735491.ttf} +0 -0
- /package/es/{iconfont.1783065884505.woff → iconfont.1783233735491.woff} +0 -0
- /package/es/{iconfont.1783065884505.woff2 → iconfont.1783233735491.woff2} +0 -0
- /package/lib/icon/style/{iconfont.1783065884505.ttf → iconfont.1783233735491.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1783065884505.woff → iconfont.1783233735491.woff} +0 -0
- /package/lib/icon/style/{iconfont.1783065884505.woff2 → iconfont.1783233735491.woff2} +0 -0
- /package/lib/{iconfont.1783065884505.ttf → iconfont.1783233735491.ttf} +0 -0
- /package/lib/{iconfont.1783065884505.woff → iconfont.1783233735491.woff} +0 -0
- /package/lib/{iconfont.1783065884505.woff2 → iconfont.1783233735491.woff2} +0 -0
|
@@ -28,6 +28,27 @@ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" !=
|
|
|
28
28
|
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
29
29
|
var _createComponentLog = (0, _log.createComponentLog)('date-range-picker'),
|
|
30
30
|
errLog = _createComponentLog.errLog;
|
|
31
|
+
function createReactData() {
|
|
32
|
+
return {
|
|
33
|
+
initialized: false,
|
|
34
|
+
panelIndex: 0,
|
|
35
|
+
visiblePanel: false,
|
|
36
|
+
isAniVisible: false,
|
|
37
|
+
panelStyle: {},
|
|
38
|
+
panelPlacement: '',
|
|
39
|
+
isActivated: false,
|
|
40
|
+
selectStValue: '',
|
|
41
|
+
selectEdValue: '',
|
|
42
|
+
paneStartVal: '',
|
|
43
|
+
paneEndVal: ''
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
function createInternalData() {
|
|
47
|
+
return {
|
|
48
|
+
// selectStatus: false
|
|
49
|
+
// hpTimeout: undefined
|
|
50
|
+
};
|
|
51
|
+
}
|
|
31
52
|
var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defineVxeComponent)({
|
|
32
53
|
name: 'VxeDateRangePicker',
|
|
33
54
|
mixins: [_ui.globalMixins.sizeMixin],
|
|
@@ -188,26 +209,11 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
188
209
|
},
|
|
189
210
|
data: function data() {
|
|
190
211
|
var xID = _xeUtils.default.uniqueId();
|
|
191
|
-
var reactData =
|
|
192
|
-
|
|
193
|
-
panelIndex: 0,
|
|
194
|
-
visiblePanel: false,
|
|
195
|
-
isAniVisible: false,
|
|
196
|
-
panelStyle: {},
|
|
197
|
-
panelPlacement: '',
|
|
198
|
-
isActivated: false,
|
|
199
|
-
startValue: '',
|
|
200
|
-
endValue: ''
|
|
201
|
-
};
|
|
202
|
-
var internalData = {
|
|
203
|
-
// selectStatus: false
|
|
204
|
-
// hpTimeout: undefined
|
|
205
|
-
};
|
|
206
|
-
return {
|
|
212
|
+
var reactData = createReactData();
|
|
213
|
+
return Object.assign(Object.assign({}, {}), {
|
|
207
214
|
xID: xID,
|
|
208
|
-
reactData: reactData
|
|
209
|
-
|
|
210
|
-
};
|
|
215
|
+
reactData: reactData
|
|
216
|
+
});
|
|
211
217
|
},
|
|
212
218
|
computed: Object.assign(Object.assign({}, {}), {
|
|
213
219
|
computeBtnTransfer: function computeBtnTransfer() {
|
|
@@ -381,9 +387,9 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
381
387
|
computePanelLabelObj: function computePanelLabelObj() {
|
|
382
388
|
var $xeDateRangePicker = this;
|
|
383
389
|
var reactData = $xeDateRangePicker.reactData;
|
|
384
|
-
var
|
|
385
|
-
|
|
386
|
-
var vals =
|
|
390
|
+
var selectStValue = reactData.selectStValue,
|
|
391
|
+
selectEdValue = reactData.selectEdValue;
|
|
392
|
+
var vals = selectStValue || selectEdValue ? [selectStValue || '', selectEdValue || ''] : [];
|
|
387
393
|
return $xeDateRangePicker.formatRangeLabel(vals);
|
|
388
394
|
},
|
|
389
395
|
computeInputLabel: function computeInputLabel() {
|
|
@@ -441,8 +447,9 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
441
447
|
var $xeDateRangePicker = this;
|
|
442
448
|
var props = $xeDateRangePicker;
|
|
443
449
|
var modelValue = props.value,
|
|
444
|
-
valueType = props.valueType
|
|
445
|
-
|
|
450
|
+
valueType = props.valueType,
|
|
451
|
+
valueFormat = props.valueFormat;
|
|
452
|
+
var isArr = valueFormat === 'date' || _xeUtils.default.isArray(modelValue);
|
|
446
453
|
if (valueType) {
|
|
447
454
|
switch (valueType) {
|
|
448
455
|
case 'array':
|
|
@@ -454,7 +461,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
454
461
|
}
|
|
455
462
|
}
|
|
456
463
|
if (sValue || eValue) {
|
|
457
|
-
var rest = [sValue ||
|
|
464
|
+
var rest = [sValue || null, eValue || null];
|
|
458
465
|
if (isArr) {
|
|
459
466
|
return rest;
|
|
460
467
|
}
|
|
@@ -537,19 +544,19 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
537
544
|
restObj = $xeDateRangePicker.paraeUpdateModel();
|
|
538
545
|
}
|
|
539
546
|
}
|
|
540
|
-
reactData.
|
|
541
|
-
reactData.
|
|
547
|
+
reactData.selectStValue = restObj.sValue;
|
|
548
|
+
reactData.selectEdValue = restObj.eValue;
|
|
542
549
|
},
|
|
543
550
|
triggerEvent: function triggerEvent(evnt) {
|
|
544
551
|
var $xeDateRangePicker = this;
|
|
545
552
|
var reactData = $xeDateRangePicker.reactData;
|
|
546
|
-
var
|
|
547
|
-
|
|
548
|
-
var value = $xeDateRangePicker.getRangeValue(
|
|
553
|
+
var selectStValue = reactData.selectStValue,
|
|
554
|
+
selectEdValue = reactData.selectEdValue;
|
|
555
|
+
var value = $xeDateRangePicker.getRangeValue(selectStValue, selectEdValue);
|
|
549
556
|
$xeDateRangePicker.dispatchEvent(evnt.type, {
|
|
550
557
|
value: value,
|
|
551
|
-
startValue:
|
|
552
|
-
endValue:
|
|
558
|
+
startValue: selectStValue,
|
|
559
|
+
endValue: selectEdValue
|
|
553
560
|
}, evnt);
|
|
554
561
|
},
|
|
555
562
|
handleChange: function handleChange(sValue, eValue, evnt) {
|
|
@@ -558,19 +565,49 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
558
565
|
var reactData = $xeDateRangePicker.reactData;
|
|
559
566
|
var $xeForm = $xeDateRangePicker.$xeForm;
|
|
560
567
|
var formItemInfo = $xeDateRangePicker.formItemInfo;
|
|
561
|
-
var
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
var
|
|
565
|
-
var
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
568
|
+
var type = props.type,
|
|
569
|
+
modelValue = props.value,
|
|
570
|
+
valueFormat = props.valueFormat;
|
|
571
|
+
var dateValueFormat = $xeDateRangePicker.computeDateValueFormat;
|
|
572
|
+
var startRest = sValue;
|
|
573
|
+
var endRest = eValue;
|
|
574
|
+
if ((0, _util.hasTimestampValueType)(valueFormat)) {
|
|
575
|
+
if (startRest) {
|
|
576
|
+
var dateVal = (0, _util.parseDateValue)(startRest, type, {
|
|
577
|
+
valueFormat: dateValueFormat
|
|
578
|
+
});
|
|
579
|
+
startRest = dateVal ? dateVal.getTime() : null;
|
|
580
|
+
}
|
|
581
|
+
if (endRest) {
|
|
582
|
+
var _dateVal = (0, _util.parseDateValue)(endRest, type, {
|
|
583
|
+
valueFormat: dateValueFormat
|
|
584
|
+
});
|
|
585
|
+
endRest = _dateVal ? _dateVal.getTime() : null;
|
|
586
|
+
}
|
|
587
|
+
} else if ((0, _util.hasDateValueType)(valueFormat)) {
|
|
588
|
+
if (startRest) {
|
|
589
|
+
startRest = (0, _util.parseDateValue)(startRest, type, {
|
|
590
|
+
valueFormat: dateValueFormat
|
|
591
|
+
});
|
|
592
|
+
}
|
|
593
|
+
if (endRest) {
|
|
594
|
+
endRest = (0, _util.parseDateValue)(endRest, type, {
|
|
595
|
+
valueFormat: dateValueFormat
|
|
596
|
+
});
|
|
597
|
+
}
|
|
598
|
+
}
|
|
599
|
+
reactData.selectStValue = startRest;
|
|
600
|
+
reactData.selectEdValue = endRest;
|
|
601
|
+
var value = $xeDateRangePicker.getRangeValue(startRest, endRest);
|
|
602
|
+
var isFinish = startRest && endRest || !startRest && !endRest;
|
|
603
|
+
$xeDateRangePicker.$emit('update:modelValue', value);
|
|
604
|
+
$xeDateRangePicker.$emit('update:startValue', startRest || '');
|
|
605
|
+
$xeDateRangePicker.$emit('update:endValue', endRest || '');
|
|
569
606
|
if (_xeUtils.default.toValueString(modelValue) !== value) {
|
|
570
607
|
$xeDateRangePicker.dispatchEvent('change', {
|
|
571
608
|
value: value,
|
|
572
|
-
startValue:
|
|
573
|
-
endValue:
|
|
609
|
+
startValue: startRest,
|
|
610
|
+
endValue: endRest,
|
|
574
611
|
isFinish: isFinish
|
|
575
612
|
}, evnt);
|
|
576
613
|
// 自动更新校验状态
|
|
@@ -604,13 +641,13 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
604
641
|
var reactData = $xeDateRangePicker.reactData;
|
|
605
642
|
var isDisabled = $xeDateRangePicker.computeIsDisabled;
|
|
606
643
|
if (!isDisabled) {
|
|
607
|
-
var
|
|
608
|
-
|
|
609
|
-
var value = $xeDateRangePicker.getRangeValue(
|
|
644
|
+
var selectStValue = reactData.selectStValue,
|
|
645
|
+
selectEdValue = reactData.selectEdValue;
|
|
646
|
+
var value = $xeDateRangePicker.getRangeValue(selectStValue, selectEdValue);
|
|
610
647
|
$xeDateRangePicker.dispatchEvent('prefix-click', {
|
|
611
648
|
value: value,
|
|
612
|
-
startValue:
|
|
613
|
-
endValue:
|
|
649
|
+
startValue: selectStValue,
|
|
650
|
+
endValue: selectEdValue
|
|
614
651
|
}, evnt);
|
|
615
652
|
}
|
|
616
653
|
},
|
|
@@ -659,8 +696,8 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
659
696
|
var date = _ref.date;
|
|
660
697
|
var $xeDateRangePicker = this;
|
|
661
698
|
var reactData = $xeDateRangePicker.reactData;
|
|
662
|
-
var startValue = reactData.
|
|
663
|
-
var endValue = reactData.
|
|
699
|
+
var startValue = reactData.selectStValue;
|
|
700
|
+
var endValue = reactData.selectEdValue;
|
|
664
701
|
if (startValue && endValue) {
|
|
665
702
|
var currTime = date.getTime();
|
|
666
703
|
var startTime = _xeUtils.default.toStringDate(startValue).getTime();
|
|
@@ -677,18 +714,18 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
677
714
|
var reactData = $xeDateRangePicker.reactData;
|
|
678
715
|
var internalData = $xeDateRangePicker.internalData;
|
|
679
716
|
var autoClose = props.autoClose;
|
|
680
|
-
var
|
|
681
|
-
|
|
717
|
+
var selectStValue = reactData.selectStValue,
|
|
718
|
+
selectEdValue = reactData.selectEdValue;
|
|
682
719
|
var selectStatus = internalData.selectStatus;
|
|
683
720
|
var isDatePickerType = $xeDateRangePicker.computeIsDatePickerType;
|
|
684
721
|
if (autoClose) {
|
|
685
722
|
if (selectStatus && isDatePickerType) {
|
|
686
|
-
if (
|
|
723
|
+
if (selectStValue && selectEdValue) {
|
|
687
724
|
$xeDateRangePicker.hidePanel();
|
|
688
725
|
}
|
|
689
726
|
}
|
|
690
727
|
} else {
|
|
691
|
-
if (
|
|
728
|
+
if (selectStValue && selectEdValue) {
|
|
692
729
|
internalData.selectStatus = false;
|
|
693
730
|
}
|
|
694
731
|
}
|
|
@@ -698,13 +735,13 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
698
735
|
var reactData = $xeDateRangePicker.reactData;
|
|
699
736
|
var isDisabled = $xeDateRangePicker.computeIsDisabled;
|
|
700
737
|
if (!isDisabled) {
|
|
701
|
-
var
|
|
702
|
-
|
|
703
|
-
var value = $xeDateRangePicker.getRangeValue(
|
|
738
|
+
var selectStValue = reactData.selectStValue,
|
|
739
|
+
selectEdValue = reactData.selectEdValue;
|
|
740
|
+
var value = $xeDateRangePicker.getRangeValue(selectStValue, selectEdValue);
|
|
704
741
|
$xeDateRangePicker.dispatchEvent('suffix-click', {
|
|
705
742
|
value: value,
|
|
706
|
-
startValue:
|
|
707
|
-
endValue:
|
|
743
|
+
startValue: selectStValue,
|
|
744
|
+
endValue: selectEdValue
|
|
708
745
|
}, evnt);
|
|
709
746
|
}
|
|
710
747
|
},
|
|
@@ -713,20 +750,20 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
713
750
|
var reactData = $xeDateRangePicker.reactData;
|
|
714
751
|
var $xeForm = $xeDateRangePicker.$xeForm;
|
|
715
752
|
var formItemInfo = $xeDateRangePicker.formItemInfo;
|
|
716
|
-
var
|
|
717
|
-
|
|
753
|
+
var selectStValue = reactData.selectStValue,
|
|
754
|
+
selectEdValue = reactData.selectEdValue;
|
|
718
755
|
var inpImmediate = $xeDateRangePicker.computeInpImmediate;
|
|
719
756
|
var value = '';
|
|
720
757
|
if (!inpImmediate) {
|
|
721
|
-
$xeDateRangePicker.handleChange(
|
|
758
|
+
$xeDateRangePicker.handleChange(selectStValue, selectEdValue, evnt);
|
|
722
759
|
}
|
|
723
760
|
if (!reactData.visiblePanel) {
|
|
724
761
|
reactData.isActivated = false;
|
|
725
762
|
}
|
|
726
763
|
$xeDateRangePicker.dispatchEvent('blur', {
|
|
727
764
|
value: value,
|
|
728
|
-
startValue:
|
|
729
|
-
endValue:
|
|
765
|
+
startValue: selectStValue,
|
|
766
|
+
endValue: selectEdValue
|
|
730
767
|
}, evnt);
|
|
731
768
|
// 自动更新校验状态
|
|
732
769
|
if ($xeForm && formItemInfo) {
|
|
@@ -769,22 +806,30 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
769
806
|
var internalData = $xeDateRangePicker.internalData;
|
|
770
807
|
var selectStatus = internalData.selectStatus;
|
|
771
808
|
var value = params.value,
|
|
809
|
+
currValue = params.currValue,
|
|
772
810
|
$event = params.$event;
|
|
773
|
-
var
|
|
774
|
-
|
|
811
|
+
var paneVals = value ? _xeUtils.default.isString(value) ? value.split(',') : [value] : [];
|
|
812
|
+
var startValue = '';
|
|
813
|
+
var endValue = '';
|
|
814
|
+
if (selectStatus) {
|
|
815
|
+
startValue = paneVals[0];
|
|
816
|
+
if (paneVals[1]) {
|
|
817
|
+
endValue = paneVals[1];
|
|
818
|
+
} else {
|
|
819
|
+
endValue = reactData.selectEdValue;
|
|
820
|
+
}
|
|
821
|
+
} else {
|
|
822
|
+
startValue = currValue || _xeUtils.default.last(paneVals);
|
|
823
|
+
}
|
|
824
|
+
reactData.paneEndVal = [startValue, endValue].join(',');
|
|
825
|
+
reactData.paneStartVal = [startValue, endValue].join(',');
|
|
826
|
+
$xeDateRangePicker.handleChange(startValue, endValue, $event);
|
|
775
827
|
$xeDateRangePicker.handleSelectClose();
|
|
776
828
|
if (!selectStatus) {
|
|
777
829
|
internalData.selectStatus = true;
|
|
778
830
|
}
|
|
779
831
|
$xeDateRangePicker.$nextTick(function () {
|
|
780
|
-
|
|
781
|
-
var $endDatePanel = $xeDateRangePicker.$refs.refEndDatePanel;
|
|
782
|
-
if ($startDatePanel && $endDatePanel) {
|
|
783
|
-
var startValue = $startDatePanel.getModelValue();
|
|
784
|
-
if (!endValue && startValue) {
|
|
785
|
-
$endDatePanel.setPanelDate(_xeUtils.default.toStringDate(startValue));
|
|
786
|
-
}
|
|
787
|
-
}
|
|
832
|
+
$xeDateRangePicker.handleUpdateStartPanelDate();
|
|
788
833
|
});
|
|
789
834
|
},
|
|
790
835
|
endPanelChangeEvent: function endPanelChangeEvent(params) {
|
|
@@ -793,90 +838,147 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
793
838
|
var internalData = $xeDateRangePicker.internalData;
|
|
794
839
|
var selectStatus = internalData.selectStatus;
|
|
795
840
|
var value = params.value,
|
|
841
|
+
currValue = params.currValue,
|
|
796
842
|
$event = params.$event;
|
|
797
|
-
var
|
|
798
|
-
|
|
843
|
+
var paneVals = value ? _xeUtils.default.isString(value) ? value.split(',') : [value] : [];
|
|
844
|
+
var startValue = '';
|
|
845
|
+
var endValue = '';
|
|
846
|
+
if (selectStatus) {
|
|
847
|
+
endValue = paneVals[0];
|
|
848
|
+
if (paneVals[1]) {
|
|
849
|
+
startValue = paneVals[0];
|
|
850
|
+
endValue = paneVals[1];
|
|
851
|
+
} else {
|
|
852
|
+
startValue = reactData.selectStValue;
|
|
853
|
+
}
|
|
854
|
+
} else {
|
|
855
|
+
endValue = currValue || _xeUtils.default.last(paneVals);
|
|
856
|
+
}
|
|
857
|
+
reactData.paneEndVal = [startValue, endValue].join(',');
|
|
858
|
+
reactData.paneStartVal = [startValue, endValue].join(',');
|
|
859
|
+
$xeDateRangePicker.handleChange(startValue, endValue, $event);
|
|
799
860
|
$xeDateRangePicker.handleSelectClose();
|
|
800
861
|
if (!selectStatus) {
|
|
801
862
|
internalData.selectStatus = true;
|
|
802
863
|
}
|
|
803
864
|
$xeDateRangePicker.$nextTick(function () {
|
|
804
|
-
|
|
805
|
-
var $endDatePanel = $xeDateRangePicker.$refs.refEndDatePanel;
|
|
806
|
-
if ($startDatePanel && $endDatePanel) {
|
|
807
|
-
var endValue = $endDatePanel.getModelValue();
|
|
808
|
-
if (!startValue && endValue) {
|
|
809
|
-
$startDatePanel.setPanelDate(_xeUtils.default.toStringDate(endValue));
|
|
810
|
-
}
|
|
811
|
-
}
|
|
865
|
+
$xeDateRangePicker.handleUpdateEndPanelDate();
|
|
812
866
|
});
|
|
813
867
|
},
|
|
814
|
-
|
|
868
|
+
handleUpdateStartPanelDate: function handleUpdateStartPanelDate() {
|
|
869
|
+
var $xeDateRangePicker = this;
|
|
870
|
+
var $startDatePanel = $xeDateRangePicker.$refs.refStartDatePanel;
|
|
871
|
+
var $endDatePanel = $xeDateRangePicker.$refs.refEndDatePanel;
|
|
872
|
+
if (!$startDatePanel || !$endDatePanel) {
|
|
873
|
+
return;
|
|
874
|
+
}
|
|
875
|
+
var startPanelDate = $startDatePanel.getPanelDate();
|
|
876
|
+
var endPanelDate = $endDatePanel.getPanelDate();
|
|
877
|
+
if (!startPanelDate || !endPanelDate) {
|
|
878
|
+
return;
|
|
879
|
+
}
|
|
880
|
+
var viewType = $startDatePanel.getViewType();
|
|
881
|
+
var startYear = startPanelDate.getFullYear();
|
|
882
|
+
var startMonth = startPanelDate.getMonth();
|
|
883
|
+
var endYear = endPanelDate.getFullYear();
|
|
884
|
+
var endMonth = endPanelDate.getMonth();
|
|
885
|
+
switch (viewType) {
|
|
886
|
+
case 'day':
|
|
887
|
+
case 'date':
|
|
888
|
+
case 'week':
|
|
889
|
+
{
|
|
890
|
+
if (endYear <= startYear && endMonth <= startMonth) {
|
|
891
|
+
$endDatePanel.setPanelDate((0, _util.getNextMonth)(startPanelDate));
|
|
892
|
+
}
|
|
893
|
+
break;
|
|
894
|
+
}
|
|
895
|
+
}
|
|
896
|
+
},
|
|
897
|
+
startPanelDateBtnChangeEvent: function startPanelDateBtnChangeEvent() {
|
|
815
898
|
var $xeDateRangePicker = this;
|
|
816
899
|
var props = $xeDateRangePicker;
|
|
817
900
|
var linkedPanels = props.linkedPanels;
|
|
901
|
+
var $startDatePanel = $xeDateRangePicker.$refs.refStartDatePanel;
|
|
902
|
+
var $endDatePanel = $xeDateRangePicker.$refs.refEndDatePanel;
|
|
903
|
+
if (!$startDatePanel || !$endDatePanel) {
|
|
904
|
+
return;
|
|
905
|
+
}
|
|
906
|
+
var startPanelDate = $startDatePanel.getPanelDate();
|
|
907
|
+
var endPanelDate = $endDatePanel.getPanelDate();
|
|
908
|
+
if (!startPanelDate || !endPanelDate) {
|
|
909
|
+
return;
|
|
910
|
+
}
|
|
911
|
+
var viewType = $startDatePanel.getViewType();
|
|
818
912
|
if (linkedPanels) {
|
|
819
|
-
var viewType = params.viewType;
|
|
820
|
-
var $startDatePanel = $xeDateRangePicker.$refs.refStartDatePanel;
|
|
821
|
-
var $endDatePanel = $xeDateRangePicker.$refs.refEndDatePanel;
|
|
822
|
-
if (!$startDatePanel || !$endDatePanel) {
|
|
823
|
-
return;
|
|
824
|
-
}
|
|
825
|
-
var startPanelDate = $startDatePanel.getPanelDate();
|
|
826
|
-
if (!startPanelDate) {
|
|
827
|
-
return;
|
|
828
|
-
}
|
|
829
|
-
var endYear = startPanelDate.getFullYear();
|
|
830
|
-
var endMonth = startPanelDate.getMonth();
|
|
831
913
|
switch (viewType) {
|
|
832
914
|
case 'day':
|
|
833
915
|
case 'date':
|
|
834
916
|
case 'week':
|
|
835
917
|
{
|
|
836
|
-
|
|
837
|
-
startPanelDate.setMonth(endMonth + 1);
|
|
838
|
-
} else {
|
|
839
|
-
startPanelDate.setFullYear(endYear + 1);
|
|
840
|
-
startPanelDate.setMonth(0);
|
|
841
|
-
}
|
|
842
|
-
$endDatePanel.setPanelDate(startPanelDate);
|
|
918
|
+
$endDatePanel.setPanelDate((0, _util.getNextMonth)(startPanelDate));
|
|
843
919
|
break;
|
|
844
920
|
}
|
|
845
921
|
}
|
|
922
|
+
} else {
|
|
923
|
+
$xeDateRangePicker.handleUpdateStartPanelDate();
|
|
924
|
+
}
|
|
925
|
+
},
|
|
926
|
+
handleUpdateEndPanelDate: function handleUpdateEndPanelDate() {
|
|
927
|
+
var $xeDateRangePicker = this;
|
|
928
|
+
var $startDatePanel = $xeDateRangePicker.$refs.refStartDatePanel;
|
|
929
|
+
var $endDatePanel = $xeDateRangePicker.$refs.refEndDatePanel;
|
|
930
|
+
if (!$startDatePanel || !$endDatePanel) {
|
|
931
|
+
return;
|
|
932
|
+
}
|
|
933
|
+
var startPanelDate = $startDatePanel.getPanelDate();
|
|
934
|
+
var endPanelDate = $endDatePanel.getPanelDate();
|
|
935
|
+
if (!startPanelDate || !endPanelDate) {
|
|
936
|
+
return;
|
|
937
|
+
}
|
|
938
|
+
var viewType = $endDatePanel.getViewType();
|
|
939
|
+
var startYear = startPanelDate.getFullYear();
|
|
940
|
+
var startMonth = startPanelDate.getMonth();
|
|
941
|
+
var endYear = endPanelDate.getFullYear();
|
|
942
|
+
var endMonth = endPanelDate.getMonth();
|
|
943
|
+
switch (viewType) {
|
|
944
|
+
case 'day':
|
|
945
|
+
case 'date':
|
|
946
|
+
case 'week':
|
|
947
|
+
{
|
|
948
|
+
if (startYear >= endYear && startMonth >= endMonth) {
|
|
949
|
+
$startDatePanel.setPanelDate((0, _util.getPrevMonth)(endPanelDate));
|
|
950
|
+
}
|
|
951
|
+
break;
|
|
952
|
+
}
|
|
846
953
|
}
|
|
847
954
|
},
|
|
848
|
-
endPanelDateBtnChangeEvent: function endPanelDateBtnChangeEvent(
|
|
955
|
+
endPanelDateBtnChangeEvent: function endPanelDateBtnChangeEvent() {
|
|
849
956
|
var $xeDateRangePicker = this;
|
|
850
957
|
var props = $xeDateRangePicker;
|
|
851
958
|
var linkedPanels = props.linkedPanels;
|
|
959
|
+
var $startDatePanel = $xeDateRangePicker.$refs.refStartDatePanel;
|
|
960
|
+
var $endDatePanel = $xeDateRangePicker.$refs.refEndDatePanel;
|
|
961
|
+
if (!$startDatePanel || !$endDatePanel) {
|
|
962
|
+
return;
|
|
963
|
+
}
|
|
964
|
+
var startPanelDate = $startDatePanel.getPanelDate();
|
|
965
|
+
var endPanelDate = $endDatePanel.getPanelDate();
|
|
966
|
+
if (!startPanelDate || !endPanelDate) {
|
|
967
|
+
return;
|
|
968
|
+
}
|
|
969
|
+
var viewType = $endDatePanel.getViewType();
|
|
852
970
|
if (linkedPanels) {
|
|
853
|
-
var viewType = params.viewType;
|
|
854
|
-
var $startDatePanel = $xeDateRangePicker.$refs.refStartDatePanel;
|
|
855
|
-
var $endDatePanel = $xeDateRangePicker.$refs.refEndDatePanel;
|
|
856
|
-
if (!$startDatePanel || !$endDatePanel) {
|
|
857
|
-
return;
|
|
858
|
-
}
|
|
859
|
-
var endPanelDate = $endDatePanel.getPanelDate();
|
|
860
|
-
if (!endPanelDate) {
|
|
861
|
-
return;
|
|
862
|
-
}
|
|
863
|
-
var endYear = endPanelDate.getFullYear();
|
|
864
|
-
var endMonth = endPanelDate.getMonth();
|
|
865
971
|
switch (viewType) {
|
|
866
972
|
case 'day':
|
|
867
973
|
case 'date':
|
|
868
974
|
case 'week':
|
|
869
975
|
{
|
|
870
|
-
|
|
871
|
-
endPanelDate.setMonth(endMonth - 1);
|
|
872
|
-
} else {
|
|
873
|
-
endPanelDate.setFullYear(endYear - 1);
|
|
874
|
-
endPanelDate.setMonth(11);
|
|
875
|
-
}
|
|
876
|
-
$startDatePanel.setPanelDate(endPanelDate);
|
|
976
|
+
$startDatePanel.setPanelDate((0, _util.getPrevMonth)(endPanelDate));
|
|
877
977
|
break;
|
|
878
978
|
}
|
|
879
979
|
}
|
|
980
|
+
} else {
|
|
981
|
+
$xeDateRangePicker.handleUpdateEndPanelDate();
|
|
880
982
|
}
|
|
881
983
|
},
|
|
882
984
|
// 全局事件
|
|
@@ -1026,6 +1128,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1026
1128
|
reactData.isAniVisible = true;
|
|
1027
1129
|
setTimeout(function () {
|
|
1028
1130
|
reactData.visiblePanel = true;
|
|
1131
|
+
$xeDateRangePicker.handleUpdateStartPanelDate();
|
|
1029
1132
|
$xeDateRangePicker.updatePlacement();
|
|
1030
1133
|
}, 10);
|
|
1031
1134
|
$xeDateRangePicker.updateZindex();
|
|
@@ -1070,8 +1173,8 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1070
1173
|
var autoClose = shortcutOpts.autoClose;
|
|
1071
1174
|
var code = option.code,
|
|
1072
1175
|
clickMethod = option.clickMethod;
|
|
1073
|
-
var startValue = reactData.
|
|
1074
|
-
var endValue = reactData.
|
|
1176
|
+
var startValue = reactData.selectStValue;
|
|
1177
|
+
var endValue = reactData.selectEdValue;
|
|
1075
1178
|
var value = $xeDateRangePicker.getRangeValue(startValue, endValue);
|
|
1076
1179
|
var shortcutParams = {
|
|
1077
1180
|
$dateRangePicker: $xeDateRangePicker,
|
|
@@ -1130,8 +1233,8 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1130
1233
|
setModelValue: function setModelValue(startValue, endValue) {
|
|
1131
1234
|
var $xeDateRangePicker = this;
|
|
1132
1235
|
var reactData = $xeDateRangePicker.reactData;
|
|
1133
|
-
reactData.
|
|
1134
|
-
reactData.
|
|
1236
|
+
reactData.selectStValue = startValue || '';
|
|
1237
|
+
reactData.selectEdValue = endValue || '';
|
|
1135
1238
|
var value = $xeDateRangePicker.getRangeValue(startValue, endValue);
|
|
1136
1239
|
$xeDateRangePicker.emitModel(value);
|
|
1137
1240
|
},
|
|
@@ -1202,6 +1305,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1202
1305
|
var type = props.type,
|
|
1203
1306
|
separator = props.separator,
|
|
1204
1307
|
autoClose = props.autoClose,
|
|
1308
|
+
valueFormat = props.valueFormat,
|
|
1205
1309
|
showConfirmButton = props.showConfirmButton,
|
|
1206
1310
|
showClearButton = props.showClearButton;
|
|
1207
1311
|
var initialized = reactData.initialized,
|
|
@@ -1209,8 +1313,10 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1209
1313
|
visiblePanel = reactData.visiblePanel,
|
|
1210
1314
|
panelPlacement = reactData.panelPlacement,
|
|
1211
1315
|
panelStyle = reactData.panelStyle,
|
|
1212
|
-
|
|
1213
|
-
|
|
1316
|
+
selectStValue = reactData.selectStValue,
|
|
1317
|
+
selectEdValue = reactData.selectEdValue,
|
|
1318
|
+
paneStartVal = reactData.paneStartVal,
|
|
1319
|
+
paneEndVal = reactData.paneEndVal;
|
|
1214
1320
|
var vSize = $xeDateRangePicker.computeSize;
|
|
1215
1321
|
var btnTransfer = $xeDateRangePicker.computeBtnTransfer;
|
|
1216
1322
|
var shortcutOpts = $xeDateRangePicker.computeShortcutOpts;
|
|
@@ -1267,15 +1373,18 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1267
1373
|
}, [h(_datePanel.default, {
|
|
1268
1374
|
ref: 'refStartDatePanel',
|
|
1269
1375
|
props: {
|
|
1270
|
-
value:
|
|
1376
|
+
value: paneStartVal,
|
|
1377
|
+
multiple: true,
|
|
1378
|
+
valueSort: true,
|
|
1379
|
+
limitCount: 3,
|
|
1380
|
+
defaultMode: 'first',
|
|
1271
1381
|
type: props.type,
|
|
1272
1382
|
className: props.className,
|
|
1273
1383
|
minDate: props.minDate,
|
|
1274
1384
|
maxDate: props.maxDate,
|
|
1275
|
-
endDate: endValue,
|
|
1276
1385
|
startDay: props.startDay,
|
|
1277
1386
|
labelFormat: props.labelFormat,
|
|
1278
|
-
valueFormat:
|
|
1387
|
+
valueFormat: valueFormat === 'date' || valueFormat === 'timestamp' ? '' : valueFormat,
|
|
1279
1388
|
timeFormat: props.timeFormat,
|
|
1280
1389
|
defaultDate: sdDate,
|
|
1281
1390
|
defaultTime: sdTime,
|
|
@@ -1294,15 +1403,18 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1294
1403
|
}), h(_datePanel.default, {
|
|
1295
1404
|
ref: 'refEndDatePanel',
|
|
1296
1405
|
props: {
|
|
1297
|
-
value:
|
|
1406
|
+
value: paneEndVal,
|
|
1407
|
+
multiple: true,
|
|
1408
|
+
valueSort: true,
|
|
1409
|
+
limitCount: 3,
|
|
1410
|
+
defaultMode: 'last',
|
|
1298
1411
|
type: props.type,
|
|
1299
1412
|
className: props.className,
|
|
1300
1413
|
minDate: props.minDate,
|
|
1301
1414
|
maxDate: props.maxDate,
|
|
1302
|
-
startDate: startValue,
|
|
1303
1415
|
startDay: props.startDay,
|
|
1304
1416
|
labelFormat: props.labelFormat,
|
|
1305
|
-
valueFormat:
|
|
1417
|
+
valueFormat: valueFormat === 'date' || valueFormat === 'timestamp' ? '' : valueFormat,
|
|
1306
1418
|
timeFormat: props.timeFormat,
|
|
1307
1419
|
defaultDate: edDate,
|
|
1308
1420
|
defaultTime: edTime,
|
|
@@ -1329,7 +1441,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1329
1441
|
}, [showClearBtn ? h(_button.default, {
|
|
1330
1442
|
props: {
|
|
1331
1443
|
size: 'mini',
|
|
1332
|
-
disabled: !(
|
|
1444
|
+
disabled: !(selectStValue || selectEdValue),
|
|
1333
1445
|
content: (0, _ui.getI18n)('vxe.button.clear')
|
|
1334
1446
|
},
|
|
1335
1447
|
on: {
|
|
@@ -1373,14 +1485,14 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1373
1485
|
var slots = $xeDateRangePicker.$scopedSlots;
|
|
1374
1486
|
var reactData = $xeDateRangePicker.reactData;
|
|
1375
1487
|
var suffixIcon = props.suffixIcon;
|
|
1376
|
-
var
|
|
1377
|
-
|
|
1488
|
+
var selectStValue = reactData.selectStValue,
|
|
1489
|
+
selectEdValue = reactData.selectEdValue;
|
|
1378
1490
|
var suffixSlot = slots.suffix;
|
|
1379
1491
|
var isDisabled = $xeDateRangePicker.computeIsDisabled;
|
|
1380
1492
|
var isClearable = $xeDateRangePicker.computeIsClearable;
|
|
1381
1493
|
return h('div', {
|
|
1382
1494
|
class: ['vxe-date-range-picker--suffix', {
|
|
1383
|
-
'is--clear': isClearable && !isDisabled && (
|
|
1495
|
+
'is--clear': isClearable && !isDisabled && (selectStValue || selectEdValue)
|
|
1384
1496
|
}]
|
|
1385
1497
|
}, [isClearable ? h('div', {
|
|
1386
1498
|
class: 'vxe-date-range-picker--clear-icon',
|
|
@@ -1417,8 +1529,8 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1417
1529
|
type = props.type,
|
|
1418
1530
|
name = props.name,
|
|
1419
1531
|
autoComplete = props.autoComplete;
|
|
1420
|
-
var
|
|
1421
|
-
|
|
1532
|
+
var selectStValue = reactData.selectStValue,
|
|
1533
|
+
selectEdValue = reactData.selectEdValue,
|
|
1422
1534
|
visiblePanel = reactData.visiblePanel,
|
|
1423
1535
|
isActivated = reactData.isActivated;
|
|
1424
1536
|
var vSize = $xeDateRangePicker.computeSize;
|
|
@@ -1437,7 +1549,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1437
1549
|
var suffix = $xeDateRangePicker.renderSuffixIcon(h);
|
|
1438
1550
|
return h('div', {
|
|
1439
1551
|
ref: 'refElem',
|
|
1440
|
-
class: ['vxe-date-range-picker', "type--".concat(type), className, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, "size--".concat(vSize), vSize), 'is--prefix', !!prefix), 'is--suffix', !!suffix), 'is--visible', visiblePanel), 'is--disabled', isDisabled), 'is--active', isActivated), 'show--clear', isClearable && !isDisabled && (
|
|
1552
|
+
class: ['vxe-date-range-picker', "type--".concat(type), className, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, "size--".concat(vSize), vSize), 'is--prefix', !!prefix), 'is--suffix', !!suffix), 'is--visible', visiblePanel), 'is--disabled', isDisabled), 'is--active', isActivated), 'show--clear', isClearable && !isDisabled && (selectStValue || selectEdValue))],
|
|
1441
1553
|
attrs: {
|
|
1442
1554
|
spellcheck: false
|
|
1443
1555
|
}
|
|
@@ -1482,6 +1594,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1482
1594
|
},
|
|
1483
1595
|
created: function created() {
|
|
1484
1596
|
var $xeDateRangePicker = this;
|
|
1597
|
+
$xeDateRangePicker.internalData = createInternalData();
|
|
1485
1598
|
$xeDateRangePicker.updateModelValue(true);
|
|
1486
1599
|
_ui.globalEvents.on($xeDateRangePicker, 'mousewheel', $xeDateRangePicker.handleGlobalMousewheelEvent);
|
|
1487
1600
|
_ui.globalEvents.on($xeDateRangePicker, 'mousedown', $xeDateRangePicker.handleGlobalMousedownEvent);
|
|
@@ -1495,6 +1608,8 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1495
1608
|
},
|
|
1496
1609
|
beforeDestroy: function beforeDestroy() {
|
|
1497
1610
|
var $xeDateRangePicker = this;
|
|
1611
|
+
var reactData = $xeDateRangePicker.reactData;
|
|
1612
|
+
var internalData = $xeDateRangePicker.internalData;
|
|
1498
1613
|
var panelElem = $xeDateRangePicker.$refs.refInputPanel;
|
|
1499
1614
|
if (panelElem && panelElem.parentNode) {
|
|
1500
1615
|
panelElem.parentNode.removeChild(panelElem);
|
|
@@ -1504,6 +1619,8 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1504
1619
|
_ui.globalEvents.off($xeDateRangePicker, 'mousedown');
|
|
1505
1620
|
_ui.globalEvents.off($xeDateRangePicker, 'blur');
|
|
1506
1621
|
_ui.globalEvents.off($xeDateRangePicker, 'resize');
|
|
1622
|
+
_xeUtils.default.assign(reactData, createReactData());
|
|
1623
|
+
_xeUtils.default.assign(internalData, createInternalData());
|
|
1507
1624
|
},
|
|
1508
1625
|
render: function render(h) {
|
|
1509
1626
|
return this.renderVN(h);
|