Commit b5ccd041 by liuchenxi

update: 群发消息弹窗增加门店选择器

parent e3cba484
<template>
<div class="dm-qywx__item__wrap">
<div class="fz16">{{ qfxx.qfxxEnterpriseName }}</div>
<div class="fz16">
{{ qfxx.qfxxEnterpriseName }}
<span style="margin-left: 16px">{{ item.qfxx.consumerStoreType ? '按门店条件' : '固定门店' }}</span>
</div>
<div class="divider"></div>
<div>{{ item.title }}</div>
<div style="margin-top:12px;color:#606266;white-space:pre-wrap;word-break:break-word">{{ qfxx.remark }}</div>
......
<template>
<div>
<el-dialog custom-class="dialogClass" :title="isEdit && !readOnly ? '编辑群发任务' : '群发任务'" :visible.sync="show" width="680px" @closed="close">
<el-dialog custom-class="dialogClass" :title="isEdit && !readOnly ? '编辑群发任务' : '群发任务'" :visible.sync="show" width="740px" @closed="close">
<el-form ref="form" :model="form" :rules="rules" label-width="130px">
<el-form-item label="选择企业" prop="qfxxEnterpriseId">
<el-select v-model="form.qfxxEnterpriseId" @change="onChangeEnterprise" :disabled="isEdit || readOnly">
<el-option v-for="el in entepriseList" :key="el.wxEnterpriseId" :value="el.wxEnterpriseId" :label="el.corpName"></el-option>
</el-select>
</el-form-item>
<el-form-item label="选择门店" prop="consumerStoreType">
<el-radio-group :disabled="isEdit || readOnly" v-model="form.consumerStoreType">
<el-radio :label="0">固定门店</el-radio>
<el-radio :label="1">按门店条件</el-radio>
</el-radio-group>
<vue-gic-store-card :key="show" style="margin-top: 20px;" v-if="form.consumerStoreType === 0" v-bind="storeParams" :readonly="isEdit || readOnly" ref="storeCard" :uuid.sync="order_store" appendToBody></vue-gic-store-card>
<dm-store-selector :key="show" style="margin-top: 20px;" v-if="form.consumerStoreType === 1" ref="newStoreCard" :readonly="isEdit || readOnly" :uuid.sync="order_store_new"></dm-store-selector>
</el-form-item>
<el-form-item label="任务标题" prop="title">
<template slot="label">
<span>任务标题</span>
......@@ -138,13 +146,19 @@ export default {
gicSmsTemplateId: '',
telFlag: 0,
smsFlag: 0,
teltask: null
teltask: null,
consumerStoreType: 1, // 0 固定门店 1 门店条件
storeFilterId: ''
},
order_store_new: '',
order_store: '',
creatorId: '',
rules: {
qfxxEnterpriseId: { required: true, message: '请选择企业', trigger: 'change' },
title: { required: true, message: '请填写任务标题', trigger: 'blur' },
remark: { required: true, message: '请填写任务描述', trigger: 'blur' },
expireDays: { required: true, message: '请填写', trigger: 'blur' }
expireDays: { required: true, message: '请填写', trigger: 'blur' },
consumerStoreType: { required: true, message: '请选择门店' }
},
entepriseList: [],
isEdit: false,
......@@ -201,8 +215,13 @@ export default {
gicSmsTemplateId: '',
telFlag: 0,
smsFlag: 0,
teltask: null
teltask: null,
consumerStoreType: 1,
storeFilterId: ''
};
this.order_store_new = '';
this.creatorId = '';
this.order_store = '';
this.ecmMarketingTypeRelationId = '';
this.materials = [];
this.sms = {};
......@@ -244,7 +263,14 @@ export default {
if (qfxx.smsFlag == 0) {
delete qfxx.gicSmsTemplateId;
}
// 门店选择器
let data = this.form.consumerStoreType === 1 ? await this.$refs.newStoreCard.getList() : await this.$refs.storeCard.getRightList();
if (!data.length) {
this.$tips({ type: 'warning', message: '门店不能为空' });
return;
}
delete qfxx.title;
qfxx.storeFilterId = this.form.consumerStoreType === 1 ? this.order_store_new : this.order_store;
qfxx.chatContent = JSON.stringify(this.materials.map(el => ({ relation_id: el.relation_id })));
this.$emit('sendItem', { title: this.form.title, qfxx, comName: 'qfxx', ecmMarketingTypeRelationId: this.ecmMarketingTypeRelationId });
this.close();
......@@ -322,6 +348,9 @@ export default {
} else {
return [];
}
},
storeParams() {
return this.isEdit ? { creatorId: this.form.creatorId } : {};
}
},
watch: {
......@@ -334,6 +363,9 @@ export default {
this.form[key] = this.item.qfxx[key];
}
}
const { storeFilterId } = this.item.qfxx;
if (this.form.consumerStoreType == 1) this.order_store_new = storeFilterId;
else this.order_store = storeFilterId;
if (this.item.qfxx && this.item.qfxx.chatContent) {
this.materials = JSON.parse(this.item.qfxx.chatContent || '[]');
}
......
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