Browse Source

常规消缺

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 4 months ago
parent
commit
2387bb171c
23 changed files with 401 additions and 464 deletions
  1. 6 3
      src/App.vue
  2. 11 23
      src/components/generatingCapacityComponent/table.vue
  3. 0 1
      src/components/generatingCapacityComponent/tree.vue
  4. 2 1
      src/store/index.js
  5. 107 103
      src/themeDark.less
  6. 1 1
      src/views/IntegratedAlarm/deviceConfig/components/windturbine.vue
  7. 2 2
      src/views/IntegratedAlarm/deviceConfig/index.vue
  8. 26 26
      src/views/IntegratedAlarm/safe/components/safecomponent.vue
  9. 30 15
      src/views/IntegratedAlarm/safe/historyWarning/index.vue
  10. 2 2
      src/views/generatingCapacity/dataAnalysis/agcAnalysis/index.vue
  11. 5 12
      src/views/generatingCapacity/dataAnalysis/angleAnalysis/index.vue
  12. 37 36
      src/views/generatingCapacity/dataAnalysis/combine/index.vue
  13. 1 4
      src/views/generatingCapacity/dataAnalysis/hotAnalysis/index.vue
  14. 1 2
      src/views/generatingCapacity/dataAnalysis/lineAnalysis/index.vue
  15. 38 11
      src/views/generatingCapacity/dataAnalysis/posAnalysis/components/leafletMap.vue
  16. 1 1
      src/views/generatingCapacity/dataAnalysis/posAnalysis/index.vue
  17. 2 16
      src/views/generatingCapacity/dataAnalysis/rateAnalysis/index.vue
  18. 2 3
      src/views/generatingCapacity/dataAnalysis/spaceAnalysis/index.vue
  19. 7 5
      src/views/generatingCapacity/dataAnalysis/windAnalysis/index.vue
  20. 0 8
      src/views/powerPrediction/component/power.json
  21. 2 2
      src/views/powerPrediction/homePageNoMap.vue
  22. 116 185
      src/views/powerPrediction/powerPredictionPage.vue
  23. 2 2
      src/views/powerPrediction/statisticalSummaryPage.vue

File diff suppressed because it is too large
+ 6 - 3
src/App.vue


+ 11 - 23
src/components/generatingCapacityComponent/table.vue

@@ -15,7 +15,7 @@
         viewBox="0 -120 1024 1024"
         version="1.1"
         style="cursor: pointer"
-        @click="handlefilesExport(tableId)"
+        @click="handlefilesExport"
         xmlns="http://www.w3.org/2000/svg"
         p-id="2706"
         width="35"
@@ -170,32 +170,20 @@ export default {
         if (typeof console !== "undefined") console.error(e);
       }
     },
-    handlefilesExport(id) {
+    handlefilesExport() {
         ElMessageBox.confirm("确认导出当前节点的所有数据?", "导出", {
             confirmButtonText: "确认",
             cancelButtonText: "取消",
             type: "warning",
           }).then(() => {
-            if (id === "1") {
-                this.handleExport()
-            } else {
-                // const a = document.createElement("a");
-                // let childs = [];
-                // const url = "/export/files?filename="
-                // a.href =
-                //   process.env.VUE_APP_GENERAT_URL + url + this.tableFilePath;
-                // a.download = "";
-                // a.target = "_blank";
-                // a.click();
-                const a = document.createElement("a");
-                const url = "/data/option/download?ids="
-                a.href =
-                  // config.baseURL + url + childs.join(",");
-                  process.env.VUE_APP_GENERAT_URL + url + id;
-                a.download = "";
-                a.target = "_blank";
-                a.click();
-            }
+            const a = document.createElement("a");
+            let childs = [];
+            const url = "/export/files?filename="
+            a.href =
+              process.env.VUE_APP_GENERAT_URL + url + this.tableFilePath;
+            a.download = "";
+            a.target = "_blank";
+            a.click();
           });
     },
   },
@@ -214,7 +202,7 @@ export default {
     display: flex;
 
     p {
-      width: 7%;
+      width: 5%;
       text-overflow: ellipsis;
       white-space: nowrap;
       overflow: hidden;

+ 0 - 1
src/components/generatingCapacityComponent/tree.vue

@@ -349,7 +349,6 @@ export default {
               this.type === "wind"
                 ? "/data/option/download?ids="
                 : "/export/files?filename=";
-
             a.href =
               // config.baseURL + url + childs.join(",");
               process.env.VUE_APP_GENERAT_URL + url + childs.join(",");

+ 2 - 1
src/store/index.js

@@ -19,7 +19,8 @@ export default createStore({
     warningList: [], //实时报警列表
     stationListAll: [],
     baseURL: process.env.VUE_APP_ALARM,
-    baseURL1: process.env.VUE_APP_ADP_BASE_URL
+    baseURL1: process.env.VUE_APP_ADP_BASE_URL,
+    warningListLimitLength: 30,
   },
   getters: {
   },

+ 107 - 103
src/themeDark.less

@@ -25,23 +25,23 @@
 @jbs5: linear-gradient(to right, #f1880c, #ffd179);
 @jbs6: linear-gradient(to right, #ff293d, #ff9ea7);
 
-@green          : #05bb4c;
-@gray           : #606769;
-@gray-l         : #B3BDC0;
+@green : #05bb4c;
+@gray : #606769;
+@gray-l : #B3BDC0;
 @picker-bg-color: fade(rgb(3, 7, 19), 95);
 
-@primary-color    : #2568c4;
-@border-color     : transparent;
-@text-color       : #fff;
+@primary-color : #2568c4;
+@border-color : transparent;
+@text-color : #fff;
 @placeholder-color: #c0c4cc;
-@disabled-color   : #c0c4cc;
-@disabled-bg      : #000;
+@disabled-color : #c0c4cc;
+@disabled-bg : #000;
 
 .nsfStyle {
     #app {
 
         .themeDarkHome {
-            background: @mc1  !important;
+            background: @mc1 !important;
         }
 
         .themeDark {
@@ -52,11 +52,11 @@
 
                 .proMenu {
                     .defaultBacksty {
-                        color: @fc6  !important;
+                        color: @fc6 !important;
                     }
 
                     .changeBacksty {
-                        color       : @fzs2  !important;
+                        color: @fzs2 !important;
                         border-color: @mc3;
                     }
                 }
@@ -143,7 +143,7 @@
             // 首页点击地图风场后左侧的滑出窗口
             .infoBox {
                 .el-button {
-                    color: @fzs2  !important;
+                    color: @fzs2 !important;
                 }
 
                 p,
@@ -204,7 +204,7 @@
                 .excelDataMain,
                 .tableDataMain {
                     background: @mc2;
-                    padding   : 10px 5px;
+                    padding: 10px 5px;
 
                     .main {
                         background: #13171e;
@@ -216,7 +216,7 @@
 
 
             .scrollbar-demo-item {
-                background  : rgba(83, 98, 104, .2);
+                background: rgba(83, 98, 104, .2);
                 border-color: #1890ff;
             }
 
@@ -235,12 +235,12 @@
             // 基本样式
             .el-input__wrapper {
                 background-color: rgba(83, 98, 104, .2);
-                border-radius   : 4px;
-                border          : 1px solid @border-color;
+                border-radius: 4px;
+                border: 1px solid @border-color;
 
                 // 输入框
                 .el-input__inner {
-                    color    : @text-color;
+                    color: @text-color;
                     font-size: 14px;
 
                     &::placeholder {
@@ -256,7 +256,7 @@
                 // 聚焦状态
                 &.is-focus {
                     border-color: @primary-color;
-                    box-shadow  : 0 0 0 2px fade(@primary-color, 20%);
+                    box-shadow: 0 0 0 2px fade(@primary-color, 20%);
                 }
             }
 
@@ -264,7 +264,7 @@
             &.is-disabled {
                 .el-input__wrapper {
                     background-color: @disabled-bg;
-                    border-color    : @border-color;
+                    border-color: @border-color;
 
                     .el-input__inner {
                         color: @disabled-color;
@@ -297,8 +297,8 @@
             // 基本样式
             .el-select__wrapper {
                 background-color: rgba(83, 98, 104, .2);
-                border-radius   : 4px;
-                border          : 1px solid @border-color;
+                border-radius: 4px;
+                border: 1px solid @border-color;
 
                 .el-select__placeholder {
                     color: #fff;
@@ -312,7 +312,7 @@
                 // 聚焦状态
                 &.is-focus {
                     border-color: @primary-color;
-                    box-shadow  : 0 0 0 2px fade(@primary-color, 20%);
+                    box-shadow: 0 0 0 2px fade(@primary-color, 20%);
                 }
             }
 
@@ -320,7 +320,7 @@
             &.is-disabled {
                 .el-input__wrapper {
                     background-color: @disabled-bg;
-                    border-color    : @border-color;
+                    border-color: @border-color;
 
                     .el-input__inner {
                         color: @disabled-color;
@@ -330,7 +330,7 @@
 
             // 下拉箭头
             .el-select__caret {
-                color    : @placeholder-color;
+                color: @placeholder-color;
                 font-size: 14px;
 
                 &.is-reverse {
@@ -363,7 +363,7 @@
             background: #13171e;
 
             .topPsty {
-                color     : #1c99ff;
+                color: #1c99ff;
                 background: #1e2126;
             }
         }
@@ -386,7 +386,7 @@
     .el-table,
     .custom-table.el-table {
         background: rgb(3, 7, 19);
-        border    : 0px; // 包裹表格父元素边框
+        border: 0px; // 包裹表格父元素边框
 
         .el-table__row {
             background: transparent; // 表格底色,因表格上层有其他颜色遮挡所以视觉效果看起来仿佛是表格边框
@@ -416,17 +416,17 @@
             }
 
             &:hover td {
-                color           : #67b9ff; // 表格基数行 hover 文字颜色
+                color: #67b9ff; // 表格基数行 hover 文字颜色
                 background-color: rgb(3, 7, 19) !important; // 表格基数行 hover 背景颜色
             }
         }
 
         td {
-            border     : 0px; // 表格内部除了最后一行底部以外的上下左右边框
-            padding    : 0;
-            height     : 37px;
+            border: 0px; // 表格内部除了最后一行底部以外的上下左右边框
+            padding: 0;
+            height: 37px;
             line-height: 37px;
-            color      : rgb(194, 225, 255);
+            color: rgb(194, 225, 255);
 
             &.light,
             &.always-light {
@@ -435,14 +435,14 @@
         }
 
         th {
-            border     : 0px;
-            padding    : 0px;
-            height     : 37px;
+            border: 0px;
+            padding: 0px;
+            height: 37px;
             line-height: 37px;
             font-weight: normal;
-            text-align : center;
-            color      : rgb(85, 113, 166);
-            cursor     : pointer;
+            text-align: center;
+            color: rgb(85, 113, 166);
+            cursor: pointer;
 
             &.is-leaf {
                 border: 0px;
@@ -457,27 +457,27 @@
         th,
         tr {
             background-color: transparent;
-            border          : 0px;
+            border: 0px;
         }
 
         thead {
-            color      : @gray-l;
+            color: @gray-l;
             font-weight: 500;
-            font-size  : 14px;
-            border     : 0px;
+            font-size: 14px;
+            border: 0px;
 
             th,
             &.is-group th {
                 &.el-table__cell {
-                    background  : rgb(19, 35, 71);
+                    background: rgb(19, 35, 71);
                     border-color: transparent !important;
-                    color       : #bcd2ff;
+                    color: #bcd2ff;
                 }
             }
         }
 
         .el-table__body {
-            border   : 0px; // 表格最外侧除右边以外边框
+            border: 0px; // 表格最外侧除右边以外边框
             font-size: 14px;
         }
 
@@ -487,7 +487,7 @@
             }
 
             &:hover td {
-                color           : #67b9ff;
+                color: #67b9ff;
                 background-color: rgb(16, 25, 46) !important; // 表格偶数行 hover 背景颜色
             }
 
@@ -520,7 +520,7 @@
         .el-table,
         .custom-table.el-table {
             background: rgb(3, 7, 19);
-            border    : 1px solid rgba(33, 105, 195, 0.5) !important; // 包裹表格父元素边框
+            border: 1px solid rgba(33, 105, 195, 0.5) !important; // 包裹表格父元素边框
 
             .el-table__row {
                 background: transparent; // 表格底色,因表格上层有其他颜色遮挡所以视觉效果看起来仿佛是表格边框
@@ -554,17 +554,17 @@
                 }
 
                 &:hover td {
-                    color           : #67b9ff; // 表格基数行 hover 文字颜色
+                    color: #67b9ff; // 表格基数行 hover 文字颜色
                     background-color: rgb(3, 7, 19) !important; // 表格基数行 hover 背景颜色
                 }
             }
 
             td {
-                border     : 0px; // 表格内部除了最后一行底部以外的上下左右边框
-                padding    : 0;
-                height     : 37px;
+                border: 0px; // 表格内部除了最后一行底部以外的上下左右边框
+                padding: 0;
+                height: 37px;
                 line-height: 37px;
-                color      : rgb(194, 225, 255);
+                color: rgb(194, 225, 255);
 
                 &.light,
                 &.always-light {
@@ -573,14 +573,14 @@
             }
 
             th {
-                border     : 0px;
-                padding    : 0px;
-                height     : 37px;
+                border: 0px;
+                padding: 0px;
+                height: 37px;
                 line-height: 37px;
                 font-weight: normal;
-                text-align : center;
-                color      : rgb(85, 113, 166);
-                cursor     : pointer;
+                text-align: center;
+                color: rgb(85, 113, 166);
+                cursor: pointer;
 
                 &.is-leaf {
                     border: 0px;
@@ -595,27 +595,27 @@
             th,
             tr {
                 background-color: transparent;
-                border          : 0px;
+                border: 0px;
             }
 
             thead {
-                color      : @gray-l;
+                color: @gray-l;
                 font-weight: 500;
-                font-size  : 14px;
-                border     : 0px;
+                font-size: 14px;
+                border: 0px;
 
                 th,
                 &.is-group th {
                     &.el-table__cell {
-                        background  : rgb(19, 35, 71) !important;
+                        background: rgb(19, 35, 71) !important;
                         border-color: transparent !important;
-                        color       : #bcd2ff;
+                        color: #bcd2ff;
                     }
                 }
             }
 
             .el-table__body {
-                border   : 0px; // 表格最外侧除右边以外边框
+                border: 0px; // 表格最外侧除右边以外边框
                 font-size: 14px;
             }
 
@@ -625,7 +625,7 @@
                 }
 
                 &:hover td {
-                    color           : #67b9ff;
+                    color: #67b9ff;
                     background-color: rgb(16, 25, 46) !important; // 表格偶数行 hover 背景颜色
                 }
 
@@ -665,7 +665,7 @@
 
     .el-table__footer-wrapper tfoot td.el-table__cell {
         background: transparent;
-        color     : #c2e1ff;
+        color: #c2e1ff;
     }
 
     .el-table__footer-wrapper tfoot tr:hover {
@@ -685,7 +685,7 @@
     .el-dialog.currentDialog,
     .el-dialog[custom-class="windLifeDialog"] {
         background: rgba(3, 7, 19, 0.95);
-        border    : 1px solid rgba(33, 105, 195, 0.5);
+        border: 1px solid rgba(33, 105, 195, 0.5);
         box-shadow: 0px 8px 17px 1px rgba(33, 105, 195, 0.3);
 
         .el-dialog__title {
@@ -722,20 +722,20 @@
 
     .el-select-dropdown__wrap {
         background-color: rgb(10, 23, 42);
-        border          : 1px solid rgb(10, 23, 42);
-        border-radius   : 4px;
-        box-shadow      : 0 2px 12px 0 rgba(0, 0, 0, 0.1);
+        border: 1px solid rgb(10, 23, 42);
+        border-radius: 4px;
+        box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
 
         .el-select-dropdown__item {
-            font-size    : 14px;
-            padding      : 0 20px;
-            position     : relative;
-            white-space  : nowrap;
-            overflow     : hidden;
+            font-size: 14px;
+            padding: 0 20px;
+            position: relative;
+            white-space: nowrap;
+            overflow: hidden;
             text-overflow: ellipsis;
-            color        : @text-color;
-            height       : 34px;
-            line-height  : 34px;
+            color: @text-color;
+            height: 34px;
+            line-height: 34px;
 
             &.hover,
             &.is-hovering,
@@ -744,22 +744,22 @@
             }
 
             &.is-selected {
-                color      : @fzs2;
+                color: @fzs2;
                 font-weight: 400;
 
                 &:hover {
                     background: @fzs2;
-                    color     : #fff;
+                    color: #fff;
                 }
 
                 &.is-hovering {
                     background: @fzs2;
-                    color     : #fff;
+                    color: #fff;
                 }
             }
 
             &.is-disabled {
-                color : @disabled-color;
+                color: @disabled-color;
                 cursor: not-allowed;
             }
         }
@@ -767,19 +767,19 @@
 
     // 多选样式
     .el-select .el-select__selection.is-near {
-        position   : absolute;
+        position: absolute;
         line-height: normal;
         white-space: normal;
-        z-index    : 1;
-        top        : 50%;
-        transform  : translateY(-50%);
-        display    : flex;
+        z-index: 1;
+        top: 50%;
+        transform: translateY(-50%);
+        display: flex;
         align-items: center;
-        flex-wrap  : wrap;
+        flex-wrap: wrap;
 
         .el-tag {
             background: #000;
-            color     : @text-color;
+            color: @text-color;
         }
     }
 
@@ -792,7 +792,7 @@
 
             &.is-checked {
                 .el-radio__inner {
-                    background  : @fzs2;
+                    background: @fzs2;
                     border-color: @fzs2;
                 }
 
@@ -848,7 +848,7 @@
                     td.current:not(.disabled) {
                         .el-date-table-cell__text {
                             background: @fzs2;
-                            color     : #fff;
+                            color: #fff;
                         }
                     }
 
@@ -861,7 +861,7 @@
                 td.current:not(.disabled) {
                     .cell {
                         background: @fzs2;
-                        color     : #fff;
+                        color: #fff;
                     }
                 }
             }
@@ -879,7 +879,7 @@
 
                 &:hover {
                     background: @mc3;
-                    color     : @fc1;
+                    color: @fc1;
                 }
             }
 
@@ -887,7 +887,7 @@
 
         .el-input__wrapper {
             background-color: rgba(83, 98, 104, .2);
-            border          : 1px solid @border-color;
+            border: 1px solid @border-color;
 
             .el-input__inner {
                 color: #fff;
@@ -895,9 +895,9 @@
         }
 
         .el-time-panel {
-            border-color    : #fff;
+            border-color: #fff;
             background-color: rgb(3, 7, 19);
-            box-shadow      : var(--el-box-shadow-light);
+            box-shadow: var(--el-box-shadow-light);
         }
 
         .el-time-spinner__item {
@@ -933,7 +933,7 @@
         }
 
         .el-button.is-plain {
-            color       : #67b9ff;
+            color: #67b9ff;
             border-color: #67b9ff;
         }
     }
@@ -952,11 +952,15 @@
         .el-loading-spinner .path {
             stroke: #2169c3 !important;
         }
+
+        .el-loading-text {
+            color: #2169c3 !important;
+        }
     }
 
     .el-textarea__inner {
         background: rgba(83, 98, 104, .2);
-        color     : @text-color;
+        color: @text-color;
     }
 
     .el-tabs {
@@ -964,7 +968,7 @@
             color: #c2e1ff !important;
 
             &.is-active {
-                color: @fzs2  !important;
+                color: @fzs2 !important;
             }
         }
     }
@@ -979,7 +983,7 @@
             color: #c2e1ff !important;
 
             &.is-active {
-                color     : @fzs2  !important;
+                color: @fzs2 !important;
                 background: rgba(3, 7, 19, 0.95);
 
             }
@@ -1000,7 +1004,7 @@
         }
 
         .el-pager .number {
-            color     : #fff;
+            color: #fff;
             background: transparent;
 
             &:hover {
@@ -1016,9 +1020,9 @@
     .point-popover {
         .el-popper__arrow {
             &:before {
-                border-color      : var(--el-popover-border-color) !important;
+                border-color: var(--el-popover-border-color) !important;
                 border-right-color: transparent !important;
-                border-top-color  : transparent !important;
+                border-top-color: transparent !important;
             }
         }
     }

+ 1 - 1
src/views/IntegratedAlarm/deviceConfig/components/windturbine.vue

@@ -824,7 +824,7 @@ const levelIdConvert = (val) => {
     case 4:
       return "中高级";
     case 5:
-      return "限电/高级";
+      return "高级";
     default:
       return "";
   }

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

@@ -38,10 +38,10 @@
           <el-tab-pane label="遥信点" v-if="1">
             <yxpoint />
           </el-tab-pane>
-          <el-tab-pane label="设备报警" v-if="1">
+          <el-tab-pane label="报警" v-if="1">
             <windturbine />
           </el-tab-pane>
-          <el-tab-pane label="故障预警" v-if="1">
+          <el-tab-pane label="预警" v-if="1">
             <custom />
           </el-tab-pane>
           <!-- 故障原因模块隐藏,模块内修改与新增接口异常,导入 excel 接口404 -->

+ 26 - 26
src/views/IntegratedAlarm/safe/components/safecomponent.vue

@@ -18,7 +18,7 @@
     <el-table :data="alarmList" style="width: 100%" height="calc(100% - 51px)">
       <el-table-column
         prop="tsName"
-        label="报警时间"
+        label="时间"
         width="120"
         show-overflow-tooltip
         align="center"
@@ -39,7 +39,7 @@
       />
       <el-table-column
         prop="description"
-        label="报警信息"
+        label="信息"
         align="left"
         show-overflow-tooltip
       />
@@ -105,7 +105,7 @@
         >
           <el-table-column
             prop="fullTsName"
-            label="报警时间"
+            label="时间"
             width="220"
             align="center"
             show-overflow-tooltip
@@ -120,18 +120,18 @@
 
           <el-table-column
             prop="code"
-            label="报警设备"
+            label="设备"
             width="100"
             align="center"
             show-overflow-tooltip
           />
           <!-- <el-table-column
             prop="characteristic"
-            label="报警特征"
+            label="特征"
             width="100"
             show-overflow-tooltip
           /> -->
-          <el-table-column label="报警描述" align="left">
+          <el-table-column label="描述" align="left">
             <template #default="scope">
               <span
                 class="alertDescCursor"
@@ -142,7 +142,7 @@
           </el-table-column>
           <el-table-column
             prop="faultCause"
-            label="报警故障原因"
+            label="故障原因"
             align="left"
             show-overflow-tooltip
           >
@@ -152,7 +152,7 @@
           </el-table-column>
           <el-table-column
             prop=""
-            label="报警解除时间"
+            label="解除时间"
             align="center"
             width="220"
             show-overflow-tooltip
@@ -163,7 +163,7 @@
           </el-table-column>
           <!-- <el-table-column
             prop="resolvent"
-            label="报警解决方法"
+            label="解决方法"
             show-overflow-tooltip
           /> -->
           <!-- <el-table-column label="级别" width="100" show-overflow-tooltip>
@@ -182,7 +182,7 @@
             </template>
           </el-table-column> -->
           <el-table-column
-            label="报警是否解除"
+            label="是否解除"
             width="120"
             align="center"
             show-overflow-tooltip
@@ -252,20 +252,20 @@ export default {
     return {
       alarmList: [
         {
-            tsName: '06-11 12:00:00',
-            wpName: '风电场1',
-            deviceName: '#36',
-            description: '变频器报告电网已接入',
-            isClose: true
+          tsName: "06-11 12:00:00",
+          wpName: "风电场1",
+          deviceName: "#36",
+          description: "变频器报告电网已接入",
+          isClose: true,
         },
         {
-            tsName: '06-11 12:00:00',
-            wpName: '风电场2',
-            deviceName: '#58',
-            description: '风机等待运行就绪',
-            isClose: false
-        }
-    ],
+          tsName: "06-11 12:00:00",
+          wpName: "风电场2",
+          deviceName: "#58",
+          description: "风机等待运行就绪",
+          isClose: false,
+        },
+      ],
       iconfontsObj: {
         booststation: "iconIOTtubiao_huabanfuben",
         windturbine: "iconfengji",
@@ -386,7 +386,7 @@ export default {
     goToAlertDescPage(alertItem) {
       if (this.alarmType == "custom") {
         this.$router.push({
-          path: "/integratedAlarm/safe/customWarning",
+          path: "/integratedAlarm/customWarning",
           query: {
             deviceId: alertItem.deviceId,
             alarmId: alertItem.alarmId,
@@ -395,7 +395,7 @@ export default {
         });
       } else if (this.alarmType == "booststation") {
         this.$router.push({
-          path: "/integratedAlarm/safe/historyWarning",
+          path: "/integratedAlarm/historyWarning",
           query: {
             deviceId: alertItem.wpName,
             alarmId: alertItem.alarmId,
@@ -404,7 +404,7 @@ export default {
         });
       } else {
         this.$router.push({
-          path: "/integratedAlarm/safe/historyWarning",
+          path: "/integratedAlarm/historyWarning",
           query: {
             deviceId: alertItem.deviceId,
             alarmId: alertItem.alarmId,
@@ -417,7 +417,7 @@ export default {
   },
 
   watch: {
-    "$store.state.warningList.length"() {
+    "$store.state.warningList.length"(value) {
       this.initWarningList();
     },
   },

+ 30 - 15
src/views/IntegratedAlarm/safe/historyWarning/index.vue

@@ -104,6 +104,8 @@
               size="mini"
               placeholder="全部"
               popper-class="select"
+              multiple
+              collapse-tags
             >
               <el-option
                 v-for="item in componentList"
@@ -155,14 +157,14 @@
         >
           导出</el-button
         >
-        <el-button
+        <!-- <el-button
           class="buttons"
           round
           size="mini"
           :disabled="!state.tableData?.length"
           @click="confirmItem(state.tableData)"
           >确认本页</el-button
-        >
+        > -->
       </div>
     </div>
 
@@ -209,6 +211,10 @@
                 >
                   {{ scope.row.confirmed ? "是" : "否" }}
                 </span>
+                <span v-else-if="item.code == 'components'">
+                  <!-- {{ getComponentsName(scope.row.components) }} -->
+                  {{ scope.row.components }}
+                </span>
                 <span v-else>
                   {{
                     scope.row[item.code] != "NULL" ? scope.row[item.code] : "--"
@@ -299,8 +305,8 @@
           :total="query.pageTotal"
           @size-change="
             (value) => {
-              query.page = 1;
               query.limit = value;
+              query.page = 1;
               getAlarmHistoryt();
             }
           "
@@ -333,6 +339,14 @@ const store = useStore();
 
 const route = useRoute();
 
+const getComponentsName = (components) => {
+  const listItem =
+    componentList?.value?.find((ele) => {
+      return ele.nemCode === components;
+    }) || {};
+  return listItem?.name || "";
+};
+
 onMounted(() => {
   state.dateTime = [
     dayjs().startOf("day").format("YYYY-MM-DD HH:mm:ss"),
@@ -401,7 +415,7 @@ onMounted(() => {
   });
 
   getStationList(); //场站
-  getAlarmHistoryt();
+  // getAlarmHistoryt();
 
   getequipmentmodel_list(); //机型
   getfetchRelatePart(); //部件
@@ -477,7 +491,7 @@ const state = reactive({
   modelListAll: {},
   fetchListAll: {},
   modelId: "", //型号
-  components: "", //部件
+  components: [], //部件
   description: "", //描述
   dateTime: [],
   startDate: null,
@@ -492,7 +506,7 @@ const state = reactive({
     { title: "报警信息", code: "description", width: "180" },
     { title: "故障原因", code: "faultCause" },
     // { title: "级别", code: "rank", width: "80" },
-    { title: "故障编码", code: "nemCode", width: "100" },
+    { title: "部件类型", code: "components", width: "120" },
     // { title: "故障解决方法", code: "resolvent" },
     { title: "报警解除时间", code: "endtsName", width: "150" },
     {
@@ -619,14 +633,14 @@ const componentList = computed(() => {
 //get 风机
 const getWindturbineList = async () => {
   state.deviceId = "";
-  const { data } = await fetchWindturbineList(state.stationId);
+  const { data } = await fetchWindturbineList(state.stationId || "");
   state.windturbineList = data;
   //   state.modelId = modelList.value?.[0]?.id || "";
   await getAlarmHistoryt();
 };
 const query = reactive({
   page: 1,
-  limit: 21,
+  limit: 1000,
   pageTotal: null,
 });
 
@@ -641,7 +655,7 @@ const getAlarmHistoryt = async () => {
     stationid: state.stationId,
     deviceid: state.typeVal == "booststation" ? "" : state.deviceId,
     modelId: state.typeVal == "booststation" ? "" : state.modelId,
-    components: state.components,
+    components: state.components.toString(),
     description: state.description,
     begin: state.dateTime[0],
     end: state.dateTime[1],
@@ -663,6 +677,7 @@ const getAlarmHistoryt = async () => {
   });
   state.tableData = data?.ls;
 };
+
 //报警类型变化
 const typechange = () => {
   state.alarmId = "";
@@ -674,7 +689,7 @@ const typechange = () => {
 const export2Excel = async () => {
   let params = {
     pageNum: query.page,
-    pageSize: query.pageTotal,
+    pageSize: query.limit,
     alarmType: state.typeVal,
     stationId: state.stationId,
     deviceId: state.typeVal == "booststation" ? "" : state.deviceId,
@@ -701,9 +716,10 @@ const export2Excel = async () => {
       tableHeader = state.tableHeader1.map((item) => item.title);
       tableKey = state.tableHeader1.map((item) => item.code);
     }
-    const stationName = stationList.value.find((ele) => {
-      return ele.id === state.stationId;
-    }).name;
+    const stationName =
+      stationList.value.find((ele) => {
+        return ele.id === state.stationId;
+      })?.name || "";
     const fileName = `${stationName} ${state.dateTime[0]} ~ ${state.dateTime[1]} 数据表`;
     outExportExcel(
       tableHeader,
@@ -808,8 +824,7 @@ p {
       margin-right: 10px;
       position: absolute;
       right: 0;
-      // top: 53px;
-      top: 10px;
+      top: 53px;
     }
 
     .buttons {

+ 2 - 2
src/views/generatingCapacity/dataAnalysis/agcAnalysis/index.vue

@@ -246,7 +246,7 @@ const createMark = (markInfo) => {
 const funSubmit = async (params) => {
   activeTab.value = "2";
   tableShowId.value = "";
-  tableName.value = "AGC";
+  tableName.value = "AGC曲线分析";
   tableLoading.value = true;
   const res = await httpRequest.get("/agc/deviate", {
     params: params,
@@ -473,7 +473,7 @@ const abnormalPoint = ref([]);
 const initPageData = () => {
   activeTab.value = "2";
   tableShowId.value = "";
-  tableName.value = "AGC";
+  tableName.value = "AGC曲线分析";
   tableLoading.value = true;
   const res = JSON.parse(JSON.stringify(jsonData.deviateData));
   // const res = agcJson

+ 5 - 12
src/views/generatingCapacity/dataAnalysis/angleAnalysis/index.vue

@@ -45,14 +45,13 @@
                 :column="tableColumn"
                 :theme="theme"
                 :height="tableHeight"
-                :tableId="tableShowId"
+                tableId="1"
                 :tableName="tableName"
                 :rowstyle="true"
               ></table-cop>
             </div>
             <div v-show="activeTab === '1'" :style="{ height: tableHeight }">
               <!-- :height="`calc( ${tableHeight})`" -->
-              <p :style="!theme ? 'color: #fff' : 'color: #000'" style="width: 100%;text-align: center">变桨角度偏差率:{{angleData*100}}%</p>
               <CurrentScatterChart
                 ref="chartRef"
                 width="100%"
@@ -157,8 +156,7 @@ const funExcelChange = async (obj) => {
   funSubmit({
     ids: obj.id,
   });
-  tableShowId.value = obj.id
-  tableName.value = obj.name.substring(0, obj.name.indexOf('_'));
+  tableName.value = obj.name;
   getSpeedLine({
     ids: obj.id,
   });
@@ -196,9 +194,8 @@ const funRepeatMap = (arr, type) => {
 };
 
 const funGetTree = async () => {
-//   const res = await httpRequest.get("/power/prepare/treepitch");
-  const res = await httpRequest.get("/power/process/tree");
-  treeData.value = funRepeatMap(res.data, "process");
+  const res = await httpRequest.get("/power/prepare/treepitch");
+  treeData.value = funRepeatMap(res.data, "prepare");
   excelList.value = [];
   if (actTreeNode.value) {
     funCurrentChange({
@@ -278,7 +275,6 @@ const chartRef = ref(); //chart 的ref
 const seriesData = ref([]);
 const seriesAllData = ref([]);
 const dataSet = ref("");
-const angleData = ref("");
 const funChartSelect = async (batch) => {
   return false;
 };
@@ -291,8 +287,6 @@ const funSubmit = async (params) => {
     return false;
   }
 
-  angleData.value = res.data.angle
-
   let exTime = [];
   let yp1 = [],
     yp2 = [],
@@ -542,8 +536,7 @@ const initPageData = () => {
       },
     ];
 
-    tableShowId.value = obj.id
-    tableName.value = obj.name.substring(0, obj.name.indexOf('_'));
+    tableName.value = obj.name;
 
     let xAsis = [];
     let series = [];

+ 37 - 36
src/views/generatingCapacity/dataAnalysis/combine/index.vue

@@ -16,7 +16,7 @@
             @refresh="funGetTree"
           >
           </tree-cop>
-          <div style="padding: 5px 0;border-radius: 5px;" :style="!theme ? 'background: #181A1E' : 'background: #cdcdde'" >
+          <div style="padding: 5px 0;border-radius: 5px;" :style="theme === false ? 'background: #181A1E' : 'background: #cdcdde'" >
             <tree-cop
                 :dropdownMenu="['export', 'delete', 'save']"
                 :data="processTreeData"
@@ -153,28 +153,32 @@
         </el-tab-pane>
         <el-tab-pane label="故障" name="problem">
           <el-table :data="faultData" row-key="id" :max-height="550">
-            <el-table-column property="wtid" align="center" label="风机" />
+            <el-table-column property="deviceId" align="center" label="风机" />
             <el-table-column
-              property="time"
+              property="ts"
               sortable
               :width="160"
               align="center"
               label="时间"
-            />
+            >
+              <template v-slot="scope">
+                {{ new Date(scope.row.ts).formatDate("yyyy-MM-dd hh:mm:ss") }}
+              </template>
+            </el-table-column>
             <el-table-column
-              property="tx"
+              property="characteristic"
               sortable
               align="center"
               label="特性"
             />
             <el-table-column
-              property="bj"
+              property="components"
               sortable
               align="center"
               label="部件"
             />
             <el-table-column
-              property="alarmname"
+              property="description"
               sortable
               align="center"
               label="描述"
@@ -183,28 +187,32 @@
         </el-tab-pane>
         <el-tab-pane label="预警" name="warning">
           <el-table :data="warnData" row-key="id" :max-height="550">
-            <el-table-column property="wtid" align="center" label="风机" />
+            <el-table-column property="deviceId" align="center" label="风机" />
             <el-table-column
-              property="time"
+              property="ts"
               sortable
               :width="160"
               align="center"
               label="时间"
-            />
+            >
+              <template v-slot="scope">
+                {{ new Date(scope.row.ts).formatDate("yyyy-MM-dd hh:mm:ss") }}
+              </template>
+            </el-table-column>
             <el-table-column
-              property="tx"
+              property="characteristic"
               sortable
               align="center"
               label="特性"
             />
             <el-table-column
-              property="bj"
+              property="components"
               sortable
               align="center"
               label="部件"
             />
             <el-table-column
-              property="alarmname"
+              property="description"
               sortable
               align="center"
               label="描述"
@@ -617,7 +625,6 @@ const chartRef = ref(); //chart 的ref
 const seriesData = ref([]);
 const isChartArea = ref(false); // 用来控制图表是否区域划分
 const dataSet = ref("");
-const allpowerFittingData = ref([])
 const funChartSelect = async (batch) => {
   const wDataArr = [];
   const yDataArr = [];
@@ -647,14 +654,6 @@ const funChartSelect = async (batch) => {
           only: dataRadom.value,
         },
       });
-      allpowerFittingData.value = []
-      wtRes.data.forEach(it =>{
-        let obj = {
-            wtId: it.wtId,
-            time: it.time
-        }
-        allpowerFittingData.value.push(obj)
-    })
       if (wtRes.code === 200) {
         let id = 1;
         const tempArr = []; //用于以风机id 聚合dataArr
@@ -836,23 +835,25 @@ const handleClick = (val) => {
 
 //故障数据
 const faultDataFn = async () => {
-    let params = {
-        // only: dataRadom.value,
-        alarmList: allpowerFittingData.value,
-        table: "alarmWt",
-    };
-    const faultRes = await httpRequest.post("/power/fitting/alarms", params);
-    faultData.value = faultRes.data;
+  let params = {
+    only: dataRadom.value,
+    table: "alarmWt",
+  };
+  const faultRes = await httpRequest.get("/power/fitting/alarms", {
+    params: params,
+  });
+  faultData.value = faultRes.data;
 };
 //预警数据
 const warnDataFn = async () => {
-    let params = {
-        // only: dataRadom.value,
-        alarmList: allpowerFittingData.value,
-        table: "alarmCt",
-    };
-    const warnRes = await httpRequest.post("/power/fitting/alarms", params);
-    warnData.value = warnRes.data;
+  let params = {
+    only: dataRadom.value,
+    table: "alarmCt",
+  };
+  const warnRes = await httpRequest.get("/power/fitting/alarms", {
+    params: params,
+  });
+  warnData.value = warnRes.data;
 };
 
 /**dialog 数据 */

+ 1 - 4
src/views/generatingCapacity/dataAnalysis/hotAnalysis/index.vue

@@ -138,7 +138,7 @@
                     :column="tableColumn"
                     :theme="theme"
                     :height="tableHeight"
-                    :tableId="tableShowId"
+                    tableId="1"
                     :tableName="tableName"
                     :tableFilePath="tableFilePath"
                   ></table-cop>
@@ -317,14 +317,12 @@ const tableDataGet = async () => {
 const excelCheckboxShow = ref(false);
 const excelCheckIds = ref([]);
 const excelList = ref([]);
-const tableShowId = ref("");
 const tableName = ref("");
 const tableFilePath = ref("");
 const funExcelChange = async (obj) => {
   //点击excel项时
   /**次代码供温度功率曲线分析使用 */
   excelCheckIds.value = [obj.id]; //当为单选展示风机图表时
-  tableShowId.value = obj.id
   let tableX = ["未满发样板机", "满发样板机", "未满发", "满发" ]
   tableX.forEach(it =>{
     if (obj.name.indexOf(it) !== -1) {
@@ -1185,7 +1183,6 @@ const initPageData = () => {
     currentNodeKey.value = actTreeNode.value?.id || "";
 
     excelCheckIds.value = [obj.id]; //当为单选展示风机图表时
-    tableShowId.value = obj.id
     let tableX = ["未满发样板机", "满发样板机", "未满发", "满发" ]
     tableX.forEach(it =>{
         if (obj.name.indexOf(it) !== -1) {

+ 1 - 2
src/views/generatingCapacity/dataAnalysis/lineAnalysis/index.vue

@@ -95,7 +95,6 @@
             :xAxis="barxAxis"
             :yAxis="baryAxis"
             :series="barSeries"
-            :colors="['#22a6b3', '#05bc4c', '#C531C7', '#4b55ae', '#fa8c16', '#1DA0D7','#DD5044']"
           >
           </bar-chart-cop>
         </div>
@@ -108,7 +107,7 @@
             ]" -->
           <bar-chart-cop
             height="600px"
-            :colors="['#22a6b3', '#05bc4c', '#C531C7', '#4b55ae', '#fa8c16', '#1DA0D7','#DD5044', '#be2edd', '#323E6F']"
+            :colors="['#05bb4c', '#C531C7', '#4b55ae', '#fa8c16', '#1DA0D7', '#DD5044', '#323E6F']"
             width="100%"
             :xAxis="barxAxis"
             :yAxis="baryAxis"

+ 38 - 11
src/views/generatingCapacity/dataAnalysis/posAnalysis/components/leafletMap.vue

@@ -42,19 +42,26 @@ export default {
       },
     };
   },
+
   watch: {
     ids(val) {
       this.funStationPos(val);
       // this.funStationPosLabel(val)
     },
   },
+
   mounted() {
     this.initMap();
   },
+
+  unmounted() {
+    this.map.remove();
+    this.map = null;
+  },
+
   methods: {
     initMap() {
-      this.map = null;
-      //矢量文本标签渲染器
+      // 矢量文本标签渲染器
       let canvasLabel = new L.CanvasLabel({
         collisionFlg: true,
         scale: 2,
@@ -114,6 +121,7 @@ export default {
 
     async funStationPos(ids) {
       let res = null;
+      this.rightObj = {};
       if (ids.length > 0) {
         res = await httpRequest.get("/base/location", {
           params: {
@@ -144,6 +152,8 @@ export default {
           }
 
           let iconUrl = require(`@/assets/images/indexCom/run_Icon.gif`);
+          // const img = new Image();
+          // img.src = require("@/assets/images/indexCom/run_Icon.gif");
 
           for (let i = 0; i < res.data.length; i++) {
             let item = res.data[i];
@@ -151,12 +161,20 @@ export default {
             let marker = L.marker(
               [Number(item.latitude), Number(item.longitude)],
               {
-                icon: L.divIcon({
-                  className: "iconSty",
-                  iconUrl: iconUrl,
-                  iconSize: [30, 39],
-                  iconAnchor: [15, 12.5],
-                }),
+                icon: L.divIcon(
+                  {
+                    className: "iconSty",
+                    iconUrl: iconUrl,
+                    iconSize: [30, 39],
+                    iconAnchor: [15, 12.5],
+                  }
+                  // {
+                  //   className: "currentMapIcon",
+                  //   html: `<img src="${img.src}" style="width: 30px; height: 39px;">`,
+                  //   iconSize: [30, 39],
+                  //   iconAnchor: [15, 12.5],
+                  // }
+                ),
                 data: item,
               }
             ).bindTooltip(
@@ -168,6 +186,7 @@ export default {
             <div class="item">海拔高度:${item.altitude}m</div>
         </div>`
             );
+
             let latlng = L.latLng(
               Number(item.latitude),
               Number(item.longitude)
@@ -187,9 +206,8 @@ export default {
               data: item,
             }).addTo(this.map);
 
-            marker.on("mousedown", (e) => {
+            marker.on("tooltipopen", (e) => {
               this.rightObj = item;
-              console.log(2222, this.rightObj.aname);
             });
 
             marker.addTo(this.map);
@@ -301,7 +319,6 @@ export default {
     },
 
     powerLine(e) {
-      console.log(1111, this.rightObj);
       if (!this.rightObj.latitude && !this.rightObj.longitude) {
         this.$message({
           message: "该坐标系下暂无功率曲线拟合",
@@ -549,4 +566,14 @@ export default {
   top: 25px;
   left: -250px;
 }
+</style>
+<style lang="less">
+.mapCom {
+  .currentMapIcon {
+    img {
+      position: absolute;
+      z-index: 1000;
+    }
+  }
+}
 </style>

+ 1 - 1
src/views/generatingCapacity/dataAnalysis/posAnalysis/index.vue

@@ -141,6 +141,7 @@
             :style="!theme ? 'color: #fff' : ''"
             size="18"
             @click="funActCop(item, 'chartCop' + (index + 1))"
+            v-if="false"
           >
             <ZoomIn />
           </el-icon>
@@ -908,7 +909,6 @@ const funSsSubmit = async (obj) => {
     };
   }
   ssChart.value = ssChart;
-  console.log(123123, ssChart.value);
   ssDialog.value = true;
 };
 

+ 2 - 16
src/views/generatingCapacity/dataAnalysis/rateAnalysis/index.vue

@@ -39,9 +39,8 @@
                 :column="tableColumn"
                 :theme="theme"
                 :height="tableHeight"
-                :tableId="tableShowId"
-                :tableName="tableName"
-                :tableFilePath="tableFilePath"
+                tableId="1"
+                tableName="对风偏差分析"
               ></table-cop>
             </div>
             <el-row v-if="activeTab === '1'" :style="{ height: tableHeight }">
@@ -289,16 +288,10 @@ const tableHeight = ref(window.innerHeight - 170 + "px");
 const activeTab = ref("1");
 const excelCheckIds = ref([]);
 const excelList = ref([]);
-const tableShowId = ref("");
-const tableName = ref("");
-const tableFilePath = ref("");
 const currentNodeKey = ref("");
 //点击excel项时
 const funExcelChange = async (obj) => {
   excelCheckIds.value = [obj.id]; //当为单选展示风机图表时
-  tableShowId.value = obj.id
-  tableName.value = obj.code ? obj.code : obj.name.substring(0, obj.name.indexOf('_'));
-  tableFilePath.value = obj.path;
   chartExcelList.value = excelList.value.map((o) => {
     return {
       ...o,
@@ -364,8 +357,6 @@ const funGetTree = async () => {
     });
     funExcelChange({
       id: actTreeNode.value.childs[0].id,
-      code: actTreeNode.value.childs[0].code,
-      path: actTreeNode.value.childs[0].path
     });
     currentNodeKey.value = actTreeNode.value?.id || "";
   }
@@ -1185,14 +1176,9 @@ const initPageData = () => {
 
     const obj = {
       id: actTreeNode.value.childs[0].id,
-      code: actTreeNode.value.childs[0].code,
-      path: actTreeNode.value.childs[0].path
     };
 
     excelCheckIds.value = [obj.id]; //当为单选展示风机图表时
-    tableShowId.value = obj.id
-    tableName.value = obj.code;
-    tableFilePath.value = obj.path;
     chartExcelList.value = excelList.value.map((o) => {
       return {
         ...o,

+ 2 - 3
src/views/generatingCapacity/dataAnalysis/spaceAnalysis/index.vue

@@ -98,7 +98,6 @@
         <el-form-item label="" class="!mb-0">
           <el-select
             v-model="queryForm.checkIds"
-            style="width: 120px"
             clearable
             @clear="checkAll = false"
             collapse-tags
@@ -346,7 +345,7 @@ const funSubmit = async () => {
 /**lineChart */
 const linexAxis = reactive({
   type: "category",
-  name: "",
+  name: "",
   data: [],
   splitLine: {
     show: false,
@@ -476,7 +475,7 @@ const funChartSelect = async (batch) => {
 /**barChart */
 const barxAxis = reactive({
   type: "category",
-  name: "",
+  name: "",
   data: [],
   splitLine: {
     show: false,

+ 7 - 5
src/views/generatingCapacity/dataAnalysis/windAnalysis/index.vue

@@ -133,6 +133,7 @@ const funSubmit = async () => {
   }
   tableLoading.value = true;
   tableData.value = [];
+  tableShowId.value = "";
   barData.value = {
     area: [],
     legend: [],
@@ -250,6 +251,7 @@ const funSubmit = async () => {
   }
 
   tableLoading.value = false;
+  tableShowId.value = "1";
   activeTab.value = "1";
 };
 /**barlineChart 开始 */
@@ -279,7 +281,7 @@ const excelList = ref([]);
 const funExcelChange = async (obj) => {
   //点击excel项时
 //   return false;
-tableName.value = "损失电量";
+tableName.value = obj.name.substring(0, obj.name.indexOf('_'));
 tableFilePath.value = obj.path;
 };
 const funExcelCheckChange = ({ checkArr, data }) => {
@@ -312,7 +314,7 @@ const funRepeatMap = (arr) => {
 };
 const funGetTree = async () => {
   actTreeNode.value = null;
-  const res = await httpRequest.get("/power/process/tree");
+  const res = await httpRequest.get("/power/prepare/tree");
   treeData.value = funRepeatMap(res.data);
   excelList.value = [];
   if (actTreeNode.value) {
@@ -323,7 +325,6 @@ const funGetTree = async () => {
     if (treeCopRef.value) {
       treeCopRef.value.$refs.tree.setCheckedKeys([actTreeNode.value.id]);
       excelCheckIds.value = actTreeNode.value.childs.map((o) => o.id);
-      tableShowId.value = excelCheckIds.value.join(',');
       funSubmit();
     }
   }
@@ -424,16 +425,16 @@ const initPageData = () => {
         child.path.indexOf(child.station + "_") + (child.station + "_").length
       ),
     };
-    tableName.value = "损失电量"
+    tableName.value = obj.name.substring(0, obj.name.indexOf('_'));
     tableFilePath.value = obj.path;
 
     if (treeCopRef.value) {
       treeCopRef.value.$refs.tree.setCheckedKeys([actTreeNode.value.id]);
       excelCheckIds.value = actTreeNode.value.childs.map((o) => o.id);
-      tableShowId.value = excelCheckIds.value.join(',');
 
       tableLoading.value = true;
       tableData.value = [];
+      tableShowId.value = "";
       barData.value = {
         area: [],
         legend: [],
@@ -529,6 +530,7 @@ const initPageData = () => {
       }
 
       tableLoading.value = false;
+      tableShowId.value = "1";
       activeTab.value = "1";
     }
   }

+ 0 - 8
src/views/powerPrediction/component/power.json

@@ -1306,14 +1306,6 @@
                 ]
             },
             {
-                "name": "风向",
-                "xAxisData": null,
-                "data": [
-                    [null, 15, null, null, null, null, null, null],
-                    [null, null, null, 20, null, null, null, null]
-                ]
-            },
-            {
                 "name": "压强",
                 "xAxisData": null,
                 "data": [

+ 2 - 2
src/views/powerPrediction/homePageNoMap.vue

@@ -721,8 +721,8 @@
             },
         },
         mounted() {
-            // this.initPageData();
-            this.initPageFn()
+            this.initPageData();
+            // this.initPageFn()
         },
         beforeRouteLeave(to, from, next) {
             next();

+ 116 - 185
src/views/powerPrediction/powerPredictionPage.vue

@@ -581,73 +581,66 @@
                 }
 
                 {
-                    // let radar = [];
-                    // let radaxr = [0, 45, 90, 135, 180, 225, 270, 315, 360];
-                    // let serise = [{
-                    //         value: [],
-                    //         name: "实际风向",
-                    //     },
-                    //     {
-                    //         value: [],
-                    //         name: "预测风向",
-                    //     },
-                    // ];
-                    // jsonData.windRosetteChartData.dataFormatList[0].data.forEach(
-                    //     (item, index) => {
-                    //         if (radaxr.indexOf((index + 1) * 5) !== -1) {
-                    //             let obj = {
-                    //                 name: (index + 1) * 5,
-                    //             };
-                    //             radar.unshift(obj);
-                    //         }
-                    //     }
-                    // );
-                    // jsonData.windRosetteChartData.dataFormatList.forEach((itn) => {
-                    //     let ser1 = [];
-                    //     let ser2 = [];
-                    //     if (itn.name === "预测风速") {
-                    //         itn.data.forEach((it, index) => {
-                    //             if (radaxr.indexOf((index + 1) * 5) !== -1) {
-                    //                 ser1.unshift(it && it !== 0 ? it.toFixed(1) : 0);
-                    //             }
-                    //         });
-                    //         serise[1].value = ser1;
-                    //     } else {
-                    //         itn.data.forEach((it, index) => {
-                    //             if (radaxr.indexOf((index + 1) * 5) !== -1) {
-                    //                 ser2.unshift(it && it !== 0 ? it.toFixed(1) : 0);
-                    //             }
-                    //         });
-                    //         serise[0].value = ser2;
-                    //     }
-                    // });
-                    // radar.forEach((itb) => {
-                    //     if (itb.name === 360) {
-                    //         itb.name = "北";
-                    //     } else if (itb.name === 45) {
-                    //         itb.name = "东北";
-                    //     } else if (itb.name === 90) {
-                    //         itb.name = "东";
-                    //     } else if (itb.name === 135) {
-                    //         itb.name = "东南";
-                    //     } else if (itb.name === 180) {
-                    //         itb.name = "南";
-                    //     } else if (itb.name === 225) {
-                    //         itb.name = "西南";
-                    //     } else if (itb.name === 270) {
-                    //         itb.name = "西";
-                    //     } else if (itb.name === 315) {
-                    //         itb.name = "西北";
-                    //     }
-                    // });
-                    let serise = []
-                    jsonData.meteorologicalElementsData.dataFormatList.forEach(it => {
-                        if (it.name === '风向') {
-                            serise = it.data
+                    let radar = [];
+                    let radaxr = [0, 45, 90, 135, 180, 225, 270, 315, 360];
+                    let serise = [{
+                            value: [],
+                            name: "实际风向",
+                        },
+                        {
+                            value: [],
+                            name: "预测风向",
+                        },
+                    ];
+                    jsonData.windRosetteChartData.dataFormatList[0].data.forEach(
+                        (item, index) => {
+                            if (radaxr.indexOf((index + 1) * 5) !== -1) {
+                                let obj = {
+                                    name: (index + 1) * 5,
+                                };
+                                radar.unshift(obj);
+                            }
                         }
-
-                    })
-                    that.getRose(serise);
+                    );
+                    jsonData.windRosetteChartData.dataFormatList.forEach((itn) => {
+                        let ser1 = [];
+                        let ser2 = [];
+                        if (itn.name === "预测风速") {
+                            itn.data.forEach((it, index) => {
+                                if (radaxr.indexOf((index + 1) * 5) !== -1) {
+                                    ser1.unshift(it && it !== 0 ? it.toFixed(1) : 0);
+                                }
+                            });
+                            serise[1].value = ser1;
+                        } else {
+                            itn.data.forEach((it, index) => {
+                                if (radaxr.indexOf((index + 1) * 5) !== -1) {
+                                    ser2.unshift(it && it !== 0 ? it.toFixed(1) : 0);
+                                }
+                            });
+                            serise[0].value = ser2;
+                        }
+                    });
+                    radar.forEach((itb) => {
+                        if (itb.name === 360) {
+                            itb.name = "北";
+                        } else if (itb.name === 45) {
+                            itb.name = "东北";
+                        } else if (itb.name === 90) {
+                            itb.name = "东";
+                        } else if (itb.name === 135) {
+                            itb.name = "东南";
+                        } else if (itb.name === 180) {
+                            itb.name = "南";
+                        } else if (itb.name === 225) {
+                            itb.name = "西南";
+                        } else if (itb.name === 270) {
+                            itb.name = "西";
+                        } else if (itb.name === 315) {
+                            itb.name = "西北";
+                        }
+                    });
+                    that.getRadar(radar, serise);
                 }
 
                 const gaugeData = [{
@@ -1342,71 +1335,64 @@
                 };
                 apiGetwindRosetteChart(params).then((datas) => {
                     if (datas && datas.data) {
-                        // let radar = [];
-                        // let radaxr = [0, 45, 90, 135, 180, 225, 270, 315, 360];
-                        // let serise = [{
-                        //         value: [],
-                        //         name: "实际风向",
-                        //     },
-                        //     {
-                        //         value: [],
-                        //         name: "预测风向",
-                        //     },
-                        // ];
-                        // datas.data.dataFormatList[0].data.forEach((item, index) => {
-                        //     if (radaxr.indexOf((index + 1) * 5) !== -1) {
-                        //         let obj = {
-                        //             name: (index + 1) * 5,
-                        //         };
-                        //         radar.unshift(obj);
-                        //     }
-                        // });
-                        // datas.data.dataFormatList.forEach((itn) => {
-                        //     let ser1 = [];
-                        //     let ser2 = [];
-                        //     if (itn.name === "预测风速") {
-                        //         itn.data.forEach((it, index) => {
-                        //             if (radaxr.indexOf((index + 1) * 5) !== -1) {
-                        //                 ser1.unshift(it && it !== 0 ? it.toFixed(1) : 0);
-                        //             }
-                        //         });
-                        //         serise[1].value = ser1;
-                        //     } else {
-                        //         itn.data.forEach((it, index) => {
-                        //             if (radaxr.indexOf((index + 1) * 5) !== -1) {
-                        //                 ser2.unshift(it && it !== 0 ? it.toFixed(1) : 0);
-                        //             }
-                        //         });
-                        //         serise[0].value = ser2;
-                        //     }
-                        // });
-                        // radar.forEach((itb) => {
-                        //     if (itb.name === 360) {
-                        //         itb.name = "北";
-                        //     } else if (itb.name === 45) {
-                        //         itb.name = "东北";
-                        //     } else if (itb.name === 90) {
-                        //         itb.name = "东";
-                        //     } else if (itb.name === 135) {
-                        //         itb.name = "东南";
-                        //     } else if (itb.name === 180) {
-                        //         itb.name = "南";
-                        //     } else if (itb.name === 225) {
-                        //         itb.name = "西南";
-                        //     } else if (itb.name === 270) {
-                        //         itb.name = "西";
-                        //     } else if (itb.name === 315) {
-                        //         itb.name = "西北";
-                        //     }
-                        // });
-                        let serise = []
-                        datas.data.dataFormatList.forEach(it => {
-                            if (it.name === '风向') {
-                                serise = it.data
+                        let radar = [];
+                        let radaxr = [0, 45, 90, 135, 180, 225, 270, 315, 360];
+                        let serise = [{
+                                value: [],
+                                name: "实际风向",
+                            },
+                            {
+                                value: [],
+                                name: "预测风向",
+                            },
+                        ];
+                        datas.data.dataFormatList[0].data.forEach((item, index) => {
+                            if (radaxr.indexOf((index + 1) * 5) !== -1) {
+                                let obj = {
+                                    name: (index + 1) * 5,
+                                };
+                                radar.unshift(obj);
                             }
-
-                        })
-                        this.getRose(serise);
+                        });
+                        datas.data.dataFormatList.forEach((itn) => {
+                            let ser1 = [];
+                            let ser2 = [];
+                            if (itn.name === "预测风速") {
+                                itn.data.forEach((it, index) => {
+                                    if (radaxr.indexOf((index + 1) * 5) !== -1) {
+                                        ser1.unshift(it && it !== 0 ? it.toFixed(1) : 0);
+                                    }
+                                });
+                                serise[1].value = ser1;
+                            } else {
+                                itn.data.forEach((it, index) => {
+                                    if (radaxr.indexOf((index + 1) * 5) !== -1) {
+                                        ser2.unshift(it && it !== 0 ? it.toFixed(1) : 0);
+                                    }
+                                });
+                                serise[0].value = ser2;
+                            }
+                        });
+                        radar.forEach((itb) => {
+                            if (itb.name === 360) {
+                                itb.name = "北";
+                            } else if (itb.name === 45) {
+                                itb.name = "东北";
+                            } else if (itb.name === 90) {
+                                itb.name = "东";
+                            } else if (itb.name === 135) {
+                                itb.name = "东南";
+                            } else if (itb.name === 180) {
+                                itb.name = "南";
+                            } else if (itb.name === 225) {
+                                itb.name = "西南";
+                            } else if (itb.name === 270) {
+                                itb.name = "西";
+                            } else if (itb.name === 315) {
+                                itb.name = "西北";
+                            }
+                        });
+                        this.getRadar(radar, serise);
                     }
                 });
             },
@@ -1453,61 +1439,6 @@
                     myChart.resize();
                 });
             },
-            getRose(serise) {
-                let option = {
-                    backgroundColor: '',
-                    polar: {
-                        radius: [10, '80%']
-                    },
-                    radiusAxis: {
-                        max: 25,
-                        startAngle: 75
-                    },
-                    angleAxis: {
-                        type: 'category',
-                        data: ["北", "东北", "东", "东南", "南", "西南", "西", "西北"],
-                        boundaryGap: false,
-                        axisLabel: {
-                            show: true,
-                            interval: 0,
-                            formatter: '{value}',
-                            align: 'center',
-                            margin: 10
-                        },
-                        axisTick: {
-                            show: true,
-                            alignWithLabel: true
-                        }
-                    },
-                    tooltip: {},
-                    series: [{
-                            name: '实际',
-                            type: 'bar',
-                            data: serise[1],
-                            coordinateSystem: 'polar',
-                            barWidth: 15
-                        },
-                        {
-                            name: '预测',
-                            type: 'bar',
-                            data: serise[0],
-                            coordinateSystem: 'polar',
-                            barWidth: 15
-                        }
-                    ],
-                    animation: false
-                };
-                // 基于准备好的dom,初始化echarts实例
-                let dom = document.getElementById("radarChart");
-                dom.removeAttribute("_echarts_instance_") ?
-                    dom.removeAttribute("_echarts_instance_") :
-                    "";
-                let myChart = this.$echarts.init(dom, this.echartsTheme);
-                myChart.setOption(option);
-                window.addEventListener("resize", function () {
-                    myChart.resize();
-                });
-            },
         },
     };
 </script>

+ 2 - 2
src/views/powerPrediction/statisticalSummaryPage.vue

@@ -99,8 +99,8 @@
             },
         },
         created() {
-            // this.initPageData();
-            this.getStationData();
+            this.initPageData();
+            // this.getStationData();
             (this.pieColor = [{
                     value: "",
                     name: "一月",