Browse Source

修改合并 江

rui.jiang 10 months ago
parent
commit
05cf613554
55 changed files with 3021 additions and 941 deletions
  1. BIN
      src.zip
  2. 2 2
      src/components/map/index.vue
  3. 1 0
      src/icons/svg/tousutiwen.svg
  4. 4 5
      src/views/admin/cockpitManage/component/leftdata.vue
  5. 126 30
      src/views/overview/components/analysis_information/index.vue
  6. 68 20
      src/views/overview/components/cp/index.vue
  7. 68 19
      src/views/overview/components/cp_trend/index.vue
  8. 68 21
      src/views/overview/components/cp_windspeed/index.vue
  9. 69 22
      src/views/overview/components/data_integrity_minute/index.vue
  10. 68 21
      src/views/overview/components/data_integrity_second/index.vue
  11. 67 19
      src/views/overview/components/fault_all/index.vue
  12. 66 19
      src/views/overview/components/fault_unit/index.vue
  13. 66 19
      src/views/overview/components/min_pitch/index.vue
  14. 66 19
      src/views/overview/components/pitch_generator_speed/index.vue
  15. 66 19
      src/views/overview/components/pitch_power/index.vue
  16. 66 19
      src/views/overview/components/pitch_tsr_cp/index.vue
  17. 79 32
      src/views/overview/components/power_curve/index.vue
  18. 66 19
      src/views/overview/components/power_scatter/index.vue
  19. 67 27
      src/views/overview/components/power_scatter_2D/index.vue
  20. 66 19
      src/views/overview/components/production_indicator_all/index.vue
  21. 66 19
      src/views/overview/components/production_indicator_unit/index.vue
  22. 66 19
      src/views/overview/components/rated_power_windspeed/index.vue
  23. 66 20
      src/views/overview/components/rated_windspeed/index.vue
  24. 66 19
      src/views/overview/components/speed_power/index.vue
  25. 65 18
      src/views/overview/components/speed_torque/index.vue
  26. 66 20
      src/views/overview/components/temperature_environment/index.vue
  27. 66 20
      src/views/overview/components/temperature_large_components_Winding_tem/index.vue
  28. 66 20
      src/views/overview/components/temperature_large_components_adriven/index.vue
  29. 66 20
      src/views/overview/components/temperature_large_components_hig/index.vue
  30. 66 20
      src/views/overview/components/temperature_large_components_low/index.vue
  31. 67 20
      src/views/overview/components/temperature_large_components_mid/index.vue
  32. 66 20
      src/views/overview/components/temperature_large_components_min/index.vue
  33. 66 20
      src/views/overview/components/temperature_large_components_tem_deviation/index.vue
  34. 66 20
      src/views/overview/components/temperature_large_components_undriven/index.vue
  35. 68 22
      src/views/overview/components/tsr/index.vue
  36. 66 20
      src/views/overview/components/tsr_cp_power/index.vue
  37. 66 19
      src/views/overview/components/tsr_cp_power_scatter/index.vue
  38. 66 19
      src/views/overview/components/tsr_trend/index.vue
  39. 68 22
      src/views/overview/components/tsr_windspeed/index.vue
  40. 66 19
      src/views/overview/components/wind_direction_frequency/index.vue
  41. 66 19
      src/views/overview/components/wind_speed/index.vue
  42. 66 19
      src/views/overview/components/wind_speed_frequency/index.vue
  43. 66 19
      src/views/overview/components/yaw_error/index.vue
  44. 66 19
      src/views/overview/components/yaw_error_density/index.vue
  45. 120 22
      src/views/overview/index.vue
  46. 106 39
      src/views/performance/assetssMag.vue
  47. 2 2
      src/views/performance/batchDetail.vue
  48. 14 15
      src/views/performance/components/analysisEvent.vue
  49. 10 5
      src/views/performance/components/chartsCom/3DDrawingChart.vue
  50. 2 3
      src/views/performance/components/chartsCom/BarChart.vue
  51. 5 2
      src/views/performance/components/chartsCom/FaultUnit.vue
  52. 3 1
      src/views/performance/components/chartsCom/Radar.vue
  53. 10 15
      src/views/performance/components/custonAsCom/DatabaseTable.vue
  54. 8 10
      src/views/performance/customAnalysis.vue
  55. 4 4
      vue.config.js

BIN
src.zip


+ 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/icons/svg/tousutiwen.svg

@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1739001476929" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2949" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M945.377649 48.955381H99.156454c-27.448742 0-49.830268 22.803794-49.830268 50.566598V969.501031c0 18.786969 19.42301 31.036701 35.99967 22.586062l163.098391-82.866145h696.953402c27.345814 0 49.830268-22.802474 49.830269-50.565278V99.624907c0-27.865732-22.381526-50.669526-49.830269-50.669526z m0 784.360248c0 13.938804-11.190103 25.340041-24.912494 25.340041H248.424247L99.048247 934.558351V124.856742c0-13.932206 11.190103-25.334763 24.912495-25.334763H920.465155c13.721072 0 24.912495 11.402557 24.912494 25.334763v708.458887z m0 0" p-id="2950" fill="#707070"></path><path d="M678.186227 219.764124c-19.42301-19.428289-52.253031-18.160165-73.366433 2.953237L280.727753 546.810722l-7.282805 183.365938 183.371217-7.285444 324.196289-324.194969c21.113402-21.113402 22.381526-53.943423 2.953237-73.366433l-105.779464-105.56569z m-240.163629 451.298969l-111.160742 5.592412 5.593732-111.159423 28.92668-28.928 105.56701 105.567011-28.92668 28.928z m64.184742-64.083134l-105.56701-105.567011 140.83035-140.823752 105.567011 105.56701-140.830351 140.823753zM729.811134 379.274557l-51.726515 51.726515-105.567011-105.56701 51.726516-51.726516c10.767835-10.767835 27.340536-11.613691 37.05666-1.902845l70.411876 70.413196c9.710845 9.716124 8.866309 26.288825-1.901526 37.05666z m0 0" p-id="2951" fill="#707070"></path></svg>

+ 4 - 5
src/views/admin/cockpitManage/component/leftdata.vue

@@ -162,8 +162,8 @@
     </el-dialog>
   </div>
 </template>
-  
-  <script>
+
+<script>
 import {
   queryWaitTask,
   getAnalysisResultStateList,
@@ -332,8 +332,8 @@ export default {
   },
 };
 </script>
-  
-  <style lang="scss" scoped>
+
+<style lang="scss" scoped>
 .backbone {
   width: 300px;
   color: #fff;
@@ -567,4 +567,3 @@ export default {
   // background-color: rgba(0, 79, 95, 0.75);
 }
 </style>
-  

+ 126 - 30
src/views/overview/components/analysis_information/index.vue

@@ -3,6 +3,38 @@
     <div class="box-header">
       <h4>分析介绍:</h4>
       <div class="box-header-min">
+        <el-descriptions>
+          <el-descriptions-item label="分析主题">{{}}</el-descriptions-item>
+          <el-descriptions-item label="分析人">{{
+            analysisInfo.updateByName
+          }}</el-descriptions-item>
+          <el-descriptions-item label="分析简述">{{}}</el-descriptions-item>
+          <el-descriptions-item label="分析创建时间">
+            {{}}
+          </el-descriptions-item>
+          <el-descriptions-item
+            label="分析开始执行时间"
+            >{{
+          }}</el-descriptions-item>
+          <el-descriptions-item label="分析完成时间">{{
+            analysisInfo.analysisFinishTime
+          }}</el-descriptions-item>
+        </el-descriptions>
+        <!-- <div v-if="analysisInfo.dataEndTime || analysisInfo.dataStartTime">
+          分析数据时间跨度为{{ analysisInfo.dataEndTime }}至{{
+            analysisInfo.dataStartTime
+          }}。
+        </div>
+        <div v-if="analysisInfo.analysisFinishTime">
+          分析完成时间为{{ analysisInfo.analysisFinishTime }}。数据分析人
+          <span class="headerMessage">{{ analysisInfo.updateByName }}</span
+          >。
+        </div> -->
+      </div>
+    </div>
+    <div class="box-header">
+      <h4>风场信息:</h4>
+      <div class="box-header-min">
         <div>
           {{ fieldInfo.fieldName }}位于{{ fieldInfo.provinceName
           }}{{ fieldInfo.cityName }}
@@ -41,29 +73,9 @@
         </div>
       </div>
     </div>
-
     <div class="content">
       <div class="left">
         <div class="box-content-min">
-          <h4>完成分析类型:</h4>
-
-          <template
-            v-if="analysisInfo && analysisInfo.analysisTypes?.length > 0"
-          >
-            <div class="completeAssetssType">
-              <el-tag
-                v-for="analysis in analysisInfo.analysisTypes"
-                :key="analysis.analysisTypeName"
-                type="warning"
-                >{{ analysis.analysisTypeName }}
-              </el-tag>
-            </div>
-          </template>
-
-          <el-empty v-else description="暂无完成分析类型"></el-empty>
-        </div>
-
-        <div class="box-content-min">
           <h4>分析完成机组:</h4>
           <div
             class="analysisCompletionUnit"
@@ -74,14 +86,66 @@
               v-for="itemData in analysisInfo.windEngineGroups"
               :key="itemData.engineCode"
             >
-              <SvgIcons
-                name="WindPower3"
-                class="WindPower3"
-                width="40px"
-                height="42px"
-                color="#222"
-              ></SvgIcons>
-              <span>{{ itemData.engineName }}#机组</span>
+              <el-popover placement="right" width="400" trigger="hover">
+                <el-descriptions class="margin-top" size="mini" border>
+                  <!-- :column="3" -->
+                  <el-descriptions-item>
+                    <template slot="label"> 风机名称 </template>
+                    {{}}
+                  </el-descriptions-item>
+                  <el-descriptions-item>
+                    <template slot="label"> 机型编号 </template>
+                    {{}}
+                  </el-descriptions-item>
+                  <el-descriptions-item>
+                    <template slot="label"> 额定容量 </template>
+                    {{}}
+                  </el-descriptions-item>
+                  <el-descriptions-item>
+                    <template slot="label"> 轮毂高度 </template>
+                    {{}}
+                  </el-descriptions-item>
+                  <el-descriptions-item>
+                    <template slot="label"> 海拔高度 </template>
+                    {{}}
+                  </el-descriptions-item>
+                  <el-descriptions-item>
+                    <template slot="label"> 经度 </template>
+                    {{}}
+                  </el-descriptions-item>
+                  <el-descriptions-item>
+                    <template slot="label"> 纬度 </template>
+                    {{}}
+                  </el-descriptions-item>
+                  <el-descriptions-item>
+                    <template slot="label"> 是否标杆风机 </template>
+                    {{}}
+                  </el-descriptions-item>
+                  <el-descriptions-item>
+                    <template slot="label"> 额定风速 </template>
+                    {{}}
+                  </el-descriptions-item>
+                  <el-descriptions-item>
+                    <template slot="label"> 切入风速 </template>
+                    {{}}
+                  </el-descriptions-item>
+                  <el-descriptions-item>
+                    <template slot="label"> 切出风速 </template>
+                    {{}}
+                  </el-descriptions-item>
+                </el-descriptions>
+                <div slot="reference">
+                  <SvgIcons
+                    name="WindPower3"
+                    class="WindPower3"
+                    width="40px"
+                    height="42px"
+                    color="#222"
+                  ></SvgIcons>
+                  <span>{{ itemData.engineName }}机组</span>
+                </div>
+                <!-- <el-button>click 激活</el-button> -->
+              </el-popover>
             </div>
           </div>
           <el-empty v-else description="暂无分析完成机组"></el-empty>
@@ -91,6 +155,21 @@
         <Map :batchCode="initBatchCode" :fieldCode="fieldInfo.fieldCode"></Map>
       </div>
     </div>
+    <div class="box-min">
+      <h4>完成分析类型:</h4>
+      <template v-if="analysisInfo && analysisInfo.analysisTypes?.length > 0">
+        <div class="completeAssetssType">
+          <el-tag
+            v-for="analysis in analysisInfo.analysisTypes"
+            :key="analysis.analysisTypeName"
+            type="warning"
+            >{{ analysis.analysisTypeName }}
+          </el-tag>
+        </div>
+      </template>
+
+      <el-empty v-else description="暂无完成分析类型"></el-empty>
+    </div>
   </el-card>
 </template>
 
@@ -203,11 +282,28 @@ export default {
   width: 100%;
   display: flex;
   justify-content: space-between;
-  align-items: flex-start;
+  // align-items: flex-start;
   /* 上对齐 */
   height: 100%;
+  border-bottom: 1px solid #ebeef5;
   /* 确保内容区域有高度 */
 }
+.box-min {
+  padding: 10px;
+
+  color: #303133;
+
+  h4 {
+    color: #303133;
+    // border-bottom: 1px solid #ebeef5;
+    font-size: 13px;
+    font-weight: 500;
+    margin-bottom: 10px;
+  }
+  .completeAssetssType {
+    margin-bottom: 50px;
+  }
+}
 
 .left {
   width: 70%;
@@ -215,7 +311,7 @@ export default {
   // flex: 1;
   .box-content-min {
     padding: 10px;
-    border-bottom: 1px solid #ebeef5;
+    // border-bottom: 1px solid #ebeef5;
     color: #303133;
 
     h4 {

+ 68 - 20
src/views/overview/components/cp/index.vue

@@ -1,8 +1,8 @@
 <!--
  * @Author: your name
  * @Date: 2025-01-09 18:05:58
- * @LastEditTime: 2025-01-22 09:07:14
- * @LastEditors: milo-MacBook-Pro.local
+ * @LastEditTime: 2025-02-10 14:05:42
+ * @LastEditors: bogon
  * @Description: In User Settings Edit
  * @FilePath: /performance-test/src/views/overview/components/cp/index.vue
 -->
@@ -69,24 +69,41 @@
         </lineChartsFen>
       </div>
 
-      <el-tabs value="first" v-if="isShowDescription">
-        <el-tab-pane label="意见描述" name="first">
-          <TinymceEditor
-            ref="editor"
-            v-model="comment"
-            @input="handleEditorInput($event)"
-            @onClick="onClick"
-          >
-          </TinymceEditor>
-        </el-tab-pane>
-      </el-tabs>
-      <el-row type="flex" class="row-bg" justify="end" v-if="isShowDescription">
-        <el-col :span="2" style="margin: 20px">
-          <el-button type="primary" size="small" @click="handleComment"
-            >提交评论</el-button
-          >
-        </el-col>
-      </el-row>
+      <el-dialog
+        v-if="isShowDescription"
+        title="添加评论"
+        :visible="isShow"
+        width="30%"
+        v-dialogDrag
+        :modal="false"
+        :lock-scroll="false"
+        :modal-append-to-body="false"
+        @close="handleClose"
+      >
+        <el-tabs value="first">
+          <el-tab-pane label="意见描述" name="first">
+            <TinymceEditor
+              ref="editor"
+              v-model="comment"
+              @input="handleEditorInput($event)"
+              @onClick="onClick"
+            >
+            </TinymceEditor>
+          </el-tab-pane>
+        </el-tabs>
+        <el-row
+          type="flex"
+          class="row-bg"
+          justify="end"
+          style="margin: 20px 60px 0 0"
+        >
+          <el-col :span="2">
+            <el-button type="primary" size="small" @click="handleComment"
+              >提交评论</el-button
+            >
+          </el-col>
+        </el-row>
+      </el-dialog>
     </div>
     <div class="right">
       <DicCard
@@ -124,6 +141,10 @@ export default {
       default: "",
       type: String,
     },
+    isShow: {
+      default: false,
+      type: Boolean,
+    },
     analysisTypeCode: {
       default: "",
       type: String,
@@ -160,6 +181,17 @@ export default {
         this.fetchData(); // 调用合并后的函数
       }
     },
+    isShow() {
+      if (this.isShow) {
+        if (!this.isShowDescription) {
+          this.$message({
+            message: "当前分析类型暂无分析,不能进行评论操作",
+            type: "warning",
+          });
+          this.$emit("setIsShow");
+        }
+      }
+    },
   },
   mounted() {
     if (this.initBatchCode && this.analysisTypeCode) {
@@ -167,6 +199,11 @@ export default {
     }
   },
   methods: {
+    handleClose() {
+      //关闭评论弹框
+      this.$emit("setIsShow");
+    },
+
     async handleComment() {
       try {
         await analysisCommentEdit({
@@ -185,6 +222,7 @@ export default {
         });
         this.comment = "";
         this.getAnalysisDetail();
+        this.$emit("setIsShow");
       } catch (e) {
         console.error(e);
         this.loading = false;
@@ -338,6 +376,16 @@ export default {
     overflow: hidden;
   }
 }
+.el-dialog__wrapper {
+  position: relative !important;
+}
+::v-deep .el-dialog {
+  position: fixed !important;
+  z-index: 999 !important;
+  top: 50%;
+  left: 50%;
+  transform: translate(0, -50%);
+}
 
 .titleCharts {
   font-size: 16px;

+ 68 - 19
src/views/overview/components/cp_trend/index.vue

@@ -1,7 +1,7 @@
 <!--
  * @Author: your name
  * @Date: 2025-01-09 18:06:09
- * @LastEditTime: 2025-01-21 15:52:10
+ * @LastEditTime: 2025-02-10 13:58:32
  * @LastEditors: bogon
  * @Description: In User Settings Edit
  * @FilePath: /performance-test/src/views/overview/components/cp_trend/index.vue
@@ -47,24 +47,42 @@
           :fileAddr="item.fileAddr"
         ></BoxLineCharts>
       </VirtualList>
-      <el-tabs value="first" v-if="isShowDescription">
-        <el-tab-pane label="意见描述" name="first">
-          <TinymceEditor
-            ref="editor"
-            v-model="comment"
-            @input="handleEditorInput($event)"
-            @onClick="onClick"
-          >
-          </TinymceEditor>
-        </el-tab-pane>
-      </el-tabs>
-      <el-row v-if="isShowDescription" type="flex" class="row-bg" justify="end">
-        <el-col :span="2" style="margin: 20px">
-          <el-button type="primary" size="small" @click="handleComment"
-            >提交评论</el-button
-          >
-        </el-col>
-      </el-row>
+
+      <el-dialog
+        v-if="isShowDescription"
+        title="添加评论"
+        :visible="isShow"
+        width="30%"
+        v-dialogDrag
+        :modal="false"
+        :lock-scroll="false"
+        :modal-append-to-body="false"
+        @close="handleClose"
+      >
+        <el-tabs value="first">
+          <el-tab-pane label="意见描述" name="first">
+            <TinymceEditor
+              ref="editor"
+              v-model="comment"
+              @input="handleEditorInput($event)"
+              @onClick="onClick"
+            >
+            </TinymceEditor>
+          </el-tab-pane>
+        </el-tabs>
+        <el-row
+          type="flex"
+          class="row-bg"
+          justify="end"
+          style="margin: 20px 60px 0 0"
+        >
+          <el-col :span="2">
+            <el-button type="primary" size="small" @click="handleComment"
+              >提交评论</el-button
+            >
+          </el-col>
+        </el-row>
+      </el-dialog>
     </div>
     <div class="right">
       <DicCard
@@ -108,6 +126,10 @@ export default {
       default: "",
       type: Array,
     },
+    isShow: {
+      default: false,
+      type: Boolean,
+    },
   },
   data() {
     return {
@@ -136,6 +158,17 @@ export default {
         this.fetchData(); // 调用合并后的函数
       }
     },
+    isShow() {
+      if (this.isShow) {
+        if (!this.isShowDescription) {
+          this.$message({
+            message: "当前分析类型暂无分析,不能进行评论操作",
+            type: "warning",
+          });
+          this.$emit("setIsShow");
+        }
+      }
+    },
   },
   mounted() {
     if (this.initBatchCode && this.analysisTypeCode) {
@@ -143,6 +176,11 @@ export default {
     }
   },
   methods: {
+    handleClose() {
+      console.log("handleClose", this.isShow);
+      //关闭评论弹框
+      this.$emit("setIsShow");
+    },
     async handleComment() {
       try {
         await analysisCommentEdit({
@@ -161,6 +199,7 @@ export default {
         });
         this.comment = "";
         this.getAnalysisDetail();
+        this.$emit("setIsShow");
       } catch (e) {
         console.error(e);
         this.loading = false;
@@ -321,4 +360,14 @@ export default {
     overflow: hidden;
   }
 }
+.el-dialog__wrapper {
+  position: relative !important;
+}
+::v-deep .el-dialog {
+  position: fixed !important;
+  z-index: 999 !important;
+  top: 50%;
+  left: 50%;
+  transform: translate(0, -50%);
+}
 </style>

+ 68 - 21
src/views/overview/components/cp_windspeed/index.vue

@@ -1,8 +1,8 @@
 <!--
  * @Author: your name
  * @Date: 2025-01-09 18:08:00
- * @LastEditTime: 2025-01-22 09:07:38
- * @LastEditors: milo-MacBook-Pro.local
+ * @LastEditTime: 2025-02-10 14:03:06
+ * @LastEditors: bogon
  * @Description: In User Settings Edit
  * @FilePath: /performance-test/src/views/overview/components/cp_windspeed/index.vue
 -->
@@ -69,24 +69,41 @@
         </lineChartsFen>
       </div>
 
-      <el-tabs value="first" v-if="isShowDescription">
-        <el-tab-pane label="意见描述" name="first">
-          <TinymceEditor
-            ref="editor"
-            v-model="comment"
-            @input="handleEditorInput($event)"
-            @onClick="onClick"
-          >
-          </TinymceEditor>
-        </el-tab-pane>
-      </el-tabs>
-      <el-row type="flex" v-if="isShowDescription" class="row-bg" justify="end">
-        <el-col :span="2" style="margin: 20px">
-          <el-button type="primary" size="small" @click="handleComment"
-            >提交评论</el-button
-          >
-        </el-col>
-      </el-row>
+      <el-dialog
+        v-if="isShowDescription"
+        title="添加评论"
+        :visible="isShow"
+        width="30%"
+        v-dialogDrag
+        :modal="false"
+        :lock-scroll="false"
+        :modal-append-to-body="false"
+        @close="handleClose"
+      >
+        <el-tabs value="first">
+          <el-tab-pane label="意见描述" name="first">
+            <TinymceEditor
+              ref="editor"
+              v-model="comment"
+              @input="handleEditorInput($event)"
+              @onClick="onClick"
+            >
+            </TinymceEditor>
+          </el-tab-pane>
+        </el-tabs>
+        <el-row
+          type="flex"
+          class="row-bg"
+          justify="end"
+          style="margin: 20px 60px 0 0"
+        >
+          <el-col :span="2">
+            <el-button type="primary" size="small" @click="handleComment"
+              >提交评论</el-button
+            >
+          </el-col>
+        </el-row>
+      </el-dialog>
     </div>
     <div class="right">
       <DicCard
@@ -124,6 +141,10 @@ export default {
       default: "",
       type: String,
     },
+    isShow: {
+      default: false,
+      type: Boolean,
+    },
     analysisTypeCode: {
       default: "",
       type: String,
@@ -160,6 +181,17 @@ export default {
         this.fetchData(); // 调用合并后的函数
       }
     },
+    isShow() {
+      if (this.isShow) {
+        if (!this.isShowDescription) {
+          this.$message({
+            message: "当前分析类型暂无分析,不能进行评论操作",
+            type: "warning",
+          });
+          this.$emit("setIsShow");
+        }
+      }
+    },
   },
   mounted() {
     if (this.initBatchCode && this.analysisTypeCode) {
@@ -167,6 +199,11 @@ export default {
     }
   },
   methods: {
+    handleClose() {
+      //关闭评论弹框
+      this.$emit("setIsShow");
+    },
+
     async handleComment() {
       try {
         await analysisCommentEdit({
@@ -185,6 +222,7 @@ export default {
         });
         this.comment = "";
         this.getAnalysisDetail();
+        this.$emit("setIsShow");
       } catch (e) {
         console.error(e);
         this.loading = false;
@@ -338,7 +376,16 @@ export default {
     overflow: hidden;
   }
 }
-
+.el-dialog__wrapper {
+  position: relative !important;
+}
+::v-deep .el-dialog {
+  position: fixed !important;
+  z-index: 999 !important;
+  top: 50%;
+  left: 50%;
+  transform: translate(0, -50%);
+}
 .titleCharts {
   font-size: 16px;
   font-weight: 500;

+ 69 - 22
src/views/overview/components/data_integrity_minute/index.vue

@@ -1,7 +1,7 @@
 <!--
  * @Author: your name
  * @Date: 2025-01-09 17:54:02
- * @LastEditTime: 2025-01-21 15:49:16
+ * @LastEditTime: 2025-02-10 13:54:18
  * @LastEditors: bogon
  * @Description: In User Settings Edit
  * @FilePath: /performance-test/src/views/overview/data_integrity_minute/index.vue
@@ -47,25 +47,41 @@
         </div>
       </template>
       <el-empty description="暂无分析记录" v-else></el-empty>
-
-      <el-tabs value="first" v-if="isShowDescription">
-        <el-tab-pane label="意见描述" name="first">
-          <TinymceEditor
-            ref="editor"
-            v-model="comment"
-            @input="handleEditorInput($event)"
-            @onClick="onClick"
-          >
-          </TinymceEditor>
-        </el-tab-pane>
-      </el-tabs>
-      <el-row type="flex" class="row-bg" justify="end" v-if="isShowDescription">
-        <el-col :span="2" style="margin: 20px">
-          <el-button type="primary" size="small" @click="handleComment"
-            >提交评论</el-button
-          >
-        </el-col>
-      </el-row>
+      <el-dialog
+        v-if="isShowDescription"
+        title="添加评论"
+        :visible="isShow"
+        width="30%"
+        v-dialogDrag
+        :modal="false"
+        :lock-scroll="false"
+        :modal-append-to-body="false"
+        @close="handleClose"
+      >
+        <el-tabs value="first">
+          <el-tab-pane label="意见描述" name="first">
+            <TinymceEditor
+              ref="editor"
+              v-model="comment"
+              @input="handleEditorInput($event)"
+              @onClick="onClick"
+            >
+            </TinymceEditor>
+          </el-tab-pane>
+        </el-tabs>
+        <el-row
+          type="flex"
+          class="row-bg"
+          justify="end"
+          style="margin: 20px 60px 0 0"
+        >
+          <el-col :span="2">
+            <el-button type="primary" size="small" @click="handleComment"
+              >提交评论</el-button
+            >
+          </el-col>
+        </el-row>
+      </el-dialog>
     </div>
     <div class="right">
       <DicCard
@@ -100,6 +116,10 @@ export default {
       default: "",
       type: String,
     },
+    isShow: {
+      default: false,
+      type: Boolean,
+    },
     analysisTypeCode: {
       default: "",
       type: String,
@@ -131,6 +151,17 @@ export default {
         this.fetchData(); // 调用合并后的函数
       }
     },
+    isShow() {
+      if (this.isShow) {
+        if (!this.isShowDescription) {
+          this.$message({
+            message: "当前分析类型暂无分析,不能进行评论操作",
+            type: "warning",
+          });
+          this.$emit("setIsShow");
+        }
+      }
+    },
     analysisTypeCode(newVal) {
       if (newVal) {
         this.fetchData(); // 调用合并后的函数
@@ -143,6 +174,11 @@ export default {
     }
   },
   methods: {
+    handleClose() {
+      console.log("handleClose", this.isShow);
+      //关闭评论弹框
+      this.$emit("setIsShow");
+    },
     async handleComment() {
       try {
         await analysisCommentEdit({
@@ -161,6 +197,7 @@ export default {
         });
         this.comment = "";
         this.getAnalysisDetail();
+        this.$emit("setIsShow");
       } catch (e) {
         console.error(e);
         this.loading = false;
@@ -292,8 +329,8 @@ export default {
     overflow: auto;
     padding: 20px;
     flex: 1;
-      /* 滚动条整体样式 */
-      &::-webkit-scrollbar {
+    /* 滚动条整体样式 */
+    &::-webkit-scrollbar {
       width: 6px; /* 滚动条宽度 */
     }
 
@@ -320,4 +357,14 @@ export default {
     overflow: hidden;
   }
 }
+.el-dialog__wrapper {
+  position: relative !important;
+}
+::v-deep .el-dialog {
+  position: fixed !important;
+  z-index: 999 !important;
+  top: 50%;
+  left: 50%;
+  transform: translate(0, -50%);
+}
 </style>

+ 68 - 21
src/views/overview/components/data_integrity_second/index.vue

@@ -1,7 +1,7 @@
 <!--
  * @Author: your name
  * @Date: 2025-01-09 17:55:01
- * @LastEditTime: 2025-01-21 15:50:37
+ * @LastEditTime: 2025-02-10 14:10:09
  * @LastEditors: bogon
  * @Description: In User Settings Edit
  * @FilePath: /performance-test/src/views/overview/data_integrity_second/index.vue
@@ -49,24 +49,41 @@
       </template>
       <el-empty description="暂无分析记录" v-else></el-empty>
 
-      <el-tabs value="first" v-if="isShowDescription">
-        <el-tab-pane label="意见描述" name="first">
-          <TinymceEditor
-            ref="editor"
-            v-model="comment"
-            @input="handleEditorInput($event)"
-            @onClick="onClick"
-          >
-          </TinymceEditor>
-        </el-tab-pane>
-      </el-tabs>
-      <el-row v-if="isShowDescription" type="flex" class="row-bg" justify="end">
-        <el-col :span="2" style="margin: 20px">
-          <el-button type="primary" size="small" @click="handleComment"
-            >提交评论</el-button
-          >
-        </el-col>
-      </el-row>
+      <el-dialog
+        v-if="isShowDescription"
+        title="添加评论"
+        :visible="isShow"
+        width="30%"
+        v-dialogDrag
+        :modal="false"
+        :lock-scroll="false"
+        :modal-append-to-body="false"
+        @close="handleClose"
+      >
+        <el-tabs value="first">
+          <el-tab-pane label="意见描述" name="first">
+            <TinymceEditor
+              ref="editor"
+              v-model="comment"
+              @input="handleEditorInput($event)"
+              @onClick="onClick"
+            >
+            </TinymceEditor>
+          </el-tab-pane>
+        </el-tabs>
+        <el-row
+          type="flex"
+          class="row-bg"
+          justify="end"
+          style="margin: 20px 60px 0 0"
+        >
+          <el-col :span="2">
+            <el-button type="primary" size="small" @click="handleComment"
+              >提交评论</el-button
+            >
+          </el-col>
+        </el-row>
+      </el-dialog>
     </div>
     <div class="right">
       <DicCard
@@ -101,6 +118,10 @@ export default {
       default: "",
       type: String,
     },
+    isShow: {
+      default: false,
+      type: Boolean,
+    },
     analysisTypeCode: {
       default: "",
       type: String,
@@ -132,6 +153,17 @@ export default {
         this.fetchData(); // 调用合并后的函数
       }
     },
+    isShow() {
+      if (this.isShow) {
+        if (!this.isShowDescription) {
+          this.$message({
+            message: "当前分析类型暂无分析,不能进行评论操作",
+            type: "warning",
+          });
+          this.$emit("setIsShow");
+        }
+      }
+    },
     analysisTypeCode(newVal) {
       if (newVal) {
         this.fetchData(); // 调用合并后的函数
@@ -144,6 +176,10 @@ export default {
     }
   },
   methods: {
+    handleClose() {
+      //关闭评论弹框
+      this.$emit("setIsShow");
+    },
     async handleComment() {
       try {
         await analysisCommentEdit({
@@ -162,6 +198,7 @@ export default {
         });
         this.comment = "";
         this.getAnalysisDetail();
+        this.$emit("setIsShow");
       } catch (e) {
         console.error(e);
         this.loading = false;
@@ -292,8 +329,8 @@ export default {
     padding: 20px;
     flex: 1;
 
-      /* 滚动条整体样式 */
-      &::-webkit-scrollbar {
+    /* 滚动条整体样式 */
+    &::-webkit-scrollbar {
       width: 6px; /* 滚动条宽度 */
     }
 
@@ -320,4 +357,14 @@ export default {
     overflow: hidden;
   }
 }
+.el-dialog__wrapper {
+  position: relative !important;
+}
+::v-deep .el-dialog {
+  position: fixed !important;
+  z-index: 999 !important;
+  top: 50%;
+  left: 50%;
+  transform: translate(0, -50%);
+}
 </style>

+ 67 - 19
src/views/overview/components/fault_all/index.vue

@@ -1,7 +1,7 @@
 <!--
  * @Author: your name
  * @Date: 2025-01-13 13:56:55
- * @LastEditTime: 2025-01-21 15:54:16
+ * @LastEditTime: 2025-02-10 14:09:56
  * @LastEditors: bogon
  * @Description: In User Settings Edit
  * @FilePath: /performance-test/src/views/overview/components/fault_all/index.vue
@@ -82,24 +82,42 @@
         </template>
       </div>
       <el-empty description="暂无分析记录" v-else></el-empty>
-      <el-tabs value="first">
-        <el-tab-pane label="意见描述" name="first" v-if="isShowDescription">
-          <TinymceEditor
-            ref="editor"
-            v-model="comment"
-            @input="handleEditorInput($event)"
-            @onClick="onClick"
-          >
-          </TinymceEditor>
-        </el-tab-pane>
-      </el-tabs>
-      <el-row v-if="isShowDescription" type="flex" class="row-bg" justify="end">
-        <el-col :span="2" style="margin: 20px">
-          <el-button type="primary" size="small" @click="handleComment"
-            >提交评论</el-button
-          >
-        </el-col>
-      </el-row>
+
+      <el-dialog
+        v-if="isShowDescription"
+        title="添加评论"
+        :visible="isShow"
+        width="30%"
+        v-dialogDrag
+        :modal="false"
+        :lock-scroll="false"
+        :modal-append-to-body="false"
+        @close="handleClose"
+      >
+        <el-tabs value="first">
+          <el-tab-pane label="意见描述" name="first">
+            <TinymceEditor
+              ref="editor"
+              v-model="comment"
+              @input="handleEditorInput($event)"
+              @onClick="onClick"
+            >
+            </TinymceEditor>
+          </el-tab-pane>
+        </el-tabs>
+        <el-row
+          type="flex"
+          class="row-bg"
+          justify="end"
+          style="margin: 20px 60px 0 0"
+        >
+          <el-col :span="2">
+            <el-button type="primary" size="small" @click="handleComment"
+              >提交评论</el-button
+            >
+          </el-col>
+        </el-row>
+      </el-dialog>
     </div>
     <div class="right">
       <DicCard
@@ -136,6 +154,10 @@ export default {
       default: "",
       type: String,
     },
+    isShow: {
+      default: false,
+      type: Boolean,
+    },
     analysisTypeCode: {
       default: "",
       type: String,
@@ -206,6 +228,17 @@ export default {
         this.fetchData(); // 调用合并后的函数
       }
     },
+    isShow() {
+      if (this.isShow) {
+        if (!this.isShowDescription) {
+          this.$message({
+            message: "当前分析类型暂无分析,不能进行评论操作",
+            type: "warning",
+          });
+          this.$emit("setIsShow");
+        }
+      }
+    },
   },
   mounted() {
     if (this.initBatchCode && this.analysisTypeCode) {
@@ -213,6 +246,10 @@ export default {
     }
   },
   methods: {
+    handleClose() {
+      //关闭评论弹框
+      this.$emit("setIsShow");
+    },
     async handleComment() {
       try {
         await analysisCommentEdit({
@@ -231,6 +268,7 @@ export default {
         });
         this.comment = "";
         this.getAnalysisDetail();
+        this.$emit("setIsShow");
       } catch (e) {
         console.error(e);
         this.loading = false;
@@ -426,4 +464,14 @@ export default {
     overflow: hidden;
   }
 }
+.el-dialog__wrapper {
+  position: relative !important;
+}
+::v-deep .el-dialog {
+  position: fixed !important;
+  z-index: 999 !important;
+  top: 50%;
+  left: 50%;
+  transform: translate(0, -50%);
+}
 </style>

+ 66 - 19
src/views/overview/components/fault_unit/index.vue

@@ -1,7 +1,7 @@
 <!--
  * @Author: your name
  * @Date: 2025-01-13 13:56:12
- * @LastEditTime: 2025-01-21 15:54:53
+ * @LastEditTime: 2025-02-10 14:12:28
  * @LastEditors: bogon
  * @Description: In User Settings Edit
  * @FilePath: /performance-test/src/views/overview/components/fault_unit/index.vue
@@ -76,24 +76,41 @@
         </template>
       </div>
       <el-empty description="暂无分析记录" v-else></el-empty>
-      <el-tabs value="first">
-        <el-tab-pane label="意见描述" name="first" v-if="isShowDescription">
-          <TinymceEditor
-            ref="editor"
-            v-model="comment"
-            @input="handleEditorInput($event)"
-            @onClick="onClick"
-          >
-          </TinymceEditor>
-        </el-tab-pane>
-      </el-tabs>
-      <el-row type="flex" class="row-bg" justify="end" v-if="isShowDescription">
-        <el-col :span="2" style="margin: 20px">
-          <el-button type="primary" size="small" @click="handleComment"
-            >提交评论</el-button
-          >
-        </el-col>
-      </el-row>
+      <el-dialog
+        v-if="isShowDescription"
+        title="添加评论"
+        :visible="isShow"
+        width="30%"
+        v-dialogDrag
+        :modal="false"
+        :lock-scroll="false"
+        :modal-append-to-body="false"
+        @close="handleClose"
+      >
+        <el-tabs value="first">
+          <el-tab-pane label="意见描述" name="first">
+            <TinymceEditor
+              ref="editor"
+              v-model="comment"
+              @input="handleEditorInput($event)"
+              @onClick="onClick"
+            >
+            </TinymceEditor>
+          </el-tab-pane>
+        </el-tabs>
+        <el-row
+          type="flex"
+          class="row-bg"
+          justify="end"
+          style="margin: 20px 60px 0 0"
+        >
+          <el-col :span="2">
+            <el-button type="primary" size="small" @click="handleComment"
+              >提交评论</el-button
+            >
+          </el-col>
+        </el-row>
+      </el-dialog>
     </div>
     <div class="right">
       <DicCard
@@ -138,6 +155,10 @@ export default {
       default: "",
       type: Array,
     },
+    isShow: {
+      default: false,
+      type: Boolean,
+    },
   },
   data() {
     return {
@@ -200,6 +221,17 @@ export default {
         this.fetchData(); // 调用合并后的函数
       }
     },
+    isShow() {
+      if (this.isShow) {
+        if (!this.isShowDescription) {
+          this.$message({
+            message: "当前分析类型暂无分析,不能进行评论操作",
+            type: "warning",
+          });
+          this.$emit("setIsShow");
+        }
+      }
+    },
   },
   mounted() {
     if (this.initBatchCode && this.analysisTypeCode) {
@@ -207,6 +239,10 @@ export default {
     }
   },
   methods: {
+    handleClose() {
+      //关闭评论弹框
+      this.$emit("setIsShow");
+    },
     onSubmit() {
       console.log("submit!");
     },
@@ -228,6 +264,7 @@ export default {
         });
         this.comment = "";
         this.getAnalysisDetail();
+        this.$emit("setIsShow");
       } catch (e) {
         console.error(e);
         this.loading = false;
@@ -413,4 +450,14 @@ export default {
     overflow: hidden;
   }
 }
+.el-dialog__wrapper {
+  position: relative !important;
+}
+::v-deep .el-dialog {
+  position: fixed !important;
+  z-index: 999 !important;
+  top: 50%;
+  left: 50%;
+  transform: translate(0, -50%);
+}
 </style>

+ 66 - 19
src/views/overview/components/min_pitch/index.vue

@@ -1,7 +1,7 @@
 <!--
  * @Author: your name
  * @Date: 2025-01-09 18:08:13
- * @LastEditTime: 2025-01-21 15:56:02
+ * @LastEditTime: 2025-02-10 14:50:20
  * @LastEditors: bogon
  * @Description: In User Settings Edit
  * @FilePath: /performance-test/src/views/overview/components/min_pitch/index.vue
@@ -46,24 +46,41 @@
           :fileAddr="item.fileAddr"
         ></TwoDMarkersChart>
       </VirtualList>
-      <el-tabs value="first">
-        <el-tab-pane label="意见描述" name="first" v-if="isShowDescription">
-          <TinymceEditor
-            ref="editor"
-            v-model="comment"
-            @input="handleEditorInput($event)"
-            @onClick="onClick"
-          >
-          </TinymceEditor>
-        </el-tab-pane>
-      </el-tabs>
-      <el-row type="flex" class="row-bg" justify="end" v-if="isShowDescription">
-        <el-col :span="2" style="margin: 20px">
-          <el-button type="primary" size="small" @click="handleComment"
-            >提交评论</el-button
-          >
-        </el-col>
-      </el-row>
+      <el-dialog
+        v-if="isShowDescription"
+        title="添加评论"
+        :visible="isShow"
+        width="30%"
+        v-dialogDrag
+        :modal="false"
+        :lock-scroll="false"
+        :modal-append-to-body="false"
+        @close="handleClose"
+      >
+        <el-tabs value="first">
+          <el-tab-pane label="意见描述" name="first">
+            <TinymceEditor
+              ref="editor"
+              v-model="comment"
+              @input="handleEditorInput($event)"
+              @onClick="onClick"
+            >
+            </TinymceEditor>
+          </el-tab-pane>
+        </el-tabs>
+        <el-row
+          type="flex"
+          class="row-bg"
+          justify="end"
+          style="margin: 20px 60px 0 0"
+        >
+          <el-col :span="2">
+            <el-button type="primary" size="small" @click="handleComment"
+              >提交评论</el-button
+            >
+          </el-col>
+        </el-row>
+      </el-dialog>
     </div>
     <div class="right">
       <DicCard
@@ -99,6 +116,10 @@ export default {
       default: "",
       type: String,
     },
+    isShow: {
+      default: false,
+      type: Boolean,
+    },
     analysisTypeCode: {
       default: "",
       type: String,
@@ -135,6 +156,17 @@ export default {
         this.fetchData(); // 调用合并后的函数
       }
     },
+    isShow() {
+      if (this.isShow) {
+        if (!this.isShowDescription) {
+          this.$message({
+            message: "当前分析类型暂无分析,不能进行评论操作",
+            type: "warning",
+          });
+          this.$emit("setIsShow");
+        }
+      }
+    },
   },
   mounted() {
     if (this.initBatchCode && this.analysisTypeCode) {
@@ -142,6 +174,10 @@ export default {
     }
   },
   methods: {
+    handleClose() {
+      //关闭评论弹框
+      this.$emit("setIsShow");
+    },
     async handleComment() {
       try {
         await analysisCommentEdit({
@@ -160,6 +196,7 @@ export default {
         });
         this.comment = "";
         this.getAnalysisDetail();
+        this.$emit("setIsShow");
       } catch (e) {
         console.error(e);
         this.loading = false;
@@ -320,6 +357,16 @@ export default {
     overflow: hidden;
   }
 }
+.el-dialog__wrapper {
+  position: relative !important;
+}
+::v-deep .el-dialog {
+  position: fixed !important;
+  z-index: 999 !important;
+  top: 50%;
+  left: 50%;
+  transform: translate(0, -50%);
+}
 .titleCharts {
   font-size: 16px;
   font-weight: 500;

+ 66 - 19
src/views/overview/components/pitch_generator_speed/index.vue

@@ -1,7 +1,7 @@
 <!--
  * @Author: your name
  * @Date: 2025-01-09 18:09:25
- * @LastEditTime: 2025-01-21 15:56:49
+ * @LastEditTime: 2025-02-10 14:50:29
  * @LastEditors: bogon
  * @Description: In User Settings Edit
  * @FilePath: /performance-test/src/views/overview/components/pitch_generator_speed/index.vue
@@ -46,24 +46,41 @@
           :fileAddr="item.fileAddr"
         ></TwoDMarkersChart>
       </VirtualList>
-      <el-tabs value="first" v-if="isShowDescription">
-        <el-tab-pane label="意见描述" name="first">
-          <TinymceEditor
-            ref="editor"
-            v-model="comment"
-            @input="handleEditorInput($event)"
-            @onClick="onClick"
-          >
-          </TinymceEditor>
-        </el-tab-pane>
-      </el-tabs>
-      <el-row type="flex" class="row-bg" justify="end" v-if="isShowDescription">
-        <el-col :span="2" style="margin: 20px">
-          <el-button type="primary" size="small" @click="handleComment"
-            >提交评论</el-button
-          >
-        </el-col>
-      </el-row>
+      <el-dialog
+        v-if="isShowDescription"
+        title="添加评论"
+        :visible="isShow"
+        width="30%"
+        v-dialogDrag
+        :modal="false"
+        :lock-scroll="false"
+        :modal-append-to-body="false"
+        @close="handleClose"
+      >
+        <el-tabs value="first">
+          <el-tab-pane label="意见描述" name="first">
+            <TinymceEditor
+              ref="editor"
+              v-model="comment"
+              @input="handleEditorInput($event)"
+              @onClick="onClick"
+            >
+            </TinymceEditor>
+          </el-tab-pane>
+        </el-tabs>
+        <el-row
+          type="flex"
+          class="row-bg"
+          justify="end"
+          style="margin: 20px 60px 0 0"
+        >
+          <el-col :span="2">
+            <el-button type="primary" size="small" @click="handleComment"
+              >提交评论</el-button
+            >
+          </el-col>
+        </el-row>
+      </el-dialog>
     </div>
     <div class="right">
       <DicCard
@@ -99,6 +116,10 @@ export default {
       default: "",
       type: String,
     },
+    isShow: {
+      default: false,
+      type: Boolean,
+    },
     analysisTypeCode: {
       default: "",
       type: String,
@@ -135,6 +156,17 @@ export default {
         this.fetchData(); // 调用合并后的函数
       }
     },
+    isShow() {
+      if (this.isShow) {
+        if (!this.isShowDescription) {
+          this.$message({
+            message: "当前分析类型暂无分析,不能进行评论操作",
+            type: "warning",
+          });
+          this.$emit("setIsShow");
+        }
+      }
+    },
   },
   mounted() {
     if (this.initBatchCode && this.analysisTypeCode) {
@@ -142,6 +174,10 @@ export default {
     }
   },
   methods: {
+    handleClose() {
+      //关闭评论弹框
+      this.$emit("setIsShow");
+    },
     async handleComment() {
       try {
         await analysisCommentEdit({
@@ -160,6 +196,7 @@ export default {
         });
         this.comment = "";
         this.getAnalysisDetail();
+        this.$emit("setIsShow");
       } catch (e) {
         console.error(e);
         this.loading = false;
@@ -299,6 +336,16 @@ export default {
     overflow: hidden;
   }
 }
+.el-dialog__wrapper {
+  position: relative !important;
+}
+::v-deep .el-dialog {
+  position: fixed !important;
+  z-index: 999 !important;
+  top: 50%;
+  left: 50%;
+  transform: translate(0, -50%);
+}
 .titleCharts {
   font-size: 16px;
   font-weight: 500;

+ 66 - 19
src/views/overview/components/pitch_power/index.vue

@@ -1,7 +1,7 @@
 <!--
  * @Author: your name
  * @Date: 2025-01-09 18:09:41
- * @LastEditTime: 2025-01-23 09:21:07
+ * @LastEditTime: 2025-02-10 14:50:37
  * @LastEditors: bogon
  * @Description: In User Settings Edit
  * @FilePath: /performance-test/src/views/overview/components/pitch_power/index.vue
@@ -62,24 +62,41 @@
         >
         </Time3DChart>
       </VirtualList>
-      <el-tabs value="first" v-if="isShowDescription">
-        <el-tab-pane label="意见描述" name="first">
-          <TinymceEditor
-            ref="editor"
-            v-model="comment"
-            @input="handleEditorInput($event)"
-            @onClick="onClick"
-          >
-          </TinymceEditor>
-        </el-tab-pane>
-      </el-tabs>
-      <el-row type="flex" class="row-bg" justify="end" v-if="isShowDescription">
-        <el-col :span="2" style="margin: 20px">
-          <el-button type="primary" size="small" @click="handleComment"
-            >提交评论</el-button
-          >
-        </el-col>
-      </el-row>
+      <el-dialog
+        v-if="isShowDescription"
+        title="添加评论"
+        :visible="isShow"
+        width="30%"
+        v-dialogDrag
+        :modal="false"
+        :lock-scroll="false"
+        :modal-append-to-body="false"
+        @close="handleClose"
+      >
+        <el-tabs value="first">
+          <el-tab-pane label="意见描述" name="first">
+            <TinymceEditor
+              ref="editor"
+              v-model="comment"
+              @input="handleEditorInput($event)"
+              @onClick="onClick"
+            >
+            </TinymceEditor>
+          </el-tab-pane>
+        </el-tabs>
+        <el-row
+          type="flex"
+          class="row-bg"
+          justify="end"
+          style="margin: 20px 60px 0 0"
+        >
+          <el-col :span="2">
+            <el-button type="primary" size="small" @click="handleComment"
+              >提交评论</el-button
+            >
+          </el-col>
+        </el-row>
+      </el-dialog>
     </div>
     <div class="right">
       <DicCard
@@ -117,6 +134,10 @@ export default {
       default: "",
       type: String,
     },
+    isShow: {
+      default: false,
+      type: Boolean,
+    },
     analysisTypeCode: {
       default: "",
       type: String,
@@ -153,6 +174,17 @@ export default {
         this.fetchData(); // 调用合并后的函数
       }
     },
+    isShow() {
+      if (this.isShow) {
+        if (!this.isShowDescription) {
+          this.$message({
+            message: "当前分析类型暂无分析,不能进行评论操作",
+            type: "warning",
+          });
+          this.$emit("setIsShow");
+        }
+      }
+    },
   },
   mounted() {
     if (this.initBatchCode && this.analysisTypeCode) {
@@ -170,6 +202,10 @@ export default {
         return "Unknown"; // 如果都不包含,返回 Unknown 或其他提示
       }
     },
+    handleClose() {
+      //关闭评论弹框
+      this.$emit("setIsShow");
+    },
     async handleComment() {
       try {
         await analysisCommentEdit({
@@ -188,6 +224,7 @@ export default {
         });
         this.comment = "";
         this.getAnalysisDetail();
+        this.$emit("setIsShow");
       } catch (e) {
         console.error(e);
         this.loading = false;
@@ -327,6 +364,16 @@ export default {
     overflow: hidden;
   }
 }
+.el-dialog__wrapper {
+  position: relative !important;
+}
+::v-deep .el-dialog {
+  position: fixed !important;
+  z-index: 999 !important;
+  top: 50%;
+  left: 50%;
+  transform: translate(0, -50%);
+}
 .titleCharts {
   font-size: 16px;
   font-weight: 500;

+ 66 - 19
src/views/overview/components/pitch_tsr_cp/index.vue

@@ -1,7 +1,7 @@
 <!--
  * @Author: your name
  * @Date: 2025-01-09 18:09:55
- * @LastEditTime: 2025-01-21 15:58:46
+ * @LastEditTime: 2025-02-10 14:50:45
  * @LastEditors: bogon
  * @Description: In User Settings Edit
  * @FilePath: /performance-test/src/views/overview/components/pitch_tsr_cp/index.vue
@@ -44,24 +44,41 @@
           :fileAddr="item.fileAddr"
         ></TwoDMarkersChart>
       </VirtualList>
-      <el-tabs value="first" v-if="isShowDescription">
-        <el-tab-pane label="意见描述" name="first">
-          <TinymceEditor
-            ref="editor"
-            v-model="comment"
-            @input="handleEditorInput($event)"
-            @onClick="onClick"
-          >
-          </TinymceEditor>
-        </el-tab-pane>
-      </el-tabs>
-      <el-row type="flex" class="row-bg" justify="end" v-if="isShowDescription">
-        <el-col :span="2" style="margin: 20px">
-          <el-button type="primary" size="small" @click="handleComment"
-            >提交评论</el-button
-          >
-        </el-col>
-      </el-row>
+      <el-dialog
+        v-if="isShowDescription"
+        title="添加评论"
+        :visible="isShow"
+        width="30%"
+        v-dialogDrag
+        :modal="false"
+        :lock-scroll="false"
+        :modal-append-to-body="false"
+        @close="handleClose"
+      >
+        <el-tabs value="first">
+          <el-tab-pane label="意见描述" name="first">
+            <TinymceEditor
+              ref="editor"
+              v-model="comment"
+              @input="handleEditorInput($event)"
+              @onClick="onClick"
+            >
+            </TinymceEditor>
+          </el-tab-pane>
+        </el-tabs>
+        <el-row
+          type="flex"
+          class="row-bg"
+          justify="end"
+          style="margin: 20px 60px 0 0"
+        >
+          <el-col :span="2">
+            <el-button type="primary" size="small" @click="handleComment"
+              >提交评论</el-button
+            >
+          </el-col>
+        </el-row>
+      </el-dialog>
     </div>
     <div class="right">
       <DicCard
@@ -97,6 +114,10 @@ export default {
       default: "",
       type: String,
     },
+    isShow: {
+      default: false,
+      type: Boolean,
+    },
     analysisTypeCode: {
       default: "",
       type: String,
@@ -133,6 +154,17 @@ export default {
         this.fetchData(); // 调用合并后的函数
       }
     },
+    isShow() {
+      if (this.isShow) {
+        if (!this.isShowDescription) {
+          this.$message({
+            message: "当前分析类型暂无分析,不能进行评论操作",
+            type: "warning",
+          });
+          this.$emit("setIsShow");
+        }
+      }
+    },
   },
   mounted() {
     if (this.initBatchCode && this.analysisTypeCode) {
@@ -140,6 +172,10 @@ export default {
     }
   },
   methods: {
+    handleClose() {
+      //关闭评论弹框
+      this.$emit("setIsShow");
+    },
     async handleComment() {
       try {
         await analysisCommentEdit({
@@ -158,6 +194,7 @@ export default {
         });
         this.comment = "";
         this.getAnalysisDetail();
+        this.$emit("setIsShow");
       } catch (e) {
         console.error(e);
         this.loading = false;
@@ -318,4 +355,14 @@ export default {
     overflow: hidden;
   }
 }
+.el-dialog__wrapper {
+  position: relative !important;
+}
+::v-deep .el-dialog {
+  position: fixed !important;
+  z-index: 999 !important;
+  top: 50%;
+  left: 50%;
+  transform: translate(0, -50%);
+}
 </style>

+ 79 - 32
src/views/overview/components/power_curve/index.vue

@@ -1,7 +1,7 @@
 <!--
  * @Author: your name
  * @Date: 2025-01-09 18:10:08
- * @LastEditTime: 2025-01-22 17:34:11
+ * @LastEditTime: 2025-02-10 16:05:43
  * @LastEditors: bogon
  * @Description: In User Settings Edit
  * @FilePath: /performance-test/src/views/overview/components/power_curve/index.vue
@@ -39,15 +39,6 @@
           :style="{ marginTop: '50px' }"
         >
           <el-row class="charts">
-            <el-col :span="24" :key="ind + 'rightTable'">
-              <div class="rightTable">
-                <PlotlyCharts
-                  :lineMarkerData="powerCurveDom.chartsData"
-                  :comType="'generalDrawing'"
-                  :inds="`zong${ind}`"
-                ></PlotlyCharts>
-              </div>
-            </el-col>
             <el-col :span="24" :key="ind + 'leftTable'">
               <div class="leftTable">
                 <el-button
@@ -58,7 +49,7 @@
                   "
                   >导出表格数据</el-button
                 >
-                <el-table
+                <!-- <el-table
                   :data="powerCurveDom.powerCurveTableData"
                   border
                   max-height="500"
@@ -78,7 +69,16 @@
                     label="合同功率(kWh)"
                   >
                   </el-table-column>
-                </el-table>
+                </el-table> -->
+              </div>
+            </el-col>
+            <el-col :span="24" :key="ind + 'rightTable'">
+              <div class="rightTable">
+                <PlotlyCharts
+                  :lineMarkerData="powerCurveDom.chartsData"
+                  :comType="'generalDrawing'"
+                  :inds="`zong${ind}`"
+                ></PlotlyCharts>
               </div>
             </el-col>
           </el-row>
@@ -115,7 +115,7 @@
                 powerCurveDom && powerCurveDom.powerCurveTableData.length > 0
               "
             >
-              <div class="leftTable">
+              <!-- <div class="leftTable">
                 <el-table
                   :data="powerCurveDom && powerCurveDom.powerCurveTableData"
                   border
@@ -133,7 +133,7 @@
                   <el-table-column prop="contractPowerCurve" label="合同功率">
                   </el-table-column>
                 </el-table>
-              </div>
+              </div> -->
             </el-col>
 
             <el-col v-else :span="24">
@@ -144,24 +144,41 @@
       </template>
       <el-empty v-else description="暂无分图"></el-empty>
 
-      <el-tabs value="first">
-        <el-tab-pane label="意见描述" name="first" v-if="isShowDescription">
-          <TinymceEditor
-            ref="editor"
-            v-model="comment"
-            @input="handleEditorInput($event)"
-            @onClick="onClick"
-          >
-          </TinymceEditor>
-        </el-tab-pane>
-      </el-tabs>
-      <el-row type="flex" class="row-bg" justify="end" v-if="isShowDescription">
-        <el-col :span="2" style="margin: 20px">
-          <el-button type="primary" size="small" @click="handleComment"
-            >提交评论</el-button
-          >
-        </el-col>
-      </el-row>
+      <el-dialog
+        v-if="isShowDescription"
+        title="添加评论"
+        :visible="isShow"
+        width="30%"
+        v-dialogDrag
+        :modal="false"
+        :lock-scroll="false"
+        :modal-append-to-body="false"
+        @close="handleClose"
+      >
+        <el-tabs value="first">
+          <el-tab-pane label="意见描述" name="first">
+            <TinymceEditor
+              ref="editor"
+              v-model="comment"
+              @input="handleEditorInput($event)"
+              @onClick="onClick"
+            >
+            </TinymceEditor>
+          </el-tab-pane>
+        </el-tabs>
+        <el-row
+          type="flex"
+          class="row-bg"
+          justify="end"
+          style="margin: 20px 60px 0 0"
+        >
+          <el-col :span="2">
+            <el-button type="primary" size="small" @click="handleComment"
+              >提交评论</el-button
+            >
+          </el-col>
+        </el-row>
+      </el-dialog>
     </div>
     <div class="right">
       <DicCard
@@ -201,6 +218,10 @@ export default {
       default: "",
       type: String,
     },
+    isShow: {
+      default: false,
+      type: Boolean,
+    },
     analysisTypeCode: {
       default: "",
       type: String,
@@ -237,6 +258,17 @@ export default {
         this.fetchData(); // 调用合并后的函数
       }
     },
+    isShow() {
+      if (this.isShow) {
+        if (!this.isShowDescription) {
+          this.$message({
+            message: "当前分析类型暂无分析,不能进行评论操作",
+            type: "warning",
+          });
+          this.$emit("setIsShow");
+        }
+      }
+    },
   },
   mounted() {
     if (this.initBatchCode && this.analysisTypeCode) {
@@ -244,6 +276,10 @@ export default {
     }
   },
   methods: {
+    handleClose() {
+      //关闭评论弹框
+      this.$emit("setIsShow");
+    },
     async handleComment() {
       try {
         await analysisCommentEdit({
@@ -262,6 +298,7 @@ export default {
         });
         this.comment = "";
         this.getAnalysisDetail();
+        this.$emit("setIsShow");
       } catch (e) {
         console.error(e);
         this.loading = false;
@@ -548,6 +585,16 @@ export default {
     overflow: hidden;
   }
 }
+.el-dialog__wrapper {
+  position: relative !important;
+}
+::v-deep .el-dialog {
+  position: fixed !important;
+  z-index: 999 !important;
+  top: 50%;
+  left: 50%;
+  transform: translate(0, -50%);
+}
 .rightTable {
   width: 100%;
 }

+ 66 - 19
src/views/overview/components/power_scatter/index.vue

@@ -1,7 +1,7 @@
 <!--
  * @Author: your name
  * @Date: 2025-01-09 18:10:22
- * @LastEditTime: 2025-01-23 09:15:09
+ * @LastEditTime: 2025-02-10 14:51:05
  * @LastEditors: bogon
  * @Description: In User Settings Edit
  * @FilePath: /performance-test/src/views/overview/components/power_scatter/index.vue
@@ -47,24 +47,41 @@
         </Time3DChart>
       </VirtualList>
 
-      <el-tabs value="first" v-if="isShowDescription">
-        <el-tab-pane label="意见描述" name="first">
-          <TinymceEditor
-            ref="editor"
-            v-model="comment"
-            @input="handleEditorInput($event)"
-            @onClick="onClick"
-          >
-          </TinymceEditor>
-        </el-tab-pane>
-      </el-tabs>
-      <el-row type="flex" class="row-bg" justify="end" v-if="isShowDescription">
-        <el-col :span="2" style="margin: 20px">
-          <el-button type="primary" size="small" @click="handleComment"
-            >提交评论</el-button
-          >
-        </el-col>
-      </el-row>
+      <el-dialog
+        v-if="isShowDescription"
+        title="添加评论"
+        :visible="isShow"
+        width="30%"
+        v-dialogDrag
+        :modal="false"
+        :lock-scroll="false"
+        :modal-append-to-body="false"
+        @close="handleClose"
+      >
+        <el-tabs value="first">
+          <el-tab-pane label="意见描述" name="first">
+            <TinymceEditor
+              ref="editor"
+              v-model="comment"
+              @input="handleEditorInput($event)"
+              @onClick="onClick"
+            >
+            </TinymceEditor>
+          </el-tab-pane>
+        </el-tabs>
+        <el-row
+          type="flex"
+          class="row-bg"
+          justify="end"
+          style="margin: 20px 60px 0 0"
+        >
+          <el-col :span="2">
+            <el-button type="primary" size="small" @click="handleComment"
+              >提交评论</el-button
+            >
+          </el-col>
+        </el-row>
+      </el-dialog>
     </div>
     <div class="right">
       <DicCard
@@ -100,6 +117,10 @@ export default {
       default: "",
       type: String,
     },
+    isShow: {
+      default: false,
+      type: Boolean,
+    },
     analysisTypeCode: {
       default: "",
       type: String,
@@ -138,6 +159,17 @@ export default {
         this.fetchData(); // 调用合并后的函数
       }
     },
+    isShow() {
+      if (this.isShow) {
+        if (!this.isShowDescription) {
+          this.$message({
+            message: "当前分析类型暂无分析,不能进行评论操作",
+            type: "warning",
+          });
+          this.$emit("setIsShow");
+        }
+      }
+    },
   },
   mounted() {
     if (this.initBatchCode && this.analysisTypeCode) {
@@ -145,6 +177,10 @@ export default {
     }
   },
   methods: {
+    handleClose() {
+      //关闭评论弹框
+      this.$emit("setIsShow");
+    },
     async handleComment() {
       try {
         await analysisCommentEdit({
@@ -163,6 +199,7 @@ export default {
         });
         this.comment = "";
         this.getAnalysisDetail();
+        this.$emit("setIsShow");
       } catch (e) {
         console.error(e);
         this.loading = false;
@@ -347,6 +384,16 @@ export default {
     overflow: hidden;
   }
 }
+.el-dialog__wrapper {
+  position: relative !important;
+}
+::v-deep .el-dialog {
+  position: fixed !important;
+  z-index: 999 !important;
+  top: 50%;
+  left: 50%;
+  transform: translate(0, -50%);
+}
 .titleCharts {
   font-size: 16px;
   font-weight: 500;

+ 67 - 27
src/views/overview/components/power_scatter_2D/index.vue

@@ -1,19 +1,12 @@
 <!--
  * @Author: your name
  * @Date: 2025-01-09 18:10:35
- * @LastEditTime: 2025-01-21 16:01:46
+ * @LastEditTime: 2025-02-10 14:51:14
  * @LastEditors: bogon
  * @Description: In User Settings Edit
  * @FilePath: /performance-test/src/views/overview/components/power_scatter_2D/index.vue
 -->
-<!-- <template>
-  <div>逐月有功功率散点2D分析</div>
-</template>
-<script>
-export default {
-  name: "powerScatter2D",
-};
-</script> -->
+
 <style scoped lang="scss"></style>
 <template>
   <div class="type-variable">
@@ -54,24 +47,41 @@ export default {
         ></powerMarkers2DCharts>
       </VirtualList>
 
-      <el-tabs value="first" v-if="isShowDescription">
-        <el-tab-pane label="意见描述" name="first">
-          <TinymceEditor
-            ref="editor"
-            v-model="comment"
-            @input="handleEditorInput($event)"
-            @onClick="onClick"
-          >
-          </TinymceEditor>
-        </el-tab-pane>
-      </el-tabs>
-      <el-row type="flex" class="row-bg" justify="end" v-if="isShowDescription">
-        <el-col :span="2" style="margin: 20px">
-          <el-button type="primary" size="small" @click="handleComment"
-            >提交评论</el-button
-          >
-        </el-col>
-      </el-row>
+      <el-dialog
+        v-if="isShowDescription"
+        title="添加评论"
+        :visible="isShow"
+        width="30%"
+        v-dialogDrag
+        :modal="false"
+        :lock-scroll="false"
+        :modal-append-to-body="false"
+        @close="handleClose"
+      >
+        <el-tabs value="first">
+          <el-tab-pane label="意见描述" name="first">
+            <TinymceEditor
+              ref="editor"
+              v-model="comment"
+              @input="handleEditorInput($event)"
+              @onClick="onClick"
+            >
+            </TinymceEditor>
+          </el-tab-pane>
+        </el-tabs>
+        <el-row
+          type="flex"
+          class="row-bg"
+          justify="end"
+          style="margin: 20px 60px 0 0"
+        >
+          <el-col :span="2">
+            <el-button type="primary" size="small" @click="handleComment"
+              >提交评论</el-button
+            >
+          </el-col>
+        </el-row>
+      </el-dialog>
     </div>
     <div class="right">
       <DicCard
@@ -108,6 +118,10 @@ export default {
       default: "",
       type: String,
     },
+    isShow: {
+      default: false,
+      type: Boolean,
+    },
     analysisTypeCode: {
       default: "",
       type: String,
@@ -144,6 +158,17 @@ export default {
         this.fetchData(); // 调用合并后的函数
       }
     },
+    isShow() {
+      if (this.isShow) {
+        if (!this.isShowDescription) {
+          this.$message({
+            message: "当前分析类型暂无分析,不能进行评论操作",
+            type: "warning",
+          });
+          this.$emit("setIsShow");
+        }
+      }
+    },
   },
   mounted() {
     if (this.initBatchCode && this.analysisTypeCode) {
@@ -160,6 +185,10 @@ export default {
       });
       this.windEngineGroupList = resEngineList.data;
     },
+    handleClose() {
+      //关闭评论弹框
+      this.$emit("setIsShow");
+    },
     async handleComment() {
       try {
         await analysisCommentEdit({
@@ -178,6 +207,7 @@ export default {
         });
         this.comment = "";
         this.getAnalysisDetail();
+        this.$emit("setIsShow");
       } catch (e) {
         console.error(e);
         this.loading = false;
@@ -328,6 +358,16 @@ export default {
     overflow: hidden;
   }
 }
+.el-dialog__wrapper {
+  position: relative !important;
+}
+::v-deep .el-dialog {
+  position: fixed !important;
+  z-index: 999 !important;
+  top: 50%;
+  left: 50%;
+  transform: translate(0, -50%);
+}
 .titleCharts {
   font-size: 16px;
   font-weight: 500;

+ 66 - 19
src/views/overview/components/production_indicator_all/index.vue

@@ -1,7 +1,7 @@
 <!--
  * @Author: your name
  * @Date: 2025-01-13 13:45:50
- * @LastEditTime: 2025-01-22 17:32:55
+ * @LastEditTime: 2025-02-10 14:51:27
  * @LastEditors: bogon
  * @Description: In User Settings Edit
  * @FilePath: /performance-test/src/views/overview/components/production_indicator_all/index.vue
@@ -52,24 +52,41 @@
         </template>
       </div>
       <el-empty description="暂无分析记录" v-else></el-empty>
-      <el-tabs value="first" v-if="isShowDescription">
-        <el-tab-pane label="意见描述" name="first">
-          <TinymceEditor
-            ref="editor"
-            v-model="comment"
-            @input="handleEditorInput($event)"
-            @onClick="onClick"
-          >
-          </TinymceEditor>
-        </el-tab-pane>
-      </el-tabs>
-      <el-row type="flex" class="row-bg" justify="end" v-if="isShowDescription">
-        <el-col :span="2" style="margin: 20px">
-          <el-button type="primary" size="small" @click="handleComment"
-            >提交评论</el-button
-          >
-        </el-col>
-      </el-row>
+      <el-dialog
+        v-if="isShowDescription"
+        title="添加评论"
+        :visible="isShow"
+        width="30%"
+        v-dialogDrag
+        :modal="false"
+        :lock-scroll="false"
+        :modal-append-to-body="false"
+        @close="handleClose"
+      >
+        <el-tabs value="first">
+          <el-tab-pane label="意见描述" name="first">
+            <TinymceEditor
+              ref="editor"
+              v-model="comment"
+              @input="handleEditorInput($event)"
+              @onClick="onClick"
+            >
+            </TinymceEditor>
+          </el-tab-pane>
+        </el-tabs>
+        <el-row
+          type="flex"
+          class="row-bg"
+          justify="end"
+          style="margin: 20px 60px 0 0"
+        >
+          <el-col :span="2">
+            <el-button type="primary" size="small" @click="handleComment"
+              >提交评论</el-button
+            >
+          </el-col>
+        </el-row>
+      </el-dialog>
     </div>
     <div class="right">
       <DicCard
@@ -106,6 +123,10 @@ export default {
       default: "",
       type: String,
     },
+    isShow: {
+      default: false,
+      type: Boolean,
+    },
     analysisTypeCode: {
       default: "",
       type: String,
@@ -172,6 +193,17 @@ export default {
         this.fetchData(); // 调用合并后的函数
       }
     },
+    isShow() {
+      if (this.isShow) {
+        if (!this.isShowDescription) {
+          this.$message({
+            message: "当前分析类型暂无分析,不能进行评论操作",
+            type: "warning",
+          });
+          this.$emit("setIsShow");
+        }
+      }
+    },
   },
   mounted() {
     if (this.initBatchCode && this.analysisTypeCode) {
@@ -182,6 +214,10 @@ export default {
     onSubmit() {
       console.log("submit!");
     },
+    handleClose() {
+      //关闭评论弹框
+      this.$emit("setIsShow");
+    },
     async handleComment() {
       try {
         await analysisCommentEdit({
@@ -200,6 +236,7 @@ export default {
         });
         this.comment = "";
         this.getAnalysisDetail();
+        this.$emit("setIsShow");
       } catch (e) {
         console.error(e);
         this.loading = false;
@@ -387,4 +424,14 @@ export default {
     overflow: hidden;
   }
 }
+.el-dialog__wrapper {
+  position: relative !important;
+}
+::v-deep .el-dialog {
+  position: fixed !important;
+  z-index: 999 !important;
+  top: 50%;
+  left: 50%;
+  transform: translate(0, -50%);
+}
 </style>

+ 66 - 19
src/views/overview/components/production_indicator_unit/index.vue

@@ -1,7 +1,7 @@
 <!--
  * @Author: your name
  * @Date: 2025-01-13 13:44:56
- * @LastEditTime: 2025-01-22 18:02:06
+ * @LastEditTime: 2025-02-10 14:51:35
  * @LastEditors: bogon
  * @Description: In User Settings Edit
  * @FilePath: /performance-test/src/views/overview/components/production_indicator_unit/index.vue
@@ -99,24 +99,41 @@
         </template>
       </div>
       <el-empty description="暂无分析记录" v-else></el-empty>
-      <el-tabs value="first" v-if="isShowDescription">
-        <el-tab-pane label="意见描述" name="first">
-          <TinymceEditor
-            ref="editor"
-            v-model="comment"
-            @input="handleEditorInput($event)"
-            @onClick="onClick"
-          >
-          </TinymceEditor>
-        </el-tab-pane>
-      </el-tabs>
-      <el-row type="flex" class="row-bg" justify="end" v-if="isShowDescription">
-        <el-col :span="2" style="margin: 20px">
-          <el-button type="primary" size="small" @click="handleComment"
-            >提交评论</el-button
-          >
-        </el-col>
-      </el-row>
+      <el-dialog
+        v-if="isShowDescription"
+        title="添加评论"
+        :visible="isShow"
+        width="30%"
+        v-dialogDrag
+        :modal="false"
+        :lock-scroll="false"
+        :modal-append-to-body="false"
+        @close="handleClose"
+      >
+        <el-tabs value="first">
+          <el-tab-pane label="意见描述" name="first">
+            <TinymceEditor
+              ref="editor"
+              v-model="comment"
+              @input="handleEditorInput($event)"
+              @onClick="onClick"
+            >
+            </TinymceEditor>
+          </el-tab-pane>
+        </el-tabs>
+        <el-row
+          type="flex"
+          class="row-bg"
+          justify="end"
+          style="margin: 20px 60px 0 0"
+        >
+          <el-col :span="2">
+            <el-button type="primary" size="small" @click="handleComment"
+              >提交评论</el-button
+            >
+          </el-col>
+        </el-row>
+      </el-dialog>
     </div>
     <div class="right">
       <DicCard
@@ -153,6 +170,10 @@ export default {
       default: "",
       type: String,
     },
+    isShow: {
+      default: false,
+      type: Boolean,
+    },
     analysisTypeCode: {
       default: "",
       type: String,
@@ -223,6 +244,17 @@ export default {
         this.fetchData(); // 调用合并后的函数
       }
     },
+    isShow() {
+      if (this.isShow) {
+        if (!this.isShowDescription) {
+          this.$message({
+            message: "当前分析类型暂无分析,不能进行评论操作",
+            type: "warning",
+          });
+          this.$emit("setIsShow");
+        }
+      }
+    },
   },
   mounted() {
     if (this.initBatchCode && this.analysisTypeCode) {
@@ -233,6 +265,10 @@ export default {
     onSubmit() {
       console.log("submit!");
     },
+    handleClose() {
+      //关闭评论弹框
+      this.$emit("setIsShow");
+    },
     async handleComment() {
       try {
         await analysisCommentEdit({
@@ -251,6 +287,7 @@ export default {
         });
         this.comment = "";
         this.getAnalysisDetail();
+        this.$emit("setIsShow");
       } catch (e) {
         console.error(e);
         this.loading = false;
@@ -439,4 +476,14 @@ export default {
     overflow: hidden;
   }
 }
+.el-dialog__wrapper {
+  position: relative !important;
+}
+::v-deep .el-dialog {
+  position: fixed !important;
+  z-index: 999 !important;
+  top: 50%;
+  left: 50%;
+  transform: translate(0, -50%);
+}
 </style>

+ 66 - 19
src/views/overview/components/rated_power_windspeed/index.vue

@@ -1,7 +1,7 @@
 <!--
  * @Author: your name
  * @Date: 2025-01-09 18:10:47
- * @LastEditTime: 2025-01-21 16:09:55
+ * @LastEditTime: 2025-02-10 14:51:48
  * @LastEditors: bogon
  * @Description: In User Settings Edit
  * @FilePath: /performance-test/src/views/overview/components/rated_power_windspeed/index.vue
@@ -46,24 +46,41 @@
         >
         </BoxLineCharts>
       </VirtualList>
-      <el-tabs value="first" v-if="isShowDescription">
-        <el-tab-pane label="意见描述" name="first">
-          <TinymceEditor
-            ref="editor"
-            v-model="comment"
-            @input="handleEditorInput($event)"
-            @onClick="onClick"
-          >
-          </TinymceEditor>
-        </el-tab-pane>
-      </el-tabs>
-      <el-row type="flex" class="row-bg" justify="end" v-if="isShowDescription">
-        <el-col :span="2" style="margin: 20px">
-          <el-button type="primary" size="small" @click="handleComment"
-            >提交评论</el-button
-          >
-        </el-col>
-      </el-row>
+      <el-dialog
+        v-if="isShowDescription"
+        title="添加评论"
+        :visible="isShow"
+        width="30%"
+        v-dialogDrag
+        :modal="false"
+        :lock-scroll="false"
+        :modal-append-to-body="false"
+        @close="handleClose"
+      >
+        <el-tabs value="first">
+          <el-tab-pane label="意见描述" name="first">
+            <TinymceEditor
+              ref="editor"
+              v-model="comment"
+              @input="handleEditorInput($event)"
+              @onClick="onClick"
+            >
+            </TinymceEditor>
+          </el-tab-pane>
+        </el-tabs>
+        <el-row
+          type="flex"
+          class="row-bg"
+          justify="end"
+          style="margin: 20px 60px 0 0"
+        >
+          <el-col :span="2">
+            <el-button type="primary" size="small" @click="handleComment"
+              >提交评论</el-button
+            >
+          </el-col>
+        </el-row>
+      </el-dialog>
     </div>
     <div class="right">
       <DicCard
@@ -99,6 +116,10 @@ export default {
       default: "",
       type: String,
     },
+    isShow: {
+      default: false,
+      type: Boolean,
+    },
     analysisTypeCode: {
       default: "",
       type: String,
@@ -136,6 +157,17 @@ export default {
         this.fetchData(); // 调用合并后的函数
       }
     },
+    isShow() {
+      if (this.isShow) {
+        if (!this.isShowDescription) {
+          this.$message({
+            message: "当前分析类型暂无分析,不能进行评论操作",
+            type: "warning",
+          });
+          this.$emit("setIsShow");
+        }
+      }
+    },
   },
   mounted() {
     if (this.initBatchCode && this.analysisTypeCode) {
@@ -143,6 +175,10 @@ export default {
     }
   },
   methods: {
+    handleClose() {
+      //关闭评论弹框
+      this.$emit("setIsShow");
+    },
     async handleComment() {
       try {
         await analysisCommentEdit({
@@ -161,6 +197,7 @@ export default {
         });
         this.comment = "";
         this.getAnalysisDetail();
+        this.$emit("setIsShow");
       } catch (e) {
         console.error(e);
         this.loading = false;
@@ -322,6 +359,16 @@ export default {
     overflow: hidden;
   }
 }
+.el-dialog__wrapper {
+  position: relative !important;
+}
+::v-deep .el-dialog {
+  position: fixed !important;
+  z-index: 999 !important;
+  top: 50%;
+  left: 50%;
+  transform: translate(0, -50%);
+}
 .titleCharts {
   font-size: 16px;
   font-weight: 500;

+ 66 - 20
src/views/overview/components/rated_windspeed/index.vue

@@ -1,7 +1,7 @@
 <!--
  * @Author: your name
  * @Date: 2025-01-10 09:08:56
- * @LastEditTime: 2025-01-21 16:11:28
+ * @LastEditTime: 2025-02-10 14:52:04
  * @LastEditors: bogon
  * @Description: In User Settings Edit
  * @FilePath: /performance-test/src/views/overview/components/rated_windspeed/index.vue
@@ -47,24 +47,41 @@
         >
         </BarChart>
       </VirtualList>
-      <el-tabs value="first" v-if="isShowDescription">
-        <el-tab-pane label="意见描述" name="first">
-          <TinymceEditor
-            ref="editor"
-            v-model="comment"
-            @input="handleEditorInput($event)"
-            @onClick="onClick"
-          >
-          </TinymceEditor>
-        </el-tab-pane>
-      </el-tabs>
-      <el-row type="flex" class="row-bg" justify="end" v-if="isShowDescription">
-        <el-col :span="2" style="margin: 20px">
-          <el-button type="primary" size="small" @click="handleComment"
-            >提交评论</el-button
-          >
-        </el-col>
-      </el-row>
+      <el-dialog
+        v-if="isShowDescription"
+        title="添加评论"
+        :visible="isShow"
+        width="30%"
+        v-dialogDrag
+        :modal="false"
+        :lock-scroll="false"
+        :modal-append-to-body="false"
+        @close="handleClose"
+      >
+        <el-tabs value="first">
+          <el-tab-pane label="意见描述" name="first">
+            <TinymceEditor
+              ref="editor"
+              v-model="comment"
+              @input="handleEditorInput($event)"
+              @onClick="onClick"
+            >
+            </TinymceEditor>
+          </el-tab-pane>
+        </el-tabs>
+        <el-row
+          type="flex"
+          class="row-bg"
+          justify="end"
+          style="margin: 20px 60px 0 0"
+        >
+          <el-col :span="2">
+            <el-button type="primary" size="small" @click="handleComment"
+              >提交评论</el-button
+            >
+          </el-col>
+        </el-row>
+      </el-dialog>
     </div>
     <div class="right">
       <DicCard
@@ -100,6 +117,10 @@ export default {
       default: "",
       type: String,
     },
+    isShow: {
+      default: false,
+      type: Boolean,
+    },
     analysisTypeCode: {
       default: "",
       type: String,
@@ -136,6 +157,17 @@ export default {
         this.fetchData(); // 调用合并后的函数
       }
     },
+    isShow() {
+      if (this.isShow) {
+        if (!this.isShowDescription) {
+          this.$message({
+            message: "当前分析类型暂无分析,不能进行评论操作",
+            type: "warning",
+          });
+          this.$emit("setIsShow");
+        }
+      }
+    },
   },
   mounted() {
     if (this.initBatchCode && this.analysisTypeCode) {
@@ -143,6 +175,10 @@ export default {
     }
   },
   methods: {
+    handleClose() {
+      //关闭评论弹框
+      this.$emit("setIsShow");
+    },
     async handleComment() {
       try {
         await analysisCommentEdit({
@@ -161,6 +197,7 @@ export default {
         });
         this.comment = "";
         this.getAnalysisDetail();
+        this.$emit("setIsShow");
       } catch (e) {
         console.error(e);
         this.loading = false;
@@ -315,7 +352,16 @@ export default {
     overflow: hidden;
   }
 }
-
+.el-dialog__wrapper {
+  position: relative !important;
+}
+::v-deep .el-dialog {
+  position: fixed !important;
+  z-index: 999 !important;
+  top: 50%;
+  left: 50%;
+  transform: translate(0, -50%);
+}
 .titleCharts {
   font-size: 16px;
   font-weight: 500;

+ 66 - 19
src/views/overview/components/speed_power/index.vue

@@ -1,7 +1,7 @@
 <!--
  * @Author: your name
  * @Date: 2025-01-10 09:09:17
- * @LastEditTime: 2025-01-23 09:21:14
+ * @LastEditTime: 2025-02-10 14:52:16
  * @LastEditors: bogon
  * @Description: In User Settings Edit
  * @FilePath: /performance-test/src/views/overview/components/speed_power/index.vue
@@ -71,24 +71,41 @@
         </Time3DChart>
       </VirtualList>
 
-      <el-tabs value="first" v-if="isShowDescription">
-        <el-tab-pane label="意见描述" name="first">
-          <TinymceEditor
-            ref="editor"
-            v-model="comment"
-            @input="handleEditorInput($event)"
-            @onClick="onClick"
-          >
-          </TinymceEditor>
-        </el-tab-pane>
-      </el-tabs>
-      <el-row type="flex" class="row-bg" justify="end" v-if="isShowDescription">
-        <el-col :span="2" style="margin: 20px">
-          <el-button type="primary" size="small" @click="handleComment"
-            >提交评论</el-button
-          >
-        </el-col>
-      </el-row>
+      <el-dialog
+        v-if="isShowDescription"
+        title="添加评论"
+        :visible="isShow"
+        width="30%"
+        v-dialogDrag
+        :modal="false"
+        :lock-scroll="false"
+        :modal-append-to-body="false"
+        @close="handleClose"
+      >
+        <el-tabs value="first">
+          <el-tab-pane label="意见描述" name="first">
+            <TinymceEditor
+              ref="editor"
+              v-model="comment"
+              @input="handleEditorInput($event)"
+              @onClick="onClick"
+            >
+            </TinymceEditor>
+          </el-tab-pane>
+        </el-tabs>
+        <el-row
+          type="flex"
+          class="row-bg"
+          justify="end"
+          style="margin: 20px 60px 0 0"
+        >
+          <el-col :span="2">
+            <el-button type="primary" size="small" @click="handleComment"
+              >提交评论</el-button
+            >
+          </el-col>
+        </el-row>
+      </el-dialog>
     </div>
     <div class="right">
       <DicCard
@@ -128,6 +145,10 @@ export default {
       default: "",
       type: String,
     },
+    isShow: {
+      default: false,
+      type: Boolean,
+    },
     analysisTypeCode: {
       default: "",
       type: String,
@@ -166,6 +187,17 @@ export default {
         this.fetchData(); // 调用合并后的函数
       }
     },
+    isShow() {
+      if (this.isShow) {
+        if (!this.isShowDescription) {
+          this.$message({
+            message: "当前分析类型暂无分析,不能进行评论操作",
+            type: "warning",
+          });
+          this.$emit("setIsShow");
+        }
+      }
+    },
   },
   mounted() {
     if (this.initBatchCode && this.analysisTypeCode) {
@@ -173,6 +205,10 @@ export default {
     }
   },
   methods: {
+    handleClose() {
+      //关闭评论弹框
+      this.$emit("setIsShow");
+    },
     async handleComment() {
       try {
         await analysisCommentEdit({
@@ -191,6 +227,7 @@ export default {
         });
         this.comment = "";
         this.getAnalysisDetail();
+        this.$emit("setIsShow");
       } catch (e) {
         console.error(e);
         this.loading = false;
@@ -397,6 +434,16 @@ export default {
     overflow: hidden;
   }
 }
+.el-dialog__wrapper {
+  position: relative !important;
+}
+::v-deep .el-dialog {
+  position: fixed !important;
+  z-index: 999 !important;
+  top: 50%;
+  left: 50%;
+  transform: translate(0, -50%);
+}
 .titleCharts {
   font-size: 16px;
   font-weight: 500;

+ 65 - 18
src/views/overview/components/speed_torque/index.vue

@@ -74,24 +74,41 @@
         </Time3DChart>
       </VirtualList>
 
-      <el-tabs value="first" v-if="isShowDescription">
-        <el-tab-pane label="意见描述" name="first">
-          <TinymceEditor
-            ref="editor"
-            v-model="comment"
-            @input="handleEditorInput($event)"
-            @onClick="onClick"
-          >
-          </TinymceEditor>
-        </el-tab-pane>
-      </el-tabs>
-      <el-row type="flex" class="row-bg" justify="end" v-if="isShowDescription">
-        <el-col :span="2" style="margin: 20px">
-          <el-button type="primary" size="small" @click="handleComment"
-            >提交评论</el-button
-          >
-        </el-col>
-      </el-row>
+      <el-dialog
+        v-if="isShowDescription"
+        title="添加评论"
+        :visible="isShow"
+        width="30%"
+        v-dialogDrag
+        :modal="false"
+        :lock-scroll="false"
+        :modal-append-to-body="false"
+        @close="handleClose"
+      >
+        <el-tabs value="first">
+          <el-tab-pane label="意见描述" name="first">
+            <TinymceEditor
+              ref="editor"
+              v-model="comment"
+              @input="handleEditorInput($event)"
+              @onClick="onClick"
+            >
+            </TinymceEditor>
+          </el-tab-pane>
+        </el-tabs>
+        <el-row
+          type="flex"
+          class="row-bg"
+          justify="end"
+          style="margin: 20px 60px 0 0"
+        >
+          <el-col :span="2">
+            <el-button type="primary" size="small" @click="handleComment"
+              >提交评论</el-button
+            >
+          </el-col>
+        </el-row>
+      </el-dialog>
     </div>
     <div class="right">
       <DicCard
@@ -131,6 +148,10 @@ export default {
       default: "",
       type: String,
     },
+    isShow: {
+      default: false,
+      type: Boolean,
+    },
     analysisTypeCode: {
       default: "",
       type: String,
@@ -171,6 +192,17 @@ export default {
         this.fetchData(); // 调用合并后的函数
       }
     },
+    isShow() {
+      if (this.isShow) {
+        if (!this.isShowDescription) {
+          this.$message({
+            message: "当前分析类型暂无分析,不能进行评论操作",
+            type: "warning",
+          });
+          this.$emit("setIsShow");
+        }
+      }
+    },
   },
   mounted() {
     if (this.initBatchCode && this.analysisTypeCode) {
@@ -178,6 +210,10 @@ export default {
     }
   },
   methods: {
+    handleClose() {
+      //关闭评论弹框
+      this.$emit("setIsShow");
+    },
     async handleComment() {
       try {
         await analysisCommentEdit({
@@ -196,6 +232,7 @@ export default {
         });
         this.comment = "";
         this.getAnalysisDetail();
+        this.$emit("setIsShow");
       } catch (e) {
         console.error(e);
         this.loading = false;
@@ -404,6 +441,16 @@ export default {
     overflow: hidden;
   }
 }
+.el-dialog__wrapper {
+  position: relative !important;
+}
+::v-deep .el-dialog {
+  position: fixed !important;
+  z-index: 999 !important;
+  top: 50%;
+  left: 50%;
+  transform: translate(0, -50%);
+}
 .titleCharts {
   font-size: 16px;
   font-weight: 500;

+ 66 - 20
src/views/overview/components/temperature_environment/index.vue

@@ -1,7 +1,7 @@
 <!--
  * @Author: your name
  * @Date: 2025-01-10 09:09:46
- * @LastEditTime: 2025-01-21 16:09:31
+ * @LastEditTime: 2025-02-10 14:52:35
  * @LastEditors: bogon
  * @Description: In User Settings Edit
  * @FilePath: /performance-test/src/views/overview/components/temperature_environment/index.vue
@@ -78,24 +78,41 @@
         v-slot="{ item, index }"
       >
       </VirtualList> -->
-      <el-tabs value="first" v-if="isShowDescription">
-        <el-tab-pane label="意见描述" name="first">
-          <TinymceEditor
-            ref="editor"
-            v-model="comment"
-            @input="handleEditorInput($event)"
-            @onClick="onClick"
-          >
-          </TinymceEditor>
-        </el-tab-pane>
-      </el-tabs>
-      <el-row type="flex" class="row-bg" justify="end" v-if="isShowDescription">
-        <el-col :span="2" style="margin: 20px">
-          <el-button type="primary" size="small" @click="handleComment"
-            >提交评论</el-button
-          >
-        </el-col>
-      </el-row>
+      <el-dialog
+        v-if="isShowDescription"
+        title="添加评论"
+        :visible="isShow"
+        width="30%"
+        v-dialogDrag
+        :modal="false"
+        :lock-scroll="false"
+        :modal-append-to-body="false"
+        @close="handleClose"
+      >
+        <el-tabs value="first">
+          <el-tab-pane label="意见描述" name="first">
+            <TinymceEditor
+              ref="editor"
+              v-model="comment"
+              @input="handleEditorInput($event)"
+              @onClick="onClick"
+            >
+            </TinymceEditor>
+          </el-tab-pane>
+        </el-tabs>
+        <el-row
+          type="flex"
+          class="row-bg"
+          justify="end"
+          style="margin: 20px 60px 0 0"
+        >
+          <el-col :span="2">
+            <el-button type="primary" size="small" @click="handleComment"
+              >提交评论</el-button
+            >
+          </el-col>
+        </el-row>
+      </el-dialog>
     </div>
     <div class="right">
       <DicCard
@@ -131,6 +148,10 @@ export default {
       default: "",
       type: String,
     },
+    isShow: {
+      default: false,
+      type: Boolean,
+    },
     analysisTypeCode: {
       default: "",
       type: String,
@@ -167,6 +188,17 @@ export default {
         this.fetchData(); // 调用合并后的函数
       }
     },
+    isShow() {
+      if (this.isShow) {
+        if (!this.isShowDescription) {
+          this.$message({
+            message: "当前分析类型暂无分析,不能进行评论操作",
+            type: "warning",
+          });
+          this.$emit("setIsShow");
+        }
+      }
+    },
   },
   mounted() {
     if (this.initBatchCode && this.analysisTypeCode) {
@@ -174,6 +206,10 @@ export default {
     }
   },
   methods: {
+    handleClose() {
+      //关闭评论弹框
+      this.$emit("setIsShow");
+    },
     async handleComment() {
       try {
         await analysisCommentEdit({
@@ -192,6 +228,7 @@ export default {
         });
         this.comment = "";
         this.getAnalysisDetail();
+        this.$emit("setIsShow");
       } catch (e) {
         console.error(e);
         this.loading = false;
@@ -346,7 +383,16 @@ export default {
     overflow: hidden;
   }
 }
-
+.el-dialog__wrapper {
+  position: relative !important;
+}
+::v-deep .el-dialog {
+  position: fixed !important;
+  z-index: 999 !important;
+  top: 50%;
+  left: 50%;
+  transform: translate(0, -50%);
+}
 .titleCharts {
   font-size: 16px;
   font-weight: 500;

+ 66 - 20
src/views/overview/components/temperature_large_components_Winding_tem/index.vue

@@ -1,7 +1,7 @@
 <!--
  * @Author: your name
  * @Date: 2025-01-21 10:04:11
- * @LastEditTime: 2025-01-21 16:08:50
+ * @LastEditTime: 2025-02-10 14:53:44
  * @LastEditors: bogon
  * @Description: In User Settings Edit
  * @FilePath: /performance-test/src/views/overview/components/temperature_large_components_Winding_tem/index.vue
@@ -77,24 +77,41 @@
         >
         </lineChartsFen>
       </div>
-      <el-tabs value="first" v-if="isShowDescription">
-        <el-tab-pane label="意见描述" name="first">
-          <TinymceEditor
-            ref="editor"
-            v-model="comment"
-            @input="handleEditorInput($event)"
-            @onClick="onClick"
-          >
-          </TinymceEditor>
-        </el-tab-pane>
-      </el-tabs>
-      <el-row type="flex" class="row-bg" justify="end" v-if="isShowDescription">
-        <el-col :span="2" style="margin: 20px">
-          <el-button type="primary" size="small" @click="handleComment"
-            >提交评论</el-button
-          >
-        </el-col>
-      </el-row>
+      <el-dialog
+        v-if="isShowDescription"
+        title="添加评论"
+        :visible="isShow"
+        width="30%"
+        v-dialogDrag
+        :modal="false"
+        :lock-scroll="false"
+        :modal-append-to-body="false"
+        @close="handleClose"
+      >
+        <el-tabs value="first">
+          <el-tab-pane label="意见描述" name="first">
+            <TinymceEditor
+              ref="editor"
+              v-model="comment"
+              @input="handleEditorInput($event)"
+              @onClick="onClick"
+            >
+            </TinymceEditor>
+          </el-tab-pane>
+        </el-tabs>
+        <el-row
+          type="flex"
+          class="row-bg"
+          justify="end"
+          style="margin: 20px 60px 0 0"
+        >
+          <el-col :span="2">
+            <el-button type="primary" size="small" @click="handleComment"
+              >提交评论</el-button
+            >
+          </el-col>
+        </el-row>
+      </el-dialog>
     </div>
     <div class="right">
       <DicCard
@@ -132,6 +149,10 @@ export default {
       default: "",
       type: String,
     },
+    isShow: {
+      default: false,
+      type: Boolean,
+    },
     analysisTypeCode: {
       default: "",
       type: String,
@@ -158,6 +179,17 @@ export default {
     };
   },
   watch: {
+    isShow() {
+      if (this.isShow) {
+        if (!this.isShowDescription) {
+          this.$message({
+            message: "当前分析类型暂无分析,不能进行评论操作",
+            type: "warning",
+          });
+          this.$emit("setIsShow");
+        }
+      }
+    },
     initBatchCode(newVal) {
       if (newVal) {
         this.fetchData(); // 调用合并后的函数
@@ -175,6 +207,10 @@ export default {
     }
   },
   methods: {
+    handleClose() {
+      //关闭评论弹框
+      this.$emit("setIsShow");
+    },
     async handleComment() {
       try {
         await analysisCommentEdit({
@@ -193,6 +229,7 @@ export default {
         });
         this.comment = "";
         this.getAnalysisDetail();
+        this.$emit("setIsShow");
       } catch (e) {
         console.error(e);
         this.loading = false;
@@ -354,7 +391,16 @@ export default {
     overflow: hidden;
   }
 }
-
+.el-dialog__wrapper {
+  position: relative !important;
+}
+::v-deep .el-dialog {
+  position: fixed !important;
+  z-index: 999 !important;
+  top: 50%;
+  left: 50%;
+  transform: translate(0, -50%);
+}
 .titleCharts {
   font-size: 16px;
   font-weight: 500;

+ 66 - 20
src/views/overview/components/temperature_large_components_adriven/index.vue

@@ -1,7 +1,7 @@
 <!--
  * @Author: your name
  * @Date: 2025-01-21 10:01:52
- * @LastEditTime: 2025-01-21 16:11:53
+ * @LastEditTime: 2025-02-10 14:52:45
  * @LastEditors: bogon
  * @Description: In User Settings Edit
  * @FilePath: /performance-test/src/views/overview/components/temperature_large_components_adriven/index.vue
@@ -78,24 +78,41 @@
         >
         </lineChartsFen>
       </div>
-      <el-tabs value="first" v-if="isShowDescription">
-        <el-tab-pane label="意见描述" name="first">
-          <TinymceEditor
-            ref="editor"
-            v-model="comment"
-            @input="handleEditorInput($event)"
-            @onClick="onClick"
-          >
-          </TinymceEditor>
-        </el-tab-pane>
-      </el-tabs>
-      <el-row type="flex" class="row-bg" justify="end" v-if="isShowDescription">
-        <el-col :span="2" style="margin: 20px">
-          <el-button type="primary" size="small" @click="handleComment"
-            >提交评论</el-button
-          >
-        </el-col>
-      </el-row>
+      <el-dialog
+        v-if="isShowDescription"
+        title="添加评论"
+        :visible="isShow"
+        width="30%"
+        v-dialogDrag
+        :modal="false"
+        :lock-scroll="false"
+        :modal-append-to-body="false"
+        @close="handleClose"
+      >
+        <el-tabs value="first">
+          <el-tab-pane label="意见描述" name="first">
+            <TinymceEditor
+              ref="editor"
+              v-model="comment"
+              @input="handleEditorInput($event)"
+              @onClick="onClick"
+            >
+            </TinymceEditor>
+          </el-tab-pane>
+        </el-tabs>
+        <el-row
+          type="flex"
+          class="row-bg"
+          justify="end"
+          style="margin: 20px 60px 0 0"
+        >
+          <el-col :span="2">
+            <el-button type="primary" size="small" @click="handleComment"
+              >提交评论</el-button
+            >
+          </el-col>
+        </el-row>
+      </el-dialog>
     </div>
     <div class="right">
       <DicCard
@@ -133,6 +150,10 @@ export default {
       default: "",
       type: String,
     },
+    isShow: {
+      default: false,
+      type: Boolean,
+    },
     analysisTypeCode: {
       default: "",
       type: String,
@@ -164,6 +185,17 @@ export default {
         this.fetchData(); // 调用合并后的函数
       }
     },
+    isShow() {
+      if (this.isShow) {
+        if (!this.isShowDescription) {
+          this.$message({
+            message: "当前分析类型暂无分析,不能进行评论操作",
+            type: "warning",
+          });
+          this.$emit("setIsShow");
+        }
+      }
+    },
     analysisTypeCode(newVal) {
       if (newVal) {
         this.fetchData(); // 调用合并后的函数
@@ -176,6 +208,10 @@ export default {
     }
   },
   methods: {
+    handleClose() {
+      //关闭评论弹框
+      this.$emit("setIsShow");
+    },
     async handleComment() {
       try {
         await analysisCommentEdit({
@@ -194,6 +230,7 @@ export default {
         });
         this.comment = "";
         this.getAnalysisDetail();
+        this.$emit("setIsShow");
       } catch (e) {
         console.error(e);
         this.loading = false;
@@ -355,7 +392,16 @@ export default {
     overflow: hidden;
   }
 }
-
+.el-dialog__wrapper {
+  position: relative !important;
+}
+::v-deep .el-dialog {
+  position: fixed !important;
+  z-index: 999 !important;
+  top: 50%;
+  left: 50%;
+  transform: translate(0, -50%);
+}
 .titleCharts {
   font-size: 16px;
   font-weight: 500;

+ 66 - 20
src/views/overview/components/temperature_large_components_hig/index.vue

@@ -1,7 +1,7 @@
 <!--
  * @Author: your name
  * @Date: 2025-01-21 09:58:32
- * @LastEditTime: 2025-01-21 16:09:20
+ * @LastEditTime: 2025-02-10 14:52:53
  * @LastEditors: bogon
  * @Description: In User Settings Edit
  * @FilePath: /performance-test/src/views/overview/components/temperature_large_components_hig/index.vue
@@ -78,24 +78,41 @@
         >
         </lineChartsFen>
       </div>
-      <el-tabs value="first" v-if="isShowDescription">
-        <el-tab-pane label="意见描述" name="first">
-          <TinymceEditor
-            ref="editor"
-            v-model="comment"
-            @input="handleEditorInput($event)"
-            @onClick="onClick"
-          >
-          </TinymceEditor>
-        </el-tab-pane>
-      </el-tabs>
-      <el-row type="flex" class="row-bg" justify="end" v-if="isShowDescription">
-        <el-col :span="2" style="margin: 20px">
-          <el-button type="primary" size="small" @click="handleComment"
-            >提交评论</el-button
-          >
-        </el-col>
-      </el-row>
+      <el-dialog
+        v-if="isShowDescription"
+        title="添加评论"
+        :visible="isShow"
+        width="30%"
+        v-dialogDrag
+        :modal="false"
+        :lock-scroll="false"
+        :modal-append-to-body="false"
+        @close="handleClose"
+      >
+        <el-tabs value="first">
+          <el-tab-pane label="意见描述" name="first">
+            <TinymceEditor
+              ref="editor"
+              v-model="comment"
+              @input="handleEditorInput($event)"
+              @onClick="onClick"
+            >
+            </TinymceEditor>
+          </el-tab-pane>
+        </el-tabs>
+        <el-row
+          type="flex"
+          class="row-bg"
+          justify="end"
+          style="margin: 20px 60px 0 0"
+        >
+          <el-col :span="2">
+            <el-button type="primary" size="small" @click="handleComment"
+              >提交评论</el-button
+            >
+          </el-col>
+        </el-row>
+      </el-dialog>
     </div>
     <div class="right">
       <DicCard
@@ -133,6 +150,10 @@ export default {
       default: "",
       type: String,
     },
+    isShow: {
+      default: false,
+      type: Boolean,
+    },
     analysisTypeCode: {
       default: "",
       type: String,
@@ -164,6 +185,17 @@ export default {
         this.fetchData(); // 调用合并后的函数
       }
     },
+    isShow() {
+      if (this.isShow) {
+        if (!this.isShowDescription) {
+          this.$message({
+            message: "当前分析类型暂无分析,不能进行评论操作",
+            type: "warning",
+          });
+          this.$emit("setIsShow");
+        }
+      }
+    },
     analysisTypeCode(newVal) {
       if (newVal) {
         this.fetchData(); // 调用合并后的函数
@@ -176,6 +208,10 @@ export default {
     }
   },
   methods: {
+    handleClose() {
+      //关闭评论弹框
+      this.$emit("setIsShow");
+    },
     async handleComment() {
       try {
         await analysisCommentEdit({
@@ -194,6 +230,7 @@ export default {
         });
         this.comment = "";
         this.getAnalysisDetail();
+        this.$emit("setIsShow");
       } catch (e) {
         console.error(e);
         this.loading = false;
@@ -359,7 +396,16 @@ export default {
     overflow: hidden;
   }
 }
-
+.el-dialog__wrapper {
+  position: relative !important;
+}
+::v-deep .el-dialog {
+  position: fixed !important;
+  z-index: 999 !important;
+  top: 50%;
+  left: 50%;
+  transform: translate(0, -50%);
+}
 .titleCharts {
   font-size: 16px;
   font-weight: 500;

+ 66 - 20
src/views/overview/components/temperature_large_components_low/index.vue

@@ -1,7 +1,7 @@
 <!--
  * @Author: your name
  * @Date: 2025-01-21 10:00:25
- * @LastEditTime: 2025-01-21 16:12:04
+ * @LastEditTime: 2025-02-10 14:53:01
  * @LastEditors: bogon
  * @Description: In User Settings Edit
  * @FilePath: /performance-test/src/views/overview/components/temperature_large_components_low/index.vue
@@ -78,24 +78,41 @@
         >
         </lineChartsFen>
       </div>
-      <el-tabs value="first" v-if="isShowDescription">
-        <el-tab-pane label="意见描述" name="first">
-          <TinymceEditor
-            ref="editor"
-            v-model="comment"
-            @input="handleEditorInput($event)"
-            @onClick="onClick"
-          >
-          </TinymceEditor>
-        </el-tab-pane>
-      </el-tabs>
-      <el-row type="flex" class="row-bg" justify="end" v-if="isShowDescription">
-        <el-col :span="2" style="margin: 20px">
-          <el-button type="primary" size="small" @click="handleComment"
-            >提交评论</el-button
-          >
-        </el-col>
-      </el-row>
+      <el-dialog
+        v-if="isShowDescription"
+        title="添加评论"
+        :visible="isShow"
+        width="30%"
+        v-dialogDrag
+        :modal="false"
+        :lock-scroll="false"
+        :modal-append-to-body="false"
+        @close="handleClose"
+      >
+        <el-tabs value="first">
+          <el-tab-pane label="意见描述" name="first">
+            <TinymceEditor
+              ref="editor"
+              v-model="comment"
+              @input="handleEditorInput($event)"
+              @onClick="onClick"
+            >
+            </TinymceEditor>
+          </el-tab-pane>
+        </el-tabs>
+        <el-row
+          type="flex"
+          class="row-bg"
+          justify="end"
+          style="margin: 20px 60px 0 0"
+        >
+          <el-col :span="2">
+            <el-button type="primary" size="small" @click="handleComment"
+              >提交评论</el-button
+            >
+          </el-col>
+        </el-row>
+      </el-dialog>
     </div>
     <div class="right">
       <DicCard
@@ -133,6 +150,10 @@ export default {
       default: "",
       type: String,
     },
+    isShow: {
+      default: false,
+      type: Boolean,
+    },
     analysisTypeCode: {
       default: "",
       type: String,
@@ -159,6 +180,17 @@ export default {
     };
   },
   watch: {
+    isShow() {
+      if (this.isShow) {
+        if (!this.isShowDescription) {
+          this.$message({
+            message: "当前分析类型暂无分析,不能进行评论操作",
+            type: "warning",
+          });
+          this.$emit("setIsShow");
+        }
+      }
+    },
     initBatchCode(newVal) {
       if (newVal) {
         this.fetchData(); // 调用合并后的函数
@@ -176,6 +208,10 @@ export default {
     }
   },
   methods: {
+    handleClose() {
+      //关闭评论弹框
+      this.$emit("setIsShow");
+    },
     async handleComment() {
       try {
         await analysisCommentEdit({
@@ -194,6 +230,7 @@ export default {
         });
         this.comment = "";
         this.getAnalysisDetail();
+        this.$emit("setIsShow");
       } catch (e) {
         console.error(e);
         this.loading = false;
@@ -359,7 +396,16 @@ export default {
     overflow: hidden;
   }
 }
-
+.el-dialog__wrapper {
+  position: relative !important;
+}
+::v-deep .el-dialog {
+  position: fixed !important;
+  z-index: 999 !important;
+  top: 50%;
+  left: 50%;
+  transform: translate(0, -50%);
+}
 .titleCharts {
   font-size: 16px;
   font-weight: 500;

+ 67 - 20
src/views/overview/components/temperature_large_components_mid/index.vue

@@ -1,7 +1,7 @@
 <!--
  * @Author: your name
  * @Date: 2025-01-21 09:59:43
- * @LastEditTime: 2025-01-21 16:12:12
+ * @LastEditTime: 2025-02-10 14:53:09
  * @LastEditors: bogon
  * @Description: In User Settings Edit
  * @FilePath: /performance-test/src/views/overview/components/temperature_large_components_mid/index.vue
@@ -78,24 +78,41 @@
         >
         </lineChartsFen>
       </div>
-      <el-tabs value="first" v-if="isShowDescription">
-        <el-tab-pane label="意见描述" name="first">
-          <TinymceEditor
-            ref="editor"
-            v-model="comment"
-            @input="handleEditorInput($event)"
-            @onClick="onClick"
-          >
-          </TinymceEditor>
-        </el-tab-pane>
-      </el-tabs>
-      <el-row type="flex" class="row-bg" justify="end" v-if="isShowDescription">
-        <el-col :span="2" style="margin: 20px">
-          <el-button type="primary" size="small" @click="handleComment"
-            >提交评论</el-button
-          >
-        </el-col>
-      </el-row>
+      <el-dialog
+        v-if="isShowDescription"
+        title="添加评论"
+        :visible="isShow"
+        width="30%"
+        v-dialogDrag
+        :modal="false"
+        :lock-scroll="false"
+        :modal-append-to-body="false"
+        @close="handleClose"
+      >
+        <el-tabs value="first">
+          <el-tab-pane label="意见描述" name="first">
+            <TinymceEditor
+              ref="editor"
+              v-model="comment"
+              @input="handleEditorInput($event)"
+              @onClick="onClick"
+            >
+            </TinymceEditor>
+          </el-tab-pane>
+        </el-tabs>
+        <el-row
+          type="flex"
+          class="row-bg"
+          justify="end"
+          style="margin: 20px 60px 0 0"
+        >
+          <el-col :span="2">
+            <el-button type="primary" size="small" @click="handleComment"
+              >提交评论</el-button
+            >
+          </el-col>
+        </el-row>
+      </el-dialog>
     </div>
     <div class="right">
       <DicCard
@@ -133,6 +150,10 @@ export default {
       default: "",
       type: String,
     },
+    isShow: {
+      default: false,
+      type: Boolean,
+    },
     analysisTypeCode: {
       default: "",
       type: String,
@@ -159,6 +180,17 @@ export default {
     };
   },
   watch: {
+    isShow() {
+      if (this.isShow) {
+        if (!this.isShowDescription) {
+          this.$message({
+            message: "当前分析类型暂无分析,不能进行评论操作",
+            type: "warning",
+          });
+          this.$emit("setIsShow");
+        }
+      }
+    },
     initBatchCode(newVal) {
       if (newVal) {
         this.fetchData(); // 调用合并后的函数
@@ -176,6 +208,11 @@ export default {
     }
   },
   methods: {
+    handleClose() {
+      //关闭评论弹框
+      this.$emit("setIsShow");
+    },
+
     async handleComment() {
       try {
         await analysisCommentEdit({
@@ -194,6 +231,7 @@ export default {
         });
         this.comment = "";
         this.getAnalysisDetail();
+        this.$emit("setIsShow");
       } catch (e) {
         console.error(e);
         this.loading = false;
@@ -360,7 +398,16 @@ export default {
     overflow: hidden;
   }
 }
-
+.el-dialog__wrapper {
+  position: relative !important;
+}
+::v-deep .el-dialog {
+  position: fixed !important;
+  z-index: 999 !important;
+  top: 50%;
+  left: 50%;
+  transform: translate(0, -50%);
+}
 .titleCharts {
   font-size: 16px;
   font-weight: 500;

+ 66 - 20
src/views/overview/components/temperature_large_components_min/index.vue

@@ -1,7 +1,7 @@
 <!--
  * @Author: your name
  * @Date: 2025-01-21 10:01:06
- * @LastEditTime: 2025-01-21 16:12:21
+ * @LastEditTime: 2025-02-10 14:53:19
  * @LastEditors: bogon
  * @Description: In User Settings Edit
  * @FilePath: /performance-test/src/views/overview/components/temperature_large_components_min/index.vue
@@ -78,24 +78,41 @@
         >
         </lineChartsFen>
       </div>
-      <el-tabs value="first" v-if="isShowDescription">
-        <el-tab-pane label="意见描述" name="first">
-          <TinymceEditor
-            ref="editor"
-            v-model="comment"
-            @input="handleEditorInput($event)"
-            @onClick="onClick"
-          >
-          </TinymceEditor>
-        </el-tab-pane>
-      </el-tabs>
-      <el-row type="flex" class="row-bg" justify="end" v-if="isShowDescription">
-        <el-col :span="2" style="margin: 20px">
-          <el-button type="primary" size="small" @click="handleComment"
-            >提交评论</el-button
-          >
-        </el-col>
-      </el-row>
+      <el-dialog
+        v-if="isShowDescription"
+        title="添加评论"
+        :visible="isShow"
+        width="30%"
+        v-dialogDrag
+        :modal="false"
+        :lock-scroll="false"
+        :modal-append-to-body="false"
+        @close="handleClose"
+      >
+        <el-tabs value="first">
+          <el-tab-pane label="意见描述" name="first">
+            <TinymceEditor
+              ref="editor"
+              v-model="comment"
+              @input="handleEditorInput($event)"
+              @onClick="onClick"
+            >
+            </TinymceEditor>
+          </el-tab-pane>
+        </el-tabs>
+        <el-row
+          type="flex"
+          class="row-bg"
+          justify="end"
+          style="margin: 20px 60px 0 0"
+        >
+          <el-col :span="2">
+            <el-button type="primary" size="small" @click="handleComment"
+              >提交评论</el-button
+            >
+          </el-col>
+        </el-row>
+      </el-dialog>
     </div>
     <div class="right">
       <DicCard
@@ -133,6 +150,10 @@ export default {
       default: "",
       type: String,
     },
+    isShow: {
+      default: false,
+      type: Boolean,
+    },
     analysisTypeCode: {
       default: "",
       type: String,
@@ -159,6 +180,17 @@ export default {
     };
   },
   watch: {
+    isShow() {
+      if (this.isShow) {
+        if (!this.isShowDescription) {
+          this.$message({
+            message: "当前分析类型暂无分析,不能进行评论操作",
+            type: "warning",
+          });
+          this.$emit("setIsShow");
+        }
+      }
+    },
     initBatchCode(newVal) {
       if (newVal) {
         this.fetchData(); // 调用合并后的函数
@@ -176,6 +208,10 @@ export default {
     }
   },
   methods: {
+    handleClose() {
+      //关闭评论弹框
+      this.$emit("setIsShow");
+    },
     async handleComment() {
       try {
         await analysisCommentEdit({
@@ -194,6 +230,7 @@ export default {
         });
         this.comment = "";
         this.getAnalysisDetail();
+        this.$emit("setIsShow");
       } catch (e) {
         console.error(e);
         this.loading = false;
@@ -355,7 +392,16 @@ export default {
     overflow: hidden;
   }
 }
-
+.el-dialog__wrapper {
+  position: relative !important;
+}
+::v-deep .el-dialog {
+  position: fixed !important;
+  z-index: 999 !important;
+  top: 50%;
+  left: 50%;
+  transform: translate(0, -50%);
+}
 .titleCharts {
   font-size: 16px;
   font-weight: 500;

+ 66 - 20
src/views/overview/components/temperature_large_components_tem_deviation/index.vue

@@ -1,7 +1,7 @@
 <!--
  * @Author: your name
  * @Date: 2025-01-21 10:03:27
- * @LastEditTime: 2025-01-21 16:09:00
+ * @LastEditTime: 2025-02-10 14:53:29
  * @LastEditors: bogon
  * @Description: In User Settings Edit
  * @FilePath: /performance-test/src/views/overview/components/temperature_large_components_tem_deviation/index.vue
@@ -60,24 +60,41 @@
         >
         </GeneratorTemperature>
       </div>
-      <el-tabs value="first" v-if="isShowDescription">
-        <el-tab-pane label="意见描述" name="first">
-          <TinymceEditor
-            ref="editor"
-            v-model="comment"
-            @input="handleEditorInput($event)"
-            @onClick="onClick"
-          >
-          </TinymceEditor>
-        </el-tab-pane>
-      </el-tabs>
-      <el-row type="flex" class="row-bg" justify="end" v-if="isShowDescription">
-        <el-col :span="2" style="margin: 20px">
-          <el-button type="primary" size="small" @click="handleComment"
-            >提交评论</el-button
-          >
-        </el-col>
-      </el-row>
+      <el-dialog
+        v-if="isShowDescription"
+        title="添加评论"
+        :visible="isShow"
+        width="30%"
+        v-dialogDrag
+        :modal="false"
+        :lock-scroll="false"
+        :modal-append-to-body="false"
+        @close="handleClose"
+      >
+        <el-tabs value="first">
+          <el-tab-pane label="意见描述" name="first">
+            <TinymceEditor
+              ref="editor"
+              v-model="comment"
+              @input="handleEditorInput($event)"
+              @onClick="onClick"
+            >
+            </TinymceEditor>
+          </el-tab-pane>
+        </el-tabs>
+        <el-row
+          type="flex"
+          class="row-bg"
+          justify="end"
+          style="margin: 20px 60px 0 0"
+        >
+          <el-col :span="2">
+            <el-button type="primary" size="small" @click="handleComment"
+              >提交评论</el-button
+            >
+          </el-col>
+        </el-row>
+      </el-dialog>
     </div>
     <div class="right">
       <DicCard
@@ -115,6 +132,10 @@ export default {
       default: "",
       type: String,
     },
+    isShow: {
+      default: false,
+      type: Boolean,
+    },
     analysisTypeCode: {
       default: "",
       type: String,
@@ -141,6 +162,17 @@ export default {
     };
   },
   watch: {
+    isShow() {
+      if (this.isShow) {
+        if (!this.isShowDescription) {
+          this.$message({
+            message: "当前分析类型暂无分析,不能进行评论操作",
+            type: "warning",
+          });
+          this.$emit("setIsShow");
+        }
+      }
+    },
     initBatchCode(newVal) {
       if (newVal) {
         this.fetchData(); // 调用合并后的函数
@@ -158,6 +190,10 @@ export default {
     }
   },
   methods: {
+    handleClose() {
+      //关闭评论弹框
+      this.$emit("setIsShow");
+    },
     async handleComment() {
       try {
         await analysisCommentEdit({
@@ -176,6 +212,7 @@ export default {
         });
         this.comment = "";
         this.getAnalysisDetail();
+        this.$emit("setIsShow");
       } catch (e) {
         console.error(e);
         this.loading = false;
@@ -337,7 +374,16 @@ export default {
     overflow: hidden;
   }
 }
-
+.el-dialog__wrapper {
+  position: relative !important;
+}
+::v-deep .el-dialog {
+  position: fixed !important;
+  z-index: 999 !important;
+  top: 50%;
+  left: 50%;
+  transform: translate(0, -50%);
+}
 .titleCharts {
   font-size: 16px;
   font-weight: 500;

+ 66 - 20
src/views/overview/components/temperature_large_components_undriven/index.vue

@@ -1,7 +1,7 @@
 <!--
  * @Author: your name
  * @Date: 2025-01-21 10:02:36
- * @LastEditTime: 2025-01-21 16:12:36
+ * @LastEditTime: 2025-02-10 14:53:36
  * @LastEditors: bogon
  * @Description: In User Settings Edit
  * @FilePath: /performance-test/src/views/overview/components/temperature_large_components_undriven/index.vue
@@ -78,24 +78,41 @@
         >
         </lineChartsFen>
       </div>
-      <el-tabs value="first" v-if="isShowDescription">
-        <el-tab-pane label="意见描述" name="first">
-          <TinymceEditor
-            ref="editor"
-            v-model="comment"
-            @input="handleEditorInput($event)"
-            @onClick="onClick"
-          >
-          </TinymceEditor>
-        </el-tab-pane>
-      </el-tabs>
-      <el-row type="flex" class="row-bg" justify="end" v-if="isShowDescription">
-        <el-col :span="2" style="margin: 20px">
-          <el-button type="primary" size="small" @click="handleComment"
-            >提交评论</el-button
-          >
-        </el-col>
-      </el-row>
+      <el-dialog
+        v-if="isShowDescription"
+        title="添加评论"
+        :visible="isShow"
+        width="30%"
+        v-dialogDrag
+        :modal="false"
+        :lock-scroll="false"
+        :modal-append-to-body="false"
+        @close="handleClose"
+      >
+        <el-tabs value="first">
+          <el-tab-pane label="意见描述" name="first">
+            <TinymceEditor
+              ref="editor"
+              v-model="comment"
+              @input="handleEditorInput($event)"
+              @onClick="onClick"
+            >
+            </TinymceEditor>
+          </el-tab-pane>
+        </el-tabs>
+        <el-row
+          type="flex"
+          class="row-bg"
+          justify="end"
+          style="margin: 20px 60px 0 0"
+        >
+          <el-col :span="2">
+            <el-button type="primary" size="small" @click="handleComment"
+              >提交评论</el-button
+            >
+          </el-col>
+        </el-row>
+      </el-dialog>
     </div>
     <div class="right">
       <DicCard
@@ -133,6 +150,10 @@ export default {
       default: "",
       type: String,
     },
+    isShow: {
+      default: false,
+      type: Boolean,
+    },
     analysisTypeCode: {
       default: "",
       type: String,
@@ -159,6 +180,17 @@ export default {
     };
   },
   watch: {
+    isShow() {
+      if (this.isShow) {
+        if (!this.isShowDescription) {
+          this.$message({
+            message: "当前分析类型暂无分析,不能进行评论操作",
+            type: "warning",
+          });
+          this.$emit("setIsShow");
+        }
+      }
+    },
     initBatchCode(newVal) {
       if (newVal) {
         this.fetchData(); // 调用合并后的函数
@@ -176,6 +208,10 @@ export default {
     }
   },
   methods: {
+    handleClose() {
+      //关闭评论弹框
+      this.$emit("setIsShow");
+    },
     async handleComment() {
       try {
         await analysisCommentEdit({
@@ -194,6 +230,7 @@ export default {
         });
         this.comment = "";
         this.getAnalysisDetail();
+        this.$emit("setIsShow");
       } catch (e) {
         console.error(e);
         this.loading = false;
@@ -359,7 +396,16 @@ export default {
     overflow: hidden;
   }
 }
-
+.el-dialog__wrapper {
+  position: relative !important;
+}
+::v-deep .el-dialog {
+  position: fixed !important;
+  z-index: 999 !important;
+  top: 50%;
+  left: 50%;
+  transform: translate(0, -50%);
+}
 .titleCharts {
   font-size: 16px;
   font-weight: 500;

+ 68 - 22
src/views/overview/components/tsr/index.vue

@@ -1,7 +1,7 @@
 <!--
  * @Author: your name
  * @Date: 2025-01-10 09:10:11
- * @LastEditTime: 2025-01-21 16:12:47
+ * @LastEditTime: 2025-02-10 14:53:52
  * @LastEditors: bogon
  * @Description: In User Settings Edit
  * @FilePath: /performance-test/src/views/overview/components/tsr/index.vue
@@ -64,24 +64,41 @@
         </lineChartsFen>
       </div>
 
-      <el-tabs value="first" v-if="isShowDescription">
-        <el-tab-pane label="意见描述" name="first">
-          <TinymceEditor
-            ref="editor"
-            v-model="comment"
-            @input="handleEditorInput($event)"
-            @onClick="onClick"
-          >
-          </TinymceEditor>
-        </el-tab-pane>
-      </el-tabs>
-      <el-row type="flex" class="row-bg" justify="end" v-if="isShowDescription">
-        <el-col :span="2" style="margin: 20px">
-          <el-button type="primary" size="small" @click="handleComment"
-            >提交评论</el-button
-          >
-        </el-col>
-      </el-row>
+      <el-dialog
+        v-if="isShowDescription"
+        title="添加评论"
+        :visible="isShow"
+        width="30%"
+        v-dialogDrag
+        :modal="false"
+        :lock-scroll="false"
+        :modal-append-to-body="false"
+        @close="handleClose"
+      >
+        <el-tabs value="first">
+          <el-tab-pane label="意见描述" name="first">
+            <TinymceEditor
+              ref="editor"
+              v-model="comment"
+              @input="handleEditorInput($event)"
+              @onClick="onClick"
+            >
+            </TinymceEditor>
+          </el-tab-pane>
+        </el-tabs>
+        <el-row
+          type="flex"
+          class="row-bg"
+          justify="end"
+          style="margin: 20px 60px 0 0"
+        >
+          <el-col :span="2">
+            <el-button type="primary" size="small" @click="handleComment"
+              >提交评论</el-button
+            >
+          </el-col>
+        </el-row>
+      </el-dialog>
     </div>
     <div class="right">
       <DicCard
@@ -119,6 +136,10 @@ export default {
       default: "",
       type: String,
     },
+    isShow: {
+      default: false,
+      type: Boolean,
+    },
     analysisTypeCode: {
       default: "",
       type: String,
@@ -145,6 +166,17 @@ export default {
     };
   },
   watch: {
+    isShow() {
+      if (this.isShow) {
+        if (!this.isShowDescription) {
+          this.$message({
+            message: "当前分析类型暂无分析,不能进行评论操作",
+            type: "warning",
+          });
+          this.$emit("setIsShow");
+        }
+      }
+    },
     initBatchCode(newVal) {
       if (newVal) {
         this.fetchData(); // 调用合并后的函数
@@ -162,6 +194,10 @@ export default {
     }
   },
   methods: {
+    handleClose() {
+      //关闭评论弹框
+      this.$emit("setIsShow");
+    },
     async handleComment() {
       try {
         await analysisCommentEdit({
@@ -180,6 +216,7 @@ export default {
         });
         this.comment = "";
         this.getAnalysisDetail();
+        this.$emit("setIsShow");
       } catch (e) {
         console.error(e);
         this.loading = false;
@@ -305,8 +342,8 @@ export default {
     overflow: auto;
     padding: 20px;
     flex: 1;
-       /* 滚动条整体样式 */
-       &::-webkit-scrollbar {
+    /* 滚动条整体样式 */
+    &::-webkit-scrollbar {
       width: 6px; /* 滚动条宽度 */
     }
 
@@ -334,7 +371,16 @@ export default {
     overflow: hidden;
   }
 }
-
+.el-dialog__wrapper {
+  position: relative !important;
+}
+::v-deep .el-dialog {
+  position: fixed !important;
+  z-index: 999 !important;
+  top: 50%;
+  left: 50%;
+  transform: translate(0, -50%);
+}
 .titleCharts {
   font-size: 16px;
   font-weight: 500;

+ 66 - 20
src/views/overview/components/tsr_cp_power/index.vue

@@ -1,7 +1,7 @@
 <!--
  * @Author: your name
  * @Date: 2025-01-10 09:10:24
- * @LastEditTime: 2025-01-21 16:08:40
+ * @LastEditTime: 2025-02-10 14:54:01
  * @LastEditors: bogon
  * @Description: In User Settings Edit
  * @FilePath: /performance-test/src/views/overview/components/tsr_cp_power/index.vue
@@ -64,24 +64,41 @@
         >
         </lineChartsFen>
       </div>
-      <el-tabs value="first" v-if="isShowDescription">
-        <el-tab-pane label="意见描述" name="first">
-          <TinymceEditor
-            ref="editor"
-            v-model="comment"
-            @input="handleEditorInput($event)"
-            @onClick="onClick"
-          >
-          </TinymceEditor>
-        </el-tab-pane>
-      </el-tabs>
-      <el-row type="flex" class="row-bg" justify="end" v-if="isShowDescription">
-        <el-col :span="2" style="margin: 20px">
-          <el-button type="primary" size="small" @click="handleComment"
-            >提交评论</el-button
-          >
-        </el-col>
-      </el-row>
+      <el-dialog
+        v-if="isShowDescription"
+        title="添加评论"
+        :visible="isShow"
+        width="30%"
+        v-dialogDrag
+        :modal="false"
+        :lock-scroll="false"
+        :modal-append-to-body="false"
+        @close="handleClose"
+      >
+        <el-tabs value="first">
+          <el-tab-pane label="意见描述" name="first">
+            <TinymceEditor
+              ref="editor"
+              v-model="comment"
+              @input="handleEditorInput($event)"
+              @onClick="onClick"
+            >
+            </TinymceEditor>
+          </el-tab-pane>
+        </el-tabs>
+        <el-row
+          type="flex"
+          class="row-bg"
+          justify="end"
+          style="margin: 20px 60px 0 0"
+        >
+          <el-col :span="2">
+            <el-button type="primary" size="small" @click="handleComment"
+              >提交评论</el-button
+            >
+          </el-col>
+        </el-row>
+      </el-dialog>
     </div>
     <div class="right">
       <DicCard
@@ -119,6 +136,10 @@ export default {
       default: "",
       type: String,
     },
+    isShow: {
+      default: false,
+      type: Boolean,
+    },
     analysisTypeCode: {
       default: "",
       type: String,
@@ -145,6 +166,17 @@ export default {
     };
   },
   watch: {
+    isShow() {
+      if (this.isShow) {
+        if (!this.isShowDescription) {
+          this.$message({
+            message: "当前分析类型暂无分析,不能进行评论操作",
+            type: "warning",
+          });
+          this.$emit("setIsShow");
+        }
+      }
+    },
     initBatchCode(newVal) {
       if (newVal) {
         this.fetchData(); // 调用合并后的函数
@@ -162,6 +194,10 @@ export default {
     }
   },
   methods: {
+    handleClose() {
+      //关闭评论弹框
+      this.$emit("setIsShow");
+    },
     async handleComment() {
       try {
         await analysisCommentEdit({
@@ -180,6 +216,7 @@ export default {
         });
         this.comment = "";
         this.getAnalysisDetail();
+        this.$emit("setIsShow");
       } catch (e) {
         console.error(e);
         this.loading = false;
@@ -334,7 +371,16 @@ export default {
     overflow: hidden;
   }
 }
-
+.el-dialog__wrapper {
+  position: relative !important;
+}
+::v-deep .el-dialog {
+  position: fixed !important;
+  z-index: 999 !important;
+  top: 50%;
+  left: 50%;
+  transform: translate(0, -50%);
+}
 .titleCharts {
   font-size: 16px;
   font-weight: 500;

+ 66 - 19
src/views/overview/components/tsr_cp_power_scatter/index.vue

@@ -1,7 +1,7 @@
 <!--
  * @Author: your name
  * @Date: 2025-01-10 09:22:59
- * @LastEditTime: 2025-01-21 16:12:58
+ * @LastEditTime: 2025-02-10 14:54:08
  * @LastEditors: bogon
  * @Description: In User Settings Edit
  * @FilePath: /performance-test/src/views/overview/components/index.vue
@@ -46,24 +46,41 @@
         >
         </NoColourBandTwoDMarkerChart>
       </VirtualList>
-      <el-tabs value="first" v-if="isShowDescription">
-        <el-tab-pane label="意见描述" name="first">
-          <TinymceEditor
-            ref="editor"
-            v-model="comment"
-            @input="handleEditorInput($event)"
-            @onClick="onClick"
-          >
-          </TinymceEditor>
-        </el-tab-pane>
-      </el-tabs>
-      <el-row type="flex" class="row-bg" justify="end" v-if="isShowDescription">
-        <el-col :span="2" style="margin: 20px">
-          <el-button type="primary" size="small" @click="handleComment"
-            >提交评论</el-button
-          >
-        </el-col>
-      </el-row>
+      <el-dialog
+        v-if="isShowDescription"
+        title="添加评论"
+        :visible="isShow"
+        width="30%"
+        v-dialogDrag
+        :modal="false"
+        :lock-scroll="false"
+        :modal-append-to-body="false"
+        @close="handleClose"
+      >
+        <el-tabs value="first">
+          <el-tab-pane label="意见描述" name="first">
+            <TinymceEditor
+              ref="editor"
+              v-model="comment"
+              @input="handleEditorInput($event)"
+              @onClick="onClick"
+            >
+            </TinymceEditor>
+          </el-tab-pane>
+        </el-tabs>
+        <el-row
+          type="flex"
+          class="row-bg"
+          justify="end"
+          style="margin: 20px 60px 0 0"
+        >
+          <el-col :span="2">
+            <el-button type="primary" size="small" @click="handleComment"
+              >提交评论</el-button
+            >
+          </el-col>
+        </el-row>
+      </el-dialog>
     </div>
     <div class="right">
       <DicCard
@@ -99,6 +116,10 @@ export default {
       default: "",
       type: String,
     },
+    isShow: {
+      default: false,
+      type: Boolean,
+    },
     analysisTypeCode: {
       default: "",
       type: String,
@@ -125,6 +146,17 @@ export default {
     };
   },
   watch: {
+    isShow() {
+      if (this.isShow) {
+        if (!this.isShowDescription) {
+          this.$message({
+            message: "当前分析类型暂无分析,不能进行评论操作",
+            type: "warning",
+          });
+          this.$emit("setIsShow");
+        }
+      }
+    },
     initBatchCode(newVal) {
       if (newVal) {
         this.fetchData(); // 调用合并后的函数
@@ -142,6 +174,10 @@ export default {
     }
   },
   methods: {
+    handleClose() {
+      //关闭评论弹框
+      this.$emit("setIsShow");
+    },
     async handleComment() {
       try {
         await analysisCommentEdit({
@@ -160,6 +196,7 @@ export default {
         });
         this.comment = "";
         this.getAnalysisDetail();
+        this.$emit("setIsShow");
       } catch (e) {
         console.error(e);
         this.loading = false;
@@ -320,4 +357,14 @@ export default {
     overflow: hidden;
   }
 }
+.el-dialog__wrapper {
+  position: relative !important;
+}
+::v-deep .el-dialog {
+  position: fixed !important;
+  z-index: 999 !important;
+  top: 50%;
+  left: 50%;
+  transform: translate(0, -50%);
+}
 </style>

+ 66 - 19
src/views/overview/components/tsr_trend/index.vue

@@ -1,7 +1,7 @@
 <!--
  * @Author: your name
  * @Date: 2025-01-10 09:10:39
- * @LastEditTime: 2025-01-21 16:08:31
+ * @LastEditTime: 2025-02-10 14:34:30
  * @LastEditors: bogon
  * @Description: In User Settings Edit
  * @FilePath: /performance-test/src/views/overview/components/tsr_trend/index.vue
@@ -45,24 +45,41 @@
         >
         </BoxMarkersCharts>
       </VirtualList>
-      <el-tabs value="first" v-if="isShowDescription">
-        <el-tab-pane label="意见描述" name="first">
-          <TinymceEditor
-            ref="editor"
-            v-model="comment"
-            @input="handleEditorInput($event)"
-            @onClick="onClick"
-          >
-          </TinymceEditor>
-        </el-tab-pane>
-      </el-tabs>
-      <el-row type="flex" class="row-bg" justify="end" v-if="isShowDescription">
-        <el-col :span="2" style="margin: 20px">
-          <el-button type="primary" size="small" @click="handleComment"
-            >提交评论</el-button
-          >
-        </el-col>
-      </el-row>
+      <el-dialog
+        v-if="isShowDescription"
+        title="添加评论"
+        :visible="isShow"
+        width="30%"
+        v-dialogDrag
+        :modal="false"
+        :lock-scroll="false"
+        :modal-append-to-body="false"
+        @close="handleClose"
+      >
+        <el-tabs value="first">
+          <el-tab-pane label="意见描述" name="first">
+            <TinymceEditor
+              ref="editor"
+              v-model="comment"
+              @input="handleEditorInput($event)"
+              @onClick="onClick"
+            >
+            </TinymceEditor>
+          </el-tab-pane>
+        </el-tabs>
+        <el-row
+          type="flex"
+          class="row-bg"
+          justify="end"
+          style="margin: 20px 60px 0 0"
+        >
+          <el-col :span="2">
+            <el-button type="primary" size="small" @click="handleComment"
+              >提交评论</el-button
+            >
+          </el-col>
+        </el-row>
+      </el-dialog>
     </div>
     <div class="right">
       <DicCard
@@ -98,6 +115,10 @@ export default {
       default: "",
       type: String,
     },
+    isShow: {
+      default: false,
+      type: Boolean,
+    },
     analysisTypeCode: {
       default: "",
       type: String,
@@ -125,6 +146,17 @@ export default {
     };
   },
   watch: {
+    isShow() {
+      if (this.isShow) {
+        if (!this.isShowDescription) {
+          this.$message({
+            message: "当前分析类型暂无分析,不能进行评论操作",
+            type: "warning",
+          });
+          this.$emit("setIsShow");
+        }
+      }
+    },
     initBatchCode(newVal) {
       if (newVal) {
         this.fetchData(); // 调用合并后的函数
@@ -142,6 +174,10 @@ export default {
     }
   },
   methods: {
+    handleClose() {
+      //关闭评论弹框
+      this.$emit("setIsShow");
+    },
     async handleComment() {
       try {
         await analysisCommentEdit({
@@ -160,6 +196,7 @@ export default {
         });
         this.comment = "";
         this.getAnalysisDetail();
+        this.$emit("setIsShow");
       } catch (e) {
         console.error(e);
         this.loading = false;
@@ -320,4 +357,14 @@ export default {
     overflow: hidden;
   }
 }
+.el-dialog__wrapper {
+  position: relative !important;
+}
+::v-deep .el-dialog {
+  position: fixed !important;
+  z-index: 999 !important;
+  top: 50%;
+  left: 50%;
+  transform: translate(0, -50%);
+}
 </style>

+ 68 - 22
src/views/overview/components/tsr_windspeed/index.vue

@@ -1,7 +1,7 @@
 <!--
  * @Author: your name
  * @Date: 2025-01-10 09:10:59
- * @LastEditTime: 2025-01-21 16:13:10
+ * @LastEditTime: 2025-02-10 14:54:20
  * @LastEditors: bogon
  * @Description: In User Settings Edit
  * @FilePath: /performance-test/src/views/overview/components/tsr_windspeed/index.vue
@@ -64,24 +64,41 @@
         </lineChartsFen>
       </div>
 
-      <el-tabs value="first" v-if="isShowDescription">
-        <el-tab-pane label="意见描述" name="first">
-          <TinymceEditor
-            ref="editor"
-            v-model="comment"
-            @input="handleEditorInput($event)"
-            @onClick="onClick"
-          >
-          </TinymceEditor>
-        </el-tab-pane>
-      </el-tabs>
-      <el-row type="flex" class="row-bg" justify="end" v-if="isShowDescription">
-        <el-col :span="2" style="margin: 20px">
-          <el-button type="primary" size="small" @click="handleComment"
-            >提交评论</el-button
-          >
-        </el-col>
-      </el-row>
+      <el-dialog
+        v-if="isShowDescription"
+        title="添加评论"
+        :visible="isShow"
+        width="30%"
+        v-dialogDrag
+        :modal="false"
+        :lock-scroll="false"
+        :modal-append-to-body="false"
+        @close="handleClose"
+      >
+        <el-tabs value="first">
+          <el-tab-pane label="意见描述" name="first">
+            <TinymceEditor
+              ref="editor"
+              v-model="comment"
+              @input="handleEditorInput($event)"
+              @onClick="onClick"
+            >
+            </TinymceEditor>
+          </el-tab-pane>
+        </el-tabs>
+        <el-row
+          type="flex"
+          class="row-bg"
+          justify="end"
+          style="margin: 20px 60px 0 0"
+        >
+          <el-col :span="2">
+            <el-button type="primary" size="small" @click="handleComment"
+              >提交评论</el-button
+            >
+          </el-col>
+        </el-row>
+      </el-dialog>
     </div>
     <div class="right">
       <DicCard
@@ -119,6 +136,10 @@ export default {
       default: "",
       type: String,
     },
+    isShow: {
+      default: false,
+      type: Boolean,
+    },
     analysisTypeCode: {
       default: "",
       type: String,
@@ -145,6 +166,17 @@ export default {
     };
   },
   watch: {
+    isShow() {
+      if (this.isShow) {
+        if (!this.isShowDescription) {
+          this.$message({
+            message: "当前分析类型暂无分析,不能进行评论操作",
+            type: "warning",
+          });
+          this.$emit("setIsShow");
+        }
+      }
+    },
     initBatchCode(newVal) {
       if (newVal) {
         this.fetchData(); // 调用合并后的函数
@@ -162,6 +194,10 @@ export default {
     }
   },
   methods: {
+    handleClose() {
+      //关闭评论弹框
+      this.$emit("setIsShow");
+    },
     async handleComment() {
       try {
         await analysisCommentEdit({
@@ -180,6 +216,7 @@ export default {
         });
         this.comment = "";
         this.getAnalysisDetail();
+        this.$emit("setIsShow");
       } catch (e) {
         console.error(e);
         this.loading = false;
@@ -305,8 +342,8 @@ export default {
     overflow: auto;
     padding: 20px;
     flex: 1;
-       /* 滚动条整体样式 */
-       &::-webkit-scrollbar {
+    /* 滚动条整体样式 */
+    &::-webkit-scrollbar {
       width: 6px; /* 滚动条宽度 */
     }
 
@@ -334,7 +371,16 @@ export default {
     overflow: hidden;
   }
 }
-
+.el-dialog__wrapper {
+  position: relative !important;
+}
+::v-deep .el-dialog {
+  position: fixed !important;
+  z-index: 999 !important;
+  top: 50%;
+  left: 50%;
+  transform: translate(0, -50%);
+}
 .titleCharts {
   font-size: 16px;
   font-weight: 500;

+ 66 - 19
src/views/overview/components/wind_direction_frequency/index.vue

@@ -1,7 +1,7 @@
 <!--
  * @Author: your name
  * @Date: 2025-01-10 09:11:12
- * @LastEditTime: 2025-01-21 16:06:41
+ * @LastEditTime: 2025-02-10 14:54:28
  * @LastEditors: bogon
  * @Description: In User Settings Edit
  * @FilePath: /performance-test/src/views/overview/components/wind_direction_frequency/index.vue
@@ -45,24 +45,41 @@
         ></WindRoseChart>
       </VirtualList>
 
-      <el-tabs value="first" v-if="isShowDescription">
-        <el-tab-pane label="意见描述" name="first">
-          <TinymceEditor
-            ref="editor"
-            v-model="comment"
-            @input="handleEditorInput($event)"
-            @onClick="onClick"
-          >
-          </TinymceEditor>
-        </el-tab-pane>
-      </el-tabs>
-      <el-row type="flex" class="row-bg" justify="end" v-if="isShowDescription">
-        <el-col :span="2" style="margin: 20px">
-          <el-button type="primary" size="small" @click="handleComment"
-            >提交评论</el-button
-          >
-        </el-col>
-      </el-row>
+      <el-dialog
+        v-if="isShowDescription"
+        title="添加评论"
+        :visible="isShow"
+        width="30%"
+        v-dialogDrag
+        :modal="false"
+        :lock-scroll="false"
+        :modal-append-to-body="false"
+        @close="handleClose"
+      >
+        <el-tabs value="first">
+          <el-tab-pane label="意见描述" name="first">
+            <TinymceEditor
+              ref="editor"
+              v-model="comment"
+              @input="handleEditorInput($event)"
+              @onClick="onClick"
+            >
+            </TinymceEditor>
+          </el-tab-pane>
+        </el-tabs>
+        <el-row
+          type="flex"
+          class="row-bg"
+          justify="end"
+          style="margin: 20px 60px 0 0"
+        >
+          <el-col :span="2">
+            <el-button type="primary" size="small" @click="handleComment"
+              >提交评论</el-button
+            >
+          </el-col>
+        </el-row>
+      </el-dialog>
     </div>
     <div class="right">
       <DicCard
@@ -99,6 +116,10 @@ export default {
       default: "",
       type: String,
     },
+    isShow: {
+      default: false,
+      type: Boolean,
+    },
     analysisTypeCode: {
       default: "",
       type: String,
@@ -125,6 +146,17 @@ export default {
     };
   },
   watch: {
+    isShow() {
+      if (this.isShow) {
+        if (!this.isShowDescription) {
+          this.$message({
+            message: "当前分析类型暂无分析,不能进行评论操作",
+            type: "warning",
+          });
+          this.$emit("setIsShow");
+        }
+      }
+    },
     initBatchCode(newVal) {
       if (newVal) {
         this.fetchData(); // 调用合并后的函数
@@ -142,6 +174,10 @@ export default {
     }
   },
   methods: {
+    handleClose() {
+      //关闭评论弹框
+      this.$emit("setIsShow");
+    },
     async handleComment() {
       try {
         await analysisCommentEdit({
@@ -160,6 +196,7 @@ export default {
         });
         this.comment = "";
         this.getAnalysisDetail();
+        this.$emit("setIsShow");
       } catch (e) {
         console.error(e);
         this.loading = false;
@@ -318,6 +355,16 @@ export default {
     overflow: hidden;
   }
 }
+.el-dialog__wrapper {
+  position: relative !important;
+}
+::v-deep .el-dialog {
+  position: fixed !important;
+  z-index: 999 !important;
+  top: 50%;
+  left: 50%;
+  transform: translate(0, -50%);
+}
 .titleCharts {
   font-size: 16px;
   font-weight: 500;

+ 66 - 19
src/views/overview/components/wind_speed/index.vue

@@ -1,7 +1,7 @@
 <!--
  * @Author: your name
  * @Date: 2025-01-10 09:11:23
- * @LastEditTime: 2025-01-21 16:13:21
+ * @LastEditTime: 2025-02-10 14:54:38
  * @LastEditors: bogon
  * @Description: In User Settings Edit
  * @FilePath: /performance-test/src/views/overview/components/wind_spee/index.vue
@@ -46,24 +46,41 @@
           :fileAddr="item.fileAddr"
         ></BarChart>
       </VirtualList>
-      <el-tabs value="first" v-if="isShowDescription">
-        <el-tab-pane label="意见描述" name="first">
-          <TinymceEditor
-            ref="editor"
-            v-model="comment"
-            @input="handleEditorInput($event)"
-            @onClick="onClick"
-          >
-          </TinymceEditor>
-        </el-tab-pane>
-      </el-tabs>
-      <el-row type="flex" class="row-bg" justify="end" v-if="isShowDescription">
-        <el-col :span="2" style="margin: 20px">
-          <el-button type="primary" size="small" @click="handleComment"
-            >提交评论</el-button
-          >
-        </el-col>
-      </el-row>
+      <el-dialog
+        v-if="isShowDescription"
+        title="添加评论"
+        :visible="isShow"
+        width="30%"
+        v-dialogDrag
+        :modal="false"
+        :lock-scroll="false"
+        :modal-append-to-body="false"
+        @close="handleClose"
+      >
+        <el-tabs value="first">
+          <el-tab-pane label="意见描述" name="first">
+            <TinymceEditor
+              ref="editor"
+              v-model="comment"
+              @input="handleEditorInput($event)"
+              @onClick="onClick"
+            >
+            </TinymceEditor>
+          </el-tab-pane>
+        </el-tabs>
+        <el-row
+          type="flex"
+          class="row-bg"
+          justify="end"
+          style="margin: 20px 60px 0 0"
+        >
+          <el-col :span="2">
+            <el-button type="primary" size="small" @click="handleComment"
+              >提交评论</el-button
+            >
+          </el-col>
+        </el-row>
+      </el-dialog>
     </div>
     <div class="right">
       <DicCard
@@ -99,6 +116,10 @@ export default {
       default: "",
       type: String,
     },
+    isShow: {
+      default: false,
+      type: Boolean,
+    },
     analysisTypeCode: {
       default: "",
       type: String,
@@ -125,6 +146,17 @@ export default {
     };
   },
   watch: {
+    isShow() {
+      if (this.isShow) {
+        if (!this.isShowDescription) {
+          this.$message({
+            message: "当前分析类型暂无分析,不能进行评论操作",
+            type: "warning",
+          });
+          this.$emit("setIsShow");
+        }
+      }
+    },
     initBatchCode(newVal) {
       if (newVal) {
         this.fetchData(); // 调用合并后的函数
@@ -142,6 +174,10 @@ export default {
     }
   },
   methods: {
+    handleClose() {
+      //关闭评论弹框
+      this.$emit("setIsShow");
+    },
     async handleComment() {
       try {
         await analysisCommentEdit({
@@ -160,6 +196,7 @@ export default {
         });
         this.comment = "";
         this.getAnalysisDetail();
+        this.$emit("setIsShow");
       } catch (e) {
         console.error(e);
         this.loading = false;
@@ -313,6 +350,16 @@ export default {
     overflow: hidden;
   }
 }
+.el-dialog__wrapper {
+  position: relative !important;
+}
+::v-deep .el-dialog {
+  position: fixed !important;
+  z-index: 999 !important;
+  top: 50%;
+  left: 50%;
+  transform: translate(0, -50%);
+}
 .titleCharts {
   font-size: 16px;
   font-weight: 500;

+ 66 - 19
src/views/overview/components/wind_speed_frequency/index.vue

@@ -1,7 +1,7 @@
 <!--
  * @Author: your name
  * @Date: 2025-01-10 09:11:34
- * @LastEditTime: 2025-01-21 16:07:00
+ * @LastEditTime: 2025-02-10 14:33:04
  * @LastEditors: bogon
  * @Description: In User Settings Edit
  * @FilePath: /performance-test/src/views/overview/components/wind_speed_frequency/index.vue
@@ -59,24 +59,41 @@
       </div>
       <el-empty description="暂无分析记录" v-else></el-empty> -->
 
-      <el-tabs value="first" v-if="isShowDescription">
-        <el-tab-pane label="意见描述" name="first">
-          <TinymceEditor
-            ref="editor"
-            v-model="comment"
-            @input="handleEditorInput($event)"
-            @onClick="onClick"
-          >
-          </TinymceEditor>
-        </el-tab-pane>
-      </el-tabs>
-      <el-row type="flex" class="row-bg" justify="end" v-if="isShowDescription">
-        <el-col :span="2" style="margin: 20px">
-          <el-button type="primary" size="small" @click="handleComment"
-            >提交评论</el-button
-          >
-        </el-col>
-      </el-row>
+      <el-dialog
+        v-if="isShowDescription"
+        title="添加评论"
+        :visible="isShow"
+        width="30%"
+        v-dialogDrag
+        :modal="false"
+        :lock-scroll="false"
+        :modal-append-to-body="false"
+        @close="handleClose"
+      >
+        <el-tabs value="first">
+          <el-tab-pane label="意见描述" name="first">
+            <TinymceEditor
+              ref="editor"
+              v-model="comment"
+              @input="handleEditorInput($event)"
+              @onClick="onClick"
+            >
+            </TinymceEditor>
+          </el-tab-pane>
+        </el-tabs>
+        <el-row
+          type="flex"
+          class="row-bg"
+          justify="end"
+          style="margin: 20px 60px 0 0"
+        >
+          <el-col :span="2">
+            <el-button type="primary" size="small" @click="handleComment"
+              >提交评论</el-button
+            >
+          </el-col>
+        </el-row>
+      </el-dialog>
     </div>
     <div class="right">
       <DicCard
@@ -112,6 +129,10 @@ export default {
       default: "",
       type: String,
     },
+    isShow: {
+      default: false,
+      type: Boolean,
+    },
     analysisTypeCode: {
       default: "",
       type: String,
@@ -138,6 +159,17 @@ export default {
     };
   },
   watch: {
+    isShow() {
+      if (this.isShow) {
+        if (!this.isShowDescription) {
+          this.$message({
+            message: "当前分析类型暂无分析,不能进行评论操作",
+            type: "warning",
+          });
+          this.$emit("setIsShow");
+        }
+      }
+    },
     initBatchCode(newVal) {
       if (newVal) {
         this.fetchData(); // 调用合并后的函数
@@ -155,6 +187,10 @@ export default {
     }
   },
   methods: {
+    handleClose() {
+      //关闭评论弹框
+      this.$emit("setIsShow");
+    },
     async handleComment() {
       try {
         await analysisCommentEdit({
@@ -173,6 +209,7 @@ export default {
         });
         this.comment = "";
         this.getAnalysisDetail();
+        this.$emit("setIsShow");
       } catch (e) {
         console.error(e);
         this.loading = false;
@@ -326,6 +363,16 @@ export default {
     overflow: hidden;
   }
 }
+.el-dialog__wrapper {
+  position: relative !important;
+}
+::v-deep .el-dialog {
+  position: fixed !important;
+  z-index: 999 !important;
+  top: 50%;
+  left: 50%;
+  transform: translate(0, -50%);
+}
 .titleCharts {
   font-size: 16px;
   font-weight: 500;

+ 66 - 19
src/views/overview/components/yaw_error/index.vue

@@ -1,7 +1,7 @@
 <!--
  * @Author: your name
  * @Date: 2025-01-10 09:24:14
- * @LastEditTime: 2025-01-22 17:37:31
+ * @LastEditTime: 2025-02-10 14:54:51
  * @LastEditors: bogon
  * @Description: In User Settings Edit
  * @FilePath: /performance-test/src/views/overview/components/yaw_error/index.vue
@@ -83,24 +83,41 @@
         description="暂无分析记录"
         v-if="zongFaultCsvData.length === 0 && fenFaultCsvData.length === 0"
       ></el-empty>
-      <el-tabs value="first" v-if="isShowDescription">
-        <el-tab-pane label="意见描述" name="first">
-          <TinymceEditor
-            ref="editor"
-            v-model="comment"
-            @input="handleEditorInput($event)"
-            @onClick="onClick"
-          >
-          </TinymceEditor>
-        </el-tab-pane>
-      </el-tabs>
-      <el-row v-if="isShowDescription" type="flex" class="row-bg" justify="end">
-        <el-col :span="2" style="margin: 20px">
-          <el-button type="primary" size="small" @click="handleComment"
-            >提交评论</el-button
-          >
-        </el-col>
-      </el-row>
+      <el-dialog
+        v-if="isShowDescription"
+        title="添加评论"
+        :visible="isShow"
+        width="30%"
+        v-dialogDrag
+        :modal="false"
+        :lock-scroll="false"
+        :modal-append-to-body="false"
+        @close="handleClose"
+      >
+        <el-tabs value="first">
+          <el-tab-pane label="意见描述" name="first">
+            <TinymceEditor
+              ref="editor"
+              v-model="comment"
+              @input="handleEditorInput($event)"
+              @onClick="onClick"
+            >
+            </TinymceEditor>
+          </el-tab-pane>
+        </el-tabs>
+        <el-row
+          type="flex"
+          class="row-bg"
+          justify="end"
+          style="margin: 20px 60px 0 0"
+        >
+          <el-col :span="2">
+            <el-button type="primary" size="small" @click="handleComment"
+              >提交评论</el-button
+            >
+          </el-col>
+        </el-row>
+      </el-dialog>
     </div>
     <div class="right">
       <DicCard
@@ -144,6 +161,10 @@ export default {
       default: "",
       type: String,
     },
+    isShow: {
+      default: false,
+      type: Boolean,
+    },
     analysisTypeCode: {
       default: "",
       type: String,
@@ -204,6 +225,17 @@ export default {
     },
   },
   watch: {
+    isShow() {
+      if (this.isShow) {
+        if (!this.isShowDescription) {
+          this.$message({
+            message: "当前分析类型暂无分析,不能进行评论操作",
+            type: "warning",
+          });
+          this.$emit("setIsShow");
+        }
+      }
+    },
     initBatchCode(newVal) {
       if (newVal) {
         this.fetchData(); // 调用合并后的函数
@@ -221,6 +253,10 @@ export default {
     }
   },
   methods: {
+    handleClose() {
+      //关闭评论弹框
+      this.$emit("setIsShow");
+    },
     async handleComment() {
       try {
         await analysisCommentEdit({
@@ -239,6 +275,7 @@ export default {
         });
         this.comment = "";
         this.getAnalysisDetail();
+        this.$emit("setIsShow");
       } catch (e) {
         console.error(e);
         this.loading = false;
@@ -450,6 +487,16 @@ export default {
     overflow: hidden;
   }
 }
+.el-dialog__wrapper {
+  position: relative !important;
+}
+::v-deep .el-dialog {
+  position: fixed !important;
+  z-index: 999 !important;
+  top: 50%;
+  left: 50%;
+  transform: translate(0, -50%);
+}
 .titleCharts {
   font-size: 16px;
   font-weight: 500;

+ 66 - 19
src/views/overview/components/yaw_error_density/index.vue

@@ -1,7 +1,7 @@
 <!--
  * @Author: your name
  * @Date: 2025-01-10 09:26:12
- * @LastEditTime: 2025-01-21 16:07:35
+ * @LastEditTime: 2025-02-10 14:54:59
  * @LastEditors: bogon
  * @Description: In User Settings Edit
  * @FilePath: /performance-test/src/views/overview/components/yaw_error_density/index.vue
@@ -51,24 +51,41 @@
           </TwoDMarkersChart>
         </RecycleScroller>
       </div> -->
-      <el-tabs value="first" v-if="isShowDescription">
-        <el-tab-pane label="意见描述" name="first">
-          <TinymceEditor
-            ref="editor"
-            v-model="comment"
-            @input="handleEditorInput($event)"
-            @onClick="onClick"
-          >
-          </TinymceEditor>
-        </el-tab-pane>
-      </el-tabs>
-      <el-row v-if="isShowDescription" type="flex" class="row-bg" justify="end">
-        <el-col :span="2" style="margin: 20px">
-          <el-button type="primary" size="small" @click="handleComment"
-            >提交评论</el-button
-          >
-        </el-col>
-      </el-row>
+      <el-dialog
+        v-if="isShowDescription"
+        title="添加评论"
+        :visible="isShow"
+        width="30%"
+        v-dialogDrag
+        :modal="false"
+        :lock-scroll="false"
+        :modal-append-to-body="false"
+        @close="handleClose"
+      >
+        <el-tabs value="first">
+          <el-tab-pane label="意见描述" name="first">
+            <TinymceEditor
+              ref="editor"
+              v-model="comment"
+              @input="handleEditorInput($event)"
+              @onClick="onClick"
+            >
+            </TinymceEditor>
+          </el-tab-pane>
+        </el-tabs>
+        <el-row
+          type="flex"
+          class="row-bg"
+          justify="end"
+          style="margin: 20px 60px 0 0"
+        >
+          <el-col :span="2">
+            <el-button type="primary" size="small" @click="handleComment"
+              >提交评论</el-button
+            >
+          </el-col>
+        </el-row>
+      </el-dialog>
     </div>
     <div class="right">
       <DicCard
@@ -111,6 +128,10 @@ export default {
       default: "",
       type: Array,
     },
+    isShow: {
+      default: false,
+      type: Boolean,
+    },
   },
   data() {
     return {
@@ -131,6 +152,17 @@ export default {
     };
   },
   watch: {
+    isShow() {
+      if (this.isShow) {
+        if (!this.isShowDescription) {
+          this.$message({
+            message: "当前分析类型暂无分析,不能进行评论操作",
+            type: "warning",
+          });
+          this.$emit("setIsShow");
+        }
+      }
+    },
     initBatchCode(newVal) {
       if (newVal) {
         this.fetchData(); // 调用合并后的函数
@@ -148,6 +180,10 @@ export default {
     }
   },
   methods: {
+    handleClose() {
+      //关闭评论弹框
+      this.$emit("setIsShow");
+    },
     async handleComment() {
       try {
         await analysisCommentEdit({
@@ -166,6 +202,7 @@ export default {
         });
         this.comment = "";
         this.getAnalysisDetail();
+        this.$emit("setIsShow");
       } catch (e) {
         console.error(e);
         this.loading = false;
@@ -328,4 +365,14 @@ export default {
     overflow: hidden;
   }
 }
+.el-dialog__wrapper {
+  position: relative !important;
+}
+::v-deep .el-dialog {
+  position: fixed !important;
+  z-index: 999 !important;
+  top: 50%;
+  left: 50%;
+  transform: translate(0, -50%);
+}
 </style>

+ 120 - 22
src/views/overview/index.vue

@@ -1,18 +1,34 @@
 <template>
   <div class="global-variable" v-loading="loading">
     <div class="left">
-      <el-input
-        class="filterInput"
-        placeholder="输入关键字进行过滤"
-        v-model="filterText"
-      >
-      </el-input>
+      <div class="leftTitle">
+        <el-input
+          class="filterInput"
+          placeholder="输入关键字进行过滤"
+          v-model="filterText"
+        >
+        </el-input>
+        <el-dropdown>
+          <span class="el-dropdown-link">
+            <i class="el-icon-more-outline"></i>
+          </span>
+          <el-dropdown-menu slot="dropdown">
+            <el-dropdown-item>
+              <span @click="handleClick(true)"> 展开 </span>
+            </el-dropdown-item>
+            <el-dropdown-item>
+              <span @click="handleClick(false)">收起</span>
+            </el-dropdown-item>
+          </el-dropdown-menu>
+        </el-dropdown>
+      </div>
+
       <el-tree
         class="filter-tree"
         :data="data"
         highlight-current
         :props="defaultProps"
-        default-expand-all
+        :default-expanded-keys="expandedKeys"
         :current-node-key="initBatchCode"
         :filter-node-method="filterNode"
         @node-click="handleNodeClick"
@@ -72,13 +88,34 @@
         </template>
       </el-menu>
       <!-- 动态渲染组件 -->
-      <component
-        :is="currentComponent"
-        :initBatchCode="initBatchCode"
-        :analysisTypeCode="analysisTypeCode"
-        :batchCodeList="batchCodeList"
-        @setInitBathCode="setInitBathCode"
-      ></component>
+      <keep-alive>
+        <component
+          :ref="analysisTypeCode"
+          :is="currentComponent"
+          :initBatchCode="initBatchCode"
+          :analysisTypeCode="analysisTypeCode"
+          :batchCodeList="batchCodeList"
+          @setInitBathCode="setInitBathCode"
+          @setIsShow="setIsShow"
+          :isShow="isShow"
+        ></component>
+      </keep-alive>
+    </div>
+    <div
+      class="tousutiwen_box"
+      @click="handleTousutiwen"
+      v-if="activeIndex !== 'analysis_information'"
+    >
+      <el-tooltip
+        class="item"
+        effect="dark"
+        content="添加评论"
+        placement="right"
+      >
+        <div class="tousutiwen_icon">
+          <svg-icon icon-class="tousutiwen" style="width: 30px; height: 30px" />
+        </div>
+      </el-tooltip>
     </div>
 
     <!-- <el-empty description="暂无数据"></el-empty> -->
@@ -86,7 +123,6 @@
 </template>
 
 <script>
-import { assetssType } from "./js/assetssType";
 import { queryAllAnalysisType } from "@/api/performance";
 import { getAnalysisCodeInfo } from "@/api/overview";
 export default {
@@ -95,6 +131,10 @@ export default {
       loading: false,
       filterText: "",
       data: [],
+      isShow: false, //控制评论框是否显示
+      // 用于控制是否展开/收起
+      isExpanded: false,
+      expandedKeys: [], //默认展开的节点
       batchCodeList: [], //批次数组用于切换上一条、下一条
       initBatchCode: "", // 初始化分析编号
       analysisTypeCode: "", // 当前选中的分析类型
@@ -108,7 +148,7 @@ export default {
       assetssTypeData: [
         {
           id: "1",
-          label: "分析信息",
+          label: "分析概述",
           typeCode: "analysis_information",
         },
       ],
@@ -132,14 +172,39 @@ export default {
       console.log(newVal, "分析类型 ");
     },
   },
-  created() {
-    this.getTreeData();
-
+  async created() {
     if (this.$route.query.batchCode) {
       this.initBatchCode = this.$route.query.batchCode;
     }
+    await Promise.all([this.getTreeData(), this.queryAllAnalysisType()]);
+    // 初始化逻辑
   },
+
   methods: {
+    setIsShow() {
+      this.isShow = false;
+    },
+    handleTousutiwen() {
+      console.log("点击评论");
+      this.isShow = true;
+    },
+    //展开/收起
+    handleClick(expand) {
+      // 设置展开或收起状态
+      this.isExpanded = expand;
+      if (expand) {
+        this.$refs.tree.store._getAllNodes().forEach((node) => {
+          node.expanded = true;
+        });
+      } else {
+        // 折叠所有节点
+        this.$refs.tree.store._getAllNodes().forEach((node) => {
+          node.expanded = false;
+        });
+      }
+      console.log(this.isExpanded, "展开/收起");
+    },
+
     // 获取树形结构数据
     getTreeData() {
       this.loading = true;
@@ -150,9 +215,15 @@ export default {
             this.batchCodeList = [];
             const formattedData = this.formatData(res.data);
             this.data = formattedData;
-
+            console.log(formattedData[0], "formattedData[0]");
+            this.expandedKeys.push(formattedData[0]?.children[0]?.codeNumber);
+            // =
+            //   [
+            //     formattedData[0]?.codeNumber,
+            //     formattedData[0]?.children[0]?.codeNumber,
+            //   ] || [];
             // 确保数据加载完成后才查询其他分析类型
-            this.queryAllAnalysisType();
+            // this.queryAllAnalysisType();
           }
         })
         .catch((err) => {});
@@ -205,7 +276,7 @@ export default {
           this.assetssTypeData = [
             {
               id: "1",
-              typeName: "分析信息",
+              typeName: "分析概述",
               typeCode: "analysis_information",
             },
             ...res.data,
@@ -225,6 +296,7 @@ export default {
     handleSelect(key, keyPath) {
       console.log(key, keyPath, "切换");
       this.analysisTypeCode = key;
+      this.activeIndex = key;
       this.currentComponent = () => import(`./components/${key}/index.vue`);
     },
   },
@@ -242,6 +314,15 @@ export default {
     padding-right: 20px;
     margin-bottom: 20px;
     overflow-y: scroll;
+    .leftTitle {
+      display: flex;
+      align-items: center;
+      justify-content: space-between;
+      .el-icon-more-outline {
+        margin-left: 10px;
+        transform: rotate(90deg);
+      }
+    }
     /* 滚动条整体样式 */
     &::-webkit-scrollbar {
       width: 0px; /* 滚动条宽度 */
@@ -302,6 +383,23 @@ export default {
       }
     }
   }
+  .tousutiwen_box {
+    position: fixed;
+    right: 80px;
+    bottom: 15%;
+    background: rgb(255, 255, 255);
+    border-radius: 50%;
+    width: 50px;
+    height: 50px;
+    color: rgb(132, 145, 165);
+    box-shadow: rgba(0, 0, 0, 0.1) 0px 2px 4px;
+    display: flex;
+    align-items: center;
+    justify-content: center;
+  }
+  .tousutiwen_box:hover {
+    background: rgb(196, 199, 206);
+  }
   .el-menu-demo {
     border-bottom: 1px solid #ebeef5;
   }

+ 106 - 39
src/views/performance/assetssMag.vue

@@ -37,13 +37,13 @@
     </div>
     <div class="list-page">
       <el-table
-        v-loading="loading"
         class="center-align-table"
         :data="tableData"
         border
         :cell-style="rowStyle"
       >
         <el-table-column
+<<<<<<< HEAD
           align="center"
           label="分析主题"
           prop="analysisName"
@@ -55,42 +55,33 @@
       <span>{{ scope.row.analysisName }}</span>
     </el-tooltip>
   </template>
-        </el-table-column>
-        <el-table-column
+=======
+          fixed
           align="center"
-          prop="fieldName"
-          label="风场名称"
+          label="分析主题"
+          prop="analysisName"
           min-width="200"
         >
+          <template slot-scope="scope">
+            <el-tooltip
+              class="item"
+              effect="dark"
+              :content="scope.row.sketch ? scope.row.sketch : '暂无简述内容'"
+              placement="top"
+            >
+              <span style="color: #4caf50">{{ scope.row.analysisName }}</span>
+            </el-tooltip>
+          </template>
+>>>>>>> cd49b9e9d50e9e446a8759c0a81253ddbc1366ad
         </el-table-column>
-
         <el-table-column
           align="center"
-          label="数据类型名称"
-          prop="dataTypeName"
+          prop="fieldName"
+          label="风场名称"
           min-width="200"
         >
         </el-table-column>
-        <el-table-column
-          prop="loginName"
-          align="center"
-          label="进度"
-          min-width="150"
-        >
-          <template slot-scope="scope">
-            <el-progress
-              v-if="scope.row.analysisState == 20"
-              :text-inside="true"
-              :stroke-width="20"
-              :percentage="scope.row.analysisProgress"
-              :class="{
-                'indeterminate-progress': scope.row.analysisProgress < 100,
-                'animated-progress': true,
-              }"
-            ></el-progress>
-            <span v-else>/</span>
-          </template>
-        </el-table-column>
+
         <el-table-column
           prop="loginName"
           align="center"
@@ -109,6 +100,7 @@
             <span v-else-if="scope.row.errState == 1" style="color: #f00"
               >分析异常</span
             >
+
             <span
               v-else-if="scope.row.analysisState == 30"
               style="color: #4caf50"
@@ -122,6 +114,43 @@
             <span v-else>/</span>
           </template>
         </el-table-column>
+        <el-table-column
+          prop="loginName"
+          align="center"
+          label="进度"
+          min-width="150"
+        >
+          <template slot-scope="scope">
+            <el-progress
+              v-if="scope.row.analysisState == 20"
+              :text-inside="true"
+              :stroke-width="20"
+              :percentage="scope.row.analysisProgress"
+              :class="{
+                'indeterminate-progress': scope.row.analysisProgress < 100,
+                'animated-progress': true,
+              }"
+            ></el-progress>
+            <span v-else>/</span>
+          </template>
+        </el-table-column>
+        <el-table-column
+          align="center"
+          label="待分析排位"
+          prop="dataTypeName"
+          min-width="200"
+        >
+          <template slot-scope="scope">
+            <span> {{ scope.row.dataTypeName }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column
+          align="center"
+          label="数据类型名称"
+          prop="dataTypeName"
+          min-width="200"
+        >
+        </el-table-column>
         <!-- <el-table-column
           prop="errState"
           align="center"
@@ -265,6 +294,10 @@
             <el-button
               @click="handleAssetss(scope.row)"
               type="text"
+              :disabled="
+                (scope.row.analysisState == 20 && scope.row.errState == 0) ||
+                scope.row.analysisState == 10
+              "
               size="small"
               >分析</el-button
             >
@@ -274,6 +307,12 @@
               size="small"
               >异常描述</el-button
             >
+            <el-button
+              @click="insertQueue(scope.row)"
+              type="text"
+              size="small"
+              >{{ scope.row.onOffCall === 0 ? "插队" : "取消插队" }}</el-button
+            >
             <!-- <el-button
               @click="HandleOnOffAuto(scope.row)"
               type="text"
@@ -303,7 +342,7 @@
       :title="title"
       :rowInfo="rowInfo"
       @confirm="handleConfirm"
-      @getTableList="fetchData"
+      @getTableList="getTableList"
     >
       <div slot="tableEl">
         <el-empty description="暂无数据"></el-empty>
@@ -374,11 +413,10 @@
         </el-form-item>
         <el-form-item label="" prop="analysisName">
           <b style="color: #f00; font-size: 12px"
-            >不填写分析名称自动采用系统生成的名称!</b
+            >不填写分析主题,自动采用系统生成的主题!</b
           >
         </el-form-item>
-
-        <el-form-item label="分析名称" prop="analysisName">
+        <el-form-item label="分析主题" prop="analysisName">
           <el-input v-model="addRuleForm.analysisName"></el-input>
         </el-form-item>
         <el-form-item label="分析简述" prop="sketch">
@@ -404,6 +442,7 @@ import {
   queryCodeNum,
 } from "@/api/performance";
 import { from } from "plotly.js-dist";
+import { disable } from "ol/rotationconstraint";
 export default {
   components: {
     MyDialog,
@@ -452,7 +491,6 @@ export default {
   },
   created() {
     window.addEventListener("message", this.handleMessage); //江
-    this.getTableList();
   },
 
   beforeDestroy() {
@@ -473,7 +511,17 @@ export default {
                 message: "创建成功",
               });
               this.addDialogVisible = false;
-              this.getTableList();
+              this.loading = false;
+              this.isPolling = false;
+              await this.getTableList();
+              this.$router.push({
+                path: "/home/performance/editAssets",
+                query: {
+                  batchCode: this.tableData[0].batchCode,
+                  analysisTypeCode: this.tableData[0].analysisTypeCode,
+                  fieldEngineCode: this.tableData[0].fieldCode,
+                },
+              });
             }
           } catch (err) {
             console.error(err);
@@ -537,6 +585,22 @@ export default {
         console.error(err);
       }
     },
+    //插队接口
+    async insertQueue(row) {
+      this.$confirm(
+        `确认${row.onOffCall === 0 ? "开启" : "关闭"}插队?`,
+        "提示",
+        {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning",
+        }
+      )
+        .then(() => {
+          navigateToDetails();
+        })
+        .catch(() => {});
+    },
     //分析
     handleAssetss(row) {
       this.$router.push({
@@ -600,6 +664,7 @@ export default {
     // 修改 getTableList 方法,避免重复请求
     async getTableList() {
       // 如果正在请求中,跳过此次调用
+      console.log(this.loading, this.isPolling);
       if (this.loading || this.isPolling) return;
 
       this.loading = true;
@@ -616,6 +681,7 @@ export default {
 
         const result = await analysisResultList(params);
         this.tableData = result.data.list;
+        console.log(this.tableData, "result this.tableData");
         this.formInline.totalSize = result.data.totalSize;
       } catch (error) {
         this.$message({
@@ -629,13 +695,12 @@ export default {
 
     // 改进 handleMessage,避免频繁请求
     handleMessage(event) {
+      // console.log(event, "请求分析页面");
       // 确保消息来自当前域
       if (event.origin !== window.location.origin) {
         return;
       }
-
       const { fieldName, analysisState, errState } = event.data;
-
       // 更新表单字段
       if (fieldName !== undefined) {
         this.formInline.fieldName = fieldName;
@@ -651,8 +716,9 @@ export default {
       }
 
       // 如果当前没有请求中,才调用 getTableList
-      if (!this.loading) {
+      if (!this.loading && fieldName && analysisState) {
         this.getTableList();
+        // this.startPolling();
       }
     },
     rowStyle() {
@@ -708,7 +774,7 @@ export default {
             this.fetchData();
           }
         }
-      }, 3000); // 每10秒检查一次
+      }, 10000); // 每10秒检查一次
     },
 
     //创建分析
@@ -723,9 +789,10 @@ export default {
     },
   },
   mounted() {
+    this.getTableList();
     setTimeout(() => {
       this.startPolling();
-    }, 5000);
+    }, 10000);
   },
 };
 </script>

+ 2 - 2
src/views/performance/batchDetail.vue

@@ -1,7 +1,7 @@
 <!--
  * @Author: your name
  * @Date: 2025-01-09 10:28:04
- * @LastEditTime: 2025-01-09 15:02:30
+ * @LastEditTime: 2025-02-07 14:15:23
  * @LastEditors: bogon
  * @Description: In User Settings Edit
  * @FilePath: /performance-test/src/views/performance/batchDetail.vue
@@ -33,7 +33,7 @@
       <el-descriptions-item>
         <template slot="label">
           <i class="el-icon-mobile-phone"></i>
-          分析名称
+          分析主题
         </template>
         XXXX
       </el-descriptions-item>

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

@@ -1,7 +1,7 @@
 <!--
  * @Author: your name
  * @Date: 2024-05-29 09:13:51
- * @LastEditTime: 2025-01-21 09:10:16
+ * @LastEditTime: 2025-02-07 15:05:03
  * @LastEditors: bogon
  * @Description: In User Settings Edit
  * @FilePath: /performance-test/src/views/performance/components/analysisEvent.vue
@@ -65,8 +65,8 @@
 
             <el-col :xs="24" :sm="24" :md="12" :lg="8" :xl="5">
               <el-form-item
-                label="算法模型"
-                v-if="checkedCities.find((item) => item === '算法模型')"
+                label="分析类型"
+                v-if="checkedCities.find((item) => item === '分析类型')"
                 prop=""
               >
                 <el-select
@@ -88,7 +88,6 @@
                   ></el-option>
                 </el-select> </el-form-item
             ></el-col>
-
             <el-col :xs="24" :sm="24" :md="12" :lg="8" :xl="5">
               <el-form-item
                 label="数据源"
@@ -172,7 +171,7 @@
           </el-row>
         </el-collapse-item>
         <el-collapse-item
-          title="SACAD数据测点过滤设置:"
+          title="数据测点过滤设置:"
           name="2"
           v-if="checkedCities.find((item) => item === '数据源过滤')"
         >
@@ -276,13 +275,13 @@
           </el-row>
         </el-collapse-item>
         <el-collapse-item
-          title="图像系设置:"
+          title="图像坐标系设置:"
           name="3"
           v-if="checkedCities.find((item) => item === '图像设置')"
         >
           <el-row :gutter="5">
             <el-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
-              <el-form-item label="直驱发电机转速系">
+              <el-form-item label="直驱发电机转速坐标系">
                 <div class="demo-input-suffix">
                   <el-input
                     type="number"
@@ -315,7 +314,7 @@
               </el-form-item>
             </el-col>
             <el-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
-              <el-form-item label="非直驱发电机转速系设置">
+              <el-form-item label="非直驱发电机转速坐标系设置">
                 <div class="demo-input-suffix">
                   <el-input
                     type="number"
@@ -348,7 +347,7 @@
               </el-form-item>
             </el-col>
             <el-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
-              <el-form-item label="直驱发电机转矩系">
+              <el-form-item label="直驱发电机转矩坐标系">
                 <div class="demo-input-suffix">
                   <el-input
                     type="number"
@@ -381,7 +380,7 @@
               </el-form-item>
             </el-col>
             <el-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
-              <el-form-item label="非直驱发电机转矩系">
+              <el-form-item label="非直驱发电机转矩坐标系">
                 <div class="demo-input-suffix">
                   <el-input
                     type="number"
@@ -628,11 +627,11 @@
               <el-checkbox label="图像设置" key="图像设置"></el-checkbox>
               <div class="checkFromRow">
                 <el-row>
-                  <el-col :span="12">发电机转矩系</el-col>
-                  <el-col :span="12">桨距角系</el-col>
-                  <el-col :span="12">叶尖速比系</el-col>
-                  <el-col :span="12">有功功率系</el-col>
-                  <el-col :span="12">发电机转矩系</el-col>
+                  <el-col :span="12">发电机转矩坐标系</el-col>
+                  <el-col :span="12">桨距角坐标系</el-col>
+                  <el-col :span="12">叶尖速比坐标系</el-col>
+                  <el-col :span="12">有功功率坐标系</el-col>
+                  <el-col :span="12">发电机转矩坐标系</el-col>
                 </el-row>
               </div>
             </el-checkbox-group>

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

@@ -1,14 +1,19 @@
 <template>
-  <!-- <div style="height: 600px">
+  <div style="height: 600px">
     <div
       :id="`plotly-3d-chart-` + index"
       style="width: 100%; height: 600px"
     ></div>
-    <div v-loading="loading" :id="`plotly-3d-chart-` + index" ref="plotlyChart" style="height: 600px">
+    <div
+      v-loading="loading"
+      :id="`plotly-3d-chart-` + index"
+      ref="plotlyChart"
+      style="height: 600px"
+    >
       <el-empty v-if="isError" description="请求失败"></el-empty>
     </div>
-  </div> -->
-  <div>
+  </div>
+  <!-- <div>
     <div
       v-loading="loading"
       :id="`plotly-3d-chart-` + index"
@@ -17,7 +22,7 @@
     >
       <el-empty v-if="isError" description="请求失败"></el-empty>
     </div>
-  </div>
+  </div> -->
 </template>
 
 <script>

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

@@ -1,7 +1,7 @@
 <!--
  * @Author: your name
  * @Date: 2024-09-11 14:30:17
- * @LastEditTime: 2025-01-22 12:17:59
+ * @LastEditTime: 2025-02-10 16:01:39
  * @LastEditors: bogon
  * @Description: In User Settings Edit
  * @FilePath: /performance-test/src/views/performance/components/chartsCom/BarChart.vue
@@ -109,7 +109,6 @@ export default {
     // 绘制图表
     drawChart() {
       if (this.chartData.data.length === 0) return;
-
       const chartDataset = this.chartData.data[0];
       const trace = {
         x: chartDataset.xData, // 横坐标数据
@@ -150,7 +149,7 @@ export default {
       };
 
       const layout = {
-        title: this.chartData.analysisTypeCode || "图表", // 图表标题
+        title: chartDataset.title, // 图表标题
         xaxis: {
           title: this.chartData.xaixs || "X轴", // 横坐标标题
         },

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

@@ -1,7 +1,7 @@
 <!--
  * @Author: your name
  * @Date: 2025-01-15 15:49:57
- * @LastEditTime: 2025-01-15 16:32:47
+ * @LastEditTime: 2025-01-23 09:56:11
  * @LastEditors: bogon
  * @Description: In User Settings Edit
  * @FilePath: /performance-test/src/views/performance/components/chartsCom/FaultUntal.vue
@@ -75,7 +75,8 @@ export default {
           title: "故障机组",
           tickangle: 30,
           tickmode: "array",
-          tickvals: this.faultTypes.slice(0, 10),
+          tickvals: this.faultTypes.slice(0, 10), // 保证这里是字符串数组
+          ticktext: this.faultTypes.slice(0, 10), // 确保 ticktext 使用相同的标签
           tickfont: { size: 12 },
         },
         yaxis: {
@@ -94,6 +95,8 @@ export default {
           side: "right", // 右侧的 Y 轴
           position: 1, // 调整右侧轴的位置
           showline: true,
+          // tickvals: this.faultTypes.slice(0, 10), // 保证这里是字符串数组
+          // ticktext: this.faultTypes.slice(0, 10), // 确保 ticktext 使用相同的标签
           linecolor: "#1A295D", // 设置右侧轴线颜色
         },
         showlegend: false, // 显示图例

+ 3 - 1
src/views/performance/components/chartsCom/Radar.vue

@@ -76,10 +76,12 @@ export default {
         polar: {
           bgcolor: "#e5ecf6", // 设置背景色为黄色
           radialaxis: {
-            visible: true,
+            showline: false,
+            visible: false,
             range: [Math.min(...values) * 1.1, Math.max(...values) * 1.1], // 设置范围
             gridcolor: "white", // 设置径向网格线为白色
           },
+          gridshape: "linear", //设置形状默认圆形,可以设置为linear多边形
           angularaxis: {
             showline: false, // 隐藏 `angularaxis` 线
             showticklabels: true, // 隐藏角度标签

+ 10 - 15
src/views/performance/components/custonAsCom/DatabaseTable.vue

@@ -1,8 +1,8 @@
 <!--
  * @Author: your name
  * @Date: 2024-10-28 17:43:21
- * @LastEditTime: 2025-01-03 12:35:03
- * @LastEditors: milo-MBP
+ * @LastEditTime: 2025-02-05 13:59:03
+ * @LastEditors: bogon
  * @Description: In User Settings Edit
  * @FilePath: /performance-test/src/views/performance/components/custonAsCom/DatabaseTable.vue
 -->
@@ -197,25 +197,20 @@ export default {
       grouped.forEach((checkChildNode, parentNode) => {
         output.push({ parentNode, checkChildNode });
       });
-      const response = await axios.post(
-        "/databaseApi/databaseApi/filterTablesData",
-        {
-          database: { ...this.formLabelAlign },
-          filterData: output,
-        }
-      );
+      //代理58880会走两次代理
+      const response = await axios.post("/databaseApi/filterTablesData", {
+        database: { ...this.formLabelAlign },
+        filterData: output,
+      });
       this.conversionData(response.data);
     },
     submitForm(formName) {
       this.$refs[formName].validate(async (valid) => {
         if (valid) {
           try {
-            const response = await axios.get(
-              "/databaseApi/databaseApi/tables",
-              {
-                params: { ...this.formLabelAlign },
-              }
-            );
+            const response = await axios.get("/databaseApi/tables", {
+              params: { ...this.formLabelAlign },
+            });
             // this.tableFieldMap = response.data;
             this.initializeTreeData(response.data);
             this.$emit("closeDialog");

+ 8 - 10
src/views/performance/customAnalysis.vue

@@ -417,16 +417,14 @@ export default {
     //调用算法接口
     async fetchAlgorithmData(regionData) {
       try {
-        const res = await axios.post(
-          "/sAlgorithm/sAlgorithm/CalculateFeatures/",
-          {
-            data: regionData,
-            start_index:
-              this.ruleForm.min !== null ? Number(this.ruleForm.min) : null,
-            end_index:
-              this.ruleForm.max !== null ? Number(this.ruleForm.max) : null,
-          }
-        );
+        //代理http://106.120.102.238:58880这个端口会走2次代理
+        const res = await axios.post("/sAlgorithm/CalculateFeatures/", {
+          data: regionData,
+          start_index:
+            this.ruleForm.min !== null ? Number(this.ruleForm.min) : null,
+          end_index:
+            this.ruleForm.max !== null ? Number(this.ruleForm.max) : null,
+        });
         return JSON.parse(res.data, "res");
       } catch (error) {
         console.error("算法接口调用失败:", error);

+ 4 - 4
vue.config.js

@@ -66,8 +66,8 @@ module.exports = {
         // target: "http://192.168.5.4:16200", // 石月
         // target: "http://192.168.50.235:16200", // 内网
         // target: "http://192.168.5.15:16200",
-        // target: "http://192.168.50.235:16500", //演示环境
-        target: "http://106.120.102.238:26500", //外网演示环境
+        target: "http://192.168.50.235:16500", //演示环境
+        // target: "http://106.120.102.238:26500", //外网演示环境
         // target: "http://106.120.102.238:16700", // 外网16700  生产16600
         // target: "http://10.96.137.5",
         changeOrigin: true,
@@ -125,7 +125,7 @@ module.exports = {
       //自定义算法文佳
       "/sAlgorithm": {
         target: "http://192.168.50.235:8666", // 目标地址
-        // target: "http://106.120.102.238:58880",
+        // target: "http://106.120.102.238:58880",//这个代理会走两次代理转发
         changeOrigin: true,
         pathRewrite: {
           "^/sAlgorithm": "", // 如果后端需要 `/api` 前缀
@@ -134,7 +134,7 @@ module.exports = {
       //nodejs 数据库数据
       "/databaseApi": {
         target: "http://192.168.50.234:3000",
-        // target: "http://106.120.102.238:58880",
+        // target: "http://106.120.102.238:58880",//这个代理会走两次代理转发
         changeOrigin: true,
         pathRewrite: {
           "^/databaseApi": "", // 去掉 /databaseApi 前缀