From a1274d448fa9fd59da39d94f5d91e54780fc8de1 Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期五, 24 四月 2026 11:01:10 +0800
Subject: [PATCH] fix: 出入库只有吨和公斤才能转换单位,其他单位不用转换。

---
 src/views/inventoryManagement/stockManagement/New.vue |   56 +++++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 45 insertions(+), 11 deletions(-)

diff --git a/src/views/inventoryManagement/stockManagement/New.vue b/src/views/inventoryManagement/stockManagement/New.vue
index 22e73ac..dd02356 100644
--- a/src/views/inventoryManagement/stockManagement/New.vue
+++ b/src/views/inventoryManagement/stockManagement/New.vue
@@ -30,16 +30,11 @@
           <el-input v-model="formState.productModelName"  disabled />
         </el-form-item>
 
-        <el-form-item
-            label="鍗曚綅"
-            prop="unit"
-        >
-          <el-input v-model="formState.unit"  disabled />
-        </el-form-item>
+        
 
         <!-- 鍗婃垚鍝侊細鍏佽鎵嬪姩濉啓鏁伴噺鍏ュ簱 -->
         <el-form-item
-            v-if="type === 'qualified' && (formState.parentName === '鍗婃垚鍝�' || formState.productType === 1)"
+            v-if="type === 'qualified' && (formState.parentName === '鍗婃垚鍝�' || formState.parentName === '鎴愬搧' || formState.productType === 1)"
             label="鏁伴噺"
             prop="qualitity"
             :rules="[
@@ -62,14 +57,34 @@
             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
+              :disabled="!canEditUnit"
+          >
+            <el-option
+                v-for="item in editableUnitOptions"
+                :key="item.value"
+                :label="item.label"
+                :value="item.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"
@@ -82,8 +97,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"
@@ -96,8 +112,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"
@@ -112,6 +129,7 @@
             v-if="type === 'qualified' && formState.productType === 0"
             label="杩囩鏃ユ湡"
             prop="weighingDate"
+            :rules="[{ required: true, message: '璇烽�夋嫨杩囩鏃ユ湡', trigger: 'change' }]"
         >
           <el-date-picker
               style="width: 100%"
@@ -128,6 +146,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>
@@ -206,6 +225,21 @@
 });
 
 const showProductSelectDialog = ref(false);
+const unitEditableValues = ['鍚�', '鍏枻'];
+
+const canEditUnit = computed(() => unitEditableValues.includes(formState.value?.unit));
+
+const editableUnitOptions = computed(() => {
+  const options = [
+    {label: '鍚�', value: '鍚�'},
+    {label: '鍏枻', value: '鍏枻'},
+  ];
+  const currentUnit = formState.value?.unit;
+  if (currentUnit && !unitEditableValues.includes(currentUnit)) {
+    return [{label: currentUnit, value: currentUnit}];
+  }
+  return options;
+});
 
 let { proxy } = getCurrentInstance()
 

--
Gitblit v1.9.3