Commit 543f4be9 by 黑潮

update: 人群提示

parent dd5aad3d
......@@ -34,7 +34,7 @@
<script src="//web-1251519181.file.myqcloud.com/components/export-excel.2.0.16.js"></script><!-- 数据导出 -->
<script src="//web-1251519181.file.myqcloud.com/components/input.2.0.20.js"></script>
<script src="//web-1251519181.file.myqcloud.com/components/delete.2.0.00.js"></script>
<script src="//web-1251519181.file.myqcloud.com/components/selector.1.2.26.js"></script>
<script src="//web-1251519181.file.myqcloud.com/components/selector.1.2.27.js"></script>
<script src="//web-1251519181.file.myqcloud.com/components/pagination.1.0.8.js"></script><!-- 分页器 -->
<script src="//web-1251519181.file.myqcloud.com/components/track.1.0.4.js"></script>
<script src="//web-1251519181.file.myqcloud.com/components/activity-select.1.0.2.1.js"></script><!-- 数据对话 -->
......
......@@ -180,7 +180,7 @@
</div>
<!-- 只有线下门店展示适用商品折扣 -->
<!-- 1: 大于等于 2:大于 3: 等于 4: 小于 5: 小于等于 -->
<div v-if="form.cardApplyChannel.indexOf('offlineStore') !== -1">
<div v-if="form.cardApplyChannel.indexOf('offlineStore') !== -1 && form.cardType !== 2">
<el-checkbox v-model="discount_limit.flag" :disabled="isEdit || isInfo">适用商品折扣</el-checkbox>
<div v-if="discount_limit.flag" class="inline-block">
<el-select :disabled="isEdit || isInfo" v-model="discount_limit.type" class="w100 ml10">
......
import { _debounce } from '@/utils/index';
import { checkMessageSendCount } from '@/service/api/messageApi.js';
import { getEcmInfo, saveEcmInfo, getUseStoredFalg, getXsxsFalg, gicPaymentList } from '@/service/api/ecmApi.js';
import { getCardManualSetting } from '@/service/api/cardApi.js';
import { listTemplateVariables } from '@/service/api/msgApi.js';
......@@ -269,6 +270,44 @@ export default {
},
methods: {
/* ----------------核心方法--------------- */
checkMessageSendCount() {
return new Promise(async (resolve, reject) => {
let events = this.$refs.marketingEvent.list.map(el => el.name);
events = Array.from(new Set(events));
const params = {
memberSearchDTO: this.form.memberType ? this.form.memberGroupIds : this.form.memberSearchDTO,
marketingType: 0,
// 区分人员筛选和会员分组,需要传这个flag
groupType: this.form.memberType
};
const res = await checkMessageSendCount(params);
if (res.errorCode === 0) {
this.$confirm(
`<div>
<div class="inline-block w300 vertical-middle ">
<p>本计划包含营销事件有:(${events.join(',')})</p>
<p>本计划保存这一刻合计发送人数为:${res.result}人</p>
<p>是否发送?</p>
</div>
</div>`,
'提示',
{
dangerouslyUseHTMLString: true,
confirmButtonText: '确定',
cancelBUttonText: '取消',
type: 'warning'
}
)
.then(() => {
resolve();
})
.catch(() => {
this.$tips({ type: 'info', message: '已取消发送' });
reject();
});
}
});
},
// 获取变量列表
async listTemplateVariables() {
this.loading = true;
......@@ -900,7 +939,14 @@ export default {
if (this.xsxsFlag == 1) {
params.analyseJson = JSON.stringify(this.analyseConfig);
}
this.saveEcmInfo(params);
if (this.isAdd && this.form.effectType != 0) {
this.checkMessageSendCount().then(() => {
this.saveEcmInfo(params);
});
} else {
this.saveEcmInfo(params);
}
// this.saveEcmInfo(params);
} else {
this.$tips({ type: 'warning', message: '表单填写不完整' });
return false;
......
......@@ -328,39 +328,39 @@ export default {
result.map(v => {
switch (v.marketingType) {
case 'teletext': // 1 图文
this.list.push({ comName: 'item-teletext', item: { ...v.imageText, ecmMarketingTypeRelationId: v.ecmMarketingTypeRelationId, relationId: v.relationId, ecmPlanId: v.ecmPlanId, status: v.status } });
this.list.push({ name: '图文', comName: 'item-teletext', item: { ...v.imageText, ecmMarketingTypeRelationId: v.ecmMarketingTypeRelationId, relationId: v.relationId, ecmPlanId: v.ecmPlanId, status: v.status } });
break;
case 'text': // 2 文本
this.list.push({ comName: 'item-text', item: { ...v.text, ecmMarketingTypeRelationId: v.ecmMarketingTypeRelationId, relationId: v.relationId, ecmPlanId: v.ecmPlanId } });
this.list.push({ name: '文本', comName: 'item-text', item: { ...v.text, ecmMarketingTypeRelationId: v.ecmMarketingTypeRelationId, relationId: v.relationId, ecmPlanId: v.ecmPlanId } });
break;
case 'wxa': // 3 小程序
this.list.push({ comName: 'item-wxa', item: { ...v.wxa, ecmMarketingTypeRelationId: v.ecmMarketingTypeRelationId, relationId: v.relationId, ecmPlanId: v.ecmPlanId, brandLogo: brandInfo.qcloudImageUrl, brandName: brandInfo.brandName, status: v.status } });
this.list.push({ name: '小程序', comName: 'item-wxa', item: { ...v.wxa, ecmMarketingTypeRelationId: v.ecmMarketingTypeRelationId, relationId: v.relationId, ecmPlanId: v.ecmPlanId, brandLogo: brandInfo.qcloudImageUrl, brandName: brandInfo.brandName, status: v.status } });
break;
case 'card': // 5 卡券
this.list.push({ comName: 'item-card', item: { ...v.card, ecmMarketingTypeRelationId: v.ecmMarketingTypeRelationId, relationId: v.relationId, ecmPlanId: v.ecmPlanId, brandLogo: brandInfo.qcloudImageUrl } });
this.list.push({ name: '卡券', comName: 'item-card', item: { ...v.card, ecmMarketingTypeRelationId: v.ecmMarketingTypeRelationId, relationId: v.relationId, ecmPlanId: v.ecmPlanId, brandLogo: brandInfo.qcloudImageUrl } });
break;
case 'image': // 4 图片
this.list.push({ comName: 'item-image', item: { ...v.image, ecmMarketingTypeRelationId: v.ecmMarketingTypeRelationId, relationId: v.relationId, ecmPlanId: v.ecmPlanId, status: v.status } });
this.list.push({ name: '图片', comName: 'item-image', item: { ...v.image, ecmMarketingTypeRelationId: v.ecmMarketingTypeRelationId, relationId: v.relationId, ecmPlanId: v.ecmPlanId, status: v.status } });
break;
case 'message': // 6 短信
const sms = v.sms || {};
this.list.push({ comName: 'item-message', item: { ...sms, ecmMarketingTypeRelationId: v.ecmMarketingTypeRelationId, relationId: v.relationId, ecmPlanId: v.ecmPlanId, status: v.status } });
this.list.push({ name: '短信', comName: 'item-message', item: { ...sms, ecmMarketingTypeRelationId: v.ecmMarketingTypeRelationId, relationId: v.relationId, ecmPlanId: v.ecmPlanId, status: v.status } });
break;
case 'teltask': // 7 话务
this.list.push({ comName: 'item-teltask', item: { ...v.teltask, ecmMarketingTypeRelationId: v.ecmMarketingTypeRelationId, relationId: v.relationId, ecmPlanId: v.ecmPlanId } });
this.list.push({ name: '话务', comName: 'item-teltask', item: { ...v.teltask, ecmMarketingTypeRelationId: v.ecmMarketingTypeRelationId, relationId: v.relationId, ecmPlanId: v.ecmPlanId } });
break;
case 'integral': // 8 积分
this.list.push({ comName: 'item-integral', item: { multipleNum: v.multipleNum, integralType: v.integralType, integralCount: v.integralCount, ecmMarketingTypeRelationId: v.ecmMarketingTypeRelationId, relationId: v.relationId, ecmPlanId: v.ecmPlanId } });
this.list.push({ name: '积分', comName: 'item-integral', item: { multipleNum: v.multipleNum, integralType: v.integralType, integralCount: v.integralCount, ecmMarketingTypeRelationId: v.ecmMarketingTypeRelationId, relationId: v.relationId, ecmPlanId: v.ecmPlanId } });
// this.list.push({ comName: 'item-teltask', item: { ...v.teltask, ecmMarketingTypeRelationId: v.ecmMarketingTypeRelationId, relationId: v.relationId, ecmPlanId: v.ecmPlanId } });
break;
case 'grade': // 9 会员卡升级
this.list.push({ comName: 'item-grade', item: { title: v.title, ecmMarketingTypeRelationId: v.ecmMarketingTypeRelationId, relationId: v.relationId, ecmPlanId: v.ecmPlanId } });
this.list.push({ name: '会员卡升级', comName: 'item-grade', item: { title: v.title, ecmMarketingTypeRelationId: v.ecmMarketingTypeRelationId, relationId: v.relationId, ecmPlanId: v.ecmPlanId } });
break;
case 'qywx': // 10 企微任务
this.list.push({ comName: 'item-qywx', item: { title: v.title, qywx: v.qywx, ecmMarketingTypeRelationId: v.ecmMarketingTypeRelationId, relationId: v.relationId, ecmPlanId: v.ecmPlanId } });
this.list.push({ name: '企微任务', comName: 'item-qywx', item: { title: v.title, qywx: v.qywx, ecmMarketingTypeRelationId: v.ecmMarketingTypeRelationId, relationId: v.relationId, ecmPlanId: v.ecmPlanId } });
break;
case 'qfxx': // 11 群发消息
this.list.push({ comName: 'item-qfxx', item: { title: v.title, qfxx: v.qfxx, ecmMarketingTypeRelationId: v.ecmMarketingTypeRelationId, relationId: v.relationId, ecmPlanId: v.ecmPlanId } });
this.list.push({ name: '群发消息', comName: 'item-qfxx', item: { title: v.title, qfxx: v.qfxx, ecmMarketingTypeRelationId: v.ecmMarketingTypeRelationId, relationId: v.relationId, ecmPlanId: v.ecmPlanId } });
break;
}
});
......
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