Commit e214d582 by 黑潮

update: 智能营销

parent 18b3392b
......@@ -19,7 +19,8 @@ const state = {
xsxsFlag: false, // 是否开启销售线索
userId: '',
departAuth: 0,
superAdmin: 0
superAdmin: 0,
keepAlive: ''
};
// getters
......@@ -116,6 +117,9 @@ const mutations = {
},
updateUserId(state, val) {
state.userId = val;
},
setKeepAlive(state, val) {
state.keepAlive = val;
}
};
......
<template>
<div>
<router-view></router-view>
<keep-alive :include="$store.state.marketing.keepAlive">
<router-view></router-view>
</keep-alive>
</div>
</template>
......
<template>
<section class="dm-wrap" v-loading="loading">
<div class="pb22 clearfix">
<!-- <el-select class="dm-select" clearable="" v-model="listParams.effectType" placeholder="选择时效" @change="search">
<el-input v-model="listParams.searchName" class="w250" placeholder="输入计划名称" clearable @change="search"><i slot="prefix" class="el-input__icon el-icon-search"></i></el-input>
<span style="margin:0 10px">时效</span>
<el-select class="dm-select" clearable="" v-model="listParams.effectType" placeholder="所有时效" @change="search">
<el-option v-for="(v, i) in effectTypeOption" :key="i" :label="v.label" :value="v.value"></el-option>
</el-select> -->
<!-- <el-select class="dm-select" clearable v-model="listParams.marketingType" placeholder="选择营销方式" @change="search">
</el-select>
<span style="margin:0 10px">营销方式</span>
<el-select class="dm-select" clearable v-model="listParams.marketingType" placeholder="所有营销方式" @change="search">
<el-option v-for="(v, i) in showMarketingTypeOptions" :key="i" :label="v.label" :value="v.value"></el-option>
</el-select> -->
</el-select>
<span style="margin:0 10px">状态</span>
<!-- <dm-activity-select class="vertical-middle" onlySelect width="130" :actId.sync="listParams.marketingActivityId" @actUpdate="search"></dm-activity-select> -->
<!-- <el-select class="dm-select" clearable v-model="listParams.onlineStatus" placeholder="选择状态" @change="search">
<el-select class="dm-select" clearable v-model="listParams.onlineStatus" placeholder="所有状态" @change="search">
<el-option v-for="(v, i) in onlineOptions" :key="i" :label="v.label" :value="v.value"></el-option>
</el-select> -->
<el-input v-model="listParams.searchName" class="w250" placeholder="输入计划名称" clearable @change="search"><i slot="prefix" class="el-input__icon el-icon-search"></i></el-input>
</el-select>
<el-button type="text" @click="showSearch = !showSearch" class="senior-search">高级搜索<i :class="showSearch ? 'el-icon-d-arrow-left' : 'el-icon-d-arrow-right'"></i></el-button>
<el-button type="primary" @click="resetFilter">重置</el-button>
<!-- <el-checkbox class="vertical-middle" v-if="$store.state.marketing.isShowSelf" v-model="listParams.showSelfFlag" :true-label="1" :false-label="0" label="仅看本人" border @change="search" /> -->
<!-- <el-date-picker v-model="dateTime" style="width:250px" type="daterange" value-format="yyyy-MM-dd" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" @change="search"></el-date-picker> -->
<el-button class="fr" type="primary" @click="$router.push('/ecm/add')">新建计划</el-button>
......@@ -25,7 +29,7 @@
<el-form-item label="创建时间" class="inline-item">
<el-date-picker style="width:350px" v-model="dateTime" type="daterange" value-format="yyyy-MM-dd" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" @change="search"></el-date-picker>
</el-form-item>
<el-form-item label="选择时效" class="inline-item">
<!-- <el-form-item label="选择时效" class="inline-item">
<el-select style="width:350px" clearable="" v-model="listParams.effectType" placeholder="选择时效" @change="search">
<el-option v-for="(v, i) in effectTypeOption" :key="i" :label="v.label" :value="v.value"></el-option>
</el-select>
......@@ -39,9 +43,9 @@
<el-select style="width:350px" clearable v-model="listParams.onlineStatus" placeholder="选择状态" @change="search">
<el-option v-for="(v, i) in onlineOptions" :key="i" :label="v.label" :value="v.value"></el-option>
</el-select>
</el-form-item>
</el-form-item> -->
<el-form-item label="选择数据对话" class="inline-item">
<dm-activity-select class="vertical-middle" onlySelect width="350" :actId.sync="listParams.marketingActivityId" @actUpdate="search"></dm-activity-select>
<dm-activity-select ref="activity" class="vertical-middle" onlySelect width="350" :actId.sync="listParams.marketingActivityId" @actUpdate="search"></dm-activity-select>
</el-form-item>
<el-form-item v-if="$store.state.marketing.isShowSelf" class="inline-item">
<el-checkbox class="vertical-middle" v-model="listParams.showSelfFlag" :true-label="1" :false-label="0" label="仅看本人" border @change="search" />
......@@ -120,22 +124,22 @@ import activitySelect from '@/components/activity-select/index.vue';
import { loadEcmList, deleteEcm, offlineEcmPlan, getUseStoredFalg, getXsxsFalg } from '@/service/api/ecmApi.js';
import { formatDateTimeByType } from '@/utils/index.js';
import { ecmTypes } from '@/config/ecm.js';
const marketingTypeOptions = [{ value: '', label: '所有发送类型', visible: true }, ...JSON.parse(JSON.stringify(ecmTypes))]; // eslint-disable-line
const marketingTypeOptions = [/* { value: '', label: '所有发送类型', visible: true }, */...JSON.parse(JSON.stringify(ecmTypes))]; // eslint-disable-line
export default {
name: 'ecm',
name: 'ecm-list',
data() {
return {
showSearch: false,
dateTime: null,
formatDateTimeByType,
effectTypeOption: [
{ value: '', label: '所有时效' },
// { value: '', label: '所有时效' },
{ value: 0, label: '触点' },
{ value: 1, label: '重复' },
{ value: 2, label: '单次' }
], // eslint-disable-line
onlineOptions: [
{ value: '', label: '所有状态' },
// { value: '', label: '所有状态' },
{ value: 0, label: '未开始' },
{ value: 1, label: '进行中' },
{ value: 2, label: '已结束' }
......@@ -280,6 +284,16 @@ export default {
components: {
activitySelect
},
beforeRouteLeave(to, from, next) {
const paths = ['/ecm/copy', '/ecm/edit', '/ecm/oncelist', '/ecm/currentlist', '/ecm/batchlist', '/ecm/touch', '/ecm/info'];
const matched = paths.some(el => to.path.indexOf(el) > -1);
if (!matched) {
this.$store.commit('setKeepAlive', '');
} else {
this.$store.commit('setKeepAlive', 'ecm-list');
}
next();
},
created() {
this.setXsxsFlag();
getUseStoredFalg().then(res => {
......@@ -295,6 +309,20 @@ export default {
]); // eslint-disable-line
},
methods: {
resetFilter() {
let keys = ['effectType', 'marketingType', 'marketingActivityId', 'onlineStatus', 'searchName', 'currentPage', 'showSelfFlag'];
keys.forEach(el => {
if (el === 'currentPage') {
this.listParams[el] = 1;
} else {
this.listParams[el] = '';
}
});
this.dateTime = null;
this.$refs.activity.marketingActivityId = '';
this.$refs.activity.updateActId('');
// this.search();
},
search() {
this.listParams.currentPage = 1;
this.loadEcmList();
......
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