Commit 91353e86 by 黑潮

Merge branch 'feature/3月迭代' into master

# Conflicts:
#	src/views/ecm/form.vue
parents 4d086ebe 9097a491
......@@ -5,6 +5,10 @@
<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-select class="dm-select" placeholder="所有条件" v-model="listParams.status" @change="changeStatus">
<el-option label="正在进行中" :value="1"></el-option>
<el-option label="已删除" :value="0"></el-option>
</el-select>
<!-- <el-button type="text" @click="goHistory"> 历史记录</el-button> -->
<el-button icon="iconfont icon-icon_yunxiazai" class="fr" type="primary" @click="exportCurrentSendDetails"> 导出列表</el-button>
</div>
......@@ -84,7 +88,8 @@ export default {
pageSize: 20,
success: '',
beginTime: '',
endTime: ''
endTime: '',
status: 1
},
userMemberInfo: '', // 下面列表搜索
total: 0,
......@@ -186,9 +191,10 @@ export default {
this.listParams.ecmMarketingTypeRelationIds = list;
this.ecmCurrentSendDetails();
},
// goHistory() {
// },
changeStatus() {
this.listParams.currentPage = 1;
this.ecmCurrentSendInfos();
},
search() {
this.listParams.currentPage = 1;
this.ecmCurrentSendInfos();
......@@ -215,7 +221,8 @@ export default {
beginTime: this.listParams.beginTime,
endTime: this.listParams.endTime,
memberInfo: this.listParams.memberInfo,
success: this.listParams.success
success: this.listParams.success,
status: this.listParams.status
});
this.infoList = res.result || [];
this.$nextTick(_ => {
......
......@@ -19,7 +19,7 @@ export default {
creatorId: '',
code: '1001',
loading: false,
effectActionOptions: [{ value: 'subscribe', label: '关注触发' }, { value: 'authentication', label: '认证触发' }, { value: 'consume', label: '消费触发' }, { value: 'upgrade', label: '会员卡升级触发' }, ], // eslint-disable-line
effectActionOptions: [{ value: 'subscribe', label: '关注触发' }, { value: 'authentication', label: '认证触发' }, { value: 'consume', label: '消费触发' }, { value: 'degrade', label: '会员卡降级触发' }, { value: 'upgrade', label: '会员卡升级触发' }, ], // eslint-disable-line
marketingTimesTypeOptions: [{ value: 0, label: '总共触发' }, { value: 1, label: '每天触发' }, { value: 2, label: '每周触发' }, { value: 3, label: '每月触发' }, { value: 4, label: '每年触发' }, { value: -1, label: '无限次触发' }], // eslint-disable-line
execDateType: [
{ label: '每天', value: 1 },
......
......@@ -143,7 +143,7 @@
<el-input-number controls-position="right" :disabled="!isAdd" v-model="discount_limit.count" :precision="2" :min="0" :max="10" class="w150"></el-input-number>&nbsp;&nbsp;
</div>
<span class="fz14 gray" v-else>不限制消费商品折扣</span>
<div v-if="discount_limit.flag" class="fz12 gray">* 商品折扣 = 订单项实付金额 / 订单项应付金额</div>
<div v-if="discount_limit.flag" class="fz12 gray">* 商品折扣 = 商品实付 / 吊牌价</div>
</div>
</div>
</el-form-item>
......@@ -225,7 +225,7 @@
</div>
</section>
<!-- 营销次数配置 实时触点 -->
<section class="dm-form__wrap" v-if="form.effectType == 0 && ['consume', 'upgrade', 'degrade'].includes(form.effectAction)">
<section class="dm-form__wrap" v-if="form.effectType == 0 && ['consume', 'upgrade', 'degrade', 'stored'].includes(form.effectAction)">
<h3 class="dm-title__label">
营销次数配置
<i class="dm-title__label--icon iconfont icon-xinxixianshi"></i>
......@@ -275,7 +275,7 @@
<section class="dm-form__wrap">
<h3 class="dm-title__label">营销事件</h3>
<!-- 只有实时才是单图文 -->
<marketing-event :readOnly="isInfo" show-out-coupon-icon ref="marketingEvent" @has-card="hasCard" v-if="ecmPlanId" :singleFlag="form.effectType === 0" :integralMultiple="form.effectAction === 'consume'" :ecmPlanId="ecmPlanId" :isSupportVar="form.effectType === 0" :code="code" :enabledMessageState="enabledMessageState" :cardLimitType="-1" :use-stored="useStoredFlag"></marketing-event>
<marketing-event :readOnly="isInfo" show-out-coupon-icon ref="marketingEvent" @has-card="hasCard" v-if="ecmPlanId" :singleFlag="form.effectType === 0" :integralMultiple="form.effectAction === 'consume'" :ecmPlanId="ecmPlanId" :isSupportVar="form.effectType === 0" :code="code" :enabledMessageState="enabledMessageState" :cardLimitType="-1" :use-stored="useStoredFlag && ['consume', 'stored'].includes(form.effectAction)"></marketing-event>
<!-- 只有非实时&&选择卡券了展示提示 -->
<div v-if="currentCard.comName && form.effectType != 0 && couponAutoGetFlag" class="fz13 regular-font-color line-height2" style="margin-left:120px;margin-top:30px;">
* 用户在领取卡券后需要<b class="bold">同步至ERP</b>,如果关闭用户<b class="bold">手动领取</b>,卡券在<b class="bold">批量投放</b>时会需要将卡券信息批量同步至ERP。 <br />
......
......@@ -132,7 +132,7 @@ export default {
created() {
getUseStoredFalg().then(res => {
if (res.result.useStoredFlag) {
this.marketingTypeOptions.push({ value: 'grade', label: '会员卡升级' });
this.marketingTypeOptions = [...this.marketingTypeOptions, { value: 'grade', label: '会员卡升级' }];
}
});
this.loadEcmList();
......
......@@ -448,6 +448,8 @@
border-radius:4px;
display: inline-block;
position: relative;
vertical-align: middle;
margin: 0 10px;
}
.dm-grade__item__wrap {
width: 300px;
......@@ -456,4 +458,6 @@
border-radius:4px;
display: inline-block;
position: relative;
vertical-align: middle;
margin: 0 10px;
}
<template>
<div class="inline-block dm-marketing__opt">
<span v-for="(v, i) in options" :key="i" class="dm-marketing__opt__item" @click="addItem(v)">
<span v-for="(v, i) in options" :key="i" class="dm-marketing__opt__item" :class="{ 'is-disabled': v.disabled }" @click="addItem(v)">
<img :src="v.img" alt="" srcset="" /><span> {{ v.name }}</span>
</span>
</div>
......@@ -19,8 +19,19 @@ export default {
},
methods: {
addItem(item) {
if (item.disabled) return;
this.$emit('addItem', item);
}
}
};
</script>
<style lang="scss" scoped>
.is-disabled {
span,
img {
color: #c0c4cc !important;
}
cursor: not-allowed;
}
</style>
......@@ -65,7 +65,7 @@ import libGrade from './components/lib-grade';
// 全部的操作项
// eslint-disable-next-line
const allOptions = [{ name: '图文', value: 'teletext', key: 1, img: require('./assets/img/teletext.svg') }, { name: '文本', value: 'text', key: 2, img: require('./assets/img/text.svg') }, { name: '小程序', value: 'wxa', key: 3, img: require('./assets/img/wxa.svg') }, { name: '图片', value: 'image', key: 4, img: require('./assets/img/image.svg') }, { name: '卡券', value: 'card', key: 5, img: require('./assets/img/card.svg') }, { name: '短信', value: 'message', key: 6, img: require('./assets/img/message.svg') }, { name: '话务', value: 'teltask', key: 7, img: require('./assets/img/teltask.svg')}, { name: '积分', value: 'integral', key: 8, img: require('./assets/img/integral.svg') }];
let allOptions = [{ name: '图文', value: 'teletext', key: 1, img: require('./assets/img/teletext.svg') }, { name: '文本', value: 'text', key: 2, img: require('./assets/img/text.svg') }, { name: '小程序', value: 'wxa', key: 3, img: require('./assets/img/wxa.svg') }, { name: '图片', value: 'image', key: 4, img: require('./assets/img/image.svg') }, { name: '卡券', value: 'card', key: 5, img: require('./assets/img/card.svg') }, { name: '短信', value: 'message', key: 6, img: require('./assets/img/message.svg') }, { name: '话务', value: 'teltask', key: 7, img: require('./assets/img/teltask.svg')}, { name: '积分', value: 'integral', key: 8, img: require('./assets/img/integral.svg') }];
export default {
name: 'vue-gic-marketing-event',
components: {
......@@ -153,11 +153,38 @@ export default {
};
},
created() {
this.allOptions = [...allOptions];
if (this.useStored) {
allOptions.push({ name: '会员卡升级', value: 'grade', key: 9, img: require('./assets/img/grade.svg') }); //eslint-disable-line
this.allOptions.push({ name: '会员卡升级', value: 'grade', key: 9, img: require('./assets/img/grade.svg') }); //eslint-disable-line
}
this.init();
},
watch: {
useStored: {
handler() {
if (this.useStored) {
this.options = [ ...this.options, { name: '会员卡升级', value: 'grade', key: 9, img: require('./assets/img/grade.svg'), disabled: false }]; //eslint-disable-line
} else {
this.options = this.options.filter(item => item.value !== 'grade');
}
}
},
list() {
if (this.list.some(item => item.comName === 'item-grade')) {
this.options.forEach(item => {
if (item.value == 'grade') {
item.disabled = true;
}
});
} else {
this.options.forEach(item => {
if (item.value == 'grade') {
item.disabled = false;
}
});
}
}
},
methods: {
/*------------------逻辑方法--------------*/
// 初始化获取配置项
......@@ -168,7 +195,7 @@ export default {
this.maxEventCount = Number(res.result.maxEventCount || 0);
let list = res.result.list || [];
let optionNameList = list.map(v => v.eventName);
allOptions.map(v => {
this.allOptions.map(v => {
if (optionNameList.indexOf(v.name) >= 0) {
this.options.push(v);
}
......@@ -218,7 +245,7 @@ export default {
// this.list.push({ comName: 'item-teltask', item: { ...v.teltask, ecmMarketingTypeRelationId: v.ecmMarketingTypeRelationId, relationId: v.relationId, ecmPlanId: v.ecmPlanId } });
break;
case 'grade': // 8 积分
this.list.push({ comName: 'item-grade', item: { title: v.title } });
this.list.push({ comName: 'item-grade', item: { title: v.title, ecmMarketingTypeRelationId: v.ecmMarketingTypeRelationId, relationId: v.relationId, ecmPlanId: v.ecmPlanId } });
break;
}
});
......@@ -325,10 +352,10 @@ export default {
this.$message({ type: 'warning', message: `最多只能添加${this.maxEventCount}个营销事件` });
return;
}
if (this.list.some(item => item.comName === 'item-grade')) {
this.$message({ type: 'warning', message: `已添加会员卡升级营销事件` });
return;
}
// if (v.value === 'grade' && this.list.some(item => item.comName === 'item-grade')) {
// this.$message({ type: 'warning', message: `已添加会员卡升级营销事件` });
// return;
// }
// 判断是否欠费
if (v.value === 'message' && this.checkAccountState()) return;
this.dialogCom = 'lib-' + v.value;
......
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