<el-date-picker
v-model="dateRange"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
clearable
:picker-options="pickerOptions"
@change="changeDateRange"
>
</el-date-picker>
data() {
return {
minDate: '',
maxDate: '',
dateRange: [],
pickerOptions: {
onPick: ({maxDate, minDate}) => {
this.minDate = minDate;
this.maxDate = maxDate;
},
disabledDate: () => {}
},
dateRangeNum: 0,
}
},
mounted() {
this.getDateRange()
},
methods: {
getDateRange() {
this.dateRangeNum = res.KeyValue
this.$set(this.pickerOptions, 'disabledDate', (time) => {
let dateRangeNumMs = this.dateRangeNum * 24 * 60 * 60 * 1000;
if (this.minDate) {
return (
time < new Date(this.minDate.getTime() - dateRangeNumMs) || time > new Date(this.minDate.getTime() + dateRangeNumMs)
);
}
})
},
changeDateRange(e) {
if (e === null) {
this.minDate = "";
this.maxDate = "";
}
},
}