Commit 78b9c4ec by crushh

update: dist

parent db983c7c
<template>
<div>
<div class="echo-member-group" v-if="showEcho">
<div class="echo-member-group" v-if="echoFlag">
<div class="subTitle">
<div class="line"></div>
<div class="text">
......@@ -22,13 +22,13 @@
<div class="left">
<el-tabs v-model="activeName">
<el-tab-pane label="我的客户分组" name="0" v-if="!onlyFixedType">
<dm-table ref="table0" name="0" :creatorId="creatorId" :effectiveStatus="effectiveStatus" :readonly="readonly" :realTimeType="realTimeType" :activeName="activeName" :selected="selectedArray" @handleSelectionChange="handleSelectionChange" @deleteRow="deleteRow" />
<dm-table ref="table0" name="0" :creatorId="creatorId" :effectiveStatus="effectiveStatus" :readonly="readonly" :key="visiable" :realTimeType="realTimeType" :activeName="activeName" :selected="selectedArray" @handleSelectionChange="handleSelectionChange" @deleteRow="deleteRow" />
</el-tab-pane>
<el-tab-pane label="固化分组" name="1">
<dm-table ref="table1" name="1" :creatorId="creatorId" :effectiveStatus="effectiveStatus" :readonly="readonly" :realTimeType="realTimeType" :activeName="activeName" :selected="selectedArray" @handleSelectionChange="handleSelectionChange" @deleteRow="deleteRow" />
<dm-table ref="table1" name="1" :creatorId="creatorId" :effectiveStatus="effectiveStatus" :readonly="readonly" :key="visiable" :realTimeType="realTimeType" :activeName="activeName" :selected="selectedArray" @handleSelectionChange="handleSelectionChange" @deleteRow="deleteRow" />
</el-tab-pane>
<el-tab-pane label="金字塔会员分层" name="2" v-if="!onlyFixedType">
<dm-table ref="table2" name="2" :creatorId="creatorId" :effectiveStatus="effectiveStatus" :readonly="readonly" :realTimeType="realTimeType" :activeName="activeName" :selected="selectedArray" @handleSelectionChange="handleSelectionChange" @deleteRow="deleteRow" />
<dm-table ref="table2" name="2" :creatorId="creatorId" :effectiveStatus="effectiveStatus" :readonly="readonly" :key="visiable" :realTimeType="realTimeType" :activeName="activeName" :selected="selectedArray" @handleSelectionChange="handleSelectionChange" @deleteRow="deleteRow" />
</el-tab-pane>
</el-tabs>
</div>
......@@ -123,7 +123,7 @@ export default {
return {
activeName: '0', //0 我的客户分组 1固化分组 2金字塔会员分层
baseUrl,
showEcho: false,
echoFlag: false,
selected: {}
};
},
......@@ -133,9 +133,6 @@ export default {
this.$refs[`table${this.activeName}`] && this.$refs[`table${this.activeName}`].getGroupList();
}
});
if (this.defaltSelected.length) {
this.handleSelectionChange(this.defaltSelected);
}
if (this.onlyFixedType) {
this.activeName = '1';
}
......@@ -149,33 +146,47 @@ export default {
return arr;
}
},
watch: {
defaltSelected(val) {
if (val.length) {
this.echoFlag = true;
this.handleSelectionChange(this.defaltSelected);
}
}
},
methods: {
confirm() {
if (!Object.keys(this.selected).length) {
this.$message.warning('请选择分组');
return;
}
let arr = [];
Object.keys(this.selected).forEach(key => {
arr.push(this.selected[key]);
});
const str = arr.map(item => item.memberTagGroupId).join(',');
if (arr.length) {
this.showEcho = true;
this.echoFlag = true;
} else {
this.showEcho = false;
this.echoFlag = false;
}
this.$emit('update:visiable', false);
this.initPage();
this.$emit('change', arr, str); // 被选中数组,数组id的字符串
},
close() {
Object.keys(this.selected).forEach(key => {
this.deleteRow(this.selected[key]);
});
this.initPage();
},
initPage() {
this.activeName = '0';
this.$emit('update:visiable', false);
},
del() {
Object.keys(this.selected).forEach(key => {
this.deleteRow(this.selected[key]);
});
this.selected = {};
this.$emit('change', [], '');
this.showEcho = false;
this.echoFlag = false;
},
edit() {
this.$emit('update:visiable', true);
......
......@@ -106,19 +106,23 @@ export default {
tableData(val) {
if (val.length) {
this.$nextTick(() => {
this.selected.forEach(item => {
val.forEach(row => {
if (item.memberTagGroupId == row.memberTagGroupId) {
// 必须要传入从this.tableData里查询到的对象才能出现被勾选样式
this.$refs.table.toggleRowSelection(
this.tableData.find(row => {
return row.memberTagGroupId == item.memberTagGroupId;
}),
true
);
}
console.log(this.selected);
if (this.selected.length) {
this.selected.forEach(item => {
val.forEach(row => {
if (item.memberTagGroupId == row.memberTagGroupId) {
// 必须要传入从this.tableData里查询到的对象才能出现被勾选样式
this.$refs.table.toggleRowSelection(
this.tableData.find(row => {
return row.memberTagGroupId == item.memberTagGroupId;
})
);
}
});
});
});
} else {
this.$refs.table.clearSelection();
}
});
}
},
......
......@@ -63,15 +63,15 @@ const transform = (data, scenes) => {
scenes: scenes // 场景值 member02
};
const obj = { list: [], type: 'and' };
let arr = [];
let filterFrontShow = [];
data.forEach(item => {
if (item.value) {
obj.list.push({ type: 'or', list: [getParamsData(item)] });
arr.push(item);
filterFrontShow.push(item);
}
});
result.filterJson = JSON.stringify(obj);
result.filterFrontShow = JSON.stringify(arr);
result.filterFrontShow = JSON.stringify(filterFrontShow);
return result;
};
export default transform;
......@@ -28,11 +28,11 @@
<el-radio v-model="form.memberType" :label="0">客户筛选</el-radio>
<el-radio v-model="form.memberType" :label="1">客户分组</el-radio>
<div>
<div class="tips" v-if="form.scene == 4">默认为权限范围内的全部客户</div>
<el-button v-if="form.memberType == 0 && form.scene != 4" size="small" @click="ruleVisible = true">添加其他条件</el-button>
<ruleFilter :visiable.sync="ruleVisible" @save="handleRuleFilterSave" :memberCrowdWidgetId="form.filterJson" />
<div class="tips" style="margin:0 0 12px 0;">默认为权限范围内的全部客户</div>
<el-button v-if="form.memberType == 0 && !memberCrowdWidgetId && form.scene != 4" size="small" @click="ruleVisible = true">添加其他条件</el-button>
<ruleFilter v-show="form.memberType == 0" :visiable.sync="ruleVisible" @save="handleRuleFilterSave" :memberCrowdWidgetId="memberCrowdWidgetId" />
<el-button v-if="form.memberType == 1 && !selectedGroup.length && form.scene != 4" size="small" @click="groupVisible = true">添加分组</el-button>
<gic-new-member-group :visiable.sync="groupVisible" :defaltSelected="selectedGroup" @change="confirmGroupDialog" />
<gic-new-member-group v-show="form.memberType == 1" :visiable.sync="groupVisible" :defaltSelected="selectedGroup" @change="confirmGroupDialog" />
</div>
</el-form-item>
<el-form-item label="消费条件" v-if="form.scene == 4">
......@@ -259,7 +259,7 @@ export default {
scene: '', //活动场景 「1 客户生日」、「2 节日活动邀约」、「3 加企微好友」、「4 客户复购」、「5 其它场景」
aiTemplateId: '', //话术模板id
memberType: 0, // 会员类型(0:会员筛选,1:会员分组)
filterJson: 'dc22f2f3f66a405f8cede4e7cabdca93,e1a819ba985a40caa14c2018feb4fc24',
filterJson: '',
analyseFlag: 1, //活动分析
consume_days_flag: 0, // 【最新消费金额 0否1是】
consume_days: '',
......@@ -274,7 +274,6 @@ export default {
analyseDays: '', //分析天数
analyseAmount: '' //销售额
},
defaltSelected: [],
birthTimeData: {
// 生日场景 活动时间的回显
birth_days: ' ', // 生日前xx天
......@@ -344,6 +343,7 @@ export default {
loading: false,
currentIndex: 0,
selectedGroup: [], // 被选中的客户分组
memberCrowdWidgetId: '', // 被选的规则id
echoData: false
};
},
......@@ -375,7 +375,7 @@ export default {
console.log(result);
if (result) {
const { activityId, activityName, activityPlanList, analyseAmount, analyseDays, analyseFlag, startDate, endDate, scene } = result;
const { activityEventList, filterJson, memberType, planId, planMemberCount, planName, sceneJson } = activityPlanList[0];
const { activityEventList, filterJson, memberTagGroupList, memberType, planId, planMemberCount, planName, sceneJson } = activityPlanList[0];
const { aiEventId, aiTemplateId, callFlag, callTime, eventId, labelFlag, recallFlag, smsFlag, labelJson, recallJson, smsJson } = activityEventList[0];
const { birth_type, birth_days, holiday_type, holiday_name, holiday_date, consume_days_flag, consume_days, consume_times_flag, consume_times, consume_amount_flag, consume_amount } = JSON.parse(sceneJson);
this.form = {
......@@ -403,6 +403,12 @@ export default {
aiEventId,
eventId
};
if (memberType == 0) {
this.memberCrowdWidgetId = filterJson;
} else if (memberType == 1) {
this.selectedGroup = memberTagGroupList;
console.log(this.selectedGroup);
}
if (scene == 1) {
// 不同场景的活动时间回显
this.birthTimeData = {
......@@ -453,7 +459,7 @@ export default {
const { startDate, endDate, callFlag, callTime, birth_type, birth_days, holiday_date, holiday_type, holiday_name } = activeTimeData;
this.$refs.form.validate(async (val, obj) => {
if (val) {
const { activityName, scene, analyseFlag, analyseDays, analyseAmount, planName, memberType, filterJson, aiTemplateId, labelFlag, smsFlag, recallFlag, activityId, planId, aiEventId, eventId, planMemberCount, consume_days_flag, consume_days, consume_times_flag, consume_times, consume_amount_flag, consume_amount } = this.form;
const { activityName, scene, analyseFlag, analyseDays, analyseAmount, planName, memberType, aiTemplateId, labelFlag, smsFlag, recallFlag, activityId, planId, aiEventId, eventId, planMemberCount, consume_days_flag, consume_days, consume_times_flag, consume_times, consume_amount_flag, consume_amount } = this.form;
let sceneJson = JSON.stringify({});
if (scene == 1) {
sceneJson = JSON.stringify({
......@@ -491,7 +497,7 @@ export default {
activityId,
planName,
memberType,
filterJson,
filterJson: memberType == 0 ? this.memberCrowdWidgetId : this.selectedGroup,
planMemberCount,
beginDate: startDate,
endDate: endDate,
......@@ -514,7 +520,6 @@ export default {
}
]
};
if (labelFlag) {
data.activityPlanList[0].activityEventList[0].labelJson = JSON.stringify(this.tagMatchList);
}
......@@ -525,7 +530,9 @@ export default {
data.activityPlanList[0].activityEventList[0].recallJson = JSON.stringify(this.recallList);
}
const { result } = await initActivity(data);
console.log(result);
if (result) {
this.$router.go(-1);
}
}
});
},
......@@ -567,15 +574,14 @@ export default {
},
/**客户筛选 */
handleRuleFilterSave(id) {
this.form.filterJson = id;
this.memberCrowdWidgetId = id;
console.log(this.memberCrowdWidgetId);
},
/**客户分组 */
confirmGroupDialog(arr, idStr) {
this.selectedGroup = arr;
this.form.filterJson = idStr;
console.log(arr);
console.log(idStr);
console.log(this.groupVisible);
// this.getMemberCount();
},
/** 根据客户意向发送挂机短信 */
delSmslist(index) {
......
......@@ -233,19 +233,19 @@ export default {
],
optionActive: [
{
value: 0,
value: 1,
label: '未开始'
},
{
value: 1,
value: 2,
label: '进行中'
},
{
value: 2,
value: 3,
label: '已终止'
},
{
value: 3,
value: 4,
label: '已结束'
},
{
......
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