Commit 1d24137d by crushh

update: dist

parent b3cd6d13
...@@ -158,6 +158,7 @@ export default { ...@@ -158,6 +158,7 @@ export default {
} }
}); });
this.echoData = this.handleEchoData(filterFrontShow); this.echoData = this.handleEchoData(filterFrontShow);
console.log(this.echoData);
} }
}); });
}, },
...@@ -192,25 +193,6 @@ export default { ...@@ -192,25 +193,6 @@ export default {
}); });
return arr; return arr;
}, },
echoStoreSelectorData(key) {
return new Promise((resolve, reject) => {
this.$refs.storeSelector[0]
.getStoreConfig()
.then(async data => {
console.log(data);
if (data.type == 0) {
resolve(false);
} else {
const str = data.list.map(item => item.name).join(',');
resolve(str);
}
})
.catch(() => {
resolve(false);
});
});
// 取得门店筛选器的文字回显
},
delAll() { delAll() {
this.conditionTypeList.forEach(item => { this.conditionTypeList.forEach(item => {
item.selectValue = []; item.selectValue = [];
...@@ -236,15 +218,12 @@ export default { ...@@ -236,15 +218,12 @@ export default {
}, },
storeChange(uuid, esScreeningWidgetChainId) { storeChange(uuid, esScreeningWidgetChainId) {
const obj = this.conditionTypeList.find(item => item.esScreeningWidgetChainId == esScreeningWidgetChainId); const obj = this.conditionTypeList.find(item => item.esScreeningWidgetChainId == esScreeningWidgetChainId);
this.$nextTick(() => { const res = this.$refs.storeSelector[0].getList();
this.echoStoreSelectorData(uuid).then(res => { console.log(res);
if (res) { if (res && res.length && res[0] == 1) return;
obj.selectValue = res; const str = res.map(item => (item.name ? item.name : item.id)).join(',');
obj.value = uuid; obj.value = uuid;
} obj.selectValue = str;
});
});
console.log(this.conditionTypeList);
}, },
onTabsClick(val) { onTabsClick(val) {
const { name } = val; const { name } = val;
......
<template> <template>
<!-- <div class="layout-container">
<vue-gic-header class="user-header-pop" style="z-index: 1999;" :projectName="projectName" :collapseFlag="collapseFlag" @collapseTag="collapseTagHandler" @toRouterView="toRouterView"></vue-gic-header>
<div class="layout">
<aside-menu class="layout-left" v-if="asideShow" :projectName="projectName" :leftModulesName="leftModulesName" :collapseFlag.sync="collapseFlag"></aside-menu>
<div class="layout-right" :class="[{ asideShow: asideShow }, { collapseFlag: asideShow && collapseFlag }]">
<div class="layout-title">
<el-breadcrumb class="dm-breadcrumb" separator="/">
<el-breadcrumb-item :to="{ path: '' }"><a href="/report/#/memberSummary">首页</a></el-breadcrumb-item>
<el-breadcrumb-item :class="{ 'no-link': !v.path, 'can-link': v.path }" v-for="(v, i) in breadcrumb" :key="i" :to="{ path: v.path }">{{ v.name }}</el-breadcrumb-item>
</el-breadcrumb>
<h3>
<div>
<span class="content-title">{{ contentTitle }}<span v-if="contentTitle == '触达效果'" class="title_tip">每日上午更新昨日数据</span></span>
<div v-html="layoutTips" class="layout--tips--wrap"></div>
</div>
<div v-if="showDescription" class="intro_wrap"><i class="iconfont icon-zhibiaoshuoming introlIcon" alt="" /><span class="intro" @click="() => (drawer = true)">指标说明</span></div>
</h3>
</div>
<div class="layout-content__wrap">
<div class="layout-content" :class="[{ asideShow: asideShow }, { collapseFlag: asideShow && collapseFlag }]">
<router-view></router-view>
</div>
</div>
</div>
</div>
<description :drawer.sync="drawer" :direction="direction" :contentTitle="contentTitle" />
</div> -->
<div> <div>
<dm-layout :projectName="projectName"> <router-view /></dm-layout> <dm-layout :projectName="projectName">
<keep-alive>
<router-view v-if="$route.meta.keepAlive" />
</keep-alive>
<router-view v-if="!this.$route.meta.keepAlive" />
</dm-layout>
</div> </div>
</template> </template>
<script> <script>
...@@ -52,28 +30,14 @@ export default { ...@@ -52,28 +30,14 @@ export default {
this.bodyHeight = document.body.clientHeight || document.documentElement.clientHeight; this.bodyHeight = document.body.clientHeight || document.documentElement.clientHeight;
}, },
computed: { computed: {
// asideShow() {
// return this.$store.state.marketing.asideShow;
// },
contentTitle() { contentTitle() {
const name = (this.$route.meta && this.$route.meta.aliasName) || this.$route.name; // 有些params跳转的需要用到route.name 这种情况如果meta中有aliasName,优先aliasName const name = (this.$route.meta && this.$route.meta.aliasName) || this.$route.name; // 有些params跳转的需要用到route.name 这种情况如果meta中有aliasName,优先aliasName
return name; return name;
}, },
// breadcrumb() {
// return this.$store.state.marketing.breadcrumb;
// },
// layoutTips() {
// return this.$store.state.marketing.layoutTips;
// },
showDescription() { showDescription() {
return (this.$route.path.indexOf('ecm/list') >= 0 && this.$store.state.marketing.xsxsFlag) || this.$route.path.indexOf('ecm/touch') >= 0; return (this.$route.path.indexOf('ecm/list') >= 0 && this.$store.state.marketing.xsxsFlag) || this.$route.path.indexOf('ecm/touch') >= 0;
} }
}, },
// watch:{
// asideShow(val) {
// this.collapseFlag = this.asideShow;
// }
// },
methods: { methods: {
// 处理路由跳转 // 处理路由跳转
toRouterView(val) { toRouterView(val) {
......
...@@ -9,7 +9,9 @@ export default { ...@@ -9,7 +9,9 @@ export default {
path: 'list', path: 'list',
name: '列表', name: '列表',
component: () => import('../../views/ai/list.vue'), component: () => import('../../views/ai/list.vue'),
meta: {} meta: {
keepAlive: true
}
}, },
{ {
path: 'add/:scene', path: 'add/:scene',
......
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
<span class="tips">仅支持选择已上线的话术,若需要增加话术,请联系运营经理</span> <span class="tips">仅支持选择已上线的话术,若需要增加话术,请联系运营经理</span>
</el-form-item> </el-form-item>
</div> </div>
<dm-sub-title line>活动时间<span class="tips">每天16:00之后不支持创建当天开始的活动</span></dm-sub-title> <dm-sub-title line>活动时间</dm-sub-title>
<div class="section"> <div class="section">
<birthSense ref="activeTime1" :data="birthTimeData" v-show="form.scene == 1" @change="getMemberCount" /> <birthSense ref="activeTime1" :data="birthTimeData" v-show="form.scene == 1" @change="getMemberCount" />
<holidaySense ref="activeTime2" :data="holidayTimeData" v-show="form.scene == 2" @change="getMemberCount" /> <holidaySense ref="activeTime2" :data="holidayTimeData" v-show="form.scene == 2" @change="getMemberCount" />
...@@ -45,15 +45,15 @@ ...@@ -45,15 +45,15 @@
<el-form-item label="消费条件" v-if="form.scene == 4 && form.memberType == 0"> <el-form-item label="消费条件" v-if="form.scene == 4 && form.memberType == 0">
<div class="consumeLine"> <div class="consumeLine">
<el-checkbox v-model="form.consume_days_flag0" :true-label="1" :false-label="0" :disabled="disabledCheck" @change="handleLastconsume">最近消费间隔</el-checkbox> <el-checkbox v-model="form.consume_days_flag0" :true-label="1" :false-label="0" :disabled="disabledCheck" @change="handleLastconsume">最近消费间隔</el-checkbox>
<el-input-number v-model="form.consume_days0" @change="handleChangeNum(form.consume_days_flag0)" controls-position="right" :max="730" :min="30" size="small" style="margin:0 10px;" /> <el-input-number v-model="form.consume_days0" @change="handleChangeNum(form.consume_days_flag0)" controls-position="right" :max="730" :min="30" :precision="0" size="small" style="margin:0 10px;" />
</div> </div>
<div class="consumeLine"> <div class="consumeLine">
<el-checkbox v-model="form.consume_times_flag0" :true-label="1" :false-label="0" :disabled="disabledCheck" @change="handleLastconsume">最近消费次数</el-checkbox> <el-checkbox v-model="form.consume_times_flag0" :true-label="1" :false-label="0" :disabled="disabledCheck" @change="handleLastconsume">最近消费次数</el-checkbox>
<el-input-number v-model="form.consume_times0" @change="handleChangeNum(form.consume_times_flag0)" controls-position="right" :max="100" :min="1" size="small" style="margin:0 10px;" /> <el-input-number v-model="form.consume_times0" @change="handleChangeNum(form.consume_times_flag0)" controls-position="right" :max="100" :min="1" :precision="0" size="small" style="margin:0 10px;" />
</div> </div>
<div class="consumeLine"> <div class="consumeLine">
<el-checkbox v-model="form.consume_amount_flag0" :true-label="1" :false-label="0" :disabled="disabledCheck" @change="handleLastconsume">累计消费金额</el-checkbox> <el-checkbox v-model="form.consume_amount_flag0" :true-label="1" :false-label="0" :disabled="disabledCheck" @change="handleLastconsume">累计消费金额</el-checkbox>
<el-input-number v-model="form.consume_amount0" @change="handleChangeNum(form.consume_amount_flag0)" controls-position="right" :max="100000" :min="1" size="small" style="margin:0 10px;" /> <el-input-number v-model="form.consume_amount0" @change="handleChangeNum(form.consume_amount_flag0)" controls-position="right" :precision="0" :max="100000" :min="1" size="small" style="margin:0 10px;" />
</div> </div>
<el-button size="small" @click="ruleVisible2 = true" v-if="!memberCrowdWidgetId">添加其它条件</el-button> <el-button size="small" @click="ruleVisible2 = true" v-if="!memberCrowdWidgetId">添加其它条件</el-button>
<ruleFilter :visiable.sync="ruleVisible2" @save="handleRuleFilterSave" :memberCrowdWidgetId="memberCrowdWidgetId" :hideId="hideId" /> <ruleFilter :visiable.sync="ruleVisible2" @save="handleRuleFilterSave" :memberCrowdWidgetId="memberCrowdWidgetId" :hideId="hideId" />
...@@ -62,15 +62,15 @@ ...@@ -62,15 +62,15 @@
<el-form-item label="消费条件" v-if="form.scene == 4 && form.memberType == 1"> <el-form-item label="消费条件" v-if="form.scene == 4 && form.memberType == 1">
<div class="consumeLine"> <div class="consumeLine">
<el-checkbox v-model="form.consume_days_flag1" @change="getMemberCount" :true-label="1" :false-label="0">最近消费间隔</el-checkbox> <el-checkbox v-model="form.consume_days_flag1" @change="getMemberCount" :true-label="1" :false-label="0">最近消费间隔</el-checkbox>
<el-input-number v-model="form.consume_days1" @change="handleChangeNum(form.consume_days_flag1)" controls-position="right" :max="730" :min="30" size="small" style="margin:0 10px;" /> <el-input-number v-model="form.consume_days1" @change="handleChangeNum(form.consume_days_flag1)" controls-position="right" :max="730" :precision="0" :min="30" size="small" style="margin:0 10px;" />
</div> </div>
<div class="consumeLine"> <div class="consumeLine">
<el-checkbox v-model="form.consume_times_flag1" @change="getMemberCount" :true-label="1" :false-label="0">最近消费次数</el-checkbox> <el-checkbox v-model="form.consume_times_flag1" @change="getMemberCount" :true-label="1" :false-label="0">最近消费次数</el-checkbox>
<el-input-number v-model="form.consume_times1" @change="handleChangeNum(form.consume_times_flag1)" controls-position="right" :max="100" :min="1" size="small" style="margin:0 10px;" /> <el-input-number v-model="form.consume_times1" @change="handleChangeNum(form.consume_times_flag1)" controls-position="right" :max="100" :precision="0" :min="1" size="small" style="margin:0 10px;" />
</div> </div>
<div class="consumeLine"> <div class="consumeLine">
<el-checkbox v-model="form.consume_amount_flag1" @change="getMemberCount" :true-label="1" :false-label="0">累计消费金额</el-checkbox> <el-checkbox v-model="form.consume_amount_flag1" @change="getMemberCount" :true-label="1" :false-label="0">累计消费金额</el-checkbox>
<el-input-number v-model="form.consume_amount1" @change="handleChangeNum(form.consume_amount1)" controls-position="right" :max="100000" :min="1" size="small" style="margin:0 10px;" /> <el-input-number v-model="form.consume_amount1" @change="handleChangeNum(form.consume_amount1)" controls-position="right" :max="100000" :precision="0" :min="1" size="small" style="margin:0 10px;" />
</div> </div>
</el-form-item> </el-form-item>
<el-form-item label="预计覆盖人数"> <el-form-item label="预计覆盖人数">
...@@ -212,7 +212,7 @@ ...@@ -212,7 +212,7 @@
</el-select> </el-select>
</td> </td>
<td class="tagSelectCell" style="width:170px"> <td class="tagSelectCell" style="width:170px">
<el-input-number v-model="item.interval" controls-position="right" :max="60" :min="1" size="small" /> <el-input-number v-model="item.interval" controls-position="right" :max="60" :min="1" size="small" :precision="0" />
</td> </td>
<td class="tagSelectCell"> <td class="tagSelectCell">
<div class="delIcon" v-show="recallList.length > 1" type="text" @click="delRecallList(index)"> <div class="delIcon" v-show="recallList.length > 1" type="text" @click="delRecallList(index)">
...@@ -240,7 +240,7 @@ ...@@ -240,7 +240,7 @@
</el-form-item> </el-form-item>
<div v-if="form.analyseFlag == 1"> <div v-if="form.analyseFlag == 1">
<el-form-item label="分析天数" prop="analyseDays"> <el-form-item label="分析天数" prop="analyseDays">
触达日期起 <el-input-number style="width:128px;margin:0 5px;" v-model="form.analyseDays" controls-position="right" :max="31" :min="1" size="small" /> 天之内 触达日期起 <el-input-number style="width:128px;margin:0 5px;" v-model="form.analyseDays" controls-position="right" :precision="0" :max="31" :min="1" size="small" /> 天之内
<div class="analyseTips"> <div class="analyseTips">
设置从客户被成功触达的日期计算,14 天以内的转化会被被作为此营销活动的转化收益;<br /> 设置从客户被成功触达的日期计算,14 天以内的转化会被被作为此营销活动的转化收益;<br />
注:最短 1 天,最长 31 天 (以自然日计算),时长越长,会员的转化与此次营销的相关度越低,请酌情填写分析天数 注:最短 1 天,最长 31 天 (以自然日计算),时长越长,会员的转化与此次营销的相关度越低,请酌情填写分析天数
...@@ -248,7 +248,7 @@ ...@@ -248,7 +248,7 @@
</el-form-item> </el-form-item>
<el-form-item label="活动目标" prop="analyseAmount" <el-form-item label="活动目标" prop="analyseAmount"
>销售额 >销售额
<el-input-number style="width:128px;margin:0 5px;" v-model="form.analyseAmount" placeholder="1-99999" controls-position="right" :max="99999" :min="1" size="small" /> <el-input-number style="width:128px;margin:0 5px;" v-model="form.analyseAmount" placeholder="1-99999" controls-position="right" :precision="0" :max="99999" :min="1" size="small" />
万元 万元
</el-form-item> </el-form-item>
</div> </div>
...@@ -457,7 +457,9 @@ export default { ...@@ -457,7 +457,9 @@ export default {
this.form.scene = scene && Number(scene); this.form.scene = scene && Number(scene);
this.getTemplateList(); this.getTemplateList();
this.getAiDictList(); this.getAiDictList();
if (!this.isAdd) { if (this.isAdd) {
this.$route.meta.refresh = false;
} else {
this.getActivityDetail(id); this.getActivityDetail(id);
} }
if (scene == 3) { if (scene == 3) {
...@@ -586,10 +588,6 @@ export default { ...@@ -586,10 +588,6 @@ export default {
const { startDate, endDate, callFlag, callTime, birth_type, birth_days, holiday_date, holiday_type, holiday_name } = activeTimeData; const { startDate, endDate, callFlag, callTime, birth_type, birth_days, holiday_date, holiday_type, holiday_name } = activeTimeData;
if (new Date(startDate).getFullYear() == new Date().getFullYear() && new Date(startDate).getMonth() + 1 == new Date().getMonth() + 1 && new Date(startDate).getDate() == new Date().getDate()) { if (new Date(startDate).getFullYear() == new Date().getFullYear() && new Date(startDate).getMonth() + 1 == new Date().getMonth() + 1 && new Date(startDate).getDate() == new Date().getDate()) {
if (new Date().getHours() >= 16) {
this.$message.error('16:00之后不支持创建当天生效的活动');
return;
}
if (callFlag == 1) { if (callFlag == 1) {
let arr = callTime.map(item => item.split('-')[1]); let arr = callTime.map(item => item.split('-')[1]);
let endTime = arr.reduce((p, v) => (p < v ? v : p)); let endTime = arr.reduce((p, v) => (p < v ? v : p));
...@@ -685,6 +683,8 @@ export default { ...@@ -685,6 +683,8 @@ export default {
try { try {
const { result } = await initActivity(data); const { result } = await initActivity(data);
if (result) { if (result) {
this.$message.success('保存成功');
this.$route.meta.refresh = true;
this.$router.go(-1); this.$router.go(-1);
} }
} finally { } finally {
......
<template> <template>
<div class="contain" v-loding="loading"> <div class="contain">
<div class="cardList"> <div class="cardList">
<div class="card" v-for="item in cardContent" :key="item.title"> <div class="card" v-for="item in cardContent" :key="item.title">
<div class="cardTitle"> <div class="cardTitle">
...@@ -35,7 +35,7 @@ ...@@ -35,7 +35,7 @@
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
<el-table :data="tableData" style="width:100%"> <el-table :data="tableData" style="width:100%" v-loading="loading">
<el-table-column prop="activityName" label="活动名称" show-overflow-tooltip /> <el-table-column prop="activityName" label="活动名称" show-overflow-tooltip />
<el-table-column prop="scene" label="活动场景" show-overflow-tooltip> <el-table-column prop="scene" label="活动场景" show-overflow-tooltip>
<template slot-scope="{ row }"> <template slot-scope="{ row }">
...@@ -273,6 +273,34 @@ export default { ...@@ -273,6 +273,34 @@ export default {
this.getRechargeCenter(); this.getRechargeCenter();
this.getAiAccountCheck(); this.getAiAccountCheck();
}, },
activated() {
if (this.$route.meta.refresh) {
this.form = {
activityName: '',
scene: '',
activityPlanStatus: '',
time: [],
pageNum: 1,
pageSize: 20
};
}
this.getTableData();
},
beforeRouteEnter(to, from, next) {
const {
meta: { type, path, refresh }
} = from;
if (path !== '/list') {
to.meta.refresh = true;
} else {
if (type === 'add' && refresh) {
to.meta.refresh = true;
} else {
to.meta.refresh = false;
}
}
next();
},
components: { components: {
dmDropdown dmDropdown
}, },
......
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