Commit 5bd73354 by chenxin

fix:营销事件 add 积分

parent f605b178
<!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/css/iconfont.css><link rel=stylesheet type=text/css href=static/css/common.css><link href=/marketing/static/css/main.55b33a80cc38edbe81498a9c86570b07.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/lib/elementUI/index.2.5.4.js></script><script src=//web-1251519181.file.myqcloud.com/components/header.2.0.20.js></script><script src=//web-1251519181.file.myqcloud.com/components/footer.2.0.02.js></script><script src=//web-1251519181.file.myqcloud.com/components/card.2.0.02.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.0.01.js></script><script src=//web-1251519181.file.myqcloud.com/components/store-card.2.0.02.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.26.js></script><script src=//web-1251519181.file.myqcloud.com/components/export-excel.2.0.04.js></script><script src=//web-1251519181.file.myqcloud.com/components/input.2.0.00.js></script><script src=//web-1251519181.file.myqcloud.com/components/delete.2.0.00.js></script><script type=text/javascript src=/marketing/static/js/manifest.245d399143e5e887d696.js></script><script type=text/javascript src=/marketing/static/js/vendor.4f54dc53154967b3adc7.js></script><script type=text/javascript src=/marketing/static/js/main.949fc9b6a672743a453a.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/css/iconfont.css><link rel=stylesheet type=text/css href=static/css/common.css><link href=/marketing/static/css/main.e4ef3eb07320e00535e559202eb753ae.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/lib/elementUI/index.2.5.4.js></script><script src=//web-1251519181.file.myqcloud.com/components/header.2.0.20.js></script><script src=//web-1251519181.file.myqcloud.com/components/footer.2.0.02.js></script><script src=//web-1251519181.file.myqcloud.com/components/card.2.0.02.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.0.01.js></script><script src=//web-1251519181.file.myqcloud.com/components/store-card.2.0.02.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.26.js></script><script src=//web-1251519181.file.myqcloud.com/components/export-excel.2.0.04.js></script><script src=//web-1251519181.file.myqcloud.com/components/input.2.0.00.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.1.80.js></script><script type=text/javascript src=/marketing/static/js/manifest.f0d953e5f2c56378a7c4.js></script><script type=text/javascript src=/marketing/static/js/vendor.4f54dc53154967b3adc7.js></script><script type=text/javascript src=/marketing/static/js/main.949fc9b6a672743a453a.js></script></body></html>
\ 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.
!function(e){var r=window.webpackJsonp;window.webpackJsonp=function(n,o,c){for(var f,i,u,s=0,l=[];s<n.length;s++)i=n[s],t[i]&&l.push(t[i][0]),t[i]=0;for(f in o)Object.prototype.hasOwnProperty.call(o,f)&&(e[f]=o[f]);for(r&&r(n,o,c);l.length;)l.shift()();if(c)for(s=0;s<c.length;s++)u=a(a.s=c[s]);return u};var n={},t={11:0};function a(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,a),t.l=!0,t.exports}a.e=function(e){var r=t[e];if(0===r)return new Promise(function(e){e()});if(r)return r[2];var n=new Promise(function(n,a){r=t[e]=[n,a]});r[2]=n;var o=document.getElementsByTagName("head")[0],c=document.createElement("script");c.type="text/javascript",c.charset="utf-8",c.async=!0,c.timeout=12e4,a.nc&&c.setAttribute("nonce",a.nc),c.src=a.p+"static/js/"+({0:"game",1:"card",2:"wechat",3:"evaluation",4:"message",5:"ecm",6:"recharge",7:"msg",8:"calllog"}[e]||e)+"."+{0:"0ea5eee276916402d464",1:"3019f63f20abe9bd6773",2:"5aa3ca7e326ef2ff5b56",3:"650a38a154a63ff404db",4:"b240fe6b93138b5f102a",5:"b557a0d0fc31be27a314",6:"727cccae0b80bca129d5",7:"8b5caebf83a79ac810ca",8:"73199fa96bf2a53581b9"}[e]+".js";var f=setTimeout(i,12e4);function i(){c.onerror=c.onload=null,clearTimeout(f);var r=t[e];0!==r&&(r&&r[1](new Error("Loading chunk "+e+" failed.")),t[e]=void 0)}return c.onerror=c.onload=i,o.appendChild(c),n},a.m=e,a.c=n,a.d=function(e,r,n){a.o(e,r)||Object.defineProperty(e,r,{configurable:!1,enumerable:!0,get:n})},a.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(r,"a",r),r},a.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},a.p="/marketing/",a.oe=function(e){throw console.error(e),e}}([]);
\ No newline at end of file
!function(e){var r=window.webpackJsonp;window.webpackJsonp=function(n,o,c){for(var i,f,u,s=0,l=[];s<n.length;s++)f=n[s],t[f]&&l.push(t[f][0]),t[f]=0;for(i in o)Object.prototype.hasOwnProperty.call(o,i)&&(e[i]=o[i]);for(r&&r(n,o,c);l.length;)l.shift()();if(c)for(s=0;s<c.length;s++)u=a(a.s=c[s]);return u};var n={},t={11:0};function a(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,a),t.l=!0,t.exports}a.e=function(e){var r=t[e];if(0===r)return new Promise(function(e){e()});if(r)return r[2];var n=new Promise(function(n,a){r=t[e]=[n,a]});r[2]=n;var o=document.getElementsByTagName("head")[0],c=document.createElement("script");c.type="text/javascript",c.charset="utf-8",c.async=!0,c.timeout=12e4,a.nc&&c.setAttribute("nonce",a.nc),c.src=a.p+"static/js/"+({0:"game",1:"card",2:"wechat",3:"evaluation",4:"message",5:"ecm",6:"recharge",7:"msg",8:"calllog"}[e]||e)+"."+{0:"0ea5eee276916402d464",1:"82666f239678ae461e2b",2:"5aa3ca7e326ef2ff5b56",3:"650a38a154a63ff404db",4:"b240fe6b93138b5f102a",5:"19ea4e163798937b7898",6:"727cccae0b80bca129d5",7:"8b5caebf83a79ac810ca",8:"73199fa96bf2a53581b9"}[e]+".js";var i=setTimeout(f,12e4);function f(){c.onerror=c.onload=null,clearTimeout(i);var r=t[e];0!==r&&(r&&r[1](new Error("Loading chunk "+e+" failed.")),t[e]=void 0)}return c.onerror=c.onload=f,o.appendChild(c),n},a.m=e,a.c=n,a.d=function(e,r,n){a.o(e,r)||Object.defineProperty(e,r,{configurable:!1,enumerable:!0,get:n})},a.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(r,"a",r),r},a.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},a.p="/marketing/",a.oe=function(e){throw console.error(e),e}}([]);
\ No newline at end of file
......@@ -31,5 +31,6 @@
<script src="//web-1251519181.file.myqcloud.com/components/export-excel.2.0.04.js"></script>
<script src="//web-1251519181.file.myqcloud.com/components/input.2.0.00.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.1.80.js"></script>
</body>
</html>
......@@ -125,6 +125,9 @@ a:hover {
.mt10{
margin-top: 10px!important;
}
.mt15{
margin-top: 15px!important;
}
.mt20{
margin-top: 20px!important;
}
......@@ -146,6 +149,9 @@ a:hover {
.mb10{
margin-bottom: 10px!important;
}
.mr5{
margin-right: 5px!important;
}
.mr10{
margin-right: 10px!important;
}
......
......@@ -109,8 +109,16 @@ export default {
v3name: []
}
],
coupGoodsWeimobList: []
coupGoodsWeimobList: [],
// ----微盟适用商品结束----
// ----斐乐适用商品开始----
xxSysp: {
visible: false, // 适用商品选择器dialog
goodsEnable: false, // 显示标志(目前仅支持斐乐)
filterAbbrInfo: [], // 选择后回显的数据
conditions: null // 商品选择器的筛选值 在分页查数据的时候要传过去
}
// ----斐乐适用商品结束----
};
},
watch: {
......@@ -157,17 +165,6 @@ export default {
'img-text-drag': imgTextDrag,
'dm-goods-input': dmGoodsInput
},
created() {
this.cardGetShelfs();
this.getCardDetail();
this.getCategoryList(); // 获取适用商品第一层数据
this.$store.commit('mutations_breadcrumb', [{ name: '营销管理', path: '' }, { name: '卡券营销', path: '' }, { name: '卡券库', path: '/card/list' }, { name: '卡券详情', path: '' }]);
},
mounted() {
if (this.isAdd) {
this.$refs.storeCard.init();
}
},
computed: {
asideShow() {
return this.$store.state.marketing.asideShow;
......@@ -223,6 +220,11 @@ export default {
this.cardApplyChannelOptions = res.result.allChannelList;
}
// 支持的品牌-商品选择器
if (res.result.goodsEnable) {
this.xxSysp.goodsEnable = res.result.goodsEnable;
}
// 新增情况下,如果配置了线下门店,默认选中线下门店
if (this.isAdd && this.cardApplyChannelOptions.some(v => v.value === 'offlineStore')) {
this.form.cardApplyChannel = ['offlineStore'];
......@@ -514,7 +516,9 @@ export default {
if ((this.form.cardType === 0 || this.form.cardType === 1) && this.form.cardApplyChannel.indexOf('WMmicroMall') !== -1 && this.coupGoodsWeimobList.length !== 0) {
card.coupGoodsWeimobList = this.coupGoodsWeimobList;
}
console.log(card.coupGoodsWeimobList);
// 线下适用商品(目前仅支持斐乐)
//卡券限制
if (this.cardLimitRadio === 1) {
card.cardLimit = 1;
......@@ -592,11 +596,13 @@ export default {
card.storeProMode = 0;
card.storeMode = this.storeMode;
card.storeWidgetKey = this.uuid;
// 线下适用商品
if (this.xxSysp.goodsEnable) {
card.goodsFilterId = this.xxSysp.conditions;
}
// 这里判断部分门店是否为空
if (card.storeMode) {
let data = await this.$refs.storeCard.getRightList();
console.log('1' + data.length);
if (!data.length) {
this.$tips({ type: 'warning', message: '部分门店不能为空' });
return;
......@@ -792,7 +798,6 @@ export default {
}
return new Promise((resolve, reject) => {
let arr_f2 = [];
console.log(this.goodsList);
if (this.goodsList.length === 1 && this.goodsList[0].v1 === '' && this.goodsList[0].v2 === '' && this.goodsList[0].v3.length === 0) {
resolve('empty');
}
......@@ -849,7 +854,59 @@ export default {
this.$tips({ type: 'warning', message: err.message });
return false;
});
}
},
// ------微盟适用商品结束-------
// ------线下适用商品开始-------
handleXxSyspClick(visible = true) {
this.xxSysp.visible = visible;
if (this.xxSysp.filterAbbrInfo.length !== 0) {
this.$refs.selector.changeComplexInfo();
}
},
xxSyspConfirm() {
this.$refs.selector
.collectConditions()
.then(res => {
console.log(res);
if (res == false) {
throw new Error('商品选择器条件不能为空!');
} else {
this.xxSysp.conditions = res.conditions;
// console.log(res.filterAbbrInfo);
let _filterAbbrInfo = [];
res.filterAbbrInfo &&
res.filterAbbrInfo.forEach(y => {
_filterAbbrInfo = y.map(v => {
return {
optName: v.optName,
text: `${v.typeName}${v.belong}${v.childNames
.map(v => {
return `【${v}】`;
})
.join('')}`
};
});
});
this.xxSysp.filterAbbrInfo = _filterAbbrInfo;
this.handleXxSyspClick(false);
this.xxSysp.visible = false;
}
})
.catch(err => {
this.$tips({ message: err.message, type: 'error' });
});
}
// ------线下适用商品开始-------
},
mounted() {
if (this.isAdd) {
this.$refs.storeCard.init();
}
},
created() {
this.cardGetShelfs();
this.getCardDetail();
this.getCategoryList(); // 获取适用商品第一层数据
this.$store.commit('mutations_breadcrumb', [{ name: '营销管理', path: '' }, { name: '卡券营销', path: '' }, { name: '卡券库', path: '/card/list' }, { name: '卡券详情', path: '' }]);
}
};
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 204.9 200" style="enable-background:new 0 0 204.9 200;" xml:space="preserve">
<style type="text/css">
.st0{fill:#909399;}
</style>
<path class="st0" d="M204,139c0-10-7.5-19-21-26V95.5v-1V93c0-1.5,0-3-0.5-4.5c14-7,21.5-16.5,21.5-26v-18v-1V42
c0-22.5-39-39.5-90.5-39.5c-52,0-91,17-91,39.5v20c0,1.5,0,3,0.5,4.5C9,73.5,1.5,83,1.5,92.5v20c0,10,7.5,19,21,26v20
c0,22.5,39,39.5,90.5,39.5s90.5-17,90.5-39.5v-18v-1C204,140,204,139.5,204,139L204,139z M190.5,43c-1,4-4,7.5-9.5,11
c-14.5,9.5-40,15-68,15c-47,0-75-14.5-77.5-25.5v-1C35.5,29,73,16,113,16s77.5,13,77.5,26.5L190.5,43L190.5,43z M41.5,67
c1.5,1,3,1.5,5,2.5l1,0.5c1.5,0.5,2.5,1,4,2l1.5,0.5l4.5,1.5l1,0.5c2,0.5,4,1,6,2L66,77c1.5,0.5,3.5,1,5,1l2,0.5
c1.5,0.5,3.5,0.5,5,1l2,0.5c2.5,0.5,4.5,0.5,7,1h1.5c2,0,4,0.5,6,0.5H97c1.5,0,3.5,0,5.5,0.5h21c1.5,0,3.5,0,5-0.5h3
c2,0,3.5-0.5,5.5-0.5h2c2.5-0.5,4.5-0.5,7-1l2.5-0.5c1.5-0.5,3-0.5,4.5-1l2.5-0.5c1.5-0.5,3-0.5,4.5-1l2-0.5l6-1.5l1-0.5l4.5-1.5
l1.5-0.5c1.5-0.5,3-1,4-2l1-0.5c3.5-1.5,6.5-3.5,9.5-5l1-0.5c0,0,0.5,0,0.5-0.5c-0.5,5.5-7.5,11.5-19.5,16c-15,6.5-36,9.5-58,9.5
C73,89.5,44,78,37.5,67c-1-1.5-1.5-2.5-1.5-3.5c0,0,0.5,0,0.5,0.5l1,0.5C38.5,65,40,66,41.5,67L41.5,67z M113,165.5h-11.5
c-1.5,0-3.5,0-5-0.5l-4-0.5c-1,0-2.5,0-3.5-0.5h-2l-2.5-0.5c-1,0-2,0-3-0.5c-0.5,0-1,0-2-0.5l-2-0.5c-1,0-2-0.5-3-0.5
c-0.5,0-1,0-1.5-0.5l-2-0.5c-1,0-2-0.5-3-0.5h-1.5c-1,0-2-0.5-2.5-0.5l-3-1c-1-0.5-1.5-0.5-2.5-1l-2.5-1c-0.5-0.5-1.5-0.5-2-1l-2-1
c-0.5-0.5-1.5-0.5-2-1l-1.5-1c-0.5-0.5-1.5-1-2-1L44,150c-0.5-0.5-1-1-2-1.5l-1.5-1c-0.5-0.5-1-0.5-1-1L39,146c0.5,0,0.5,0,1,0.5
l2.5,0.5c1.5,0.5,3,1,5,1.5l3,0.5c1.5,0.5,3,0.5,5,1c1,0,2,0.5,3,0.5c1.5,0.5,3.5,0.5,5,1l3,0.5c1.5,0,3.5,0.5,5.5,0.5l3,0.5
c1.5,0,3.5,0,5.5,0.5h23c2,0,3.5,0,5.5-0.5l3-0.5c1.5,0,3-0.5,5-0.5l3-0.5c1.5,0,3-0.5,4.5-0.5l3-0.5c1.5,0,3-0.5,4.5-1l3-0.5
c1.5-0.5,2.5-0.5,4-1c1,0,2-0.5,2.5-0.5c1.5-0.5,2.5-0.5,4-1l2.5-0.5c1.5-0.5,2.5-1,3.5-1.5c0.5-0.5,1.5-0.5,2-1
c1.5-0.5,2.5-1,4-1.5c0.5,0,1-0.5,1.5-0.5c1.5-0.5,2.5-1,4-2l1.5-0.5c3.5-2,6-3.5,8.5-5.5l0.5-0.5l3-3l1-1c0.5-1,1.5-1.5,2-2.5
c0,0,0.5-0.5,0.5-1c7.5,4.5,12,9,12,13.5v1.5C188.5,151,160.5,165.5,113,165.5L113,165.5z M143,100c1,0,2-0.5,3.5-0.5s2.5-0.5,4-0.5
c1,0,2.5-0.5,3.5-0.5c1.5-0.5,2.5-0.5,4-1c1-0.5,2.5-0.5,3.5-1c1.5-0.5,2.5-0.5,3.5-1c1-0.5,2-0.5,3-1c0.5,0,1-0.5,1.5-0.5v0.5
c0,1-0.5,2-1.5,3.5c-7,11-35.5,22-75.5,22c-26,0-49.5-4.5-64.5-12.5c-7.5-4-12-8.5-13-13v-1c0-5,5.5-10.5,14.5-15L31,80l0.5,0.5
c1,1,2,1.5,3,2.5l1,1c1,0.5,1.5,1,2.5,2l1.5,1c1,0.5,2,1,2.5,1.5h2l3,1.5c0.5,0.5,1.5,0.5,2,1c1,0.5,2,1,3,1c0.5,0.5,1.5,0.5,2,1
c1,0.5,2,0.5,3,1l2.5,1c1,0.5,2,0.5,3.5,1c1,0,1.5,0.5,2.5,0.5c1,0.5,2,0.5,3.5,1l3,0.5c1,0,2.5,0.5,4,1l2.5,0.5c1,0,2,0.5,3.5,0.5
c1,0,2,0.5,3,0.5c1,0,2,0,3,0.5l8.5,1H131c1,0,2.5,0,3.5-0.5h1.5c1,0,2,0,3-0.5c1.5,0,2.5-0.5,4-0.5 M20,117.5l0.5,0.5
c1.5,1,3,1.5,4.5,2.5l1.5,0.5c1,0.5,2.5,1,3.5,1.5l2,0.5l4.5,1.5L38,125c2,0.5,4,1,6,2l1.5,0.5c1.5,0.5,3,1,5,1l2,0.5
c1.5,0.5,3.5,0.5,5,1l2,0.5c2.5,0.5,4.5,0.5,7.5,1h1c2,0,4,0.5,6,0.5h2.5c2,0,3.5,0,5.5,0.5h20.5c2,0,3.5,0,5.5-0.5h2.5
c2,0,4-0.5,6-0.5h1.5c2.5-0.5,4.5-0.5,7-1l2-0.5c1.5-0.5,3.5-0.5,5-1l2.5-0.5c1.5-0.5,3-0.5,4.5-1l2-0.5l6-1.5l1.5-0.5
c1.5-0.5,3-1,4-1.5l2-1c1-0.5,2.5-1,3.5-1.5c0.5,0,1-0.5,1.5-0.5c1.5-0.5,3-1.5,4.5-2.5l1-0.5c1-0.5,2-1.5,3-2c0.5-0.5,1-0.5,1.5-1
v1c-2.5,10.5-31,25-77,25c-15,0-29.5-1.5-42.5-5c-6.5-1.5-12.5-3.5-17.5-5.5c-10.5-4.5-17-10.5-17.5-15.5c0,0,0.5,0,0.5,0.5H16
C17.5,116,18.5,117,20,117.5L20,117.5z M36.5,160.5l1,0.5c1,1,2.5,1.5,4.5,2.5c1.5,1,3,1.5,4.5,2.5l1.5,0.5c1,0.5,2.5,1,4,1.5l2,0.5
c1.5,0.5,3,1,5,1.5l1,0.5l6,1.5l1.5,0.5c1.5,0.5,3,1,5,1L74,175c1.5,0.5,3,0.5,5,1l2,0.5c2.5,0.5,4.5,0.5,7,1h2c2,0,3.5,0.5,5.5,0.5
h3c1.5,0,3,0,5,0.5h21c1.5,0,3,0,4.5-0.5h3c1.5,0,3-0.5,5-0.5l2.5-0.5c2.5-0.5,4.5-0.5,6.5-1l2.5-0.5c1.5-0.5,3-0.5,4.5-1l2.5-0.5
c1.5-0.5,3-0.5,4.5-1l2-0.5l6-1.5l1.5-0.5l4.5-1.5c0.5,0,1-0.5,1.5-0.5c1.5-0.5,2.5-1,4-2l1-0.5c1.5-1,3.5-1.5,5-2.5s3-1.5,4.5-2.5
l1-0.5h0.5c-1,11-30.5,26-77.5,26S37.5,171.5,36.5,160.5C36,160,36,160.5,36.5,160.5L36.5,160.5z"/>
</svg>
......@@ -162,6 +162,7 @@
vertical-align: middle;
height: 17px;
width: auto;
overflow:hidden;
color: #909399;
}
.dm-marketing__opt__item > span {
......@@ -450,3 +451,11 @@
-webkit-box-orient: vertical;
}
.dm-integral__item__wrap {
width: 210px;
padding: 18px 20px;
border: 1px solid rgba(228,231,237,1);
border-radius:4px;
display: inline-block;
position: relative;
}
\ No newline at end of file
<template>
<div class="dm-integral__item__wrap">
<span class="fz16">赠送积分</span>
<p class="mt15">
<span class="fz24 mr5 primary-font-color">{{ item.integralCount }}</span>
<span>积分</span>
</p>
</div>
</template>
<script>
export default {
name: 'item-integral',
props: {
item: {
type: Object,
default() {
return {};
}
}
}
};
</script>
<template>
<el-dialog title="赠送积分" :visible.sync="show" width="420px" :before-close="close">
<p class="regular-font-color mb20">请输入需要赠送的积分</p>
<el-form :model="form" :rules="rules" ref="form" label-width="0">
<el-form-item prop="integral">
<el-input v-model.number="form.integral" />
</el-form-item>
</el-form>
<p class="minor-font-color mt10 line-height1_5 fz12">赠送积分无自动通知。如有通知需要,请额外添加【文本】、【图片】、【小程序】或【短信】营销事件。</p>
<span slot="footer" class="dialog-footer">
<el-button @click="close">关 闭</el-button>
<el-button type="primary" @click="addItem">确 定</el-button>
</span>
</el-dialog>
</template>
<script>
export default {
name: 'lib-integral',
props: {
item: {
type: Object,
default() {
return {};
}
},
show: {
type: Boolean,
default: false
}
},
data() {
const validInteral = (rule, value, callback) => {
if (!Number.isInteger(value)) {
callback(new Error('积分值为数字值'));
} else if (value <= 0) {
callback(new Error('积分值最小为1'));
} else if (value > 1000000) {
callback(new Error('单次赠送值最大值为1000000'));
} else {
callback();
}
};
return {
ecmMarketingTypeRelationId: '',
form: {
title: '赠送积分',
integral: '',
comName: 'integral'
},
rules: {
integral: [{ required: true, message: '请输入积分值', trigger: 'blur' }, { validator: validInteral, trigger: 'blur' }]
},
loading: false
};
},
watch: {
show(val) {
if (val) {
this.form.integral = this.item.integralCount;
this.ecmMarketingTypeRelationId = this.item.ecmMarketingTypeRelationId;
} else {
this.form.integral = '';
this.ecmMarketingTypeRelationId = '';
}
}
},
methods: {
close() {
this.$refs.form.resetFields();
this.$emit('update:show', false);
},
addItem() {
this.$refs['form'].validate(valid => {
if (valid) {
this.$emit('sendItem', { ...this.form, ...{ ecmMarketingTypeRelationId: this.ecmMarketingTypeRelationId } });
this.close();
}
});
}
}
};
</script>
......@@ -16,7 +16,7 @@
<div class="dm-marketing__content__item" v-for="(v, i) in list" :key="i">
<i class="dm-marketing__content--index">{{ i + 1 }}</i>
<component :is="v.comName" :item="v.item" :isSupportVar="isSupportVar"></component>
<i class="el-icon-edit dm-marketing__opt--icon" v-if="v.comName === 'item-teltask' || v.comName === 'item-text' || v.comName === 'item-wxa'" @click="editItem(v)"></i>
<i class="el-icon-edit dm-marketing__opt--icon" v-if="v.comName === 'item-teltask' || v.comName === 'item-text' || v.comName === 'item-wxa' || v.comName === 'item-integral'" @click="editItem(v)"></i>
<dm-delete @confirm="delItem(v)">
<i class="el-icon-delete dm-marketing__opt--icon"></i>
</dm-delete>
......@@ -26,7 +26,7 @@
<div class="dm-marketing__opt--wrap" @mouseleave="optShow = false">
<i class="el-icon-plus dm-marketing__opt--icon--bottom" v-if="list.length && list.length < maxEventCount" @mouseover="optShow = true"></i>
<transition name="fade">
<opt @addItem="addItem" :options="options" v-if="list.length && list.length < maxEventCount && optShow" style="margin:20px 0 0 15px;"></opt>
<opt @addItem="addItem" :options="options" v-if="list.length && list.length < maxEventCount && optShow" style="margin:0px 0 0 15px;position:relative;top:10px;"></opt>
</transition>
</div>
<!-- 弹窗组件 -->
......@@ -48,6 +48,7 @@ import itemText from './components/item-text.vue';
import itemImage from './components/item-image.vue';
import itemMessage from './components/item-Message.vue';
import itemTeltask from './components/item-teltask.vue';
import itemIntegral from './components/item-integral.vue';
//弹窗组件
import libTeletext from './components/lib-teletext.vue';
import libMessage from './components/lib-Message.vue';
......@@ -56,10 +57,11 @@ import libText from './components/lib-text.vue';
import libWxa from './components/lib-wxa.vue';
import libImage from './components/lib-image.vue';
import libTeltask from './components/lib-teltask.vue';
import libIntegral from './components/lib-integral.vue';
// 全部的操作项
// 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') }];
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') }];
export default {
name: 'vue-gic-marketing-event',
components: {
......@@ -73,6 +75,7 @@ export default {
'item-image': itemImage,
'item-message': itemMessage,
'item-teltask': itemTeltask,
'item-integral': itemIntegral,
'lib-teletext': libTeletext,
'lib-message': libMessage,
......@@ -80,7 +83,8 @@ export default {
'lib-text': libText,
'lib-wxa': libWxa,
'lib-image': libImage,
'lib-teltask': libTeltask
'lib-teltask': libTeltask,
'lib-integral': libIntegral
},
props: {
// 页面编码——- 1001-智能引擎; 1002-微信营销; 1003-被关注回复; 1004-关键字回复
......@@ -122,6 +126,7 @@ export default {
// 初始化获取配置项
init() {
getMarketingEvent({ pageCode: this.code }).then(res => {
console.log(res);
if (res.errorCode === 0) {
this.maxEventCount = Number(res.result.maxEventCount || 0);
let list = res.result.list || [];
......@@ -140,13 +145,13 @@ export default {
},
// 初始化获取列表
getMarketingList() {
console.log(this.ecmPlanId);
// console.log(this.ecmPlanId);
getMarketingTypeDetails({ ecmPlanId: this.ecmPlanId }).then(res => {
if (res.errorCode === 0) {
this.list = [];
let result = res.result.typeRelationList || [];
let brandInfo = res.result.enterprise || {};
// 种类型 处理
// 种类型 处理
result.map(v => {
switch (v.marketingType) {
case 'teletext': // 1 图文
......@@ -170,6 +175,10 @@ export default {
case 'teltask': // 7 话务
this.list.push({ comName: 'item-teltask', item: { ...v.teltask, ecmMarketingTypeRelationId: v.ecmMarketingTypeRelationId, relationId: v.relationId, ecmPlanId: v.ecmPlanId } });
break;
case 'integral': // 8 积分
this.list.push({ comName: 'item-integral', item: { integralCount: v.integralCount, ecmMarketingTypeRelationId: v.ecmMarketingTypeRelationId, relationId: v.relationId, ecmPlanId: v.ecmPlanId } });
// this.list.push({ comName: 'item-teltask', item: { ...v.teltask, ecmMarketingTypeRelationId: v.ecmMarketingTypeRelationId, relationId: v.relationId, ecmPlanId: v.ecmPlanId } });
break;
}
});
......@@ -191,7 +200,7 @@ export default {
if (val.ecmMarketingTypeRelationId) {
params.ecmMarketingTypeRelationId = val.ecmMarketingTypeRelationId;
}
// 种传值 1.话务
// 种传值 1.话务
if (val.comName === 'teltask') {
params.title = val.title;
params.teltask = {
......@@ -244,6 +253,11 @@ export default {
params.relationId = val.smsTemplateId;
}
//8.积分
if (val.comName === 'integral') {
params.integralCount = val.integral;
}
// 接口请求 保存
saveUpdateMarketingType({ marketingType: JSON.stringify(params) }).then(res => {
this.getMarketingList();
......
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