开始时间不能小于当前时间,结束时间需大于开始时间,开始时间到结束时间的范围不能大于30天
开始时间不能小于当前时间,结束时间需大于开始时间,开始时间到结束时间的范围不能大于30天
<div style="width:100%;"> <!-- :disabled="isView" --> <el-date-picker style="width:100%;" size="small" v-model="swipeItem.time" type="datetimerange" :picker-options="pickerOptions" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" > </el-date-picker> </div>
private selectDate=''; private pickerOptions={ onPick: ({ maxDate, minDate }) => { this.selectDate = minDate.getTime() if (maxDate) { this.selectDate = '' } }, disabledDate: time => { //time.getTime()获取的是时间戳 // 当前时间往前30天可选 // return ( // time.getTime() > Date.now() || // time.getTime() < Date.now() - 30 * 24 * 60 * 60 * 1000 // ) // 只能选择30天的范围且不能大于当前日期 debugger if (this.selectDate !== '') { let one = 29 * 24 * 3600 * 1000 //30天 // const minTime = this.selectDate - one let minTime = this.selectDate let maxTime = this.selectDate + one if (Number(maxTime) < Number(Date.now())) { debugger return ( time.getTime() < minTime || time.getTime() > new Date(new Date().toLocaleDateString()).getTime() ) } else { debugger return time.getTime() < minTime || time.getTime() > maxTime } } else { return ( time.getTime() < new Date(new Date().toLocaleDateString()).getTime() ) } } }