From e95d6f2a9141c05903098065b4356d1158c0c4e2 Mon Sep 17 00:00:00 2001
From: zhangwencui <1064582902@qq.com>
Date: 星期六, 28 三月 2026 14:32:35 +0800
Subject: [PATCH] 能耗统计年月日修改

---
 src/views/energyManagement/energyConsumptionStatistical/index.vue |   95 ++++++++++++++++++++++++++++++++---------------
 1 files changed, 65 insertions(+), 30 deletions(-)

diff --git a/src/views/energyManagement/energyConsumptionStatistical/index.vue b/src/views/energyManagement/energyConsumptionStatistical/index.vue
index c58d850..df70d25 100644
--- a/src/views/energyManagement/energyConsumptionStatistical/index.vue
+++ b/src/views/energyManagement/energyConsumptionStatistical/index.vue
@@ -180,9 +180,13 @@
                          label="搴忓彿"
                          width="60"
                          align="center" />
-        <el-table-column prop="timePeriod"
-                         :label="timeColumnLabel"
-                         align="center" />
+        <el-table-column prop="meterReadingDate"
+                         label="鏃ユ湡"
+                         align="right">
+          <template #default="scope">
+            <span class="consumption-value">{{ scope.row.meterReadingDate }}</span>
+          </template>
+        </el-table-column>
         <el-table-column prop="waterConsumption"
                          label="鐢ㄦ按閲�(鍚�)"
                          align="right">
@@ -190,11 +194,11 @@
             <span class="consumption-value">{{ scope.row.waterConsumption }}</span>
           </template>
         </el-table-column>
-        <el-table-column prop="waterAmount"
+        <el-table-column prop="waterCost"
                          label="姘磋垂(鍏�)"
                          align="right">
           <template #default="scope">
-            <span class="amount-value">{{ scope.row.waterAmount }}</span>
+            <span class="amount-value">{{ scope.row.waterCost }}</span>
           </template>
         </el-table-column>
         <el-table-column prop="electricityConsumption"
@@ -204,11 +208,11 @@
             <span class="consumption-value">{{ scope.row.electricityConsumption }}</span>
           </template>
         </el-table-column>
-        <el-table-column prop="electricityAmount"
+        <el-table-column prop="electricityCost"
                          label="鐢佃垂(鍏�)"
                          align="right">
           <template #default="scope">
-            <span class="amount-value">{{ scope.row.electricityAmount }}</span>
+            <span class="amount-value">{{ scope.row.electricityCost }}</span>
           </template>
         </el-table-column>
         <el-table-column prop="gasConsumption"
@@ -218,11 +222,11 @@
             <span class="consumption-value">{{ scope.row.gasConsumption }}</span>
           </template>
         </el-table-column>
-        <el-table-column prop="gasAmount"
+        <el-table-column prop="gasCost"
                          label="姘旇垂(鍏�)"
                          align="right">
           <template #default="scope">
-            <span class="amount-value">{{ scope.row.gasAmount }}</span>
+            <span class="amount-value">{{ scope.row.gasCost }}</span>
           </template>
         </el-table-column>
         <el-table-column prop="totalConsumption"
@@ -237,7 +241,7 @@
                          align="right"
                          fixed="right">
           <template #default="scope">
-            <span class="total-amount-value">楼{{ scope.row.totalAmount }}</span>
+            <span class="total-amount-value">楼{{ scope.row.totalCost }}</span>
           </template>
         </el-table-column>
       </el-table>
@@ -443,7 +447,7 @@
       },
       xAxis: {
         type: "category",
-        data: data.map(item => item.timePeriod),
+        data: data.map(item => item.meterReadingDate),
         axisLabel: { rotate: statisticsType.value === "day" ? 45 : 0 },
       },
       yAxis: {
@@ -494,7 +498,7 @@
       },
       xAxis: {
         type: "category",
-        data: data.map(item => item.timePeriod),
+        data: data.map(item => item.meterReadingDate),
         axisLabel: { rotate: statisticsType.value === "day" ? 45 : 0 },
       },
       yAxis: {
@@ -505,21 +509,21 @@
         {
           name: "姘磋垂",
           type: "line",
-          data: data.map(item => item.waterAmount),
+          data: data.map(item => item.waterCost),
           smooth: true,
           itemStyle: { color: "#409EFF" },
         },
         {
           name: "鐢佃垂",
           type: "line",
-          data: data.map(item => item.electricityAmount),
+          data: data.map(item => item.electricityCost),
           smooth: true,
           itemStyle: { color: "#E6A23C" },
         },
         {
           name: "姘旇垂",
           type: "line",
-          data: data.map(item => item.gasAmount),
+          data: data.map(item => item.gasCost),
           smooth: true,
           itemStyle: { color: "#67C23A" },
         },
@@ -595,15 +599,15 @@
   const updateAmountTypeChart = () => {
     const data = tableData.value;
     const totalWaterAmount = data.reduce(
-      (sum, item) => sum + parseFloat(item.waterAmount),
+      (sum, item) => sum + parseFloat(item.waterCost),
       0
     );
     const totalElectricityAmount = data.reduce(
-      (sum, item) => sum + parseFloat(item.electricityAmount),
+      (sum, item) => sum + parseFloat(item.electricityCost),
       0
     );
     const totalGasAmount = data.reduce(
-      (sum, item) => sum + parseFloat(item.gasAmount),
+      (sum, item) => sum + parseFloat(item.gasCost),
       0
     );
 
@@ -653,10 +657,29 @@
 
   // 缁熻缁村害鍒囨崲
   const handleTypeChange = () => {
-    // 閲嶇疆鏃堕棿鑼冨洿
-    searchForm.dateRange = [];
-    searchForm.monthRange = [];
-    searchForm.year = new Date().getFullYear();
+    // 閲嶇疆鏃堕棿鑼冨洿骞惰缃粯璁ゅ��
+    const end = new Date();
+    const start = new Date();
+
+    if (statisticsType.value === "day") {
+      // 榛樿鏈�杩�7澶�
+      start.setDate(start.getDate() - 6);
+      searchForm.dateRange = [
+        start.toISOString().split("T")[0],
+        end.toISOString().split("T")[0],
+      ];
+    } else if (statisticsType.value === "month") {
+      // 榛樿鏈�杩�3涓湀
+      start.setMonth(start.getMonth() - 2);
+      searchForm.monthRange = [
+        start.toISOString().slice(0, 7),
+        end.toISOString().slice(0, 7),
+      ];
+    } else if (statisticsType.value === "year") {
+      // 榛樿褰撳墠骞翠唤
+      searchForm.year = new Date().getFullYear();
+    }
+
     page.current = 1;
     handleQuery();
   };
@@ -666,6 +689,12 @@
     tableLoading.value = true;
     const params = {
       type: "",
+      state:
+        statisticsType.value === "day"
+          ? "鏃�"
+          : statisticsType.value === "month"
+          ? "鏈�"
+          : "骞�",
     };
 
     // 鏋勯�犺姹傚弬鏁�
@@ -685,14 +714,20 @@
     } else if (statisticsType.value === "month") {
       if (searchForm.monthRange && searchForm.monthRange.length === 2) {
         params.startDate = searchForm.monthRange[0] + "-01";
-        params.endDate = searchForm.monthRange[1] + "-01";
-        // 璁$畻鏈堟暟
-        const start = new Date(searchForm.monthRange[0] + "-01");
-        const end = new Date(searchForm.monthRange[1] + "-01");
-        params.days =
-          (end.getFullYear() - start.getFullYear()) * 12 +
-          (end.getMonth() - start.getMonth()) +
-          1;
+        const [endYearStr, endMonthStr] = String(searchForm.monthRange[1]).split(
+          "-"
+        );
+        const endYear = Number(endYearStr);
+        const endMonth = Number(endMonthStr);
+        const lastDay = new Date(endYear, endMonth, 0).getDate();
+        params.endDate = `${endYearStr}-${endMonthStr}-${String(lastDay).padStart(
+          2,
+          "0"
+        )}`;
+        // 璁$畻澶╂暟
+        const start = new Date(params.startDate);
+        const end = new Date(params.endDate);
+        params.days = Math.ceil((end - start) / (1000 * 60 * 60 * 24)) + 1;
       }
     } else if (statisticsType.value === "year") {
       params.startDate = searchForm.year + "-01-01";

--
Gitblit v1.9.3