Commit f0e47084 by caoyanzhi

update: 新建卡券

parent 76a232b2
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
<template> <template>
<section class="common-right-wrap" v-loading="loadingPage"> <section class="common-right-wrap" v-loading="loadingPage">
<div class="new-card-body border-box"> <div class="new-card-body border-box">
<el-form :model="formData" :rules="rules" ref="ruleForm" label-width="120px" class="demo-ruleForm"> <el-form :model="formData" :rules="rules" ref="ruleForm" label-width="200px" class="demo-ruleForm">
<el-form-item label="选择卡券" prop="coupCardId"> <el-form-item label="选择卡券" prop="coupCardId">
<div v-if="formData.coupCardId" class="selected-card-body flex"> <div v-if="formData.coupCardId" class="selected-card-body flex">
<div class="selected-card font-14 color-909399">{{ selectCoupCard.cardName }} | {{ selectCoupCard.effectDateString }} | 限制{{ selectCoupCard.cardLimit }}张/人 | 适用门店:{{ selectCoupCard.storeMode == 0 ? '所有门店' : selectCoupCard.storeMode == 1 ? '部分分组' : '部分门店' }} | 库存:{{ selectCoupCard.couponStock }}</div> <div class="selected-card font-14 color-909399">{{ selectCoupCard.cardName }} | {{ selectCoupCard.effectDateString }} | 限制{{ selectCoupCard.cardLimit }}张/人 | 适用门店:{{ selectCoupCard.storeMode == 0 ? '所有门店' : selectCoupCard.storeMode == 1 ? '部分分组' : '部分门店' }} | 库存:{{ selectCoupCard.couponStock }}</div>
...@@ -20,14 +20,26 @@ ...@@ -20,14 +20,26 @@
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<span slot="label"> <span slot="label">
<el-tooltip class="item" effect="dark" content="当导购将此卡券送给客户后,此领券页面总共可被领取的次数。比如限制此卡券的领券页面仅1次,则客户成功领取后,即使其将此领券页面转发分享给其他好友,也不可再被领取,因为此领券页面只能被领取一次" placement="top-start"><span style="cursor: pointer;padding-bottom: 2px; border-bottom: 1px dashed #2F54EB;">领券页面可被领取次数</span></el-tooltip> 领券页面可被领取次数
<el-tooltip class="item" effect="dark" content="当导购将此卡券送给客户后,此领券页面总共可被领取的次数。比如限制此卡券的领券页面仅1次,则客户成功领取后,即使其将此领券页面转发分享给其他好友,也不可再被领取,因为此领券页面只能被领取一次" placement="top-start">
<i class="iconfont-components3 icon-cp-QuestionCircleOutlined"></i>
</el-tooltip>
</span> </span>
<el-radio-group v-model="formData.receiveTimes"> <el-radio-group v-model="formData.receiveTimes">
<el-radio :label="0">固定1次</el-radio> <el-radio :label="0">固定1次</el-radio>
<el-radio :label="1">不限次数</el-radio> <el-radio :label="1">不限次数</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<div class="el-form-item el-form-item--large"> <el-form-item>
<span slot="label">
选择发送范围
<el-tooltip class="item" effect="dark" content="卡券的发送范围设置" placement="top-start">
<i class="iconfont-components3 icon-cp-QuestionCircleOutlined"></i>
</el-tooltip>
</span>
<dm-store-selector v-if="!addTag && formData.id" :options="options" :uuid.sync="formData.storeWidgetId"></dm-store-selector>
</el-form-item>
<!-- <div class="el-form-item el-form-item--large">
<label for="name" class="el-form-item__label" style="width: 120px; cursor: pointer;"> <label for="name" class="el-form-item__label" style="width: 120px; cursor: pointer;">
<el-tooltip class="item" effect="dark" content="卡券的发送范围设置" placement="top-start"> <span style="cursor: pointer;padding-bottom: 2px; border-bottom: 1px dashed #2F54EB;">选择发送范围</span></el-tooltip> <el-tooltip class="item" effect="dark" content="卡券的发送范围设置" placement="top-start"> <span style="cursor: pointer;padding-bottom: 2px; border-bottom: 1px dashed #2F54EB;">选择发送范围</span></el-tooltip>
</label> </label>
...@@ -47,7 +59,7 @@ ...@@ -47,7 +59,7 @@
</div> </div>
<div v-if="(formData.sendRange == '1' || formData.sendRange == '2' || formData.sendRange == '3') && !formData.selectList.length" class="el-form-item__error">请选择发送范围</div> <div v-if="(formData.sendRange == '1' || formData.sendRange == '2' || formData.sendRange == '3') && !formData.selectList.length" class="el-form-item__error">请选择发送范围</div>
</div> </div>
</div> </div> -->
<!-- 卡券赠送调整:取消发放张数和发放总数的配置 --> <!-- 卡券赠送调整:取消发放张数和发放总数的配置 -->
<!-- <div class="el-form-item el-form-item--large"> <!-- <div class="el-form-item el-form-item--large">
<label for="name" class="el-form-item__label" style="width: 120px; cursor: pointer;"> <label for="name" class="el-form-item__label" style="width: 120px; cursor: pointer;">
...@@ -105,24 +117,24 @@ export default { ...@@ -105,24 +117,24 @@ export default {
gicSelectTag gicSelectTag
}, },
data() { data() {
const validateRange = (rule, value, callback) => { // const validateRange = (rule, value, callback) => {
if (value == '') { // if (value == '') {
return callback(new Error('请选择发送范围')); // return callback(new Error('请选择发送范围'));
} else if ((value == '1' || value == '2') && !this.formData.selectList.length) { // } else if ((value == '1' || value == '2') && !this.formData.selectList.length) {
return callback(new Error('请选择发送范围')); // return callback(new Error('请选择发送范围'));
} else { // } else {
callback(); // callback();
} // }
}; // };
const validateSendType = (rule, value, callback) => { // const validateSendType = (rule, value, callback) => {
if (value == '') { // if (value == '') {
return callback(new Error('请选择券发放总数')); // return callback(new Error('请选择券发放总数'));
} else if (value == '1' && !this.formData.totalSendTimes) { // } else if (value == '1' && !this.formData.totalSendTimes) {
return callback(new Error('请选择券发放总数')); // return callback(new Error('请选择券发放总数'));
} else { // } else {
callback(); // callback();
} // }
}; // };
/* const validateReceiveType = (rule, value, callback) => { /* const validateReceiveType = (rule, value, callback) => {
if (value == '') { if (value == '') {
return callback(new Error('请选择券领取总数')); return callback(new Error('请选择券领取总数'));
...@@ -133,6 +145,7 @@ export default { ...@@ -133,6 +145,7 @@ export default {
} }
}; */ }; */
return { return {
options: [0, 1, 2, 3, 4, 5],
activeBrand: this.brandId, // 商户(品牌) id activeBrand: this.brandId, // 商户(品牌) id
activeId: '3', activeId: '3',
wxEnterpriseId: sessionStorage.getItem('userInfos') ? JSON.parse(sessionStorage.getItem('userInfos')).wxEnterpriseId : '', wxEnterpriseId: sessionStorage.getItem('userInfos') ? JSON.parse(sessionStorage.getItem('userInfos')).wxEnterpriseId : '',
...@@ -141,19 +154,20 @@ export default { ...@@ -141,19 +154,20 @@ export default {
formData: { formData: {
id: '', id: '',
coupCardId: this.$route.query.coupCardId ? this.$route.query.coupCardId : '', coupCardId: this.$route.query.coupCardId ? this.$route.query.coupCardId : '',
sendRange: '0', storeWidgetId: '',
selectList: [], // sendRange: '0',
eachSendTimes: 3, // selectList: [],
sendType: '0', // eachSendTimes: 3,
receiveTimes: 0, // sendType: '0',
totalSendTimes: 0 receiveTimes: 0
// totalSendTimes: 0
}, },
rules: { rules: {
coupCardId: [{ required: true, message: '请选择卡券', trigger: 'change' }], coupCardId: [{ required: true, message: '请选择卡券', trigger: 'change' }]
sendRange: [{ validator: validateRange, trigger: 'change' }], // sendRange: [{ validator: validateRange, trigger: 'change' }],
sendType: [{ validator: validateSendType, trigger: 'change' }], // sendType: [{ validator: validateSendType, trigger: 'change' }],
// receiveType: [{ validator: validateReceiveType, trigger: 'change' }], // receiveType: [{ validator: validateReceiveType, trigger: 'change' }],
eachSendTimes: [{ required: true, message: '请输入券发放张数', trigger: 'blur' }] // eachSendTimes: [{ required: true, message: '请输入券发放张数', trigger: 'blur' }]
}, },
cardSelectShow: false, cardSelectShow: false,
addTag: true, // 默认是添加 addTag: true, // 默认是添加
...@@ -212,12 +226,12 @@ export default { ...@@ -212,12 +226,12 @@ export default {
*/ */
submitForm: _debounce(function(formName, flag) { submitForm: _debounce(function(formName, flag) {
const that = this; const that = this;
if ((that.formData.sendRange == '1' || that.formData.sendRange == '2' || that.formData.sendRange == '3') && !that.formData.selectList.length) { // if ((that.formData.sendRange == '1' || that.formData.sendRange == '2' || that.formData.sendRange == '3') && !that.formData.selectList.length) {
return false; // return false;
} // }
if (that.formData.sendType == '1' && !that.formData.totalSendTimes) { // if (that.formData.sendType == '1' && !that.formData.totalSendTimes) {
return false; // return false;
} // }
/* if (that.formData.receiveType == '1' && !that.formData.totalReceiveTimes) { /* if (that.formData.receiveType == '1' && !that.formData.totalReceiveTimes) {
return false; return false;
} */ } */
...@@ -232,23 +246,24 @@ export default { ...@@ -232,23 +246,24 @@ export default {
}, 300), }, 300),
postSaveCard(flag) { postSaveCard(flag) {
const that = this; const that = this;
let selectList = ''; // let selectList = '';
if (that.formData.sendRange == 1) { // if (that.formData.sendRange == 1) {
selectList = that.formData.selectList.map(item => item.storeGroupId).join(','); // selectList = that.formData.selectList.map(item => item.storeGroupId).join(',');
} else if (that.formData.sendRange == 2) { // } else if (that.formData.sendRange == 2) {
selectList = that.formData.selectList.join(','); // selectList = that.formData.selectList.join(',');
} else if (that.formData.sendRange == 3) { // } else if (that.formData.sendRange == 3) {
selectList = that.formData.selectList.map(item => item.tagId).join(','); // selectList = that.formData.selectList.map(item => item.tagId).join(',');
} // }
let para = { let para = {
id: that.formData.id, id: that.formData.id,
coupCardId: that.formData.coupCardId, coupCardId: that.formData.coupCardId,
sendRange: that.formData.sendRange, // sendRange: that.formData.sendRange,
selectList: selectList, // selectList: selectList,
receiveTimes: this.formData.receiveTimes, receiveTimes: this.formData.receiveTimes,
storeWidgetId: this.formData.storeWidgetId,
// eachSendTimes: that.formData.eachSendTimes || '0', // eachSendTimes: that.formData.eachSendTimes || '0',
// sendType: that.formData.sendType, // sendType: that.formData.sendType,
totalSendTimes: that.formData.totalSendTimes, // totalSendTimes: that.formData.totalSendTimes,
// receiveType: that.formData.receiveType, // receiveType: that.formData.receiveType,
// totalReceiveTimes: that.formData.totalReceiveTimes, // totalReceiveTimes: that.formData.totalReceiveTimes,
gicEnterpriseId: that.brandId, gicEnterpriseId: that.brandId,
...@@ -268,11 +283,13 @@ export default { ...@@ -268,11 +283,13 @@ export default {
that.formData = { that.formData = {
id: '', id: '',
coupCardId: '', coupCardId: '',
sendRange: '0', receiveTimes: this.formData.receiveTimes,
selectList: [], storeWidgetId: this.formData.storeWidgetId
eachSendTimes: 3, // sendRange: '0',
sendType: '0', // selectList: [],
totalSendTimes: 0 // eachSendTimes: 3,
// sendType: '0',
// totalSendTimes: 0
// receiveType: '0', // receiveType: '0',
// totalReceiveTimes: 0 // totalReceiveTimes: 0
}; };
...@@ -350,11 +367,12 @@ export default { ...@@ -350,11 +367,12 @@ export default {
that.formData = { that.formData = {
id: resData.result.detail.id, id: resData.result.detail.id,
coupCardId: resData.result.detail.coupCardId, coupCardId: resData.result.detail.coupCardId,
sendRange: String(resData.result.detail.sendRange), storeWidgetId: resData.result.detail.storeWidgetId,
selectList: resData.result.detail.sendRange != 0 ? (resData.result.detail.sendRange == 2 ? resData.result.list.map(item => item.id) : resData.result.list) : [], // sendRange: String(resData.result.detail.sendRange),
eachSendTimes: resData.result.detail.eachSendTimes, // selectList: resData.result.detail.sendRange != 0 ? (resData.result.detail.sendRange == 2 ? resData.result.list.map(item => item.id) : resData.result.list) : [],
sendType: String(resData.result.detail.sendType), // eachSendTimes: resData.result.detail.eachSendTimes,
totalSendTimes: resData.result.detail.totalSendTimes, // sendType: String(resData.result.detail.sendType),
// totalSendTimes: resData.result.detail.totalSendTimes,
receiveTimes: resData.result.detail.receiveTimes receiveTimes: resData.result.detail.receiveTimes
// receiveType: String(resData.result.detail.receiveType), // receiveType: String(resData.result.detail.receiveType),
// totalReceiveTimes: resData.result.detail.totalReceiveTimes // totalReceiveTimes: resData.result.detail.totalReceiveTimes
......
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