要求生效日期为次日零时起生效,最晚指定生效日期为从投保日算起的地60天
<span class="orange1" v-text="timeNow" @click="openPicker('picker')"></span>
<div @touchmove.prevent>
<mt-datetime-picker
v-model="pickerValue"
type="date"
ref="picker"
:startDate="startDate"
:endDate="endDate"
@confirm="handleConfirm">
</mt-datetime-picker>
</div>
其中@touchmove.prevent是防止在滑动时间选择框框的时候外层的div滑动,是遮罩层穿透问题.
在data里面设置:
datetime1:'',
pickerValue: new Date(Date.parse(new Date) + 1000 * 60 * 60 * 24 * 1),
startDate:new Date(Date.parse(new Date) + 1000 * 60 * 60 * 24 * 1),
endDate: new Date(Date.parse(new Date) + 1000 * 60 * 60 * 24 * 61),
timeNow:'',
startDate是开始时间,就是当前时间加上一天24小时的时间
endDate是结束的时间,就是60天之后,由于是从次日算起,所以乘以61
由于获取的时间是时间戳,所以要处理一下,转化为YYYY-MM-DD格式
在methods里设置:
openPicker() {
this.$refs.picker.open();
},
// 有效期
handleConfirm(pickerValue) {
console.log(this.pickerValue)
if (this.pickerValue != "") {
let a = this.pickerValue;
let b = new Date();
var newDate = "";
var age = "";
var Month = a.getMonth()+1;
var MonthDate;
var DayDate = a.getDate();
var Day;
if(Month<10){
MonthDate = '0' + Month;
}else{
MonthDate = Month;
}
if(DayDate<10){
Day = '0' + DayDate;
}else{
Day = DayDate;
}
var datetime1 = a.getFullYear() + "-" + MonthDate + "-" + Day;
console.log(datetime1)
this.timeNow = datetime1;
}
},
这样就可以获取到两个月之间的任意一天了
要想有默认的时间,就要在mounted里面设置