Commit 93acee2a by zhangmeng

ecm提交

parent 5da7c800
<!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.a5e1c09a2ae0ab1c3621b70a4d086fc9.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.381a376baaa65b5cbeb9.js></script><script type=text/javascript src=/marketing/static/js/app.be45062d12b3abbf338b.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.a5e1c09a2ae0ab1c3621b70a4d086fc9.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.6c243c45857525333b7e.js></script><script type=text/javascript src=/marketing/static/js/app.062c80ab7211400f52b6.js></script></body></html>
\ No newline at end of file
......@@ -20,6 +20,8 @@ import vueGicStoreGroup from '@gic-test/vue-gic-store-group'
import vueGicPeople from '@gic-test/vue-gic-people'
import vueGicConfirmPeople from '@gic-test/vue-gic-confirm-people/src/lib'
import vueGicImgPreview from '@gic-test/vue-gic-img-preview'
import vueGicMarketingEvent from '@gic-test/vue-gic-marketing-event'
Vue.use(vueGicMarketingEvent)
import packele from 'packele'
Vue.config.productionTip = false
......
......@@ -11,8 +11,8 @@ export const loadEcmList = (params) => requests(PREFIX + 'deprecate/page-ecm-lis
//智能营销--ECM营销引擎-- 删除
export const deleteEcm = (params) => requests(PREFIX + 'delete-ecm', params);
//智能营销--ECM营销引擎-- 新建/修改 回显智能引擎计划信息
export const getEcmInfo = (params) => requests(PREFIX + 'get-ecm-info', params);
//智能营销--ECM营销引擎-- 新建/修改 回显智能引擎计划信息 TODO
export const getEcmInfo = (params) => requests(PREFIX + 'deprecate/get-ecm-info', params);
// 智能营销--ECM营销引擎-- 新建/修改 [保存]计划信息
export const saveEcmInfo = (params) => requests(PREFIX + 'save-update-ecm', params);
......
<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>
......@@ -3,17 +3,17 @@
<section class="dm-form__wrap">
<h3 class="dm-title__label">计划内容设置</h3>
<el-form-item label="计划名称" prop="ecmPlanName" class="width50">
<dm-input class="w400" :maxlength="9" v-model="form.ecmPlanName" :disabled="detailFlag"></dm-input>
<dm-input class="w400" :maxlength="9" v-model="form.ecmPlanName" ></dm-input>
</el-form-item>
<el-form-item label="时效" class="width50">
<el-radio v-model="form.effectType" :label="0">实时</el-radio>
<el-radio class="mr10" v-model="form.effectType" :label="1">每天</el-radio>
<el-select style="width:262px;" v-model="form.effectTime" v-if="form.effectType" :disabled="detailFlag" placeholder="请选择时间">
<el-select style="width:262px;" v-model="form.effectTime" v-if="form.effectType" placeholder="请选择时间">
<el-option v-for="(v,i) in dayOptions" :key="i" :label="v.label" :value="v.value"></el-option>
</el-select>
</el-form-item>
<el-form-item label="触发行为" class="width50" v-if="!form.effectType">
<el-select class="w400" v-model="form.effectAction" :disabled="detailFlag" placeholder="选择发送状态">
<el-select class="w400" v-model="form.effectAction" placeholder="选择发送状态">
<el-option v-for="(v,i) in effectActionOptions" :key="i" :label="v.label" :value="v.value"></el-option>
</el-select>
</el-form-item>
......@@ -33,7 +33,7 @@
</div>
</el-form-item>
<el-form-item label="营销场景">
<span v-if="editFlag">{{form.sceneSettingName}}</span>
<span v-if="isEdit">{{form.sceneSettingName}}</span>
<el-select v-else class="w400" v-model="form.sceneSettingId" placeholder="选择营销场景">
<el-option v-for="item in sceneSettingIdOptions" :key="item.sceneSettingId" :label="item.sceneName" :value="item.sceneSettingId"></el-option>
</el-select>
......@@ -54,49 +54,10 @@
</section>
<section class="dm-form__wrap">
<h3 class="dm-title__label">营销方式</h3>
<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>
<vue-gic-marketing-event v-if="ecmPlanId" :ecmPlanId="ecmPlanId" :code="code"></vue-gic-marketing-event>
</section>
<div class="btn-wrap_fixed" :class="{'on':asideShow}">
<el-button type="primary" @click="submit('form')" v-if="!detailFlag">保 存</el-button>
<el-button type="primary" @click="submit('form')">保 存</el-button>
<el-button @click="$router.go(-1)">返 回</el-button>
</div>
</el-form>
......@@ -115,6 +76,8 @@ import {checkMessageSendCount} from '@/service/api/messageApi.js';
export default {
data () {
return {
ecmPlanId:'', // 必传,
code:'1001',
loading:false,
effectActionOptions:[{value:'subscribe',label:'关注触发'},{value:'authentication',label:'认证触发'},{value:'consume',label:'消费触发'}],
dayOptions:[
......@@ -168,8 +131,8 @@ export default {
rules:{
ecmPlanName:{type:'string', required: true, message: '计划名称不能为空', trigger: 'blur' },
},
editFlag:this.$route.meta.type === 'edit',
detailFlag:this.$route.meta.type === 'detail',
isEdit:this.$route.meta.type === 'edit',
isAdd:this.$route.meta.type === 'add',
content: '',
customToolbar: [['link']],
// 人群筛选器可传参数
......@@ -199,11 +162,10 @@ export default {
},
created(){
this.$store.commit('mutations_breadcrumb',[{name:'营销管理',path:''},{name:'智能营销',path:'/ecm'},{name:'智能营销管理',path:''}]);
if (this.editFlag || this.detailFlag) {
this.getEcmInfo();
} else {
if (this.isAdd) {
this.sceneSettingList();
}
this.getEcmInfo();
},
methods: {
// 微信文本
......@@ -273,8 +235,8 @@ export default {
this.enterpriseEdition = !!res.result.enterpriseEdition
this.enabledMessageState = !!res.result.enterpriseEdition
if(result) {
this.form.ecmPlanId = result.ecmPlanId || '';
if(result && this.isEdit) {
this.ecmPlanId = this.form.ecmPlanId = result.ecmPlanId || '';
this.form.ecmPlanName = result.ecmPlanName;
this.form.effectType = result.effectType;
this.form.effectTime = result.effectTime;
......@@ -318,6 +280,8 @@ export default {
this.radio = 'lastCost_day'
}
}
} else if (this.isAdd) {
this.ecmPlanId = res.result.templateEcmPlanId || '';
}
},
//提交表单验证人数 只有人员筛选需要
......@@ -433,7 +397,7 @@ export default {
saveEcmInfo(params).then(res => {
this.loading = false;
if (res.errorCode === 0) {
if (this.editFlag) {
if (this.isEdit) {
this.$confirm('操作成功, 是否返回列表?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
......
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