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 3 mesiacov pred
rodič
commit
50c59c622c
62 zmenil súbory, kde vykonal 5638 pridanie a 1650 odobranie
  1. 2 2
      src/App.vue
  2. BIN
      src/assets/imgs/arrows_b.png
  3. BIN
      src/assets/imgs/bj_b.png
  4. BIN
      src/assets/imgs/clx_b.png
  5. BIN
      src/assets/imgs/fdj_b.png
  6. BIN
      src/assets/imgs/jc_b.png
  7. BIN
      src/assets/imgs/ph_b.png
  8. BIN
      src/assets/imgs/qt_b.png
  9. BIN
      src/assets/imgs/windPow2.png
  10. BIN
      src/assets/imgs/yy_b.png
  11. BIN
      src/assets/imgs/zqfj_b.png
  12. 5 0
      src/assets/styles/blueStyle/blueSty.less
  13. 5 5
      src/assets/styles/blueStyle/dialog.less
  14. 6 2
      src/components/chart/powerEcharts.vue
  15. 30 0
      src/components/lightDetial/dataJson.json
  16. 8 3
      src/components/lightDetial/index.vue
  17. 14 13
      src/components/qushi/lineCharts.vue
  18. 857 873
      src/components/qushi/qushiDialog.vue
  19. 138 54
      src/components/windDetail/index.vue
  20. 39 7
      src/components/zbDialog/index.vue
  21. 41 42
      src/router/index.js
  22. 9 5
      src/store/index.js
  23. 84 31
      src/views/Home/components/map.vue
  24. 38 30
      src/views/Home/components/map/SX.vue
  25. BIN
      src/views/Home/components/map/map_sx_blue.png
  26. 288 280
      src/views/Home/components/map/svg-map-nx.vue
  27. 102 0
      src/views/Home/components/map/svgMapNxJson.json
  28. 467 4
      src/views/Home/components/mapdataJson.json
  29. 63 8
      src/views/Home/index.vue
  30. 7 3
      src/views/layout/Header.vue
  31. 24 28
      src/views/report/stationReport/fczybb/index.vue
  32. 22 21
      src/views/report/stationReport/fdczzdy/index.vue
  33. 24 27
      src/views/report/stationReport/fdxnyrb/index.vue
  34. 17 2
      src/views/stateMonitor/factoryMonitor/components/saliderBar.vue
  35. 115 14
      src/views/stateMonitor/factoryMonitor/photovoltaic/components/navList.vue
  36. 47 48
      src/views/stateMonitor/factoryMonitor/photovoltaic/index.vue
  37. 288 0
      src/views/stateMonitor/factoryMonitor/photovoltaic/lightBoosterStation/components/test.vue
  38. 5 1
      src/views/stateMonitor/factoryMonitor/photovoltaic/lightBoosterStation/index.vue
  39. 23 7
      src/views/stateMonitor/factoryMonitor/photovoltaic/lightDataTarget/index.vue
  40. 276 0
      src/views/stateMonitor/factoryMonitor/photovoltaic/lightGeomorphologicMap/components/test-map.vue
  41. 6 0
      src/views/stateMonitor/factoryMonitor/photovoltaic/lightGeomorphologicMap/index.vue
  42. 34 0
      src/views/stateMonitor/factoryMonitor/photovoltaic/lightMatrix/dataJson.json
  43. 41 16
      src/views/stateMonitor/factoryMonitor/photovoltaic/lightMatrix/index.vue
  44. 126 0
      src/views/stateMonitor/factoryMonitor/photovoltaic/lightMatrixMonitor/dataJson.json
  45. 60 15
      src/views/stateMonitor/factoryMonitor/photovoltaic/lightMatrixMonitor/index.vue
  46. 148 0
      src/views/stateMonitor/factoryMonitor/photovoltaic/lightMillivolt/components/test.vue
  47. 5 1
      src/views/stateMonitor/factoryMonitor/photovoltaic/lightMillivolt/index.vue
  48. 26 8
      src/views/stateMonitor/factoryMonitor/windPowerPlant/DataTarget/index.vue
  49. 556 0
      src/views/stateMonitor/factoryMonitor/windPowerPlant/boosterStation/components/TEST.vue
  50. 5 1
      src/views/stateMonitor/factoryMonitor/windPowerPlant/boosterStation/index.vue
  51. 121 22
      src/views/stateMonitor/factoryMonitor/windPowerPlant/components/collapse-list.vue
  52. 616 0
      src/views/stateMonitor/factoryMonitor/windPowerPlant/geomorphologicMap/components/test-map.vue
  53. 6 0
      src/views/stateMonitor/factoryMonitor/windPowerPlant/geomorphologicMap/index.vue
  54. 47 48
      src/views/stateMonitor/factoryMonitor/windPowerPlant/index.vue
  55. 126 0
      src/views/stateMonitor/factoryMonitor/windPowerPlant/matrixMonitor/dataJson.json
  56. 59 15
      src/views/stateMonitor/factoryMonitor/windPowerPlant/matrixMonitor/index.vue
  57. 228 0
      src/views/stateMonitor/factoryMonitor/windPowerPlant/millivolt/components/TEST.vue
  58. 5 1
      src/views/stateMonitor/factoryMonitor/windPowerPlant/millivolt/index.vue
  59. 4 4
      src/views/stateMonitor/factoryMonitor/windPowerPlant/windPower/components/thermometer.vue
  60. 12 6
      src/views/stateMonitor/factoryMonitor/windPowerPlant/windPower/components/wave.vue
  61. 342 0
      src/views/stateMonitor/factoryMonitor/windPowerPlant/windPower/dataJson.json
  62. 21 3
      src/views/stateMonitor/factoryMonitor/windPowerPlant/windPower/index.vue

+ 2 - 2
src/App.vue

@@ -166,8 +166,8 @@ export default {
   },
   methods: {
     proStyleFn(value) {
-      window.sessionStorage.setItem("moreSty", value);
-      this.$store.state.moreSty = value;
+        window.sessionStorage.setItem("moreSty", value);
+        this.$store.commit("changeMoreSty", value)
     },
     getScale() {
       const w = window.innerWidth / this.style.width;

BIN
src/assets/imgs/arrows_b.png


BIN
src/assets/imgs/bj_b.png


BIN
src/assets/imgs/clx_b.png


BIN
src/assets/imgs/fdj_b.png


BIN
src/assets/imgs/jc_b.png


BIN
src/assets/imgs/ph_b.png


BIN
src/assets/imgs/qt_b.png


BIN
src/assets/imgs/windPow2.png


BIN
src/assets/imgs/yy_b.png


BIN
src/assets/imgs/zqfj_b.png


+ 5 - 0
src/assets/styles/blueStyle/blueSty.less

@@ -4,6 +4,7 @@
     background: #09172b;
 
     // /integratedAlarm/safe/realwarning 卡片
+
     .card {
         color: rgb(228, 236, 255);
         background: #142446;
@@ -15,6 +16,10 @@
         }
     }
 
+    .bluecard {
+        background: rgba(0, 0, 0, 0.3);
+    }
+
     // /integratedAlarm/safe/dataSearch
     .data-search {
         .data-content {

+ 5 - 5
src/assets/styles/blueStyle/dialog.less

@@ -45,14 +45,14 @@
 
     .el-button:first-child {
         width: 108px;
-        background-color: rgba(84, 183, 90, 0.16) !important;
+        background-color: rgba(84, 135, 183, 0.16) !important;
         color: #b3b3b3;
         border-color: transparent;
     }
 
     .el-button:last-of-type {
-        background-color: rgba(5, 187, 76, 0.3);
-        border: 1px solid #3b6c53;
+        background-color: rgba(5, 90, 187, 0.3);
+        border: 1px solid #3b506c;
         color: #b3b3b3;
         font-size: 14px;
         border: none;
@@ -290,8 +290,8 @@
 
     .el-dialog {
         &:not(.cDialog) {
-            background: #081410;
-            border: 1px solid #083d22;
+            background: #080d14;
+            border: 1px solid #08213d;
             border-top: 0px;
             box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.35);
             border-radius: 12px 12px 6px 6px;

+ 6 - 2
src/components/chart/powerEcharts.vue

@@ -85,8 +85,8 @@ export default {
         tooltip: {
           // formatter: '{a} <br/>{b} : {c}',
           trigger: "axis",
-          backgroundColor: "rgba(5, 187, 76,0.35)",
-          borderColor: "#05bb4c",
+          backgroundColor: this.$store.state.moreSty === "greenSty" ? "rgba(5, 187, 76,0.35)" : "rgba(5, 108, 187,0.35)",
+          borderColor: this.$store.state.moreSty === "greenSty" ? "#05bb4c" : "#1a93cf",
           formatter: function (params) {
             var htmlStr = `<div style='font-size:16px;color:#fff;margin-bottom:5px'>${params[0].axisValue}</div>`;
             for (var i = 0; i < params.length; i++) {
@@ -266,6 +266,10 @@ export default {
     },
   },
   watch: {
+    "$store.state.moreSty"(val) {
+        this.getChart();
+        window.addEventListener("resize", this.resize);
+    },
     "$store.state.isFixed"() {
       this.$nextTick(() => {
         this.resize();

+ 30 - 0
src/components/lightDetial/dataJson.json

@@ -0,0 +1,30 @@
+{
+    "code": 200,
+    "otherInfo": {
+        "manufacturer": "测试信号123",
+        "model": 253,
+        "squareid": "JZ"
+    },
+    "currentPartD": [
+        [
+            {
+                "name": "遥测数据1",
+                "value": 1
+            },
+            {
+                "name": "遥测数据1",
+                "value": 1
+            }
+        ],
+        [
+            {
+                "name": "遥测数据1",
+                "value": 1
+            },
+            {
+                "name": "遥测数据1",
+                "value": 1
+            }
+        ]
+    ]
+}

+ 8 - 3
src/components/lightDetial/index.vue

@@ -112,6 +112,7 @@ import { GetWtPoints, GetPointsData } from "@/api/points/index.js";
 import svgIcon from "@/components/coms/icon/svg-icon.vue";
 import powerAndSpeed from "@/components/powerAndSpeedSearch/index.vue";
 import alarmDialog from "@/components/alarm";
+import dataJson from './dataJson.json'
 export default {
   name: "lightDetail",
   components: { svgIcon, alarmDialog, powerAndSpeed },
@@ -176,9 +177,13 @@ export default {
     };
   },
   mounted() {
-    this.timer = setInterval(async () => {
-      this.getPointsData();
-    }, 5000);
+    // this.timer = setInterval(async () => {
+    //   this.getPointsData();
+    // }, 5000);
+    this.otherInfo = dataJson.otherInfo
+    this.currentPartD = dataJson.currentPartD
+    this.currentPartA = dataJson.currentPartD
+
   },
   unmounted() {
     clearInterval(this.timer);

+ 14 - 13
src/components/qushi/lineCharts.vue

@@ -169,13 +169,13 @@ export default {
         this.newlist = newValue;
         this.$nextTick(() => {
           this.newlist = this.list;
-          this.initChart();
+        //   this.initChart();
         });
       },
       deep: true,
     },
-    "$store.state.themeName"() {
-      this.initChart();
+    "$store.state.moreSty"() {
+    //   this.initChart();
     },
   },
   computed: {
@@ -234,10 +234,10 @@ export default {
           showSymbol: true,
           zlevel: index,
           lineStyle: {
-            normal: {
-              color: this.color[index],
-              width: 1,
-            },
+            // normal: {
+            //   color: this.color[index],
+            //   width: 1,
+            // },
           },
           yAxisIndex: value.yAxisIndex,
           data: value.value.map((t) => {
@@ -355,7 +355,7 @@ export default {
     },
     changDateVisible(option) {
       this.seletedData = option;
-      this.initChart();
+    //   this.initChart();
     },
     resize() {},
     initChart() {
@@ -456,10 +456,11 @@ export default {
     },
   },
   created() {
-    this.$nextTick(() => {
-      this.id = "pie-chart-" + util.newGUID();
-    });
-    this.newlist = this.list;
+        this.$nextTick(() => {
+        this.id = "pie-chart-" + util.newGUID();
+        });
+        this.newlist = this.list;
+        
   },
   mounted() {
     this.$nextTick(() => {
@@ -470,7 +471,7 @@ export default {
   },
   updated() {
     this.$nextTick(() => {
-      this.initChart();
+    //   this.initChart();
     });
   },
   unmounted() {

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 857 - 873
src/components/qushi/qushiDialog.vue


+ 138 - 54
src/components/windDetail/index.vue

@@ -130,7 +130,7 @@
     </div>
     <div class="parts">
       <div class="part-top">
-        <div class="part-title">
+        <div class="part-title"  :data-type="$store.state.moreSty">
           <div
             class="title-item part-left"
             :class="{ active: current === 'fdj' }"
@@ -183,55 +183,118 @@
           </div>
         </div>
         <div class="part-imgs" v-if="otherInfo?.model == 'XE100-2000'">
-          <img
-            class="wind-part"
-            :style="{ width: flag ? '450px' : '500px' }"
-            src="@assets/imgs/zqfj.png"
-          />
+            <img
+                v-if="$store.state.moreSty === 'greenSty'"
+                class="wind-part"
+                :style="{ width: flag ? '450px' : '500px' }"
+                src="@assets/imgs/zqfj.png"
+            />
+            <img
+                v-else
+                class="wind-part"
+                :style="{ width: flag ? '450px' : '500px' }"
+                src="@assets/imgs/zqfj_b.png"
+            />
         </div>
         <div class="part-imgs" v-else>
-          <img
-            v-if="current === 'fdj'"
-            class="wind-part"
-            :style="{ width: flag ? '650px' : '800px' }"
-            src="@assets/imgs/fdj.png"
-          />
-          <img
-            v-if="current === 'clx'"
-            class="wind-part"
-            :style="{ width: flag ? '650px' : '800px' }"
-            src="@assets/imgs/clx.png"
-          />
-          <img
-            v-if="current === 'bj'"
-            class="wind-part"
-            :style="{ width: flag ? '650px' : '800px' }"
-            src="@assets/imgs/bj.png"
-          />
-          <img
-            v-if="current === 'ph'"
-            class="wind-part"
-            :style="{ width: flag ? '650px' : '800px' }"
-            src="@assets/imgs/ph.png"
-          />
-          <img
-            v-if="current === 'yy'"
-            class="wind-part"
-            :style="{ width: flag ? '650px' : '800px' }"
-            src="@assets/imgs/yy.png"
-          />
-          <img
-            v-if="current === 'jc'"
-            class="wind-part"
-            :style="{ width: flag ? '650px' : '800px' }"
-            src="@assets/imgs/jc.png"
-          />
-          <img
-            v-if="current === 'qt'"
-            class="wind-part"
-            :style="{ width: flag ? '650px' : '800px' }"
-            src="@assets/imgs/qt.png"
-          />
+            <div v-if="current === 'fdj'">
+                <img
+                    v-if="$store.state.moreSty === 'greenSty'"
+                    class="wind-part"
+                    :style="{ width: flag ? '650px' : '800px' }"
+                    src="@assets/imgs/fdj.png"
+                />
+                <img
+                    v-else
+                    class="wind-part"
+                    :style="{ width: flag ? '650px' : '800px' }"
+                    src="@assets/imgs/fdj_b.png"
+                />
+            </div>
+            <div v-if="current === 'clx'">
+                <img
+                    v-if="$store.state.moreSty === 'greenSty'"
+                    class="wind-part"
+                    :style="{ width: flag ? '650px' : '800px' }"
+                    src="@assets/imgs/clx.png"
+                />
+                <img
+                    v-else
+                    class="wind-part"
+                    :style="{ width: flag ? '650px' : '800px' }"
+                    src="@assets/imgs/clx_b.png"
+                />
+            </div>
+            <div v-if="current === 'bj'">
+                <img
+                    v-if="$store.state.moreSty === 'greenSty'"
+                    class="wind-part"
+                    :style="{ width: flag ? '650px' : '800px' }"
+                    src="@assets/imgs/bj.png"
+                />
+                <img
+                    v-else
+                    class="wind-part"
+                    :style="{ width: flag ? '650px' : '800px' }"
+                    src="@assets/imgs/bj_b.png"
+                />
+            </div>
+            <div v-if="current === 'ph'">
+                <img
+                    v-if="$store.state.moreSty === 'greenSty'"
+                    class="wind-part"
+                    :style="{ width: flag ? '650px' : '800px' }"
+                    src="@assets/imgs/ph.png"
+                />
+                <img
+                    v-else
+                    class="wind-part"
+                    :style="{ width: flag ? '650px' : '800px' }"
+                    src="@assets/imgs/ph_b.png"
+                />
+            </div>
+            <div v-if="current === 'yy'">
+                <img
+                    v-if="$store.state.moreSty === 'greenSty'"
+                    class="wind-part"
+                    :style="{ width: flag ? '650px' : '800px' }"
+                    src="@assets/imgs/yy.png"
+                />
+                <img
+                    v-else
+                    class="wind-part"
+                    :style="{ width: flag ? '650px' : '800px' }"
+                    src="@assets/imgs/yy_b.png"
+                />
+            </div>
+            <div v-if="current === 'jc'">
+                <img
+                    v-if="$store.state.moreSty === 'greenSty'"
+                    class="wind-part"
+                    :style="{ width: flag ? '650px' : '800px' }"
+                    src="@assets/imgs/jc.png"
+                />
+                <img
+                    v-else
+                    class="wind-part"
+                    :style="{ width: flag ? '650px' : '800px' }"
+                    src="@assets/imgs/jc_b.png"
+                />
+            </div>
+            <div v-if="current === 'qt'">
+                <img
+                    v-if="$store.state.moreSty === 'greenSty'"
+                    class="wind-part"
+                    :style="{ width: flag ? '650px' : '800px' }"
+                    src="@assets/imgs/qt.png"
+                />
+                <img
+                    v-else
+                    class="wind-part"
+                    :style="{ width: flag ? '650px' : '800px' }"
+                    src="@assets/imgs/qt_b.png"
+                />
+            </div>
         </div>
       </div>
       <div class="part-info">
@@ -871,6 +934,33 @@ export default {
       width: 100%;
       text-align: center;
     }
+
+    .part-title[data-type~="greenSty"] {
+        .title-item {
+            border-left: 1px solid #3b6c53;
+            border-top: 1px solid #3b6c53;
+            border-bottom: 1px solid #3b6c53;
+            &.part-right {
+                border-right: 1px solid #3b6c53;
+            }
+            &.active {
+                background-color: rgba(0, 199, 19, 0.4);
+            }
+        }
+    }
+    .part-title[data-type~="blueSty"] {
+        .title-item {
+            border-left: 1px solid #3b586c;
+            border-top: 1px solid #3b586c;
+            border-bottom: 1px solid #3b586c;
+            &.part-right {
+                border-right: 1px solid #3b4f6c;
+            }
+            &.active {
+                background-color: rgba(0, 109, 199, 0.4);
+            }
+        }
+    }
     .part-title {
       width: 100%;
       height: 30px;
@@ -887,22 +977,16 @@ export default {
         justify-content: center;
         // background: rgba(67, 81, 107, 0.2);
         background: rgba(96, 103, 105, 0.2);
-        border-left: 1px solid #3b6c53;
-        border-top: 1px solid #3b6c53;
-        border-bottom: 1px solid #3b6c53;
 
         &.part-left {
           border-radius: 15px 0px 0px 15px;
         }
 
         &.part-right {
-          border-right: 1px solid #3b6c53;
           border-radius: 0px 15px 15px 0px;
         }
 
         &.active {
-          //   background-color: rgba(0, 70, 199, 0.4);
-          background-color: rgba(0, 199, 19, 0.4);
           color: #ffffff;
         }
       }

+ 39 - 7
src/components/zbDialog/index.vue

@@ -42,7 +42,7 @@
         v-if="text == 'single' && type == -1"
         style="height: calc(100% - 72px)"
       >
-        <div class="targetNav">
+        <div class="targetNav" :data-type="$store.state.moreSty">
           <ul>
             <li
               :class="{ active: headerIndex == -1, 'li-left': true }"
@@ -143,7 +143,11 @@ export default {
       showIt: true,
     };
   },
-  created() {},
+  created() {
+    this.moreTargetData = new Array(50).fill({
+        name: "指标测试名称"
+    })
+  },
   methods: {
     // 初始化弹窗数据
     openDialog(type, text, station) {
@@ -291,6 +295,39 @@ export default {
 .el-checkbox {
   width: 180px;
 }
+
+.targetNav[data-type~="greenSty"] {
+    ul {
+        li {
+            border-left: 1px solid #3b6c53;
+            border-top: 1px solid #3b6c53;
+            border-bottom: 1px solid #3b6c53;
+            &.li-right {
+                border-right: 1px solid #3b6c53;
+            }
+
+            &.active {
+                background-color: rgba(0, 199, 19, 0.4);
+            }
+        }
+    }
+}
+.targetNav[data-type~="blueSty"] {
+    ul {
+        li {
+            border-left: 1px solid #3b526c;
+            border-top: 1px solid #3b526c;
+            border-bottom: 1px solid #3b526c;
+            &.li-right {
+                border-right: 1px solid #3b526c;
+            }
+
+            &.active {
+                background-color: rgba(0, 86, 199, 0.4);
+            }
+        }
+    }   
+}
 .targetNav {
   margin-bottom: 16px;
 
@@ -305,21 +342,16 @@ export default {
       color: #b3bdc0;
       // background: rgba(67, 81, 107, 0.2);
       background: rgba(96, 103, 105, 0.2);
-      border-left: 1px solid #3b6c53;
-      border-top: 1px solid #3b6c53;
-      border-bottom: 1px solid #3b6c53;
 
       &.li-left {
         border-radius: 15px 0px 0px 15px;
       }
 
       &.li-right {
-        border-right: 1px solid #3b6c53;
         border-radius: 0px 15px 15px 0px;
       }
 
       &.active {
-        background-color: rgba(0, 199, 19, 0.4);
         color: #ffffff;
       }
     }

+ 41 - 42
src/router/index.js

@@ -1903,8 +1903,9 @@ export const asyncRoutes = [
 
   // 智能报表
   {
-    path: "/report",
-    name: "report",
+      path: "/report",
+      name: "report",
+    redirect: "report/reportst/fdxnyrb",
     meta: {
       title: "智能报表",
       icon: "",
@@ -1914,9 +1915,7 @@ export const asyncRoutes = [
     component: () => import("@/views/report"),
     children: [
       {
-        path: "report",
-        redirect: "report/gjyrbb",
-        name: "zdzbbgl",
+        path: "reportst",
         meta: {
           title: "自定制报表管理",
           icon: "svg-自定制报表管理",
@@ -1929,7 +1928,7 @@ export const asyncRoutes = [
             name: "fdxnyrb",
             component: () => import("@/views/report/stationReport/fdxnyrb"),
             meta: {
-              title: "晋能清洁能源风电日报",
+              title: "关口表",
               icon: "",
               permissions: ["jn_zdz_fdxnyrb"],
             },
@@ -1937,23 +1936,23 @@ export const asyncRoutes = [
           {
             path: "gfxnyrb",
             name: "gfxnyrb",
-            component: () => import("@/views/report/stationReport/gfxnyrb"),
+            component: () => import("@/views/report/stationReport/fdczzdy"),
             meta: {
-              title: "晋能清洁能源光伏日报",
+              title: "erp",
               icon: "",
               permissions: ["jn_zdz_gfxnyrb"],
             },
           },
-          {
-            path: "scrb",
-            name: "scrb",
-            component: () => import("@/views/report/stationReport/scrb"),
-            meta: {
-              title: "晋能清洁能源生产日报",
-              icon: "",
-              permissions: ["jn_zdz_scrb"],
-            },
-          },
+        //   {
+        //     path: "scrb",
+        //     name: "scrb",
+        //     component: () => import("@/views/report/stationReport/scrb"),
+        //     meta: {
+        //       title: "晋能清洁能源生产日报",
+        //       icon: "",
+        //       permissions: ["jn_zdz_scrb"],
+        //     },
+        //   },
           //   {
           //     path: "gjyrbb",
           //     name: "gjyrbb",
@@ -1965,26 +1964,26 @@ export const asyncRoutes = [
           //     },
           //   },
 
-          {
-            path: "fczybb",
-            name: "fczybb",
-            component: () => import("@/views/report/stationReport/fczybb"),
-            meta: {
-              title: "风场自由报表",
-              icon: "",
-              permissions: ["jn_zdz_fdcz"],
-            },
-          },
-          {
-            path: "xmzybb",
-            name: "xmzybb",
-            component: () => import("@/views/report/stationReport/xmzybb"),
-            meta: {
-              title: "项目自由报表",
-              icon: "",
-              permissions: ["jn_zdz_fdxm"],
-            },
-          },
+        //   {
+        //     path: "fczybb",
+        //     name: "fczybb",
+        //     component: () => import("@/views/report/stationReport/fczybb"),
+        //     meta: {
+        //       title: "风场自由报表",
+        //       icon: "",
+        //       permissions: ["jn_zdz_fdcz"],
+        //     },
+        //   },
+        //   {
+        //     path: "xmzybb",
+        //     name: "xmzybb",
+        //     component: () => import("@/views/report/stationReport/xmzybb"),
+        //     meta: {
+        //       title: "项目自由报表",
+        //       icon: "",
+        //       permissions: ["jn_zdz_fdxm"],
+        //     },
+        //   },
 
           //   {
           //     path: "fdczzdy",
@@ -2013,18 +2012,18 @@ export const asyncRoutes = [
         redirect: "electricReport/dmb",
         name: "electricReport",
         meta: {
-          title: "电量报表",
+          title: "自定义报表",
           icon: "svg-dlbb",
           permissions: ["jn_dlbb"],
         },
-        component: () => import("@/views/electricReport/dmb"),
+        component: () => import("@/views/report/stationReport"),
         children: [
           {
             path: "dmb",
             name: "dmb",
-            component: () => import("@/views/electricReport/dmb"),
+            component: () => import("@/views/report/stationReport/fczybb"),
             meta: {
-              title: "底码表",
+              title: "自定义报表",
               icon: "",
               permissions: ["jn_dlbb_dmb"],
             },

+ 9 - 5
src/store/index.js

@@ -33,8 +33,7 @@ const state = {
   warningListLimitLength: 30,
   setConfig: 1,
     menuState: 1,
-    moreSty: 'greenSty'
-  
+    moreSty: sessionStorage.getItem("moreSty") || "greenSty"
 };
 
 //改变状态的方法`
@@ -68,7 +67,12 @@ const mutations = {
   changeBoosterAlarm(state, data) {
     state.boosterAlarm = data;
     localStorage.setItem("boosterAlarm", JSON.stringify(data));
-  },
+    },
+  
+    changeMoreSty(state, data) {
+        state.moreSty = data;
+        localStorage.setItem("moreSty", JSON.stringify(data));
+    },
   //升压站报警列表弹窗
   changeDrawer(state, data) {
     state.drawer = data;
@@ -162,7 +166,7 @@ const mutations = {
   },
   changeMenuState(state) {
     state.menuState++;
-  },
+    },
 };
 
 const actions = {
@@ -184,7 +188,7 @@ const actions = {
   },
   changeMenuState(state, data) {
     context.commit("changeMenuState");
-  },
+    },
 };
 
 export default createStore({

+ 84 - 31
src/views/Home/components/map.vue

@@ -14,7 +14,7 @@
       class="sx-left-box"
       :style="{ zIndex: dialogShow ? 6 : 5 }"
     >
-      <div class="security-days safe_power">
+      <div class="security-days safe_power" :data-type="$store.state.moreSty">
         <div class="text">安全天数:</div>
         <div class="num">
           <span class="font-num">{{
@@ -46,12 +46,12 @@
                   : StationinformationData?.qt?.gfzzjrl
               }}
             </span>
-            <span class="unit-t">MW</span>
+            <span class="unit">MW</span>
           </div>
           <div class="lineBox">
             <div class="fd-rl" v-if="tabShow == 0">
               <span class="text">风电</span>
-              <span class="font-num">
+              <span class="num font-num">
                 {{
                   wpId.includes("FDC")
                     ? (
@@ -77,7 +77,7 @@
         </div>
       </div>
       <div
-        class="qjny-info safe_power"
+        class="qjny-info safe_power"  :data-type="$store.state.moreSty"
         @mouseenter="switchShow = true"
         @mouseleave="switchShow = false"
         :style="{ width: tabShow == 0 ? '406px' : 'calc(170px + 20px)' }"
@@ -135,7 +135,9 @@
           <li class="line" v-show="tabShow == 0"></li>
           <li v-show="tabShow == 0 || tabShow == -2">
             <div class="imgs">
-              <img src="@/assets/home/gf_1.png" alt="" />
+              <!-- <img src="@/assets/home/gf_1.png" alt="" /> -->
+                <img src="@/assets/home/gf_1.png" alt="" v-if="$store.state.moreSty === 'greenSty'" />
+                <img src="@/assets/home/gf_b_1.png" alt="" v-else />
             </div>
             <p class="qty_tit">
               光伏数量
@@ -181,12 +183,18 @@
             </div>
           </li>
         </ul>
-        <div class="switch-jrqk" v-show="switchShow">
-          <div><img src="@/assets/imgs/arrows.png" /> 接入情况</div>
+        <div class="switch-jrqk" v-show="switchShow"  :data-type="$store.state.moreSty">
+            <div>
+                <img src="@/assets/imgs/arrows.png" v-if="$store.state.moreSty === 'greenSty'" />
+                <img src="@/assets/imgs/arrows_b.png" v-else />
+                接入情况
+            </div>
           <ul>
             <li v-show="tabShow == -1 || tabShow == 0">
               <div class="imgs">
-                <img src="@/assets/home/fc_1.png" alt="" />
+                <!-- <img src="@/assets/home/fc_1.png" alt="" /> -->
+                <img src="@/assets/home/fc_1.png" alt="" v-if="$store.state.moreSty === 'greenSty'" />
+                <img src="@/assets/home/fc_b_1.png" alt="" v-else />
               </div>
               <p class="qty_tit">
                 风场数量
@@ -232,7 +240,9 @@
             <li class="line" v-if="tabShow == 0"></li>
             <li v-show="tabShow == 0 || tabShow == -2">
               <div class="imgs">
-                <img src="@/assets/home/gf_1.png" alt="" />
+                <!-- <img src="@/assets/home/gf_1.png" alt="" /> -->
+                <img src="@/assets/home/gf_1.png" alt="" v-if="$store.state.moreSty === 'greenSty'" />
+                <img src="@/assets/home/gf_b_1.png" alt="" v-else />
               </div>
 
               <p class="qty_tit">
@@ -489,8 +499,8 @@
             >
               <div class="img-num clearfix">
                 <div class="img float-left">
-                  <img src="@/assets/home/gf_1.png" alt="" v-if="$store.state.moreSty === 'greenSty'" />
-              <img src="@/assets/home/gf_b_1.png" alt="" v-else />
+                    <img src="@/assets/home/gf_1.png" alt="" v-if="$store.state.moreSty === 'greenSty'" />
+                    <img src="@/assets/home/gf_b_1.png" alt="" v-else />
                 </div>
                 <div class="num float-left">
                   <span>光伏电站数量</span> <br />
@@ -728,6 +738,7 @@
     <!-- 返回按钮 -->
     <div
       class="return"
+       :data-type="$store.state.moreSty"
       :style="{ zIndex: dialogShow || dialogVisible || dialogElectric ? 2 : 7 }"
       @click="
         backMap(
@@ -1105,14 +1116,14 @@
     </el-dialog>
     <div class="sx-right-box" v-if="currentTitle != '全国'">
       <!-- 山西右侧信息 -->
-      <div class="card wind_card">
+      <div class="card wind_card bluecard">
         <power-review-home
           :data="powerDataHome"
           :id="wpIds"
           @chartClick="showPowerChart"
         />
       </div>
-      <div class="card electric_card">
+      <div class="card electric_card bluecard">
         <el-header>
           <span class="title"></span>
           <soan class="unit">(单位:万kWh)</soan>
@@ -1176,7 +1187,7 @@
           </div>
         </el-row>
       </div>
-      <div class="card station_card">
+      <div class="card station_card bluecard">
         <el-row class="card_header" v-if="tabShow == 0 || tabShow == -1">
           <el-col :span="12">
             <img
@@ -1337,6 +1348,8 @@ import dayjs from "dayjs";
 import windChartCom from "./windChartCom.vue";
 import BarCharts from "@/views/Home/components/barCharts.vue";
 import dataJson from "./mapdataJson.json"
+import datasvgJson from "./map/svgMapNxJson.json"
+
 export default {
   // 名称
   name: "Map",
@@ -1447,6 +1460,7 @@ export default {
   mounted() {
     this.StationinformationData = dataJson.StationinformationData
     this.powerDataHome = dataJson.powerDataHome
+    this.CurveValues = dataJson.Powertrend.value;
   },
   // 函数
   methods: {
@@ -1469,6 +1483,7 @@ export default {
       this.wpIds =
         wpId.includes("FDC") || wpId.includes("GDC") ? wpId : wpId + activeTab;
     //   this.requestData();
+    this.requestMockData()
       this.findProjectPlan();
 
       this.timmer2 = setInterval(() => {
@@ -1494,6 +1509,10 @@ export default {
       }
     },
     // 请求服务
+    requestMockData() {
+        this.homeSuspensionWindowsData = datasvgJson.homeSuspensionWindowsData
+        
+    },
     requestData() {
       FindBasicDataInfo({ wpId: this.wpIds }).then(({ data }) => {
         this.StationinformationData = data;
@@ -1735,8 +1754,11 @@ export default {
     },
     // 发电量
     findProjectPlan() {
-      FindProjectplan({ wpId: this.wpIds }).then(({ data }) => {
+    //   FindProjectplan({ wpId: this.wpIds }).then(({ data }) => {
+        // this.qyPower = data.proplanmap;
+        let data = dataJson.FindProjectplanData
         this.qyPower = data.proplanmap;
+
         this.ForecastPowerNewHome_fc = [
           [
             {
@@ -1896,7 +1918,7 @@ export default {
             },
           ],
         ];
-      });
+    //   });
     },
     // 获取场站24小时功率图
     getData(wpId) {
@@ -2877,6 +2899,51 @@ p {
     }
   }
 
+    .return[data-type~="greenSty"] {
+        color: @green;
+        border: 1px solid @green;
+        .svg-icon {
+            svg {
+                use {
+                    fill: @green;
+                }
+            }
+        }
+        &:hover {
+            color: @green;
+            border: 1px solid @green;
+            .svg-icon {
+                svg {
+                    use {
+                        fill: @green;
+                    }
+                }
+            }
+        }
+    }
+    .return[data-type~="blueSty"] {
+        color: @darkBlue;
+        border: 1px solid @darkBlue;
+        .svg-icon {
+            svg {
+                use {
+                    fill: @darkBlue;
+                }
+            }
+        }
+        &:hover {
+            color: @darkBlue;
+            border: 1px solid @darkBlue;
+            .svg-icon {
+                svg {
+                    use {
+                        fill: @darkBlue;
+                    }
+                }
+            }
+        }
+    }
+
   .return {
     position: absolute;
     display: flex;
@@ -2890,8 +2957,7 @@ p {
     cursor: pointer;
     border: 1px solid transparent;
     padding: 6px 16px;
-    color: #05bb4c;
-    border: 1px solid #05bb4c;
+    
     font-size: 22px;
 
     .svg-icon {
@@ -2902,25 +2968,12 @@ p {
 
         use {
           transition: all 0.3s;
-          fill: @green;
         }
       }
     }
 
     transition: all 0.3s;
 
-    &:hover {
-      color: @green;
-      border: 1px solid @green;
-
-      .svg-icon {
-        svg {
-          use {
-            fill: @green;
-          }
-        }
-      }
-    }
   }
 
   .compass {

+ 38 - 30
src/views/Home/components/map/SX.vue

@@ -81,7 +81,7 @@
       </defs>
       <g>
         <image
-          v-if="$store.state.themeName === 'dark'"
+          v-if="$store.state.moreSty === 'greenSty'"
           style="overflow: visible"
           width="400"
           height="330"
@@ -90,12 +90,12 @@
           transform="matrix(1 0 0 1 180 0)"
         ></image>
         <image
-          v-if="$store.state.themeName === 'light'"
+          v-if="$store.state.moreSty === 'blueSty'"
           style="overflow: visible"
           width="400"
           height="330"
           class="map-base"
-          xlink:href="./map_sx_b.png"
+          xlink:href="./map_sx_blue.png"
           transform="matrix(1 0 0 1 180 0)"
         ></image>
         <g>
@@ -168,7 +168,7 @@
               <text
                 x="492"
                 y="0"
-                fill="#05bb4c"
+                :fill="fillSty"
                 font-size="8"
                 @click.stop="
                   clickLabel(
@@ -215,7 +215,7 @@
               <text
                 x="492"
                 y="12"
-                fill="#05bb4c"
+                :fill="fillSty"
                 font-size="8"
                 @click.stop="
                   clickLabel(
@@ -322,7 +322,7 @@
                 >
                   牛家岭
                 </text>
-                <text x="352" y="75" fill="#05bb4c" font-size="8">
+                <text x="352" y="75" :fill="fillSty" font-size="8">
                   {{ sourceMap?.station?.SXJ_KGDL_NJL_FDC_STA?.zjts }}
                 </text>
                 <text x="372" y="75" fill="#919697" font-size="8">台</text>
@@ -397,7 +397,7 @@
                 <text class="mapKey" x="299" y="3" fill="#919697" font-size="8">
                   平鲁禹丰
                 </text>
-                <text x="355" y="3" fill="#05bb4c" font-size="8">
+                <text x="355" y="3" :fill="fillSty" font-size="8">
                   {{ sourceMap?.station?.SXJ_KGDL_YF_FDC_STA?.zjts }}
                 </text>
                 <text x="385" y="3" fill="#919697" font-size="8">台</text>
@@ -420,7 +420,7 @@
                 >
                   平鲁败虎堡
                 </text>
-                <text x="360" y="14" fill="#05bb4c" font-size="8">
+                <text x="360" y="14" :fill="fillSty" font-size="8">
                   {{ sourceMap?.station?.SXJ_KGDL_BHB_FDC_STA?.zjts }}
                 </text>
                 <text x="385" y="14" fill="#919697" font-size="8">台</text>
@@ -443,7 +443,7 @@
                 >
                   平鲁败虎堡三期
                 </text>
-                <text x="368" y="26" fill="#05bb4c" font-size="8">
+                <text x="368" y="26" :fill="fillSty" font-size="8">
                   {{ sourceMap?.station?.SXJ_KGDL_BHB3_FDC_STA?.zjts }}
                 </text>
                 <text x="385" y="26" fill="#919697" font-size="8">台</text>
@@ -531,7 +531,7 @@
               <text
                 x="468"
                 y="135"
-                fill="#05bb4c"
+                :fill="fillSty"
                 font-size="8"
                 @click.stop="
                   clickLabel(
@@ -577,7 +577,7 @@
               <text
                 x="468"
                 y="120"
-                fill="#05bb4c"
+                :fill="fillSty"
                 font-size="8"
                 @click.stop="
                   clickLabel(
@@ -623,7 +623,7 @@
               <text
                 x="468"
                 y="150"
-                fill="#05bb4c"
+                :fill="fillSty"
                 font-size="8"
                 @click.stop="
                   clickLabel(
@@ -721,7 +721,7 @@
               <text class="mapKey" x="313" y="139" fill="#919697" font-size="8">
                 平遥朱坑
               </text>
-              <text x="355" y="139" fill="#05bb4c" font-size="8">
+              <text x="355" y="139" :fill="fillSty" font-size="8">
                 {{ sourceMap?.station?.SXJ_KGDL_ZK_FDC_STA?.zjts }}
               </text>
               <text x="375" y="139" fill="#919697" font-size="8">台</text>
@@ -771,13 +771,13 @@
               <text class="mapKey" x="463" y="9" fill="#919697" font-size="8">
                 天镇旭升 集中式:
               </text>
-              <text x="528" y="9" fill="#05bb4c" font-size="8">
+              <text x="528" y="9" :fill="fillSty" font-size="8">
                 {{ sourceMap?.station?.SXJ_KGDL_TZ_GDC_STA?.jzzjts }}
               </text>
               <text x="545" y="9" fill="#919697" font-size="8">
                 台 组串式:
               </text>
-              <text x="585" y="9" fill="#05bb4c" font-size="8">
+              <text x="585" y="9" :fill="fillSty" font-size="8">
                 {{ sourceMap?.station?.SXJ_KGDL_TZ_GDC_STA?.zczjts }}
               </text>
               <text x="600" y="9" fill="#919697" font-size="8">台</text>
@@ -828,13 +828,13 @@
               <text class="mapKey" x="458" y="71" fill="#919697" font-size="8">
                 山阴荣新 集中式:
               </text>
-              <text x="520" y="71" fill="#05bb4c" font-size="8">
+              <text x="520" y="71" :fill="fillSty" font-size="8">
                 {{ sourceMap?.station?.SXJ_KGDL_SY_GDC_STA?.jzzjts }}
               </text>
               <text x="540" y="71" fill="#919697" font-size="8">
                 台 组串式:
               </text>
-              <text x="580" y="71" fill="#05bb4c" font-size="8">
+              <text x="580" y="71" :fill="fillSty" font-size="8">
                 {{ sourceMap?.station?.SXJ_KGDL_SY_GDC_STA?.zczjts }}
               </text>
               <text x="600" y="71" fill="#919697" font-size="8">台</text>
@@ -885,7 +885,7 @@
               <text class="mapKey" x="478" y="36" fill="#919697" font-size="8">
                 怀仁初晨 组串式:
               </text>
-              <text x="545" y="36" fill="#05bb4c" font-size="8">
+              <text x="545" y="36" :fill="fillSty" font-size="8">
                 {{ sourceMap?.station?.SXJ_KGDL_HR_GDC_STA?.zczjts }}
               </text>
               <text x="565" y="36" fill="#919697" font-size="8">台</text>
@@ -936,13 +936,13 @@
               <text class="mapKey" x="458" y="54" fill="#919697" font-size="8">
                 阳高蔚家堡 集中式:
               </text>
-              <text x="529" y="54" fill="#05bb4c" font-size="8">
+              <text x="529" y="54" :fill="fillSty" font-size="8">
                 {{ sourceMap?.station?.SXJ_KGDL_YG_GDC_STA?.jzzjts }}
               </text>
               <text x="545" y="54" fill="#919697" font-size="8">
                 台 组串式:
               </text>
-              <text x="585" y="54" fill="#05bb4c" font-size="8">
+              <text x="585" y="54" :fill="fillSty" font-size="8">
                 {{ sourceMap?.station?.SXJ_KGDL_YG_GDC_STA?.zczjts }}
               </text>
               <text x="605" y="54" fill="#919697" font-size="8">台</text>
@@ -993,7 +993,7 @@
               <text class="mapKey" x="455" y="60" fill="#919697" font-size="8">
                 应县晶辉 集中式:
               </text>
-              <text x="520" y="60" fill="#05bb4c" font-size="8">
+              <text x="520" y="60" :fill="fillSty" font-size="8">
                 {{ sourceMap?.station?.SXJ_KGDL_YX_GDC_STA?.jzzjts }}
               </text>
               <text x="540" y="60" fill="#919697" font-size="8">台</text>
@@ -1044,13 +1044,13 @@
               <text class="mapKey" x="443" y="19" fill="#919697" font-size="8">
                 右玉右卫 集中式:
               </text>
-              <text x="510" y="19" fill="#05bb4c" font-size="8">
+              <text x="510" y="19" :fill="fillSty" font-size="8">
                 {{ sourceMap?.station?.SXJ_KGDL_YY_GDC_STA?.jzzjts }}
               </text>
               <text x="530" y="19" fill="#919697" font-size="8">
                 台 组串式:
               </text>
-              <text x="570" y="19" fill="#05bb4c" font-size="8">
+              <text x="570" y="19" :fill="fillSty" font-size="8">
                 {{ sourceMap?.station?.SXJ_KGDL_YY_GDC_STA?.zczjts }}
               </text>
               <text x="590" y="19" fill="#919697" font-size="8">台</text>
@@ -1101,7 +1101,7 @@
               <text class="mapKey" x="465" y="91" fill="#919697" font-size="8">
                 繁峙均然 组串式:
               </text>
-              <text x="530" y="91" fill="#05bb4c" font-size="8">
+              <text x="530" y="91" :fill="fillSty" font-size="8">
                 {{ sourceMap?.station?.SXJ_KGDL_JR_GDC_STA?.zczjts }}
               </text>
               <text x="545" y="91" fill="#919697" font-size="8">台</text>
@@ -1152,7 +1152,7 @@
               <text class="mapKey" x="398" y="242" fill="#919697" font-size="8">
                 屯留吾元 组串式:
               </text>
-              <text x="460" y="242" fill="#05bb4c" font-size="8">
+              <text x="460" y="242" :fill="fillSty" font-size="8">
                 {{ sourceMap?.station?.SXJ_KGDL_TL_GDC_STA?.zczjts }}
               </text>
               <text x="485" y="242" fill="#919697" font-size="8">台</text>
@@ -1203,7 +1203,7 @@
               <text class="mapKey" x="247" y="126" fill="#919697" font-size="8">
                 方山孙家山 集中式:
               </text>
-              <text x="320" y="126" fill="#05bb4c" font-size="8">
+              <text x="320" y="126" :fill="fillSty" font-size="8">
                 {{ sourceMap?.station?.SXJ_KGDL_FS_GDC_STA?.jzzjts }}
               </text>
               <text x="340" y="126" fill="#919697" font-size="8">台</text>
@@ -1254,7 +1254,7 @@
               <text class="mapKey" x="258" y="47" fill="#919697" font-size="8">
                 平鲁阻虎 集中式:
               </text>
-              <text x="325" y="47" fill="#05bb4c" font-size="8">
+              <text x="325" y="47" :fill="fillSty" font-size="8">
                 {{ sourceMap?.station?.SXJ_KGDL_PL_GDC_STA?.jzzjts }}
               </text>
               <text x="345" y="47" fill="#919697" font-size="8">台</text>
@@ -1341,7 +1341,7 @@
                   >
                     平鲁高家堰
                   </text>
-                  <text x="362" y="57" fill="#05bb4c" font-size="8">
+                  <text x="362" y="57" :fill="fillSty" font-size="8">
                     {{ sourceMap?.station?.SXJ_KGDL_GJY_FDC_STA?.zjts }}
                   </text>
                   <text x="379" y="57" fill="#919697" font-size="8">台</text>
@@ -1364,7 +1364,7 @@
                   >
                     平鲁红石峁
                   </text>
-                  <text x="365" y="69" fill="#05bb4c" font-size="8">
+                  <text x="365" y="69" :fill="fillSty" font-size="8">
                     {{ sourceMap?.station?.SXJ_KGDL_HSM_FDC_STA?.zjts }}
                   </text>
                   <text x="379" y="69" fill="#919697" font-size="8">台</text>
@@ -1441,7 +1441,7 @@
               <text class="mapKey" x="433" y="58" fill="#919697" font-size="8">
                 宁武盘道梁
               </text>
-              <text x="480" y="58" fill="#05bb4c" font-size="8">
+              <text x="480" y="58" :fill="fillSty" font-size="8">
                 {{ sourceMap?.station?.SXJ_KGDL_PDL_FDC_STA?.zjts }}
               </text>
               <text x="495" y="58" fill="#919697" font-size="8">台</text>
@@ -1481,6 +1481,7 @@ export default {
   // 数据
   data() {
     return {
+        fillSty: window.sessionStorage.getItem("moreSty") ? window.sessionStorage.getItem("moreSty") === 'greenSty' ? "#05bb4c" : "#1a93cf" : "#05bb4c",
       penetrateType: 3,
       sourceMap: {},
       c1: false,
@@ -1548,6 +1549,13 @@ export default {
     data(res) {
       this.sourceMap = res;
     },
+    "$store.state.moreSty"(value) {
+        if (value === 'greenSty') {
+            this.fillSty = '#05bb4c';
+        } else {
+            this.fillSty = '#1a93cf';
+        }
+    },
   },
 };
 </script>

BIN
src/views/Home/components/map/map_sx_blue.png


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 288 - 280
src/views/Home/components/map/svg-map-nx.vue


+ 102 - 0
src/views/Home/components/map/svgMapNxJson.json

@@ -0,0 +1,102 @@
+{
+    "homeSuspensionWindowsData": {
+        "hbqyxx": {
+            "industryState": true,
+            "companyState": true,
+            "hbcyzzjrl": 15,
+            "hbcyfdcsl": 16,
+            "hbcyfdzjrl": 2563,
+            "hbcygfcsl": 20,
+            "hbcygfzjrl": 2153,
+            "hbgszzjrl": 20,
+            "hbgsfdcslcsl": 30,
+            "hbgsfdzjrl": 5663,
+            "hbgsgfcsl": 19,
+            "hbgsgfzjrl": 2640
+        },
+        "sxqyxx": {
+            "industryState": true,
+            "companyState": true,
+            "sxcyzzjrl": 15,
+            "sxcyfdcsl": 16,
+            "sxcyfdzjrl": 2563,
+            "sxcygfcsl": 20,
+            "sxcygfzjrl": 2153,
+            "sxgszzjrl": 20,
+            "sxgsfdcsl": 30,
+            "sxgsfdzjrl": 5663,
+            "sxgsgfcsl": 19,
+            "sxgsgfzjrl": 2640
+        },
+        "nmqyxx": {
+            "industryState": true,
+            "companyState": true,
+            "nmcyzzjrl": 15,
+            "nmcyfdcsl": 16,
+            "nmcyfdzjrl": 2563,
+            "nmcygfcsl": 20,
+            "nmcygfzjrl": 2153,
+            "nmgszzjrl": 20,
+            "nmgsfdcsl": 30,
+            "nmgsfdzjrl": 5663,
+            "nmgsgfcsl": 19,
+            "nmgsgfzjrl": 2640
+        },
+        "xjqyxx": {
+            "industryState": true,
+            "companyState": true,
+            "xjcyzzjrl": 15,
+            "xjcyfdcsl": 16,
+            "xjcyfdzjrl": 2563,
+            "xjcygfcsl": 20,
+            "xjcygfzjrl": 2153,
+            "xjgszzjrl": 20,
+            "xjgsfdcslcsl": 30,
+            "xjgsfdzjrl": 5663,
+            "xjgsgfcsl": 19,
+            "xjgsgfzjrl": 2640
+        },
+        "xsqyxx": {
+            "industryState": true,
+            "companyState": true,
+            "xscyzzjrl": 15,
+            "xscyfdcsl": 16,
+            "xscyfdzjrl": 2563,
+            "xscygfcsl": 20,
+            "xscygfzjrl": 2153,
+            "xsgszzjrl": 20,
+            "xsgsfdcsl": 30,
+            "xsgsfdzjrl": 5663,
+            "xsgsgfcsl": 19,
+            "xsgsgfzjrl": 2640
+        },
+        "sdqyxx": {
+            "industryState": true,
+            "companyState": true,
+            "sdcyzzjrl": 15,
+            "sdcyfdcsl": 16,
+            "sdcyfdzjrl": 2563,
+            "sdcygfcsl": 20,
+            "sdcygfzjrl": 2153,
+            "sdgszzjrl": 20,
+            "sdgsfdcsl": 30,
+            "sdgsfdzjrl": 5663,
+            "sdgsgfcsl": 19,
+            "sdgsgfzjrl": 2640
+        },
+        "xzqyxx": {
+            "industryState": true,
+            "companyState": true,
+            "xzcyzzjrl": 15,
+            "xzcyfdcsl": 16,
+            "xzcyfdzjrl": 2563,
+            "xzcygfcsl": 20,
+            "xzcygfzjrl": 2153,
+            "xzgszzjrl": 20,
+            "xzgsfdcsl": 30,
+            "xzgsfdzjrl": 5663,
+            "xzgsgfcsl": 19,
+            "xzgsgfzjrl": 2640
+        }
+    }
+}

+ 467 - 4
src/views/Home/components/mapdataJson.json

@@ -9,7 +9,10 @@
             "jym": 3514,
             "jys": 254,
             "co2": 213,
-            "so2": 218
+            "so2": 218,
+
+            "ylyxs": 231.26,
+            "nlyxs": 2413.265
         },
         "cblpoint": {
             "qjny_zzjrl": 1251,
@@ -24,7 +27,12 @@
             "jr_fj_ts": 58,
             "jr_gf_jzts": 32,
             "jr_gf_zcts": 26,
-            "jr_gfts": 12
+            "jr_gfts": 12,
+
+            "qjny_fj_ts": 56,
+            "qjny_hsfj_ts": 48,
+            "qjny_gf_jzts": 32,
+            "qjny_gf_zcts": 58
         },
         "mxztmap": {
             "fd_djnum": 2,
@@ -43,9 +51,128 @@
             "gf_slnum": 1,
             "gf_lxnum": 8
 
+        },
+        "station": {
+            "SXJ_KGDL_XWT_FDC_STA": {
+                "zjrl": 541,
+                "zjts": 20
+            },
+            "SXJ_KGDL_DJY_FDC_STA": {
+                "zjrl": 541,
+                "zjts": 16
+            },
+            "SXJ_KGDL_NJL_FDC_STA": {
+                "zjrl": 541,
+                "zjts": 14
+            },
+            "SXJ_KGDL_YF_FDC_STA": {
+                "zjrl": 541,
+                "zjts": 25
+            },
+            "SXJ_KGDL_BHB_FDC_STA": {
+                "zjrl": 541,
+                "zjts": 18
+            },
+            "SXJ_KGDL_BHB3_FDC_STA": {
+                "zjrl": 541,
+                "zjts": 14
+            },
+            "SXJ_KGDL_PTZ_FDC_STA": {
+                "zjrl": 541,
+                "zjts": 19
+            },
+            "SXJ_KGDL_YTY_FDC_STA": {
+                "zjrl": 541,
+                "zjts": 34
+            },
+            "SXJ_KGDL_YLZ_FDC_STA": {
+                "zjrl": 541,
+                "zjts": 26
+            },
+            "SXJ_KGDL_ZK_FDC_STA": {
+                "zjrl": 541,
+                "zjts": 52
+            },
+            "SXJ_KGDL_TZ_GDC_STA": {
+                "zjrl": 541,
+                "jzzjts": 14,
+                "zczjts": 25
+            },
+            "SXJ_KGDL_SY_GDC_STA": {
+                "zjrl": 541,
+                "jzzjts": 12,
+                "zczjts": 26
+            },
+            "SXJ_KGDL_HR_GDC_STA": {
+                "zjrl": 541,
+                "zczjts": 25
+            },
+            "SXJ_KGDL_YG_GDC_STA": {
+                "zjrl": 541,
+                "jzzjts": 36,
+                "zczjts": 42
+            },
+            "SXJ_KGDL_YX_GDC_STA": {
+                "zjrl": 541,
+                "jzzjts": 11
+            },
+            "SXJ_KGDL_YY_GDC_STA": {
+                "zjrl": 541,
+                "jzzjts": 12,
+                "zczjts": 19
+            },
+            "SXJ_KGDL_JR_GDC_STA": {
+                "zjrl": 541,
+                "zczjts": 16
+            },
+            "SXJ_KGDL_TL_GDC_STA": {
+                "zjrl": 541,
+                "zczjts": 19
+            },
+            "SXJ_KGDL_FS_GDC_STA": {
+                "zjrl": 541,
+                "jzzjts": 10
+            },
+            "SXJ_KGDL_PL_GDC_STA": {
+                "zjrl": 541,
+                "jzzjts": 26
+            },
+            "SXJ_KGDL_GJY_FDC_STA": {
+                "zjrl": 541,
+                "zjts": 69
+            },
+            "SXJ_KGDL_HSM_FDC_STA": {
+                "zjrl": 541,
+                "zjts": 16
+            },
+            "SXJ_KGDL_PDL_FDC_STA": {
+                "zjrl": 541,
+                "zjts": 13
+            }
+        },
+        "sbztmap": {
+            "fd": {
+                "djnum": 10,
+                "yxnum": 2,
+                "gznum": 5,
+                "jxnum": 3,
+                "xdnum": 3,
+                "slnum": 2,
+                "lxnum": 0
+            },
+            "gf": {
+                "djnum": 10,
+                "yxnum": 2,
+                "gznum": 5,
+                "jxnum": 3,
+                "xdnum": 3,
+                "slnum": 2,
+                "lxnum": 0
+            }
         }
     },
-    "powerDataHome": [{
+    "powerDataHome": [
+        {
         "title": "实时风速",
         "value": 8.26,
         "dialogTitle": "实时风速",
@@ -66,5 +193,341 @@
         "max": 100,
         "unit": "%"
       }
-    ]
+    ],
+    "Powertrend": {
+        "units": ["(万KWh)", ""],
+        "value": [
+          {
+            "title": "预测功率",
+            "smooth": true,
+            "value": [
+                {
+                    "dateTime": "00:00",
+                    "value": 0.5
+                },
+                {
+                    "dateTime": "01:00",
+                    "value": 2.2
+                },
+                {
+                    "dateTime": "02:00",
+                    "value": 0.8
+                },
+                {
+                    "dateTime": "03:00",
+                    "value": 2.2
+                },
+                {
+                    "dateTime": "04:00",
+                    "value": 1.5
+                },
+                {
+                    "dateTime": "05:00",
+                    "value": 1.8
+                },
+                {
+                    "dateTime": "06:00",
+                    "value": 1.7
+                },
+                {
+                    "dateTime": "07:00",
+                    "value": 2.2
+                },
+                {
+                    "dateTime": "08:00",
+                    "value": 1.5
+                },
+                {
+                    "dateTime": "09:00",
+                    "value": 1.8
+                },
+                {
+                    "dateTime": "10:00",
+                    "value": 1.7
+                },
+                {
+                    "dateTime": "11:00",
+                    "value": 2.2
+                },
+                {
+                    "dateTime": "12:00",
+                    "value": 1.5
+                },
+                {
+                    "dateTime": "13:00",
+                    "value": 1.8
+                },
+                {
+                    "dateTime": "14:00",
+                    "value": 1.7
+                },
+                {
+                    "dateTime": "15:00",
+                    "value": 1.5
+                },
+                {
+                    "dateTime": "16:00",
+                    "value": 1.8
+                },
+                {
+                    "dateTime": "17:00",
+                    "value": 1.7
+                },
+                {
+                    "dateTime": "18:00",
+                    "value": 2.2
+                },
+                {
+                    "dateTime": "19:00",
+                    "value": 1.5
+                },
+                {
+                    "dateTime": "20:00",
+                    "value": 1.8
+                },
+                {
+                    "dateTime": "21:00",
+                    "value": 1.7
+                },
+                {
+                    "dateTime": "22:00",
+                    "value": 1.8
+                },
+                {
+                    "dateTime": "23:00",
+                    "value": 1.7
+                }
+            ]
+          },
+          {
+            "title": "理论功率",
+            "smooth": true,
+            "value": [
+                {
+                    "dateTime": "00:00",
+                    "value": 0.8
+                },
+                {
+                    "dateTime": "01:00",
+                    "value": 2.2
+                },
+                {
+                    "dateTime": "02:00",
+                    "value": 0.9
+                },
+                {
+                    "dateTime": "03:00",
+                    "value": 2.2
+                },
+                {
+                    "dateTime": "04:00",
+                    "value": 1.7
+                },
+                {
+                    "dateTime": "05:00",
+                    "value": 1.8
+                },
+                {
+                    "dateTime": "06:00",
+                    "value": 1.2
+                },
+                {
+                    "dateTime": "07:00",
+                    "value": 2.8
+                },
+                {
+                    "dateTime": "08:00",
+                    "value": 1.4
+                },
+                {
+                    "dateTime": "09:00",
+                    "value": 1.9
+                },
+                {
+                    "dateTime": "10:00",
+                    "value": 1.7
+                },
+                {
+                    "dateTime": "11:00",
+                    "value": 2.2
+                },
+                {
+                    "dateTime": "12:00",
+                    "value": 1.6
+                },
+                {
+                    "dateTime": "13:00",
+                    "value": 1.8
+                },
+                {
+                    "dateTime": "14:00",
+                    "value": 1.7
+                },
+                {
+                    "dateTime": "15:00",
+                    "value": 1.8
+                },
+                {
+                    "dateTime": "16:00",
+                    "value": 1.8
+                },
+                {
+                    "dateTime": "17:00",
+                    "value": 1.7
+                },
+                {
+                    "dateTime": "18:00",
+                    "value": 2.9
+                },
+                {
+                    "dateTime": "19:00",
+                    "value": 1.5
+                },
+                {
+                    "dateTime": "20:00",
+                    "value": 1.8
+                },
+                {
+                    "dateTime": "21:00",
+                    "value": 1.9
+                },
+                {
+                    "dateTime": "22:00",
+                    "value": 1.8
+                },
+                {
+                    "dateTime": "23:00",
+                    "value": 1.2
+                }
+            ]
+          },
+          {
+            "title": "实际功率",
+            "smooth": true,
+            "value": [
+                {
+                    "dateTime": "00:00",
+                    "value": 0.5
+                },
+                {
+                    "dateTime": "01:00",
+                    "value": 2.2
+                },
+                {
+                    "dateTime": "02:00",
+                    "value": 0.8
+                },
+                {
+                    "dateTime": "03:00",
+                    "value": 2.2
+                },
+                {
+                    "dateTime": "04:00",
+                    "value": 1.5
+                },
+                {
+                    "dateTime": "05:00",
+                    "value": 1.8
+                },
+                {
+                    "dateTime": "06:00",
+                    "value": 1.2
+                },
+                {
+                    "dateTime": "07:00",
+                    "value": 1.2
+                },
+                {
+                    "dateTime": "08:00",
+                    "value": 2.5
+                },
+                {
+                    "dateTime": "09:00",
+                    "value": 1.8
+                },
+                {
+                    "dateTime": "10:00",
+                    "value": 2.7
+                },
+                {
+                    "dateTime": "11:00",
+                    "value": 2.2
+                },
+                {
+                    "dateTime": "12:00",
+                    "value": 1.5
+                },
+                {
+                    "dateTime": "13:00",
+                    "value": 1.8
+                },
+                {
+                    "dateTime": "14:00",
+                    "value": 2.7
+                },
+                {
+                    "dateTime": "15:00",
+                    "value": 1.5
+                },
+                {
+                    "dateTime": "16:00",
+                    "value": 1.8
+                },
+                {
+                    "dateTime": "17:00",
+                    "value": 1.7
+                },
+                {
+                    "dateTime": "18:00",
+                    "value": 1.2
+                },
+                {
+                    "dateTime": "19:00",
+                    "value": 1.5
+                },
+                {
+                    "dateTime": "20:00",
+                    "value": 2.8
+                },
+                {
+                    "dateTime": "21:00",
+                    "value": 1.7
+                },
+                {
+                    "dateTime": "22:00",
+                    "value": 2.8
+                },
+                {
+                    "dateTime": "23:00",
+                    "value": 1.7
+                }
+            ]
+          }
+        ]
+    },
+    "FindProjectplanData": {
+        "proplanmap": {
+            "fd_r_sjdl": 2536,
+            "fd_r_jhdl": 1238,
+            "fd_y_sjdl": 6238,
+            "fd_y_jhdl": 5639,
+            "fd_n_sjdl": 25614,
+            "fd_n_jhdl": 3645,
+
+            "gf_r_sjdl": 1236,
+            "gf_r_jhdl": 1658,
+            "gf_y_sjdl": 6258,
+            "gf_y_jhdl": 5689,
+            "gf_n_sjdl": 25214,
+            "gf_n_jhdl": 35415,
+
+            "qy_r_sjdl": 2516,
+            "qy_r_jhdl": 1258,
+            "qy_y_sjdl": 6258,
+            "qy_y_jhdl": 5639,
+            "qy_n_sjdl": 25614,
+            "qy_n_jhdl": 36215
+        }
+    }
+
 }

+ 63 - 8
src/views/Home/index.vue

@@ -11,15 +11,14 @@
 
 <script>
     import Map from "./components/map.vue";
-    import MapBlue from "./components/map_blue.vue";
+    // import MapBlue from "./components/map_blue.vue";
     export default {
         name: "Home",
         data() {
             return {};
         },
         components: {
-            Map,
-            MapBlue
+            Map
         },
     };
 </script>
@@ -121,6 +120,46 @@
             max-width: 650px;
         }
 
+        .security-days[data-type~="greenSty"] {
+            .lineBox {
+                .num {
+                    color: @green;
+                }
+            }
+
+            .num {
+                color: @green;
+            }
+
+            .num1 {
+                color: @green;
+            }
+
+            .qty_value {
+                color: @green;
+            }
+        }
+
+        .security-days[data-type~="blueSty"] {
+            .lineBox {
+                .num {
+                    color: @darkBlue;
+                }
+            }
+
+            .num {
+                color: @darkBlue;
+            }
+
+            .num1 {
+                color: @darkBlue;
+            }
+
+            .qty_value {
+                color: @darkBlue;
+            }
+        }
+
         .security-days {
 
             // position: absolute;
@@ -138,7 +177,6 @@
             .num {
                 font-size: 35px;
                 font-family: Bicubik;
-                color: #05bb4c;
 
                 .unit {
                     font-size: 12px;
@@ -153,7 +191,6 @@
                 .unit-t {
                     font-size: 14px;
                     font-family: Adobe Heiti Std;
-                    color: #05bb4c;
                     margin-left: 5px;
                 }
             }
@@ -170,7 +207,6 @@
                     .font-num {
                         font-size: 16px;
                         font-family: Bicubik;
-                        color: #05bb4c;
                         margin: 0 5px;
                     }
 
@@ -190,6 +226,18 @@
             }
         }
 
+        .qjny-info[data-type~="greenSty"] {
+            .qty_value {
+                color: @green;
+            }
+        }
+
+        .qjny-info[data-type~="blueSty"] {
+            .qty_value {
+                color: @darkBlue;
+            }
+        }
+
         .qjny-info {
             // width: 406px;
             background: rgba(0, 0, 0, 0.3);
@@ -248,7 +296,6 @@
                 position: relative;
                 top: 26px;
                 left: -54px;
-                color: #05bb4c;
                 font-family: "AgencyFB-Reg";
                 font-weight: bold;
 
@@ -281,6 +328,14 @@
             }
         }
 
+        .switch-jrqk[data-type~="greenSty"] {
+            border: 1px solid #05bb4c;
+        }
+
+        .switch-jrqk[data-type~="blueSty"] {
+            border: 1px solid #1a93cf;
+        }
+
         .switch-jrqk {
             position: absolute;
             top: 40%;
@@ -292,7 +347,7 @@
             background: rgba(0, 0, 0, 0.3);
             border-radius: 8px;
             padding: 20px 10px;
-            border: 1px solid #05bb4c;
+
 
             >div {
                 margin-bottom: 10px;

+ 7 - 3
src/views/layout/Header.vue

@@ -261,10 +261,13 @@ export default {
       }  else if (data.path === "/powerPrediction") {
         this.activeIndex = index;
         this.$router.replace(`${data.path}/index`);
+      } else if (data.path === "/report") {
+        this.$router.replace(`${data.path}/reportst/fdxnyrb`);
       } else {
         this.activeIndex = index;
         this.$router.push(data.path);
       }
+
       const ActiveModule = this.currMenu.find((ele) => {
         return ele.path === data.path;
       });
@@ -302,9 +305,10 @@ export default {
       let jiami = encrypt(getCookie("jiami")).replace(/\+/g, " ");
 
       // let url = `http://192.168.1.104:80/#/check?username=${getCookie(
-      let url = `http://10.81.3.127:8083/#/check?username=${getCookie(
-        "username"
-      )}&jiami=${jiami}`;
+    //   let url = `http://10.81.3.127:8083/#/check?username=${getCookie(
+    //     "username"
+    //   )}&jiami=${jiami}`;
+    let url = "http://123.60.223.250:8000/login"
       window.open(url);
     },
   },

+ 24 - 28
src/views/report/stationReport/fczybb/index.vue

@@ -1,34 +1,30 @@
 <template>
-  <div style="height: 100%">
-    <iframe
-      :src="url"
-      width="100%"
-      height="100%"
-      frameborder="0"
-      scrolling="auto"
-    ></iframe>
-  </div>
+    <div style="height: 100%">
+        <iframe :src="url" width="100%" height="100%" frameborder="0" scrolling="auto"></iframe>
+    </div>
 </template>
 <script>
-export default {
-  data() {
-    return {
-      //   url: "http://10.81.3.155:8083/bi/ebipro/easyolap.do?action=edit&resid=EANA$2$8$1$cf794177cf764f258f8105c6d3b03f3c$7cf4ccc30f914f0b8925e2234780402e&id=admin&pw=admin&showmenu=false&showparams=true&calcnow=true"
-      url: "http://10.81.3.155:8083/bi/ebipro/easyolap.do?action=edit&resid=EANA$2$8$1$cf794177cf764f258f8105c6d3b03f3c$e1d9d8dd6f2447108ed563ac4ba427df&id=admin&pw=admin&showmenu=false&showparams=true&calcnow=true",
+    export default {
+        data() {
+            return {
+                //   url: "http://10.81.3.155:8083/bi/ebipro/easyolap.do?action=edit&resid=EANA$2$8$1$cf794177cf764f258f8105c6d3b03f3c$7cf4ccc30f914f0b8925e2234780402e&id=admin&pw=admin&showmenu=false&showparams=true&calcnow=true"
+                url: "http://123.60.219.66:8083/bi/ebipro/easyolap.do?action=edit&resid=EANA$2$8$1$041302f30436412d9ba78f161a6575f0$f5c25912e8aa49d78e33f070bf944858&id=admin&pw=admin",
+            };
+        },
     };
-  },
-};
 </script>
 <style lang="less" scope>
-@titleGray: #9ca5ab;
-@rowGray: #606769;
-@darkBack: #536268;
-.knowledge-2 {
-  .el-select {
-    width: 200px;
-  }
-  .el-input {
-    width: 200px;
-  }
-}
-</style>
+    @titleGray: #9ca5ab;
+    @rowGray: #606769;
+    @darkBack: #536268;
+
+    .knowledge-2 {
+        .el-select {
+            width: 200px;
+        }
+
+        .el-input {
+            width: 200px;
+        }
+    }
+</style>

+ 22 - 21
src/views/report/stationReport/fdczzdy/index.vue

@@ -1,28 +1,29 @@
 <template>
-  <div style="height:100%">
-    <iframe :src="url" width="100%" height="100%" frameborder="0" scrolling="auto"></iframe>
-  </div>
+    <div style="height:100%">
+        <iframe :src="url" width="100%" height="100%" frameborder="0" scrolling="auto"></iframe>
+    </div>
 </template>
 <script>
-export default {
-  data(){
-    return {
-      url: "http://10.81.3.155:8083/bi/ebipro/easyolap.do?action=edit&resid=EANA$2$8$1$a95c37e40d684dfc91cf61e9a67b22e3$9434e7e05656406194de4ca47cb31fa3&id=admin&pw=admin&showmenu=false&showparams=true&calcnow=true"
+    export default {
+        data() {
+            return {
+                url: "http://123.60.219.66:8083/bi/ebibase/showreport.do?resid=EANA$2$2$1$041302f30436412d9ba78f161a6575f0$8e0637d590ce4fa2b3a26455a81895b2&id=admin&pw=admin"
+            }
+        }
     }
-  }
-}
 </script>
 <style lang="less" scope>
-@titleGray: #9ca5ab;
-@rowGray: #606769;
-@darkBack: #536268;
-.knowledge-2 {
-  .el-select {
-    width: 200px;
-  }
-  .el-input {
-    width: 200px;
-  }
-}
-</style>
+    @titleGray: #9ca5ab;
+    @rowGray: #606769;
+    @darkBack: #536268;
 
+    .knowledge-2 {
+        .el-select {
+            width: 200px;
+        }
+
+        .el-input {
+            width: 200px;
+        }
+    }
+</style>

+ 24 - 27
src/views/report/stationReport/fdxnyrb/index.vue

@@ -1,33 +1,30 @@
 <template>
-  <div style="height: 100%">
-    <iframe
-      :src="url"
-      width="100%"
-      height="100%"
-      frameborder="0"
-      scrolling="auto"
-    ></iframe>
-  </div>
+    <div style="height: 100%">
+        <iframe :src="url" width="100%" height="100%" frameborder="0" scrolling="auto"></iframe>
+    </div>
 </template>
 <script>
-export default {
-  data() {
-    return {
-      url: "http://10.81.3.155:8083/bi/ebibase/showreport.do?resid=EANA$2$2$1$cf794177cf764f258f8105c6d3b03f3c$fe0158e8338649feac0e326451439e55&id=admin&pw=admin",
+    export default {
+        data() {
+            return {
+                //   url: "http://10.81.3.155:8083/bi/ebibase/showreport.do?resid=EANA$2$2$1$cf794177cf764f258f8105c6d3b03f3c$fe0158e8338649feac0e326451439e55&id=admin&pw=admin",
+                url: "http://123.60.219.66:8083/bi/ebibase/showreport.do?resid=EANA$2$2$1$041302f30436412d9ba78f161a6575f0$621b7c14e4aa4a0483a8e577d8dc4cff&id=admin&pw=admin"
+            };
+        },
     };
-  },
-};
 </script>
 <style lang="less" scope>
-@titleGray: #9ca5a8;
-@rowGray: #606769;
-@darkBack: #536268;
-.knowledge-2 {
-  .el-select {
-    width: 200px;
-  }
-  .el-input {
-    width: 200px;
-  }
-}
-</style>
+    @titleGray: #9ca5a8;
+    @rowGray: #606769;
+    @darkBack: #536268;
+
+    .knowledge-2 {
+        .el-select {
+            width: 200px;
+        }
+
+        .el-input {
+            width: 200px;
+        }
+    }
+</style>

+ 17 - 2
src/views/stateMonitor/factoryMonitor/components/saliderBar.vue

@@ -1,5 +1,5 @@
 <template>
-  <div class="sliderBar">
+  <div class="sliderBar" :data-type="$store.state.moreSty">
     <ul>
       <li
         v-for="(item, index) in routerData"
@@ -89,6 +89,21 @@ ul,
 ul li {
   list-style: none;
 }
+
+.sliderBar[data-type~="greenSty"] {
+    ul {
+        li{
+            border: 1px solid #05bb4c;
+        }
+    }
+}
+.sliderBar[data-type~="blueSty"] {
+    ul {
+        li{
+            border: 1px solid #1a93cf;
+        }
+    }
+}
 .sliderBar {
   ul {
     display: flex;
@@ -113,7 +128,7 @@ ul li {
     width: 36px;
     height: 36px;
     // border-radius: 50%;
-    border: 1px solid #05bb4c;
+    
     margin-top: 16px;
     cursor: pointer;
     .alarm-icon {

+ 115 - 14
src/views/stateMonitor/factoryMonitor/photovoltaic/components/navList.vue

@@ -4,6 +4,7 @@
     <div class="menuList">
       <div
         class="menu"
+        :data-type="$store.state.moreSty"
         :class="{ active: menuIndex == index }"
         v-for="(nemu, index) in list"
         :key="index"
@@ -91,6 +92,18 @@ export default {
       immediate: true,
     },
   },
+  mounted() {
+    this.list = new Array(5).fill({
+        pjname: "测试数据",
+        lns: new Array(5).fill({
+            lnname: "测试Lns数据",
+            wts: new Array(5).fill({
+                status: "blue",
+                wtname: "测试w数据"
+            })
+        })
+    })
+  },
   methods: {
     handleClick(val) {
       if (this.menuIndex === val) {
@@ -395,17 +408,117 @@ export default {
     height: 3px;
   }
 }
+
+.menu[data-type~="greenSty"] {
+    .box-text{
+        border: 1px solid #3b6c53;
+        background: rgba(39, 62, 48, 0.6);
+    }
+    .dot {
+        border: 1px solid #05bb4c;
+        box-shadow: 0 0 7px rgb(42 255 28);
+    }
+    &.active {
+        .box-text {
+            color: #05bb4c;
+        }
+        .second-menu{
+            .box-text1 {
+                color: #05bb4c;
+            }
+            &.active {
+                .box-text1 {
+                    color: #05bb4c;
+
+                    .dot {
+                        background-color: #3b6c53;
+                    }
+
+                    &::after {
+                        border-left: 1px dashed rgba(5, 187, 76, 0.5);
+                    }
+                }
+
+                .box-text2 {
+                    border: 1px solid rgba(7, 122, 52, 0.8);
+                    background-color: rgba(7, 122, 52, 0.2);
+                }
+
+                .wind-item {
+                    border-left: 1px dashed rgba(5, 187, 76, 0.5);
+                    &::after {
+                        border-top: 1px dashed rgba(5, 187, 76, 0.5);
+                    }
+                    &.active {
+                        .box-text2 {
+                            background-color: rgba(7, 122, 52, 0.4);
+                        }
+                    }
+                }
+            }
+        }
+    }
+}
+.menu[data-type~="blueSty"] {
+    .box-text{
+        border: 1px solid #3b546c;
+        background: rgba(39, 50, 62, 0.6);
+    }
+    .dot {
+        border: 1px solid #055abb;
+        box-shadow: 0 0 7px rgb(28, 164, 255);
+    }
+    &.active {
+        .box-text {
+            color: #1a93cf;
+        }
+        .second-menu{
+            .box-text1 {
+                color: #1a93cf;
+            }
+            &.active {
+                .box-text1 {
+                    color: #1a93cf;
+
+                    .dot {
+                        background-color: #3b566c;
+                    }
+
+                    &::after {
+                        border-left: 1px dashed rgba(5, 105, 187, 0.5);
+                    }
+                }
+
+                .box-text2 {
+                    border: 1px solid rgba(7, 70, 122, 0.8);
+                    background-color: rgba(7, 70, 122, 0.2);
+                }
+
+                .wind-item {
+                    border-left: 1px dashed rgba(5, 105, 187, 0.5);
+                    &::after {
+                        border-top: 1px dashed rgba(5, 105, 187, 0.5);
+                    }
+                    &.active {
+                        .box-text2 {
+                            background-color: rgba(7, 70, 122, 0.4);
+                        }
+                    }
+                }
+            }
+        }
+    }
+}
+
 .menu {
   margin-bottom: 3px;
   .box-text {
     width: 100%;
-    border: 1px solid #3b6c53;
     border-radius: 2px;
     height: 32px;
     line-height: 32px;
     font-size: 14px;
     color: #b3b3b3;
-    background: rgba(39, 62, 48, 0.6);
     text-align: center;
     display: flex;
     align-items: center;
@@ -427,8 +540,6 @@ export default {
     width: 7px;
     height: 7px;
     border-radius: 50%;
-    border: 1px solid #05bb4c;
-    box-shadow: 0 0 7px rgb(42 255 28);
     margin-right: 7px;
     margin-left: 5px;
     background-color: RGBA(10, 13, 17, 1);
@@ -445,7 +556,6 @@ export default {
 
   &.active {
     .box-text {
-      color: #05bb4c;
     }
 
     .second-menu {
@@ -461,7 +571,6 @@ export default {
         height: 30px;
         line-height: 30px;
         border-bottom: 1px solid rgba(23, 27, 33, 1);
-        color: #05bb4c;
         align-items: center;
         justify-content: space-between;
         cursor: pointer;
@@ -476,10 +585,8 @@ export default {
 
       &.active {
         .box-text1 {
-          color: #05bb4c;
 
           .dot {
-            background-color: #3b6c53;
             z-index: 99;
           }
 
@@ -488,7 +595,6 @@ export default {
             display: block;
             width: 12px;
             height: 12px;
-            border-left: 1px dashed rgba(5, 187, 76, 0.5);
             position: absolute;
             left: 8px;
             top: 17px;
@@ -502,7 +608,6 @@ export default {
           line-height: 26px;
           color: #959595;
           margin: 0 10px 0 18px;
-          border-left: 1px dashed rgba(5, 187, 76, 0.5);
 
           .text {
             width: 100%;
@@ -545,11 +650,9 @@ export default {
               width: 84px;
               height: 22px;
               line-height: 22px;
-              border: 1px solid rgba(7, 122, 52, 0.8);
               padding: 0 12px;
               color: #959595;
               font-size: 12px;
-              background-color: rgba(7, 122, 52, 0.2);
               cursor: pointer;
             }
 
@@ -600,7 +703,6 @@ export default {
             display: block;
             width: 15px;
             height: 18px;
-            border-top: 1px dashed rgba(5, 187, 76, 0.5);
             position: absolute;
             left: -1px;
             top: 13px;
@@ -608,7 +710,6 @@ export default {
 
           &.active {
             .box-text2 {
-              background-color: rgba(7, 122, 52, 0.4);
               color: #fff;
             }
           }

+ 47 - 48
src/views/stateMonitor/factoryMonitor/photovoltaic/index.vue

@@ -1,62 +1,61 @@
 <template>
-  <div
-    style="
+    <div style="
       width: 100%;
       height: 100%;
       display: flex;
       justify-content: space-between;
       padding: 0 20px;
-    "
-  >
-    <div class="loghtPowerContent">
-      <router-view />
+    ">
+        <div class="loghtPowerContent">
+            <router-view />
+        </div>
+        <saliderBar :routerData="routerData" />
     </div>
-    <saliderBar :routerData="routerData" />
-  </div>
 </template>
 
 <script>
-import saliderBar from "@/views/stateMonitor/factoryMonitor/components/saliderBar";
-export default {
-  name: "photovoltaic", //光伏场站
-  components: {
-    saliderBar,
-  },
-  data() {
-    return {};
-  },
-  methods: {},
-  computed: {
-    routerData() {
-      let currData = [];
-      let stateRoutes = this.$store.state.routes.routes;
-      stateRoutes.forEach((route) => {
-        if (route.path == "/stateMonitor") {
-          route.children.forEach((croute) => {
-            if (croute.name == "photovoltaic") {
-              //   let a = croute.children.find(
-              //     (item) => item.path == "photovoltaic"
-              //   );
-              croute.children.forEach((child) => {
-                currData.push({
-                  icon: child.meta.icon,
-                  title: child.meta.title,
-                  path: child.path,
+    import saliderBar from "@/views/stateMonitor/factoryMonitor/components/saliderBar";
+    export default {
+        name: "photovoltaic", //光伏场站
+        components: {
+            saliderBar,
+        },
+        data() {
+            return {};
+        },
+        methods: {},
+        computed: {
+            routerData() {
+                let currData = [];
+                //   let stateRoutes = this.$store.state.routes.routes;
+                let stateRoutes = this.$router.options.routes
+                stateRoutes.forEach((route) => {
+                    if (route.path == "/stateMonitor") {
+                        route.children.forEach((croute) => {
+                            if (croute.name == "photovoltaic") {
+                                //   let a = croute.children.find(
+                                //     (item) => item.path == "photovoltaic"
+                                //   );
+                                croute.children.forEach((child) => {
+                                    currData.push({
+                                        icon: child.meta.icon,
+                                        title: child.meta.title,
+                                        path: child.path,
+                                    });
+                                });
+                            }
+                        });
+                    }
                 });
-              });
-            }
-          });
-        }
-      });
-      return currData;
-    },
-  },
-};
+                return currData;
+            },
+        },
+    };
 </script>
 
 <style lang="less" scoped>
-.loghtPowerContent {
-  height: 100%;
-  width: calc(100% - 60px);
-}
-</style>
+    .loghtPowerContent {
+        height: 100%;
+        width: calc(100% - 60px);
+    }
+</style>

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 288 - 0
src/views/stateMonitor/factoryMonitor/photovoltaic/lightBoosterStation/components/test.vue


+ 5 - 1
src/views/stateMonitor/factoryMonitor/photovoltaic/lightBoosterStation/index.vue

@@ -6,7 +6,9 @@
   />
   <div style="height: calc(100% - 77px)">
     <!-- 光伏 *************** -->
-
+    <test
+      class="booster-station-body"
+    />
     <!-- 繁峙均然 -->
     <GFfanshijunran
       class="booster-station-body"
@@ -142,6 +144,7 @@ import headerButton from "@/views/stateMonitor/factoryMonitor/components/headerB
 import GFshanyinrongxin from "./components/shanyinrongxin.vue";
 import GFfangshansunjiashan from "./components/fangshansunjiashan.vue";
 import GFfanshijunran from "./components/fanshijunran.vue";
+import test from "./components/test.vue";
 import GFhuairenchuchen from "./components/huairenchuchen.vue";
 import GFpingluzuhu from "./components/pingluzuhu.vue";
 import GFtianzhenxusheng from "./components/tianzhenxusheng.vue";
@@ -156,6 +159,7 @@ export default {
   name: "lightBoosterStation",
   components: {
     headerButton,
+    test,
     GFshanyinrongxin,
     GFfangshansunjiashan,
     GFfanshijunran,

+ 23 - 7
src/views/stateMonitor/factoryMonitor/photovoltaic/lightDataTarget/index.vue

@@ -3,7 +3,7 @@
     <headerButton :type="stationType" @renderData="renderData" />
     <div class="systemData bodys">
       <div class="line">
-        <div class="leftContent"><span>数据指标</span></div>
+        <div class="leftContent" :data-type="$store.state.moreSty"><span>数据指标</span></div>
         <div class="rightContent">
           <div class="more" @click="addTargets"><i>+</i>更多指标</div>
         </div>
@@ -164,7 +164,7 @@ export default {
     };
   },
   created() {
-    this.loading = true;
+    // this.loading = true;
     // let localLightTargets = window.localStorage.getItem("lightlocalData");
     // if (
     //   localLightTargets != null &&
@@ -245,7 +245,7 @@ export default {
       {
         name: "逆变器直流电压",
         valueUnit: "V",
-        uniformCode: "AIG062",
+        uniformCode: "AIG061",
         width: "150",
       },
     ];
@@ -254,11 +254,21 @@ export default {
     //     JSON.stringify(this.uniformDetial)
     //   );
     // }
+
+    this.stationData = new Array(20).fill({
+        SBAMC: "测试设备",
+        SBXH: 10000,
+        AI121: "15",
+        AIG095: "152",
+        AI114: 14523,
+        AIG061: 25,
+        AIG061: 85,
+    })
   },
   mounted() {
-    this.timer = setInterval(() => {
-      this.GetWtTargetsList();
-    }, 5000);
+    // this.timer = setInterval(() => {
+    //   this.GetWtTargetsList();
+    // }, 5000);
   },
   unmounted() {
     clearInterval(this.timer);
@@ -563,12 +573,18 @@ ul li {
   width: 100%;
   margin-bottom: 5px;
 
+
+    .leftContent[data-type~="greenSty"] {
+      background: url("~@/assets/imgs/title_left_bg1.png") no-repeat;
+    }
+    .leftContent[data-type~="blueSty"] {
+        background: url("~@/assets/imgs/title_left_bg.png") no-repeat;
+    }
   .leftContent {
     width: 242px;
     height: 41px;
     display: flex;
     align-items: center;
-    background: url("~@/assets/imgs/title_left_bg1.png") no-repeat;
 
     span {
       font-size: 16px;

+ 276 - 0
src/views/stateMonitor/factoryMonitor/photovoltaic/lightGeomorphologicMap/components/test-map.vue

@@ -0,0 +1,276 @@
+<template>
+  <div class="svg-map">
+    <svg
+      version="1.1"
+      xmlns="http://www.w3.org/2000/svg"
+      xmlns:xlink="http://www.w3.org/1999/xlink"
+      x="0px"
+      y="0px"
+      viewBox="0 0 1955 940"
+      :style="
+        'enable-background: new 0 0 866 359; left: ' +
+        svgLeft +
+        '; top: ' +
+        svgTop +
+        ';'
+      "
+      xml:space="preserve"
+      :width="svgWidth"
+      :height="svgHeight"
+    >
+      <defs>
+        <g id="nx-map-line">
+          <line
+            class="nx-map-line"
+            x1="25"
+            y1="25"
+            x2="25"
+            y2="80"
+            stroke="#edbf03"
+            stroke-width="1"
+          />
+          <circle
+            class="nx-map-up-circle"
+            cx="25"
+            cy="25"
+            r="2"
+            fill="#edbf03"
+          />
+        </g>
+        <g id="nx-map-circle">
+          <circle
+            class="nx-map-down-circle-1"
+            cx="25"
+            cy="80"
+            r="3"
+            fill="#edbf03"
+          />
+          <circle
+            class="nx-map-down-circle-2"
+            :class="{ 'nx-map-down-circle-loop': c1 }"
+            cx="25"
+            cy="80"
+            r="9"
+            stroke="#edbf03"
+            stroke-width="1"
+            fill="none"
+          />
+          <circle
+            class="nx-map-down-circle-3"
+            :class="{ 'nx-map-down-circle-loop': c2 }"
+            cx="25"
+            cy="80"
+            r="16"
+            opacity="0.6"
+            stroke="#edbf03"
+            stroke-width="1"
+            fill="none"
+          />
+        </g>
+      </defs>
+      <g>
+        <image
+          style="overflow: visible"
+          width="2050"
+          height="1220"
+          class="map-base"
+          xlink:href="./img/dmt_sy1.png"
+          transform="matrix(1 0 0 1 0 -100)"
+        ></image>
+        <g
+          :class="item.name != '升压站' ? 'item-label-hover' : ''"
+          v-for="(item, index) in dataList"
+          :key="index"
+          @click="handleClick(item.id, item.name)"
+        >
+          <image
+            v-if="item.name != '升压站'"
+            data-v-28794fe1=""
+            width="41"
+            height="34"
+            :x="Number(item.x) - 10"
+            :y="Number(item.y) + 10"
+            xlink:href="@/assets\png\sun.png"
+            class="pillar"
+          ></image>
+          <image
+            v-if="item.name == '升压站'"
+            data-v-28794fe1=""
+            width="75"
+            height="54"
+            :x="Number(item.x) + 20"
+            :y="Number(item.y) + 10"
+            xlink:href="@/assets/png/booster-station.png"
+          ></image>
+          <text
+            v-if="item.name != '升压站'"
+            class="mapKey"
+            :x="Number(item.x) - 10"
+            :y="Number(item.y) + 60"
+            fill="#ffffff"
+            font-size="14"
+          >
+            {{ item.name }}
+          </text>
+          <text
+            v-else
+            class="mapKey"
+            :x="Number(item.x) + 60"
+            :y="Number(item.y) + 70"
+            fill="#ffffff"
+            font-size="14"
+          >
+            {{ item.name }}
+          </text>
+        </g>
+      </g>
+    </svg>
+    <Wtllist ref="dialog" :showname="showname" />
+  </div>
+</template>
+<script>
+import Wtllist from "./zhenqudialog.vue";
+export default {
+  props: {
+    windturbineList: {
+      type: Array,
+      default: () => [],
+    },
+  },
+  components: {
+    Wtllist,
+  },
+  data() {
+    return {
+      dataList: [
+        {
+          name: "升压站",
+          x: "1760",
+          y: "360",
+        },
+        {
+          name: "N13方阵",
+          x: "1415",
+          y: "195",
+          type: 3,
+        },
+        {
+          name: "N14方阵",
+          x: "1430",
+          y: "325",
+          type: 3,
+        },
+        {
+          name: "N15方阵",
+          x: "1440",
+          y: "465",
+          type: 3,
+        },
+        {
+          name: "N01方阵",
+          x: "1215",
+          y: "215",
+          type: 3,
+        },
+        {
+          name: "N05方阵",
+          x: "1215",
+          y: "325",
+          type: 3,
+        },
+        {
+          name: "N10方阵",
+          x: "1220",
+          y: "465",
+          type: 3,
+        },
+        {
+          name: "N12方阵",
+          x: "1135",
+          y: "555",
+          type: 3,
+        },
+        {
+          name: "N04方阵",
+          x: "1005",
+          y: "315",
+          type: 3,
+        },
+        {
+          name: "N09方阵",
+          x: "995",
+          y: "455",
+          type: 3,
+        },
+        {
+          name: "N03方阵",
+          x: "785",
+          y: "315",
+          type: 3,
+        },
+        {
+          name: "N08方阵",
+          x: "765",
+          y: "455",
+          type: 3,
+        },
+        {
+          name: "N02方阵",
+          x: "580",
+          y: "310",
+          type: 3,
+        },
+        {
+          name: "N07方阵",
+          x: "545",
+          y: "455",
+          type: 3,
+        },
+        {
+          name: "N11方阵",
+          x: "605",
+          y: "540",
+          type: 3,
+        },
+        {
+          name: "N06方阵",
+          x: "325",
+          y: "450",
+          type: 3,
+        },
+      ],
+      list: [],
+      showname: "",
+    };
+  },
+  created() {
+    this.$nextTick(() => {
+      this.getData();
+    });
+  },
+  methods: {
+    getData() {
+      this.dataList.forEach((item) => {
+        this.windturbineList.forEach((i, num) => {
+          if (item.name == i.name) {
+            item["id"] = i.id;
+          }
+        });
+      });
+    },
+    handleClick(id, name) {
+      this.showname = name;
+      this.$refs.dialog.openDialog(id);
+    },
+  },
+};
+</script>
+<style lang="less" scoped>
+.item-label-hover {
+  cursor: pointer;
+}
+.isshow {
+  display: none;
+  color: #ffffff;
+}
+</style>

+ 6 - 0
src/views/stateMonitor/factoryMonitor/photovoltaic/lightGeomorphologicMap/index.vue

@@ -1,6 +1,10 @@
 <template>
   <headerButton :showType="true" :type="stationType" @renderData="renderData" />
   <div>
+    <testMap
+      :windturbineList="windturbineList"
+      ref="maps"
+    ></testMap>
     <!-- 山阴 -->
     <syMap
       v-if="project === 'SXJ_KGDL_SYG01_EG'"
@@ -90,6 +94,7 @@
 </template>
 <script>
 import headerButton from "@/views/stateMonitor/factoryMonitor/components/headerButton.vue";
+import testMap from "./components/test-map.vue";
 import syMap from "./components/sy-map.vue";
 import syMap2 from "./components/sy2-map.vue";
 import fsMap from "./components/fs-map.vue";
@@ -110,6 +115,7 @@ export default {
   name: "geomorphologicMap",
   components: {
     headerButton,
+    testMap,
     syMap,
     syMap2,
     jrMap,

+ 34 - 0
src/views/stateMonitor/factoryMonitor/photovoltaic/lightMatrix/dataJson.json

@@ -0,0 +1,34 @@
+{
+    "code": 0,
+    "sourceMapData": {
+        "czmc": 25,
+        "zjsl": 21,
+        "gf_djnum": 15,
+        "gf_dfnum": 38,
+        "gf_sdtjnum": 15,
+        "gf_yxnum": 17,
+        "gf_zcfdnum": 29,
+        "gf_jclyxnum": 38,
+        "gf_gznum": 15,
+        "gf_gzcnslnum": 38,
+        "gf_gztjnum": 15,
+        "gf_jxnum": 17,
+        "gf_jxtjnum": 29,
+        "gf_jxclslnum": 38,
+        "gf_xdnum": 25,
+        "gf_xdjclnum": 25,
+        "gf_tjnum": 25,
+        "gf_slnum": 25,
+        "gf_slhjnum": 25,
+        "gf_sldwnum": 25,
+        "gf_lxnum": 25,
+        "gf_lxyznum": 25,
+        "gf_wznum": 25,
+
+        "gzqd": 20,
+        "ycgl": 1256,
+        "bzgl": 2541,
+        "sjgl": 2054
+    },
+    "showMatrixListdata": []
+}

+ 41 - 16
src/views/stateMonitor/factoryMonitor/photovoltaic/lightMatrix/index.vue

@@ -236,7 +236,7 @@
         :key="indexe"
       >
         <div class="line_all">
-          <div class="line-namebox">
+          <div class="line-namebox" :data-type="$store.state.moreSty">
             <div class="line-name" v-if="indexe && indexe.length >= 5">
               <div>{{ indexe.substring(0, indexe.indexOf("方阵")) }}</div>
               <div>方阵</div>
@@ -337,7 +337,7 @@
         </div>
       </div>
     </div>
-    <div
+    <!-- <div
       v-else
       style="
         height: calc(100% - 78px);
@@ -361,7 +361,7 @@
           <span></span>
         </template>
       </el-empty>
-    </div>
+    </div> -->
   </div>
   <el-dialog
     class="dialogs"
@@ -392,6 +392,7 @@ import LightDetail from "@/components/lightDetial/index.vue";
 import api from "@/api/cockpit/matrix/index.js";
 import dayjs from "dayjs";
 import { deepClone, findUpColor } from "@/utills/func.js";
+import dataJson from "./dataJson.json"
 export default {
   name: "lightMatrix",
   components: {
@@ -680,7 +681,7 @@ export default {
       ],
       glStsee: [],
       singleMatrixInfo: {}, //阵区矩阵数据
-      tab: "", //集中式 组串式
+      tab: "JZ", //集中式 组串式
       matrixState: {}, //矩阵状态数据
       matrixOther: {}, //矩阵其他数据
     };
@@ -688,9 +689,20 @@ export default {
 
   created() {},
   mounted() {
-    this.timer = setInterval(() => {
-      this.getSingleMatrix();
-    }, 5000);
+    // this.timer = setInterval(() => {
+    //   this.getSingleMatrix();
+    // }, 5000);
+    this.matrixState = dataJson.sourceMapData
+    this.matrixOther = dataJson.sourceMapData
+    for(let i =0; i<40; i++) {
+        this.showMatrixList.push(
+            dataJson.showMatrixListdata = new Array(2).fill({
+                name: "测试1",
+                yxzt: 3
+            })
+        )
+    }
+    
   },
   unmounted() {
     clearInterval(this.timer);
@@ -1514,6 +1526,28 @@ p {
       display: flex;
       align-items: center;
       margin-top: 5px;
+      .line-namebox[data-type~="greenSty"] {
+            border-image: linear-gradient(
+                321deg,
+                rgba(5, 187, 76, 0.2),
+                rgba(5, 187, 76, 0.1),
+                rgba(67, 81, 107, 0.1),
+                rgba(67, 81, 107, 0),
+                rgba(5, 187, 76, 0.5)
+            )
+            1 1;
+        }
+        .line-namebox[data-type~="blueSty"] {
+            border-image: linear-gradient(
+                321deg,
+                rgba(5, 99, 187, 0.2),
+                rgba(5, 120, 187, 0.1),
+                rgba(67, 81, 107, 0.1),
+                rgba(67, 81, 107, 0),
+                rgba(5, 114, 187, 0.5)
+            )
+            1 1;     
+        }
       .line-namebox {
         padding: 0 10px;
         min-height: 66px;
@@ -1526,15 +1560,6 @@ p {
         justify-content: center;
         border-radius: 5px;
         border: 1px solid;
-        border-image: linear-gradient(
-            321deg,
-            rgba(5, 187, 76, 0.2),
-            rgba(5, 187, 76, 0.1),
-            rgba(67, 81, 107, 0.1),
-            rgba(67, 81, 107, 0),
-            rgba(5, 187, 76, 0.5)
-          )
-          1 1;
       }
 
       .line-list {

+ 126 - 0
src/views/stateMonitor/factoryMonitor/photovoltaic/lightMatrixMonitor/dataJson.json

@@ -0,0 +1,126 @@
+{
+    "code": 0,
+    "sourceMapData": {
+        "jrts": 25,
+        "djts": 21,
+        "bwts": 15,
+        "gzts": 38,
+        "jxts": 15,
+        "xdts": 17,
+        "slts": 29,
+        "lxts": 38,
+
+        "dfts": 25,
+        "zcyx": 25,
+        "gztj": 25,
+        "jxtj": 25,
+        "xdjcl": 25,
+        "dwsl": 25,
+        "lx": 25,
+
+        "sdtj": 25,
+        "jclyx": 25,
+        "gzsl": 25,
+        "jxsl": 25,
+        "xdtj": 25,
+        "hjsl": 25,
+        "wz": 25,
+
+        "speed": 20,
+        "ycgl": 1256,
+        "bzgl": 2541,
+        "sjgl": 2054
+    },
+    "showMatrixListdata": [
+        {
+            "wpname": "测试1",
+            "czlx": "-1",
+            "jrts": 25,
+            "djts": 21,
+            "bwts": 15,
+            "gzts": 38,
+            "jxts": 15,
+            "xdts": 17,
+            "slts": 29,
+            "lxts": 38,
+            "spped": 14,
+            "ycgl": 21556,
+            "bzgl": 1254,
+            "llgl": 125445,
+            "sjgl": 1254,
+            "lineVos": []
+        },
+        {
+            "wpname": "测试2",
+            "czlx": "-1",
+            "jrts": 25,
+            "djts": 21,
+            "bwts": 15,
+            "gzts": 38,
+            "jxts": 15,
+            "xdts": 17,
+            "slts": 29,
+            "lxts": 38,
+            "spped": 14,
+            "ycgl": 21556,
+            "bzgl": 1254,
+            "llgl": 125445,
+            "sjgl": 1254,
+            "lineVos": []
+        },
+        {
+            "wpname": "测试3",
+            "czlx": "-1",
+            "jrts": 25,
+            "djts": 21,
+            "bwts": 15,
+            "gzts": 38,
+            "jxts": 15,
+            "xdts": 17,
+            "slts": 29,
+            "lxts": 38,
+            "spped": 14,
+            "ycgl": 21556,
+            "bzgl": 1254,
+            "llgl": 125445,
+            "sjgl": 1254,
+            "lineVos": []
+        },
+        {
+            "wpname": "测试4",
+            "czlx": "-1",
+            "jrts": 25,
+            "djts": 21,
+            "bwts": 15,
+            "gzts": 38,
+            "jxts": 15,
+            "xdts": 17,
+            "slts": 29,
+            "lxts": 38,
+            "spped": 14,
+            "ycgl": 21556,
+            "bzgl": 1254,
+            "llgl": 125445,
+            "sjgl": 1254,
+            "lineVos": []
+        },
+        {
+            "wpname": "测试5",
+            "czlx": "-1",
+            "jrts": 25,
+            "djts": 21,
+            "bwts": 15,
+            "gzts": 38,
+            "jxts": 15,
+            "xdts": 17,
+            "slts": 29,
+            "lxts": 38,
+            "spped": 14,
+            "ycgl": 21556,
+            "bzgl": 1254,
+            "llgl": 125445,
+            "sjgl": 1254,
+            "lineVos": []
+        }
+    ]
+}

+ 60 - 15
src/views/stateMonitor/factoryMonitor/photovoltaic/lightMatrixMonitor/index.vue

@@ -94,6 +94,7 @@
       </div>
       <div
         class="unpaid"
+        :data-type="$store.state.moreSty"
         @click="handleStationCurveClick(singleMatrixInfo.wpid)"
       >
         <div class="unpaid-list">
@@ -174,7 +175,7 @@
           v-for="(mes, index) in value?.lineVos"
           :key="index"
         >
-          <div class="line-namebox">
+          <div class="line-namebox" :data-type="$store.state.moreSty">
             <div class="line-name">
               {{ mes.name }}
             </div>
@@ -317,6 +318,7 @@ import LightDetail from "@/components/lightDetial/index.vue";
 import api from "@/api/cockpit/matrix/index.js";
 import dayjs from "dayjs";
 import { deepClone, findUpColor } from "@/utills/func.js";
+import dataJson from "./dataJson.json"
 export default {
   name: "lightMatrixMonitor",
   components: {
@@ -678,9 +680,29 @@ export default {
 
   created() {},
   mounted() {
-    this.timer = setInterval(() => {
-      this.getSingleMatrix();
-    }, 5000);
+    // this.timer = setInterval(() => {
+    //   this.getSingleMatrix();
+    // }, 5000);
+    this.singleMatrixInfo = dataJson.sourceMapData
+    this.showMatrixList = dataJson.showMatrixListdata
+    dataJson.showMatrixListdata.forEach((it, index) =>{
+        it.lineVos = new Array(5).fill({
+            name: "测试数据1",
+            wtDataList: new Array(13).fill({
+                wtname: it.wpname,
+                status: index === 4 ? 6 : index,
+                czlx: -1,
+                wtid: 5,
+                power: 2514,
+                speed: 13,
+                current: 251,
+                transfer: 21,
+                voltage: 25,
+                rate: 395,
+                ssqfzt: 1
+            })
+        })
+    })
   },
   unmounted() {
     clearInterval(this.timer);
@@ -1479,13 +1501,22 @@ p {
       }
     }
 
+    .unpaid[data-type~="greenSty"] {
+        background: #081410;
+        border: 1px solid #083d22;
+    }
+    .unpaid[data-type~="blueSty"] {
+        background: #080e14;
+        border: 1px solid #08283d;
+    }
+
     .unpaid {
       display: flex;
       flex-direction: row;
       align-items: center;
       height: 65px;
-      background: rgba(0, 70, 199, 0.08);
-      border: 1px solid #1e386a;
+    //   background: rgba(0, 70, 199, 0.08);
+    //   border: 1px solid #1e386a;
       position: relative;
       flex: 1 0 auto;
       margin-left: 10px;
@@ -1579,6 +1610,29 @@ p {
       display: flex;
       align-items: center;
       margin-top: 5px;
+
+      .line-namebox[data-type~="greenSty"] {
+            border-image: linear-gradient(
+                321deg,
+                rgba(5, 187, 76, 0.2),
+                rgba(5, 187, 76, 0.1),
+                rgba(67, 81, 107, 0.1),
+                rgba(67, 81, 107, 0),
+                rgba(5, 187, 76, 0.5)
+            )
+            1 1;
+        }
+        .line-namebox[data-type~="blueSty"] {
+            border-image: linear-gradient(
+                321deg,
+                rgba(5, 99, 187, 0.2),
+                rgba(5, 120, 187, 0.1),
+                rgba(67, 81, 107, 0.1),
+                rgba(67, 81, 107, 0),
+                rgba(5, 114, 187, 0.5)
+            )
+            1 1;     
+        }
       .line-namebox {
         padding: 0 10px;
         min-height: 66px;
@@ -1590,15 +1644,6 @@ p {
         align-items: center;
         border-radius: 5px;
         border: 1px solid;
-        border-image: linear-gradient(
-            321deg,
-            rgba(5, 187, 76, 0.2),
-            rgba(5, 187, 76, 0.1),
-            rgba(67, 81, 107, 0.1),
-            rgba(67, 81, 107, 0),
-            rgba(5, 187, 76, 0.5)
-          )
-          1 1;
       }
 
       .line-list {

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 148 - 0
src/views/stateMonitor/factoryMonitor/photovoltaic/lightMillivolt/components/test.vue


+ 5 - 1
src/views/stateMonitor/factoryMonitor/photovoltaic/lightMillivolt/index.vue

@@ -6,7 +6,9 @@
   />
   <div style="height: calc(100% - 77px)">
     <!-- 光伏 *************** -->
-
+    <test
+      class="booster-station-body"
+    />
     <!-- 繁峙均然 -->
     <GFfanshijunran
       class="booster-station-body"
@@ -142,6 +144,7 @@ import headerButton from "@/views/stateMonitor/factoryMonitor/components/headerB
 import GFshanyinrongxin from "./components/shanyinrongxin.vue";
 import GFfangshansunjiashan from "./components/fangshansunjiashan.vue";
 import GFfanshijunran from "./components/fanshijunran.vue";
+import test from "./components/test.vue";
 import GFhuairenchuchen from "./components/huairenchuchen.vue";
 import GFpingluzuhu from "./components/pingluzuhu.vue";
 import GFtianzhenxusheng from "./components/tianzhenxusheng.vue";
@@ -156,6 +159,7 @@ export default {
   name: "lightMillivolt",
   components: {
     headerButton,
+    test,
     GFshanyinrongxin,
     GFfangshansunjiashan,
     GFfanshijunran,

+ 26 - 8
src/views/stateMonitor/factoryMonitor/windPowerPlant/DataTarget/index.vue

@@ -1,9 +1,10 @@
 <template>
   <div class="DataTarget">
-    <headerButton :type="stationType" @renderData="renderData" />
+     <!-- @renderData="renderData" -->
+    <headerButton :type="stationType" />
     <div class="systemData bodys">
       <div class="line">
-        <div class="leftContent"><span>数据指标</span></div>
+        <div class="leftContent"  :data-type="$store.state.moreSty"><span>数据指标</span></div>
         <div class="rightContent">
           <div class="more" @click="addTargets"><i>+</i>更多指标</div>
         </div>
@@ -30,12 +31,13 @@
           width="58"
         >
         </el-table-column>
+         <!-- :align="index < 1 ? 'center' : 'right'" -->
         <el-table-column
           v-for="(item, index) in uniformDetial"
           :key="index"
           :prop="item.uniformCode"
           sortable
-         :align="index < 1 ? 'center' : 'right'"
+          align="center"
           header-align="center"
           :resizable="true"
           :min-width="item.width"
@@ -163,7 +165,7 @@ export default {
     };
   },
   async created() {
-    this.loading = true;
+    // this.loading = true;
     // let localWindTargets = window.localStorage.getItem("windlocalData");
     // if (localWindTargets != null && JSON.stringify(localWindTargets) != "{}") {
     //   localWindTargets = JSON.parse(localWindTargets);
@@ -238,6 +240,16 @@ export default {
         width: "150",
       },
     ];
+
+    this.stationData = new Array(20).fill({
+        SBAMC: "测试设备",
+        SBXH: 10000,
+        AI066: "15",
+        AI067: "152",
+        AI114: 14523,
+        AI074: 25,
+        AI060: 85,
+    })
     //   window.localStorage.setItem(
     //     "windlocalData",
     //     JSON.stringify(this.uniformDetial)
@@ -245,9 +257,9 @@ export default {
     // }
   },
   mounted() {
-    this.timer = setInterval(() => {
-      this.GetWtTargetsList();
-    }, 5000);
+    // this.timer = setInterval(() => {
+    //   this.GetWtTargetsList();
+    // }, 5000);
   },
   unmounted() {
     clearInterval(this.timer);
@@ -557,12 +569,18 @@ ul li {
   width: 100%;
   margin-bottom: 5px;
 
+  .leftContent[data-type~="greenSty"] {
+      background: url("~@/assets/imgs/title_left_bg1.png") no-repeat;
+    }
+    .leftContent[data-type~="blueSty"] {
+        background: url("~@/assets/imgs/title_left_bg.png") no-repeat;
+    }
+
   .leftContent {
     width: 242px;
     height: 41px;
     display: flex;
     align-items: center;
-    background: url("~@/assets/imgs/title_left_bg1.png") no-repeat;
 
     span {
       font-size: 16px;

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 556 - 0
src/views/stateMonitor/factoryMonitor/windPowerPlant/boosterStation/components/TEST.vue


+ 5 - 1
src/views/stateMonitor/factoryMonitor/windPowerPlant/boosterStation/index.vue

@@ -6,6 +6,8 @@
   />
   <div style="height: calc(100% - 57px)">
     <!-- 风场 *************** -->
+    <!-- 测试   用于展示 -->
+    <TEST class="booster-station-body"/>
     <!-- 高家堰 -->
     <GJY class="booster-station-body" v-if="wpId === 'SXJ_KGDL_GJY_FDC_STA'" />
     <!-- 败虎堡 -->
@@ -119,7 +121,8 @@
 import headerButton from "@/views/stateMonitor/factoryMonitor/components/headerButton.vue";
 // import sbsAlarm from "@/components/sbsAlarm/index.vue";
 import { ElMessageBox } from "element-plus";
-// 风场
+// 风场TEST
+import TEST from "./components/TEST.vue";
 import GJY from "./components/GJY.vue";
 import BHB from "./components/BHB.vue";
 import BHBSQ from "./components/BHBSQ.vue";
@@ -141,6 +144,7 @@ export default {
   components: {
     headerButton,
     // sbsAlarm,
+    TEST,
     GJY,
     BHB,
     BHBSQ,

+ 121 - 22
src/views/stateMonitor/factoryMonitor/windPowerPlant/components/collapse-list.vue

@@ -4,6 +4,7 @@
     <div class="menuList">
       <div
         class="menu"
+         :data-type="$store.state.moreSty"
         :class="{ active: menuIndex == index }"
         v-for="(nemu, index) in list"
         :key="index"
@@ -92,6 +93,18 @@ export default {
       immediate: true,
     },
   },
+  mounted() {
+    this.list = new Array(5).fill({
+        pjname: "测试数据",
+        lns: new Array(5).fill({
+            lnname: "测试Lns数据",
+            wts: new Array(5).fill({
+                status: "blue",
+                wtname: "测试w数据"
+            })
+        })
+    })
+  },
   methods: {
     handleClick(val) {
       if (this.menuIndex === val) {
@@ -143,17 +156,116 @@ export default {
     height: 3px;
   }
 }
+
+.menu[data-type~="greenSty"] {
+    .box-text{
+        border: 1px solid #3b6c53;
+        background: rgba(39, 62, 48, 0.6);
+    }
+    .dot {
+        border: 1px solid #05bb4c;
+        box-shadow: 0 0 7px rgb(42 255 28);
+    }
+    &.active {
+        .box-text {
+            color: #05bb4c;
+        }
+        .second-menu{
+            .box-text1 {
+                color: #05bb4c;
+            }
+            &.active {
+                .box-text1 {
+                    color: #05bb4c;
+
+                    .dot {
+                        background-color: #3b6c53;
+                    }
+
+                    &::after {
+                        border-left: 1px dashed rgba(5, 187, 76, 0.5);
+                    }
+                }
+
+                .box-text2 {
+                    border: 1px solid rgba(7, 122, 52, 0.8);
+                    background-color: rgba(7, 122, 52, 0.2);
+                }
+
+                .wind-item {
+                    border-left: 1px dashed rgba(5, 187, 76, 0.5);
+                    &::after {
+                        border-top: 1px dashed rgba(5, 187, 76, 0.5);
+                    }
+                    &.active {
+                        .box-text2 {
+                            background-color: rgba(7, 122, 52, 0.4);
+                        }
+                    }
+                }
+            }
+        }
+    }
+}
+.menu[data-type~="blueSty"] {
+    .box-text{
+        border: 1px solid #3b546c;
+        background: rgba(39, 50, 62, 0.6);
+    }
+    .dot {
+        border: 1px solid #055abb;
+        box-shadow: 0 0 7px rgb(28, 164, 255);
+    }
+    &.active {
+        .box-text {
+            color: #1a93cf;
+        }
+        .second-menu{
+            .box-text1 {
+                color: #1a93cf;
+            }
+            &.active {
+                .box-text1 {
+                    color: #1a93cf;
+
+                    .dot {
+                        background-color: #3b566c;
+                    }
+
+                    &::after {
+                        border-left: 1px dashed rgba(5, 105, 187, 0.5);
+                    }
+                }
+
+                .box-text2 {
+                    border: 1px solid rgba(7, 70, 122, 0.8);
+                    background-color: rgba(7, 70, 122, 0.2);
+                }
+
+                .wind-item {
+                    border-left: 1px dashed rgba(5, 105, 187, 0.5);
+                    &::after {
+                        border-top: 1px dashed rgba(5, 105, 187, 0.5);
+                    }
+                    &.active {
+                        .box-text2 {
+                            background-color: rgba(7, 70, 122, 0.4);
+                        }
+                    }
+                }
+            }
+        }
+    }
+}
 .menu {
   margin-bottom: 3px;
   .box-text {
     width: 100%;
-    border: 1px solid #3b6c53;
     border-radius: 2px;
     height: 32px;
     line-height: 32px;
     font-size: 14px;
     color: #b3b3b3;
-    background: rgba(39, 62, 48, 0.6);
     text-align: center;
     display: flex;
     align-items: center;
@@ -175,11 +287,9 @@ export default {
     width: 7px;
     height: 7px;
     border-radius: 50%;
-    border: 1px solid #05bb4c;
-    box-shadow: 0 0 7px rgb(42 255 28);
     margin-right: 7px;
     margin-left: 5px;
-    background-color: RGBA(10, 13, 17, 1);
+    background-color: rgba(10, 13, 17, 1);
     z-index: 99;
   }
 
@@ -192,9 +302,6 @@ export default {
   }
 
   &.active {
-    .box-text {
-      color: #05bb4c;
-    }
 
     .second-menu {
       display: block;
@@ -209,7 +316,6 @@ export default {
         height: 30px;
         line-height: 30px;
         border-bottom: 1px solid rgba(23, 27, 33, 1);
-        color: #05bb4c;
         align-items: center;
         justify-content: space-between;
         cursor: pointer;
@@ -224,10 +330,8 @@ export default {
 
       &.active {
         .box-text1 {
-          color: #05bb4c;
 
           .dot {
-            background-color: #3b6c53;
             z-index: 99;
           }
 
@@ -236,7 +340,6 @@ export default {
             display: block;
             width: 12px;
             height: 12px;
-            border-left: 1px dashed rgba(5, 187, 76, 0.5);
             position: absolute;
             left: 8px;
             top: 17px;
@@ -250,7 +353,6 @@ export default {
           line-height: 26px;
           color: #959595;
           margin: 0 10px 0 18px;
-          border-left: 1px dashed rgba(5, 187, 76, 0.5);
 
           .text {
             width: 100%;
@@ -259,14 +361,15 @@ export default {
             align-items: center;
             height: 26px;
             line-height: 26px;
-            &.green .dot {
-              background-color: rgba(5, 187, 76, 0.7);
-              border-color: #05bb4c;
-            }
             &.blue .dot {
               background-color: rgba(28, 153, 255, 0.7);
               border-color: #1c99ff;
             }
+            
+            &.green .dot {
+              background-color: rgba(5, 187, 76, 0.7);
+              border-color: #05bb4c;
+            }
             &.pink .dot {
               background-color: rgba(197, 48, 200, 0.7);
               border-color: #c530c8;
@@ -293,11 +396,9 @@ export default {
               width: 84px;
               height: 22px;
               line-height: 22px;
-              border: 1px solid rgba(7, 122, 52, 0.8);
               padding: 0 12px;
               color: #959595;
               font-size: 12px;
-              background-color: rgba(7, 122, 52, 0.2);
               cursor: pointer;
             }
 
@@ -348,7 +449,6 @@ export default {
             display: block;
             width: 15px;
             height: 18px;
-            border-top: 1px dashed rgba(5, 187, 76, 0.5);
             position: absolute;
             left: -1px;
             top: 13px;
@@ -356,7 +456,6 @@ export default {
 
           &.active {
             .box-text2 {
-              background-color: rgba(7, 122, 52, 0.4);
               color: #fff;
             }
           }
@@ -365,4 +464,4 @@ export default {
     }
   }
 }
-</style>
+</style>

+ 616 - 0
src/views/stateMonitor/factoryMonitor/windPowerPlant/geomorphologicMap/components/test-map.vue

@@ -0,0 +1,616 @@
+<template>
+  <div class="svg-map">
+    <svg
+      version="1.1"
+      xmlns="http://www.w3.org/2000/svg"
+      xmlns:xlink="http://www.w3.org/1999/xlink"
+      x="0px"
+      y="0px"
+      viewBox="0 0 1955 940"
+      :style="
+        'enable-background: new 0 0 866 359; left: ' +
+        svgLeft +
+        '; top: ' +
+        svgTop +
+        ';'
+      "
+      xml:space="preserve"
+      :width="svgWidth"
+      :height="svgHeight"
+    >
+      <defs>
+        <g id="nx-map-line">
+          <line
+            class="nx-map-line"
+            x1="25"
+            y1="25"
+            x2="25"
+            y2="80"
+            stroke="#edbf03"
+            stroke-width="1"
+          />
+          <circle
+            class="nx-map-up-circle"
+            cx="25"
+            cy="25"
+            r="2"
+            fill="#edbf03"
+          />
+        </g>
+        <g id="nx-map-circle">
+          <circle
+            class="nx-map-down-circle-1"
+            cx="25"
+            cy="80"
+            r="3"
+            fill="#edbf03"
+          />
+          <circle
+            class="nx-map-down-circle-2"
+            :class="{ 'nx-map-down-circle-loop': c1 }"
+            cx="25"
+            cy="80"
+            r="9"
+            stroke="#edbf03"
+            stroke-width="1"
+            fill="none"
+          />
+          <circle
+            class="nx-map-down-circle-3"
+            :class="{ 'nx-map-down-circle-loop': c2 }"
+            cx="25"
+            cy="80"
+            r="16"
+            opacity="0.6"
+            stroke="#edbf03"
+            stroke-width="1"
+            fill="none"
+          />
+        </g>
+      </defs>
+      <g>
+        <image
+          style="overflow: visible"
+          width="2050"
+          height="1110"
+          class="map-base"
+          xlink:href="./img/dmt_yty.png"
+          transform="matrix(1 0 0 1 0 -100)"
+        ></image>
+        <g
+          class="item-label-hover"
+          v-for="(item, index) in dataList"
+          :key="index"
+        >
+          <svg
+            data-v-28794fe1=""
+            version="1.1"
+            xmlns="http://www.w3.org/2000/svg"
+            xmlns:xlink="http://www.w3.org/1999/xlink"
+            :x="String(Number(item.x) - 45)"
+            :y="String(Number(item.y) - 60)"
+            width="150"
+            height="150"
+            viewBox="0 0 220 392"
+            enable-background="new 0 0 220 392"
+            xml:space="preserve"
+            class="windmill"
+          >
+            <image
+              v-if="item.name != '升压站'"
+              data-v-28794fe1=""
+              width="147"
+              height="345"
+              x="58"
+              y="78"
+              xlink:href="@/assets/map/fan/yz.png"
+              class="pillar"
+            ></image>
+            <!-- 运行 -->
+            <image
+              v-if="item.type === 2 || item.type === 3"
+              data-v-28794fe1=""
+              width="200"
+              height="460"
+              xlink:href="@/assets/map/fan/yp_green.png"
+              class="turnCircle"
+            ></image>
+            <!-- 受累 -->
+            <image
+              v-if="item.type === 10 || item.type === 11"
+              data-v-28794fe1=""
+              width="200"
+              height="460"
+              xlink:href="@/assets/map/fan/yp_white.png"
+            ></image>
+            <!-- 限电 -->
+            <image
+              v-if="item.type === 8 || item.type === 9"
+              data-v-28794fe1=""
+              width="200"
+              height="460"
+              xlink:href="@/assets/map/fan/yp_purple.png"
+              class="turnCircle-slow"
+            ></image>
+            <!-- 离线 -->
+            <image
+              v-if="item.type === 12 || item.type === 13"
+              data-v-28794fe1=""
+              width="200"
+              height="460"
+              xlink:href="@/assets/map/fan/yp_black.png"
+            ></image>
+            <!-- 待机 -->
+            <image
+              v-if="item.type === 0 || item.type === 1"
+              data-v-28794fe1=""
+              width="200"
+              height="460"
+              xlink:href="@/assets/map/fan/yp_blue.png"
+            ></image>
+            <!-- 故障 -->
+            <image
+              v-if="item.type === 4 || item.type === 5"
+              data-v-28794fe1=""
+              width="200"
+              height="460"
+              xlink:href="@/assets/map/fan/yp_red.png"
+            ></image>
+            <!-- 检修 -->
+            <image
+              v-if="item.type === 6 || item.type === 7"
+              data-v-28794fe1=""
+              width="200"
+              height="460"
+              xlink:href="@/assets/map/fan/yp_orange.png"
+            ></image>
+            <!-- 升压站 -->
+            <image
+              v-if="item.name == '升压站'"
+              data-v-28794fe1=""
+              width="200"
+              height="460"
+              xlink:href="@/assets/png/booster-station.png"
+            ></image>
+          </svg>
+          <text
+            v-if="item.name != '升压站'"
+            class="mapKey"
+            :x="Number(item.x) + 25"
+            :y="Number(item.y) + 90"
+            fill="#ffffff"
+            font-size="14"
+          >
+            {{ item.name }}
+          </text>
+          <text
+            v-else
+            class="mapKey"
+            :x="Number(item.x) + 10"
+            :y="Number(item.y) + 80"
+            fill="#ffffff"
+            font-size="14"
+          >
+            {{ item.name }}
+          </text>
+          <g class="isshow" v-show="item.name != '升压站'">
+            <rect
+              :x="Number(item.x) + 55"
+              :y="Number(item.y) + 20"
+              width="90"
+              height="50"
+              stroke="#46C55A35"
+              fill="#000000"
+              opacity="0.8"
+            />
+            <text
+              :x="Number(item.x) + 60"
+              :y="Number(item.y) + 40"
+              fill="#ffffff"
+              font-size="14"
+            >
+              {{ item.fs }}m/s
+            </text>
+            <text
+              :x="Number(item.x) + 60"
+              :y="Number(item.y) + 60"
+              fill="#ffffff"
+              font-size="14"
+            >
+              {{ item.gl }}kW
+            </text>
+          </g>
+        </g>
+      </g>
+      <g>
+        <svg
+          :x="-20"
+          :y="770"
+          data-v-28794fe1=""
+          version="1.1"
+          xmlns="http://www.w3.org/2000/svg"
+          xmlns:xlink="http://www.w3.org/1999/xlink"
+          width="150"
+          height="150"
+          viewBox="0 0 220 392"
+          enable-background="new 0 0 220 392"
+          xml:space="preserve"
+          class="windmill"
+        >
+          <image
+            data-v-28794fe1=""
+            width="147"
+            height="345"
+            x="58"
+            y="78"
+            xlink:href="@/assets/map/fan/yz.png"
+            class="pillar"
+          ></image>
+          <image
+            data-v-28794fe1=""
+            width="200"
+            height="460"
+            xlink:href="@/assets/map/fan/yp_green.png"
+          ></image>
+        </svg>
+        <text :x="43" :y="920" fill="#ffffff" font-size="14">运行</text>
+        <svg
+          :x="40"
+          :y="770"
+          data-v-28794fe1=""
+          version="1.1"
+          xmlns="http://www.w3.org/2000/svg"
+          xmlns:xlink="http://www.w3.org/1999/xlink"
+          width="150"
+          height="150"
+          viewBox="0 0 220 392"
+          enable-background="new 0 0 220 392"
+          xml:space="preserve"
+          class="windmill"
+        >
+          <image
+            data-v-28794fe1=""
+            width="147"
+            height="345"
+            x="58"
+            y="78"
+            xlink:href="@/assets/map/fan/yz.png"
+            class="pillar"
+          ></image>
+          <image
+            data-v-28794fe1=""
+            width="200"
+            height="460"
+            xlink:href="@/assets/map/fan/yp_white.png"
+          ></image>
+        </svg>
+        <text :x="107" :y="920" fill="#ffffff" font-size="14">受累</text>
+        <svg
+          :x="100"
+          :y="770"
+          data-v-28794fe1=""
+          version="1.1"
+          xmlns="http://www.w3.org/2000/svg"
+          xmlns:xlink="http://www.w3.org/1999/xlink"
+          width="150"
+          height="150"
+          viewBox="0 0 220 392"
+          enable-background="new 0 0 220 392"
+          xml:space="preserve"
+          class="windmill"
+        >
+          <image
+            data-v-28794fe1=""
+            width="147"
+            height="345"
+            x="58"
+            y="78"
+            xlink:href="@/assets/map/fan/yz.png"
+            class="pillar"
+          ></image>
+          <image
+            data-v-28794fe1=""
+            width="200"
+            height="460"
+            xlink:href="@/assets/map/fan/yp_purple.png"
+          ></image>
+        </svg>
+        <text :x="165" :y="920" fill="#ffffff" font-size="14">限电</text>
+        <svg
+          :x="160"
+          :y="770"
+          data-v-28794fe1=""
+          version="1.1"
+          xmlns="http://www.w3.org/2000/svg"
+          xmlns:xlink="http://www.w3.org/1999/xlink"
+          width="150"
+          height="150"
+          viewBox="0 0 220 392"
+          enable-background="new 0 0 220 392"
+          xml:space="preserve"
+          class="windmill"
+        >
+          <image
+            data-v-28794fe1=""
+            width="147"
+            height="345"
+            x="58"
+            y="78"
+            xlink:href="@/assets/map/fan/yz.png"
+            class="pillar"
+          ></image>
+          <image
+            data-v-28794fe1=""
+            width="200"
+            height="460"
+            xlink:href="@/assets/map/fan/yp_black.png"
+          ></image>
+        </svg>
+        <text :x="229" :y="920" fill="#ffffff" font-size="14">离线</text>
+        <svg
+          :x="220"
+          :y="770"
+          data-v-28794fe1=""
+          version="1.1"
+          xmlns="http://www.w3.org/2000/svg"
+          xmlns:xlink="http://www.w3.org/1999/xlink"
+          width="150"
+          height="150"
+          viewBox="0 0 220 392"
+          enable-background="new 0 0 220 392"
+          xml:space="preserve"
+          class="windmill"
+        >
+          <image
+            data-v-28794fe1=""
+            width="147"
+            height="345"
+            x="58"
+            y="78"
+            xlink:href="@/assets/map/fan/yz.png"
+            class="pillar"
+          ></image>
+          <image
+            data-v-28794fe1=""
+            width="200"
+            height="460"
+            xlink:href="@/assets/map/fan/yp_blue.png"
+          ></image>
+        </svg>
+        <text :x="288" :y="920" fill="#ffffff" font-size="14">待机</text>
+        <svg
+          :x="280"
+          :y="770"
+          data-v-28794fe1=""
+          version="1.1"
+          xmlns="http://www.w3.org/2000/svg"
+          xmlns:xlink="http://www.w3.org/1999/xlink"
+          width="150"
+          height="150"
+          viewBox="0 0 220 392"
+          enable-background="new 0 0 220 392"
+          xml:space="preserve"
+          class="windmill"
+        >
+          <image
+            data-v-28794fe1=""
+            width="147"
+            height="345"
+            x="58"
+            y="78"
+            xlink:href="@/assets/map/fan/yz.png"
+            class="pillar"
+          ></image>
+          <image
+            data-v-28794fe1=""
+            width="200"
+            height="460"
+            xlink:href="@/assets/map/fan/yp_red.png"
+          ></image>
+        </svg>
+        <text :x="347" :y="920" fill="#ffffff" font-size="14">故障</text>
+        <svg
+          :x="340"
+          :y="770"
+          data-v-28794fe1=""
+          version="1.1"
+          xmlns="http://www.w3.org/2000/svg"
+          xmlns:xlink="http://www.w3.org/1999/xlink"
+          width="150"
+          height="150"
+          viewBox="0 0 220 392"
+          enable-background="new 0 0 220 392"
+          xml:space="preserve"
+          class="windmill"
+        >
+          <image
+            data-v-28794fe1=""
+            width="147"
+            height="345"
+            x="58"
+            y="78"
+            xlink:href="@/assets/map/fan/yz.png"
+            class="pillar"
+          ></image>
+          <image
+            data-v-28794fe1=""
+            width="200"
+            height="460"
+            xlink:href="@/assets/map/fan/yp_orange.png"
+          ></image>
+        </svg>
+        <text :x="410" :y="920" fill="#ffffff" font-size="14">检修</text>
+      </g>
+    </svg>
+  </div>
+</template>
+<script>
+export default {
+  props: {
+    windturbineList: {
+      type: Array,
+      required: true,
+    },
+  },
+  data() {
+    return {
+      dataList: [
+        {
+          name: "升压站",
+          x: "1420",
+          y: "535",
+        },
+        {
+          name: "#18",
+          x: "1720",
+          y: "570",
+          type: 3,
+        },
+        {
+          name: "#17",
+          x: "1660",
+          y: "640",
+          type: 3,
+        },
+        {
+          name: "#19",
+          x: "1655",
+          y: "500",
+          type: 3,
+        },
+        {
+          name: "#20",
+          x: "1505",
+          y: "415",
+          type: 3,
+        },
+        {
+          name: "#16",
+          x: "1105",
+          y: "550",
+          type: 3,
+        },
+        {
+          name: "#15",
+          x: "1090",
+          y: "515",
+          type: 3,
+        },
+        {
+          name: "#14",
+          x: "1020",
+          y: "440",
+          type: 3,
+        },
+        {
+          name: "#12",
+          x: "845",
+          y: "315",
+          type: 3,
+        },
+        {
+          name: "#13",
+          x: "825",
+          y: "395",
+          type: 3,
+        },
+        {
+          name: "#11",
+          x: "760",
+          y: "275",
+          type: 3,
+        },
+        {
+          name: "#10",
+          x: "705",
+          y: "250",
+          type: 3,
+        },
+        {
+          name: "#9",
+          x: "595",
+          y: "200",
+          type: 3,
+        },
+        {
+          name: "#8",
+          x: "550",
+          y: "160",
+          type: 3,
+        },
+        {
+          name: "#7",
+          x: "470",
+          y: "170",
+          type: 3,
+        },
+        {
+          name: "#6",
+          x: "385",
+          y: "170",
+          type: 3,
+        },
+        {
+          name: "#5",
+          x: "360",
+          y: "140",
+          type: 3,
+        },
+        {
+          name: "#4",
+          x: "355",
+          y: "100",
+          type: 3,
+        },
+        {
+          name: "#3",
+          x: "265",
+          y: "90",
+          type: 3,
+        },
+        {
+          name: "#2",
+          x: "205",
+          y: "90",
+          type: 3,
+        },
+        {
+          name: "#1",
+          x: "110",
+          y: "85",
+          type: 3,
+        },
+      ],
+      list: this.windturbineList || [],
+    };
+  },
+  created() {
+    this.$nextTick(() => {
+      this.getData();
+    });
+  },
+  methods: {
+    getData() {
+      this.dataList.forEach((item) => {
+        this.list.forEach((i, num) => {
+          if (item.name == i.wtname) {
+            item["fs"] = i.speed + " ";
+            item["gl"] = i.power + " ";
+            item["type"] = i.status;
+          }
+        });
+      });
+    },
+  },
+};
+</script>
+<style lang="less" scoped>
+.item-label-hover:hover .isshow {
+  display: flex;
+}
+
+.isshow {
+  display: none;
+  color: #ffffff;
+}
+</style>

+ 6 - 0
src/views/stateMonitor/factoryMonitor/windPowerPlant/geomorphologicMap/index.vue

@@ -1,6 +1,10 @@
 <template>
   <headerButton :showType="true" :type="stationType" @renderData="renderData" />
   <div>
+    <testMap
+      :windturbineList="windturbineList"
+      ref="maps"
+    ></testMap>
     <!-- 羊头崖 -->
     <ytyMap
       v-if="project === 'SXJ_KGDL_YTYF01_EG'"
@@ -117,6 +121,7 @@
   </div>
 </template>
 <script>
+import testMap from "./components/test-map.vue";
 import headerButton from "@/views/stateMonitor/factoryMonitor/components/headerButton.vue";
 import gjyMap from "./components/gjy-map.vue";
 import gjyMap2 from "./components/gjy-map2.vue";
@@ -141,6 +146,7 @@ export default {
   name: "geomorphologicMap",
   components: {
     headerButton,
+    testMap,
     mljMap,
     zkyqMap,
     pldhbMap,

+ 47 - 48
src/views/stateMonitor/factoryMonitor/windPowerPlant/index.vue

@@ -1,61 +1,60 @@
 <template>
-  <div
-    style="
+    <div style="
       width: 100%;
       height: 100%;
       display: flex;
       justify-content: space-between;
       padding: 0 20px;
-    "
-  >
-    <div class="windPowerContent">
-      <router-view :flag="flag" @alarmFlag="handleAlarm" />
+    ">
+        <div class="windPowerContent">
+            <router-view :flag="flag" @alarmFlag="handleAlarm" />
+        </div>
+        <saliderBar :routerData="routerData" />
     </div>
-    <saliderBar :routerData="routerData" />
-  </div>
 </template>
 
 <script>
-import saliderBar from "../components/saliderBar";
-export default {
-  name: "windPowerPlant", //风电场站
-  components: {
-    saliderBar,
-  },
-  data() {
-    return {};
-  },
-  methods: {},
-  computed: {
-    routerData() {
-      let currData = [];
-      let stateRoutes = this.$store.state.routes.routes;
-      stateRoutes.forEach((route) => {
-        if (route.path == "/stateMonitor") {
-          route.children.forEach((croute) => {
-            if (croute.name == "windPowerPlant") {
-              //   let a = croute.children.find(
-              //     (item) => item.path == "windPowerPlant"
-              //   );
-              croute.children.forEach((child) => {
-                currData.push({
-                  icon: child.meta.icon,
-                  title: child.meta.title,
-                  path: child.path,
+    import saliderBar from "../components/saliderBar";
+    export default {
+        name: "windPowerPlant", //风电场站
+        components: {
+            saliderBar,
+        },
+        data() {
+            return {};
+        },
+        methods: {},
+        computed: {
+            routerData() {
+                let currData = [];
+                // let stateRoutes = this.$store.state.routes.routes;
+                let stateRoutes = this.$router.options.routes
+                stateRoutes.forEach((route) => {
+                    if (route.path == "/stateMonitor") {
+                        route.children.forEach((croute) => {
+                            if (croute.name == "windPowerPlant") {
+                                //   let a = croute.children.find(
+                                //     (item) => item.path == "windPowerPlant"
+                                //   );
+                                croute.children.forEach((child) => {
+                                    currData.push({
+                                        icon: child.meta.icon,
+                                        title: child.meta.title,
+                                        path: child.path,
+                                    });
+                                });
+                            }
+                        });
+                    }
                 });
-              });
-            }
-          });
-        }
-      });
-      return currData;
-    },
-  },
-};
+                return currData;
+            },
+        },
+    };
 </script>
 <style>
-.windPowerContent {
-  height: 100%;
-  width: calc(100% - 60px);
-}
-</style>
+    .windPowerContent {
+        height: 100%;
+        width: calc(100% - 60px);
+    }
+</style>

+ 126 - 0
src/views/stateMonitor/factoryMonitor/windPowerPlant/matrixMonitor/dataJson.json

@@ -0,0 +1,126 @@
+{
+    "code": 0,
+    "sourceMapData": {
+        "jrts": 25,
+        "djts": 21,
+        "bwts": 15,
+        "gzts": 38,
+        "jxts": 15,
+        "xdts": 17,
+        "slts": 29,
+        "lxts": 38,
+
+        "dfts": 25,
+        "zcyx": 25,
+        "gztj": 25,
+        "jxtj": 25,
+        "xdjcl": 25,
+        "dwsl": 25,
+        "lx": 25,
+
+        "sdtj": 25,
+        "jclyx": 25,
+        "gzsl": 25,
+        "jxsl": 25,
+        "xdtj": 25,
+        "hjsl": 25,
+        "wz": 25,
+
+        "speed": 20,
+        "ycgl": 1256,
+        "bzgl": 2541,
+        "sjgl": 2054
+    },
+    "showMatrixListdata": [
+        {
+            "wpname": "测试1",
+            "czlx": "-1",
+            "jrts": 25,
+            "djts": 21,
+            "bwts": 15,
+            "gzts": 38,
+            "jxts": 15,
+            "xdts": 17,
+            "slts": 29,
+            "lxts": 38,
+            "spped": 14,
+            "ycgl": 21556,
+            "bzgl": 1254,
+            "llgl": 125445,
+            "sjgl": 1254,
+            "lineVos": []
+        },
+        {
+            "wpname": "测试2",
+            "czlx": "-1",
+            "jrts": 25,
+            "djts": 21,
+            "bwts": 15,
+            "gzts": 38,
+            "jxts": 15,
+            "xdts": 17,
+            "slts": 29,
+            "lxts": 38,
+            "spped": 14,
+            "ycgl": 21556,
+            "bzgl": 1254,
+            "llgl": 125445,
+            "sjgl": 1254,
+            "lineVos": []
+        },
+        {
+            "wpname": "测试3",
+            "czlx": "-1",
+            "jrts": 25,
+            "djts": 21,
+            "bwts": 15,
+            "gzts": 38,
+            "jxts": 15,
+            "xdts": 17,
+            "slts": 29,
+            "lxts": 38,
+            "spped": 14,
+            "ycgl": 21556,
+            "bzgl": 1254,
+            "llgl": 125445,
+            "sjgl": 1254,
+            "lineVos": []
+        },
+        {
+            "wpname": "测试4",
+            "czlx": "-1",
+            "jrts": 25,
+            "djts": 21,
+            "bwts": 15,
+            "gzts": 38,
+            "jxts": 15,
+            "xdts": 17,
+            "slts": 29,
+            "lxts": 38,
+            "spped": 14,
+            "ycgl": 21556,
+            "bzgl": 1254,
+            "llgl": 125445,
+            "sjgl": 1254,
+            "lineVos": []
+        },
+        {
+            "wpname": "测试5",
+            "czlx": "-1",
+            "jrts": 25,
+            "djts": 21,
+            "bwts": 15,
+            "gzts": 38,
+            "jxts": 15,
+            "xdts": 17,
+            "slts": 29,
+            "lxts": 38,
+            "spped": 14,
+            "ycgl": 21556,
+            "bzgl": 1254,
+            "llgl": 125445,
+            "sjgl": 1254,
+            "lineVos": []
+        }
+    ]
+}

+ 59 - 15
src/views/stateMonitor/factoryMonitor/windPowerPlant/matrixMonitor/index.vue

@@ -94,6 +94,7 @@
       </div>
       <div
         class="unpaid"
+         :data-type="$store.state.moreSty"
         @click="handleStationCurveClick(singleMatrixInfo.wpid)"
       >
         <div class="unpaid-list">
@@ -174,7 +175,7 @@
           v-for="(mes, index) in value?.lineVos"
           :key="index"
         >
-          <div class="line-namebox">
+          <div class="line-namebox"  :data-type="$store.state.moreSty">
             <div class="line-name">
               {{ mes.name }}
             </div>
@@ -317,6 +318,8 @@ import windDetail from "@/components/windDetail/index";
 import api from "@/api/cockpit/matrix/index.js";
 
 import { deepClone, findUpColor } from "@/utills/func.js";
+
+import dataJson from "./dataJson.json"
 export default {
   name: "matrixMatrix",
   components: {
@@ -689,9 +692,29 @@ export default {
 
   created() {},
   mounted() {
-    this.timer = setInterval(() => {
-      this.getSingleMatrix();
-    }, 5000);
+    // this.timer = setInterval(() => {
+    //   this.getSingleMatrix();
+    // }, 5000);
+    this.singleMatrixInfo = dataJson.sourceMapData
+    this.showMatrixList = dataJson.showMatrixListdata
+    dataJson.showMatrixListdata.forEach((it, index) =>{
+        it.lineVos = new Array(5).fill({
+            name: "测试数据1",
+            wtDataList: new Array(13).fill({
+                wtname: it.wpname,
+                status: index === 4 ? 6 : index,
+                czlx: -1,
+                wtid: 5,
+                power: 2514,
+                speed: 13,
+                current: 251,
+                transfer: 21,
+                voltage: 25,
+                rate: 395,
+                ssqfzt: 1
+            })
+        })
+    })
   },
   unmounted() {
     clearInterval(this.timer);
@@ -1484,13 +1507,20 @@ p {
       }
     }
 
+    .unpaid[data-type~="greenSty"] {
+        background: #081410;
+        border: 1px solid #083d22;
+    }
+    .unpaid[data-type~="blueSty"] {
+        background: #080e14;
+        border: 1px solid #08283d;
+    }
+
     .unpaid {
       display: flex;
       flex-direction: row;
       align-items: center;
       height: 65px;
-      background: #081410;
-      border: 1px solid #083d22;
       position: relative;
       flex: 1 0 auto;
       margin-left: 10px;
@@ -1584,6 +1614,29 @@ p {
       display: flex;
       align-items: center;
       margin-top: 5px;
+
+        .line-namebox[data-type~="greenSty"] {
+            border-image: linear-gradient(
+                321deg,
+                rgba(5, 187, 76, 0.2),
+                rgba(5, 187, 76, 0.1),
+                rgba(67, 81, 107, 0.1),
+                rgba(67, 81, 107, 0),
+                rgba(5, 187, 76, 0.5)
+            )
+            1 1;
+        }
+        .line-namebox[data-type~="blueSty"] {
+            border-image: linear-gradient(
+                321deg,
+                rgba(5, 99, 187, 0.2),
+                rgba(5, 120, 187, 0.1),
+                rgba(67, 81, 107, 0.1),
+                rgba(67, 81, 107, 0),
+                rgba(5, 114, 187, 0.5)
+            )
+            1 1;     
+        }
       .line-namebox {
         padding: 0 10px;
         min-height: 66px;
@@ -1595,15 +1648,6 @@ p {
         align-items: center;
         border-radius: 5px;
         border: 1px solid;
-        border-image: linear-gradient(
-            321deg,
-            rgba(5, 187, 76, 0.2),
-            rgba(5, 187, 76, 0.1),
-            rgba(67, 81, 107, 0.1),
-            rgba(67, 81, 107, 0),
-            rgba(5, 187, 76, 0.5)
-          )
-          1 1;
       }
 
       .line-list {

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 228 - 0
src/views/stateMonitor/factoryMonitor/windPowerPlant/millivolt/components/TEST.vue


+ 5 - 1
src/views/stateMonitor/factoryMonitor/windPowerPlant/millivolt/index.vue

@@ -6,6 +6,8 @@
   />
   <div style="height: calc(100% - 57px)">
     <!-- 风场 *************** -->
+    <!-- 测试   用于展示 -->
+    <TEST class="booster-station-body"/>
     <!-- 高家堰 -->
     <GJY class="booster-station-body" v-if="wpId === 'SXJ_KGDL_GJY_FDC_STA'" />
     <!-- 败虎堡 -->
@@ -118,7 +120,8 @@
 import headerButton from "@/views/stateMonitor/factoryMonitor/components/headerButton.vue";
 // import sbsAlarm from "@/components/sbsAlarm/index.vue";
 import { ElMessageBox } from "element-plus";
-// 风场
+// 风场TEST
+import TEST from "./components/TEST.vue";
 import GJY from "./components/GJY.vue";
 import BHB from "./components/BHB.vue";
 import BHBSQ from "./components/BHBSQ.vue";
@@ -140,6 +143,7 @@ export default {
   components: {
     headerButton,
     // sbsAlarm,
+    TEST,
     GJY,
     BHB,
     BHBSQ,

+ 4 - 4
src/views/stateMonitor/factoryMonitor/windPowerPlant/windPower/components/thermometer.vue

@@ -157,13 +157,13 @@ export default {
                         lineHeight: 50,
                         fontSize: 16,
                         fontFamily: "digifacewide",
-                        color: "#05bb4c",
+                        color: this.$store.state.moreSty === "greenSty" ? "#057131" : "#4b55ae",
                       },
                       unit: {
                         fontFamily: "微软雅黑",
                         fontSize: 16,
                         lineHeight: 50,
-                        color: "#05bb4c",
+                        color: this.$store.state.moreSty === "greenSty" ? "#057131" : "#4b55ae",
                       },
                     },
                   },
@@ -174,7 +174,7 @@ export default {
             barWidth: 7,
             itemStyle: {
               normal: {
-                color: "#057131",
+                color: this.$store.state.moreSty === "greenSty" ? "#057131" : "#4b55ae",
                 borderRadius: [5, 5, 0, 0],
               },
             },
@@ -219,7 +219,7 @@ export default {
             symbolSize: 18,
             itemStyle: {
               normal: {
-                color: "#057131",
+                color: this.$store.state.moreSty === "greenSty" ? "#057131" : "#4b55ae",
                 opacity: 1,
               },
             },

+ 12 - 6
src/views/stateMonitor/factoryMonitor/windPowerPlant/windPower/components/wave.vue

@@ -1,5 +1,5 @@
 <template>
-  <div class="wave"></div>
+  <div class="wave" :data-type="$store.state.moreSty"></div>
 </template>
 
 <script>
@@ -67,9 +67,10 @@ export default {
       const material = new THREE.ShaderMaterial({
         uniforms: {
           color: {
-            value: new THREE.Color(
-              this.$store.state.themeName === "dark" ? 0x05bb4c : 0x36348e
-            ),
+            // value: new THREE.Color(
+            //   this.$store.state.moreSty === "greenSty" ? 0x05bb4c : 0x1a93cf
+            // ),
+            value: this.$store.state.moreSty === "greenSty" ? new THREE.Color(0x05bb4c) : new THREE.Color(0x1a93cf)
           },
         },
         vertexShader: `attribute float scale;
@@ -178,7 +179,7 @@ export default {
   },
 
   watch: {
-    "$store.state.themeName"() {
+    "$store.state.moreSty"() {
       $(".wave").empty();
       renderer.setAnimationLoop(null);
       this.init();
@@ -188,13 +189,18 @@ export default {
 </script>
 
 <style lang="less">
+.wave[data-type~="greenSty"] {
+    z-index: -1;
+}
+.wave[data-type~="blueSty"] {
+    z-index: 0;
+}
 .wave {
   position: absolute;
   left: 42px;
   top: 0;
   width: 94%;
   height: 60%;
-  z-index: -1;
   margin-top: 150px;
   overflow: hidden;
 }

+ 342 - 0
src/views/stateMonitor/factoryMonitor/windPowerPlant/windPower/dataJson.json

@@ -0,0 +1,342 @@
+{
+    "code": 0,
+    "Powertrend": {
+        "units": ["(万KWh)", ""],
+        "value": [
+          {
+            "title": "预测功率",
+            "smooth": true,
+            "value": [
+                {
+                    "dateTime": "00:00",
+                    "value": 0.5
+                },
+                {
+                    "dateTime": "01:00",
+                    "value": 2.2
+                },
+                {
+                    "dateTime": "02:00",
+                    "value": 0.8
+                },
+                {
+                    "dateTime": "03:00",
+                    "value": 2.2
+                },
+                {
+                    "dateTime": "04:00",
+                    "value": 1.5
+                },
+                {
+                    "dateTime": "05:00",
+                    "value": 1.8
+                },
+                {
+                    "dateTime": "06:00",
+                    "value": 1.7
+                },
+                {
+                    "dateTime": "07:00",
+                    "value": 2.2
+                },
+                {
+                    "dateTime": "08:00",
+                    "value": 1.5
+                },
+                {
+                    "dateTime": "09:00",
+                    "value": 1.8
+                },
+                {
+                    "dateTime": "10:00",
+                    "value": 1.7
+                },
+                {
+                    "dateTime": "11:00",
+                    "value": 2.2
+                },
+                {
+                    "dateTime": "12:00",
+                    "value": 1.5
+                },
+                {
+                    "dateTime": "13:00",
+                    "value": 1.8
+                },
+                {
+                    "dateTime": "14:00",
+                    "value": 1.7
+                },
+                {
+                    "dateTime": "15:00",
+                    "value": 1.5
+                },
+                {
+                    "dateTime": "16:00",
+                    "value": 1.8
+                },
+                {
+                    "dateTime": "17:00",
+                    "value": 1.7
+                },
+                {
+                    "dateTime": "18:00",
+                    "value": 2.2
+                },
+                {
+                    "dateTime": "19:00",
+                    "value": 1.5
+                },
+                {
+                    "dateTime": "20:00",
+                    "value": 1.8
+                },
+                {
+                    "dateTime": "21:00",
+                    "value": 1.7
+                },
+                {
+                    "dateTime": "22:00",
+                    "value": 1.8
+                },
+                {
+                    "dateTime": "23:00",
+                    "value": 1.7
+                }
+            ]
+          },
+          {
+            "title": "理论功率",
+            "smooth": true,
+            "value": [
+                {
+                    "dateTime": "00:00",
+                    "value": 0.8
+                },
+                {
+                    "dateTime": "01:00",
+                    "value": 2.2
+                },
+                {
+                    "dateTime": "02:00",
+                    "value": 0.9
+                },
+                {
+                    "dateTime": "03:00",
+                    "value": 2.2
+                },
+                {
+                    "dateTime": "04:00",
+                    "value": 1.7
+                },
+                {
+                    "dateTime": "05:00",
+                    "value": 1.8
+                },
+                {
+                    "dateTime": "06:00",
+                    "value": 1.2
+                },
+                {
+                    "dateTime": "07:00",
+                    "value": 2.8
+                },
+                {
+                    "dateTime": "08:00",
+                    "value": 1.4
+                },
+                {
+                    "dateTime": "09:00",
+                    "value": 1.9
+                },
+                {
+                    "dateTime": "10:00",
+                    "value": 1.7
+                },
+                {
+                    "dateTime": "11:00",
+                    "value": 2.2
+                },
+                {
+                    "dateTime": "12:00",
+                    "value": 1.6
+                },
+                {
+                    "dateTime": "13:00",
+                    "value": 1.8
+                },
+                {
+                    "dateTime": "14:00",
+                    "value": 1.7
+                },
+                {
+                    "dateTime": "15:00",
+                    "value": 1.8
+                },
+                {
+                    "dateTime": "16:00",
+                    "value": 1.8
+                },
+                {
+                    "dateTime": "17:00",
+                    "value": 1.7
+                },
+                {
+                    "dateTime": "18:00",
+                    "value": 2.9
+                },
+                {
+                    "dateTime": "19:00",
+                    "value": 1.5
+                },
+                {
+                    "dateTime": "20:00",
+                    "value": 1.8
+                },
+                {
+                    "dateTime": "21:00",
+                    "value": 1.9
+                },
+                {
+                    "dateTime": "22:00",
+                    "value": 1.8
+                },
+                {
+                    "dateTime": "23:00",
+                    "value": 1.2
+                }
+            ]
+          },
+          {
+            "title": "实际功率",
+            "smooth": true,
+            "value": [
+                {
+                    "dateTime": "00:00",
+                    "value": 0.5
+                },
+                {
+                    "dateTime": "01:00",
+                    "value": 2.2
+                },
+                {
+                    "dateTime": "02:00",
+                    "value": 0.8
+                },
+                {
+                    "dateTime": "03:00",
+                    "value": 2.2
+                },
+                {
+                    "dateTime": "04:00",
+                    "value": 1.5
+                },
+                {
+                    "dateTime": "05:00",
+                    "value": 1.8
+                },
+                {
+                    "dateTime": "06:00",
+                    "value": 1.2
+                },
+                {
+                    "dateTime": "07:00",
+                    "value": 1.2
+                },
+                {
+                    "dateTime": "08:00",
+                    "value": 2.5
+                },
+                {
+                    "dateTime": "09:00",
+                    "value": 1.8
+                },
+                {
+                    "dateTime": "10:00",
+                    "value": 2.7
+                },
+                {
+                    "dateTime": "11:00",
+                    "value": 2.2
+                },
+                {
+                    "dateTime": "12:00",
+                    "value": 1.5
+                },
+                {
+                    "dateTime": "13:00",
+                    "value": 1.8
+                },
+                {
+                    "dateTime": "14:00",
+                    "value": 2.7
+                },
+                {
+                    "dateTime": "15:00",
+                    "value": 1.5
+                },
+                {
+                    "dateTime": "16:00",
+                    "value": 1.8
+                },
+                {
+                    "dateTime": "17:00",
+                    "value": 1.7
+                },
+                {
+                    "dateTime": "18:00",
+                    "value": 1.2
+                },
+                {
+                    "dateTime": "19:00",
+                    "value": 1.5
+                },
+                {
+                    "dateTime": "20:00",
+                    "value": 2.8
+                },
+                {
+                    "dateTime": "21:00",
+                    "value": 1.7
+                },
+                {
+                    "dateTime": "22:00",
+                    "value": 2.8
+                },
+                {
+                    "dateTime": "23:00",
+                    "value": 1.7
+                }
+            ]
+          }
+        ]
+    },
+    "powerDataHome": [
+        {
+          "title": "空气密度",
+          "value": 200.25,
+          "dialogTitle": "空气密度",
+          "max": 3000,
+          "unit": "kg/m³"
+        },
+        {
+          "title": "压强",
+          "value": 365.21,
+          "dialogTitle": "压强",
+          "max": 3000,
+          "unit": "Pa"
+        }
+    ],
+    "towerInfo": {
+        "wd": 22,
+        "sd": 56.25,
+        "fs70": 25,
+        "fs50": 15,
+        "fs30": 18,
+        "fs10": 26,
+        "fx70": "东南",
+        "fx50": "南",
+        "fx30": "东北",
+        "fx10": "西"
+    }
+}

+ 21 - 3
src/views/stateMonitor/factoryMonitor/windPowerPlant/windPower/index.vue

@@ -19,11 +19,13 @@
         </div>
       </div>
       <div class="wind_pow">
-        <img src="@assets/imgs/windPow1.png" />
+        <img src="@assets/imgs/windPow1.png" v-if="$store.state.moreSty === 'greenSty'" />
+        <img src="@assets/imgs/windPow2.png" v-else />
         <div class="wind_count">
           <div class="wind_fs">
             <div
               :class="item.num ? 'fs' : 'fs_none'"
+               :data-type="$store.state.moreSty"
               v-for="(item, index) in fengSu"
               :key="index"
             >
@@ -36,6 +38,7 @@
           <div class="wind_fx">
             <div
               :class="item.num ? 'fs' : 'fs_none'"
+               :data-type="$store.state.moreSty"
               v-for="(item, index) in fengSx"
               :key="index"
             >
@@ -130,6 +133,7 @@ import WindEchart from "./components/windEchart.vue";
 import Wave from "./components/wave.vue";
 import dayjs from "dayjs";
 import powerReviewHome from "./components/power-review-home.vue";
+import dataJson from "./dataJson.json"
 export default {
   name: "windPower", //风电场站
   components: {
@@ -264,6 +268,9 @@ export default {
       //   this.getCurveValues();
       //   this.getWindPowerDatasBySubStationCode();
     }, 5 * 60 * 1000);
+    this.CurveValues = dataJson.Powertrend.value;
+    this.powerDataHome = dataJson.powerDataHome;
+    this.towerInfo = dataJson.towerInfo;
   },
   methods: {
     renderData(company, stationCode, stationName) {
@@ -638,10 +645,22 @@ img {
     height: 27px;
     margin-bottom: 50px;
   }
+
+    .fs[data-type~="greenSty"] {
+        border: 1px solid #2a682f;
+        .heights {
+            background: #2a682f;
+        }
+    }
+    .fs[data-type~="blueSty"] {
+        border: 1px solid #2a4768;
+        .heights {
+            background: #2a4768;
+        }
+    }
   .fs {
     width: 167px;
     height: 27px;
-    border: 1px solid #2a682f;
     display: flex;
     margin-bottom: 50px;
 
@@ -664,7 +683,6 @@ img {
       width: 85px;
       height: 25px;
       line-height: 25px;
-      background: #2a682f;
       font-size: 14px;
       font-family: SimSun;
       color: #ffffff;