Commit 0bdd7848 by chenxin

fix: 营销活动-会员分组

parent cb591c69
<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><link rel="shortcut icon" href=./static/img/favicon.ico><title>GIC后台</title><link rel=stylesheet type=text/css href=static/fonts/iconfont.css><link rel=stylesheet type=text/css href=static/css/common.css><link rel=stylesheet href=//web-1251519181.file.myqcloud.com/components/element.2.12.0.css><link href=/marketing/static/css/main.1ad917e62aaa1d976c7c676b23d92fcb.css rel=stylesheet></head><body><div id=app></div><script src=//web-1251519181.file.myqcloud.com/lib/vue/2.5.2/vue.min.js></script><script src=//web-1251519181.file.myqcloud.com/lib/vue-router/3.0.2/vue-router.min.js></script><script src=//web-1251519181.file.myqcloud.com/lib/vuex/3.1.0/vuex.min.js></script><script src=//web-1251519181.file.myqcloud.com/components/element.2.12.0.js></script><script src=//web-1251519181.file.myqcloud.com/components/header.2.0.36.js></script><script src=//web-1251519181.file.myqcloud.com/components/footer.2.0.04.js></script><script src=//web-1251519181.file.myqcloud.com/components/card.2.0.12.js></script><script src=//web-1251519181.file.myqcloud.com/components/store.2.0.01.js></script><script src=//web-1251519181.file.myqcloud.com/components/img-preview.2.0.00.js></script><script src=//web-1251519181.file.myqcloud.com/components/member-group.2.2.16.js></script><script src=//web-1251519181.file.myqcloud.com/components/store-card.2.0.18.js></script><script src=//web-1251519181.file.myqcloud.com/components/confirm-people.2.0.01.js></script><script src=//web-1251519181.file.myqcloud.com/components/people.2.0.42.js></script><script src=//web-1251519181.file.myqcloud.com/components/export-excel.2.0.13.js></script><script src=//web-1251519181.file.myqcloud.com/components/input.2.0.20.js></script><script src=//web-1251519181.file.myqcloud.com/components/delete.2.0.00.js></script><script src=//web-1251519181.file.myqcloud.com/components/selector.1.2.10.js></script><script src=//web-1251519181.file.myqcloud.com/components/pagination.1.0.8.js></script><script type=text/javascript src=/marketing/static/js/manifest.9a63b6fd374e6ac9729e.js></script><script type=text/javascript src=/marketing/static/js/vendor.cbb380c2053ab598e892.js></script><script type=text/javascript src=/marketing/static/js/main.3c58594923662ae24d78.js></script></body></html>
\ No newline at end of file
<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><link rel="shortcut icon" href=./static/img/favicon.ico><title>GIC后台</title><link rel=stylesheet type=text/css href=static/fonts/iconfont.css><link rel=stylesheet type=text/css href=static/css/common.css><link rel=stylesheet href=//web-1251519181.file.myqcloud.com/components/element.2.12.0.css><link href=/marketing/static/css/main.9b7aff0015bd21ce4df84ea1963dce73.css rel=stylesheet></head><body><div id=app></div><script src=//web-1251519181.file.myqcloud.com/lib/vue/2.5.2/vue.min.js></script><script src=//web-1251519181.file.myqcloud.com/lib/vue-router/3.0.2/vue-router.min.js></script><script src=//web-1251519181.file.myqcloud.com/lib/vuex/3.1.0/vuex.min.js></script><script src=//web-1251519181.file.myqcloud.com/components/element.2.12.0.js></script><script src=//web-1251519181.file.myqcloud.com/components/header.2.0.36.js></script><script src=//web-1251519181.file.myqcloud.com/components/footer.2.0.04.js></script><script src=//web-1251519181.file.myqcloud.com/components/card.2.0.12.js></script><script src=//web-1251519181.file.myqcloud.com/components/store.2.0.01.js></script><script src=//web-1251519181.file.myqcloud.com/components/img-preview.2.0.00.js></script><script src=//web-1251519181.file.myqcloud.com/components/member-group.2.2.172.js></script><script src=//web-1251519181.file.myqcloud.com/components/store-card.2.0.18.js></script><script src=//web-1251519181.file.myqcloud.com/components/confirm-people.2.0.01.js></script><script src=//web-1251519181.file.myqcloud.com/components/people.2.0.42.js></script><script src=//web-1251519181.file.myqcloud.com/components/export-excel.2.0.13.js></script><script src=//web-1251519181.file.myqcloud.com/components/input.2.0.20.js></script><script src=//web-1251519181.file.myqcloud.com/components/delete.2.0.00.js></script><script src=//web-1251519181.file.myqcloud.com/components/selector.1.2.10.js></script><script src=//web-1251519181.file.myqcloud.com/components/pagination.1.0.8.js></script><script type=text/javascript src=/marketing/static/js/manifest.9cd6123cb3d0d7d1ccb4.js></script><script type=text/javascript src=/marketing/static/js/vendor.cbb380c2053ab598e892.js></script><script type=text/javascript src=/marketing/static/js/main.3c58594923662ae24d78.js></script></body></html>
\ No newline at end of file
!function(e){var r=window.webpackJsonp;window.webpackJsonp=function(t,c,a){for(var i,u,f,d=0,s=[];d<t.length;d++)u=t[d],n[u]&&s.push(n[u][0]),n[u]=0;for(i in c)Object.prototype.hasOwnProperty.call(c,i)&&(e[i]=c[i]);for(r&&r(t,c,a);s.length;)s.shift()();if(a)for(d=0;d<a.length;d++)f=o(o.s=a[d]);return f};var t={},n={13:0};function o(r){if(t[r])return t[r].exports;var n=t[r]={i:r,l:!1,exports:{}};return e[r].call(n.exports,n,n.exports,o),n.l=!0,n.exports}o.e=function(e){var r=n[e];if(0===r)return new Promise(function(e){e()});if(r)return r[2];var t=new Promise(function(t,o){r=n[e]=[t,o]});r[2]=t;var c=document.getElementsByTagName("head")[0],a=document.createElement("script");a.type="text/javascript",a.charset="utf-8",a.async=!0,a.timeout=12e4,o.nc&&a.setAttribute("nonce",o.nc),a.src=o.p+"static/js/"+({0:"card",1:"game",2:"wechat",3:"message",4:"ewash",5:"ecm",6:"evaluation",7:"activity",8:"recharge",9:"msg",10:"calllog"}[e]||e)+"."+{0:"8889edb58efc87ca9ac4",1:"4e4a9dc6c93676249324",2:"306ee775683f06877d11",3:"933ec7d0c60e1ac1ed98",4:"1343aacbbc19705f2e09",5:"1af6cb9424420e43fe90",6:"a69c5c6513644d0f2537",7:"eeb506934d60615dcdbd",8:"cc81505df4e6d8d06e69",9:"42e94f0ad107f4564295",10:"02cb948d4fe0b121b72b"}[e]+".js";var i=setTimeout(u,12e4);function u(){a.onerror=a.onload=null,clearTimeout(i);var r=n[e];0!==r&&(r&&r[1](new Error("Loading chunk "+e+" failed.")),n[e]=void 0)}return a.onerror=a.onload=u,c.appendChild(a),t},o.m=e,o.c=t,o.d=function(e,r,t){o.o(e,r)||Object.defineProperty(e,r,{configurable:!1,enumerable:!0,get:t})},o.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(r,"a",r),r},o.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},o.p="/marketing/",o.oe=function(e){throw console.error(e),e}}([]);
\ No newline at end of file
!function(e){var r=window.webpackJsonp;window.webpackJsonp=function(t,o,a){for(var i,u,f,s=0,d=[];s<t.length;s++)u=t[s],n[u]&&d.push(n[u][0]),n[u]=0;for(i in o)Object.prototype.hasOwnProperty.call(o,i)&&(e[i]=o[i]);for(r&&r(t,o,a);d.length;)d.shift()();if(a)for(s=0;s<a.length;s++)f=c(c.s=a[s]);return f};var t={},n={13:0};function c(r){if(t[r])return t[r].exports;var n=t[r]={i:r,l:!1,exports:{}};return e[r].call(n.exports,n,n.exports,c),n.l=!0,n.exports}c.e=function(e){var r=n[e];if(0===r)return new Promise(function(e){e()});if(r)return r[2];var t=new Promise(function(t,c){r=n[e]=[t,c]});r[2]=t;var o=document.getElementsByTagName("head")[0],a=document.createElement("script");a.type="text/javascript",a.charset="utf-8",a.async=!0,a.timeout=12e4,c.nc&&a.setAttribute("nonce",c.nc),a.src=c.p+"static/js/"+({0:"card",1:"game",2:"wechat",3:"message",4:"ewash",5:"ecm",6:"evaluation",7:"activity",8:"recharge",9:"msg",10:"calllog"}[e]||e)+"."+{0:"8889edb58efc87ca9ac4",1:"4e4a9dc6c93676249324",2:"7a8511507165f954c368",3:"933ec7d0c60e1ac1ed98",4:"1343aacbbc19705f2e09",5:"1af6cb9424420e43fe90",6:"a69c5c6513644d0f2537",7:"4b74ce28a9d1c9430f13",8:"cc81505df4e6d8d06e69",9:"90074b9c03d73987b75f",10:"02cb948d4fe0b121b72b"}[e]+".js";var i=setTimeout(u,12e4);function u(){a.onerror=a.onload=null,clearTimeout(i);var r=n[e];0!==r&&(r&&r[1](new Error("Loading chunk "+e+" failed.")),n[e]=void 0)}return a.onerror=a.onload=u,o.appendChild(a),t},c.m=e,c.c=t,c.d=function(e,r,t){c.o(e,r)||Object.defineProperty(e,r,{configurable:!1,enumerable:!0,get:t})},c.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return c.d(r,"a",r),r},c.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},c.p="/marketing/",c.oe=function(e){throw console.error(e),e}}([]);
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -26,7 +26,7 @@
<script src="//web-1251519181.file.myqcloud.com/components/card.2.0.12.js"></script><!-- 卡券选择器 -->
<script src="//web-1251519181.file.myqcloud.com/components/store.2.0.01.js"></script>
<script src="//web-1251519181.file.myqcloud.com/components/img-preview.2.0.00.js"></script>
<script src="//web-1251519181.file.myqcloud.com/components/member-group.2.2.16.js"></script>
<script src="//web-1251519181.file.myqcloud.com/components/member-group.2.2.172.js"></script>
<script src="//web-1251519181.file.myqcloud.com/components/store-card.2.0.18.js"></script><!-- 门店选择器 -->
<script src="//web-1251519181.file.myqcloud.com/components/confirm-people.2.0.01.js"></script>
<script src="//web-1251519181.file.myqcloud.com/components/people.2.0.42.js"></script>
......
......@@ -332,4 +332,9 @@
.member-block {
display: block;
height: 50px;
}
.tooltip-icon {
font-weight: inherit;
padding: 2px 0;
border-bottom: 1px dashed #1890ff;
}
\ No newline at end of file
......@@ -10,6 +10,15 @@
<el-date-picker :disabled="disabled" :picker-options="pickerOptions" v-model="ruleForm.endDate" value-format="yyyy-MM-dd HH:mm:ss" type="datetime" placeholder="结束日期"></el-date-picker>
</el-form-item>
<el-form-item>
<el-tooltip slot="label" open-delay="200" placement="top">
<div slot="content">可选内容,详细使用内容详见《营销活动运营复盘流程》</div>
<span class="tooltip-icon">会员分组</span>
</el-tooltip>
<div style="width:600px">
<vue-gic-member-group onlyFixedType v-if="initMemberGroup" :defaltSelected="defaltSelected" :height="500" projectName="marketing" @handleDataTransferred="handleDataTransferred" @handleDataLeft="handleDataLeft"></vue-gic-member-group>
</div>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submit">确认{{ isAdd ? '新建' : '保存' }}</el-button>
</el-form-item>
</el-form>
......@@ -50,7 +59,8 @@ export default {
ruleForm: {
name: '',
beginDate: '',
endDate: ''
endDate: '',
memberGroup: ''
},
rules: {
name: [{ required: true, message: '请输入活动名称', trigger: 'change' }],
......@@ -61,6 +71,9 @@ export default {
return Date.now() >= val.getTime() + 24 * 60 * 60 * 1000;
}
},
// 会员分组
defaltSelected: [],
initMemberGroup: false,
isAdd: this.$route.meta.type === 'add',
isEdit: this.$route.meta.type === 'edit'
};
......@@ -102,19 +115,47 @@ export default {
getActivityInfo({ marketingActivityId: this.marketingActivityId })
.then(res => {
const result = res.result || {};
const { name, beginDate, endDate } = result;
const { activityInfo, tagGroupList } = result;
const { name, beginDate, endDate, memberGroup } = activityInfo;
this.ruleForm.name = name;
this.ruleForm.beginDate = formatDateTimeByType(beginDate, 'yyyy-MM-dd-HH-mm-ss');
this.ruleForm.endDate = formatDateTimeByType(endDate, 'yyyy-MM-dd-HH-mm-ss');
this.ruleForm.memberGroup = memberGroup;
this.defaltSelected = tagGroupList;
this.ruleForm.name = name;
this.loading = false;
this.$nextTick(() => {
this.initMemberGroup = true;
});
})
.catch(() => {
this.loading = false;
});
},
// *********会员分组**********
handleDataTransferred(data) {
// 会员分组 情况下 memberSearchDTO 传数组字符串
this.ruleForm.memberGroup = data
.map(v => v.memberTagGroupId)
.filter(v => v)
.join(',');
},
handleDataLeft(selectedData, selectionToRemove) {
// 不可编辑
if (!this.disabled) {
this.ruleForm.memberGroup = selectedData
.map(v => v.memberTagGroupId)
.filter(v => v)
.join(',');
} else {
this.$message.warning('营销活动已生效,分组数据编辑无效');
}
}
},
mounted() {
if (this.isAdd) {
this.initMemberGroup = true;
}
if (this.isEdit) {
this.getInfo();
}
......@@ -130,3 +171,10 @@ export default {
}
};
</script>
<style lang="scss" scoped>
/deep/ .group-set-transfer {
margin: 0;
padding: 0;
}
</style>
......@@ -435,7 +435,7 @@ export default {
.then(res => {
if (res.errorCode === 0) {
this.$router.go(-1);
this.$tips({ type: 'warning', message: '提交成功' });
this.$tips({ type: 'success', message: '提交成功' });
} else {
this.$tips({ type: 'error', message: '提交失败' });
}
......
......@@ -18,6 +18,7 @@
<el-button v-else class="fr" type="primary" @click="$router.push('/wechat/record/add')">新建群发</el-button>
</div>
<el-table tooltipEffect="light" :data="recordList" style="width: 100%" row-key="sendTime">
<el-table-column min-width="100" align="left" prop="clerkName" label="用户名称" fixed="left"></el-table-column>
<el-table-column :min-width="100" align="left" label="时间" prop="createTime">
<template slot-scope="scope">
<p class="cell-time">
......@@ -88,7 +89,6 @@ export default {
// return date.y + '\n' + date.h;
// }
// },
{ label: '用户名称', prop: 'clerkName', align: 'left', fixed: 'left', minWidth: '100' },
{
label: '标题',
prop: 'content',
......
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