From 897524d4918c407dbaa32fc98e5c5867c70e4064 Mon Sep 17 00:00:00 2001
From: zhangwencui <1064582902@qq.com>
Date: 星期六, 28 三月 2026 14:54:24 +0800
Subject: [PATCH] 能耗成本核算-能耗成本趋势统计图展示修改

---
 src/views/costAccounting/energyCosts/index.vue |   33 ++++++++++++++++++++++++++++++---
 1 files changed, 30 insertions(+), 3 deletions(-)

diff --git a/src/views/costAccounting/energyCosts/index.vue b/src/views/costAccounting/energyCosts/index.vue
index 3680891..c386ef3 100644
--- a/src/views/costAccounting/energyCosts/index.vue
+++ b/src/views/costAccounting/energyCosts/index.vue
@@ -1080,6 +1080,33 @@
   // 鏇存柊鑳借�楁垚鏈秼鍔垮浘
   const updateCostChart = () => {
     const data = tableData.value;
+
+    // 鎸夋棩鏈熷垎缁勫苟鍚堝苟鏁版嵁
+    const groupedData = {};
+    data.forEach(item => {
+      const date = item.meterReadingDate;
+      if (!groupedData[date]) {
+        groupedData[date] = {
+          productionCost: 0,
+          officeCost: 0,
+        };
+      }
+      if (item.type === "鐢熶骇") {
+        groupedData[date].productionCost += parseFloat(item.cost) || 0;
+      } else if (item.type === "鍔炲叕") {
+        groupedData[date].officeCost += parseFloat(item.cost) || 0;
+      }
+    });
+
+    // 杞崲涓烘暟缁勫苟鎸夋棩鏈熸帓搴�
+    const mergedData = Object.entries(groupedData)
+      .map(([date, costs]) => ({
+        date,
+        productionCost: costs.productionCost,
+        officeCost: costs.officeCost,
+      }))
+      .sort((a, b) => new Date(a.date) - new Date(b.date));
+
     const option = {
       tooltip: {
         trigger: "axis",
@@ -1106,7 +1133,7 @@
       },
       xAxis: {
         type: "category",
-        data: data.map(item => item.meterReadingDate),
+        data: mergedData.map(item => item.date),
         axisLabel: {
           rotate: statisticsType.value === "day" ? 45 : 0,
           color: "rgba(15, 23, 42, 0.62)",
@@ -1126,7 +1153,7 @@
         {
           name: "鐢熶骇鑳借�楁垚鏈�",
           type: "bar",
-          data: data.map(item => (item.type === "鐢熶骇" ? item.cost : 0)),
+          data: mergedData.map(item => item.productionCost),
           itemStyle: {
             color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
               { offset: 0, color: "#409EFF" },
@@ -1141,7 +1168,7 @@
         {
           name: "鍔炲叕鑳借�楁垚鏈�",
           type: "bar",
-          data: data.map(item => (item.type === "鍔炲叕" ? item.cost : 0)),
+          data: mergedData.map(item => item.officeCost),
           itemStyle: {
             color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
               { offset: 0, color: "#67C23A" },

--
Gitblit v1.9.3