Ver código fonte

首页72小时功率曲线双Y轴各玩各的BUG解决,其他细小BUG修复

wangb 7 meses atrás
pai
commit
a473660411

+ 1 - 1
components.d.ts

@@ -166,7 +166,7 @@ declare module 'vue' {
     StrightLineChart: typeof import('./src/components/chart/line/stright-line-chart.vue')['default']
     SubmitBtn: typeof import('./src/components/generatingCapacityComponent/SubmitBtn.vue')['default']
     SvgDraw: typeof import('./src/components/coms/icon/svg-draw.vue')['default']
-    SvgIcon: typeof import('./src/components/coms/icon/svg-icon.vue')['default']
+    SvgIcon: typeof import('./src/components/powerPredictionComponent/svgIcon/index.vue')['default']
     SvgPageShow: typeof import('./src/components/powerPredictionComponent/powerControlSvg/svgPageShow.vue')['default']
     Tab: typeof import('./src/components/coms/tabs/tab.vue')['default']
     Table: typeof import('./src/components/generatingCapacityComponent/table.vue')['default']

+ 2 - 2
src/App.vue

@@ -1345,9 +1345,9 @@ export default {
         end: `${dayjs().format("YYYY-MM-DD")} 23:59:59`,
       };
       if (params.alarmType == "windturbine") {
-        params.stationid = "SXJ_KGDL_DJY_FDC_STA";
+        params.stationid = "";
       } else if (params.alarmType == "inverter") {
-        params.stationid = "SXJ_KGDL_JR_GDC_STA";
+        params.stationid = "";
       }
       return alarm_history(params, 12000);
     },

+ 42 - 1
src/themeBlue.less

@@ -518,14 +518,55 @@
 
         .el-pagination {
 
+            .el-pagination__total {
+                color: #000;
+            }
+
             button.is-disabled,
-            button:disabled {
+            button:disabled,
+            button.btn-next {
                 background: transparent;
 
             }
 
             .el-pager .number {
+                color: #000;
                 background: transparent;
+
+                &:hover {
+                    color: #1890ff;
+                }
+            }
+
+            button.btn-next {
+                color: #000;
+            }
+        }
+
+        .el-pagination.b {
+
+            .el-pagination__total {
+                color: #fff;
+            }
+
+            button.is-disabled,
+            button:disabled,
+            button.btn-next {
+                background: transparent;
+
+            }
+
+            .el-pager .number {
+                color: #fff;
+                background: transparent;
+
+                &:hover {
+                    color: #1890ff;
+                }
+            }
+
+            button.btn-next {
+                color: #fff;
             }
         }
 

+ 4 - 0
src/themeDark.less

@@ -996,6 +996,10 @@
 
     .el-pagination {
 
+        .el-pagination__total {
+            color: #fff;
+        }
+
         button.is-disabled,
         button:disabled,
         button.btn-next {

+ 3 - 2
src/views/IntegratedAlarm/deviceConfig/components/custom.vue

@@ -201,6 +201,7 @@
     </el-table>
     <div class="pagination">
       <el-pagination
+        class="b"
         layout="total, sizes, prev, pager, next"
         :page-sizes="[19, 50, 100, 200, 500]"
         @size-change="
@@ -366,8 +367,8 @@ const query = reactive({
 });
 let total = ref(0);
 onMounted(() => {
-    getData();
-    getequipmentmodel_list();
+  getData();
+  getequipmentmodel_list();
 });
 const dialogclose = () => {
   state.visible = false;

+ 4 - 3
src/views/IntegratedAlarm/deviceConfig/components/windturbine.vue

@@ -133,6 +133,7 @@
       </el-table>
       <div class="pagination">
         <el-pagination
+          class="b"
           layout="total, sizes, prev, pager, next"
           :page-sizes="[19, 50, 100, 200, 500]"
           @size-change="
@@ -691,9 +692,9 @@ const query = reactive({
 });
 let total = ref(0);
 onMounted(() => {
-    getStationList();
-    getData();
-    getequipmentmodel_list();
+  getStationList();
+  getData();
+  getequipmentmodel_list();
 });
 const dialogclose = () => {
   state.visible = false;

+ 1 - 0
src/views/IntegratedAlarm/deviceConfig/components/ycpoint.vue

@@ -151,6 +151,7 @@
     </el-table>
     <div class="pagination">
       <el-pagination
+        class="b"
         layout="total, sizes, prev, pager, next"
         :page-sizes="[19, 50, 100, 200, 500]"
         @size-change="

+ 1 - 0
src/views/IntegratedAlarm/deviceConfig/components/yxpoint.vue

@@ -123,6 +123,7 @@
     </el-table>
     <div class="pagination">
       <el-pagination
+        class="b"
         layout="total, sizes, prev, pager, next"
         :page-sizes="[19, 50, 100, 200, 500]"
         @size-change="

+ 1 - 1
src/views/IntegratedAlarm/deviceConfig/index.vue

@@ -18,7 +18,7 @@
             >删除</el-button
           >
         </div>
-        <div class="trees">
+        <div class="trees" :style="`background: ${$store.state.theme ? '#fff' : '#152545'}`">
           <el-tree
             :data="state.treedata"
             :props="state.defaultProps"

+ 3 - 0
src/views/generatingCapacity/dataAnalysis/agcAnalysis/components/current-scatter-chart.vue

@@ -118,6 +118,9 @@ export default {
               opacity: 1, // 不改变透明度
             },
           };
+          ele.large = true; // 开启大数据模式
+          ele.progressive = 300; // 每次渲染的数据点数量
+          ele.progressiveChunkMode = "sequential"; // 顺序分批渲染
           ele.silent = true;
           if (ele.name === "偏差上限") {
             ele.areaStyle = that.linearGradientColor[0];

Diferenças do arquivo suprimidas por serem muito extensas
+ 2084 - 106484
src/views/generatingCapacity/dataAnalysis/agcAnalysis/components/data.json


+ 1 - 1
src/views/generatingCapacity/dataAnalysis/agcAnalysis/components/search.vue

@@ -52,7 +52,7 @@ import SubmitBtn from "@/components/generatingCapacityComponent/SubmitBtn.vue";
 
 const queryForm = reactive({
   station: "",
-  st: Date.now() - 30 * 24 * 60 * 60 * 1000,
+  st: Date.now() - 10 * 24 * 60 * 60 * 1000,
   et: Date.now(),
   interval: 3,
 });

+ 3 - 0
src/views/generatingCapacity/dataAnalysis/angleAnalysis/components/current-scatter-chart.vue

@@ -159,6 +159,9 @@ export default {
         ele.lineStyle = {
           color: that.color[index],
         };
+        ele.large = true; // 开启大数据模式
+        ele.progressive = 300; // 每次渲染的数据点数量
+        ele.progressiveChunkMode = "sequential"; // 顺序分批渲染
         if (ele.name === "叶片1" && markItem?.yp1 >= 0) {
           this.markItem = markItem;
           ele.markPoint = {

+ 18 - 1
src/views/generatingCapacity/dataAnalysis/rateAnalysis/index.vue

@@ -473,7 +473,24 @@ const funSubmit = async () => {
           xAxis: {
             type: "category",
             boundaryGap: false,
-            data: ["北", "东北", "东", "东南", "南", "西南", "西", "西北"],
+            data: [
+              "北",
+              "",
+              "东北",
+              "",
+              "东",
+              "",
+              "东南",
+              "",
+              "南",
+              "",
+              "西南",
+              "",
+              "西",
+              "",
+              "西北",
+              "",
+            ],
             splitLine: {
               show: true,
             },

+ 15 - 10
src/views/generatingCapacity/dataFilter/prepare/search.vue

@@ -136,18 +136,23 @@ export default {
       apiGetpowerpreparedata(query).then((res) => {
         if (res.code === 200) {
           ElMessage.success(res.msg);
-          this.$store.commit("setReadyProgress", 0);
-          window?.getSocketData &&
-            window.getSocketData({
-              detail: {
-                data: {
-                  type: "message",
-                  content: {
-                    data: 0,
+          if (
+            this.$store.state.readyProgress !== 0 &&
+            this.$store.state.readyProgress !== 100
+          ) {
+            this.$store.commit("setReadyProgress", 0);
+            window?.getSocketData &&
+              window.getSocketData({
+                detail: {
+                  data: {
+                    type: "message",
+                    content: {
+                      data: 0,
+                    },
                   },
                 },
-              },
-            });
+              });
+          }
         }
       });
     },

+ 111 - 31
src/views/home/index.vue

@@ -105,14 +105,14 @@
                 <span class="dj">待机</span>
                 <span
                   :style="`color: #${$store.state.theme ? '000' : 'fff'}`"
-                  >{{ ztmap.tjsum }}</span
+                  >{{ ztmap.djsum }}</span
                 >
               </div>
               <div class="info">
                 <span class="gz">故障</span>
                 <span
                   :style="`color: #${$store.state.theme ? '000' : 'fff'}`"
-                  >{{ ztmap.whsum }}</span
+                  >{{ ztmap.jxsum }}</span
                 >
               </div>
             </div>
@@ -123,7 +123,7 @@
                 <span class="wh">维护</span>
                 <span
                   :style="`color: #${$store.state.theme ? '000' : 'fff'}`"
-                  >{{ ztmap.jxsum }}</span
+                  >{{ ztmap.whsum }}</span
                 >
               </div>
               <div class="info">
@@ -136,12 +136,12 @@
               <div class="info">
                 <span
                   class="sl"
-                  :style="`color: ${$store.state.theme ? '#000' : '#fff'}`"
+                  :style="`color:${$store.state.theme ? '#000' : '#fff'}`"
                   >受累</span
                 >
                 <span
                   :style="`color: #${$store.state.theme ? '000' : 'fff'}`"
-                  >{{ ztmap.djsum }}</span
+                  >{{ ztmap.tjsum }}</span
                 >
               </div>
               <div class="info">
@@ -1056,7 +1056,7 @@ export default {
               data: xAxis,
               axisLine: {
                 lineStyle: {
-                  color: theme ? "1850B3" : "#fff", // 修改为需要的颜色
+                  color: theme ? "#1850B3" : "#fff", // 修改为需要的颜色
                 },
               },
             },
@@ -1066,7 +1066,7 @@ export default {
               type: "value",
               splitLine: {
                 lineStyle: {
-                  color: ["#ccc"],
+                  color: this.$store.state.theme ? "#000" : "#ccc",
                   type: "dashed", // 修改为虚线
                   opacity: 0.2,
                 },
@@ -1074,7 +1074,7 @@ export default {
               name: "单位:万KWh",
               axisLine: {
                 lineStyle: {
-                  color: theme ? "1850B3" : "#fff",
+                  color: theme ? "#1850B3" : "#fff",
                 },
               },
             },
@@ -1111,6 +1111,14 @@ export default {
           seriesSJ.push(it.power);
           seriesYc.push(it.predictedpower);
         });
+
+        const allPowerData = seriesGl.concat(seriesSJ, seriesYc);
+        const powerMin = Math.min(...allPowerData);
+        const powerMax = Math.max(...allPowerData);
+        const windSpeedMin = Math.min(...seriesSpeed);
+        const windSpeedMax = Math.max(...seriesSpeed);
+        const splitNumber = 7;
+
         let series = [
           {
             name: "平均风速",
@@ -1124,18 +1132,21 @@ export default {
             data: seriesGl,
             type: "line",
             symbol: "none",
+            yAxisIndex: 0,
           },
           {
             name: "实际功率",
             data: seriesSJ,
             type: "line",
             symbol: "none",
+            yAxisIndex: 0,
           },
           {
             name: "预测功率",
             data: seriesYc,
             type: "line",
             symbol: "none",
+            yAxisIndex: 0,
           },
         ];
         let option = {
@@ -1177,7 +1188,7 @@ export default {
             data: xAxis,
             axisLine: {
               lineStyle: {
-                color: theme ? "1850B3" : "#fff", // 修改为需要的颜色
+                color: theme ? "#1850B3" : "#fff", // 修改为需要的颜色
               },
             },
           },
@@ -1186,7 +1197,7 @@ export default {
               type: "value",
               splitLine: {
                 lineStyle: {
-                  color: ["#ccc"],
+                  color: this.$store.state.theme ? "#000" : "#ccc",
                   type: "dashed", // 修改为虚线
                   opacity: 0.2,
                 },
@@ -1194,7 +1205,18 @@ export default {
               name: "单位:MW",
               axisLine: {
                 lineStyle: {
-                  color: theme ? "1850B3" : "#fff",
+                  color: theme ? "#1850B3" : "#fff",
+                },
+              },
+              min: powerMin,
+              max: powerMax, // 动态设置最大值
+              interval: parseFloat(
+                ((powerMax - powerMin) / splitNumber).toFixed(4)
+              ),
+              splitNumber,
+              axisLabel: {
+                formatter(value) {
+                  return parseInt(value);
                 },
               },
             },
@@ -1202,7 +1224,7 @@ export default {
               type: "value",
               splitLine: {
                 lineStyle: {
-                  color: ["#ccc"],
+                  color: this.$store.state.theme ? "#000" : "#ccc",
                   type: "dashed", // 修改为虚线
                   opacity: 0.2,
                 },
@@ -1210,7 +1232,18 @@ export default {
               name: "单位:m/s",
               axisLine: {
                 lineStyle: {
-                  color: theme ? "1850B3" : "#fff",
+                  color: theme ? "#1850B3" : "#fff",
+                },
+              },
+              min: windSpeedMin,
+              max: windSpeedMax, // 动态设置最大值
+              splitNumber,
+              interval: parseFloat(
+                ((windSpeedMax - windSpeedMin) / splitNumber).toFixed(4)
+              ),
+              axisLabel: {
+                formatter(value) {
+                  return parseFloat(value.toFixed(1));
                 },
               },
             },
@@ -1321,7 +1354,7 @@ export default {
                 data: xAxis,
                 axisLine: {
                   lineStyle: {
-                    color: theme ? "1850B3" : "#fff", // 修改为需要的颜色
+                    color: theme ? "#1850B3" : "#fff", // 修改为需要的颜色
                   },
                 },
               },
@@ -1332,7 +1365,7 @@ export default {
                 splitNumber: 3.5,
                 splitLine: {
                   lineStyle: {
-                    color: ["#ccc"],
+                    color: this.$store.state.theme ? "#000" : "#ccc",
                     type: "dashed", // 修改为虚线
                     opacity: 0.2,
                   },
@@ -1340,7 +1373,7 @@ export default {
                 name: "单位:万KWh",
                 axisLine: {
                   lineStyle: {
-                    color: theme ? "1850B3" : "#fff",
+                    color: theme ? "#1850B3" : "#fff",
                   },
                 },
               },
@@ -1435,9 +1468,6 @@ export default {
           };
           // weatherObj.dqtq.weather = "ddddddddddddd";
           this.weatherObj = weatherObj;
-          // console.log(1111111111, res.data);
-          // console.log(2222222222, weatherObj);
-          // console.log(3333333333, JSON.stringify(res));
           that.weatherFrom = {
             temperature: weatherObj.dqtq.temperatureDay,
             weather: weatherObj.dqtq.weather,
@@ -1577,21 +1607,40 @@ export default {
               data: seriesGl,
               type: "line",
               symbol: "none",
+              yAxisIndex: 0,
             },
             {
               name: "实际功率",
               data: seriesSJ,
               type: "line",
               symbol: "none",
+              yAxisIndex: 0,
             },
             {
               name: "预测功率",
               data: seriesYc,
               type: "line",
               symbol: "none",
+              yAxisIndex: 0,
             },
           ];
-          that.getPowerLine(xAxis, series);
+
+          const allPowerData = seriesGl.concat(seriesSJ, seriesYc);
+          const powerMin = Math.min(...allPowerData);
+          const powerMax = Math.max(...allPowerData);
+          const windSpeedMin = Math.min(...seriesSpeed);
+          const windSpeedMax = Math.max(...seriesSpeed);
+          const splitNumber = 4;
+
+          that.getPowerLine(
+            xAxis,
+            series,
+            powerMin,
+            powerMax,
+            windSpeedMin,
+            windSpeedMax,
+            splitNumber
+          );
         }
 
         this.ylyxsList = res?.data?.yllxs || [];
@@ -1848,7 +1897,7 @@ export default {
                 data: xAxis,
                 axisLine: {
                   lineStyle: {
-                    color: theme ? "1850B3" : "#fff", // 修改为需要的颜色
+                    color: theme ? "#1850B3" : "#fff", // 修改为需要的颜色
                   },
                 },
               },
@@ -1865,7 +1914,7 @@ export default {
                 name: "单位:小时",
                 axisLine: {
                   lineStyle: {
-                    color: theme ? "1850B3" : "#fff",
+                    color: theme ? "#1850B3" : "#fff",
                   },
                 },
               },
@@ -1980,7 +2029,7 @@ export default {
             data: xAxis,
             axisLine: {
               lineStyle: {
-                color: theme ? "1850B3" : "#fff", // 修改为需要的颜色
+                color: theme ? "#1850B3" : "#fff", // 修改为需要的颜色
               },
             },
           },
@@ -1991,7 +2040,7 @@ export default {
             splitNumber: 3.5,
             splitLine: {
               lineStyle: {
-                color: ["#ccc"],
+                color: this.$store.state.theme ? "#000" : "#ccc",
                 type: "dashed", // 修改为虚线
                 opacity: 0.2,
               },
@@ -1999,7 +2048,7 @@ export default {
             name: "单位:万KWh",
             axisLine: {
               lineStyle: {
-                color: theme ? "1850B3" : "#fff",
+                color: theme ? "#1850B3" : "#fff",
               },
             },
           },
@@ -2536,13 +2585,22 @@ export default {
       return unit;
     },
 
-    getPowerLine(xAxis, series) {
+    getPowerLine(
+      xAxis,
+      series,
+      powerMin,
+      powerMax,
+      windSpeedMin,
+      windSpeedMax,
+      splitNumber
+    ) {
       const theme = sessionStorage.getItem("theme") === "true" ? true : false;
       let myChart;
       let legendState = {};
       if (this.chart72Options?.getOption) {
         legendState = this.chart72Options.getOption().legend[0].selected;
       }
+
       let option = {
         animation: this.isFirstLoad,
         title: {
@@ -2583,7 +2641,7 @@ export default {
           data: xAxis,
           axisLine: {
             lineStyle: {
-              color: theme ? "1850B3" : "#fff", // 修改为需要的颜色
+              color: theme ? "#1850B3" : "#fff", // 修改为需要的颜色
             },
           },
         },
@@ -2592,7 +2650,7 @@ export default {
             type: "value",
             splitLine: {
               lineStyle: {
-                color: ["#ccc"],
+                color: this.$store.state.theme ? "#000" : "#ccc",
                 type: "dashed", // 修改为虚线
                 opacity: 0.2,
               },
@@ -2600,7 +2658,18 @@ export default {
             name: "单位:MW",
             axisLine: {
               lineStyle: {
-                color: theme ? "1850B3" : "#fff",
+                color: theme ? "#1850B3" : "#fff",
+              },
+            },
+            min: powerMin,
+            max: powerMax, // 动态设置最大值
+            interval: parseFloat(
+              ((powerMax - powerMin) / splitNumber).toFixed(4)
+            ),
+            splitNumber,
+            axisLabel: {
+              formatter(value) {
+                return parseInt(value);
               },
             },
           },
@@ -2608,7 +2677,7 @@ export default {
             type: "value",
             splitLine: {
               lineStyle: {
-                color: ["#ccc"],
+                color: this.$store.state.theme ? "#000" : "#ccc",
                 type: "dashed", // 修改为虚线
                 opacity: 0.2,
               },
@@ -2616,7 +2685,18 @@ export default {
             name: "单位:m/s",
             axisLine: {
               lineStyle: {
-                color: theme ? "1850B3" : "#fff",
+                color: theme ? "#1850B3" : "#fff",
+              },
+            },
+            min: windSpeedMin,
+            max: windSpeedMax, // 动态设置最大值
+            splitNumber,
+            interval: parseFloat(
+              ((windSpeedMax - windSpeedMin) / splitNumber).toFixed(4)
+            ),
+            axisLabel: {
+              formatter(value) {
+                return parseFloat(value.toFixed(1));
               },
             },
           },