Commit e0c9e695 by 陈羽

update: 修复时间选择bug

parent b6c383d4
......@@ -16,7 +16,7 @@
</el-checkbox-group>
</el-form-item>
<el-form-item label="计划时间:" prop="dateTime">
<el-date-picker v-model="group.dateTime" :disabled="!!group.id" :picker-options="pickerOptions" :default-time="['00:00:00', '23:59:59']" class="w400" type="datetimerange" range-separator="~" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
<el-date-picker v-model="group.dateTime" @change="filedAllPopDate" :disabled="!!group.id" :picker-options="pickerOptions" :default-time="['00:00:00', '23:59:59']" class="w400" type="datetimerange" range-separator="~" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
</el-form-item>
<p class="line"></p>
<h2 style="font-size: 16px;font-weight: 600;color: #303133;line-height: 62px;margin:7px 0 0 10px;">弹窗</h2>
......@@ -82,7 +82,7 @@
<el-button type="text" :disabled="pop.activeStatus == 2" @click="showPutonPage(pop, elIndex)">设置</el-button>
</el-form-item>
<el-form-item label="投放时间:" :prop="`dateTime_${elIndex}`">
<el-date-picker v-model="pop.dateTime" :picker-options="pickerOptions2" @focus="checkGroupDate" @blur="dateDelay = 1" :default-time="['00:00:00', '23:59:59']" :disabled="pop.activeStatus == 2" class="w400" type="datetimerange" range-separator="~" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
<el-date-picker v-model="pop.dateTime" :picker-options="pickerOptions2" @focus="checkGroupDate" @blur="datePickerBulr(elIndex)" @change="time => changePoptime(time, elIndex)" :disabled="pop.activeStatus == 2" :default-time="['00:00:00', '23:59:59']" class="w400" type="datetimerange" range-separator="~" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
</el-form-item>
<el-form-item label="弹出频次:" :prop="`popupType_${elIndex}`">
<el-radio-group v-model="pop.popupType" :disabled="pop.activeStatus == 2" class="block_radio">
......@@ -289,6 +289,7 @@ export default {
showCardDialog: false,
putonPageDialog: false,
dateDelay: 1,
timeRange: ['00:00:00 - 02:00:00'],
putonForm: {
// // 弹窗链接id
id: '',
......@@ -320,7 +321,7 @@ export default {
if (this.group.dateTime[0] && this.group.dateTime[1]) {
const startTime = new Date(new Date(this.group.dateTime[0]) > new Date() ? new Date(this.group.dateTime[0]) : new Date()).getTime();
const endTime = new Date(this.group.dateTime[1]);
return time < new Date(startTime) || time > endTime;
return time <= new Date(startTime - 24 * 3600 * 1000) || time > new Date(this.group.dateTime[1]);
} else {
return true;
}
......@@ -492,12 +493,18 @@ export default {
validator: (rule, value, callback) => {
const index = Number(rule.field.split('_')[1]);
const item = this.group.popupList[index];
const startTime = this.group.dateTime[0].getTime();
const endTime = this.group.dateTime[1].getTime();
const popStartTime = item.dateTime[0].getTime();
const popEndTime = item.dateTime[1].getTime();
if (!item.dateTime) {
callback(new Error('请选择投放时间'));
} else if (popStartTime < startTime || popEndTime > endTime) {
callback(new Error('弹窗投放时间需在计划时间内'));
}
callback();
},
trigger: 'change'
trigger: 'bulr'
}
];
// 弹出频次
......@@ -572,6 +579,16 @@ export default {
this.putonPageDialog = false;
this.resetField(`putonPageList_${this.curIndex}`);
},
filedAllPopDate() {
this.group.popupList.map((item, index) => this.resetField(`dateTime_${index}`));
},
datePickerBulr(elIndex) {
this.dateDelay = 1;
this.resetField(`dateTime_${elIndex}`);
},
changePoptime(time, elIndex) {
this.resetField(`dateTime_${elIndex}`);
},
showFileNameTip(text) {
const span = document.createElement('span');
span.innerHTML = text;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment