Commit c27f20f0 by 黑潮

Merge branch 'feature/6.25迭代' into dev

parents e62f4fa6 543f4be9
<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><link rel="shortcut icon" href=./static/img/favicon.ico><title>GIC后台</title><link rel=stylesheet type=text/css href=static/fonts/iconfont.css><link rel=stylesheet type=text/css href=static/css/common.css><link rel=stylesheet href=//web-1251519181.file.myqcloud.com/components/element.2.12.0.css><link href=/marketing/static/css/main.d9ddf1f527b12452e70706757c3e2190.css rel=stylesheet></head><body><div id=app></div><script src=//web-1251519181.file.myqcloud.com/lib/vue/2.5.2/vue.min.js></script><script src=//web-1251519181.file.myqcloud.com/lib/vue-router/3.0.2/vue-router.min.js></script><script src=//web-1251519181.file.myqcloud.com/lib/vuex/3.1.0/vuex.min.js></script><script src=//web-1251519181.file.myqcloud.com/components/element.2.12.0.js></script><script src=//web-1251519181.file.myqcloud.com/components/header.2.0.45.js></script><script src=//web-1251519181.file.myqcloud.com/components/footer.2.0.04.js></script><script src=//web-1251519181.file.myqcloud.com/components/store.2.0.01.js></script><script src=//web-1251519181.file.myqcloud.com/components/img-preview.2.0.00.js></script><script src=//web-1251519181.file.myqcloud.com/components/member-group.2.2.32.js></script><script src=//web-1251519181.file.myqcloud.com/components/store-card.2.0.30.js></script><script src=//web-1251519181.file.myqcloud.com/components/store-new.2.0.71.js></script><script src=//web-1251519181.file.myqcloud.com/components/confirm-people.2.0.06.js></script><script src=//web-1251519181.file.myqcloud.com/components/people.2.0.43.js></script><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/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.3.js></script><script src=//web-1251519181.file.myqcloud.com/components/upload-file.1.0.6.js></script><script src=//web-1251519181.file.myqcloud.com/components/card.2.0.21.js></script><script src=//web-1251519181.file.myqcloud.com/components/radio-transfer.1.0.13.js></script><script src=//web-1251519181.file.myqcloud.com/components/steps.1.0.1.js></script><script src=//web-1251519181.file.myqcloud.com/components/material.1.0.9.js></script><script type=text/javascript src=/marketing/static/js/manifest.42aa8620656e8c98a1e4.js></script><script type=text/javascript src=/marketing/static/js/vendor.f9f292eb91cca2c0fcc1.js></script><script type=text/javascript src=/marketing/static/js/main.e2be9ed70498c3543c62.js></script></body></html>
\ No newline at end of file
<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><link rel="shortcut icon" href=./static/img/favicon.ico><title>GIC后台</title><link rel=stylesheet type=text/css href=static/fonts/iconfont.css><link rel=stylesheet type=text/css href=static/css/common.css><link rel=stylesheet href=//web-1251519181.file.myqcloud.com/components/element.2.12.0.css><link href=/marketing/static/css/main.341d443adaf0136752c25db31698eaec.css rel=stylesheet></head><body><div id=app></div><script src=//web-1251519181.file.myqcloud.com/lib/vue/2.5.2/vue.min.js></script><script src=//web-1251519181.file.myqcloud.com/lib/vue-router/3.0.2/vue-router.min.js></script><script src=//web-1251519181.file.myqcloud.com/lib/vuex/3.1.0/vuex.min.js></script><script src=//web-1251519181.file.myqcloud.com/components/element.2.12.0.js></script><script src=//web-1251519181.file.myqcloud.com/components/header.2.0.45.js></script><script src=//web-1251519181.file.myqcloud.com/components/footer.2.0.04.js></script><script src=//web-1251519181.file.myqcloud.com/components/store.2.0.01.js></script><script src=//web-1251519181.file.myqcloud.com/components/img-preview.2.0.00.js></script><script src=//web-1251519181.file.myqcloud.com/components/member-group.2.2.32.js></script><script src=//web-1251519181.file.myqcloud.com/components/store-card.2.0.30.js></script><script src=//web-1251519181.file.myqcloud.com/components/store-new.2.0.71.js></script><script src=//web-1251519181.file.myqcloud.com/components/confirm-people.2.0.06.js></script><script src=//web-1251519181.file.myqcloud.com/components/people.2.0.43.js></script><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.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.3.js></script><script src=//web-1251519181.file.myqcloud.com/components/upload-file.1.0.6.js></script><script src=//web-1251519181.file.myqcloud.com/components/card.2.0.21.js></script><script src=//web-1251519181.file.myqcloud.com/components/radio-transfer.1.0.13.js></script><script src=//web-1251519181.file.myqcloud.com/components/steps.1.0.1.js></script><script src=//web-1251519181.file.myqcloud.com/components/material.1.0.9.js></script><script type=text/javascript src=/marketing/static/js/manifest.0df2860caeaf3f538217.js></script><script type=text/javascript src=/marketing/static/js/vendor.f9f292eb91cca2c0fcc1.js></script><script type=text/javascript src=/marketing/static/js/main.e2be9ed70498c3543c62.js></script></body></html>
\ No newline at end of file
!function(e){var n=window.webpackJsonp;window.webpackJsonp=function(r,a,o){for(var f,i,u,d=0,s=[];d<r.length;d++)i=r[d],t[i]&&s.push(t[i][0]),t[i]=0;for(f in a)Object.prototype.hasOwnProperty.call(a,f)&&(e[f]=a[f]);for(n&&n(r,a,o);s.length;)s.shift()();if(o)for(d=0;d<o.length;d++)u=c(c.s=o[d]);return u};var r={},t={17:0};function c(n){if(r[n])return r[n].exports;var t=r[n]={i:n,l:!1,exports:{}};return e[n].call(t.exports,t,t.exports,c),t.l=!0,t.exports}c.e=function(e){var n=t[e];if(0===n)return new Promise(function(e){e()});if(n)return n[2];var r=new Promise(function(r,c){n=t[e]=[r,c]});n[2]=r;var a=document.getElementsByTagName("head")[0],o=document.createElement("script");o.type="text/javascript",o.charset="utf-8",o.async=!0,o.timeout=12e4,c.nc&&o.setAttribute("nonce",c.nc),o.src=c.p+"static/js/"+({0:"card",1:"game",2:"wechat",3:"ecm",4:"message",5:"ewash",6:"scan",7:"evaluation",8:"activity",9:"cdKey",10:"recharge",11:"pop",12:"signIn",13:"msg",14:"calllog"}[e]||e)+"."+{0:"0e4a0ded439ac2fb3900",1:"1b92c0c94b803ef7ae97",2:"3f04ab3f20219ff8b5d9",3:"40d7e476182ec20ac8cf",4:"db647ff1aa771017a36c",5:"499510114acac6860134",6:"7560061c8ec886d1a809",7:"6f650fda68f6dd28ecea",8:"5ddb72b68fcdf6943011",9:"1e9ce432c3656fb230bf",10:"ecaf8387e48e126498ce",11:"b378842144bad01c35f1",12:"d31a431660000260acb5",13:"02883278bc559b7084a0",14:"67177b0729dc4ddc6d2c"}[e]+".js";var f=setTimeout(i,12e4);function i(){o.onerror=o.onload=null,clearTimeout(f);var n=t[e];0!==n&&(n&&n[1](new Error("Loading chunk "+e+" failed.")),t[e]=void 0)}return o.onerror=o.onload=i,a.appendChild(o),r},c.m=e,c.c=r,c.d=function(e,n,r){c.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},c.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return c.d(n,"a",n),n},c.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},c.p="/marketing/",c.oe=function(e){throw console.error(e),e}}([]);
\ No newline at end of file
!function(e){var n=window.webpackJsonp;window.webpackJsonp=function(r,c,o){for(var f,i,u,d=0,s=[];d<r.length;d++)i=r[d],t[i]&&s.push(t[i][0]),t[i]=0;for(f in c)Object.prototype.hasOwnProperty.call(c,f)&&(e[f]=c[f]);for(n&&n(r,c,o);s.length;)s.shift()();if(o)for(d=0;d<o.length;d++)u=a(a.s=o[d]);return u};var r={},t={17:0};function a(n){if(r[n])return r[n].exports;var t=r[n]={i:n,l:!1,exports:{}};return e[n].call(t.exports,t,t.exports,a),t.l=!0,t.exports}a.e=function(e){var n=t[e];if(0===n)return new Promise(function(e){e()});if(n)return n[2];var r=new Promise(function(r,a){n=t[e]=[r,a]});n[2]=r;var c=document.getElementsByTagName("head")[0],o=document.createElement("script");o.type="text/javascript",o.charset="utf-8",o.async=!0,o.timeout=12e4,a.nc&&o.setAttribute("nonce",a.nc),o.src=a.p+"static/js/"+({0:"card",1:"game",2:"wechat",3:"ecm",4:"message",5:"ewash",6:"scan",7:"evaluation",8:"activity",9:"cdKey",10:"recharge",11:"pop",12:"signIn",13:"msg",14:"calllog"}[e]||e)+"."+{0:"2d7fc9ba35058a652279",1:"1b92c0c94b803ef7ae97",2:"3f04ab3f20219ff8b5d9",3:"7b62691f833f29d23910",4:"db647ff1aa771017a36c",5:"499510114acac6860134",6:"85b504a98fc2ca243655",7:"6f650fda68f6dd28ecea",8:"5ddb72b68fcdf6943011",9:"1e9ce432c3656fb230bf",10:"ecaf8387e48e126498ce",11:"b378842144bad01c35f1",12:"d31a431660000260acb5",13:"02883278bc559b7084a0",14:"67177b0729dc4ddc6d2c"}[e]+".js";var f=setTimeout(i,12e4);function i(){o.onerror=o.onload=null,clearTimeout(f);var n=t[e];0!==n&&(n&&n[1](new Error("Loading chunk "+e+" failed.")),t[e]=void 0)}return o.onerror=o.onload=i,c.appendChild(o),r},a.m=e,a.c=r,a.d=function(e,n,r){a.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},a.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(n,"a",n),n},a.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},a.p="/marketing/",a.oe=function(e){throw console.error(e),e}}([]);
\ No newline at end of file
......@@ -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.3.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