Commit f0e47084 by caoyanzhi

update: 新建卡券

parent 76a232b2
......@@ -10,7 +10,7 @@
<template>
<section class="common-right-wrap" v-loading="loadingPage">
<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">
<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>
......@@ -20,14 +20,26 @@
</el-form-item>
<el-form-item>
<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>
<el-radio-group v-model="formData.receiveTimes">
<el-radio :label="0">固定1次</el-radio>
<el-radio :label="1">不限次数</el-radio>
</el-radio-group>
</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;">
<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>
......@@ -47,7 +59,7 @@
</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 class="el-form-item el-form-item--large">
<label for="name" class="el-form-item__label" style="width: 120px; cursor: pointer;">
......@@ -105,24 +117,24 @@ export default {
gicSelectTag
},
data() {
const validateRange = (rule, value, callback) => {
if (value == '') {
return callback(new Error('请选择发送范围'));
} else if ((value == '1' || value == '2') && !this.formData.selectList.length) {
return callback(new Error('请选择发送范围'));
} else {
callback();
}
};
const validateSendType = (rule, value, callback) => {
if (value == '') {
return callback(new Error('请选择券发放总数'));
} else if (value == '1' && !this.formData.totalSendTimes) {
return callback(new Error('请选择券发放总数'));
} else {
callback();
}
};
// const validateRange = (rule, value, callback) => {
// if (value == '') {
// return callback(new Error('请选择发送范围'));
// } else if ((value == '1' || value == '2') && !this.formData.selectList.length) {
// return callback(new Error('请选择发送范围'));
// } else {
// callback();
// }
// };
// const validateSendType = (rule, value, callback) => {
// if (value == '') {
// return callback(new Error('请选择券发放总数'));
// } else if (value == '1' && !this.formData.totalSendTimes) {
// return callback(new Error('请选择券发放总数'));
// } else {
// callback();
// }
// };
/* const validateReceiveType = (rule, value, callback) => {
if (value == '') {
return callback(new Error('请选择券领取总数'));
......@@ -133,6 +145,7 @@ export default {
}
}; */
return {
options: [0, 1, 2, 3, 4, 5],
activeBrand: this.brandId, // 商户(品牌) id
activeId: '3',
wxEnterpriseId: sessionStorage.getItem('userInfos') ? JSON.parse(sessionStorage.getItem('userInfos')).wxEnterpriseId : '',
......@@ -141,19 +154,20 @@ export default {
formData: {
id: '',
coupCardId: this.$route.query.coupCardId ? this.$route.query.coupCardId : '',
sendRange: '0',
selectList: [],
eachSendTimes: 3,
sendType: '0',
receiveTimes: 0,
totalSendTimes: 0
storeWidgetId: '',
// sendRange: '0',
// selectList: [],
// eachSendTimes: 3,
// sendType: '0',
receiveTimes: 0
// totalSendTimes: 0
},
rules: {
coupCardId: [{ required: true, message: '请选择卡券', trigger: 'change' }],
sendRange: [{ validator: validateRange, trigger: 'change' }],
sendType: [{ validator: validateSendType, trigger: 'change' }],
coupCardId: [{ required: true, message: '请选择卡券', trigger: 'change' }]
// sendRange: [{ validator: validateRange, trigger: 'change' }],
// sendType: [{ validator: validateSendType, trigger: 'change' }],
// receiveType: [{ validator: validateReceiveType, trigger: 'change' }],
eachSendTimes: [{ required: true, message: '请输入券发放张数', trigger: 'blur' }]
// eachSendTimes: [{ required: true, message: '请输入券发放张数', trigger: 'blur' }]
},
cardSelectShow: false,
addTag: true, // 默认是添加
......@@ -212,12 +226,12 @@ export default {
*/
submitForm: _debounce(function(formName, flag) {
const that = this;
if ((that.formData.sendRange == '1' || that.formData.sendRange == '2' || that.formData.sendRange == '3') && !that.formData.selectList.length) {
return false;
}
if (that.formData.sendType == '1' && !that.formData.totalSendTimes) {
return false;
}
// if ((that.formData.sendRange == '1' || that.formData.sendRange == '2' || that.formData.sendRange == '3') && !that.formData.selectList.length) {
// return false;
// }
// if (that.formData.sendType == '1' && !that.formData.totalSendTimes) {
// return false;
// }
/* if (that.formData.receiveType == '1' && !that.formData.totalReceiveTimes) {
return false;
} */
......@@ -232,23 +246,24 @@ export default {
}, 300),
postSaveCard(flag) {
const that = this;
let selectList = '';
if (that.formData.sendRange == 1) {
selectList = that.formData.selectList.map(item => item.storeGroupId).join(',');
} else if (that.formData.sendRange == 2) {
selectList = that.formData.selectList.join(',');
} else if (that.formData.sendRange == 3) {
selectList = that.formData.selectList.map(item => item.tagId).join(',');
}
// let selectList = '';
// if (that.formData.sendRange == 1) {
// selectList = that.formData.selectList.map(item => item.storeGroupId).join(',');
// } else if (that.formData.sendRange == 2) {
// selectList = that.formData.selectList.join(',');
// } else if (that.formData.sendRange == 3) {
// selectList = that.formData.selectList.map(item => item.tagId).join(',');
// }
let para = {
id: that.formData.id,
coupCardId: that.formData.coupCardId,
sendRange: that.formData.sendRange,
selectList: selectList,
// sendRange: that.formData.sendRange,
// selectList: selectList,
receiveTimes: this.formData.receiveTimes,
storeWidgetId: this.formData.storeWidgetId,
// eachSendTimes: that.formData.eachSendTimes || '0',
// sendType: that.formData.sendType,
totalSendTimes: that.formData.totalSendTimes,
// totalSendTimes: that.formData.totalSendTimes,
// receiveType: that.formData.receiveType,
// totalReceiveTimes: that.formData.totalReceiveTimes,
gicEnterpriseId: that.brandId,
......@@ -268,11 +283,13 @@ export default {
that.formData = {
id: '',
coupCardId: '',
sendRange: '0',
selectList: [],
eachSendTimes: 3,
sendType: '0',
totalSendTimes: 0
receiveTimes: this.formData.receiveTimes,
storeWidgetId: this.formData.storeWidgetId
// sendRange: '0',
// selectList: [],
// eachSendTimes: 3,
// sendType: '0',
// totalSendTimes: 0
// receiveType: '0',
// totalReceiveTimes: 0
};
......@@ -350,11 +367,12 @@ export default {
that.formData = {
id: resData.result.detail.id,
coupCardId: resData.result.detail.coupCardId,
sendRange: String(resData.result.detail.sendRange),
selectList: resData.result.detail.sendRange != 0 ? (resData.result.detail.sendRange == 2 ? resData.result.list.map(item => item.id) : resData.result.list) : [],
eachSendTimes: resData.result.detail.eachSendTimes,
sendType: String(resData.result.detail.sendType),
totalSendTimes: resData.result.detail.totalSendTimes,
storeWidgetId: resData.result.detail.storeWidgetId,
// sendRange: String(resData.result.detail.sendRange),
// selectList: resData.result.detail.sendRange != 0 ? (resData.result.detail.sendRange == 2 ? resData.result.list.map(item => item.id) : resData.result.list) : [],
// eachSendTimes: resData.result.detail.eachSendTimes,
// sendType: String(resData.result.detail.sendType),
// totalSendTimes: resData.result.detail.totalSendTimes,
receiveTimes: resData.result.detail.receiveTimes
// receiveType: String(resData.result.detail.receiveType),
// 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