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/dispatchLog/Record.vue       |   24 +++++++++++-
 src/views/inventoryManagement/stockManagement/New.vue      |   24 +++++++++++-
 src/views/basicData/product/index.vue                      |    8 ++--
 src/views/inventoryManagement/stockManagement/Subtract.vue |   24 +++++++++++-
 src/views/inventoryManagement/receiptManagement/Record.vue |   24 +++++++++++-
 5 files changed, 92 insertions(+), 12 deletions(-)

diff --git a/src/views/basicData/product/index.vue b/src/views/basicData/product/index.vue
index 27905f8..8d47278 100644
--- a/src/views/basicData/product/index.vue
+++ b/src/views/basicData/product/index.vue
@@ -158,9 +158,9 @@
                 placeholder="璇烽�夋嫨鍗曚綅"
                 clearable
                 style="width: 100%"
-                :filterable="isConsumablesBranch"
-                :allow-create="isConsumablesBranch"
-                :default-first-option="isConsumablesBranch"
+                filterable
+                allow-create
+                default-first-option
               >
                 <el-option
                   v-for="u in unitSelectOptions"
@@ -282,7 +282,7 @@
   if (isConsumablesBranch.value) {
     return ["鍚�", "鍏枻", "浠�", "涓暟",'妗�'];
   }
-  return ["鍚�", "鍏枻"];
+  return ["鍚�", "鍏枻",'鍧�','鏂�','绠�','琚�','鐡�','妗�','鐩�','鍖�','浠�','涓暟'];
 });
 
 // 鏌ヨ浜у搧鏍�
diff --git a/src/views/inventoryManagement/dispatchLog/Record.vue b/src/views/inventoryManagement/dispatchLog/Record.vue
index be732c6..262fcbb 100644
--- a/src/views/inventoryManagement/dispatchLog/Record.vue
+++ b/src/views/inventoryManagement/dispatchLog/Record.vue
@@ -200,9 +200,14 @@
                 placeholder="璇烽�夋嫨鍗曚綅"
                 style="width: 100%"
                 clearable
+                :disabled="!canEditUnit"
               >
-                <el-option label="鍚�" value="鍚�" />
-                <el-option label="鍏枻" value="鍏枻" />
+                <el-option
+                  v-for="item in editableUnitOptions"
+                  :key="item.value"
+                  :label="item.label"
+                  :value="item.value"
+                />
               </el-select>
             </el-form-item>
             <el-form-item
@@ -409,6 +414,21 @@
 const isShowEditModal = ref(false);
 const editFormRef = ref(null);
 const editForm = ref({});
+const unitEditableValues = ['鍚�', '鍏枻'];
+
+const canEditUnit = computed(() => unitEditableValues.includes(editForm.value?.unit));
+
+const editableUnitOptions = computed(() => {
+  const options = [
+    { label: '鍚�', value: '鍚�' },
+    { label: '鍏枻', value: '鍏枻' },
+  ];
+  const currentUnit = editForm.value?.unit;
+  if (currentUnit && !unitEditableValues.includes(currentUnit)) {
+    return [{ label: currentUnit, value: currentUnit }];
+  }
+  return options;
+});
 
 // 姣涢噸 - 鐨噸 璁$畻鍑�閲嶏紙淇濈暀涓や綅灏忔暟锛屼笖涓嶄负璐燂級
 const computeNetWeightEdit = () => {
diff --git a/src/views/inventoryManagement/receiptManagement/Record.vue b/src/views/inventoryManagement/receiptManagement/Record.vue
index d89b115..1390a51 100644
--- a/src/views/inventoryManagement/receiptManagement/Record.vue
+++ b/src/views/inventoryManagement/receiptManagement/Record.vue
@@ -187,9 +187,14 @@
                 placeholder="璇烽�夋嫨鍗曚綅"
                 style="width: 100%"
                 clearable
+                :disabled="!canEditUnit"
               >
-                <el-option label="鍚�" value="鍚�" />
-                <el-option label="鍏枻" value="鍏枻" />
+                <el-option
+                  v-for="item in editableUnitOptions"
+                  :key="item.value"
+                  :label="item.label"
+                  :value="item.value"
+                />
               </el-select>
             </el-form-item>
             <el-form-item
@@ -395,6 +400,21 @@
 const isShowEditModal = ref(false);
 const editFormRef = ref(null);
 const editForm = ref({});
+const unitEditableValues = ['鍚�', '鍏枻'];
+
+const canEditUnit = computed(() => unitEditableValues.includes(editForm.value?.unit));
+
+const editableUnitOptions = computed(() => {
+  const options = [
+    { label: '鍚�', value: '鍚�' },
+    { label: '鍏枻', value: '鍏枻' },
+  ];
+  const currentUnit = editForm.value?.unit;
+  if (currentUnit && !unitEditableValues.includes(currentUnit)) {
+    return [{ label: currentUnit, value: currentUnit }];
+  }
+  return options;
+});
 
 // 姣涢噸 - 鐨噸 璁$畻鍑�閲嶏紙淇濈暀涓や綅灏忔暟锛屼笖涓嶄负璐燂級
 const computeNetWeightEdit = () => {
diff --git a/src/views/inventoryManagement/stockManagement/New.vue b/src/views/inventoryManagement/stockManagement/New.vue
index 4fe6f32..dd02356 100644
--- a/src/views/inventoryManagement/stockManagement/New.vue
+++ b/src/views/inventoryManagement/stockManagement/New.vue
@@ -70,9 +70,14 @@
               placeholder="璇烽�夋嫨鍗曚綅"
               style="width: 100%"
               clearable
+              :disabled="!canEditUnit"
           >
-            <el-option label="鍚�" value="鍚�" />
-            <el-option label="鍏枻" value="鍏枻" />
+            <el-option
+                v-for="item in editableUnitOptions"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value"
+            />
           </el-select>
         </el-form-item>
         <el-form-item
@@ -220,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()
 
diff --git a/src/views/inventoryManagement/stockManagement/Subtract.vue b/src/views/inventoryManagement/stockManagement/Subtract.vue
index cc5a12b..6bef2b8 100644
--- a/src/views/inventoryManagement/stockManagement/Subtract.vue
+++ b/src/views/inventoryManagement/stockManagement/Subtract.vue
@@ -68,9 +68,14 @@
                 placeholder="璇烽�夋嫨鍗曚綅"
                 style="width: 100%"
                 clearable
+                :disabled="!canEditUnit"
             >
-              <el-option label="鍚�" value="鍚�" />
-              <el-option label="鍏枻" value="鍏枻" />
+              <el-option
+                  v-for="item in editableUnitOptions"
+                  :key="item.value"
+                  :label="item.label"
+                  :value="item.value"
+              />
             </el-select>
           </el-form-item>
           <el-form-item
@@ -235,6 +240,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