From 75f043dfa6660716364e66ee0b3cf99f44255686 Mon Sep 17 00:00:00 2001
From: DYL0109 <dn18191638832@163.com>
Date: 星期三, 16 四月 2025 19:20:36 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/develop1.0' into dyl_dev

---
 zhitan-vue/src/views/peakvalley/timeSharing/timeSharing.vue |  331 +++++++++++++++---------------------------------------
 1 files changed, 94 insertions(+), 237 deletions(-)

diff --git a/zhitan-vue/src/views/peakvalley/timeSharing/timeSharing.vue b/zhitan-vue/src/views/peakvalley/timeSharing/timeSharing.vue
index 7acba9e..80012c8 100644
--- a/zhitan-vue/src/views/peakvalley/timeSharing/timeSharing.vue
+++ b/zhitan-vue/src/views/peakvalley/timeSharing/timeSharing.vue
@@ -17,24 +17,16 @@
               />
             </el-form-item>
             <el-form-item>
-              <el-button type="primary" icon="Search" @click="handleQuery">
-                鎼滅储
-              </el-button>
+              <el-button type="primary" icon="Search" @click="handleQuery"> 鎼滅储 </el-button>
               <el-button icon="Refresh" @click="resetQuery">閲嶇疆</el-button>
             </el-form-item>
             <el-form-item>
-              <el-button type="primary" icon="Download" @click="handleExport">
-                瀵煎嚭
-              </el-button>
+              <el-button type="primary" icon="Download" @click="handleExport"> 瀵煎嚭 </el-button>
             </el-form-item>
           </el-form>
         </div>
         <div
-          style="
-            height: calc(100vh - 205px) !important;
-            max-height: calc(100vh - 205px) !important;
-            overflow-y: auto;
-          "
+          style="height: calc(100vh - 205px) !important; max-height: calc(100vh - 205px) !important; overflow-y: auto"
           v-loading="loading"
         >
           <el-row>
@@ -55,16 +47,8 @@
             <el-col :span="24">
               <BaseCard :title="queryParams.nodeName + '-宄板钩璋峰垎鏃剁粺璁�'">
                 <div class="table-box">
-                  <el-table
-                    :data="timeSharingList"
-                    style="width: 100%"
-                    show-summary
-                  >
-                    <el-table-column
-                      label="鏃堕棿"
-                      align="center"
-                      show-overflow-tooltip
-                    >
+                  <el-table :data="timeSharingList" style="width: 100%" show-summary>
+                    <el-table-column label="鏃堕棿" align="center" show-overflow-tooltip>
                       <template #default="scope">
                         {{ proxy.dayjs(scope.row.time).format("HH鏃�") }}
                       </template>
@@ -77,12 +61,7 @@
                         show-overflow-tooltip
                         width="120"
                       />
-                      <el-table-column
-                        prop="sharpFee"
-                        label="鐢佃垂(鍏�)"
-                        align="center"
-                        show-overflow-tooltip
-                      />
+                      <el-table-column prop="sharpFee" label="鐢佃垂(鍏�)" align="center" show-overflow-tooltip />
                     </el-table-column>
                     <el-table-column label="宄�" align="center">
                       <el-table-column
@@ -92,12 +71,7 @@
                         show-overflow-tooltip
                         width="120"
                       />
-                      <el-table-column
-                        prop="peakFee"
-                        label="鐢佃垂(鍏�)"
-                        align="center"
-                        show-overflow-tooltip
-                      />
+                      <el-table-column prop="peakFee" label="鐢佃垂(鍏�)" align="center" show-overflow-tooltip />
                     </el-table-column>
                     <el-table-column label="骞�" align="center">
                       <el-table-column
@@ -107,12 +81,7 @@
                         show-overflow-tooltip
                         width="120"
                       />
-                      <el-table-column
-                        prop="flatFee"
-                        label="鐢佃垂(鍏�)"
-                        align="center"
-                        show-overflow-tooltip
-                      />
+                      <el-table-column prop="flatFee" label="鐢佃垂(鍏�)" align="center" show-overflow-tooltip />
                     </el-table-column>
                     <el-table-column label="璋�" align="center">
                       <el-table-column
@@ -122,12 +91,7 @@
                         show-overflow-tooltip
                         width="120"
                       />
-                      <el-table-column
-                        prop="valleyFee"
-                        label="鐢佃垂(鍏�)"
-                        align="center"
-                        show-overflow-tooltip
-                      />
+                      <el-table-column prop="valleyFee" label="鐢佃垂(鍏�)" align="center" show-overflow-tooltip />
                     </el-table-column>
                     <el-table-column label="鍚堣" align="center">
                       <el-table-column
@@ -137,12 +101,7 @@
                         show-overflow-tooltip
                         width="120"
                       />
-                      <el-table-column
-                        prop="totalFee"
-                        label="鎬荤數璐�(鍏�)"
-                        align="center"
-                        show-overflow-tooltip
-                      />
+                      <el-table-column prop="totalFee" label="鎬荤數璐�(鍏�)" align="center" show-overflow-tooltip />
                     </el-table-column>
                     <!-- <el-table-column label="鎿嶄綔" align="center">
                     <template #default="scope">
@@ -159,84 +118,27 @@
         </div>
       </div>
     </div>
-    <el-dialog
-      v-model="timeSharingDialogTableVisible"
-      title="鏌ョ湅鍒嗘椂缁熻璇︽儏"
-      width="1300"
-    >
+    <el-dialog v-model="timeSharingDialogTableVisible" title="鏌ョ湅鍒嗘椂缁熻璇︽儏" width="1300">
       <div class="table-box">
-        <el-table :data="viewTimeSharingList" style="width: 100%" height="420">
-          <el-table-column
-            label="鏃堕棿"
-            align="center"
-            show-overflow-tooltip
-            width="200"
-          >
+        <el-table :data="viewTimeSharingList" style="width: 100%" height="420" border>
+          <el-table-column label="鏃堕棿" align="center" show-overflow-tooltip width="200">
             <template #default="scope"> {{ scope.row.time }}鏃� </template>
           </el-table-column>
           <el-table-column label="灏�" align="center">
-            <el-table-column
-              prop="sharpPower"
-              label="鑰楃數閲�(kWh)"
-              align="center"
-              show-overflow-tooltip
-              width="120"
-            />
-            <el-table-column
-              prop="sharpFee"
-              label="鐢佃垂(鍏�)"
-              align="center"
-              show-overflow-tooltip
-              width="90"
-            />
+            <el-table-column prop="sharpPower" label="鑰楃數閲�(kWh)" align="center" show-overflow-tooltip width="120" />
+            <el-table-column prop="sharpFee" label="鐢佃垂(鍏�)" align="center" show-overflow-tooltip width="90" />
           </el-table-column>
           <el-table-column label="宄�" align="center">
-            <el-table-column
-              prop="peakPower"
-              label="鑰楃數閲�(kWh)"
-              align="center"
-              show-overflow-tooltip
-              width="120"
-            />
-            <el-table-column
-              prop="peakFee"
-              label="鐢佃垂(鍏�)"
-              align="center"
-              show-overflow-tooltip
-              width="90"
-            />
+            <el-table-column prop="peakPower" label="鑰楃數閲�(kWh)" align="center" show-overflow-tooltip width="120" />
+            <el-table-column prop="peakFee" label="鐢佃垂(鍏�)" align="center" show-overflow-tooltip width="90" />
           </el-table-column>
           <el-table-column label="骞�" align="center">
-            <el-table-column
-              prop="flatPower"
-              label="鑰楃數閲�(kWh)"
-              align="center"
-              show-overflow-tooltip
-              width="120"
-            />
-            <el-table-column
-              prop="flatFee"
-              label="鐢佃垂(鍏�)"
-              align="center"
-              show-overflow-tooltip
-              width="90"
-            />
+            <el-table-column prop="flatPower" label="鑰楃數閲�(kWh)" align="center" show-overflow-tooltip width="120" />
+            <el-table-column prop="flatFee" label="鐢佃垂(鍏�)" align="center" show-overflow-tooltip width="90" />
           </el-table-column>
           <el-table-column label="璋�" align="center">
-            <el-table-column
-              prop="valleyPower"
-              label="鑰楃數閲�(kWh)"
-              align="center"
-              show-overflow-tooltip
-              width="120"
-            />
-            <el-table-column
-              prop="valleyFee"
-              label="鐢佃垂(鍏�)"
-              align="center"
-              show-overflow-tooltip
-              width="90"
-            />
+            <el-table-column prop="valleyPower" label="鑰楃數閲�(kWh)" align="center" show-overflow-tooltip width="120" />
+            <el-table-column prop="valleyFee" label="鐢佃垂(鍏�)" align="center" show-overflow-tooltip width="90" />
           </el-table-column>
           <el-table-column label="鍚堣" align="center">
             <el-table-column
@@ -247,38 +149,16 @@
               width="120"
             >
               <template #default="scope">
-                {{
-                  scope.row.sharpPower +
-                  scope.row.peakPower +
-                  scope.row.flatPower +
-                  scope.row.valleyPower
-                }}
+                {{ scope.row.sharpPower + scope.row.peakPower + scope.row.flatPower + scope.row.valleyPower }}
               </template>
             </el-table-column>
-            <el-table-column
-              prop="totalCost"
-              label="鎬荤數璐�(鍏�)"
-              align="center"
-              show-overflow-tooltip
-              width="100"
-            >
+            <el-table-column prop="totalCost" label="鎬荤數璐�(鍏�)" align="center" show-overflow-tooltip width="100">
               <template #default="scope">
-                {{
-                  scope.row.sharpFee +
-                  scope.row.peakFee +
-                  scope.row.flatFee +
-                  scope.row.valleyFee
-                }}
+                {{ scope.row.sharpFee + scope.row.peakFee + scope.row.flatFee + scope.row.valleyFee }}
               </template>
             </el-table-column>
           </el-table-column>
-          <el-table-column
-            prop="nodeName"
-            label="鐢ㄨ兘鍗曞厓"
-            align="center"
-            show-overflow-tooltip
-            width="200"
-          />
+          <el-table-column prop="nodeName" label="鐢ㄨ兘鍗曞厓" align="center" show-overflow-tooltip width="200" />
         </el-table>
       </div>
     </el-dialog>
@@ -286,23 +166,23 @@
 </template>
 
 <script setup name="timeSharing">
-import { listTimeSharing } from "@/api/peakValley/timeSharing";
-import * as echarts from "echarts";
-const { proxy } = getCurrentInstance();
-import { useRoute } from "vue-router";
-import useSettingsStore from "@/store/modules/settings";
-const settingsStore = useSettingsStore();
+import { listTimeSharing } from "@/api/peakValley/timeSharing"
+import * as echarts from "echarts"
+const { proxy } = getCurrentInstance()
+import { useRoute } from "vue-router"
+import useSettingsStore from "@/store/modules/settings"
+const settingsStore = useSettingsStore()
 watch(
   () => settingsStore.sideTheme,
   (val) => {
-    getList();
+    getList()
   }
-);
-const loading = ref(false);
-const timeSharingList = ref([]);
-const timeSharingDialogTableVisible = ref(false);
-const viewTimeSharingList = ref([]);
-const nodeOptions = ref(undefined);
+)
+const loading = ref(false)
+const timeSharingList = ref([])
+const timeSharingDialogTableVisible = ref(false)
+const viewTimeSharingList = ref([])
+const nodeOptions = ref(undefined)
 const data = reactive({
   queryParams: {
     nodeId: null,
@@ -311,52 +191,52 @@
     queryTime: null,
   },
   query: { ...useRoute().query },
-});
-const { queryParams, query } = toRefs(data);
+})
+const { queryParams, query } = toRefs(data)
 /** 閫氳繃鏉′欢杩囨护鑺傜偣  */
 const filterNode = (value, data) => {
-  if (!value) return true;
-  return data.label.indexOf(value) !== -1;
-};
+  if (!value) return true
+  return data.label.indexOf(value) !== -1
+}
 function handleNodeClick(data) {
-  queryParams.value.nodeId = data.id;
-  queryParams.value.nodeName = data.label;
-  queryParams.value.queryTime = proxy.dayjs(new Date()).format("YYYY-MM-DD");
-  handleQuery();
+  queryParams.value.nodeId = data.id
+  queryParams.value.nodeName = data.label
+  queryParams.value.queryTime = proxy.dayjs(new Date()).format("YYYY-MM-DD")
+  handleQuery()
 }
 // 宄板钩璋疯兘鑰楀垎鏋�-宄板钩璋峰垎鏃剁粺璁�-鍒楄〃
 function getList() {
-  loading.value = true;
+  loading.value = true
   listTimeSharing(
     proxy.addDateRange({
       ...queryParams.value,
       ...query.value,
     })
   ).then((res) => {
-    loading.value = false;
+    loading.value = false
     if (!!res.code && res.code == 200) {
       // 鍦ㄥ垵濮嬪寲涔嬪墠锛屽厛dispose鏃х殑瀹炰緥
       if (echarts.getInstanceByDom(document.getElementById("Chart1"))) {
-        echarts.dispose(document.getElementById("Chart1"));
+        echarts.dispose(document.getElementById("Chart1"))
       }
       if (echarts.getInstanceByDom(document.getElementById("Chart2"))) {
-        echarts.dispose(document.getElementById("Chart2"));
+        echarts.dispose(document.getElementById("Chart2"))
       }
-      const myChart1 = echarts.init(document.getElementById("Chart1"));
-      const myChart2 = echarts.init(document.getElementById("Chart2"));
+      const myChart1 = echarts.init(document.getElementById("Chart1"))
+      const myChart2 = echarts.init(document.getElementById("Chart2"))
       if (!!res.data.lineChat) {
-        let xdata = [];
-        let ytip = [];
-        let ypeak = [];
-        let yflat = [];
-        let ytrough = [];
+        let xdata = []
+        let ytip = []
+        let ypeak = []
+        let yflat = []
+        let ytrough = []
         res.data.lineChat.map((item) => {
-          xdata.push(Number(item.xdata.slice(-8).substring(0, 2)) + "鏃�");
-          ytip.push(!!item.ytip ? item.ytip : 0);
-          ypeak.push(!!item.ypeak ? item.ypeak : 0);
-          yflat.push(!!item.yflat ? item.yflat : 0);
-          ytrough.push(!!item.ytrough ? item.ytrough : 0);
-        });
+          xdata.push(Number(item.xdata.slice(-8).substring(0, 2)) + "鏃�")
+          ytip.push(!!item.ytip ? item.ytip : 0)
+          ypeak.push(!!item.ypeak ? item.ypeak : 0)
+          yflat.push(!!item.yflat ? item.yflat : 0)
+          ytrough.push(!!item.ytrough ? item.ytrough : 0)
+        })
         myChart1.setOption({
           color: ["#f52528", "#ff6200", "#ffce0c", "#78e801"],
           grid: {
@@ -378,8 +258,7 @@
             itemHeight: 10,
             // right: 0,
             textStyle: {
-              color:
-                settingsStore.sideTheme == "theme-dark" ? "#FFFFFF" : "#222222",
+              color: settingsStore.sideTheme == "theme-dark" ? "#FFFFFF" : "#222222",
             },
             // data: ['灏�', '宄�', '骞�', '璋�']
           },
@@ -388,10 +267,7 @@
             axisLine: {
               show: true,
               lineStyle: {
-                color:
-                  settingsStore.sideTheme == "theme-dark"
-                    ? "#FFFFFF"
-                    : "#222222",
+                color: settingsStore.sideTheme == "theme-dark" ? "#FFFFFF" : "#222222",
               },
             },
             axisTick: {
@@ -404,8 +280,7 @@
               show: false,
             },
             axisLabel: {
-              color:
-                settingsStore.sideTheme == "theme-dark" ? "#FFFFFF" : "#222222",
+              color: settingsStore.sideTheme == "theme-dark" ? "#FFFFFF" : "#222222",
               fontSize: 14,
               padding: [5, 0, 0, 0],
               //   formatter: '{value} ml'
@@ -416,8 +291,7 @@
             name: "鑰楃數閲�(KWH)",
             type: "value",
             nameTextStyle: {
-              color:
-                settingsStore.sideTheme == "theme-dark" ? "#FFFFFF" : "#222222",
+              color: settingsStore.sideTheme == "theme-dark" ? "#FFFFFF" : "#222222",
               fontSize: 14,
               padding: [0, 0, 5, 0],
             },
@@ -428,10 +302,7 @@
               show: true,
               lineStyle: {
                 type: "dashed",
-                color:
-                  settingsStore.sideTheme == "theme-dark"
-                    ? "#FFFFFF"
-                    : "#222222",
+                color: settingsStore.sideTheme == "theme-dark" ? "#FFFFFF" : "#222222",
               },
             },
             axisTick: {
@@ -441,8 +312,7 @@
               show: false,
             },
             axisLabel: {
-              color:
-                settingsStore.sideTheme == "theme-dark" ? "#FFFFFF" : "#222222",
+              color: settingsStore.sideTheme == "theme-dark" ? "#FFFFFF" : "#222222",
               fontSize: 14,
               //   formatter: '{value} ml'
             },
@@ -451,33 +321,33 @@
             {
               name: "灏�", // ytip
               type: "bar",
-              barWidth: "27",
+              barWidth: "12",
               stack: "total",
               data: ytip,
             },
             {
               name: "宄�", // ypeak
               type: "bar",
-              barWidth: "27",
+              barWidth: "12",
               stack: "total",
               data: ypeak,
             },
             {
               name: "骞�", // yflat
               type: "bar",
-              barWidth: "27",
+              barWidth: "12",
               stack: "total",
               data: yflat,
             },
             {
               name: "璋�", // ytrough
               type: "bar",
-              barWidth: "27",
+              barWidth: "12",
               stack: "total",
               data: ytrough,
             },
           ],
-        });
+        })
       }
       if (!!res.data.pieChat) {
         myChart2.setOption({
@@ -492,8 +362,7 @@
             itemGap: 10,
             // right: 0,
             textStyle: {
-              color:
-                settingsStore.sideTheme == "theme-dark" ? "#FFFFFF" : "#222222",
+              color: settingsStore.sideTheme == "theme-dark" ? "#FFFFFF" : "#222222",
             },
           },
           series: [
@@ -505,70 +374,58 @@
               label: {
                 overflow: "none",
                 formatter: "{b} {c}%  ",
-                color:
-                  settingsStore.sideTheme == "theme-dark"
-                    ? "#FFFFFF"
-                    : "#222222",
+                color: settingsStore.sideTheme == "theme-dark" ? "#FFFFFF" : "#222222",
               },
               data: [
                 {
-                  value: !!res.data.pieChat.tip
-                    ? Number(res.data.pieChat.tip)
-                    : 0,
+                  value: !!res.data.pieChat.tip ? Number(res.data.pieChat.tip) : 0,
                   name: "灏�",
                 },
                 {
-                  value: !!res.data.pieChat.peak
-                    ? Number(res.data.pieChat.peak)
-                    : 0,
+                  value: !!res.data.pieChat.peak ? Number(res.data.pieChat.peak) : 0,
                   name: "宄�",
                 },
                 {
-                  value: !!res.data.pieChat.flat
-                    ? Number(res.data.pieChat.flat)
-                    : 0,
+                  value: !!res.data.pieChat.flat ? Number(res.data.pieChat.flat) : 0,
                   name: "骞�",
                 },
                 {
-                  value: !!res.data.pieChat.trough
-                    ? Number(res.data.pieChat.trough)
-                    : 0,
+                  value: !!res.data.pieChat.trough ? Number(res.data.pieChat.trough) : 0,
                   name: "璋�",
                 },
               ],
             },
           ],
-        });
+        })
       }
       if (!!res.data.dataList) {
-        timeSharingList.value = !!res.data.dataList ? res.data.dataList : [];
+        timeSharingList.value = !!res.data.dataList ? res.data.dataList : []
       }
       window.addEventListener(
         "resize",
         () => {
-          myChart1.resize();
-          myChart2.resize();
+          myChart1.resize()
+          myChart2.resize()
         },
         { passive: true }
-      );
+      )
     }
-  });
+  })
 }
 // 宄板钩璋疯兘鑰楀垎鏋�-宄板钩璋峰垎鏃剁粺璁�-鏌ョ湅
 function handleView(row) {
-  queryParams.value.key = row.timeStr;
-  timeSharingDialogTableVisible.value = true;
-  viewTimeSharingList.value = [row];
+  queryParams.value.key = row.timeStr
+  timeSharingDialogTableVisible.value = true
+  viewTimeSharingList.value = [row]
 }
 // 宄板钩璋疯兘鑰楀垎鏋�-宄板钩璋峰垎鏃剁粺璁�-鎼滅储
 function handleQuery() {
-  getList();
+  getList()
 }
 // 宄板钩璋疯兘鑰楀垎鏋�-宄板钩璋峰垎鏃剁粺璁�-閲嶇疆
 function resetQuery() {
-  proxy.resetForm("queryRef");
-  (queryParams.value.queryTime = proxy.dayjs(new Date()).format("YYYY-MM-DD")),
-    handleQuery();
+  proxy.resetForm("queryRef")
+  ;(queryParams.value.queryTime = proxy.dayjs(new Date()).format("YYYY-MM-DD")), handleQuery()
 }
 // 宄板钩璋疯兘鑰楀垎鏋�-宄板钩璋峰垎鏃剁粺璁�-瀵煎嚭
 function handleExport() {
@@ -579,7 +436,7 @@
       ...query.value,
     },
     `${queryParams.value.nodeName}_宄板钩璋峰垎鏃剁粺璁${new Date().getTime()}.xlsx`
-  );
+  )
 }
 </script>
 <style scoped lang="scss">

--
Gitblit v1.9.3