|
@@ -66,7 +66,7 @@
|
|
<div v-if="form.promoRuleType == 'BUY_PROD_GIVE_MONEY'">
|
|
<div v-if="form.promoRuleType == 'BUY_PROD_GIVE_MONEY'">
|
|
<a-form-model-item label="促销设置" prop="orderRuleType">
|
|
<a-form-model-item label="促销设置" prop="orderRuleType">
|
|
<a-radio-group v-model="form.orderRuleType" @change="radioChange">
|
|
<a-radio-group v-model="form.orderRuleType" @change="radioChange">
|
|
- <a-radio value="prod_qty" style="margin-bottom: 10px;">
|
|
|
|
|
|
+ <a-radio value="PROD_QTY" style="margin-bottom: 10px;">
|
|
购买满
|
|
购买满
|
|
<a-form-model-item prop="orderAmounts" :label-col="{span: 0}" style="display: inline-block;">
|
|
<a-form-model-item prop="orderAmounts" :label-col="{span: 0}" style="display: inline-block;">
|
|
<a-input-number
|
|
<a-input-number
|
|
@@ -91,7 +91,7 @@
|
|
</a-form-model-item>
|
|
</a-form-model-item>
|
|
元采购额可用于购买促销品
|
|
元采购额可用于购买促销品
|
|
</a-radio>
|
|
</a-radio>
|
|
- <a-radio value="order_amount">
|
|
|
|
|
|
+ <a-radio value="ORDER_AMOUNT">
|
|
购买满
|
|
购买满
|
|
<a-form-model-item prop="orderAmount" :label-col="{span: 0}" style="display: inline-block;">
|
|
<a-form-model-item prop="orderAmount" :label-col="{span: 0}" style="display: inline-block;">
|
|
<a-input-number
|
|
<a-input-number
|
|
@@ -215,16 +215,10 @@ export default {
|
|
orderGoodsQty: [{ required: true, message: '请输入正价品数量', trigger: 'blur' }],
|
|
orderGoodsQty: [{ required: true, message: '请输入正价品数量', trigger: 'blur' }],
|
|
promoQty: [{ required: true, message: '请输入促销品数量', trigger: 'blur' }],
|
|
promoQty: [{ required: true, message: '请输入促销品数量', trigger: 'blur' }],
|
|
orderRuleType: [{ required: true, message: '请选择促销方式', trigger: 'change' }],
|
|
orderRuleType: [{ required: true, message: '请选择促销方式', trigger: 'change' }],
|
|
- orderAmounts: [{ required: true, message: '请输入正价品金额', trigger: 'blur' }],
|
|
|
|
- orderAmount: [{ required: true, message: '请输入正价品金额', trigger: 'blur' }],
|
|
|
|
- promoAmount: [
|
|
|
|
- // { required: true, message: '请输入采购额', trigger: 'blur' },
|
|
|
|
- { validator: this.promoAmountValidator }
|
|
|
|
- ],
|
|
|
|
- promoAmountPer: [
|
|
|
|
- // { required: true, message: '请输入百分比', trigger: 'blur' }
|
|
|
|
- { validator: this.promoAmountPerValidator }
|
|
|
|
- ],
|
|
|
|
|
|
+ orderAmounts: [ { validator: this.orderAmountsValidator } ],
|
|
|
|
+ orderAmount: [ { validator: this.orderAmountValidator } ],
|
|
|
|
+ promoAmount: [ { validator: this.promoAmountValidator } ],
|
|
|
|
+ promoAmountPer: [ { validator: this.promoAmountPerValidator } ],
|
|
normalGoodsList: [{ required: true, message: '请选择正价品', trigger: 'change' }],
|
|
normalGoodsList: [{ required: true, message: '请选择正价品', trigger: 'change' }],
|
|
promoGoodsList: [{ required: true, message: '请选择促销品', trigger: 'change' }]
|
|
promoGoodsList: [{ required: true, message: '请选择促销品', trigger: 'change' }]
|
|
},
|
|
},
|
|
@@ -269,14 +263,36 @@ export default {
|
|
item.name = item.goodsName
|
|
item.name = item.goodsName
|
|
})
|
|
})
|
|
}
|
|
}
|
|
|
|
+ if (data.promoRuleType == 'BUY_PROD_GIVE_MONEY' && data.orderRuleType == 'PROD_QTY') { // 买产品送采购额 金额
|
|
|
|
+ this.form.orderAmounts = data.orderAmount
|
|
|
|
+ } else if (data.promoRuleType == 'BUY_PROD_GIVE_MONEY' && data.orderRuleType == 'ORDER_AMOUNT') { // 买产品送采购额 百分比
|
|
|
|
+ this.form.promoAmountPer = Number(data.promoAmountPer) * 100
|
|
|
|
+ this.form.promoAmount = data.promoAmount == 0 ? null : data.promoAmount
|
|
|
|
+ }
|
|
this.normalGoodsList = data.normalGoodsList || []
|
|
this.normalGoodsList = data.normalGoodsList || []
|
|
this.promoGoodsList = data.promoGoodsList || []
|
|
this.promoGoodsList = data.promoGoodsList || []
|
|
}
|
|
}
|
|
})
|
|
})
|
|
},
|
|
},
|
|
|
|
+ // 采购金额自定义校验 金额
|
|
|
|
+ orderAmountsValidator (rule, value, callback) {
|
|
|
|
+ if (this.form.orderRuleType == 'PROD_QTY' && !value) {
|
|
|
|
+ callback(new Error('请输入正价品金额'))
|
|
|
|
+ } else {
|
|
|
|
+ callback()
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ // 采购金额自定义校验 百分比
|
|
|
|
+ orderAmountValidator (rule, value, callback) {
|
|
|
|
+ if (this.form.orderRuleType == 'ORDER_AMOUNT' && !value) {
|
|
|
|
+ callback(new Error('请输入正价品金额'))
|
|
|
|
+ } else {
|
|
|
|
+ callback()
|
|
|
|
+ }
|
|
|
|
+ },
|
|
// 采购额百分比自定义校验
|
|
// 采购额百分比自定义校验
|
|
promoAmountValidator (rule, value, callback) {
|
|
promoAmountValidator (rule, value, callback) {
|
|
- if (this.form.orderRuleType == 'prod_qty' && !value) {
|
|
|
|
|
|
+ if (this.form.orderRuleType == 'PROD_QTY' && !value) {
|
|
callback(new Error('请输入采购额'))
|
|
callback(new Error('请输入采购额'))
|
|
} else {
|
|
} else {
|
|
callback()
|
|
callback()
|
|
@@ -284,7 +300,7 @@ export default {
|
|
},
|
|
},
|
|
// 采购额百分比自定义校验
|
|
// 采购额百分比自定义校验
|
|
promoAmountPerValidator (rule, value, callback) {
|
|
promoAmountPerValidator (rule, value, callback) {
|
|
- if (this.form.orderRuleType == 'order_amount' && !value) {
|
|
|
|
|
|
+ if (this.form.orderRuleType == 'ORDER_AMOUNT' && !value) {
|
|
callback(new Error('请输入百分比'))
|
|
callback(new Error('请输入百分比'))
|
|
} else {
|
|
} else {
|
|
callback()
|
|
callback()
|
|
@@ -296,15 +312,16 @@ export default {
|
|
// 处理表单校验
|
|
// 处理表单校验
|
|
_this.form.normalGoodsList = this.normalGoodsList.length > 0 ? 'a' : ''
|
|
_this.form.normalGoodsList = this.normalGoodsList.length > 0 ? 'a' : ''
|
|
_this.form.promoGoodsList = this.promoGoodsList.length > 0 ? 'a' : ''
|
|
_this.form.promoGoodsList = this.promoGoodsList.length > 0 ? 'a' : ''
|
|
- console.log(this.form)
|
|
|
|
this.$refs.ruleForm.validate(valid => {
|
|
this.$refs.ruleForm.validate(valid => {
|
|
if (valid) {
|
|
if (valid) {
|
|
const form = JSON.parse(JSON.stringify(_this.form))
|
|
const form = JSON.parse(JSON.stringify(_this.form))
|
|
form.normalGoodsList = this.normalGoodsList
|
|
form.normalGoodsList = this.normalGoodsList
|
|
form.promoGoodsList = this.promoGoodsList
|
|
form.promoGoodsList = this.promoGoodsList
|
|
form.promoActiveSn = this.$route.params.sn
|
|
form.promoActiveSn = this.$route.params.sn
|
|
- if (form.promoRuleType == 'BUY_PROD_GIVE_MONEY' && form.orderRuleType == 'order_amount') { // 买产品送采购额 百分比
|
|
|
|
|
|
+ if (form.promoRuleType == 'BUY_PROD_GIVE_MONEY' && form.orderRuleType == 'ORDER_AMOUNT') { // 买产品送采购额 百分比
|
|
form.promoAmountPer = Number(form.promoAmountPer) / 100
|
|
form.promoAmountPer = Number(form.promoAmountPer) / 100
|
|
|
|
+ } else if (form.promoRuleType == 'BUY_PROD_GIVE_MONEY' && form.orderRuleType == 'PROD_QTY') { // 买产品送采购额 金额
|
|
|
|
+ form.orderAmount = form.orderAmounts
|
|
}
|
|
}
|
|
promoRuleSave(form).then(res => {
|
|
promoRuleSave(form).then(res => {
|
|
if (res.status == 200) {
|
|
if (res.status == 200) {
|
|
@@ -342,15 +359,29 @@ export default {
|
|
closePriceProducts () {
|
|
closePriceProducts () {
|
|
this.openPriceProductsModal = false
|
|
this.openPriceProductsModal = false
|
|
},
|
|
},
|
|
- radioChange (val) {
|
|
|
|
-
|
|
|
|
|
|
+ radioChange (e) {
|
|
|
|
+ if (e.target.value == 'PROD_QTY') {
|
|
|
|
+ this.form.orderAmount = null
|
|
|
|
+ this.form.promoAmountPer = null
|
|
|
|
+ } else if (e.target.value == 'ORDER_AMOUNT') {
|
|
|
|
+ this.form.orderAmounts = null
|
|
|
|
+ this.form.promoAmount = null
|
|
|
|
+ }
|
|
},
|
|
},
|
|
// 促销类型 change
|
|
// 促销类型 change
|
|
changeType (val) {
|
|
changeType (val) {
|
|
- this.$refs.ruleForm.resetFields()
|
|
|
|
|
|
+ this.form.promoRuleType = val
|
|
|
|
+ this.form.orderGoodsQty = ''
|
|
|
|
+ this.form.promoQty = ''
|
|
|
|
+ this.form.orderRuleType = undefined
|
|
|
|
+ this.form.orderAmounts = ''
|
|
|
|
+ this.form.orderAmount = ''
|
|
|
|
+ this.form.promoAmount = ''
|
|
|
|
+ this.form.promoAmountPer = ''
|
|
|
|
+ this.form.normalGoodsList = ''
|
|
|
|
+ this.form.promoGoodsList = ''
|
|
this.normalGoodsList = []
|
|
this.normalGoodsList = []
|
|
this.promoGoodsList = []
|
|
this.promoGoodsList = []
|
|
- this.form.promoRuleType = val
|
|
|
|
}
|
|
}
|
|
},
|
|
},
|
|
watch: {
|
|
watch: {
|