Browse Source

代码部署更新合并

rui.jiang 9 months ago
parent
commit
30cea77e51

+ 6 - 0
package-lock.json

@@ -19,6 +19,7 @@
         "element-ui": "^2.15.14",
         "happypack": "^5.0.1",
         "ol": "^9.2.3",
+        "papaparse": "^5.4.1",
         "plotly.js-dist": "^2.34.0",
         "qs": "^6.12.0",
         "quill": "^2.0.2",
@@ -10778,6 +10779,11 @@
       "resolved": "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz",
       "integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug=="
     },
+    "node_modules/papaparse": {
+      "version": "5.4.1",
+      "resolved": "https://registry.npmmirror.com/papaparse/-/papaparse-5.4.1.tgz",
+      "integrity": "sha512-HipMsgJkZu8br23pW15uvo6sib6wne/4woLZPlFf3rpDyMe9ywEXUsuD7+6K9PRkJlVT51j/sCOYDKGGS3ZJrw=="
+    },
     "node_modules/param-case": {
       "version": "3.0.4",
       "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz",

+ 1 - 0
package.json

@@ -19,6 +19,7 @@
     "element-ui": "^2.15.14",
     "happypack": "^5.0.1",
     "ol": "^9.2.3",
+    "papaparse": "^5.4.1",
     "plotly.js-dist": "^2.34.0",
     "qs": "^6.12.0",
     "quill": "^2.0.2",

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

@@ -198,7 +198,8 @@ export default {
           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://106.120.102.238:18000/tiles/{z}/{x}/{y}.png", //外网
+             url: "http://10.96.137.5:9080/tiles/{z}/{x}/{y}.png", 
           }),
         }),
         new VectorLayer({
@@ -303,7 +304,7 @@ export default {
         if (features && features.length > 0) {
           const feature = features.at(0);
           const val = feature.get("data").val;
-          if (val == "1") {
+          if (val == "1" || val =="30" ) {
             this.hoverInfo = feature.get("data");
             this.hoverStyle.left = `${evt.pixel[0] + 10}px`;
             this.hoverStyle.top = `${evt.pixel[1] - 150}px`;

+ 2 - 1
src/views/admin/cockpitManage/Index.vue

@@ -221,7 +221,8 @@ export default {
           message: "当前风场正在分析中",
           type: "warning",
         });
-      } else if (val === "1" || val === 1) {
+      } else if (val === "1" || val === 1 || val === "30" || val === 30 ) {
+        console.log("打包成功")
         this.$router.push({
           path: "cockpitManage/electronic-map",
           query: {

+ 1 - 1
src/views/ledger/component/windsiteup.vue

@@ -66,7 +66,7 @@
         <el-upload
           class="uploaddemo2"
           :file-list="resourcefileList"
-          action="http://192.168.50.235:16200/energy-manage-service/api/check/upload"
+          action="http://10.96.137.5/energy-manage-service/api/check/upload"
           :multiple="false"
           :before-upload="resourcebeforeUpload"
           :limit="1"

+ 11 - 1
src/views/ledger/milltype.vue

@@ -387,6 +387,15 @@ import {
 
 export default {
   data() {
+    var validateMachineTypeCode = (rule, value, callback) => {
+    const regex = /^[a-zA-Z0-9./\\-]+$/;
+    if (!value) {
+      callback(new Error('请输入机型型号'));
+    } else if (!regex.test(value)) {
+      callback(new Error('只能输入数字,字母,小数点,斜杠,横杠'));
+    } else {
+      callback();
+    }};
     return {
       loading: false,
       tableData: [],
@@ -417,7 +426,8 @@ export default {
       curvedMotionTypeOptions: [],
       rules: {
         machineTypeCode: [
-          { required: true, message: "请输入机型型号", trigger: "blur" },
+        { required: true, message: '请输入机型型号', trigger: 'blur' },
+        { validator: validateMachineTypeCode, trigger: 'blur' }
         ],
         manufacturerName: [
           { required: true, message: "请输入厂商名称", trigger: "blur" },

+ 50 - 1
src/views/performance/assetssDetail.vue

@@ -82,7 +82,21 @@
     </el-card>
     <el-empty :image-size="200" v-if="flage"></el-empty>
     <div v-else>
-      <el-card class="box-card analysisType" v-if="generalFiles.length > 0">
+      <el-table
+        v-if="
+          this.formInfo.analysisTypeCode === 'yaw_error' &&
+          this.csvData.length > 0
+        "
+        :data="csvData"
+        border
+        style="width: 100%"
+        align="center"
+      >
+        <el-table-column prop="engine_name" label="风机名称"> </el-table-column>
+        <el-table-column prop="yaw_error1" label="误差值"> </el-table-column>
+      </el-table>
+      <div v-else>
+        <el-card class="box-card analysisType" v-if="generalFiles.length > 0">
         <div slot="header" class="clearfix">
           <span style="font-weight: 700; font-size: 16px">
             分析总图{{ fileCheckResult1 }}
@@ -143,6 +157,7 @@
           </el-col>
         </el-row>
       </el-card>
+      </div>
       <el-card
         class="box-card"
         v-for="o in commentDescriptionVos"
@@ -167,6 +182,8 @@ import {
   queryAnalysisedEngine,
   queryAnalysisTypeConfig,
 } from "@/api/performance";
+import Papa from "papaparse";
+import axios from "axios";
 
 export default {
   data() {
@@ -184,6 +201,8 @@ export default {
         fieldEngineCode: null,
         analysisTypeCode: null,
       },
+      csvData: [], // 解析后的数据
+      csvHeaders: [], // CSV 表头
       rules: {},
       flage: false,
     };
@@ -253,6 +272,9 @@ export default {
             response.data.length > 0 &&
             response.data[0].commentDescriptionVos) ||
           [];
+          if (this.formInfo.analysisTypeCode === "yaw_error") {
+          this.getCsvData(response.data[0].generalFiles[0].fileAddr);
+        }
         this.initializeLoading();
         this.loading = false;
       } catch (error) {
@@ -260,6 +282,33 @@ export default {
         this.loading = false;
       }
     },
+    getCsvData(url) {
+      // 使用 axios 获取 CSV 文件
+      axios
+        .get(url, { responseType: "blob" }) // 确保数据以 blob 格式返回
+        .then((response) => {
+          const reader = new FileReader();
+          reader.onload = (e) => {
+            const csvText = e.target.result;
+            Papa.parse(csvText, {
+              header: true, // 使用 CSV 第一行作为键
+              complete: (result) => {
+                this.csvHeaders = Object.keys(result.data[0]);
+                this.csvData = result.data.filter(
+                  (row) => Object.keys(row).length
+                ); // 过滤空行
+              },
+              error: (error) => {
+                console.error("CSV 解析错误:", error);
+              },
+            });
+          };
+          reader.readAsText(response.data); // 读取 blob 数据
+        })
+        .catch((error) => {
+          console.error("无法获取 CSV 文件:", error);
+        });
+    },
     async getWindCodeList() {
       this.loading = true;
       try {

+ 51 - 23
src/views/performance/components/EditAnalysis.vue

@@ -66,7 +66,7 @@
     ></el-empty>
     <el-card v-if="!noData" shadow="always" class="box-card">
       <el-row>
-        <el-col
+        <!-- <el-col
           :span="12"
           v-if="
             form.configAnalysis === 'power_curve'
@@ -89,21 +89,20 @@
               </el-table-column>
             </el-table>
           </div>
-        </el-col>
-        <el-col :span="24" v-if="form.configAnalysis === 'yaw_error'"
+        </el-col> -->
+        <el-col
+          :span="24"
+          v-if="form.configAnalysis === 'yaw_error' && this.csvData.length > 0"
           ><div class="left">
-            <el-table
-              :data="tableData"
-              border
-              style="width: 100%"
-              align="center"
-            >
-              <el-table-column prop="date" label="风机名称"> </el-table-column>
-              <el-table-column prop="name" label="误差值"> </el-table-column>
+            <el-table :data="csvData" border style="width: 100%" align="center">
+              <el-table-column prop="engine_name" label="风机名称">
+              </el-table-column>
+              <el-table-column prop="yaw_error1" label="误差值">
+              </el-table-column>
             </el-table>
           </div>
         </el-col>
-        <el-col
+        <!-- <el-col
           v-loading="htmlLoading"
           v-if="form.configAnalysis === 'power_curve'"
           :span="12"
@@ -111,19 +110,14 @@
           <div class="right">
             <PlotlyCharts></PlotlyCharts>
           </div>
-        </el-col>
+        </el-col> -->
         <!-- 其他类型展示的 图表 ,只展示图表不必要展示表格 -->
         <!-- <el-col v-loading="htmlLoading" v-else :span="24">
           <div class="right">
             <PlotlyCharts></PlotlyCharts>
           </div>
         </el-col> -->
-        <el-col
-          :span="12"
-          v-if="
-            form.configAnalysis !== 'power_curve' ||
-            form.configAnalysis !== 'yaw_error'
-          "
+        <el-col :span="12" v-if="form.configAnalysis !== 'yaw_error'"
           ><div class="left">
             <div>
               <span>机组名称:</span>
@@ -188,11 +182,11 @@
         <el-col
           :span="12"
           v-loading="htmlLoading"
-          v-if="
-            form.configAnalysis !== 'power_curve' ||
-            form.configAnalysis === 'yaw_error'
-          "
+          v-if="form.configAnalysis !== 'yaw_error'"
+          &&
+          this.csvData.length
         >
+          0 >
           <div class="right">
             <iframe
               v-if="htmlLoading"
@@ -283,6 +277,8 @@ import {
 import { getWindEngineGroup } from "@/api/ledger";
 import TinymceEditor from "@/components/Tinymce.vue";
 import PlotlyCharts from "./PlotlyCharts.vue";
+import Papa from "papaparse";
+import axios from "axios";
 export default {
   components: {
     TinymceEditor,
@@ -297,6 +293,8 @@ export default {
       engineCode: null, //台账机组编号
       windDetail: {},
       flage: false,
+      csvData: [], // 解析后的数据
+      csvHeaders: [], // CSV 表头
       rules: {
         commentTypeName: {
           required: true,
@@ -429,12 +427,42 @@ export default {
               ? this.editableTabs[0].commentTypeCode
               : "";
         }
+        if (this.form.configAnalysis === "yaw_error") {
+          this.getCsvData(response.data[0].generalFiles[0].fileAddr);
+        }
         this.loading = false;
       } catch (error) {
         console.error(error);
         this.loading = false;
       }
     },
+    getCsvData(url) {
+      // 使用 axios 获取 CSV 文件
+      axios
+        .get(url, { responseType: "blob" }) // 确保数据以 blob 格式返回
+        .then((response) => {
+          const reader = new FileReader();
+          reader.onload = (e) => {
+            const csvText = e.target.result;
+            Papa.parse(csvText, {
+              header: true, // 使用 CSV 第一行作为键
+              complete: (result) => {
+                this.csvHeaders = Object.keys(result.data[0]);
+                this.csvData = result.data.filter(
+                  (row) => Object.keys(row).length
+                ); // 过滤空行
+              },
+              error: (error) => {
+                console.error("CSV 解析错误:", error);
+              },
+            });
+          };
+          reader.readAsText(response.data); // 读取 blob 数据
+        })
+        .catch((error) => {
+          console.error("无法获取 CSV 文件:", error);
+        });
+    },
     mergeData(arr, brr) {
       // 创建一个新的结果数组
       const result = [];

+ 2 - 2
vue.config.js

@@ -66,9 +66,9 @@ module.exports = {
       "/api": {
         // target: "http://192.168.5.4:16200", // 石月
         // target: "http://192.168.50.235:16200", //内网
-
         // target: "http://192.168.5.15:16200",
-        target: "http://106.120.102.238:16600", //外网
+        // target: "http://106.120.102.238:16600", //外网
+           target: "http://10.96.137.5",
         changeOrigin: true,
         pathRewrite: {
           "^/api": "", // 需要regit write重写的,