فهرست منبع

Merge remote-tracking branch 'origin/dev' into dev

Hwf 3 ماه پیش
والد
کامیت
70f3a0cf7d
1فایلهای تغییر یافته به همراه27 افزوده شده و 6 حذف شده
  1. 27 6
      src/views/emergencyCommandMap/RightSection/disasterAssessment.vue

+ 27 - 6
src/views/emergencyCommandMap/RightSection/disasterAssessment.vue

@@ -104,6 +104,7 @@
 
 <script setup lang="ts">
 import { computed, ref } from 'vue';
+import BigNumber from 'bignumber.js';
 
 // 固定的行政区域列表
 const fixedRegions = ['茂名市', '茂南区', '电白区', '化州市', '高州市', '信宜市'];
@@ -141,15 +142,35 @@ const mergeDataWithFixedRegions = () => {
 
 // 计算合计值
 const total = computed(() => {
+  // 初始化 BigNumber 对象
+  const init = {
+    numone: new BigNumber(0),
+    numtwo: new BigNumber(0),
+    numthree: new BigNumber(0),
+    numfour: new BigNumber(0),
+    numfive: new BigNumber(0)
+  };
+
+  // 使用 reduce 累加
+  const sums = fixedTableData.value.reduce((acc, item) => {
+    return {
+      numone: acc.numone.plus(new BigNumber(item.numone || 0)),
+      numtwo: acc.numtwo.plus(new BigNumber(item.numtwo || 0)),
+      numthree: acc.numthree.plus(new BigNumber(item.numthree || 0)),
+      numfour: acc.numfour.plus(new BigNumber(item.numfour || 0)),
+      numfive: acc.numfive.plus(new BigNumber(item.numfive || 0))
+    };
+  }, init);
+
+  // 返回格式化后的结果
   return {
-    numone: fixedTableData.value.reduce((sum, item) => sum + (Number(item.numone) || 0), 0),
-    numtwo: fixedTableData.value.reduce((sum, item) => sum + (Number(item.numtwo) || 0), 0),
-    numthree: fixedTableData.value.reduce((sum, item) => sum + (Number(item.numthree) || 0), 0),
-    numfour: fixedTableData.value.reduce((sum, item) => sum + (Number(item.numfour) || 0), 0),
-    numfive: fixedTableData.value.reduce((sum, item) => sum + (Number(item.numfive) || 0), 0)
+    numone: sums.numone.toFormat(0),
+    numtwo: sums.numtwo.toFormat(0),
+    numthree: sums.numthree.toFormat(0),
+    numfour: sums.numfour.toFormat(0),
+    numfive: sums.numfive.toFormat(2)
   };
 });
-
 // 切换编辑状态
 const toggleEdit = () => {
   // 进入编辑时保存当前数据快照