Commit e62f4fa6 by 黑潮

Merge branch 'feature/销售线索3' into dev

parents d2c0fee4 e9e50e87
<!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.49e6cb577aa282723f9c1e37a45b8f79.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.c9d4d40e66643ca822ae.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.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
!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:"2a65ee7a47d5985784da",4:"db647ff1aa771017a36c",5:"499510114acac6860134",6:"3415e1ee651ea61ae5e0",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
!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
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -11,6 +11,10 @@
<span v-html="el"></span>
</span>
</p>
<p style="margin-top:12px;color:#606266">
<span>群发失败设置:</span>
<span v-if="item.qfxx.telFlag">话务</span><span v-if="item.qfxx.smsFlag && item.qfxx.telFlag"> / </span><span v-if="item.qfxx.smsFlag">短信</span>
</p>
</div>
</template>
......
......@@ -49,7 +49,7 @@
</div>
</el-form-item>
<el-form-item class="is-required" label="群发失败设置">
<el-radio-group v-model="form.failSetting">
<el-radio-group :disabled="readOnly" v-model="form.failSetting">
<el-radio :label="1" style="margin-right:0">开启</el-radio>
<el-radio :label="0" style="margin-left:20px">不开启</el-radio>
</el-radio-group>
......@@ -59,7 +59,7 @@
<div class="task-wrapper" style="margin-top:16px;padding-top:14px;">
<el-row style="margin-bottom:12px" type="flex" align="middle" justify="space-between">
<el-checkbox label="话务" style="margin-bottom:0" :value="form.telFlag" :true-label="1" :false-label="0" :disabled="readOnly" @change="onChangeTelTask"></el-checkbox>
<el-button v-if="form.teltask" type="text" @click="onEditTelTask">编辑</el-button>
<el-button v-if="form.teltask && !readOnly" type="text" @click="onEditTelTask">编辑</el-button>
</el-row>
<div style="margin-bottom:14px" v-if="form.teltask">
<div class="clearfix">
......@@ -69,69 +69,20 @@
<div style="margin-top:12px;color:#606266">{{ form.teltask.content }}</div>
</div>
</div>
<div class="task-wrapper">
<el-checkbox label="短信" v-model="form.smsFlag" :true-label="1" :false-label="0" :disabled="readOnly"></el-checkbox>
<el-row class="sms" type="flex">
<div class="sms-label">短信内容</div>
<div class="sms-template-wrapper">
<div class="sms-template-header">
<el-button type="text" @click="openDialog('smsTemplate')" :disabled="readOnly">选择模板</el-button>
<el-divider direction="vertical"></el-divider>
<el-button type="text" @click="openDialog('transferLink')" :disabled="readOnly">插入小程序链接</el-button>
<el-divider direction="vertical"></el-divider>
<el-button type="text" @click="openDialog('reduceLink')" :disabled="readOnly">压缩网址</el-button>
<el-divider direction="vertical"></el-divider>
<el-popover v-model="showPopover" placement="top" trigger="click" width="600" :offset="248">
<div style="padding:8px;position:relative">
<i class="el-icon-close popover-close" @click="showPopover = false"></i>
<div class="messsage-template-title">模板示例</div>
<div class="messsage-template-description">模板示列如下,其中{数字}为可插入的变量值,参照表如下:注意考虑变量值的文本长度,以免超出67字/条的文本上限。</div>
<div class="messsage-template-content">
<ul>
<li>{1}=姓名</li>
<li>{2}=姓名+先生/女士</li>
<li>{3}=生日日期</li>
<li>{4}=生日天数</li>
<li>{5}=关注日期</li>
<li>{6}=关注天数</li>
<li>{7}=主门店品牌名称</li>
<li>{8}=主门店名称</li>
<li>{9}=主门店电话</li>
<li>{10}=专属导购姓名</li>
<li>{11}=专属导购手机号</li>
<li>{12}=开卡日期</li>
<li>{13}=开卡天数</li>
<li>{14}=开卡门店名称</li>
</ul>
<ul>
<li>{15}=会员卡号</li>
<li>{16}=会员等级名称</li>
<li>{17}=主门店地址</li>
<li>{18}=会员等级剩余有效天数</li>
<li>{19}=积分余额</li>
<li>{20}=30天内将过期积分额度</li>
<li>{21}=储值余额</li>
<li>{22}=消费总额</li>
<li>{23}=消费次数</li>
<li>{24}=最近消费日期</li>
<li>{25}=最近消费间隔</li>
<li>{26}=最高单笔消费</li>
<li>{27}=最近消费门店名称</li>
<li>{28}=最近消费品牌名称</li>
</ul>
</div>
</div>
<el-button type="text" slot="reference">查看变量</el-button>
</el-popover>
</div>
<el-input class="sms-template" v-model="form.smsContent" placeholder="亲爱的{2},{3}是你的生日,祝你生日快乐,心想事成!" type="textarea" :rows="4" resize="none" show-word-limit :maxlength="450" :readonly="readOnly"></el-input>
</div>
<div class="task-wrapper" style="margin-top:16px;padding-top:14px;">
<el-row style="margin-bottom:12px" type="flex" align="middle" justify="space-between">
<el-checkbox label="短信" style="margin-bottom:0" :value="form.smsFlag" :true-label="1" :false-label="0" :disabled="readOnly" @change="onChangeSms"></el-checkbox>
<el-button v-if="form.gicSmsTemplateId && !readOnly" type="text" @click="openDialog('smsTemplate')">重新选择</el-button>
</el-row>
<div style="margin-bottom:14px" v-if="form.gicSmsTemplateId">
<div class="teltask-title" style="font-size:16px;color:#303133">{{ sms.title }}</div>
<div style="margin-top:12px;color:#606266">{{ sms.content }}</div>
</div>
</div>
</template>
</el-form-item>
</el-form>
<template slot="footer">
<template v-if="!readOnly" slot="footer">
<el-button style="width:74px" @click="close">取消</el-button>
<el-button style="width:74px" type="primary" @click="addItem">确定</el-button>
</template>
......@@ -180,7 +131,7 @@ export default {
title: '',
expireDays: 0,
failSetting: '',
smsContent: '',
gicSmsTemplateId: '',
telFlag: 0,
smsFlag: 0,
teltask: null
......@@ -198,7 +149,8 @@ export default {
materialVisible: false,
showPopover: false,
telTaskItem: {},
teltaskDialogShow: false
teltaskDialogShow: false,
sms: {}
};
},
created() {
......@@ -206,15 +158,12 @@ export default {
},
methods: {
onInsertTemplate(item) {
if (item.type == 1) {
this.form.smsContent = item.value.originalContent;
} else if (item.type == 2) {
if (this.form.smsContent) {
this.form.smsContent = `${this.form.smsContent} ${item.value}`;
} else {
this.form.smsContent = item.value;
}
}
console.log(item);
this.sms = {
title: item.value.title,
content: item.value.originalContent
};
this.form.gicSmsTemplateId = item.value.gicSmsTemplateId;
this.form.smsFlag = 1;
},
openDialog(type) {
......@@ -235,7 +184,7 @@ export default {
title: '',
expireDays: 0,
failSetting: '',
smsContent: '',
gicSmsTemplateId: '',
telFlag: 0,
smsFlag: 0,
teltask: null
......@@ -259,6 +208,9 @@ export default {
if (this.form.failSetting === '') {
return this.$message.warning('请选择是否开启群发消息失败设置');
}
if (this.form.smsFlag == 0 && this.form.telFlag == 0) {
return this.$message.warning('请至少设置一种群发失败方式');
}
if (qfxx.failSetting == 0) {
qfxx.telFlag = 0;
qfxx.smsFlag = 0;
......@@ -267,7 +219,7 @@ export default {
delete qfxx.teltask;
}
if (qfxx.smsFlag == 0) {
delete qfxx.smsContent;
delete qfxx.gicSmsTemplateId;
}
delete qfxx.title;
qfxx.chatContent = JSON.stringify(this.materials.map(el => ({ relation_id: el.relation_id })));
......@@ -315,6 +267,13 @@ export default {
this.form.telFlag = val;
}
},
onChangeSms(val) {
if (val && !this.form.gicSmsTemplateId) {
this.openDialog('smsTemplate');
} else {
this.form.smsFlag = val;
}
},
onEditTelTask() {
this.telTaskItem = {
ecmMarketingTypeRelationId: 1, // 有值时为编辑, 兼容已有话务组件
......@@ -354,6 +313,11 @@ export default {
this.materials = JSON.parse(this.item.qfxx.chatContent || '[]');
}
this.form.title = this.item.title;
this.sms = {
content: this.item.qfxx.smsContent,
title: this.item.qfxx.smsTitle
};
console.log(this.sms);
this.ecmMarketingTypeRelationId = this.item.ecmMarketingTypeRelationId;
} else {
this.isEdit = false;
......
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