chenrui hai 1 ano
pai
achega
720585eb63

+ 48 - 68
src/views/promotionRulesManagement/dealerPromotions/sendProductsModal.vue

@@ -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;
     }