From 7276f122a92c9c7d45cf70fb1f8490dfb5c2448b Mon Sep 17 00:00:00 2001
From: zhangwencui <1064582902@qq.com>
Date: 星期二, 31 三月 2026 15:37:45 +0800
Subject: [PATCH] 能耗单耗修改

---
 src/api/energyManagement/energyType.js                   |    8 ++++
 src/views/reportAnalysis/unitEnergyConsumption/index.vue |  102 +++++++++++++++++++++++++++++++--------------------
 2 files changed, 70 insertions(+), 40 deletions(-)

diff --git a/src/api/energyManagement/energyType.js b/src/api/energyManagement/energyType.js
index 1dd798a..80abc83 100644
--- a/src/api/energyManagement/energyType.js
+++ b/src/api/energyManagement/energyType.js
@@ -94,3 +94,11 @@
     params: query,
   });
 }
+// 鑳借�楀崟鑰�---鎸夋棩鏈堝勾姹囨�荤粺璁�
+export function energyConsumptionDetailCollectEnergy(query) {
+  return request({
+    url: "/energyConsumptionDetail/collectEnergy",
+    method: "get",
+    params: query,
+  });
+}
diff --git a/src/views/reportAnalysis/unitEnergyConsumption/index.vue b/src/views/reportAnalysis/unitEnergyConsumption/index.vue
index d7a1867..dccd8fe 100644
--- a/src/views/reportAnalysis/unitEnergyConsumption/index.vue
+++ b/src/views/reportAnalysis/unitEnergyConsumption/index.vue
@@ -90,48 +90,38 @@
         </el-icon>
         鑳借�楀崟鑰楁暟鎹�
       </h2>
-      <el-table :data="tableValue"
+      <el-table :data="tableData2"
                 v-loading="tableLoading"
                 border>
-        <el-table-column prop="meterReadingDate"
+        <!-- <el-table-column prop="meterReadingDate"
                          label="鏃ユ湡"
-                         align="center" />
-        <!-- <el-table-column prop="type"
-                         label="绫诲瀷"
-                         align="center"
-                         width="100">
-          <template #default="scope">
-            <el-tag :type="scope.row.type === '鐢熶骇' ? 'primary' : 'success'">
-              {{ scope.row.type }}
-            </el-tag>
-          </template>
-        </el-table-column> -->
+                         align="center" /> -->
         <el-table-column prop="energyTyep"
                          label="鑳借�楃被鍨�"
                          align="center">
           <template #default="scope">
-            <el-tag :type="getEnergyTypeType(scope.row.type)">
-              {{ scope.row.type }}
+            <el-tag :type="getEnergyTypeType(scope.row.energyTyep)">
+              {{ scope.row.energyTyep }}
             </el-tag>
           </template>
         </el-table-column>
-        <el-table-column prop="consumption"
+        <el-table-column prop="energyConsumption"
                          label="鐢ㄩ噺"
                          align="right" />
-        <el-table-column prop="cost"
+        <el-table-column prop="energyCost"
                          label="鎴愭湰"
                          align="right">
           <template #default="scope">
-            <span class="data-value">楼{{ scope.row.cost }}</span>
+            <span class="data-value">楼{{ scope.row.energyCost }}</span>
           </template>
         </el-table-column>
-        <el-table-column prop="unitConsumption"
+        <!-- <el-table-column prop="unitConsumption"
                          label="鍗曡��"
                          align="right">
           <template #default="scope">
             <span class="data-value">{{ scope.row.unitConsumption }}</span>
           </template>
-        </el-table-column>
+        </el-table-column> -->
       </el-table>
     </div>
   </div>
@@ -142,7 +132,7 @@
   import { ElMessage } from "element-plus";
   import { TrendCharts, List } from "@element-plus/icons-vue";
   import * as echarts from "echarts";
-  import { energyConsumptionDetailStatistics } from "@/api/energyManagement/energyType";
+  import { energyConsumptionDetailCollectEnergy } from "@/api/energyManagement/energyType";
 
   // 缁熻缁村害
   const statisticsType = ref("day");
@@ -208,7 +198,7 @@
     const typeMap = {
       姘�: "primary",
       鐢�: "warning",
-      钂告苯: "success",
+      姘�: "success",
     };
     return typeMap[type] || "info";
   };
@@ -330,7 +320,51 @@
     );
     // 浣跨敤瀹為檯鐨刴eterReadingDate浣滀负妯酱鏁版嵁
     xAxisData = allDates;
-
+    const energyTypesList = ["姘�", "鐢�", "姘�"];
+    const seriesData = [
+      {
+        name: "姘�",
+        type: "line",
+        data: data.map(item => item.waterConsumption),
+        smooth: true,
+        symbol: "circle",
+        symbolSize: 8,
+        lineStyle: {
+          width: 3,
+        },
+        itemStyle: {
+          color: "#409EFF",
+        },
+      },
+      {
+        name: "鐢�",
+        type: "line",
+        data: data.map(item => item.electricityConsumption),
+        smooth: true,
+        symbol: "circle",
+        symbolSize: 8,
+        lineStyle: {
+          width: 3,
+        },
+        itemStyle: {
+          color: "#FF4D4F",
+        },
+      },
+      {
+        name: "姘�",
+        type: "line",
+        data: data.map(item => item.gasConsumption),
+        smooth: true,
+        symbol: "circle",
+        symbolSize: 8,
+        lineStyle: {
+          width: 3,
+        },
+        itemStyle: {
+          color: "#FF9900",
+        },
+      },
+    ];
     const option = {
       tooltip: {
         trigger: "axis",
@@ -340,7 +374,7 @@
         textStyle: { color: "#303133" },
       },
       legend: {
-        data: ["鍗曡��"],
+        data: energyTypesList,
         top: 0,
         right: 10,
         textStyle: { color: "#606266" },
@@ -370,26 +404,13 @@
         axisLine: { show: false },
         splitLine: { lineStyle: { color: "#f0f2f5" } },
       },
-      series: {
-        name: "鍗曡��",
-        type: "line",
-        data: data.map(item => item.totalCost),
-        smooth: true,
-        symbol: "circle",
-        symbolSize: 8,
-        lineStyle: {
-          width: 3,
-        },
-        itemStyle: {
-          color: "#409EFF",
-        },
-      },
+      series: seriesData,
     };
 
     consumptionChartInstance.setOption(option);
   };
   const tableValue = ref([]);
-
+  const tableData2 = ref([]);
   // 鏌ヨ
   const handleQuery = () => {
     tableLoading.value = true;
@@ -443,11 +464,12 @@
       params.days = Math.ceil((end - start) / (1000 * 60 * 60 * 24)) + 1;
     }
 
-    energyConsumptionDetailStatistics(params)
+    energyConsumptionDetailCollectEnergy(params)
       .then(res => {
         if (res.code === 200) {
           const data = res.data;
           tableData.value = data.energyCostDtos || [];
+          tableData2.value = data.energyConsumptionTypeProportion || [];
           tableValue.value = [];
           tableData.value.forEach(item => {
             tableValue.value.push({

--
Gitblit v1.9.3