<el-date-picker v-model="state.timerange" type="datetimerange" class="my-input"
@calendar-change="calendarChange" :disabled-date="disabledDateFun"
:start-placeholder="QueryQesultsRight[0].startTime" @change="choosetime"
@visible-change="changetable" :end-placeholder="QueryQesultsRight[0].endTime" />
const selectData = ref()
// 选中日历日期后会执行的回调!!只选择一个日期就会执行,
// 主要用这个方法获取到用户选择的初始时间,然后在禁用方法里通过这个时间设置结束时间的禁用时间
const calendarChange = (dates) => {
let hasSelectDate = dates !== null && dates.length > 0
selectData.value = hasSelectDate ? dates[0] : null
}
const disabledDateFun = (time) => {
// console.log(time); // time 为new Date()类型
const timeRange = 1 * 24 * 60 * 60 * 1000 // 1天时间戳
const tempTime = Date.now()
if (selectData.value) {
// console.log('有开始时间了', selectData.value)
const minTime = new Date(selectData.value).getTime()
const maxTime = new Date(selectData.value).getTime() + timeRange
if (tempTime < maxTime) {
return time.getTime() < minTime || time.getTime() > tempTime
}
return time.getTime() < minTime || time.getTime() > maxTime
} else {
return time.getTime() >= tempTime
}
};