From bf5de0a08c20ff1d96bc166bf1c10596620a5793 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期一, 21 九月 2026 18:20:30 +0800
Subject: [PATCH] 新疆-融邦环保 1.仓储物流出入库过磅数据计算逻辑修改

---
 src/views/inventoryManagement/stockManagement/OilStockInDialog.vue |   77 ++++++++++++++++++++------------------
 1 files changed, 40 insertions(+), 37 deletions(-)

diff --git a/src/views/inventoryManagement/stockManagement/OilStockInDialog.vue b/src/views/inventoryManagement/stockManagement/OilStockInDialog.vue
index 6759466..30b50e4 100644
--- a/src/views/inventoryManagement/stockManagement/OilStockInDialog.vue
+++ b/src/views/inventoryManagement/stockManagement/OilStockInDialog.vue
@@ -157,23 +157,6 @@
                         placeholder="--" />
             </el-form-item>
           </el-col>
-          <el-col :span="12">
-            <el-form-item label="鍘熷嚭鍘傛暟閲�(鍚�)"
-                          prop="originalQuantity"
-                          :rules="[
-                {
-                required: true,
-                message: '璇疯緭鍏ュ師鍑哄巶鏁伴噺',
-                trigger: 'change',
-              }
-            ]">
-              <el-input-number v-model="formState.originalQuantity"
-                               :precision="2"
-                               :step="1"
-                               :min="0"
-                               style="width: 100%" />
-            </el-form-item>
-          </el-col>
         </el-row>
         <el-row :gutter="30">
           <el-col :span="8">
@@ -335,7 +318,7 @@
         </el-row>
         <div class="form-section-title">鍗告补鎿嶄綔淇℃伅</div>
         <el-row :gutter="30">
-          <el-col :span="8">
+          <el-col :span="12">
             <el-form-item label="杞︿綋/閾呭皝妫�楠屾槸鍚︽甯�"
                           prop="tankInspectionStatus"
                           :rules="[{ required: true, message: '璇烽�夋嫨杞︿綋/閾呭皝妫�楠屾槸鍚︽甯�', trigger: 'change' }]">
@@ -345,7 +328,7 @@
               </el-radio-group>
             </el-form-item>
           </el-col>
-          <el-col :span="8">
+          <el-col :span="12">
             <el-form-item label="鍗歌溅楣や綅"
                           prop="unloadingCranePosition"
                           :rules="[{ required: true, message: '璇烽�夋嫨鍗歌溅楣や綅', trigger: 'change' }]">
@@ -362,18 +345,6 @@
               </el-select>
             </el-form-item>
           </el-col>
-          <el-col :span="8">
-            <el-form-item label="瀵嗗害"
-                          prop="density"
-                          :rules="[
-                { required: true, message: '璇疯緭鍏ュ瘑搴�', trigger: 'blur' },
-                { pattern: /^\d+(\.\d{1,2})?$/, message: '璇疯緭鍏ユ暟瀛楋紝鏈�澶氫繚鐣欎袱浣嶅皬鏁�', trigger: 'blur' },
-              ]">
-              <el-input v-model="formState.density"
-                        placeholder="璇疯緭鍏ユ暟瀛楋紝鏈�澶氫繚鐣欎袱浣嶅皬鏁�"
-                        clearable />
-            </el-form-item>
-          </el-col>
         </el-row>
         <el-row :gutter="30">
           <el-col :span="24">
@@ -386,6 +357,37 @@
           </el-col>
         </el-row>
         <div class="form-section-title">杩囩鏁版嵁</div>
+        <el-row :gutter="30">
+          <el-col :span="12">
+            <el-form-item label="鍘熷嚭鍘傛暟閲�(鍚�)"
+                          prop="originalQuantity"
+                          :rules="[
+                {
+                required: true,
+                message: '璇疯緭鍏ュ師鍑哄巶鏁伴噺',
+                trigger: 'change',
+              }
+            ]">
+              <el-input-number v-model="formState.originalQuantity"
+                               :precision="2"
+                               :step="1"
+                               :min="0"
+                               style="width: 100%" />
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="瀵嗗害"
+                          prop="density"
+                          :rules="[{ required: true, message: '璇疯緭鍏ュ瘑搴�', trigger: 'blur' }]">
+              <el-input-number v-model="formState.density"
+                               :min="0"
+                               :precision="3"
+                               :controls="false"
+                               placeholder="璇疯緭鍏ユ暟瀛楋紝鏈�澶氫繚鐣欎笁浣嶅皬鏁�"
+                               style="width: 100%" />
+            </el-form-item>
+          </el-col>
+        </el-row>
         <el-row :gutter="30">
           <el-col :span="12">
             <el-form-item label="姣涢噸(鍚�)"
@@ -533,21 +535,22 @@
     return Number((Number(g) - Number(t)).toFixed(2));
   });
 
-  // 浜忛噺(鍚�) = 鍑�閲嶇殑璐熸暟锛屼繚鐣欎袱浣嶅皬鏁�
+  // 浜忛噺(鍚�) = 鍑�閲� 鈭� 鍘熷嚭鍘傛暟閲忥紝淇濈暀涓や綅灏忔暟
   const lossQuantity = computed(() => {
-    if (netWeight.value === null) {
+    const origin = formState.value.originalQuantity;
+    if (netWeight.value === null || origin === null || origin === undefined || origin === "") {
       return null;
     }
-    return Number((-netWeight.value).toFixed(2));
+    return Number((netWeight.value - Number(origin)).toFixed(2));
   });
 
-  // 瀹為檯鍏ュ簱浣撶Н(鍗�) = 瀹為檯鍑�閲�(kg) 梅 瀵嗗害(kg/L)锛屽噣閲嶅惃 脳 1000 杞� kg
+  // 瀹為檯鍏ュ簱浣撶Н(鍗�) = 鍑�閲�(鍚�) 脳 瀵嗗害锛屼繚鐣欎袱浣嶅皬鏁�
   const actualVolume = computed(() => {
     const d = formState.value.density;
-    if (netWeight.value === null || d === null || d === undefined || d === "" || Number(d) <= 0) {
+    if (netWeight.value === null || d === null || d === undefined || d === "") {
       return 0;
     }
-    return Math.round(((netWeight.value * 1000) / Number(d)) * 100) / 100;
+    return Number((netWeight.value * Number(d)).toFixed(2));
   });
 
   const showProductSelectDialog = ref(false);

--
Gitblit v1.9.3