From 765dbf07a0ba2cadb7ca0ad6174601e67ac60ccc Mon Sep 17 00:00:00 2001
From: yuan <123@>
Date: 星期二, 13 十月 2026 16:16:15 +0800
Subject: [PATCH] feat: 优化数值展示格式,去掉多余的结尾 0,统一金额和数量格式化

---
 src/views/procurementManagement/procurementReport/index.vue |   41 +++++++++++++++++++++--------------------
 1 files changed, 21 insertions(+), 20 deletions(-)

diff --git a/src/views/procurementManagement/procurementReport/index.vue b/src/views/procurementManagement/procurementReport/index.vue
index c109af3..37ca1f8 100644
--- a/src/views/procurementManagement/procurementReport/index.vue
+++ b/src/views/procurementManagement/procurementReport/index.vue
@@ -105,12 +105,23 @@
   productTypes: 0
 })
 
-// 姹囨�婚噾棰濆睍绀猴紝淇濈暀6浣嶅皬鏁�
+// 鏁板�煎睍绀哄彛寰勶細鍚庣杩斿洖 6 浣嶅皬鏁帮紙濡� 211.970000銆伮�3,420,674.200000锛夛紝
+// 椤甸潰鎸夊悗绔疄闄呬綅鏁板睍绀哄嵆鍙紝涓嶅啀琛ラ綈 6 浣嶁�斺�斿浣欑殑缁撳熬 0 涓�寰嬪幓鎺夈��
+// maximumFractionDigits 淇濈暀 6锛屾槸涓轰簡鍏滀綇鍓嶇鑷繁 reduce 姹傚拰鏃剁殑娴偣灏炬暟锛堝 3420674.2000000002锛夈��
+const NUM_FMT = { maximumFractionDigits: 6 }
+
+// 鏁伴噺/閲戦缁熶竴鏍煎紡鍖栵細甯﹀崈鍒嗕綅锛屽幓鎺夌粨灏惧浣欑殑 0锛涚┖鍊兼寜 0 澶勭悊
+const formatNum = (val, prefix = '') => {
+  const num = parseFloat(val)
+  if (val === null || val === undefined || val === '' || Number.isNaN(num)) {
+    return `${prefix}0`
+  }
+  return `${prefix}${num.toLocaleString('zh-CN', NUM_FMT)}`
+}
+
+// 姹囨�婚噾棰濆睍绀�
 const formatStatAmount = (val) => {
-  return Number(val || 0).toLocaleString('zh-CN', {
-    minimumFractionDigits: 6,
-    maximumFractionDigits: 6
-  })
+  return formatNum(val)
 }
 
 // 琛ㄦ牸鍒楅厤缃紙鏍规嵁鍚庣瀛楁瀹氫箟锛�
@@ -127,32 +138,24 @@
     label: '閲囪喘鏁伴噺',
     prop: 'purchaseNum',
     width: 120,
-    formatData: (val) => {
-      return val ? parseFloat(val).toLocaleString('zh-CN', { minimumFractionDigits: 6, maximumFractionDigits: 6 }) : '0'
-    }
+    formatData: (val) => formatNum(val)
   },
   {
     label: '閫�璐ф暟閲�',
     prop: 'returnQuantity',
     width: 120,
-    formatData: (val) => {
-      return val ? parseFloat(val).toLocaleString('zh-CN', { minimumFractionDigits: 6, maximumFractionDigits: 6 }) : '0'
-    }
+    formatData: (val) => formatNum(val)
   },
   {
     label: '閫�璐ч噾棰�',
     prop: 'returnAmount',
     width: 120,
-    formatData: (val) => {
-      return val ? `楼${parseFloat(val).toLocaleString('zh-CN', { minimumFractionDigits: 6, maximumFractionDigits: 6 })}` : '楼0.000000'
-    }
+    formatData: (val) => formatNum(val, '楼')
   },
   {
     label: '閫�娆惧偍閲�',
     prop: 'purchaseAmount',
-    formatData: (val) => {
-      return val ? `楼${parseFloat(val).toLocaleString('zh-CN', { minimumFractionDigits: 6, maximumFractionDigits: 6 })}` : '楼0.000000'
-    }
+    formatData: (val) => formatNum(val, '楼')
   },
   {
     label: '閲囪喘娆℃暟',
@@ -163,9 +166,7 @@
     label: '骞冲潎鍗曚环',
     prop: 'averagePrice',
     width: 120,
-    formatData: (val) => {
-      return val ? `楼${parseFloat(val).toFixed(6)}` : '楼0.000000'
-    }
+    formatData: (val) => formatNum(val, '楼')
   },
   {
     label: '渚涘簲鍟嗗悕绉�',

--
Gitblit v1.9.3