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