From 04ecdbfb7be63ca4a3d49d3575847e728e3e9ae7 Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期五, 27 三月 2026 17:44:13 +0800
Subject: [PATCH] fix:1.耗材选择产品优化

---
 src/views/inventoryManagement/stockManagement/New.vue |   66 +++++++++++++++++++++++++++++----
 1 files changed, 58 insertions(+), 8 deletions(-)

diff --git a/src/views/inventoryManagement/stockManagement/New.vue b/src/views/inventoryManagement/stockManagement/New.vue
index 001e897..4fe6f32 100644
--- a/src/views/inventoryManagement/stockManagement/New.vue
+++ b/src/views/inventoryManagement/stockManagement/New.vue
@@ -30,11 +30,26 @@
           <el-input v-model="formState.productModelName"  disabled />
         </el-form-item>
 
+        
+
+        <!-- 鍗婃垚鍝侊細鍏佽鎵嬪姩濉啓鏁伴噺鍏ュ簱 -->
         <el-form-item
-            label="鍗曚綅"
-            prop="unit"
+            v-if="type === 'qualified' && (formState.parentName === '鍗婃垚鍝�' || formState.parentName === '鎴愬搧' || formState.productType === 1)"
+            label="鏁伴噺"
+            prop="qualitity"
+            :rules="[
+              { required: true, message: '璇疯緭鍏ユ暟閲�', trigger: ['blur', 'change'] }
+            ]"
         >
-          <el-input v-model="formState.unit"  disabled />
+          <el-input-number
+              v-model="formState.qualitity"
+              :min="0"
+              :step="1"
+              :precision="0"
+              style="width: 100%"
+              controls-position="right"
+              placeholder="璇疯緭鍏ユ暟閲�"
+          />
         </el-form-item>
 
         <!-- productType === 0锛氬師鏉愭枡 -->
@@ -42,14 +57,29 @@
             v-if="type === 'qualified' && formState.productType === 0"
             label="杞︾墝鍙�"
             prop="licensePlateNo"
+            :rules="[{ required: true, message: '璇疯緭鍏ヨ溅鐗屽彿', trigger: ['blur','change'] }]"
         >
           <el-input v-model="formState.licensePlateNo" />
         </el-form-item>
-
+        <el-form-item
+            label="鍗曚綅"
+            prop="unit"
+        >
+          <el-select
+              v-model="formState.unit"
+              placeholder="璇烽�夋嫨鍗曚綅"
+              style="width: 100%"
+              clearable
+          >
+            <el-option label="鍚�" value="鍚�" />
+            <el-option label="鍏枻" value="鍏枻" />
+          </el-select>
+        </el-form-item>
         <el-form-item
             v-if="type === 'qualified' && formState.productType === 0"
-            label="姣涢噸(鍚�)"
+            label="姣涢噸"
             prop="grossWeight"
+            :rules="[{ required: true, message: '璇疯緭鍏ユ瘺閲�', trigger: ['blur','change'] }]"
         >
           <el-input-number
               v-model="formState.grossWeight"
@@ -62,8 +92,9 @@
 
         <el-form-item
             v-if="type === 'qualified' && formState.productType === 0"
-            label="鐨噸(鍚�)"
+            label="鐨噸"
             prop="tareWeight"
+            :rules="[{ required: true, message: '璇疯緭鍏ョ毊閲�', trigger: ['blur','change'] }]"
         >
           <el-input-number
               v-model="formState.tareWeight"
@@ -76,8 +107,9 @@
 
         <el-form-item
             v-if="type === 'qualified' && formState.productType === 0"
-            label="鍑�閲�(鍚�)"
+            label="鍑�閲�"
             prop="netWeight"
+            :rules="[{ required: true, message: '璇峰厛杈撳叆姣涢噸鍜岀毊閲嶈嚜鍔ㄨ绠楀噣閲�', trigger: ['blur','change'] }]"
         >
           <el-input-number
               v-model="formState.netWeight"
@@ -92,6 +124,7 @@
             v-if="type === 'qualified' && formState.productType === 0"
             label="杩囩鏃ユ湡"
             prop="weighingDate"
+            :rules="[{ required: true, message: '璇烽�夋嫨杩囩鏃ユ湡', trigger: 'change' }]"
         >
           <el-date-picker
               style="width: 100%"
@@ -108,6 +141,7 @@
             v-if="type === 'qualified' && formState.productType === 0"
             label="杩囩鍛�"
             prop="weighingOperator"
+            :rules="[{ required: true, message: '璇疯緭鍏ヨ繃纾呭憳', trigger: ['blur','change'] }]"
         >
           <el-input v-model="formState.weighingOperator" />
         </el-form-item>
@@ -120,6 +154,7 @@
       <!-- 浜у搧閫夋嫨寮圭獥 -->
       <ProductSelectDialog
           v-model="showProductSelectDialog"
+          :excludeParentNames="['鑰楁潗']"
           @confirm="handleProductSelect"
           single
       />
@@ -162,6 +197,9 @@
   productModelName: "",
   unit: "",
   productType: undefined,
+  parentName: "",
+  // 搴撳瓨鏁伴噺锛堝崐鎴愬搧鍚堟牸鍏ュ簱鍙墜鍔ㄥ~鍐欙級
+  qualitity: undefined,
   // 杩囩鐩稿叧瀛楁锛堜粎鍘熸潗鏂欏悎鏍煎搧浣跨敤锛�
   licensePlateNo: "",
   grossWeight: undefined,
@@ -192,7 +230,17 @@
     productModelId: undefined,
     productName: "",
     productModelName: "",
-    description: '',
+    unit: "",
+    productType: undefined,
+    parentName: "",
+    qualitity: undefined,
+    licensePlateNo: "",
+    grossWeight: undefined,
+    tareWeight: undefined,
+    netWeight: undefined,
+    weighingDate: undefined,
+    weighingOperator: "",
+    remark: '',
   };
   isShow.value = false;
 };
@@ -203,6 +251,7 @@
   formState.value.grossWeight = undefined;
   formState.value.tareWeight = undefined;
   formState.value.netWeight = undefined;
+  formState.value.qualitity = undefined;
   if (products && products.length > 0) {
     const product = products[0];
     formState.value.productId = product.productId;
@@ -211,6 +260,7 @@
     formState.value.productModelId = product.id;
     formState.value.unit = product.unit;
     formState.value.productType = product.productType;
+    formState.value.parentName = product.parentName || "";
     showProductSelectDialog.value = false;
     // 瑙﹀彂琛ㄥ崟楠岃瘉鏇存柊
     proxy.$refs["formRef"]?.validateField('productModelId');

--
Gitblit v1.9.3