<el-date-picker
v-model="listQuery.allDate"
type="daterange"
range-separator="-"
unlink-panels
value-format="yyyy-MM-dd"
start-placeholder="开始日期"
end-placeholder="结束日期"
class="data_piccker"
style="width:240px"
:picker-options="pickerOptions"
></el-date-picker>
pickerOptions: {
onPick: ({ maxDate, minDate }) => {
this.pickerMinDate = minDate.getTime()
if (maxDate) {
this.pickerMinDate = ''
}
},
disabledDate: (time) => {
const year = 365 * 24 * 3600 * 1000
//一年前的时间戳
let lastyear = this.pickerMinDate - year
//已经选择一个日期则……
if (this.pickerMinDate !== '') {
const day31 = 31 * 24 * 3600 * 1000
//选中的日期前推31天,的时间戳
let datarangeb = this.pickerMinDate - day31
//选中的日期后推31天
let datarangea = this.pickerMinDate + day31
//如果后推的日期早于今天,则设置为今日
if (datarangea > new Date()) {
datarangea = new Date()
}
//使用或||可以同时限制多个条件
return time.getTime() < datarangeb || time.getTime() > datarangea
}
//未选择日期,默认状态当天之前不可选,一年之前不可取
return time.getTime() > Date.now() || time.getTime() < lastyear
},
},