Commit 68eb7ba2 by chenxin

fix:乔丹需求 ECM订单金额倍数积分 营销事件通知组件

parent 0630069f
<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><link rel="shortcut icon" href=/marketing/static/img/favicon.ico><title>GIC后台</title><link rel=stylesheet type=text/css href=/marketing/static/fonts/iconfont.css><link rel=stylesheet type=text/css href=/marketing/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.c2c8f0d881a2b0dd28502776cbaaee30.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.33.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.09.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.13.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.38.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.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.95.js></script><script type=text/javascript src=/marketing/static/js/manifest.18f1c07eb9931d20b1c5.js></script><script type=text/javascript src=/marketing/static/js/vendor.f6e5442e18ed1c7d4a4d.js></script><script type=text/javascript src=/marketing/static/js/main.b45ac7c1c0231c1ff1be.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=/marketing/static/img/favicon.ico><title>GIC后台</title><link rel=stylesheet type=text/css href=/marketing/static/fonts/iconfont.css><link rel=stylesheet type=text/css href=/marketing/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.08f550e7e74b54b5f012b569b6912392.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.33.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.09.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.13.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.38.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.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.95.js></script><script type=text/javascript src=/marketing/static/js/manifest.595a713cc52d8ab95f7a.js></script><script type=text/javascript src=/marketing/static/js/vendor.f6e5442e18ed1c7d4a4d.js></script><script type=text/javascript src=/marketing/static/js/main.b45ac7c1c0231c1ff1be.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.
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,c,a){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 c)Object.prototype.hasOwnProperty.call(c,f)&&(e[f]=c[f]);for(r&&r(n,c,a);l.length;)l.shift()();if(a)for(s=0;s<a.length;s++)u=o(o.s=a[s]);return u};var n={},t={12:0};function o(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,o),t.l=!0,t.exports}o.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,o){r=t[e]=[n,o]});r[2]=n;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:"ewash",4:"evaluation",5:"message",6:"ecm",7:"recharge",8:"msg",9:"calllog"}[e]||e)+"."+{0:"4a4c5dd8b09e58c75be6",1:"051f694f488cda361a7c",2:"8dfc5243f93f4e39bff3",3:"3b8c083130a8a0ae383b",4:"d155f948cc7f6cd10a1f",5:"94e2070a13c6b19e1728",6:"8071f67f02dde99e499b",7:"d542294c098249a6ebf1",8:"b54ee100686a1538ee52",9:"7c23e852688ebfec2cbb"}[e]+".js";var f=setTimeout(i,12e4);function i(){a.onerror=a.onload=null,clearTimeout(f);var r=t[e];0!==r&&(r&&r[1](new Error("Loading chunk "+e+" failed.")),t[e]=void 0)}return a.onerror=a.onload=i,c.appendChild(a),n},o.m=e,o.c=n,o.d=function(e,r,n){o.o(e,r)||Object.defineProperty(e,r,{configurable:!1,enumerable:!0,get:n})},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(n,c,a){for(var f,i,u,s=0,d=[];s<n.length;s++)i=n[s],t[i]&&d.push(t[i][0]),t[i]=0;for(f in c)Object.prototype.hasOwnProperty.call(c,f)&&(e[f]=c[f]);for(r&&r(n,c,a);d.length;)d.shift()();if(a)for(s=0;s<a.length;s++)u=o(o.s=a[s]);return u};var n={},t={12:0};function o(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,o),t.l=!0,t.exports}o.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,o){r=t[e]=[n,o]});r[2]=n;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:"ewash",4:"evaluation",5:"message",6:"ecm",7:"recharge",8:"msg",9:"calllog"}[e]||e)+"."+{0:"db4d8f0c46ecdd74f9cc",1:"2f1fedd4c6e5f9de3fec",2:"6f2f4f7ce0a8b3573406",3:"0444b9db07ec19d54c80",4:"9e33a69becd19ed70f7f",5:"94e2070a13c6b19e1728",6:"00cc9bc1829119a4b54e",7:"ffc4d6e3b0f6e628f842",8:"b54ee100686a1538ee52",9:"0227f7c8f0a9a9fe5817"}[e]+".js";var f=setTimeout(i,12e4);function i(){a.onerror=a.onload=null,clearTimeout(f);var r=t[e];0!==r&&(r&&r[1](new Error("Loading chunk "+e+" failed.")),t[e]=void 0)}return a.onerror=a.onload=i,c.appendChild(a),n},o.m=e,o.c=n,o.d=function(e,r,n){o.o(e,r)||Object.defineProperty(e,r,{configurable:!1,enumerable:!0,get:n})},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
<template>
<div class="dm-integral__item__wrap">
<span class="fz16">赠送积分<span class="fz12 gray ml20">* 仅支持给认证会员赠送积分</span></span>
<p class="mt15">
<span class="fz24 mr5 primary-font-color">{{ item.integralCount }}</span>
<span>积分</span>
</p>
<!-- {{ item.integralType }} -->
<template v-if="item.integralType === 1">
<span class="fz16">赠送积分<span class="fz12 gray ml20">* 仅支持给认证会员赠送积分</span></span>
<p class="mt15">
<span class="fz24 mr5 primary-font-color">{{ item.integralCount }}</span>
<span>积分</span>
</p>
</template>
<template v-if="item.integralType === 2">
<div><span class="fz16">赠送订单金额倍数积分</span></div>
<div class="mt5"><span class="fz12 gray">* 订单金额将四舍五入取整,且1元等于1积分</span></div>
<p class="mt15">
<span class="fz24 mr5 primary-font-color">{{ item.multipleNum }}</span>
<span></span>
</p>
</template>
</div>
</template>
......
<template>
<el-dialog title="赠送积分" :visible.sync="show" width="420px" :before-close="close">
<p class="regular-font-color mb20">请输入需要赠送的积分<span class="fz12 gray ml10">* 仅支持给认证会员赠送积分</span></p>
<el-dialog title="赠送积分" :visible.sync="show" width="420px" @closed="close">
<el-form :model="form" :rules="rules" ref="form" label-width="0">
<el-form-item prop="integral">
<el-input v-model.number="form.integral" maxLength="7" />
</el-form-item>
<el-radio-group v-model="form.integralType" class="mb20" @change="$refs.form.resetFields()">
<el-radio :label="1">固定积分</el-radio>
<el-radio :label="2">
订单金额倍数
<el-tooltip class="item">
<div slot="content">
<p style="color: white;margin-bottom:15px;">条件说明</p>
<p style="color: white;font-size:12px;width:200px;line-height:18px;">若该计划中增加了消费条件限制,那么在判断订单金额取值时,将综合该计划中的消费条件设置,只取符合条件设置的商品的金额作为积分加倍的数值</p>
</div>
<i class="el-icon-question ml5 minor-font-color"></i>
</el-tooltip>
</el-radio>
</el-radio-group>
<template v-if="form.integralType === 1">
<p class="regular-font-color mb20">请输入需要赠送的积分<span class="fz12 gray ml10">* 仅支持给认证会员赠送积分</span></p>
<el-form-item prop="integralCount">
<el-input v-model.number="form.integralCount" maxLength="7" />
</el-form-item>
</template>
<template v-if="form.integralType === 2">
<p class="regular-font-color mb20"><span class="fz12 gray">* 订单金额将四舍五入取整,且1元等于1积分</span></p>
<el-form-item prop="multipleNum">
设置倍数
<el-input-number v-model="form.multipleNum" class="ml5 mr5 w120" controls-position="right" :precision="2" :min="0.01" :max="100" placeholder="最多保留两位小数" />
</el-form-item>
</template>
</el-form>
<p class="minor-font-color mt10 line-height1_5 fz12">赠送积分无自动通知。如有通知需要,请额外添加【文本】、【图片】、【小程序】或【短信】营销事件。</p>
<span slot="footer" class="dialog-footer">
......@@ -44,11 +67,14 @@ export default {
return {
ecmMarketingTypeRelationId: '',
form: {
integral: '',
comName: 'integral'
integralCount: '',
comName: 'integral',
integralType: 1, // 1固定积分 2订单金额倍数
multipleNum: '' // 倍数值
},
rules: {
integral: [{ required: true, message: '请输入积分值', trigger: 'blur' }, { validator: validInteral, trigger: 'blur' }] // eslint-disable-line
integralCount: [{ required: true, message: '请输入积分值', trigger: 'blur' }, { validator: validInteral, trigger: 'blur' }], // eslint-disable-line
multipleNum: [{ required: true, message: '请输入倍数', trigger: 'blur' }] // eslint-disable-line
},
loading: false
};
......@@ -56,10 +82,14 @@ export default {
watch: {
show(val) {
if (val) {
this.form.integral = this.item.integralCount;
this.form.integralCount = this.item.integralCount;
this.form.multipleNum = this.item.multipleNum;
this.form.integralType = this.item.integralType || 1;
this.ecmMarketingTypeRelationId = this.item.ecmMarketingTypeRelationId;
} else {
this.form.integral = '';
this.form.integralCount = '';
this.form.multipleNum = '';
this.form.integralType = 1;
this.ecmMarketingTypeRelationId = '';
}
}
......
......@@ -180,7 +180,7 @@ export default {
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-integral', item: { multipleNum: v.multipleNum, integralType: v.integralType, 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;
}
......@@ -259,10 +259,15 @@ export default {
//8.积分
if (val.comName === 'integral') {
params.title = `${val.integral}积分`;
params.integralCount = val.integral;
params.integralType = val.integralType;
if (params.integralType === 1) {
params.integralCount = val.integralCount;
}
if (params.integralType === 2) {
params.multipleNum = val.multipleNum;
params.title = `${val.multipleNum}倍积分`;
}
}
// 接口请求 保存
saveUpdateMarketingType({ marketingType: JSON.stringify(params) })
.then(res => {
......
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