Parcourir la source

修改生产效能分析显示bug及分析数据类型(分钟级/秒级)接口调用

liujiejie il y a 5 mois
Parent
commit
d1e56fc692

+ 8 - 1
src/api/performance.js

@@ -1,7 +1,7 @@
 /*
  * @Author: your name
  * @Date: 2024-06-03 09:29:50
- * @LastEditTime: 2024-09-24 13:34:34
+ * @LastEditTime: 2025-01-06 16:37:46
  * @LastEditors: bogon
  * @Description: In User Settings Edit
  * @FilePath: /performance-test/src/api/performance。.js
@@ -258,3 +258,10 @@ export function getRportType(data) {
     params: data,
   });
 }
+export function queryAllTypeScada() {
+  // /energy-manage-service/dataTransferType/queryAllType
+  return request({
+    url: "/energy-manage-service/dataTransferType/queryAllType",
+    method: "get",
+  });
+}

+ 2 - 2
src/components/map/index.vue

@@ -196,8 +196,8 @@ export default {
         new TileLayer({
           source: new XYZ({
             // url: "http://127.0.0.1:8010/tiles/{z}/{x}/{y}.png", //本地
-            // url: "http://192.168.50.235/tiles/{z}/{x}/{y}.png", //内网
-            url: "http://106.120.102.238:18000/tiles/{z}/{x}/{y}.png", //外网
+            url: "http://192.168.50.235/tiles/{z}/{x}/{y}.png", //内网
+            // url: "http://106.120.102.238:18000/tiles/{z}/{x}/{y}.png", //外网
             // url: "http://10.96.137.5:9080/tiles/{z}/{x}/{y}.png", //大~#@唐
           }),
         }),

+ 1 - 0
src/views/laserRangeFinder/index.vue

@@ -1,4 +1,5 @@
 <template>
+  <!-- 激光测距仪页面 -->
   <div class="global-variable">
     <div class="searchbox">
       <el-collapse v-model="activeNames">

+ 71 - 77
src/views/performance/assetssDetail.vue

@@ -1,7 +1,7 @@
 <!--
  * @Author: your name
  * @Date: 2024-05-27 09:25:45
- * @LastEditTime: 2025-01-03 12:11:11
+ * @LastEditTime: 2025-01-07 09:08:35
  * @LastEditors: bogon
  * @Description: In User Settings Edit
  * @FilePath: /performance-test/src/views/performance/assetssDetail.vue
@@ -119,72 +119,63 @@
         <el-table-column prop="engine_name" label="风机名称"> </el-table-column>
         <el-table-column prop="yaw_error1" label="误差值"> </el-table-column>
       </el-table>
-      <el-table
+      <template
         v-else-if="formInfo.analysisTypeCode === 'production_indicator'"
-        :data="productionIndicatorCsvData"
-        border
-        style="width: 100%"
-        align="center"
       >
-        <el-table-column prop="EPActualTotal" label="实发电量">
-        </el-table-column>
-        <el-table-column prop="TurbinePowerRate" label="风机能量利用率">
-        </el-table-column>
-        <el-table-column prop="EPLostStopPercent" label="停机损失百分比">
-        </el-table-column>
-        <el-table-column prop="EPLostBadPercent" label="欠发损失百分比">
-        </el-table-column>
-        <el-table-column
-          prop="EPLostPerformPercent"
-          label="功率曲线未达标损失百分比"
-        >
-        </el-table-column>
-        <el-table-column prop="EPLostLimitPercent" label="限电损失百分比">
-        </el-table-column>
-        <el-table-column prop="TurbineRunRate" label="风机可利用率">
-        </el-table-column>
-        <el-table-column prop="mean_width" label="功率水平平均宽度">
-        </el-table-column>
-        <el-table-column prop="variance_width" label="功率水平方差">
-        </el-table-column>
-        <el-table-column prop="WindSpeedAvr" label="平均风速">
-        </el-table-column>
-        <el-table-column prop="Thi" label="利用小时"> </el-table-column>
-        <el-table-column prop="Ws" label="功率曲线一致性系数">
-        </el-table-column>
-        <el-table-column
-          v-if="
-            formInfo.fieldEngineCode !== '' && formInfo.fieldEngineCode !== null
-          "
-          prop="Qp"
-          label="风场总发电量"
-        >
-        </el-table-column>
-        <el-table-column
-          v-if="
-            formInfo.fieldEngineCode !== '' && formInfo.fieldEngineCode !== null
-          "
-          prop="Thc"
-          label="风场等效利用小时"
-        >
-        </el-table-column>
-        <el-table-column
-          v-if="
-            formInfo.fieldEngineCode !== '' && formInfo.fieldEngineCode !== null
-          "
-          prop="Rdr"
-          label="风场弃风率"
-        >
-        </el-table-column>
-        <el-table-column
-          v-if="
-            formInfo.fieldEngineCode !== '' && formInfo.fieldEngineCode !== null
-          "
-          prop="Qdr"
-          label="风场弃风电量"
-        >
-        </el-table-column>
-      </el-table>
+        <div>
+          <template v-for="itemCsv in productionIndicatorCsvData">
+            <el-table
+              v-if="Object.keys(itemCsv.data[0]).length > 4"
+              :data="itemCsv.data"
+              border
+              style="width: 100%"
+              align="center"
+            >
+              <el-table-column prop="EPActualTotal" label="实发电量">
+              </el-table-column>
+              <el-table-column prop="TurbinePowerRate" label="风机能量利用率">
+              </el-table-column>
+              <el-table-column prop="EPLostStopPercent" label="停机损失百分比">
+              </el-table-column>
+              <el-table-column prop="EPLostBadPercent" label="欠发损失百分比">
+              </el-table-column>
+              <el-table-column
+                prop="EPLostPerformPercent"
+                label="功率曲线未达标损失百分比"
+              >
+              </el-table-column>
+              <el-table-column prop="EPLostLimitPercent" label="限电损失百分比">
+              </el-table-column>
+              <el-table-column prop="TurbineRunRate" label="风机可利用率">
+              </el-table-column>
+              <el-table-column prop="mean_width" label="功率水平平均宽度">
+              </el-table-column>
+              <el-table-column prop="variance_width" label="功率水平方差">
+              </el-table-column>
+              <el-table-column prop="WindSpeedAvr" label="平均风速">
+              </el-table-column>
+              <el-table-column prop="Thi" label="利用小时"> </el-table-column>
+              <el-table-column prop="Ws" label="功率曲线一致性系数">
+              </el-table-column>
+            </el-table>
+            <el-table
+              v-else
+              :data="itemCsv.data"
+              border
+              style="width: 100%"
+              align="center"
+            >
+              <el-table-column prop="Qp" label="风场总发电量">
+              </el-table-column>
+              <el-table-column prop="Thc" label="风场等效利用小时">
+              </el-table-column>
+              <el-table-column prop="Rdr" label="风场弃风率"> </el-table-column>
+              <el-table-column prop="Qdr" label="风场弃风电量">
+              </el-table-column>
+            </el-table>
+          </template>
+        </div>
+      </template>
 
       <!-- 需要在这里添加三个分析类型排版布局 ,分析详情中 -->
       <div v-else>
@@ -734,13 +725,19 @@ export default {
           response.data[0]?.generalFiles &&
           response.data[0]?.generalFiles[0]?.fileAddr
         ) {
-          const fileUrl = response.data[0]?.generalFiles[0]?.fileAddr;
           if (this.formInfo.analysisTypeCode === "yaw_error") {
+            const fileUrl = response.data[0]?.generalFiles[0]?.fileAddr;
             this.fetchCsvData("yaw_error", fileUrl);
           } else if (
             this.formInfo.analysisTypeCode === "production_indicator"
           ) {
-            this.fetchCsvData("production_indicator", fileUrl);
+            response.data[0].generalFiles.map((item) => {
+              if (item.fileAddr) {
+                this.productionIndicatorCsvHeader = [];
+                this.productionIndicatorCsvData = [];
+                this.fetchCsvData("production_indicator", item.fileAddr);
+              }
+            });
           }
         }
 
@@ -917,17 +914,14 @@ export default {
                     (row) => Object.keys(row).length
                   ); // 过滤空行
                 } else if (analysisType === "production_indicator") {
-                  this.productionIndicatorCsvHeader = Object.keys(
-                    result.data[0]
-                  );
-                  this.productionIndicatorCsvData = result.data.filter(
-                    (row) => Object.keys(row).length
-                  ); // 过滤空行
-                  console.log(
-                    this.productionIndicatorCsvHeader,
-                    result.data,
-                    "result.data"
+                  this.productionIndicatorCsvHeader.push(
+                    Object.keys(result.data[0])
                   );
+                  this.productionIndicatorCsvData.push({
+                    data: result.data
+                      .filter((row) => Object.keys(row).length)
+                      .slice(0, result.data.length - 1),
+                  }); // 过滤空行
                 }
               },
               error: (error) => {

+ 72 - 63
src/views/performance/components/EditAnalysis.vue

@@ -1,7 +1,7 @@
 <!--
  * @Author: your name
  * @Date: 2024-05-29 09:14:23
- * @LastEditTime: 2025-01-03 12:15:53
+ * @LastEditTime: 2025-01-07 09:08:52
  * @LastEditors: bogon
  * @Description: In User Settings Edit
  * @FilePath: /performance-test/src/views/performance/components/EditAnalysis.vue
@@ -87,63 +87,64 @@
         </el-col>
         <el-col :span="24" v-if="form.configAnalysis === 'production_indicator'"
           ><div class="left">
-            <el-table
-              :data="productionIndicatorCsvData"
-              border
-              style="width: 100%"
-              align="center"
-            >
-              <el-table-column prop="EPActualTotal" label="实发电量">
-              </el-table-column>
-              <el-table-column prop="TurbinePowerRate" label="风机能量利用率">
-              </el-table-column>
-              <el-table-column prop="EPLostStopPercent" label="停机损失百分比">
-              </el-table-column>
-              <el-table-column prop="EPLostBadPercent" label="欠发损失百分比">
-              </el-table-column>
-              <el-table-column
-                prop="EPLostPerformPercent"
-                label="功率曲线未达标损失百分比"
-              >
-              </el-table-column>
-              <el-table-column prop="EPLostLimitPercent" label="限电损失百分比">
-              </el-table-column>
-              <el-table-column prop="TurbineRunRate" label="风机可利用率">
-              </el-table-column>
-              <el-table-column prop="mean_width" label="功率水平平均宽度">
-              </el-table-column>
-              <el-table-column prop="variance_width" label="功率水平方差">
-              </el-table-column>
-              <el-table-column prop="WindSpeedAvr" label="平均风速">
-              </el-table-column>
-              <el-table-column prop="Thi" label="利用小时"> </el-table-column>
-              <el-table-column prop="Ws" label="功率曲线一致性系数">
-              </el-table-column>
-              <el-table-column
-                v-if="form.turbines !== '' && form.turbines !== null"
-                prop="Qp"
-                label="风场总发电量"
-              >
-              </el-table-column>
-              <el-table-column
-                v-if="form.turbines !== '' && form.turbines !== null"
-                prop="Thc"
-                label="风场等效利用小时"
-              >
-              </el-table-column>
-              <el-table-column
-                v-if="form.turbines !== '' && form.turbines !== null"
-                prop="Rdr"
-                label="风场弃风率"
+            <template v-for="itemCsv in productionIndicatorCsvData">
+              <el-table
+                v-if="Object.keys(itemCsv.data[0]).length > 4"
+                :data="itemCsv.data"
+                border
+                style="width: 100%"
+                align="center"
               >
-              </el-table-column>
-              <el-table-column
-                v-if="form.turbines !== '' && form.turbines !== null"
-                prop="Qdr"
-                label="风场弃风电量"
+                <el-table-column prop="EPActualTotal" label="实发电量">
+                </el-table-column>
+                <el-table-column prop="TurbinePowerRate" label="风机能量利用率">
+                </el-table-column>
+                <el-table-column
+                  prop="EPLostStopPercent"
+                  label="停机损失百分比"
+                >
+                </el-table-column>
+                <el-table-column prop="EPLostBadPercent" label="欠发损失百分比">
+                </el-table-column>
+                <el-table-column
+                  prop="EPLostPerformPercent"
+                  label="功率曲线未达标损失百分比"
+                >
+                </el-table-column>
+                <el-table-column
+                  prop="EPLostLimitPercent"
+                  label="限电损失百分比"
+                >
+                </el-table-column>
+                <el-table-column prop="TurbineRunRate" label="风机可利用率">
+                </el-table-column>
+                <el-table-column prop="mean_width" label="功率水平平均宽度">
+                </el-table-column>
+                <el-table-column prop="variance_width" label="功率水平方差">
+                </el-table-column>
+                <el-table-column prop="WindSpeedAvr" label="平均风速">
+                </el-table-column>
+                <el-table-column prop="Thi" label="利用小时"> </el-table-column>
+                <el-table-column prop="Ws" label="功率曲线一致性系数">
+                </el-table-column>
+              </el-table>
+              <el-table
+                v-else
+                :data="itemCsv.data"
+                border
+                style="width: 100%"
+                align="center"
               >
-              </el-table-column>
-            </el-table>
+                <el-table-column prop="Qp" label="风场总发电量">
+                </el-table-column>
+                <el-table-column prop="Thc" label="风场等效利用小时">
+                </el-table-column>
+                <el-table-column prop="Rdr" label="风场弃风率">
+                </el-table-column>
+                <el-table-column prop="Qdr" label="风场弃风电量">
+                </el-table-column>
+              </el-table>
+            </template>
           </div>
         </el-col>
         <el-col :span="24" v-if="form.configAnalysis === '故障统计'"
@@ -776,11 +777,17 @@ export default {
           response.data[0]?.generalFiles &&
           response.data[0]?.generalFiles[0]?.fileAddr
         ) {
-          const fileUrl = response.data[0].generalFiles[0].fileAddr;
           if (this.form.configAnalysis === "yaw_error") {
+            const fileUrl = response.data[0].generalFiles[0].fileAddr;
             this.fetchCsvData("yaw_error", fileUrl);
           } else if (this.form.configAnalysis === "production_indicator") {
-            this.fetchCsvData("production_indicator", fileUrl);
+            response.data[0].generalFiles.map((item) => {
+              if (item.fileAddr) {
+                this.productionIndicatorCsvHeader = [];
+                this.productionIndicatorCsvData = [];
+                this.fetchCsvData("production_indicator", item.fileAddr);
+              }
+            });
           }
         }
 
@@ -963,12 +970,14 @@ export default {
                     (row) => Object.keys(row).length
                   ); // 过滤空行
                 } else if (analysisType === "production_indicator") {
-                  this.productionIndicatorCsvHeader = Object.keys(
-                    result.data[0]
+                  this.productionIndicatorCsvHeader.push(
+                    Object.keys(result.data[0])
                   );
-                  this.productionIndicatorCsvData = result.data.filter(
-                    (row) => Object.keys(row).length
-                  ); // 过滤空行
+                  this.productionIndicatorCsvData.push({
+                    data: result.data
+                      .filter((row) => Object.keys(row).length)
+                      .slice(0, result.data.length - 1),
+                  }); // 过滤空行
                 }
               },
               error: (error) => {

+ 15 - 10
src/views/performance/components/analysisEvent.vue

@@ -1,7 +1,7 @@
 <!--
  * @Author: your name
  * @Date: 2024-05-29 09:13:51
- * @LastEditTime: 2024-12-24 10:49:55
+ * @LastEditTime: 2025-01-07 11:06:17
  * @LastEditors: bogon
  * @Description: In User Settings Edit
  * @FilePath: /performance-test/src/views/performance/components/analysisEvent.vue
@@ -100,14 +100,10 @@
                   @change="handleScada"
                 >
                   <el-option
-                    :key="'minute'"
-                    :label="'分钟级'"
-                    :value="'minute'"
-                  ></el-option>
-                  <el-option
-                    :key="'second'"
-                    :label="'秒级'"
-                    :value="'second'"
+                    v-for="TranItem in transferTypeData"
+                    :key="TranItem.transferType"
+                    :label="TranItem.transferTypeName"
+                    :value="TranItem.transferType"
                   ></el-option>
                 </el-select>
               </el-form-item>
@@ -666,7 +662,12 @@
   </div>
 </template>
 <script>
-import { analysisEditQuery, analysis, queryDataTime } from "@/api/performance";
+import {
+  analysisEditQuery,
+  analysis,
+  queryDataTime,
+  queryAllTypeScada,
+} from "@/api/performance";
 import {
   getWindEngineGroup,
   windEngineGrouPage,
@@ -742,6 +743,7 @@ export default {
       analysisTypeList: [],
       windEngineGroupList: [],
       windDetail: {},
+      transferTypeData: [],
     };
   },
   watch: {
@@ -756,6 +758,9 @@ export default {
     this.getWindCodeList();
     this.getQueryDataTime();
     this.getFengjiList();
+    queryAllTypeScada().then((res) => {
+      this.transferTypeData = res.data;
+    });
   },
   methods: {
     getFengjiList() {

+ 10 - 10
vue.config.js

@@ -64,9 +64,9 @@ module.exports = {
     proxy: {
       "/api": {
         // target: "http://192.168.5.4:16200", // 石月
-        // target: "http://192.168.50.235:16200", // 内网
+        target: "http://192.168.50.235:16200", // 内网
         // target: "http://192.168.5.15:16200",
-        target: "http://106.120.102.238:16700", // 外网  16600   16700
+        // target: "http://106.120.102.238:16700", // 外网  16600   16700
         // target: "http://10.96.137.5",
         changeOrigin: true,
         pathRewrite: {
@@ -75,8 +75,8 @@ module.exports = {
       },
       // 未知量  //振动、激光测距仪
       "/WZLapi": {
-        // target: "http://192.168.50.241:9001", // WZLapi 目标地址
-        target: "http://106.120.102.238:18080/WindTransDev", // WZLapi 外网目标地址
+        target: "http://192.168.50.241:9001", // WZLapi 目标地址
+        // target: "http://106.120.102.238:18080/WindTransDev", // WZLapi 外网目标地址
         changeOrigin: true,
         pathRewrite: {
           "^/WZLapi": "", // 去掉 /WZLapi 前缀
@@ -97,8 +97,8 @@ module.exports = {
 
       // 文佳
       "/WJapi": {
-        // target: "http://192.168.50.235:8888", // WZLapi 内网 目标地址
-        target: "http://106.120.102.238:18888", // WZLapi 内网 目标地址
+        target: "http://192.168.50.235:8888", // WZLapi 内网 目标地址
+        // target: "http://106.120.102.238:18888", // WZLapi 内网 目标地址
         changeOrigin: true,
         pathRewrite: {
           "^/WJapi": "", // 去掉 /WZLapi 前缀
@@ -119,8 +119,8 @@ module.exports = {
       },
       //自定义算法文佳
       "/sAlgorithm": {
-        // target: "http://192.168.50.235:8666", // 目标地址
-        target: "http://106.120.102.238:58880",
+        target: "http://192.168.50.235:8666", // 目标地址
+        // target: "http://106.120.102.238:58880",
         changeOrigin: true,
         pathRewrite: {
           "^/sAlgorithm": "", // 如果后端需要 `/api` 前缀
@@ -128,8 +128,8 @@ module.exports = {
       },
       //nodejs 数据库数据
       "/databaseApi": {
-        // target: "http://192.168.50.234:3000",
-        target: "http://106.120.102.238:58880",
+        target: "http://192.168.50.234:3000",
+        // target: "http://106.120.102.238:58880",
         changeOrigin: true,
         pathRewrite: {
           "^/databaseApi": "", // 去掉 /databaseApi 前缀