<a-col :span="12">
<a-form-item label="开始日期">
<a-date-picker
:format="'YYYY-MM-DD'"
:disabledDate="disabledDate"
v-decorator="[
'starttime',
{ initialValue:moment(this.dataMap.wxProject.starttime,'YYYY-MM-DD' ),
rules: [
{ required: true, message: '开始日期不能为空' },
{ validator: checkDateRange }
]
},
]"
style="width: 100%"
:getPopupContainer="trigger => trigger.parentNode"
/>
</a-form-item>
</a-col>
methods: {
// 时间初始化
moment,
/**
* 禁止选择已经过去的时间
*/
disabledDate (current) {
// 当天之前的不可选,包括当天
// return current && current < moment().endOf('day')
// 当天之前的不可选,不包括当天
return current < moment().subtract(1, 'day')
},
/**
* 验证起止时间范围
*/
checkDateRange (rule, value, callback) {
const form = this.form
if (rule.field == 'starttime' && value && form.getFieldValue('endtime')) {
if (new Date(value.format('YYYY-MM-DD')).getTime() >= new Date(form.getFieldValue('endtime').format('YYYY-MM-DD')).getTime()) {
callback('开始日期不能大于结束日期,请重新选择')
}
} else if (rule.field == 'endtime' && value && form.getFieldValue('starttime')) {
if (new Date(form.getFieldValue('starttime').format('YYYY-MM-DD')).getTime() >= new Date(value.format('YYYY-MM-DD')).getTime()) {
callback('结束日期不能小于结束日期,请重新选择')
}
} else {
callback()
}
return true
},
}