Browse Source

bug修复

chenrui 4 năm trước cách đây
mục cha
commit
dce2110441
1 tập tin đã thay đổi với 143 bổ sung138 xóa
  1. 143 138
      src/views/promotionRulesManagement/promotionRules/editRuleModal.vue

+ 143 - 138
src/views/promotionRulesManagement/promotionRules/editRuleModal.vue

@@ -8,29 +8,132 @@
     v-model="isShow"
     @cancle="isShow = false"
     :width="960">
-    <a-form-model
-      id="promotionRules-rule-form"
-      ref="ruleForm"
-      :model="form"
-      :rules="rules"
-      :label-col="formItemLayout.labelCol"
-      :wrapper-col="formItemLayout.wrapperCol"
-    >
-      <a-form-model-item label="促销类型" prop="promoRuleType" :extra="extra">
-        <v-select
-          code="PROMO_RULE_TYPE"
-          id="promotionRules-rule-promoRuleType"
-          v-model="form.promoRuleType"
-          allowClear
-          @change="changeType"
-          placeholder="请选择促销类型"
-        ></v-select>
-      </a-form-model-item>
-      <!-- 买产品送产品 -->
-      <div v-if="form.promoRuleType == 'BUY_PROD_GIVE_PROD'">
-        <a-form-model-item label="促销设置" required>
-          购买满
-          <a-form-model-item prop="orderGoodsQty" :label-col="{span: 0}" style="display: inline-block;">
+    <a-spin tip="Loading..." :spinning="spinLoading">
+      <a-form-model
+        id="promotionRules-rule-form"
+        ref="ruleForm"
+        :model="form"
+        :rules="rules"
+        :label-col="formItemLayout.labelCol"
+        :wrapper-col="formItemLayout.wrapperCol"
+      >
+        <a-form-model-item label="促销类型" prop="promoRuleType" :extra="extra">
+          <v-select
+            code="PROMO_RULE_TYPE"
+            id="promotionRules-rule-promoRuleType"
+            v-model="form.promoRuleType"
+            allowClear
+            @change="changeType"
+            placeholder="请选择促销类型"
+          ></v-select>
+        </a-form-model-item>
+        <!-- 买产品送产品 -->
+        <div v-if="form.promoRuleType == 'BUY_PROD_GIVE_PROD'">
+          <a-form-model-item label="促销设置" required>
+            购买满
+            <a-form-model-item prop="orderGoodsQty" :label-col="{span: 0}" style="display: inline-block;">
+              <a-input-number
+                id="promotionRules-rule-orderGoodsQty"
+                v-model="form.orderGoodsQty"
+                :precision="0"
+                :min="1"
+                :max="999999"
+                placeholder="请输入数量"
+                style="width: 100%;" />
+            </a-form-model-item>
+            个正价产品,送
+            <a-form-model-item prop="promoQty" :label-col="{span: 0}" style="display: inline-block;">
+              <a-input-number
+                id="promotionRules-rule-promoQty"
+                v-model="form.promoQty"
+                :precision="0"
+                :min="1"
+                :max="999999"
+                placeholder="请输入数量"
+                style="width: 100%;" />
+            </a-form-model-item>
+            个促销品
+          </a-form-model-item>
+          <a-form-model-item label="正价产品" prop="normalGoodsList">
+            <a-button id="promotionRules-rule-normalGoodsList" type="primary" class="button-success" @click="chooseProduct('normal')">选择</a-button>
+          </a-form-model-item>
+          <a-form-model-item label="促销品" prop="promoGoodsList">
+            <a-button id="promotionRules-rule-promoGoodsList" type="primary" class="button-success" @click="chooseProduct('promo')">选择</a-button>
+          </a-form-model-item>
+        </div>
+        <!-- 买产品送采购额 -->
+        <div v-if="form.promoRuleType == 'BUY_PROD_GIVE_MONEY'">
+          <a-form-model-item label="促销设置" prop="promoType">
+            <a-radio-group v-model="form.promoType" @change="radioChange">
+              <a-radio value="promo_amount" style="margin-bottom: 10px;">
+                购买满
+                <a-form-model-item prop="orderAmounts" :label-col="{span: 0}" style="display: inline-block;">
+                  <a-input-number
+                    id="promotionRules-rule-orderAmounts"
+                    v-model="form.orderAmounts"
+                    :precision="2"
+                    :min="0.1"
+                    :max="999999"
+                    placeholder="请输入金额"
+                    style="width: 100%;" />
+                </a-form-model-item>
+                元正价产品,送
+                <a-form-model-item prop="promoAmount" :label-col="{span: 0}" style="display: inline-block;">
+                  <a-input-number
+                    id="promotionRules-rule-promoAmount"
+                    v-model="form.promoAmount"
+                    :precision="2"
+                    :min="0.1"
+                    :max="999999"
+                    placeholder="请输入金额"
+                    style="width: 100%;" />
+                </a-form-model-item>
+                元采购额可用于购买促销品
+              </a-radio>
+              <a-radio value="promo_amount_per">
+                购买满
+                <a-form-model-item prop="orderAmount" :label-col="{span: 0}" style="display: inline-block;">
+                  <a-input-number
+                    id="promotionRules-rule-orderAmount"
+                    v-model="form.orderAmount"
+                    :precision="2"
+                    :min="0.1"
+                    :max="999999"
+                    placeholder="请输入金额"
+                    style="width: 100%;" />
+                </a-form-model-item>
+                元正价产品可以返正价产品采购额的
+                <a-form-model-item prop="promoAmountPer" :label-col="{span: 0}" style="display: inline-block;">
+                  <a-input-number
+                    id="promotionRules-rule-promoAmountPer"
+                    v-model="form.promoAmountPer"
+                    :precision="2"
+                    :min="0.1"
+                    :max="100"
+                    placeholder="请输入比例"
+                    style="width: 100%;" />
+                </a-form-model-item>
+                %用于购买促销品
+              </a-radio>
+            </a-radio-group>
+          </a-form-model-item>
+          <a-form-model-item label="正价产品" prop="normalGoodsList">
+            <a-button id="promotionRules-rule-normalGoodsList" type="primary" class="button-success" @click="chooseProduct('normal')">选择</a-button>
+          </a-form-model-item>
+          <a-form-model-item label="促销品" prop="promoGoodsList">
+            <a-button id="promotionRules-rule-promoGoodsList" type="primary" class="button-success" @click="chooseProduct('promo')">选择</a-button>
+          </a-form-model-item>
+        </div>
+        <!-- 特价产品销售 -->
+        <div v-if="form.promoRuleType == 'PROMO_PROD'">
+          <a-form-model-item label="特价产品" prop="promoGoodsList">
+            <a-button id="promotionRules-rule-promoGoodsList" type="primary" class="button-success" @click="chooseProduct('promo')">选择</a-button>
+          </a-form-model-item>
+        </div>
+        <!-- 加价换购 -->
+        <div v-if="form.promoRuleType == 'ADD_PRICE_PURCH'">
+          <a-form-model-item label="加价规则" prop="orderGoodsQty">
+            购买满
             <a-input-number
               id="promotionRules-rule-orderGoodsQty"
               v-model="form.orderGoodsQty"
@@ -38,123 +141,22 @@
               :min="1"
               :max="999999"
               placeholder="请输入数量"
-              style="width: 100%;" />
+              style="width: 30%;" />
+            个正价产品,可以以换购价购买任意1个换购产品
           </a-form-model-item>
-          个正价产品,送
-          <a-form-model-item prop="promoQty" :label-col="{span: 0}" style="display: inline-block;">
-            <a-input-number
-              id="promotionRules-rule-promoQty"
-              v-model="form.promoQty"
-              :precision="0"
-              :min="1"
-              :max="999999"
-              placeholder="请输入数量"
-              style="width: 100%;" />
+          <a-form-model-item label="正价产品" prop="normalGoodsList">
+            <a-button id="promotionRules-rule-normalGoodsList" type="primary" class="button-success" @click="chooseProduct('normal')">选择</a-button>
           </a-form-model-item>
-          个促销品
-        </a-form-model-item>
-        <a-form-model-item label="正价产品" prop="normalGoodsList">
-          <a-button id="promotionRules-rule-normalGoodsList" type="primary" class="button-success" @click="chooseProduct('normal')">选择</a-button>
-        </a-form-model-item>
-        <a-form-model-item label="促销品" prop="promoGoodsList">
-          <a-button id="promotionRules-rule-promoGoodsList" type="primary" class="button-success" @click="chooseProduct('promo')">选择</a-button>
-        </a-form-model-item>
-      </div>
-      <!-- 买产品送采购额 -->
-      <div v-if="form.promoRuleType == 'BUY_PROD_GIVE_MONEY'">
-        <a-form-model-item label="促销设置" prop="promoType">
-          <a-radio-group v-model="form.promoType" @change="radioChange">
-            <a-radio value="promo_amount" style="margin-bottom: 10px;">
-              购买满
-              <a-form-model-item prop="orderAmounts" :label-col="{span: 0}" style="display: inline-block;">
-                <a-input-number
-                  id="promotionRules-rule-orderAmounts"
-                  v-model="form.orderAmounts"
-                  :precision="2"
-                  :min="0.1"
-                  :max="999999"
-                  placeholder="请输入金额"
-                  style="width: 100%;" />
-              </a-form-model-item>
-              元正价产品,送
-              <a-form-model-item prop="promoAmount" :label-col="{span: 0}" style="display: inline-block;">
-                <a-input-number
-                  id="promotionRules-rule-promoAmount"
-                  v-model="form.promoAmount"
-                  :precision="2"
-                  :min="0.1"
-                  :max="999999"
-                  placeholder="请输入金额"
-                  style="width: 100%;" />
-              </a-form-model-item>
-              元采购额可用于购买促销品
-            </a-radio>
-            <a-radio value="promo_amount_per">
-              购买满
-              <a-form-model-item prop="orderAmount" :label-col="{span: 0}" style="display: inline-block;">
-                <a-input-number
-                  id="promotionRules-rule-orderAmount"
-                  v-model="form.orderAmount"
-                  :precision="2"
-                  :min="0.1"
-                  :max="999999"
-                  placeholder="请输入金额"
-                  style="width: 100%;" />
-              </a-form-model-item>
-              元正价产品可以返正价产品采购额的
-              <a-form-model-item prop="promoAmountPer" :label-col="{span: 0}" style="display: inline-block;">
-                <a-input-number
-                  id="promotionRules-rule-promoAmountPer"
-                  v-model="form.promoAmountPer"
-                  :precision="2"
-                  :min="0.1"
-                  :max="100"
-                  placeholder="请输入比例"
-                  style="width: 100%;" />
-              </a-form-model-item>
-              %用于购买促销品
-            </a-radio>
-          </a-radio-group>
-        </a-form-model-item>
-        <a-form-model-item label="正价产品" prop="normalGoodsList">
-          <a-button id="promotionRules-rule-normalGoodsList" type="primary" class="button-success" @click="chooseProduct('normal')">选择</a-button>
-        </a-form-model-item>
-        <a-form-model-item label="促销品" prop="promoGoodsList">
-          <a-button id="promotionRules-rule-promoGoodsList" type="primary" class="button-success" @click="chooseProduct('promo')">选择</a-button>
-        </a-form-model-item>
-      </div>
-      <!-- 特价产品销售 -->
-      <div v-if="form.promoRuleType == 'PROMO_PROD'">
-        <a-form-model-item label="特价产品" prop="promoGoodsList">
-          <a-button id="promotionRules-rule-promoGoodsList" type="primary" class="button-success" @click="chooseProduct('promo')">选择</a-button>
-        </a-form-model-item>
-      </div>
-      <!-- 加价换购 -->
-      <div v-if="form.promoRuleType == 'ADD_PRICE_PURCH'">
-        <a-form-model-item label="加价规则" prop="orderGoodsQty">
-          购买满
-          <a-input-number
-            id="promotionRules-rule-orderGoodsQty"
-            v-model="form.orderGoodsQty"
-            :precision="0"
-            :min="1"
-            :max="999999"
-            placeholder="请输入数量"
-            style="width: 30%;" />
-          个正价产品,可以以换购价购买任意1个换购产品
-        </a-form-model-item>
-        <a-form-model-item label="正价产品" prop="normalGoodsList">
-          <a-button id="promotionRules-rule-normalGoodsList" type="primary" class="button-success" @click="chooseProduct('normal')">选择</a-button>
-        </a-form-model-item>
-        <a-form-model-item label="换购产品" prop="promoGoodsList">
-          <a-button id="promotionRules-rule-promoGoodsList" type="primary" class="button-success" @click="chooseProduct('promo')">选择</a-button>
-        </a-form-model-item>
+          <a-form-model-item label="换购产品" prop="promoGoodsList">
+            <a-button id="promotionRules-rule-promoGoodsList" type="primary" class="button-success" @click="chooseProduct('promo')">选择</a-button>
+          </a-form-model-item>
+        </div>
+      </a-form-model>
+      <div class="btn-cont">
+        <a-button type="primary" id="promotionRules-rule-modal-save" @click="handleSave">保存</a-button>
+        <a-button id="promotionRules-rule-modal-back" @click="isShow = false" style="margin-left: 15px;">取消</a-button>
       </div>
-    </a-form-model>
-    <div class="btn-cont">
-      <a-button type="primary" id="promotionRules-rule-modal-save" @click="handleSave">保存</a-button>
-      <a-button id="promotionRules-rule-modal-back" @click="isShow = false" style="margin-left: 15px;">取消</a-button>
-    </div>
+    </a-spin>
     <!-- 选择产品 -->
     <choose-price-products-modal
       :openModal="openPriceProductsModal"
@@ -219,7 +221,8 @@ export default {
       normalGoodsList: [], //  当前已选正价产品
       promoGoodsList: [], //  当前已选促销品
       nowChooseGoodsType: '', //  当前选择产品的类型(正价产品/促销品)
-      nowData: [] //  选择产品
+      nowData: [], //  选择产品
+      spinLoading: false
     }
   },
   computed: {
@@ -312,6 +315,7 @@ export default {
       _this.form.promoGoodsList = this.promoGoodsList.length > 0 ? 'a' : ''
       this.$refs.ruleForm.validate(valid => {
         if (valid) {
+          _this.spinLoading = true
           const form = JSON.parse(JSON.stringify(_this.form))
           form.normalGoodsList = this.normalGoodsList
           form.promoGoodsList = this.promoGoodsList
@@ -330,6 +334,7 @@ export default {
               _this.$message.success(res.message)
               setTimeout(() => {
                 _this.$emit('ok')
+                _this.spinLoading = false
                 _this.isShow = false
               }, 1000)
             }