|
@@ -17,14 +17,16 @@
|
|
|
:label-col="formItemLayout.labelCol"
|
|
|
:wrapper-col="formItemLayout.wrapperCol" >
|
|
|
<a-form-model-item label="规则门槛" prop="gateFlag">
|
|
|
- <a-radio-group v-model="form.gateFlag" button-style="solid" size="small" @change="changeGateFlag">
|
|
|
- <a-radio-button value="1">
|
|
|
- 有
|
|
|
- </a-radio-button>
|
|
|
- <a-radio-button value="0">
|
|
|
- 无
|
|
|
- </a-radio-button>
|
|
|
- </a-radio-group>
|
|
|
+ <div class="fixWidthBox">
|
|
|
+ <a-radio-group v-model="form.gateFlag" button-style="solid" size="small" @change="changeGateFlag">
|
|
|
+ <a-radio-button value="1">
|
|
|
+ 有
|
|
|
+ </a-radio-button>
|
|
|
+ <a-radio-button value="0">
|
|
|
+ 无
|
|
|
+ </a-radio-button>
|
|
|
+ </a-radio-group>
|
|
|
+ </div>
|
|
|
<div v-if="form.gateFlag && form.gateFlag === '1'">
|
|
|
<v-select
|
|
|
size="small"
|
|
@@ -67,6 +69,8 @@
|
|
|
<div class="ruleDescList" v-for="(con,i) in fullGiftRuleList" :key="i">
|
|
|
<span>{{ i*1+1 }}、</span>
|
|
|
<a-input type="hidden" name="scopeLevel" :value="i*1+1"/>
|
|
|
+ <a-input type="hidden" name="regularSameFlag" :value="con.regularSameFlag"/>
|
|
|
+ <a-input type="hidden" name="regularUnit" :value="con.regularUnit"/>
|
|
|
<a-select default-value="1" v-model="con.regularSameFlag" style="width: 100px" size="small" @change="handleFullGift">
|
|
|
<a-select-option value="1">
|
|
|
同款
|
|
@@ -117,7 +121,7 @@
|
|
|
:precision="0"
|
|
|
size="small"
|
|
|
style="margin-right:10px;"/>
|
|
|
- <a-checkbox :checked="form.restrictFlag === '1'" size="small" @change="onChange">
|
|
|
+ <a-checkbox :checked="form.convertExpenseFlag==='1'" size="small" @change="onChangeConvert">
|
|
|
可转费用报销单
|
|
|
</a-checkbox>
|
|
|
</div>
|
|
@@ -134,27 +138,29 @@
|
|
|
<span style="color:gray;">(如:满10送2,数量叠加则:满20送4,满30送6)</span>
|
|
|
</a-form-model-item>
|
|
|
<a-form-model-item label="促销品与正品一致" prop="regularPromotionSameFlag">
|
|
|
- <a-radio-group v-model="form.regularPromotionSameFlag" button-style="solid" size="small" :disabled="form.regularSameFlag==0">
|
|
|
- <a-radio value="1">
|
|
|
- 是
|
|
|
- </a-radio>
|
|
|
- <a-radio value="0">
|
|
|
- 否
|
|
|
- </a-radio>
|
|
|
- </a-radio-group>
|
|
|
+ <div class="fixWidthBox">
|
|
|
+ <a-radio-group v-model="form.regularPromotionSameFlag" button-style="solid" size="small" :disabled="form.regularSameFlag==0">
|
|
|
+ <a-radio-button value="1">
|
|
|
+ 是
|
|
|
+ </a-radio-button>
|
|
|
+ <a-radio-button value="0">
|
|
|
+ 否
|
|
|
+ </a-radio-button>
|
|
|
+ </a-radio-group>
|
|
|
+ </div>
|
|
|
</a-form-model-item>
|
|
|
</a-form-model>
|
|
|
<a-card size="small" :bordered="false" class="pages-wrap">
|
|
|
<div class="flex">
|
|
|
- <a-radio-group v-model="chooseVal" button-style="solid">
|
|
|
+ <a-radio-group v-model="chooseVal" button-style="solid" @change="onChooseVal">
|
|
|
<a-radio-button value="a" v-show="form.gateFlag==='1'">
|
|
|
门槛产品
|
|
|
</a-radio-button>
|
|
|
<a-radio-button value="b">
|
|
|
正价产品
|
|
|
</a-radio-button>
|
|
|
- <a-radio-button value="c" v-show="form.regularPromotionSameFlag==='0'">
|
|
|
- 促销产品
|
|
|
+ <a-radio-button :value="'c'+i" v-for="(item,i) in fullGiftRuleList" :key="i" v-show="form.regularPromotionSameFlag==='0'">
|
|
|
+ {{ i==0?'促销产品':'阶梯'+(i*1+1)+'促销产品' }}
|
|
|
</a-radio-button>
|
|
|
</a-radio-group>
|
|
|
<a-button
|
|
@@ -166,7 +172,7 @@
|
|
|
</div>
|
|
|
<div v-show="chooseVal=='a'"><tableType1 ref="cillProduct"></tableType1></div>
|
|
|
<div v-show="chooseVal=='b'"><tableType1 ref="normalPriceProduct"></tableType1></div>
|
|
|
- <div v-show="chooseVal=='c'"><tableType2 ref="offerProduct"></tableType2></div>
|
|
|
+ <div v-show="chooseVal==('c'+i)" v-for="(item,i) in fullGiftRuleList" :key="i" ><tableType1 :ref="'offerProduct'+i"></tableType1></div>
|
|
|
</a-card>
|
|
|
<div class="btn-cont">
|
|
|
<a-button id="promotionList-basicInfo-modal-back" @click="isShow = false">取消</a-button>
|
|
@@ -220,23 +226,19 @@ export default {
|
|
|
promotionValue: undefined
|
|
|
}],
|
|
|
form: {
|
|
|
+ giveRuleType: 'RATIO', // 满赠规则类型: SUM_MONEY[金额叠加] / RATIO[按比例] 满产品送产品写死为: 按比例
|
|
|
promotionRuleType: 'BUY_PROD_GIVE_PROD', // 买产品送产品
|
|
|
description: '', // 简称
|
|
|
gateFlag: '0', // 门槛
|
|
|
gateType: undefined,
|
|
|
gateAmount: undefined,
|
|
|
quotaAmount: undefined,
|
|
|
- regularSameFlag: '1', // 满赠规则 不同款商品
|
|
|
+ regularSameFlag: '1', // 满赠规则 同款不同款商品
|
|
|
regularUnit: '',
|
|
|
- regularQty: undefined,
|
|
|
- promotionQty: undefined,
|
|
|
restrictFlag: '0', // 限制正价产品款数
|
|
|
+ convertExpenseFlag: '0', // 转费用报销标记
|
|
|
restrictCategory: '',
|
|
|
accrualFlag: '1', // 数量叠加
|
|
|
- minOrderFlag: '0', // 起订金额
|
|
|
- minOrderAmount: undefined,
|
|
|
- upperLimitFlag: '0', // 活动经费上限
|
|
|
- upperLimitAmount: undefined,
|
|
|
regularPromotionSameFlag: '1'
|
|
|
},
|
|
|
rules: {
|
|
@@ -244,8 +246,6 @@ export default {
|
|
|
gateFlag: [ { required: true, message: '请选择规则门槛', trigger: 'change' } ],
|
|
|
regularSameFlag: [{ required: true, message: '请选择满赠规则', trigger: 'change' }],
|
|
|
accrualFlag: [{ required: true, message: '请选择数量是否叠加', trigger: 'change' }],
|
|
|
- minOrderFlag: [{ required: true, message: '请选择订单起订金额', trigger: 'change' }],
|
|
|
- upperLimitFlag: [{ required: true, message: '请选择活动经费上限', trigger: 'change' }],
|
|
|
regularPromotionSameFlag: [{ required: true, message: '请选择促销品与正品是否一致', trigger: 'change' }]
|
|
|
},
|
|
|
chooseVal: 'a',
|
|
@@ -253,6 +253,10 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
methods: {
|
|
|
+ onChooseVal (e) {
|
|
|
+ console.log('111111111:', e.target.value)
|
|
|
+ this.chooseVal = e.target.value
|
|
|
+ },
|
|
|
// 新增 满减规则 最多能添加五个
|
|
|
addFullGiftRule () {
|
|
|
const obj = {
|
|
@@ -291,18 +295,21 @@ export default {
|
|
|
onChange (e) {
|
|
|
this.form.restrictFlag = e.target.checked ? '1' : '0'
|
|
|
},
|
|
|
+ onChangeConvert (e) {
|
|
|
+ this.form.convertExpenseFlag = e.target.checked ? '1' : '0'
|
|
|
+ },
|
|
|
// 门槛切换 tab 按钮默认显示问题
|
|
|
changeGateFlag (e) {
|
|
|
- if (this.chooseVal != 'c') {
|
|
|
- if (e.target.value == '0') {
|
|
|
- this.chooseVal = 'b'
|
|
|
- this.form.gateType = undefined
|
|
|
- this.form.gateAmount = undefined
|
|
|
- this.form.quotaAmount = undefined
|
|
|
- } else {
|
|
|
- this.chooseVal = 'a'
|
|
|
- }
|
|
|
- }
|
|
|
+ // if (this.chooseVal != 'c') {
|
|
|
+ // if (e.target.value == '0') {
|
|
|
+ // this.chooseVal = 'b'
|
|
|
+ // this.form.gateType = undefined
|
|
|
+ // this.form.gateAmount = undefined
|
|
|
+ // this.form.quotaAmount = undefined
|
|
|
+ // } else {
|
|
|
+ // this.chooseVal = 'a'
|
|
|
+ // }
|
|
|
+ // }
|
|
|
},
|
|
|
changeGateTypeFlag (val) {
|
|
|
this.form.gateType = val
|
|
@@ -329,31 +336,10 @@ export default {
|
|
|
return
|
|
|
}
|
|
|
}
|
|
|
- if (!_this.form.regularQty || !_this.form.promotionQty) {
|
|
|
- _this.$message.warning('满赠规则条件不能为空!')
|
|
|
- return
|
|
|
- }
|
|
|
if (_this.form.restrictFlag === '1' && !_this.form.restrictCategory) {
|
|
|
_this.$message.warning('请输入限制正价产品款数个数!')
|
|
|
return
|
|
|
}
|
|
|
-
|
|
|
- if (_this.form.minOrderFlag == 1 && !_this.form.minOrderAmount) {
|
|
|
- _this.$message.warning('请输入订单起订限制金额数!')
|
|
|
- return
|
|
|
- }
|
|
|
- if (_this.form.minOrderFlag == 0) {
|
|
|
- _this.form.minOrderAmount = undefined
|
|
|
- }
|
|
|
-
|
|
|
- if (_this.form.upperLimitFlag == 1 && !_this.form.upperLimitAmount) {
|
|
|
- _this.$message.warning('请输入活动经费上限金额!')
|
|
|
- return
|
|
|
- }
|
|
|
- if (_this.form.upperLimitFlag == 0) {
|
|
|
- _this.form.upperLimitAmount = undefined
|
|
|
- }
|
|
|
-
|
|
|
const form = JSON.parse(JSON.stringify(_this.form))
|
|
|
let rowFlag1 = null
|
|
|
let rowFlag2 = null
|
|
@@ -460,15 +446,9 @@ export default {
|
|
|
gateAmount: undefined,
|
|
|
quotaAmount: undefined,
|
|
|
regularSameFlag: '1', // 满赠规则 不同款商品
|
|
|
- regularQty: undefined,
|
|
|
- promotionQty: undefined,
|
|
|
restrictFlag: '0', // 限制正价产品款数
|
|
|
restrictCategory: '',
|
|
|
accrualFlag: '1', // 数量叠加
|
|
|
- minOrderFlag: '0', // 起订金额
|
|
|
- minOrderAmount: undefined,
|
|
|
- upperLimitFlag: '0', // 活动经费上限
|
|
|
- upperLimitAmount: undefined,
|
|
|
regularPromotionSameFlag: '1',
|
|
|
gateProductList: undefined,
|
|
|
giftProductList: undefined,
|
|
@@ -594,7 +574,7 @@ export default {
|
|
|
max-height: 745px !important;
|
|
|
overflow-y: scroll !important;
|
|
|
}
|
|
|
- .ant-radio-button-wrapper{
|
|
|
+ .fixWidthBox .ant-radio-button-wrapper{
|
|
|
width:80px;
|
|
|
text-align: center;
|
|
|
}
|