Commit d7178f38 by zhangmeng

迭代2

parent f1f35329
<!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/css/iconfont.css><link rel=stylesheet type=text/css href=static/css/common.css><link href=/marketing/static/css/app.aec921e5e054286fc38b1c2e853c9648.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=/marketing/static/js/manifest.0a85049e489e85ac5f0a.js></script><script type=text/javascript src=/marketing/static/js/vendor.787ad27b46bfcbf5e833.js></script><script type=text/javascript src=/marketing/static/js/app.dc2cb05089b622891b9a.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/css/iconfont.css><link rel=stylesheet type=text/css href=static/css/common.css><link href=/marketing/static/css/app.d0886508ad61ad5a266f66279df4830a.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=/marketing/static/js/manifest.0a85049e489e85ac5f0a.js></script><script type=text/javascript src=/marketing/static/js/vendor.787ad27b46bfcbf5e833.js></script><script type=text/javascript src=/marketing/static/js/app.c15e202ed43e7bfd0db8.js></script></body></html>
\ 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,7 +11,7 @@
</el-breadcrumb>
<h3>
<span>{{contentTitle}}</span>
<span v-html="layoutTips"></span>
<div v-html="layoutTips"></div>
</h3>
</div>
<div class="layout-content__wrap">
......@@ -134,13 +134,7 @@
}
}
&-title{
// position: absolute;
// width: 100%;
// top:0;
// left:0;
height:85px;
background:#fff;
// box-shadow: 0 3px 5px rgba(147,165,184,.13);
padding:15px 0 0 30px;
border-bottom: 1px solid #e4e7ed;
h3 {
......@@ -148,19 +142,34 @@
font-size:20px;
padding:24px 0;
font-weight:600;
span{
color:#303133;
font-size:20px;
font-weight:600;
}
i{
font-size:20px;
color:#c0c4ce;
cursor: pointer;
&:hover{
color:#909399;
}
}
// span{
// color:#303133;
// font-size:20px;
// font-weight:600;
// }
// i{
// font-size:20px;
// color:#c0c4ce;
// cursor: pointer;
// &:hover{
// color:#909399;
// }
// }
}
}
&--tips {
margin-top: 25px;
width: 100%;
height: 38px;
line-height: 38px;
font-size: 13px;
border-radius: 2px;
color: #606266;
background-color: #f4f4f5;
i {
margin: 0 12px;
color: #1890ff;
}
}
&-content__wrap {
......
......@@ -3,7 +3,7 @@
<div class="gic-modal-bd text-center">
<div class="gic-modal-content">
<p class="fz16" style="margin-bottom:20px">微信图文共<span> {{count}} </span><span @click="getSyncInfo" class="blue" style="margin-left:10px;">刷新</span></p>
<p class="gray fz12">同步全部商品可能会需要比较久的时间,请耐心等待</p>
<p class="gray fz12">同步全部图文可能会需要比较久的时间,请耐心等待</p>
</div>
</div>
<div class="text-center pt20">
......
......@@ -514,7 +514,7 @@
bottom: 1px;
color: #c0c4cc;
font-size: 12px;
background: #fff;
// background: #fff;
height: 30px;
line-height: 32px;
padding-left: 10px;
......
......@@ -34,7 +34,7 @@
<el-button size="small" @click="cancelFilter">取 消</el-button>
</div>
</div>
<vue-gic-confirm-people v-show="info.memberType" idType="memberId" @get-data="getConfirmData" :list="memberList"></vue-gic-confirm-people>
<vue-gic-confirm-people v-show="info.memberType" idType="memberId" :onlyWxMember="0" @get-data="getConfirmData" :list="memberList"></vue-gic-confirm-people>
</div>
<div class="btn-wrap_fixed" :class="{'on':asideShow}">
<el-button v-if="!isInfo" type="primary" @click="submit('info')">提 交</el-button>
......@@ -100,6 +100,7 @@ export default {
this.sceneSettingList();
// }
this.$store.commit('mutations_breadcrumb',[{name:'营销管理',path:''},{name:'卡券营销',path:'/card'},{name:'卡券库',path:'/card/list'},{name:'卡券群发',path:''}])
this.$message({type:'warning',duration:10000,message:'风险提示:大规模投放卡券可能导致模板消息被封'});
},
methods:{
getData() {
......
<div class="pb20 pt10">
<el-radio-group v-model="form.marketingType">
<el-radio label="message">短信营销</el-radio>
<el-radio label="card">卡券营销</el-radio>
<el-radio label="teletext">图文营销</el-radio>
<el-radio label="text">文本营销</el-radio>
<el-radio label="image">图片营销</el-radio>
<el-radio v-if="enterpriseEdition" label="teltask">话务营销</el-radio>
</el-radio-group>
</div>
<div v-if="form.marketingType === 'teltask'" class="border-radius2" style="padding:15px;">
<el-form-item label="话务任务标题" class="pb10 pt5">
<dm-input class="w400" v-model="form.title" placeholder="限制20个字符" :maxlength="20"></dm-input>
</el-form-item>
<el-form-item label="话务任务内容" class="pb10">
<dm-input class="w400" :rows="4" type="textarea" v-model="form.describe" placeholder="限制200个字符" :maxlength="200"></dm-input>
</el-form-item>
<el-form-item label="任务逾期判定">
<el-input-number controls-position="right" class="w400" v-model="form.lateDays"></el-input-number> 天之后
</el-form-item>
</div>
<!-- 短信 cardId -->
<div v-if="form.marketingType === 'message'" class="border-radius2" style="padding:15px;">
<sms-temp :activeId.sync="form.cardId" pbSize="pb15"></sms-temp>
</div>
<!-- 图文 cardId mediaId imageTextId -->
<div v-if="form.marketingType === 'teletext'" class="border-radius2" style="padding:15px;">
<dm-img-text @get-data="getImgTextData" pbSize="pb15" :activeId.sync="form.mediaId" :radioShow="true" :auto="false" ></dm-img-text>
</div>
<!-- 图片 cardId mediaId -->
<dm-img-box v-if="form.marketingType === 'image'" @get-data="getImgData" :mediaId.sync="form.mediaId"></dm-img-box>
<!-- 卡券 cardId -->
<div v-if="form.marketingType === 'card'" class="border-radius2" style="padding:15px;">
<cardTemp pbSize="pb15" :activeId.sync="form.cardId" cardIdName="wechatCardId"></cardTemp>
</div>
<!-- 文本 textContent -->
<div v-show="form.marketingType === 'text'">
<wxText :msgText="form.textContent" @listenWxText="getWxText"></wxText>
</div>
if ( this.form.marketingType === 'card' || this.form.marketingType === 'message') {
this.form.cardId = result.cardId || '';
}
if (this.form.marketingType==="teletext") {
this.form.mediaId = result.mediaId || '';
this.form.imageTextId = result.imageTextId || '';
}
if (this.form.marketingType==="image") {
this.form.mediaId = result.mediaId || '';
}
if (this.form.marketingType=="text") {
this.form.textContent = result.textContent || '';
}
if(this.form.marketingType==="teltask") {
this.form.title = result.title; // 话务任务标题
this.form.describe = result.describe; // 话务任务描述
this.form.lateDays = result.lateDays; // 任务逾期判定天数
}
......@@ -79,6 +79,7 @@ export default {
created() {
this.ecmBatchSendInfos();
this.$store.commit('mutations_breadcrumb',[{name:'营销管理',path:''},{name:'智能营销',path:'/ecm'},{name:this.$route.params.name + ' - 批次记录',path:''}]);
this.$message({type:'warning',duration:5000,message:'历史数据限制:2018年11月15日之前的历史营销计划,没有详细数据'});
},
methods: {
search() {
......
......@@ -5,7 +5,7 @@
<el-select class="dm-select" clearable v-model="listParams.success" placeholder="所有条件" @change="search">
<el-option v-for="(v,i) in successOptions" :key="i" :label="v.label" :value="v.value"></el-option>
</el-select>
<el-input v-model="listParams.memberInfo" class="w200" placeholder="输入会员昵称/名字" clearable @change="search"><i slot="prefix" class="el-input__icon el-icon-search"></i></el-input>
<el-input v-model="listParams.memberInfo" class="w200" placeholder="输入会员昵称/名字/手机号" clearable @change="search"><i slot="prefix" class="el-input__icon el-icon-search"></i></el-input>
<el-button icon="iconfont icon-icon_yunxiazai" class="fr" type="primary" @click="exportCurrentSendDetails"> 导出列表</el-button>
</div>
<div class="dm-wrap">
......@@ -49,7 +49,7 @@ export default {
data () {
return {
dateTime:[Date.now() - 30*24*60*60*1000,Date.now()],
successOptions:[{value:'',label:'所有类型'},{value:0,label:'不满足'},{value:1,label:'满足'}],
successOptions:[{value:'',label:'所有状态'},{value:0,label:'不满足'},{value:1,label:'满足'}],
listParams:{
ecmPlanId:this.$route.params.id,
ecmMarketingTypeRelationIds:'',
......
......@@ -157,6 +157,7 @@
watch:{
show(val) {
this.textarea = '';
this.cancelLink = false;
this.copyObj = {};
if (val && this.item.ecmMarketingTypeRelationId) {
console.log('编辑',this.item);
......@@ -447,11 +448,43 @@
return;
}
this.$emit('sendItem',JSON.parse(JSON.stringify({
let sendValue = JSON.parse(JSON.stringify({
...this.xcxUrlObj,
...this.copyObj,
content:this.xcxUrlObj.textarea
})))
}));
if(sendValue.textNum > 300){
this.$tips({type:'warning',message:'最多300个字符哦'});
return;
}else{
var reg = /<(?!(a|\/a|div|\/div|br)).*?>/img ; // 只保留a 和 div 标签
var str = sendValue.content.replace(reg,"");
var str1 = str.replace(/<\/div>|&nbsp;/g,"");
var str2 = str1.replace(/<((div)).*?>/g,"<br>");
var str3 = str2.split('<br>').filter(v=>v).join('<br>');
var hrefReg = /href=['"]([^"]*)['"].*?/g
// var hrefReg = /(?<=href=\").*?(?=\")/img; // 获取a标签的href值
if(hrefReg.test(str3)){
var hrefArr = str3.match(hrefReg);
if(hrefArr.length>1){
this.$tips({type:'warning',message:'只能添加一个链接'});
return
}
var href = str3.match(hrefReg)[0];
str3 = str3.replace(/<((a)).*?>/g,'<a '+href+'">'); // 获取 <a> 并替代
}
if(str3 == '' ){
this.$tips({type:'warning',message:'请输入回复内容'});
return;
}else{
sendValue.content = str3
}
}
this.$emit('sendItem',sendValue);
this.close();
},
close() {
......@@ -514,6 +547,8 @@
font-size: 14px;
box-sizing: border-box;
line-height: 1.3;
overflow-y: auto;
height: 200px;
a{
color: #1890ff
}
......@@ -521,6 +556,11 @@
color: #1890ff
}
}
.text-num {
position: absolute;
top: 0;
right: 6px;
}
}
}
}
......
......@@ -253,6 +253,7 @@ export default {
// 2.文本
if (val.comName === 'text') {
params.title = val.content;
console.log(val)
params.text = {// ecm话务对象
content:val.content
}
......
......@@ -53,7 +53,7 @@
</template>
</el-table-column>
<el-table-column v-for="(v,i) in messageHeader" :show-overflow-tooltip="v.tooltip" :width="v.width" :min-width="v.minWidth" :align="v.align" :key="i" :prop="v.prop" :label="v.label" :formatter="v.formatter"></el-table-column>
<el-table-column :width="80" align="left" label="错误码" prop="errorMsg">
<el-table-column :min-width="80" align="left" label="错误码" prop="errorMsg">
<template slot-scope="scope">
<span v-if="scope.row.errorMsg== -1">--</span>
<span v-else-if="scope.row.backStatus=='--' && scope.row.sendStatus!==2">--</span>
......
......@@ -151,9 +151,11 @@ export default {
}
},
created(){
this.$store.commit('mutations_layoutTips',`<i class="el-icon-info vertical-middle"></i>
<b class="fz13 gray vertical-middle">微信群发接口限制:高级群发接口的每日调用限制为100次</b>
`);
this.$store.commit('mutations_layoutTips',`<div class="layout--tips">
<i class="el-icon-info"></i>
微信群发接口限制:高级群发接口的每日调用限制为100次
</div>
`);
this.$store.commit('mutations_breadcrumb',[{name:'营销管理'},{name:'微信营销',path:'/wechat'},{name:'微信群发',path:''}]);
if (this.imgTextFlag) {
this.wechatImageTextEdit();
......@@ -295,15 +297,32 @@ export default {
this.$tips({type:'warning',message:'最多300个字符哦'});
return
}
var reg = /<(?!(a|\/a|div|\/div)).*?>/img ; // 只保留a 和 div 标签
this.info.content = this.info.content.replace(reg,"").replace(/<\/div>|&nbsp;/g,"").replace(/<((div)).*?>/g,"<br>").split('<br>').filter(v=>v).join('<br>');
var reg = /<(?!(a|\/a|div|\/div|br)).*?>/img ; // 只保留a 和 div 标签
var str = this.info.content.replace(reg,"");
var str1 = str.replace(/<\/div>|&nbsp;/g,"");
var str2 = str1.replace(/<((div)).*?>/g,"<br>");
var str3 = str2.split('<br>').filter(v=>v).join('<br>');
var hrefReg = /href=['"]([^"]*)['"].*?/g
// var hrefReg = /(?<=href=\").*?(?=\")/img; // 获取a标签的href值
if(hrefReg.test(str3)){
var hrefArr = str3.match(hrefReg);
if(hrefArr.length>1){
this.$tips({type:'warning',message:'只能添加一个链接'});
return
}
var href = str3.match(hrefReg)[0];
str3 = str3.replace(/<((a)).*?>/g,'<a '+href+'">'); // 获取 <a> 并替代
}
if(str3 == '' ){
this.$tips({type:'warning',message:'请输入回复内容'});
return;
}else{
this.info.content = str3
}
}
// } else {
// if (!this.info.memberSearchDTO) {
// this.$tips({type:'warning',message:'会员筛选不能为空'});
// return;
// }
// }
this.checkMessageSendCount();
},
//提交表单验证人数 只有人员筛选需要
......
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