Commit 4175364e by huaying

Merge branch 'feature/9月-基础迭代'

parents a2fa4113 c430dbf4
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
<title></title> <title></title>
<link rel="stylesheet" href="//at.alicdn.com/t/font_688955_2dxzdzrb3a7.css"> <link rel="stylesheet" href="//at.alicdn.com/t/font_688955_2dxzdzrb3a7.css">
<link rel="stylesheet" href="//at.alicdn.com/t/font_3276801_5bjk41qthxj.css"> <link rel="stylesheet" href="//at.alicdn.com/t/font_3276801_5bjk41qthxj.css">
<script src="//at.alicdn.com/t/c/font_3380872_ytparjbow6j.js"></script>
<script src="//at.alicdn.com/t/font_3276801_5bjk41qthxj.js"></script> <script src="//at.alicdn.com/t/font_3276801_5bjk41qthxj.js"></script>
</head> </head>
<body style="background-color: #f0f2f5;min-width: 1400px;"> <body style="background-color: #f0f2f5;min-width: 1400px;">
......
...@@ -12,6 +12,13 @@ ...@@ -12,6 +12,13 @@
<p class="batch-txt">{{ list.length ? '存在分组正在被以下模块使用,请先删除对应的内容后再来删除分组。' : '删除后无法恢复,确认要删除该分组吗?' }}</p> <p class="batch-txt">{{ list.length ? '存在分组正在被以下模块使用,请先删除对应的内容后再来删除分组。' : '删除后无法恢复,确认要删除该分组吗?' }}</p>
</div> </div>
<div v-if="operNum == 2"> <div v-if="operNum == 2">
<!-- 选择分类:<el-select v-model="groupId" placeholder="请选择分类" v-loadmore="loadMoreGroupList" filterable remote :remote-method="searchGroupList" class="select-classify">
<el-option v-for="el in groupList" :key="el.memberTagGroupClassifyId" :value="el.memberTagGroupClassifyId" :label="el.classifyName"></el-option>
<i class="el-icon-search" slot="prefix"></i>
</el-select> -->
选择分组:<dm-select-scroller :width="305" clearable :data="groupList" v-model="groupId" placeholder="请选择分类" @load="loadMoreGroupList" @remote-search="searchGroupList" :loading="loadings" :total-count="totalCountGounp" :props="propsGroup"></dm-select-scroller>
</div>
<!-- <div v-if="operNum == 2">
<p class="title"> <p class="title">
所有分类 所有分类
</p> </p>
...@@ -22,7 +29,7 @@ ...@@ -22,7 +29,7 @@
</li> </li>
</ul> </ul>
<p class="group-name">选中的分类:{{ groupName }}</p> <p class="group-name">选中的分类:{{ groupName }}</p>
</div> </div> -->
<template v-if="operNum == 0 || operNum == 1"> <template v-if="operNum == 0 || operNum == 1">
<p v-for="(item, index) in list" :key="index" class="item"> <p v-for="(item, index) in list" :key="index" class="item">
{{ item.groupName }}<a :href="item.businessLink" target="_blank" @click="isOpenPage = true">{{ item.businessModuleName }}-{{ item.businessName }}</a> {{ item.groupName }}<a :href="item.businessLink" target="_blank" @click="isOpenPage = true">{{ item.businessModuleName }}-{{ item.businessName }}</a>
...@@ -56,11 +63,36 @@ export default { ...@@ -56,11 +63,36 @@ export default {
operNum: -1, operNum: -1,
groupList: [], groupList: [],
groupName: '', groupName: '',
groupId: '',
listIndex: -1, listIndex: -1,
list: [], list: [],
loading: false params: {
classifyName: '',
pageNum: 1,
totalPage: 1
},
totalCountGounp: 0,
loading: false,
loadings: false,
propsGroup: {
label: 'classifyName',
value: 'memberTagGroupClassifyId'
}
}; };
}, },
directives: {
loadmore: {
inserted(el, binding) {
const SELECTDOWN_DOM = el.querySelector('.el-select-dropdown .el-select-dropdown__wrap');
SELECTDOWN_DOM.addEventListener('scroll', function() {
const CONDITION = this.scrollHeight - this.scrollTop -100 <= this.clientHeight;
if (CONDITION && !this.loadings) {
binding.value();
}
})
}
}
},
methods: { methods: {
confirmBatch() { confirmBatch() {
...@@ -96,14 +128,13 @@ export default { ...@@ -96,14 +128,13 @@ export default {
} }
}); });
} else if (batchNum == 2) { } else if (batchNum == 2) {
if (!this.groupName) { if (!this.groupId) {
this.$message.warning({ this.$message.warning({
message: '请先选择的会员分组的分类' message: '请先选择的会员分组的分类'
}); });
return; return;
} }
let index = this.groupList.findIndex(el => el.classifyName === this.groupName); param.memberTagGroupClassifyId = this.groupId;
param.memberTagGroupClassifyId = this.groupList[index].memberTagGroupClassifyId;
batchChangeGroup(param) batchChangeGroup(param)
.then(res => { .then(res => {
if (res.errorCode == 0) { if (res.errorCode == 0) {
...@@ -129,27 +160,53 @@ export default { ...@@ -129,27 +160,53 @@ export default {
// 关 // 关
closeBatch() { closeBatch() {
this.batchDialog = false; this.batchDialog = false;
this.groupId = '';
this.params.totalPage = 1;
this.params.classifyName = '';
this.params.pageNum = 1;
this.$emit('update:batchVisiable', false); this.$emit('update:batchVisiable', false);
}, },
searchGroupList(classifyName) {
this.params.classifyName = classifyName;
this.params.pageNum = 1;
this.getMemberGroupList();
},
loadMoreGroupList() {
if (this.params.pageNum + 1 > this.params.totalPage) {
return
}
this.params.pageNum++;
this.getMemberGroupList();
},
getMemberGroupList() { getMemberGroupList() {
const { classifyName, pageNum } = this.params;
this.loadings = true;
memberGroupList({ memberGroupList({
classifyName,
pageNum,
pageSize: 20,
type: 0, type: 0,
requestProject: 'gic-member-tag-web', requestProject: 'gic-member-tag-web',
pageSize: 99999 }).then(res => {
}) const { errorCode, result } = res;
.then(res => { if (pageNum == 1) {
if (res.errorCode == 0) { this.groupList = [];
console.log(res.result) }
const { result} = res.result; if (errorCode != 0) return;
this.groupList = result.filter(el => el.classifyName != '未分类' && el.classifyName != null).map(item => ({ if (Array.isArray(result.result)) {
...item, this.groupList = this.groupList.concat(result.result.filter(el => el.classifyName != '未分类' && el.classifyName != null));
edit: false }
})); this.params.totalPage = result.totalPage;
} this.totalCountGounp = result.totalCount || 0;
}) }).catch(() => {
.catch(err => { if (pageNum == 1) {
console.log(err); this.groupList = [];
}); }
}).finally(() => {
setTimeout(()=>{
this.loadings = false;
}, 500)
});
}, },
checkGroup() { checkGroup() {
this.loading = true; this.loading = true;
...@@ -180,7 +237,9 @@ export default { ...@@ -180,7 +237,9 @@ export default {
batchVisiable(newval) { batchVisiable(newval) {
newval && [1,0].includes(this.operateNumber) && this.checkGroup(); newval && [1,0].includes(this.operateNumber) && this.checkGroup();
this.batchDialog = newval; this.batchDialog = newval;
this.getMemberGroupList(); if (newval) {
this.getMemberGroupList();
}
}, },
operateNumber(newval) { operateNumber(newval) {
this.operNum = newval; this.operNum = newval;
...@@ -196,6 +255,14 @@ export default { ...@@ -196,6 +255,14 @@ export default {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.select-classify {
width: 305px;
/deep/ .el-input__prefix {
display: flex;
align-items: center;
margin-left: 5px;
}
}
.batch-txt { .batch-txt {
padding-left: 35px; padding-left: 35px;
padding-top: 7px; padding-top: 7px;
......
...@@ -183,6 +183,7 @@ ...@@ -183,6 +183,7 @@
<label class="inline-block middle label-unit m-r-8">最近</label <label class="inline-block middle label-unit m-r-8">最近</label
><el-input v-model="parent.fixedRecentTimeRecent" placeholder="请输入1-730" class="m-r-8" style="width: 120px" @blur="value => toEditInput(value, 'fixedRecentTimeRecent', parent)"></el-input ><el-input v-model="parent.fixedRecentTimeRecent" placeholder="请输入1-730" class="m-r-8" style="width: 120px" @blur="value => toEditInput(value, 'fixedRecentTimeRecent', parent)"></el-input
><label class="inline-block middle label-unit"></label> ><label class="inline-block middle label-unit"></label>
<span class="tips m-l-8 middle">统计当天之前的数据</span>
</div> </div>
</div> </div>
</div> </div>
...@@ -422,7 +423,7 @@ ...@@ -422,7 +423,7 @@
</div> </div>
<div class="m-t-20"> <div class="m-t-20">
<label class="inline-block w-98"></label> <label class="inline-block w-98"></label>
<el-checkbox v-model="parent.timeAfterChecked"> <el-checkbox v-model="parent.timeAfterChecked" style="margin-right: 0">
</el-checkbox> </el-checkbox>
<el-select v-model="parent.timeSelect" placeholder="请选择" class="w-86 m-l-8"> <el-select v-model="parent.timeSelect" placeholder="请选择" class="w-86 m-l-8">
...@@ -437,11 +438,11 @@ ...@@ -437,11 +438,11 @@
></el-input> ></el-input>
<template v-if="parent.timeRadio == 1"> <template v-if="parent.timeRadio == 1">
<label class="inline-block middle label-unit m-l-8"></label> <label class="inline-block middle label-unit m-l-8"></label>
<label class="inline-block middle label-tip">正整数,最大365</label> <label class="inline-block middle label-tip">正整数,最大365,统计当天之前的数据</label>
</template> </template>
<template v-if="parent.timeRadio == 2"> <template v-if="parent.timeRadio == 2">
<label class="inline-block middle label-unit m-l-8"></label> <label class="inline-block middle label-unit m-l-8"></label>
<label class="inline-block middle label-tip">正整数,最大24</label> <label class="inline-block middle label-tip">正整数,最大24,统计当月之前的数据</label>
</template> </template>
</div> </div>
</div> </div>
...@@ -582,7 +583,7 @@ ...@@ -582,7 +583,7 @@
<el-radio label="3"></el-radio> <el-radio label="3"></el-radio>
</el-radio-group> </el-radio-group>
</div> </div>
<template v-if="['haobanWechatRelatedTime','onceCostTime'].includes(currentKey)"> <template v-if="['haobanWechatRelatedTime','onceCostTime', 'lastMarketingTime', 'allChannelOnceCostTime'].includes(currentKey)">
<div class="m-t-20" v-if="parent.timeRadio!=='1'"> <div class="m-t-20" v-if="parent.timeRadio!=='1'">
<label class="inline-block w-98"></label> <label class="inline-block w-98"></label>
<el-checkbox v-model="parent.timeChecked" @change="currentDayChange($event, parent)"> <el-checkbox v-model="parent.timeChecked" @change="currentDayChange($event, parent)">
...@@ -613,15 +614,16 @@ ...@@ -613,15 +614,16 @@
></el-input> ></el-input>
<template v-if="parent.timeRadio == 1"> <template v-if="parent.timeRadio == 1">
<label class="inline-block middle label-unit m-l-8"></label> <label class="inline-block middle label-unit m-l-8"></label>
<label class="inline-block middle label-tip">正整数,最大730</label> <!-- lastCostTime:最近消费时间 -->
<label class="inline-block middle label-tip">{{ tagData.tagCode == 'lastCostTime' ? '统计当天之前的数据' : '正整数,最大730,统计当天之前的数据' }}</label>
</template> </template>
<template v-if="parent.timeRadio == 2"> <template v-if="parent.timeRadio == 2">
<label class="inline-block middle label-unit m-l-8"></label> <label class="inline-block middle label-unit m-l-8"></label>
<label class="inline-block middle label-tip">正整数,最大24</label> <label class="inline-block middle label-tip">{{ tagData.tagCode == 'lastCostTime' ? '统计当月之前的数据' : '正整数,最大24,统计当月之前的数据' }}</label>
</template> </template>
<template v-if="parent.timeRadio == 3"> <template v-if="parent.timeRadio == 3">
<label class="inline-block middle label-unit m-l-8"></label> <label class="inline-block middle label-unit m-l-8"></label>
<label class="inline-block middle label-tip">正整数,最大2</label> <label class="inline-block middle label-tip">{{ tagData.tagCode == 'lastCostTime' ? '统计当年之前的数据' : '正整数,最大2,统计当年之前的数据' }}</label>
</template> </template>
</div> </div>
</div> </div>
...@@ -629,7 +631,7 @@ ...@@ -629,7 +631,7 @@
</div> </div>
</template> </template>
<template v-if="parent.templateCode == 'tag050'"> <template v-if="parent.templateCode == 'tag050'">
<div class="m-b-20" :key="'tag17' + pindex"> <div :key="'tag17' + pindex">
<label class="inline-block m-r-20 label-unit" style="width: 108px;text-align: right"> <label class="inline-block m-r-20 label-unit" style="width: 108px;text-align: right">
最近关联时间 最近关联时间
<el-tooltip placement="top" open-delay="100"> <el-tooltip placement="top" open-delay="100">
...@@ -786,15 +788,18 @@ ...@@ -786,15 +788,18 @@
></el-input> ></el-input>
<template v-if="parent.timeRadio == 1"> <template v-if="parent.timeRadio == 1">
<label class="inline-block middle label-unit m-l-8"></label> <label class="inline-block middle label-unit m-l-8"></label>
<label class="inline-block middle label-tip">正整数,最大365</label> <!-- <label class="inline-block middle label-tip">正整数,最大365</label> -->
<label class="inline-block middle label-tip">统计当天之前的数据</label>
</template> </template>
<template v-if="parent.timeRadio == 2"> <template v-if="parent.timeRadio == 2">
<label class="inline-block middle label-unit m-l-8"></label> <label class="inline-block middle label-unit m-l-8"></label>
<label class="inline-block middle label-tip">正整数,最大24</label> <!-- <label class="inline-block middle label-tip">正整数,最大24</label> -->
<label class="inline-block middle label-tip">统计当月之前的数据</label>
</template> </template>
<template v-if="parent.timeRadio == 3"> <template v-if="parent.timeRadio == 3">
<label class="inline-block middle label-unit m-l-8"></label> <label class="inline-block middle label-unit m-l-8"></label>
<label class="inline-block middle label-tip">正整数,最大2</label> <!-- <label class="inline-block middle label-tip">正整数,最大2</label> -->
<label class="inline-block middle label-tip">统计当年之前的数据</label>
</template> </template>
</div> </div>
</div> </div>
...@@ -999,7 +1004,7 @@ ...@@ -999,7 +1004,7 @@
</div> </div>
</template> </template>
<template v-if="parent.templateCode == 'tag040'"> <template v-if="parent.templateCode == 'tag040'">
<label class="inline-block m-r-20 label-unit" style="width: 108px;text-align: right"> <label class="inline-block m-r-20 m-b-20 label-unit" style="width: 108px;text-align: right">
关联渠道 关联渠道
<el-tooltip placement="top" open-delay="100"> <el-tooltip placement="top" open-delay="100">
<div slot="content">关联渠道为当前客户关联的线上渠道,根据关联状态实时变化</div> <div slot="content">关联渠道为当前客户关联的线上渠道,根据关联状态实时变化</div>
...@@ -1010,6 +1015,11 @@ ...@@ -1010,6 +1015,11 @@
<el-radio v-for="item in parent.options" :key="item.key" :label="item.key">{{ item.value }}</el-radio> <el-radio v-for="item in parent.options" :key="item.key" :label="item.key">{{ item.value }}</el-radio>
</el-radio-group> </el-radio-group>
</template> </template>
<template v-if="parent.templateCode == 'tag060'">
<el-checkbox-group v-model="parent.checked">
<el-checkbox v-for="item in parent.options" :key="item.key" :label="item.key">{{ item.value }}</el-checkbox>
</el-checkbox-group>
</template>
<!-- 会员标签嵌入卡券选择器 com024 --> <!-- 会员标签嵌入卡券选择器 com024 -->
<!-- v-if="parent.templateCode == 'com024'" --> <!-- v-if="parent.templateCode == 'com024'" -->
...@@ -1426,6 +1436,9 @@ export default { ...@@ -1426,6 +1436,9 @@ export default {
tag040: { tag040: {
radioType: '1100', radioType: '1100',
}, },
tag060: {
checked: []
},
cardListData: [], cardListData: [],
com024: {}, com024: {},
com025: {}, com025: {},
...@@ -1589,6 +1602,7 @@ export default { ...@@ -1589,6 +1602,7 @@ export default {
this.tagData.tagId = data.tagId; this.tagData.tagId = data.tagId;
this.tagData.tagType = data.tagType; this.tagData.tagType = data.tagType;
this.tagData.tagName = data.tagName; this.tagData.tagName = data.tagName;
this.tagData.tagCode = data.tagCode;
this.currentKey = data.columnKey; this.currentKey = data.columnKey;
this.tagData.isActive = data.isActive; this.tagData.isActive = data.isActive;
this.tagData.isMultiple = data.isMultiple; this.tagData.isMultiple = data.isMultiple;
...@@ -1845,9 +1859,22 @@ export default { ...@@ -1845,9 +1859,22 @@ export default {
key: [1,2].includes(this.tagData.tagType) ? this.tagData.tagId : this.currentKey, key: [1,2].includes(this.tagData.tagType) ? this.tagData.tagId : this.currentKey,
requestProject: 'gic-member-tag-web' requestProject: 'gic-member-tag-web'
}; };
if (data.templateCode == 'tag040') {
this.templateData.push(data);
}
this.axios.post(`${this.baseUrl}${url}`, qs.stringify(para)) this.axios.post(`${this.baseUrl}${url}`, qs.stringify(para))
.then(res => { .then(res => {
let resData = res; let resData = res;
if (data.templateCode == 'tag040') {
data.options = resData.data.result;
const index = this.templateData.findIndex(el => el.esScreeningWidgetId == data.esScreeningWidgetId);
if (index >= 0) {
this.templateData.splice(index, 1, data);
} else {
this.templateData.push(data);
}
return;
}
if (this.tagData.tagType != 1 && this.currentKey != 'tag') { if (this.tagData.tagType != 1 && this.currentKey != 'tag') {
if (resData.data.errorCode == 0) { if (resData.data.errorCode == 0) {
data.options = resData.data.result; data.options = resData.data.result;
...@@ -2242,7 +2269,8 @@ export default { ...@@ -2242,7 +2269,8 @@ export default {
case 'tag050': case 'tag050':
for (let i = 0; i < this.templateData.length; i++) { for (let i = 0; i < this.templateData.length; i++) {
if (this.templateData[i].templateCode === 'tag050') { if (this.templateData[i].templateCode === 'tag050') {
let templateDate = tagParams.template[0]; const index = tagParams.template.findIndex(el => el.templateCode == 'tag050');
let templateDate = tagParams.template[index];
// 判断是那个时间段 // 判断是那个时间段
// 固定时段 // 固定时段
this.templateData[i].radio = templateDate.radio; // 时段 this.templateData[i].radio = templateDate.radio; // 时段
...@@ -2443,6 +2471,10 @@ export default { ...@@ -2443,6 +2471,10 @@ export default {
value = tagValue.val[0].data.value; value = tagValue.val[0].data.value;
this.templateData[i].radioType = value; this.templateData[i].radioType = value;
break; break;
case 'tag060':
value = tagValue.val[0].data.value;
this.templateData[i].checked = value.split(' ');
break;
case 'tag024': case 'tag024':
const getTag024Data = this.hasTemplate('tag024'); const getTag024Data = this.hasTemplate('tag024');
...@@ -2632,7 +2664,7 @@ export default { ...@@ -2632,7 +2664,7 @@ export default {
} }
.relative-range { .relative-range {
width: 526px; width: 670px;
height: 191px; height: 191px;
padding: 19px; padding: 19px;
background: #f3f6f9; background: #f3f6f9;
...@@ -2819,7 +2851,7 @@ export default { ...@@ -2819,7 +2851,7 @@ export default {
display: flex; display: flex;
} }
.radio { .radio {
margin-left: 10px; margin-left: 26px;
margin-bottom: 20px; margin-bottom: 20px;
} }
.flex-direction { .flex-direction {
......
...@@ -564,7 +564,7 @@ export default { ...@@ -564,7 +564,7 @@ export default {
} }
} }
} }
if (code == 'tag050' && that.templateData.length > 0) { if (code == 'tag050') {
switch(Number(that.templateData[0].radio)) { switch(Number(that.templateData[0].radio)) {
case 0: case 0:
tagValue.time[0].compute = 'all'; tagValue.time[0].compute = 'all';
...@@ -918,12 +918,14 @@ export default { ...@@ -918,12 +918,14 @@ export default {
// 数字区间 = >= <= qu区间 // 数字区间 = >= <= qu区间
if (code == 'com001') { if (code == 'com001') {
const numReg = /^(-?\d+)(\.\d+)?$/;
for (let k of this.templateData) { for (let k of this.templateData) {
if (k.templateCode == 'com001') { if (k.templateCode == 'com001') {
// tagValue.val[0].data.compute = k.symbol; // tagValue.val[0].data.compute = k.symbol;
tagValue.val[0].data.compute = k.symbol == '区间' ? 'between' : k.symbol; tagValue.val[0].data.compute = k.symbol == '区间' ? 'between' : k.symbol;
if (k.symbol != '区间') { if (k.symbol != '区间') {
if (!k.num) { // if (!k.num) {
if (!numReg.test(k.num + '')) {
this.$message.warning({ this.$message.warning({
message: '请完善区间值!' message: '请完善区间值!'
}); });
...@@ -936,7 +938,8 @@ export default { ...@@ -936,7 +938,8 @@ export default {
} }
tagValue.val[0].data.value = k.num; tagValue.val[0].data.value = k.num;
} else { } else {
if (!k.numRange[0] || !k.numRange[1]) { // if (!k.numRange[0] || !k.numRange[1]) {
if (!numReg.test(k.numRange[0]) || !numReg.test(k.numRange[1])) {
this.$message.warning({ this.$message.warning({
message: '请完善区间值!' message: '请完善区间值!'
}); });
...@@ -992,6 +995,10 @@ export default { ...@@ -992,6 +995,10 @@ export default {
this.postTemplateData.selectedVal.push(abbr.join(' ')); this.postTemplateData.selectedVal.push(abbr.join(' '));
this.postTemplateData.conditionList = this.com022.conditionsList; this.postTemplateData.conditionList = this.com022.conditionsList;
} }
if (code == 'tag060' && (!Array.isArray(that.templateData[0].checked) || that.templateData[0].checked.length == 0)) {
this.$message.error('请完善标签值');
return false;
}
/* 属于/不属于+ 选项 */ /* 属于/不属于+ 选项 */
...@@ -1164,6 +1171,133 @@ export default { ...@@ -1164,6 +1171,133 @@ export default {
tagValue.val[0].data.value = ele.radioType; tagValue.val[0].data.value = ele.radioType;
that.postTemplateData.selectedVal.push(ele.options.find(item => item.key == ele.radioType).value); that.postTemplateData.selectedVal.push(ele.options.find(item => item.key == ele.radioType).value);
} }
if (ele.templateCode == 'tag050') {
switch(Number(ele.radio)) {
case 0:
tagValue.time[0].compute = 'all';
tagValue.time[0].value = '';
that.postTemplateData.selectedVal.push('所有时间');
break;
case 1:
tagValue.time[0].compute = 'between';
tagValue.time[0].value = ele.dateRangeValue.join(',')
that.postTemplateData.selectedVal.push(ele.dateRangeValue[0].split(' ')[0] + '至' + ele.dateRangeValue[1].split(' ')[0]);
break;
case 2:
// tagValue.time[0].compute = 'lastday';
// tagValue.time[0].value = that.templateData[0].dateRangeValue
// 天
// timeAfterChecked 最近/之后
// timeChecked 当天/年/月
if (ele.timeRadio == 1) {
/** 同时选择
* lastdayHasToday 最近几天包含今天
* afterdayHasToday 之后几天包含今天
*/
if (ele.timeChecked && ele.timeAfterChecked) {
if (ele.timeSelect == 1) {
tagValue.time[0].compute = 'lastdayHasToday';
tagValue.time[0].value = String(ele.timeInput);
that.postTemplateData.selectedVal.push(`最近 ${ele.timeInput}天包含当天`);
ele.timeInput = '';
}
that.postTemplateData.template = that.templateData;
tagParams = that.postTemplateData;
}
//天 当天
if (ele.timeChecked && !ele.timeAfterChecked) {
tagValue.time[0].compute = 'today'
tagValue.time[0].value = '1';
that.postTemplateData.selectedVal.push('当天');
ele.timeInput = '';
}
if (ele.timeAfterChecked && !ele.timeChecked) {
if (ele.timeSelect == 1) {
// 最近
tagValue.time[0].compute = 'lastday';
tagValue.time[0].value = String(ele.timeInput);
that.postTemplateData.selectedVal.push(`最近 ${ele.timeInput} 天`);
}
}
}
// 月
if (ele.timeRadio == 2) {
/**
* lastmonthHasCurrentMonth 最近几月包含当月
* aftermonthHasCurrentMonth 之后几月包含当月
*/
if (ele.timeChecked && ele.timeAfterChecked) {
if (ele.timeSelect == 1) {
tagValue.time[0].compute = 'lastmonthHasCurrentMonth';
tagValue.time[0].value = String(ele.timeInput);
that.postTemplateData.selectedVal.push(`最近 ${ele.timeInput} 月包含当月`);
ele.timeInput = '';
}
that.postTemplateData.template = that.templateData;
tagParams = that.postTemplateData;
}
//月 当月
if (ele.timeChecked && !ele.timeAfterChecked) {
tagValue.time[0].compute = 'currentMonth';
tagValue.time[0].value = '1';
that.postTemplateData.selectedVal.push('当月');
ele.timeInput = '';
}
// 最近/之后
if (ele.timeAfterChecked && !ele.timeChecked) {
if (ele.timeSelect == 1) {
// 最近
tagValue.time[0].compute = 'lastmonth';
tagValue.time[0].value = String(ele.timeInput);
that.postTemplateData.selectedVal.push(`最近 ${ele.timeInput} 月`);
}
}
}
// 年
if (ele.timeRadio == 3) {
/**
* lastyearHasCurrentYear 最近几年包含当年
* afteryearHasCurrentYear 之后几年包含当年
*/
if (ele.timeChecked && ele.timeAfterChecked) {
if (ele.timeSelect == 1) {
tagValue.time[0].compute = 'lastyearHasCurrentYear';
tagValue.time[0].value = String(ele.timeInput);
that.postTemplateData.selectedVal.push(`最近 ${ele.timeInput} 年包含当年`);
ele.timeInput = '';
}
that.postTemplateData.template = that.templateData;
tagParams = that.postTemplateData;
}
//年 当年
if (ele.timeChecked && !ele.timeAfterChecked) {
tagValue.time[0].compute = 'currentYear';
tagValue.time[0].value = '1';
that.postTemplateData.selectedVal.push('当年');
ele.timeInput = '';
}
// 最近/之后
if (ele.timeAfterChecked && !ele.timeChecked) {
if (ele.timeSelect == 1) {
// 最近
tagValue.time[0].compute = 'lastyear';
tagValue.time[0].value = String(ele.timeInput);
that.postTemplateData.selectedVal.push(`最近 ${ele.timeInput} 年`);
}
}
}
break;
}
}
if (ele.templateCode == 'tag060') {
tagValue.val[0].data.value = ele.checked.join(' ');
ele.checked.forEach(item => {
that.postTemplateData.selectedVal.push(ele.options.find(k => item == k.key).value);
});
}
} }
} }
...@@ -1535,12 +1669,17 @@ export default { ...@@ -1535,12 +1669,17 @@ export default {
* 天/月/年输入 * 天/月/年输入
*/ */
toEditDateInput(e, radio, parent) { toEditDateInput(e, radio, parent) {
const codeList = ['firstCostTime', 'allChannelLastCostTime', 'allChannelFirstCostTime', 'lastCostTime'];
const code = parent.templateCode; const code = parent.templateCode;
let newNum; let newNum;
newNum = Number(e.target.value) ? Math.floor(e.target.value) : 1; newNum = Number(e.target.value) ? Math.floor(e.target.value) : 1;
if (newNum <= 0) { if (newNum <= 0) {
newNum = 1; newNum = 1;
} }
if (codeList.some(el => el == this.tagData.tagCode)) {
parent.timeInput = newNum;
return;
}
// 天 // 天
if (code != 'tag020' && code != 'tag050' && newNum > 365 && radio == 1) { if (code != 'tag020' && code != 'tag050' && newNum > 365 && radio == 1) {
newNum = 365; newNum = 365;
......
...@@ -90,7 +90,7 @@ export default { ...@@ -90,7 +90,7 @@ export default {
.checkwrap-item { .checkwrap-item {
/*-ms-flex: 25%; /*-ms-flex: 25%;
flex: 25%;*/ flex: 25%;*/
width: 25%; width: 33%;
} }
.line-30 { .line-30 {
......
...@@ -26,6 +26,8 @@ server.interceptors.response.use( ...@@ -26,6 +26,8 @@ server.interceptors.response.use(
const data = response.data; const data = response.data;
if (data.errorCode == 0) { if (data.errorCode == 0) {
return data; return data;
} else if (data.errorCode == '200009') {
return data;
} else { } else {
// 根据不同的状态码来做一些操作 例如 token不合法 token过期 没有权限之类的' // 根据不同的状态码来做一些操作 例如 token不合法 token过期 没有权限之类的'
Message({ Message({
......
...@@ -54,7 +54,10 @@ ...@@ -54,7 +54,10 @@
<span> <span>
<div class="flex"> <div class="flex">
<span class="table-member__img inline-block middle border-box m-r-10"> <span class="table-member__img inline-block middle border-box m-r-10">
<img :src="scope.row.thirdImgUrl ? scope.row.thirdImgUrl : require('../../assets/group/member_img.png')" /> <img v-if="scope.row.thirdImgUrl" class="member-icon" :src="scope.row.thirdImgUrl" />
<svg v-else aria-hidden="true" class="member-icon">
<use xlink:href="#icon-user-default"></use>
</svg>
</span> </span>
<div class="inline-block"> <div class="inline-block">
<span>{{ scope.row.memberName }}<span class="tips" v-if="scope.row.nickName"> ({{ scope.row.nickName }})</span></span> <span>{{ scope.row.memberName }}<span class="tips" v-if="scope.row.nickName"> ({{ scope.row.nickName }})</span></span>
...@@ -226,6 +229,34 @@ ...@@ -226,6 +229,34 @@
<template v-if="item.code === 'highCostPaid'"> <template v-if="item.code === 'highCostPaid'">
<span>{{scope.row.highCostPaid}}</span> <span>{{scope.row.highCostPaid}}</span>
</template> </template>
<!-- 销售次数(全渠道) -->
<template v-if="item.code === 'allChannelCostTimes'">
<span>{{scope.row.allChannelCostTimes}}</span>
</template>
<!-- 最高单笔/实付(全渠道) -->
<template v-if="item.code === 'allChannelHighCostPaid'">
<span>{{scope.row.allChannelHighCostPaid}}</span>
</template>
<!-- 最近消费时间(全渠道) -->
<template v-if="item.code === 'allChannelLastCostTime'">
<span>{{scope.row.allChannelLastCostTime | formatTimeYMD}}</span>
</template>
<!-- 客单价(全渠道) -->
<template v-if="item.code === 'allChannelAvgCost'">
<span>{{scope.row.allChannelAvgCost}}</span>
</template>
<!-- 连带率(全渠道) -->
<template v-if="item.code === 'allChannelAvgNumber'">
<span>{{scope.row.allChannelAvgNumber}}</span>
</template>
<!-- 平均折扣率(全渠道) -->
<template v-if="item.code === 'allChannelDiscountRate'">
<span>{{scope.row.allChannelDiscountRate}}</span>
</template>
<!-- 消费总额/实付(全渠道) -->
<template v-if="item.code === 'allChannelCostAllPaid'">
<span>{{scope.row.allChannelCostAllPaid}}</span>
</template>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="添加标签时间" width="200"> <el-table-column label="添加标签时间" width="200">
...@@ -835,9 +866,10 @@ export default { ...@@ -835,9 +866,10 @@ export default {
text-align: center; text-align: center;
border-radius: 50%; border-radius: 50%;
overflow: hidden; overflow: hidden;
img { .member-icon {
display: inline-block; display: inline-block;
width: 100%; width: 100%;
height: 100%;
vertical-align: middle; vertical-align: middle;
border-radius: 4px; border-radius: 4px;
} }
......
<template> <template>
<el-dialog :visible.sync="visible" custom-class="delete-dialog" width="416px" @close="onClose"> <el-dialog :visible.sync="visible" custom-class="delete-dialog" width="416px" @close="onClose">
<div class="dialog-content"> <div class="dialog-content">
<i class="el-alert__icon el-icon-warning is-big icon" /> <i class="el-alert__icon el-icon-warning is-big icons" />
<h2>{{ title }}</h2> <h2>{{ title }}</h2>
<div v-loading="loading"> <div v-loading="loading">
<p class="desc">{{ desc }}</p> <p class="desc">{{ desc }}</p>
...@@ -132,8 +132,8 @@ export default { ...@@ -132,8 +132,8 @@ export default {
.ml10 { .ml10 {
margin-left: 10px; margin-left: 10px;
} }
.icon { .icons {
font-size: 21px; font-size: 21px !important;
position: absolute; position: absolute;
color: #fa8c16; color: #fa8c16;
left: 30px; left: 30px;
......
...@@ -54,7 +54,7 @@ export default { ...@@ -54,7 +54,7 @@ export default {
listsParams: { listsParams: {
// type: '', // 类型 0:客户分组,1:固化分组 // type: '', // 类型 0:客户分组,1:固化分组
pageNum: 1, // 页码,从1开始 pageNum: 1, // 页码,从1开始
pageSize: 20, // 页面大小 pageSize: 40, // 页面大小
totalPage: 1, totalPage: 1,
classifyName: '' // 分类名 classifyName: '' // 分类名
}, },
...@@ -82,7 +82,7 @@ export default { ...@@ -82,7 +82,7 @@ export default {
this.getMemberGroupList(); this.getMemberGroupList();
}, },
onScroll(e) { onScroll(e) {
if ((e.target.scrollTop + e.target.clientHeight) >= this.lists.length * 40) { if ((e.target.scrollTop + e.target.clientHeight) >= this.lists.length * 40 && !this.memberGroupLoading) {
this.onPageNumChange(); this.onPageNumChange();
} }
}, },
...@@ -261,7 +261,8 @@ export default { ...@@ -261,7 +261,8 @@ export default {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.add-category, .search-box { .add-category,
.search-box {
padding: 0 15px; padding: 0 15px;
} }
.add-group { .add-group {
...@@ -289,8 +290,8 @@ export default { ...@@ -289,8 +290,8 @@ export default {
margin: 0 4px; margin: 0 4px;
} }
&:hover { &:hover {
color: #2F54EB; color: #2f54eb;
background: #F2F3F5; background: #f2f3f5;
.icon:hover { .icon:hover {
background: RGBA(229, 230, 235, 1); background: RGBA(229, 230, 235, 1);
} }
...@@ -308,23 +309,22 @@ export default { ...@@ -308,23 +309,22 @@ export default {
color: #303133; color: #303133;
overflow-y: auto; overflow-y: auto;
.active-li { .active-li {
color: #2F54EB;
background-color: #ebeffe;
.wrap span{
padding-left: 6px;
color: #2f54eb; color: #2f54eb;
background-color: #ebeffe;
.wrap span {
padding-left: 6px;
color: #2f54eb;
} }
.icon:hover { .icon:hover {
background: #d8defc; background: #d8defc;
} }
} }
.wrap span{ .wrap span {
padding-left: 6px; padding-left: 6px;
color: #303133; color: #303133;
} }
} }
.more { .more {
line-height: 26px; line-height: 26px;
text-align: center; text-align: center;
......
...@@ -79,7 +79,10 @@ ...@@ -79,7 +79,10 @@
<span> <span>
<div class="flex"> <div class="flex">
<span class="table-member__img inline-block middle border-box m-r-10"> <span class="table-member__img inline-block middle border-box m-r-10">
<img :src="scope.row.thirdImgUrl ? scope.row.thirdImgUrl : require('../../assets/group/member_img.png')" /> <img v-if="scope.row.thirdImgUrl" class="member-icon" :src="scope.row.thirdImgUrl" />
<svg v-else aria-hidden="true" class="member-icon">
<use xlink:href="#icon-user-default"></use>
</svg>
</span> </span>
<div class="inline-block"> <div class="inline-block">
<span>{{ scope.row.memberName }}<span class="tips" v-if="scope.row.nickName"> ({{ scope.row.nickName }})</span></span> <span>{{ scope.row.memberName }}<span class="tips" v-if="scope.row.nickName"> ({{ scope.row.nickName }})</span></span>
...@@ -251,6 +254,34 @@ ...@@ -251,6 +254,34 @@
<template v-if="item.code === 'highCostPaid'"> <template v-if="item.code === 'highCostPaid'">
<span>{{scope.row.highCostPaid}}</span> <span>{{scope.row.highCostPaid}}</span>
</template> </template>
<!-- 销售次数(全渠道) -->
<template v-if="item.code === 'allChannelCostTimes'">
<span>{{scope.row.allChannelCostTimes}}</span>
</template>
<!-- 最高单笔/实付(全渠道) -->
<template v-if="item.code === 'allChannelHighCostPaid'">
<span>{{scope.row.allChannelHighCostPaid}}</span>
</template>
<!-- 最近消费时间(全渠道) -->
<template v-if="item.code === 'allChannelLastCostTime'">
<span>{{scope.row.allChannelLastCostTime | formatTimeYMD}}</span>
</template>
<!-- 客单价(全渠道) -->
<template v-if="item.code === 'allChannelAvgCost'">
<span>{{scope.row.allChannelAvgCost}}</span>
</template>
<!-- 连带率(全渠道) -->
<template v-if="item.code === 'allChannelAvgNumber'">
<span>{{scope.row.allChannelAvgNumber}}</span>
</template>
<!-- 平均折扣率(全渠道) -->
<template v-if="item.code === 'allChannelDiscountRate'">
<span>{{scope.row.allChannelDiscountRate}}</span>
</template>
<!-- 消费总额/实付(全渠道) -->
<template v-if="item.code === 'allChannelCostAllPaid'">
<span>{{scope.row.allChannelCostAllPaid}}</span>
</template>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label-class-name="table-header__handle" :min-width="160" fixed="right"> <el-table-column label-class-name="table-header__handle" :min-width="160" fixed="right">
...@@ -883,7 +914,7 @@ export default { ...@@ -883,7 +914,7 @@ export default {
.table-member__img { .table-member__img {
text-align: center; text-align: center;
img { .member-icon {
display: inline-block; display: inline-block;
width: 40px; width: 40px;
height: 40px; height: 40px;
......
...@@ -624,6 +624,12 @@ export default { ...@@ -624,6 +624,12 @@ export default {
if (res.data.errorCode == 0) { if (res.data.errorCode == 0) {
showMsg.showmsg(this.ruleForm.memberTagGroupId ? '编辑成功' : '新增成功', 'success'); showMsg.showmsg(this.ruleForm.memberTagGroupId ? '编辑成功' : '新增成功', 'success');
this.changeRoute('/memberGroupList'); this.changeRoute('/memberGroupList');
}else if(res.data.errorCode == '200009'){
this.$alert(res.data.message, '提示', {
confirmButtonText: '知道了',
type: 'warning',
customClass: 'addNewGroupClass'
})
} else { } else {
this.$message.warning(res.data.message); this.$message.warning(res.data.message);
} }
......
...@@ -76,10 +76,11 @@ ...@@ -76,10 +76,11 @@
</el-popover> </el-popover>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="latestUpdateTime" min-width="100" label="更新时间"> <el-table-column prop="latestUpdateTime" width="100" label="更新时间">
<template slot-scope="scope"> <template slot-scope="scope">
<p class="h-18">{{ scope.row.latestUpdateTime | formatTimeYMD }}</p> <!-- <p class="h-18">{{ scope.row.latestUpdateTime | formatTimeYMD }}</p>
<p class="h-18">{{ scope.row.latestUpdateTime | formatTimeHMS }}</p> <p class="h-18">{{ scope.row.latestUpdateTime | formatTimeHMS }}</p> -->
{{scope.row.latestUpdateTime}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="state" label="状态" min-width="80"> <el-table-column prop="state" label="状态" min-width="80">
...@@ -128,10 +129,11 @@ ...@@ -128,10 +129,11 @@
<el-table-column label="创建人" prop="createUserName" min-width="110" v-if="[2,3].includes($store.state.departAuth) || $store.state.isSuperAdmin"> <el-table-column label="创建人" prop="createUserName" min-width="110" v-if="[2,3].includes($store.state.departAuth) || $store.state.isSuperAdmin">
<template slot-scope="{ row }">{{ row.createUserName || '--'}}</template> <template slot-scope="{ row }">{{ row.createUserName || '--'}}</template>
</el-table-column> </el-table-column>
<el-table-column prop="createTime" min-width="100" label="创建时间"> <el-table-column prop="createTime" width="100" label="创建时间">
<template slot-scope="scope"> <template slot-scope="scope">
<p class="h-18">{{ scope.row.createTime | formatTimeYMD }}</p> <!-- <p class="h-18">{{ scope.row.createTime | formatTimeYMD }}</p>
<p class="h-18">{{ scope.row.createTime | formatTimeHMS }}</p> <p class="h-18">{{ scope.row.createTime | formatTimeHMS }}</p> -->
{{scope.row.createTime}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" width="180" fixed="right" v-if="$getButtonLimit($buttonCode.memberTagDelGroup) || $getButtonLimit($buttonCode.memberTagFixedPile)"> <el-table-column label="操作" width="180" fixed="right" v-if="$getButtonLimit($buttonCode.memberTagDelGroup) || $getButtonLimit($buttonCode.memberTagFixedPile)">
...@@ -246,8 +248,9 @@ ...@@ -246,8 +248,9 @@
</el-table-column> </el-table-column>
<el-table-column label="最近更新时间" width="110"> <el-table-column label="最近更新时间" width="110">
<template slot-scope="scope"> <template slot-scope="scope">
<p class="h-18">{{ scope.row.latestUpdateTime | formatTimeYMD }}</p> <!-- <p class="h-18">{{ scope.row.latestUpdateTime | formatTimeYMD }}</p>
<p class="h-18">{{ scope.row.latestUpdateTime | formatTimeHMS }}</p> <p class="h-18">{{ scope.row.latestUpdateTime | formatTimeHMS }}</p> -->
{{scope.row.latestUpdateTime}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="state" label="状态" min-width="70"> <el-table-column prop="state" label="状态" min-width="70">
...@@ -295,11 +298,12 @@ ...@@ -295,11 +298,12 @@
<el-table-column label="创建人" min-width="110" prop="createUserName" v-if="[2,3].includes($store.state.departAuth) || $store.state.isSuperAdmin"> <el-table-column label="创建人" min-width="110" prop="createUserName" v-if="[2,3].includes($store.state.departAuth) || $store.state.isSuperAdmin">
<template slot-scope="{ row }">{{ row.createUserName || '--'}}</template> <template slot-scope="{ row }">{{ row.createUserName || '--'}}</template>
</el-table-column> </el-table-column>
<el-table-column prop="recentUpdateDate" min-width="100" label="到期时间"> <el-table-column prop="recentUpdateDate" width="100" label="到期时间">
<template slot-scope="scope"> <template slot-scope="scope">
<template v-if="!scope.row.isRealTime"> <template v-if="!scope.row.isRealTime">
<p class="h-18">{{ scope.row.effectiveDate | formatTimeYMD }}</p> <!-- <p class="h-18">{{ scope.row.effectiveDate | formatTimeYMD }}</p>
<p class="h-18">{{ scope.row.effectiveDate | formatTimeHMS }}</p> <p class="h-18">{{ scope.row.effectiveDate | formatTimeHMS }}</p> -->
{{scope.row.effectiveDate}}
</template> </template>
<template v-else>--</template> <template v-else>--</template>
</template> </template>
...@@ -307,15 +311,19 @@ ...@@ -307,15 +311,19 @@
<el-table-column prop="updateTime" min-width="110" label="最近编辑时间"> <el-table-column prop="updateTime" min-width="110" label="最近编辑时间">
<template slot-scope="scope"> <template slot-scope="scope">
<p class="h-18">{{ scope.row.updateTime ? dateformat(new Date(scope.row.updateTime), 'yyyy-MM-dd') : '--' }}</p> <template v-if="scope.row.updateTime">
<p class="h-18">{{ scope.row.updateTime ? dateformat(new Date(scope.row.updateTime), 'hh:mm:ss') : '--' }}</p> <p class="h-18">{{ scope.row.updateTime ? dateformat(new Date(scope.row.updateTime), 'yyyy-MM-dd') : '--' }}</p>
<p class="h-18">{{ scope.row.updateTime ? dateformat(new Date(scope.row.updateTime), 'hh:mm:ss') : '--' }}</p>
</template>
<template v-else>--</template>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="createTime" min-width="100" label="创建时间"> <el-table-column prop="createTime" width="100" label="创建时间">
<template slot-scope="scope"> <template slot-scope="scope">
<p class="h-18">{{ scope.row.createTime | formatTimeYMD }}</p> <!-- <p class="h-18">{{ scope.row.createTime | formatTimeYMD }}</p>
<p class="h-18">{{ scope.row.createTime | formatTimeHMS }}</p> <p class="h-18">{{ scope.row.createTime | formatTimeHMS }}</p> -->
{{ scope.row.createTime}}
</template> </template>
</el-table-column> </el-table-column>
...@@ -373,7 +381,7 @@ ...@@ -373,7 +381,7 @@
<div class="right-box" v-show="isTagRecommend"> <div class="right-box" v-show="isTagRecommend">
<div class="common-wrap__opt flex-between"> <div class="common-wrap__opt flex-between">
<div class="desc">覆盖人数于每日上午8点半进行更新</div> <div class="tips">覆盖人数于每日上午8点半进行更新,仅统计线下订单</div>
<!-- <div class="batch-option"> <!-- <div class="batch-option">
<el-button type="primary" class="fr ghost-btn" @click="isNew = !isNew">{{ `查看${isNew ? '旧' : '新'}版金字塔会员分层` }}</el-button> <el-button type="primary" class="fr ghost-btn" @click="isNew = !isNew">{{ `查看${isNew ? '旧' : '新'}版金字塔会员分层` }}</el-button>
</div> --> </div> -->
...@@ -395,8 +403,9 @@ ...@@ -395,8 +403,9 @@
</el-table-column> </el-table-column>
<el-table-column label="最近更新时间" prop="latestUpdateTime" min-width="100"> <el-table-column label="最近更新时间" prop="latestUpdateTime" min-width="100">
<template slot-scope="scope"> <template slot-scope="scope">
<p class="h-18">{{ scope.row.latestUpdateTime | formatTimeYMD }}</p> <!-- <p class="h-18">{{ scope.row.latestUpdateTime | formatTimeYMD }}</p>
<p class="h-18">{{ scope.row.latestUpdateTime | formatTimeHMS }}</p> <p class="h-18">{{ scope.row.latestUpdateTime | formatTimeHMS }}</p> -->
{{scope.row.latestUpdateTime}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="分类名称" prop="groupClassifyName" min-width="100"> <el-table-column label="分类名称" prop="groupClassifyName" min-width="100">
......
...@@ -55,7 +55,10 @@ ...@@ -55,7 +55,10 @@
<span> <span>
<div class="flex"> <div class="flex">
<span class="table-member__img inline-block middle border-box m-r-10"> <span class="table-member__img inline-block middle border-box m-r-10">
<img :src="scope.row.thirdImgUrl ? scope.row.thirdImgUrl : require('../../assets/group/member_img.png')" /> <img v-if="scope.row.thirdImgUrl" class="member-icon" :src="scope.row.thirdImgUrl" />
<svg v-else aria-hidden="true" class="member-icon">
<use xlink:href="#icon-user-default"></use>
</svg>
</span> </span>
<div class="inline-block"> <div class="inline-block">
<span>{{ scope.row.memberName }}<span class="tips" v-if="scope.row.nickName"> ({{ scope.row.nickName }})</span></span> <span>{{ scope.row.memberName }}<span class="tips" v-if="scope.row.nickName"> ({{ scope.row.nickName }})</span></span>
...@@ -227,6 +230,34 @@ ...@@ -227,6 +230,34 @@
<template v-if="item.code === 'highCostPaid'"> <template v-if="item.code === 'highCostPaid'">
<span>{{scope.row.highCostPaid}}</span> <span>{{scope.row.highCostPaid}}</span>
</template> </template>
<!-- 消费总额/实付(全渠道) -->
<template v-if="item.code == 'allChannelCostAllPaid'">
<span>{{scope.row.allChannelCostAllPaid}}</span>
</template>
<!-- 消费次数(全渠道) -->
<template v-if="item.code == 'allChannelCostTimes'">
<span>{{scope.row.allChannelCostTimes}}</span>
</template>
<!-- 最高单笔/实付(全渠道) -->
<template v-if="item.code == 'allChannelHighCostPaid'">
<span>{{scope.row.allChannelHighCostPaid}}</span>
</template>
<!-- 最近消费时间(全渠道) -->
<template v-if="item.code == 'allChannelLastCostTime'">
<span>{{scope.row.allChannelLastCostTime | formatTimeYMD}}</span>
</template>
<!-- 客单价(全渠道) -->
<template v-if="item.code == 'allChannelAvgCost'">
<span>{{scope.row.allChannelAvgCost}}</span>
</template>
<!-- 连带率(全渠道) -->
<template v-if="item.code == 'allChannelAvgNumber'">
<span>{{scope.row.allChannelAvgNumber}}</span>
</template>
<!-- 平均折扣(全渠道) -->
<template v-if="item.code == 'allChannelDiscountRate'">
<span>{{scope.row.allChannelDiscountRate}}</span>
</template>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label-class-name="table-header__handle" v-if="$getButtonLimit($buttonCode.memberTagToCheck)" fixed="right" :min-width="160"> <el-table-column label-class-name="table-header__handle" v-if="$getButtonLimit($buttonCode.memberTagToCheck)" fixed="right" :min-width="160">
...@@ -853,7 +884,7 @@ export default { ...@@ -853,7 +884,7 @@ export default {
.table-member__img { .table-member__img {
text-align: center; text-align: center;
img { .member-icon {
display: inline-block; display: inline-block;
width: 40px; width: 40px;
height: 40px; height: 40px;
......
...@@ -519,13 +519,19 @@ export default { ...@@ -519,13 +519,19 @@ export default {
addNewGroup(param) addNewGroup(param)
.then(res => { .then(res => {
if (res.errorCode == 0) { if (res.errorCode == 0) {
console.log(this.tagConfig.fixedType); // console.log(this.tagConfig.fixedType);
const type = this.tagConfig.fixedType ? 'fixed' : ''; const type = this.tagConfig.fixedType ? 'fixed' : '';
this.$router.push({ path: 'memberGroupList', query: { type } }); this.$router.push({ path: 'memberGroupList', query: { type } });
}else if(res.errorCode == '200009'){
this.$alert(res.message, '提示', {
confirmButtonText: '知道了',
type: 'warning',
customClass: 'addNewGroupClass'
})
} }
}) })
.catch(err => { .catch(err => {
console.log(err); console.log(err, 'oooo');
}); });
}, },
expendsGroupList() { expendsGroupList() {
...@@ -678,7 +684,8 @@ export default { ...@@ -678,7 +684,8 @@ export default {
this.loadMemberTagList({ this.loadMemberTagList({
searchName: this.memberTag, searchName: this.memberTag,
showSearchResult: true, showSearchResult: true,
id: this.groupId // id: this.groupId
id: this.activeTag != 'system' ? this.groupId : ''
}); });
this.pageNum = 1; this.pageNum = 1;
// this.handTag = null; // this.handTag = null;
...@@ -960,6 +967,12 @@ export default { ...@@ -960,6 +967,12 @@ export default {
.member-tag .el-tabs__header { .member-tag .el-tabs__header {
margin-bottom: 0; margin-bottom: 0;
} }
.addNewGroupClass .el-message-box__status.el-icon-warning {
top: 12px !important;
&::before {
font-size: 21px !important;
}
}
</style> </style>
<style lang="scss" scoped> <style lang="scss" scoped>
.deal-list-mask { .deal-list-mask {
......
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