From 9834dbff448908d2008d8c52a2544aad00c099b1 Mon Sep 17 00:00:00 2001
From: haoyahui <2032914783@qq.com>
Date: 星期三, 22 十一月 2023 17:34:26 +0800
Subject: [PATCH] 库存盘点, 异常明细,报废管理

---
 admin-web/src/views/stock/transfer/transferApplication/edit.vue |   33 +++++++++++++++++----------------
 1 files changed, 17 insertions(+), 16 deletions(-)

diff --git a/admin-web/src/views/stock/transfer/transferApplication/edit.vue b/admin-web/src/views/stock/transfer/transferApplication/edit.vue
index e09140b..2921487 100644
--- a/admin-web/src/views/stock/transfer/transferApplication/edit.vue
+++ b/admin-web/src/views/stock/transfer/transferApplication/edit.vue
@@ -56,14 +56,10 @@
               <el-form-item
                 label="鐗╁搧鍚嶇О"
                 :prop="`transferGoods[${goodsIndex}].baseGoodsTemplateId`"
-                :rules="{
-                  required: true,
-                  message: '璇烽�夋嫨',
-                  trigger: 'change',
-                }"
+                :rules="rules.baseGoodsTemplateId"
               >
                 <el-select
-                  :value="goodsItem.baseGoodsTemplateId"
+                  v-model="goodsItem.baseGoodsTemplateId"
                   placeholder="璇峰厛鎷╃墿鍝佸垎绫�"
                   filterable
                   :disabled="!goodsItem.baseCategoryId"
@@ -191,6 +187,18 @@
     },
   },
   data() {
+    // 鑷畾涔夋牎楠�
+    // 鐗╁搧閲嶅鏍¢獙
+    var checkGoodsTemplateId = (rule, value, callback) => {
+      if (!value) {
+        return callback(new Error('璇烽�夋嫨'));
+      }
+      let temp = this.formData.transferGoods.filter((v) => v.baseGoodsTemplateId == value);
+      if (!temp || temp.length != 1) {
+        return callback(new Error('宸查�夎繃姝ょ墿鍝�'));
+      }
+      callback();
+    };
     return {
       loading: false,
       agencyOptions: [], // 璋冩嫧鏈烘瀯
@@ -223,7 +231,7 @@
         createTime: [{ required: true, message: '璇烽�夋嫨', trigger: 'change' }],
 
         baseCategoryIds: [{ required: true, message: '璇烽�夋嫨', trigger: 'change' }],
-        baseGoodsTemplateId: [{ required: true, message: '璇烽�夋嫨', trigger: 'change' }],
+        baseGoodsTemplateId: [{ validator: checkGoodsTemplateId, trigger: ['blur', 'change'] }],
         modelsIds: [{ required: true, message: '璇烽�夋嫨', trigger: 'change' }],
         counts: [
           { required: true, message: '璇疯緭鍏�', trigger: 'change' },
@@ -265,8 +273,8 @@
           this.agencyOptions = [res];
           this.formData.outAgencyId = res.id;
           this.formData.transferGoods.push(JSON.parse(JSON.stringify(this.goodsItem)));
-        }else{
-          this.$message.warning('鏃犱笂绾ф満鏋�')
+        } else {
+          this.$message.warning('鏃犱笂绾ф満鏋�');
         }
       });
     },
@@ -344,13 +352,6 @@
 
     // 鐗╁搧鍚嶇О鍒楄〃閫夋嫨
     goodsTemplateChange(e, index) {
-      let temp = this.formData.transferGoods.find((v) => v.baseGoodsTemplateId == e);
-      if (temp) {
-        this.$message.warning('宸查�夎繃姝ょ墿鍝�');
-        return;
-      } else {
-        this.formData.transferGoods[index].baseGoodsTemplateId = e;
-      }
       this.formData.transferGoods[index].modelsOptions = [];
       this.formData.transferGoods[index].modelsIds = [];
       this.formData.transferGoods[index].models = [];

--
Gitblit v1.9.1