From b0c88e5984b6fb0cf67fee73570f81259dfb0c28 Mon Sep 17 00:00:00 2001
From: yuan <123@>
Date: 星期六, 26 九月 2026 11:02:34 +0800
Subject: [PATCH] feat: 优化数量展示逻辑,增加高精度小数处理和格式化功能

---
 src/views/inventoryManagement/stockReport/index.vue |   60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 54 insertions(+), 6 deletions(-)

diff --git a/src/views/inventoryManagement/stockReport/index.vue b/src/views/inventoryManagement/stockReport/index.vue
index 615e943..572ff3f 100644
--- a/src/views/inventoryManagement/stockReport/index.vue
+++ b/src/views/inventoryManagement/stockReport/index.vue
@@ -179,19 +179,35 @@
           <el-table-column label="鍏ュ簱鏁伴噺"
                            prop="totalStockIn"
                            align="center"
-                           v-if="searchForm.reportType === 'inout'" />
+                           v-if="searchForm.reportType === 'inout'">
+            <template #default="scope">
+              {{ formatQty(scope.row.totalStockIn) }}
+            </template>
+          </el-table-column>
           <el-table-column label="鍏ュ簱鏁伴噺"
                            prop="stockInNum"
                            align="center"
-                           v-else />
+                           v-else>
+            <template #default="scope">
+              {{ formatQty(scope.row.stockInNum) }}
+            </template>
+          </el-table-column>
           <el-table-column label="鍑哄簱鏁伴噺"
                            prop="totalStockOut"
                            width="100"
                            align="center"
-                           v-if="searchForm.reportType === 'inout'" />
+                           v-if="searchForm.reportType === 'inout'">
+            <template #default="scope">
+              {{ formatQty(scope.row.totalStockOut) }}
+            </template>
+          </el-table-column>
           <el-table-column label="鐜板湪搴撳瓨"
                            prop="currentStock"
-                           align="center" />
+                           align="center">
+            <template #default="scope">
+              {{ formatQty(scope.row.currentStock) }}
+            </template>
+          </el-table-column>
           <el-table-column label="鏉ユ簮"
                            prop="recordType"
                            v-if="searchForm.reportType !== 'inout'"
@@ -267,11 +283,43 @@
   };
 
   const getDate = val =>{
-    console.log(val)
     if(!val){
       return "--"
     }
-    return dayjs(val).isValid() ? dayjs(val).format('YYYY鈥慚M鈥慏D') : '--'
+    return dayjs(val).isValid() ? dayjs(val).format('YYYY-MM-DD') : '--'
+  }
+
+  // 鏁伴噺灞曠ず锛氬悗绔繑鍥炵殑鏄珮绮惧害灏忔暟锛堝 2.00000000锛夛紝
+  // 杩欓噷鍘绘帀鏃犳剰涔夌殑鏈熬 0锛屽疄闄呮湁鍑犱綅灏忔暟灏卞睍绀哄嚑浣�
+  const formatQty = val => {
+    if (val === null || val === undefined || val === "") {
+      return "--";
+    }
+    // 闈炴暟瀛楀師鏍峰睍绀猴紝閬垮厤鍑虹幇 NaN
+    if (typeof val === "number" && !Number.isFinite(val)) {
+      return "--";
+    }
+    let str = String(val).trim();
+    if (!/^[-+]?\d+(\.\d+)?$/.test(str)) {
+      // 绉戝璁℃暟娉曠瓑鐗规畩鏍煎紡浜ょ粰 Number 澶勭悊
+      const num = Number(str);
+      if (Number.isNaN(num)) {
+        return str;
+      }
+      str = String(num);
+      // 鏋佸皬鍊间細琚浆鎴� 1e-7 杩欑被绉戝璁℃暟娉曪紝灞曞紑鎴愭櫘閫氬皬鏁�
+      if (/e/i.test(str)) {
+        str = num.toFixed(20);
+      }
+    }
+    if (str.includes(".")) {
+      str = str.replace(/0+$/, "").replace(/\.$/, "");
+    }
+    // 澶勭悊 -0 / +0
+    if (/^[-+]?0$/.test(str)) {
+      return "0";
+    }
+    return str;
   }
 
   // 鑾峰彇鏉ユ簮绫诲瀷閫夐」

--
Gitblit v1.9.3