Browse Source

华电部署解决上一条下一条图片不展示的问题

liujiejie 1 week ago
parent
commit
18be15c579
21 changed files with 163 additions and 114 deletions
  1. 1 2
      downLoadServer/src/server/utils/chartsCom/Time3DChart.js
  2. 4 4
      src/views/performance/components/PlotlyCharts.vue
  3. 2 2
      src/views/performance/components/chartsCom/3DDrawingChart.vue
  4. 2 2
      src/views/performance/components/chartsCom/BarChart.vue
  5. 2 2
      src/views/performance/components/chartsCom/BoxLineCharts.vue
  6. 2 2
      src/views/performance/components/chartsCom/BoxMarkersCharts.vue
  7. 2 2
      src/views/performance/components/chartsCom/ColorbarInitTwoDmarkersChart.vue
  8. 2 2
      src/views/performance/components/chartsCom/FaultAll.vue
  9. 2 2
      src/views/performance/components/chartsCom/FaultUnit.vue
  10. 2 2
      src/views/performance/components/chartsCom/GeneratorTemperature.vue
  11. 2 2
      src/views/performance/components/chartsCom/HeatmapCharts.vue
  12. 3 6
      src/views/performance/components/chartsCom/Time3DChart.vue
  13. 2 2
      src/views/performance/components/chartsCom/TwoDMarkersChart.vue
  14. 61 32
      src/views/performance/components/chartsCom/TwoDMarkersChart1.vue
  15. 2 2
      src/views/performance/components/chartsCom/WindRoseChart.vue
  16. 2 2
      src/views/performance/components/chartsCom/YewErrorBarChart.vue
  17. 2 2
      src/views/performance/components/chartsCom/lineAndChildLine.vue
  18. 2 2
      src/views/performance/components/chartsCom/lineChartsFen.vue
  19. 62 38
      src/views/performance/components/chartsCom/powerMarkers2DCharts.vue
  20. 2 2
      src/views/performance/components/chartsCom/yawErrorBarSum.vue
  21. 2 2
      src/views/performance/components/chartsCom/yawErrorLine.vue

+ 1 - 2
downLoadServer/src/server/utils/chartsCom/Time3DChart.js

@@ -1,7 +1,7 @@
 /*
  * @Author: your name
  * @Date: 2025-04-14 17:49:33
- * @LastEditTime: 2025-07-14 16:04:07
+ * @LastEditTime: 2025-07-14 17:24:27
  * @LastEditors: bogon
  * @Description: In User Settings Edit
  * @FilePath: /performance-test/downLoadServer/src/server/utils/chartsCom/Time3DChart.js
@@ -63,7 +63,6 @@ export const generateTime3DChart = async (data, bucketName, objectName) => {
         const monthData = data.data[0].yData
           .map((date, index) => (formatDate(date) === month ? index : -1))
           .filter((index) => index !== -1);
-
         return {
           x: monthData.map((index) => data.data[0].xData[index]), // 发电机转速
           y: monthData.map((index) => data.data[0].yData[index]), // 时间

+ 4 - 4
src/views/performance/components/PlotlyCharts.vue

@@ -283,8 +283,8 @@ export default {
           "Download plot as a png": "保存图片",
           Autoscale: "缩放",
           Pan: "平移",
-          "Zoom out": "放大",
-          "Zoom in": "缩小",
+          "Zoom out": "缩小",
+          "Zoom in": "放大",
           "Box Select": "选择框操作",
           "Lasso Select": "套索选择操作",
           "Reset axes": "重置操作",
@@ -422,8 +422,8 @@ export default {
             "Download plot as a png": "保存图片",
             Autoscale: "缩放",
             Pan: "平移",
-            "Zoom out": "放大",
-            "Zoom in": "缩小",
+            "Zoom out": "缩小",
+            "Zoom in": "放大",
             "Box Select": "选择框操作",
             "Lasso Select": "套索选择操作",
             "Reset axes": "重置操作",

+ 2 - 2
src/views/performance/components/chartsCom/3DDrawingChart.vue

@@ -401,8 +401,8 @@ export default {
               "Download plot as a png": "保存图片",
               Autoscale: "缩放",
               Pan: "平移",
-              "Zoom out": "放大",
-              "Zoom in": "缩小",
+              "Zoom out": "缩小",
+              "Zoom in": "放大",
               "Box Select": "选择框操作",
               "Lasso Select": "套索选择操作",
               "Reset axes": "重置操作",

+ 2 - 2
src/views/performance/components/chartsCom/BarChart.vue

@@ -315,8 +315,8 @@ export default {
           "Download plot as a png": "保存图片",
           Autoscale: "缩放",
           Pan: "平移",
-          "Zoom out": "放大",
-          "Zoom in": "缩小",
+          "Zoom out": "缩小",
+          "Zoom in": "放大",
           "Box Select": "选择框操作",
           "Lasso Select": "套索选择操作",
           "Reset axes": "重置操作",

+ 2 - 2
src/views/performance/components/chartsCom/BoxLineCharts.vue

@@ -287,8 +287,8 @@ export default {
               "Download plot as a png": "保存图片",
               Autoscale: "缩放",
               Pan: "平移",
-              "Zoom out": "放大",
-              "Zoom in": "缩小",
+              "Zoom out": "缩小",
+              "Zoom in": "放大",
               "Box Select": "选择框操作",
               "Lasso Select": "套索选择操作",
               "Reset axes": "重置操作",

+ 2 - 2
src/views/performance/components/chartsCom/BoxMarkersCharts.vue

@@ -229,8 +229,8 @@ export default {
           "Download plot as a png": "保存图片",
           Autoscale: "缩放",
           Pan: "平移",
-          "Zoom out": "放大",
-          "Zoom in": "缩小",
+          "Zoom out": "缩小",
+          "Zoom in": "放大",
           "Box Select": "选择框操作",
           "Lasso Select": "套索选择操作",
           "Reset axes": "重置操作",

+ 2 - 2
src/views/performance/components/chartsCom/ColorbarInitTwoDmarkersChart.vue

@@ -438,8 +438,8 @@ export default {
               "Download plot as a png": "保存图片",
               Autoscale: "缩放",
               Pan: "平移",
-              "Zoom out": "放大",
-              "Zoom in": "缩小",
+              "Zoom out": "缩小",
+              "Zoom in": "放大",
               "Box Select": "选择框操作",
               "Lasso Select": "套索选择操作",
               "Reset axes": "重置操作",

+ 2 - 2
src/views/performance/components/chartsCom/FaultAll.vue

@@ -172,8 +172,8 @@ export default {
           "Download plot as a png": "保存图片",
           Autoscale: "缩放",
           Pan: "平移",
-          "Zoom out": "放大",
-          "Zoom in": "缩小",
+          "Zoom out": "缩小",
+          "Zoom in": "放大",
           "Box Select": "选择框操作",
           "Lasso Select": "套索选择操作",
           "Reset axes": "重置操作",

+ 2 - 2
src/views/performance/components/chartsCom/FaultUnit.vue

@@ -138,8 +138,8 @@ export default {
           "Download plot as a png": "保存图片",
           Autoscale: "缩放",
           Pan: "平移",
-          "Zoom out": "放大",
-          "Zoom in": "缩小",
+          "Zoom out": "缩小",
+          "Zoom in": "放大",
           "Box Select": "选择框操作",
           "Lasso Select": "套索选择操作",
           "Reset axes": "重置操作",

+ 2 - 2
src/views/performance/components/chartsCom/GeneratorTemperature.vue

@@ -348,8 +348,8 @@ export default {
             "Download plot as a png": "保存图片",
             Autoscale: "缩放",
             Pan: "平移",
-            "Zoom out": "放大",
-            "Zoom in": "缩小",
+            "Zoom out": "缩小",
+            "Zoom in": "放大",
             "Box Select": "选择框操作",
             "Lasso Select": "套索选择操作",
             "Reset axes": "重置操作",

+ 2 - 2
src/views/performance/components/chartsCom/HeatmapCharts.vue

@@ -178,8 +178,8 @@ export default {
           "Download plot as a png": "保存图片",
           Autoscale: "缩放",
           Pan: "平移",
-          "Zoom out": "放大",
-          "Zoom in": "缩小",
+          "Zoom out": "缩小",
+          "Zoom in": "放大",
           "Box Select": "选择框操作",
           "Lasso Select": "套索选择操作",
           "Reset axes": "重置操作",

+ 3 - 6
src/views/performance/components/chartsCom/Time3DChart.vue

@@ -73,6 +73,7 @@ export default {
       type: Array,
     },
   },
+
   data() {
     return {
       color1: [], // 默认颜色
@@ -110,11 +111,7 @@ export default {
   async mounted() {
     this.$nextTick(() => {
       this.getData();
-      // if (this.themeColor.length === 0) {
       this.color1 = this.colorSchemes[0].colors;
-      // } else {
-      //   this.color1 = this.themeColor;
-      // }
     });
   },
 
@@ -373,8 +370,8 @@ export default {
           "Download plot as a png": "保存图片",
           Autoscale: "缩放",
           Pan: "平移",
-          "Zoom out": "放大",
-          "Zoom in": "缩小",
+          "Zoom out": "缩小",
+          "Zoom in": "放大",
           "Box Select": "选择框操作",
           "Lasso Select": "套索选择操作",
           "Reset axes": "重置操作",

+ 2 - 2
src/views/performance/components/chartsCom/TwoDMarkersChart.vue

@@ -419,8 +419,8 @@ export default {
               "Download plot as a png": "保存图片",
               Autoscale: "缩放",
               Pan: "平移",
-              "Zoom out": "放大",
-              "Zoom in": "缩小",
+              "Zoom out": "缩小",
+              "Zoom in": "放大",
               "Box Select": "选择框操作",
               "Lasso Select": "套索选择操作",
               "Reset axes": "重置操作",

+ 61 - 32
src/views/performance/components/chartsCom/TwoDMarkersChart1.vue

@@ -1,7 +1,7 @@
 <!--
  * @Author: your name
  * @Date: 2024-09-11 14:32:12
- * @LastEditTime: 2025-07-14 13:39:59
+ * @LastEditTime: 2025-07-15 14:16:27
  * @LastEditors: bogon
  * @Description: In User Settings Edit
  * @FilePath: /performance-test/src/views/performance/components/chartsCom/powerMarkers2DCharts.vue
@@ -153,7 +153,6 @@ export default {
         try {
           this.loading = true;
           this.cancelToken = axios.CancelToken.source();
-
           const resultChartsData = await axios.get(this.fileAddr, {
             cancelToken: this.cancelToken.token,
           });
@@ -185,7 +184,7 @@ export default {
       const uniqueTimeLabels = data.colorbar
         ? [...new Set(data.colorbar)]
         : [...new Set(data.color)]; // 从 colorbar 中提取唯一的时间标签
-      // console.log(data.colorbar, "data.colorbar 1");
+
       const tickvals = uniqueTimeLabels.map((label, index) => index + 1); // 根据时间标签生成 tickvals
       const ticktext = uniqueTimeLabels.map((dateStr) => {
         const date = new Date(dateStr);
@@ -392,8 +391,8 @@ export default {
               "Download plot as a png": "保存图片",
               Autoscale: "缩放",
               Pan: "平移",
-              "Zoom out": "放大",
-              "Zoom in": "缩小",
+              "Zoom out": "缩小",
+              "Zoom in": "放大",
               "Box Select": "选择框操作",
               "Lasso Select": "套索选择操作",
               "Reset axes": "重置操作",
@@ -450,10 +449,8 @@ export default {
             }
             return inside;
           }
-
           // 用于跟踪已添加的 (x, y) 组合
           const addedPoints = {};
-
           // 遍历图表数据中的所有点,检查是否在多边形内
           gd.data[0].x.forEach((xVal, i) => {
             const yVal = gd.data[0].y[i];
@@ -517,34 +514,66 @@ export default {
     },
 
     async downloadCSV() {
-      const paramValueTypes = await axios.get("/ETLapi/sysConf/getByType", {
-        params: { type: "en_cn_mapping" },
-      });
-      console.log(paramValueTypes, "paramValueTypes");
-      const headers = [this.chartData.xaixs, this.chartData.yaixs];
-      const csvRows = [headers]; // 保存标头
+      try {
+        const paramValueTypes = await axios.get("/ETLapi/sysConf/getByType", {
+          params: { type: "en_cn_mapping" },
+        });
+        // 使用 Set 或 Map 去重
+        const uniquePoints = [];
+        this.selectedPoints.forEach((point) => {
+          if (!uniquePoints.some((p) => p.x === point.x && p.y === point.y)) {
+            uniquePoints.push(point);
+          }
+        });
+        const newTimedata = uniquePoints.map((item) => item.time);
 
-      // 使用 Set 或 Map 去重
-      const uniquePoints = [];
-      // this.selectedPoints.forEach((point) => {
-      //   if (!uniquePoints.some((p) => p.x === point.x && p.y === point.y)) {
-      //     uniquePoints.push(point);
-      //   }
-      // });
+        const result = await axios.post(
+          "/ETLapi/dataTransfer/getWindTurbineAndTimestamps",
+          {
+            timestamps: [...newTimedata],
+            transferType: this.chartData.scada || "", //分析数据源类型
+            windFarmCode: this.chartData.field_code || "", //风场编号
+            windTurbineNumber: this.chartData.data[0].engineCode || "", //风机编号
+          }
+        );
+        const allData = result?.data?.datas || [];
+        if (!allData.length) {
+          console.warn("无数据返回");
+          return;
+        }
+
+        const firstItem = allData[0];
+
+        // 4. 获取可用映射字段
+        const mapping = paramValueTypes?.data?.datas || [];
+        const matchedMapping = mapping.filter((m) =>
+          firstItem.hasOwnProperty(m.paramKey)
+        );
 
-      // // 将去重后的点加入 CSV 数据
-      // uniquePoints.forEach((point) => {
-      //   csvRows.push(`${point.x},${point.y}`);
-      // });
+        // 5. 构建 CSV 表头(中文)
+        const headers = matchedMapping.map((m) => m.paramValue).join(",");
 
-      // const csvString = csvRows.join("\n");
-      // const blob = new Blob([csvString], { type: "text/csv; charset=utf-8" });
-      // const url = URL.createObjectURL(blob);
-      // const a = document.createElement("a");
-      // a.href = url;
-      // a.download = "selected_data.csv";
-      // a.click();
-      // URL.revokeObjectURL(url);
+        // 6. 构建 CSV 内容行
+        const rows = allData.map((item) => {
+          return matchedMapping.map((m) => item[m.paramKey] ?? "").join(",");
+        });
+
+        // 7. 合并为 CSV 字符串
+        const csvString = [headers, ...rows].join("\n");
+
+        // 8. 下载
+        const blob = new Blob([csvString], { type: "text/csv; charset=utf-8" });
+        const url = URL.createObjectURL(blob);
+        const a = document.createElement("a");
+        a.href = url;
+        a.download = "selected_data.csv";
+        document.body.appendChild(a);
+        a.click();
+        document.body.removeChild(a);
+        URL.revokeObjectURL(url);
+      } catch (err) {
+        console.error(err);
+      }
     },
     updateChartColor(color) {
       // 更新图表颜色

+ 2 - 2
src/views/performance/components/chartsCom/WindRoseChart.vue

@@ -203,8 +203,8 @@ export default {
           "Download plot as a png": "保存图片",
           Autoscale: "缩放",
           Pan: "平移",
-          "Zoom out": "放大",
-          "Zoom in": "缩小",
+          "Zoom out": "缩小",
+          "Zoom in": "放大",
           "Box Select": "选择框操作",
           "Lasso Select": "套索选择操作",
           "Reset axes": "重置操作",

+ 2 - 2
src/views/performance/components/chartsCom/YewErrorBarChart.vue

@@ -236,8 +236,8 @@ export default {
           "Download plot as a png": "保存图片",
           Autoscale: "缩放",
           Pan: "平移",
-          "Zoom out": "放大",
-          "Zoom in": "缩小",
+          "Zoom out": "缩小",
+          "Zoom in": "放大",
           "Box Select": "选择框操作",
           "Lasso Select": "套索选择操作",
           "Reset axes": "重置操作",

+ 2 - 2
src/views/performance/components/chartsCom/lineAndChildLine.vue

@@ -297,8 +297,8 @@ export default {
           "Download plot as a png": "保存图片",
           Autoscale: "缩放",
           Pan: "平移",
-          "Zoom out": "放大",
-          "Zoom in": "缩小",
+          "Zoom out": "缩小",
+          "Zoom in": "放大",
           "Box Select": "选择框操作",
           "Lasso Select": "套索选择操作",
           "Reset axes": "重置操作",

+ 2 - 2
src/views/performance/components/chartsCom/lineChartsFen.vue

@@ -275,8 +275,8 @@ export default {
           "Download plot as a png": "保存图片",
           Autoscale: "缩放",
           Pan: "平移",
-          "Zoom out": "放大",
-          "Zoom in": "缩小",
+          "Zoom out": "缩小",
+          "Zoom in": "放大",
           "Box Select": "选择框操作",
           "Lasso Select": "套索选择操作",
           "Reset axes": "重置操作",

+ 62 - 38
src/views/performance/components/chartsCom/powerMarkers2DCharts.vue

@@ -1,7 +1,7 @@
 <!--
  * @Author: your name
  * @Date: 2024-09-11 14:32:12
- * @LastEditTime: 2025-07-14 13:49:33
+ * @LastEditTime: 2025-07-15 14:17:51
  * @LastEditors: bogon
  * @Description: In User Settings Edit
  * @FilePath: /performance-test/src/views/performance/components/chartsCom/powerMarkers2DCharts.vue
@@ -133,8 +133,6 @@ export default {
       //   this.color1 = this.themeColor;
       // }
     });
-
-    // console.log(this.color1, colorSchemes[0].colors, "color1");
   },
   methods: {
     // 根据配色方案设置每个选项的样式
@@ -402,8 +400,8 @@ export default {
               "Download plot as a png": "保存图片",
               Autoscale: "缩放",
               Pan: "平移",
-              "Zoom out": "放大",
-              "Zoom in": "缩小",
+              "Zoom out": "缩小",
+              "Zoom in": "放大",
               "Box Select": "选择框操作",
               "Lasso Select": "套索选择操作",
               "Reset axes": "重置操作",
@@ -524,40 +522,66 @@ export default {
       this.downloadCSV();
     },
     async downloadCSV() {
-      const paramValueTypes = await axios.get("/ETLapi/sysConf/getByType", {
-        params: { type: "en_cn_mapping" },
-      });
-      console.log(paramValueTypes, "paramValueTypes");
-      const headers = [this.chartData.xaixs, this.chartData.yaixs];
-      const csvRows = [headers]; // 保存标头
-      // 使用 Set 或 Map 去重
-      const uniquePoints = [];
-      this.selectedPoints.forEach((point) => {
-        if (!uniquePoints.some((p) => p.x === point.x && p.y === point.y)) {
-          uniquePoints.push(point);
+      try {
+        const paramValueTypes = await axios.get("/ETLapi/sysConf/getByType", {
+          params: { type: "en_cn_mapping" },
+        });
+        // 使用 Set 或 Map 去重
+        const uniquePoints = [];
+        this.selectedPoints.forEach((point) => {
+          if (!uniquePoints.some((p) => p.x === point.x && p.y === point.y)) {
+            uniquePoints.push(point);
+          }
+        });
+        const newTimedata = uniquePoints.map((item) => item.time);
+
+        const result = await axios.post(
+          "/ETLapi/dataTransfer/getWindTurbineAndTimestamps",
+          {
+            timestamps: [...newTimedata],
+            transferType: this.chartData.scada || "", //分析数据源类型
+            windFarmCode: this.chartData.field_code || "", //风场编号
+            windTurbineNumber: this.chartData.data[0].engineCode || "", //风机编号
+          }
+        );
+        const allData = result?.data?.datas || [];
+        if (!allData.length) {
+          console.warn("无数据返回");
+          return;
         }
-      });
-      const newTimedata = uniquePoints.map((item) => item.time);
-      console.log(newTimedata, "newTimedata");
-      console.log(uniquePoints, "uniquePoints");
-      await axios.post("/ETLapi/dataTransfer/getWindTurbineAndTimestamps", {
-        timestamps: [...newTimedata],
-        transferType: "", //分析数据源类型
-        windFarmCode: "", //风场编号
-        windTurbineNumber: "", //风机编号
-      });
-      // // 将去重后的点加入 CSV 数据
-      // uniquePoints.forEach((point) => {
-      //   csvRows.push(`${point.x},${point.y}`);
-      // });
-      // const csvString = csvRows.join("\n");
-      // const blob = new Blob([csvString], { type: "text/csv; charset=utf-8" });
-      // const url = URL.createObjectURL(blob);
-      // const a = document.createElement("a");
-      // a.href = url;
-      // a.download = "selected_data.csv";
-      // a.click();
-      // URL.revokeObjectURL(url);
+
+        const firstItem = allData[0];
+
+        // 4. 获取可用映射字段
+        const mapping = paramValueTypes?.data?.datas || [];
+        const matchedMapping = mapping.filter((m) =>
+          firstItem.hasOwnProperty(m.paramKey)
+        );
+
+        // 5. 构建 CSV 表头(中文)
+        const headers = matchedMapping.map((m) => m.paramValue).join(",");
+
+        // 6. 构建 CSV 内容行
+        const rows = allData.map((item) => {
+          return matchedMapping.map((m) => item[m.paramKey] ?? "").join(",");
+        });
+
+        // 7. 合并为 CSV 字符串
+        const csvString = [headers, ...rows].join("\n");
+
+        // 8. 下载
+        const blob = new Blob([csvString], { type: "text/csv; charset=utf-8" });
+        const url = URL.createObjectURL(blob);
+        const a = document.createElement("a");
+        a.href = url;
+        a.download = "selected_data.csv";
+        document.body.appendChild(a);
+        a.click();
+        document.body.removeChild(a);
+        URL.revokeObjectURL(url);
+      } catch (err) {
+        console.error(err);
+      }
     },
     updateChartColor(color) {
       // 更新图表颜色

+ 2 - 2
src/views/performance/components/chartsCom/yawErrorBarSum.vue

@@ -182,8 +182,8 @@ export default {
           "Download plot as a png": "保存图片",
           Autoscale: "缩放",
           Pan: "平移",
-          "Zoom out": "放大",
-          "Zoom in": "缩小",
+          "Zoom out": "缩小",
+          "Zoom in": "放大",
           "Box Select": "选择框操作",
           "Lasso Select": "套索选择操作",
           "Reset axes": "重置操作",

+ 2 - 2
src/views/performance/components/chartsCom/yawErrorLine.vue

@@ -260,8 +260,8 @@ export default {
           "Download plot as a png": "保存图片",
           Autoscale: "缩放",
           Pan: "平移",
-          "Zoom out": "放大",
-          "Zoom in": "缩小",
+          "Zoom out": "缩小",
+          "Zoom in": "放大",
           "Box Select": "选择框操作",
           "Lasso Select": "套索选择操作",
           "Reset axes": "重置操作",