Commit e9da80d9 by 陈羽

update:修复新增计划新增弹窗投放页面选择bug

parent 501eb11f
......@@ -74,22 +74,12 @@
</template>
</el-form-item>
<el-form-item label="投放页面:" :prop="`putonPageList_${elIndex}`">
<el-tag :closable="pop.activeStatus != 2" type="info" v-for="page in pop.putonPageList" :key="page.id" @close="deletePage(pop, page.id)" style="margin-right: 10px;color:#606266">
{{ page.name }}
</el-tag>
<el-button type="text" :disabled="pop.activeStatus == 2" @click="setPutonPage(pop)">设置</el-button>
<el-dialog title="投放页面" :visible.sync="pop.putonPageDialog">
<el-select class="select-page" :value="pop.putonPageList[0] ? pop.putonPageList[0].id : ''" placeholder="请选择投放页面" @change="pageId => putonPageChange(pageId, pop.id, elIndex)">
<el-option v-for="page in putonPageList" :label="page.name" :value="page.id" :key="page.id"></el-option>
</el-select>
<el-select class="select-page" v-if="pop.putonPageList[0] && pop.putonPageList[0].type == 6" :value="pop.putonPageList[0] ? pop.putonPageList[0].customPageId : ''" placeholder="请选择投放页面" @change="pageId => customPageChange(pageId, pop.id, elIndex)">
<el-option v-for="page in customPageList" :label="page.title" :value="page.pageId" :key="page.pageId"></el-option>
</el-select>
<div slot="footer" class="dialog-footer">
<el-button @click="pop.putonPageDialog = false">取 消</el-button>
<el-button type="primary" @click="pop.putonPageDialog = false">确 定</el-button>
</div>
</el-dialog>
<template v-if="pop.putonPageList.length">
<el-tag :closable="pop.activeStatus != 2" type="info" v-for="page in pop.putonPageList" :key="page.id" @close="deletePage(pop, page.id)" style="margin-right: 10px;color:#606266">
{{ page.name }}
</el-tag>
</template>
<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="pickerOptions" :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>
......@@ -138,6 +128,18 @@
</div>
</div>
<vue-gic-card :showCardDialog.sync="showCardDialog" :cardLimit="-1" :cardType="null" @selectCard="selectCard"> </vue-gic-card>
<el-dialog title="投放页面" :visible.sync="putonPageDialog">
<el-select class="select-page" v-model="putonForm.id" placeholder="请选择投放页面" @change="putonPageChange">
<el-option v-for="page in putonPageList" :label="page.name" :value="page.id" :key="page.id"></el-option>
</el-select>
<el-select class="select-page" v-if="putonForm && putonForm.type == 6" v-model="putonForm.customPageId" placeholder="请选择投放页面">
<el-option v-for="page in customPageList" :label="page.title" :value="page.pageId" :key="page.pageId"></el-option>
</el-select>
<div slot="footer" class="dialog-footer">
<el-button @click="putonPageDialog = false">取 消</el-button>
<el-button type="primary" @click="putonPageChangeComfirm">确 定</el-button>
</div>
</el-dialog>
<div class="addBtn" v-if="surplus" @click="addPop">
<i class="iconfont icon-jia"></i>
<p>还可添加{{ surplus }}个弹窗</p>
......@@ -166,22 +168,21 @@ const defaultPop = {
popupPlanId: '',
// 投放类型(1:图片,2:卡券)
putonType: 1,
putonPageDialog: false,
// 投放页面列表
putonPageList: [
// {
// // 弹窗链接id
// id: '',
// // 节点类型(1:普通链接, 6:自定义链接)
// type: 1,
// // 链接名称
// name: '',
// // 链接内容
// content: '',
// // 自定义链接pageId
// customPageId: '',
// // 自定义链接名称
// customPageName: ''
// // 弹窗链接id
// id: '',
// // 节点类型(1:普通链接, 6:自定义链接)
// type: 1,
// // 链接名称
// name: '',
// // 链接内容
// content: '',
// // 自定义链接pageId
// customPageId: '',
// // 自定义链接名称
// customPageName: '',
// }
],
// 投放的会员分组
......@@ -286,8 +287,22 @@ export default {
popSort: { 1: false, 2: false, 3: false, 4: false, 5: false },
sortOptions: ['', '最高', '较高', '普通', '较低', '最低'],
showCardDialog: false,
putonPageDialog: false,
putonForm: {
// // 弹窗链接id
id: '',
// 节点类型(1:普通链接, 6:自定义链接)
type: 1,
// 链接名称
name: '',
// 链接内容
content: '',
// 自定义链接pageId
customPageId: '',
// 自定义链接名称
customPageName: ''
},
curIndex: 0,
putonPage: [],
putonPageList: [],
customPageList: [], // 自定义页面列表
minDate: new Date(), // 计划时间(始)
......@@ -337,7 +352,6 @@ export default {
item.popupImageDetails.link = JSON.parse(item.popupImageDetails.link || '{}');
item.popupCouponDetails = {};
}
item.putonPageDialog = false;
item.dateTime = [new Date(item.beginTime), new Date(item.endTime)];
this.popSort[item.sortNum] = true;
return item;
......@@ -535,27 +549,14 @@ export default {
}
});
},
putonPageChange(pageId, popId, elIndex) {
putonPageChange(pageId) {
const page = this.putonPageList.filter(item => item.id == pageId);
this.group.popupList.some(pop => {
if (pop.id == popId) {
pop.putonPageList = page;
}
return pop.id == popId;
});
this.resetField(`putonPageList_${elIndex}`);
this.putonForm = { ...page[0] };
},
customPageChange(customPageId, popId, elIndex) {
const page = this.customPageList.filter(el => el.pageId == customPageId);
const { title, pageId } = page[0] || {};
this.group.popupList.some(pop => {
if (pop.id == popId) {
this.$set(pop.putonPageList[0], 'customPageId', pageId);
pop.putonPageList[0].customPageName = title;
}
return pop.id == popId;
});
this.resetField(`putonPageList_${elIndex}`);
putonPageChangeComfirm() {
this.group.popupList[this.curIndex].putonPageList[0] = { ...this.putonForm };
this.putonPageDialog = false;
this.resetField(`putonPageList_${this.curIndex}`);
},
showFileNameTip(text) {
const span = document.createElement('span');
......@@ -656,9 +657,11 @@ export default {
}
// this.group.popupList[elIndex].popupImageDetails.link = {};
},
setPutonPage(pop) {
showPutonPage(pop, elIndex) {
if (pop.activeStatus != 2) {
pop.putonPageDialog = true;
this.putonPageDialog = true;
this.curIndex = elIndex;
this.putonForm = this.group.popupList[elIndex].putonPageList[0] || { id: '', type: 1, name: '', content: '', customPageId: '', customPageName: '' };
}
},
// 投放页面 删除
......@@ -666,7 +669,6 @@ export default {
if (pop.activeStatus != 2) {
pop.putonPageList = pop.putonPageList.filter(item => item.id != pageId);
}
// this.group.popupList[elIndex].putonPageList = this.group.popupList[elIndex].putonPageList.filter(item => item.id != pageId);
},
// 级别更改
sortChange() {
......
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