Browse Source

Merge branch 'yx' of http://61.161.152.110:10101/r/electronic-map into lining

lining 3 years ago
parent
commit
79c10f5b95

+ 0 - 1
src/views/HealthControl/assess/assessindex.vue

@@ -493,7 +493,6 @@ export default {
           data: data,
           success(res) {
             that.dialogData1 = [res.data.gaid1, res.data.gaid2];
-            console.log(that.dialogData1);
           },
         });
         that.API.requestData({

+ 179 - 135
src/views/HealthControl/assess/selfEvaluate.vue

@@ -162,6 +162,8 @@ export default {
       hisOption: {},
       tableData: {},
       tableId: "",
+      wt1: "",
+      wt2: "",
     };
   },
   created() {
@@ -191,6 +193,13 @@ export default {
         tid: that.modelName,
         wpid: that.value1,
       };
+
+      if (that.dataIds.size === 2) {
+        const tmpArr = Array.from(that.dataIds);
+        data.wt1 = tmpArr[0];
+        data.wt2 = tmpArr[1];
+      }
+
       if ("d" == that.shows) {
         subUrl = "evaluation/dayilyList";
         data["date"] = date;
@@ -236,87 +245,122 @@ export default {
               target017: "静风频率",
             };
 
-            let tableData = {
-              column: [
-                {
-                  name: "",
-                  field: "fj",
-                  is_num: false,
-                  is_light: false,
-                  sortable: false,
-                  template: () => {
-                    return "<input class='check curCheckBox checkItem' type='CheckBox'/>";
-                  },
-                  click(event, data) {
-                    if (event.target.checked == false) {
-                      that.dataIds.delete(data.wtid);
-                    }
-                    if (event.target.checked) {
-                      if (that.dataIds.size < 2) {
-                        that.dataIds.add(data.wtid);
-                      } else {
-                        event.target.checked = false;
-                      }
-                    }
-                  },
-                },
-                {
-                  name: "风机",
-                  field: "wtid",
-                  is_num: false,
-                  is_light: false,
-                  sortable: true,
-                },
-                {
-                  name: "日期",
-                  field: "date",
-                  is_num: false,
-                  is_light: false,
-                  sortable: true,
-                },
-                {
-                  name: "评级",
-                  field: "grade",
-                  is_num: false,
-                  is_light: false,
-                  sortable: true,
-                  width: "100px",
-                },
+            if (data.wt1 && data.wt2) {
+              that.dialogData1 = [
+                that.rinse(res.data[0]),
+                that.rinse(res.data[1]),
+              ];
+              const data1 = res.data[0];
+              const data2 = res.data[1];
+              let chartData = [
                 {
-                  name: "排名",
-                  field: "ranking",
-                  is_num: true,
-                  is_light: false,
-                  sortable: true,
+                  indicator: [],
+                  data: [],
                 },
-              ],
-              data: [],
-            };
+              ];
+
+              let ele = res.data[0];
 
-            res.data.forEach((ele) => {
-              ele.date = new Date(ele.date).formatDate("yyyy-MM-dd hh:mm:ss");
               for (let key in ele) {
                 if (key.indexOf("target") !== -1) {
-                  ele["copyValue"] = ele[key]["value"];
+                  chartData[0].indicator.push(tableTargetName[key]);
                 }
               }
-            });
 
-            const itemTemp = res.data[0];
+              res.data.forEach((ele) => {
+                ele.date = new Date(ele.date).formatDate("yyyy-MM-dd hh:mm:ss");
+              });
 
-            for (let key in itemTemp) {
-              if (key.indexOf("target") !== -1) {
-                tableData.column.push({
-                  name: tableTargetName[key],
-                  field: "copyValue",
-                  is_num: true,
-                  is_light: false,
-                  sortable: true,
-                });
+              if (data1) {
+                chartData[0].data.push(that.getChartData(data1));
+              }
+              if (data2) {
+                chartData[0].data.push(that.getChartData(data2));
               }
+              that.dialogData2 = chartData;
+            } else {
+              let tableData = {
+                column: [
+                  {
+                    name: "",
+                    field: "fj",
+                    is_num: false,
+                    is_light: false,
+                    sortable: false,
+                    template: () => {
+                      return "<input class='check curCheckBox checkItem' type='CheckBox'/>";
+                    },
+                    click(event, data) {
+                      if (event.target.checked == false) {
+                        that.dataIds.delete(data.wtid);
+                      }
+                      if (event.target.checked) {
+                        if (that.dataIds.size < 2) {
+                          that.dataIds.add(data.wtid);
+                        } else {
+                          event.target.checked = false;
+                        }
+                      }
+                    },
+                  },
+                  {
+                    name: "风机",
+                    field: "wtid",
+                    is_num: false,
+                    is_light: false,
+                    sortable: true,
+                  },
+                  {
+                    name: "日期",
+                    field: "date",
+                    is_num: false,
+                    is_light: false,
+                    sortable: true,
+                  },
+                  {
+                    name: "评级",
+                    field: "grade",
+                    is_num: false,
+                    is_light: false,
+                    sortable: true,
+                    width: "100px",
+                  },
+                  {
+                    name: "排名",
+                    field: "ranking",
+                    is_num: true,
+                    is_light: false,
+                    sortable: true,
+                  },
+                ],
+                data: [],
+              };
+
+              res.data.forEach((ele) => {
+                ele.date = new Date(ele.date).formatDate("yyyy-MM-dd hh:mm:ss");
+                for (let key in ele) {
+                  if (key.indexOf("target") !== -1) {
+                    ele["copyValue"] = ele[key]["value"];
+                  }
+                }
+              });
+
+              const itemTemp = res.data[0];
+
+              for (let key in itemTemp) {
+                if (key.indexOf("target") !== -1) {
+                  tableData.column.push({
+                    name: tableTargetName[key],
+                    field: "copyValue",
+                    is_num: true,
+                    is_light: false,
+                    sortable: true,
+                  });
+                }
+              }
+              tableData.data = res.data;
+              that.tableData = tableData;
             }
-            tableData.data = res.data;
-            that.tableData = tableData;
           }
         },
         Error(res) {
@@ -388,78 +432,78 @@ export default {
     contrast() {
       var that = this;
       if (that.dataIds.size == 2) {
+        this.getTable(this.date);
         that.dialogVisible = true;
-        const tmpArr = Array.from(that.dataIds);
-        const data = {
-          gaid1: tmpArr[0],
-          gaid2: tmpArr[1],
-        };
-
-        that.API.requestData({
-          method: "GET",
-          subUrl: "/benchmarking/wtinfo",
-          data: data,
-          success(res) {
-            that.dialogData1 = [res.data.gaid1, res.data.gaid2];
-            console.log(that.dialogData1);
-          },
-        });
-        that.API.requestData({
-          method: "GET",
-          subUrl: "/benchmarking/wtchart",
-          data: data,
-          success(res) {
-            const data1 = res.data.gaid1;
-            const data2 = res.data.gaid2;
-            const chartData = [
-              {
-                indicator: [
-                  "平均切入风速",
-                  "性能损失电量",
-                  "拟合优度",
-                  "功率一致性系数",
-                  "利用小时",
-                  "设备可利用率",
-                  "等效可利用系数",
-                  "有效风时数",
-                  "平均风速",
-                  "静风频率",
-                ],
-                data: [],
-              },
-            ];
-            if (data1) {
-              chartData[0].data.push(that.getChartData(data1));
-            }
-            if (data2) {
-              chartData[0].data.push(that.getChartData(data2));
-            }
-            that.dialogData2 = chartData;
-          },
-        });
       }
       this.clearCheckBox();
     },
     getChartData(resData) {
-      const chartData = {};
-      const rowMap = {};
-      resData.forEach(function (rowData, index) {
-        rowMap[rowData["name"]] = rowData["data1"];
-      });
-      chartData["name"] = resData[resData.length - 1]["name"];
-      chartData["value"] = [];
-      chartData["value"].push(rowMap["平均切入风速"]);
-      chartData["value"].push(rowMap["性能损失电量"]);
-      chartData["value"].push(rowMap["拟合优度"]);
-      chartData["value"].push(rowMap["功率一致性系数"]);
-      chartData["value"].push(rowMap["利用小时"]);
-      chartData["value"].push(rowMap["设备可利用率"]);
-      chartData["value"].push(rowMap["等效可利用系数"]);
-      chartData["value"].push(rowMap["有效风时数"]);
-      chartData["value"].push(rowMap["平均风速"]);
-      chartData["value"].push(rowMap["静风频率"]);
+      let chartData = {};
+      chartData.name = resData.wtid;
+      chartData.value = [];
+      for (let key in resData) {
+        if (key.indexOf("target") !== -1) {
+          chartData.value.push(resData[key].value);
+        }
+      }
       return chartData;
     },
+    rinse(res) {
+      let rinseData = {};
+      rinseData.windturbineid = res.wtid;
+      rinseData.level = res.grade;
+      rinseData.rank = res.ranking;
+
+      if (res.target001) {
+        rinseData.dayxfqr = res.target001.value;
+        rinseData.monthxfqr = res.target001.ranking;
+        rinseData.yearxfqr = res.target001.score;
+      }
+
+      if (res.target007) {
+        rinseData.daynhyd = res.target007.value;
+        rinseData.monthnhyd = res.target007.ranking;
+        rinseData.yearnhyd = res.target007.score;
+      }
+
+      if (res.target004) {
+        rinseData.dayglyzxxs = res.target004.value;
+        rinseData.monthglyzxxs = res.target004.ranking;
+        rinseData.yearglyzxxs = res.target004.score;
+      }
+
+      if (res.target009) {
+        rinseData.daylyxs = res.target009.value;
+        rinseData.monthlyxs = res.target009.ranking;
+        rinseData.yearlyxs = res.target009.score;
+      }
+
+      if (res.target010) {
+        rinseData.daysbklyl = res.target010.value;
+        rinseData.monthsbklyl = res.target010.ranking;
+        rinseData.yearsbklyl = res.target010.score;
+      }
+
+      if (res.target016) {
+        rinseData.dayyxfss = res.target016.value;
+        rinseData.monthyxfss = res.target016.ranking;
+        rinseData.yearyxfss = res.target016.score;
+      }
+
+      if (res.target015) {
+        rinseData.dayfs = res.target015.value;
+        rinseData.monthfs = res.target015.ranking;
+        rinseData.yearfs = res.target015.score;
+      }
+
+      if (res.target017) {
+        rinseData.dayjfpl = res.target017.value;
+        rinseData.monthjfpl = res.target017.ranking;
+        rinseData.yearjfpl = res.target017.score;
+      }
+
+      return rinseData;
+    },
     // 获取日期
     getDate(vl) {
       var date = new Date();

+ 60 - 59
src/views/HealthControl/dayinfo.vue

@@ -1,17 +1,27 @@
 <template>
   <div class="health-day-info">
     <div class="header">
-      <span class="herder-info" :width="800" v-for="item of gridDatas" :key="item">风机编号:{{item.windturbineid}}</span>
+      <span
+        class="herder-info"
+        :width="800"
+        v-for="item of gridDatas"
+        :key="item"
+        >风机编号:{{ item.windturbineid }}</span
+      >
       <span class="herder-info">基础指标</span>
     </div>
     <div class="body">
       <div class="left">
         <table class="table-form">
           <tr>
-            <td class="white" v-for="item of gridDatas" :key="item">量化评级:{{item.level}}</td>
+            <td class="white" v-for="item of gridDatas" :key="item">
+              量化评级:{{ item.level }}
+            </td>
           </tr>
           <tr>
-            <td class="white" v-for="item of gridDatas" :key="item">综合排名:{{item.rank}}</td>
+            <td class="white" v-for="item of gridDatas" :key="item">
+              综合排名:{{ item.rank }}
+            </td>
           </tr>
         </table>
 
@@ -24,16 +34,24 @@
           <tr>
             <td class="white">类型</td>
             <td class="white">指标</td>
-            <td class="white" v-for="item of gridDatas" :key="item">{{item.windturbineid}}</td>
+            <td class="white" v-for="item of gridDatas" :key="item">
+              {{ item.windturbineid }}
+            </td>
             <td class="white" :colspan="gridDatas.length">排名</td>
             <td class="white" colspan="2">评分</td>
           </tr>
           <tr v-for="item of column" :key="item">
-            <td class="white">{{item.type}}</td>
-            <td class="white">{{item.name}}</td>
-            <td class="white" v-for="row of gridDatas" :key="row">{{row[item.field]}}</td>
-            <td class="white" v-for="row of gridDatas" :key="row">{{row[item.rank]}}</td>
-            <td class="white" v-for="row of gridDatas" :key="row">{{row[item.score]?row[item.score]:0}}</td>
+            <td class="white">{{ item.type }}</td>
+            <td class="white">{{ item.name }}</td>
+            <td class="white" v-for="row of gridDatas" :key="row">
+              {{ row[item.field] }}
+            </td>
+            <td class="white" v-for="row of gridDatas" :key="row">
+              {{ row[item.rank] }}
+            </td>
+            <td class="white" v-for="row of gridDatas" :key="row">
+              {{ row[item.score] ? row[item.score] : 0 }}
+            </td>
           </tr>
         </table>
       </div>
@@ -47,7 +65,7 @@ export default {
   components: { NormalRadarChart },
   props: {
     gridDatas: {},
-    chartDatas: {}
+    chartDatas: {},
   },
   data() {
     return {
@@ -56,132 +74,132 @@ export default {
         {
           name: "发电量",
           field: "dayfdl",
-          rank: "monthfdl"
+          rank: "monthfdl",
         },
         {
           name: "理论发电量",
           field: "dayllfdl",
           rank: "monthllfdl",
-          score: "yearllfdl"
+          score: "yearllfdl",
         },
         {
           name: "平均功率",
           field: "daygl",
           rank: "monthgl",
-          score: "yeargl"
+          score: "yeargl",
         },
         {
           name: "故障损失电量",
           field: "daygzssdl",
           rank: "monthgzssdl",
-          score: "yeargzssdl"
+          score: "yeargzssdl",
         },
         {
           name: "限电损失电量",
           field: "dayxdssdl",
           rank: "monthxdssdl",
-          score: "yearxdssdl"
+          score: "yearxdssdl",
         },
         {
           name: "维护损失电量",
           field: "daywhssdl",
           rank: "monthwhssdl",
-          score: "yearwhssdl"
+          score: "yearwhssdl",
         },
         {
           name: "故障时间",
           field: "daygzsj",
           rank: "monthgzsj",
-          score: "yeargzsj"
+          score: "yeargzsj",
         },
         {
           name: "维护时间",
           field: "daywhsj",
           rank: "monthwhsj",
-          score: "yearwhsj"
+          score: "yearwhsj",
         },
         {
           name: "运行时间",
           field: "dayyxsj",
           rank: "monthyxsj",
-          score: "yearyxsj"
+          score: "yearyxsj",
         },
         {
           name: "停机时间",
           field: "daytjsj",
           rank: "monthtjsj",
-          score: "yeartjsj"
+          score: "yeartjsj",
         },
         {
           name: "平均切入风速",
           field: "dayxfqr",
           type: "性能",
           rank: "monthxfqr",
-          score: "yearxfqr"
+          score: "yearxfqr",
         },
         {
           name: "性能损失电量",
           field: "dayxnssdl",
           type: "性能",
           rank: "monthxnssdl",
-          score: "yearxnssdl"
+          score: "yearxnssdl",
         },
         {
           name: "拟合优度",
           field: "daynhyd",
           type: "性能",
           rank: "monthnhyd",
-          score: "yearnhyd"
+          score: "yearnhyd",
         },
         {
           name: "功率一致性系数",
           field: "dayglyzxxs",
           type: "性能",
           rank: "monthglyzxxs",
-          score: "yearglyzxxs"
+          score: "yearglyzxxs",
         },
         {
           name: "利用小时",
           field: "daylyxs",
           type: "可靠性管理",
           rank: "monthlyxs",
-          score: "yearlyxs"
+          score: "yearlyxs",
         },
         {
           name: "设备可利用率",
           field: "daysbklyl",
           type: "可靠性管理",
           rank: "monthsbklyl",
-          score: "yearsbklyl"
+          score: "yearsbklyl",
         },
         {
           name: "等效可利用率",
           field: "daydxkyxs",
           type: "可靠性管理",
           rank: "monthdxkyxs",
-          score: "yeardxkyxs"
+          score: "yeardxkyxs",
         },
         {
           name: "有效风时数",
           field: "dayyxfss",
           type: "可靠性管理",
           rank: "monthyxfss",
-          score: "yearyxfss"
+          score: "yearyxfss",
         },
         {
           name: "平均风速",
           field: "dayfs",
           type: "资源",
           rank: "monthfs",
-          score: "yearfs"
+          score: "yearfs",
         },
         {
           name: "静风频率",
           field: "dayjfpl",
           type: "资源",
           rank: "monthjfpl",
-          score: "yearjfpl"
-        }
+          score: "yearjfpl",
+        },
       ],
       radarValue: [
         {
@@ -195,45 +213,28 @@ export default {
             "等效可利用系数",
             "有效风时数",
             "平均风速",
-            "静风频率"
+            "静风频率",
           ],
           data: [
             {
               value: [
-                44200,
-                14200,
-                20000,
+                44200, 14200, 20000, 35000, 50000, 38000, 44200, 14200, 20000,
                 35000,
-                50000,
-                38000,
-                44200,
-                14200,
-                20000,
-                35000
               ],
-              name: "NAME1"
+              name: "NAME1",
             },
-                        {
+            {
               value: [
-                35000,
-                44200,
-                14200,
-                20000,
-                35000,
-                50000,
-                38000,
-                44200,
-                14200,
+                35000, 44200, 14200, 20000, 35000, 50000, 38000, 44200, 14200,
                 20000,
-                
               ],
-              name: "NAME2"
-            }
-          ]
-        }
-      ]
+              name: "NAME2",
+            },
+          ],
+        },
+      ],
     };
-  }
+  },
 };
 </script>
 

+ 0 - 2
src/views/MalfunctionWarning/supervised.vue

@@ -346,7 +346,6 @@ export default {
             that.algorithm = res;
             that.value1 = res[0];
             that.chooseAlgorithm = res[0].name;
-            console.log(that.chooseAlgorithm);
           }
         },
       });
@@ -475,7 +474,6 @@ export default {
       this.chooseAlgorithm = this.algorithm.filter(
         (item) => item.name === val
       )[0].name;
-      console.log(this.chooseAlgorithm);
     },
     // clear() {
     //   this.chooseAlgorithm = '';

+ 88 - 40
src/views/NewPages/iframe4.vue

@@ -2,26 +2,61 @@
   <div class="iframe4">
     <!-- <iframe src="http://10.75.17.10/doc/page/preview.asp" frameborder="0" class="iframe-2"></iframe> -->
     <div class="iframe-1">
-      <div class="iframe4-title" @click="jumpUrl('/save/personnel')">人员健康</div>
+      <div class="iframe4-title" @click="jumpUrl('/save/personnel')">
+        人员健康
+      </div>
       <personnel></personnel>
     </div>
     <div class="iframe-2">
       <div class="iframe4-title">视频监视</div>
-      <div class="videoDiv" v-for="(pItem, pIndex) in videoArray" :key="pIndex" width="95%" height="48vh" @click="openVideoDialog(pItem)">
+      <div
+        class="videoDiv"
+        v-for="(pItem, pIndex) in videoArray"
+        :key="pIndex"
+        width="95%"
+        height="48vh"
+        @click="openVideoDialog(pItem)"
+      >
         <div class="mask"></div>
-        <iframe :src="pItem.url + pItem.token" />
+        <!-- <iframe :src="pItem.url + pItem.token" /> -->
+        <hlsVideo :code="pItem.code" :class="pItem.class" />
       </div>
     </div>
     <div class="iframe-3">
-      <div class="iframe4-title" @click="openUrl('http://192.168.1.52/webiui/#/online')">智能安全帽</div>
-      <iframe src="http://192.168.1.52/webiui/#/online" frameborder="0"></iframe>
+      <div
+        class="iframe4-title"
+        @click="openUrl('http://192.168.1.52/webiui/#/online')"
+      >
+        智能安全帽
+      </div>
+      <iframe
+        src="http://192.168.1.52/webiui/#/online"
+        frameborder="0"
+      ></iframe>
     </div>
     <div class="iframe-4">
       <div class="iframe4-title">数字孪生</div>
       <div class="iframe-4-body"></div>
     </div>
-    <el-dialog top="50px" v-model="showVideoDialog" width="80vw" :destroy-on-close="true" :custom-class="videoDialogClass">
-      <iframe class="videoBoxiframe" width="100%" height="600px" :src="dialogVideoUrl" />
+    <el-dialog
+      top="50px"
+      v-model="showVideoDialog"
+      width="80vw"
+      :destroy-on-close="true"
+      :custom-class="videoDialogClass"
+    >
+      <!-- <iframe
+        class="videoBoxiframe"
+        width="100%"
+        height="600px"
+        :src="dialogVideoUrl"
+      /> -->
+      <hlsVideo
+        class="videoBoxiframe"
+        width="95%"
+        height="800px"
+        :code="dialogVideoUrl"
+      />
     </el-dialog>
   </div>
 </template>
@@ -29,51 +64,64 @@
 <script>
 import personnel from "./personnel.vue";
 import PanelSand from "@com/coms/panel/panel-sand.vue";
+import hlsVideo from "../SandTable/component/hls.vue";
 export default {
   setup() {},
-  components: { personnel, PanelSand },
+  components: { personnel, PanelSand, hlsVideo },
   data() {
     return {
       showVideoDialog: false,
       dialogVideoUrl: "",
+      // videoArray: [
+      //   {
+      //     url: "http://10.155.32.4:9984/ws.html",
+      //     token: "?token=SBQ_FDC_SC&autoplay=true",
+      //     switch: true,
+      //   },
+      //   {
+      //     url: "http://10.155.32.4:9984/ws.html",
+      //     token: "?token=NSS_FDC_SC&autoplay=true",
+      //     switch: true,
+      //   },
+      //   {
+      //     url: "http://10.155.32.4:9984/ws.html",
+      //     token: "?token=QS_FDC_SC&autoplay=true",
+      //     switch: true,
+      //   },
+      //   {
+      //     url: "http://10.155.32.4:9984/ws.html",
+      //     token: "?token=MHS_FDC_SC&autoplay=true",
+      //     switch: true,
+      //   },
+      //   {
+      //     url: "http://10.155.32.4:9984/ws.html",
+      //     token: "?token=XS_FDC_SC&autoplay=true",
+      //     switch: true,
+      //   },
+      //   {
+      //     url: "http://10.155.32.4:9984/ws.html",
+      //     token: "?token=PL_GDC_SC&autoplay=true",
+      //     switch: true,
+      //   },
+      // ],
       videoArray: [
-        {
-          url: "http://10.155.32.4:9984/ws.html",
-          token: "?token=SBQ_FDC_SC&autoplay=true",
-          switch: true,
-        },
-        {
-          url: "http://10.155.32.4:9984/ws.html",
-          token: "?token=NSS_FDC_SC&autoplay=true",
-          switch: true,
-        },
-        {
-          url: "http://10.155.32.4:9984/ws.html",
-          token: "?token=QS_FDC_SC&autoplay=true",
-          switch: true,
-        },
-        {
-          url: "http://10.155.32.4:9984/ws.html",
-          token: "?token=MHS_FDC_SC&autoplay=true",
-          switch: true,
-        },
-        {
-          url: "http://10.155.32.4:9984/ws.html",
-          token: "?token=XS_FDC_SC&autoplay=true",
-          switch: true,
-        },
-        {
-          url: "http://10.155.32.4:9984/ws.html",
-          token: "?token=PL_GDC_SC&autoplay=true",
-          switch: true,
-        },
+        { code: "SBQ_FDC_SC", class: "", switch: true },
+        { code: "NSS_FDC_SC", class: "", switch: true },
+        { code: "QS_FDC_SC", class: "", switch: true },
+        { code: "MHS_FDC_SC", class: "", switch: true },
+        { code: "XS_FDC_SC", class: "", switch: true },
+        { code: "PL_GDC_SC", class: "", switch: true },
       ],
     };
   },
   methods: {
     openVideoDialog(item) {
-      if (item.url && item.token) {
-        this.dialogVideoUrl = item.url + item.token;
+      // if (item.url && item.token) {
+      //   this.dialogVideoUrl = item.url + item.token;
+      //   this.showVideoDialog = true;
+      // }
+      if (item.code) {
+        this.dialogVideoUrl = item.code;
         this.showVideoDialog = true;
       }
     },

+ 58 - 60
src/views/SandTable/component/ThreeModel1.vue

@@ -167,12 +167,12 @@ export default {
             );
           },
           clickFan: () => {
-            this.showFanInfo(this.htmlLayer[0].position);
-            this.jkd = this.htmlLayer[0].jkd;
-            this.ysl = this.htmlLayer[0].ysl;
-            this.lsl = this.htmlLayer[0].lsl;
-            this.csl = this.htmlLayer[0].csl;
-            this.gzsl = this.htmlLayer[0].gzsl;
+            that.showFanInfo(that.htmlLayer[0].position);
+            that.jkd = that.htmlLayer[0].jkd;
+            that.ysl = that.htmlLayer[0].ysl;
+            that.lsl = that.htmlLayer[0].lsl;
+            that.csl = that.htmlLayer[0].csl;
+            that.gzsl = that.htmlLayer[0].gzsl;
             that.clickMapItem(
               [
                 "MHS_FDC_SC",
@@ -214,12 +214,12 @@ export default {
             );
           },
           clickFan: () => {
-            this.showFanInfo(this.htmlLayer[1].position);
-            this.jkd = this.htmlLayer[1].jkd;
-            this.ysl = this.htmlLayer[1].ysl;
-            this.lsl = this.htmlLayer[1].lsl;
-            this.csl = this.htmlLayer[1].csl;
-            this.gzsl = this.htmlLayer[1].gzsl;
+            that.showFanInfo(that.htmlLayer[1].position);
+            that.jkd = that.htmlLayer[1].jkd;
+            that.ysl = that.htmlLayer[1].ysl;
+            that.lsl = that.htmlLayer[1].lsl;
+            that.csl = that.htmlLayer[1].csl;
+            that.gzsl = that.htmlLayer[1].gzsl;
             that.clickMapItem(
               [
                 "NSS_FDC_SC",
@@ -261,12 +261,12 @@ export default {
             );
           },
           clickFan: () => {
-            this.showFanInfo(this.htmlLayer[2].position);
-            this.jkd = this.htmlLayer[2].jkd;
-            this.ysl = this.htmlLayer[2].ysl;
-            this.lsl = this.htmlLayer[2].lsl;
-            this.csl = this.htmlLayer[2].csl;
-            this.gzsl = this.htmlLayer[2].gzsl;
+            that.showFanInfo(that.htmlLayer[2].position);
+            that.jkd = that.htmlLayer[2].jkd;
+            that.ysl = that.htmlLayer[2].ysl;
+            that.lsl = that.htmlLayer[2].lsl;
+            that.csl = that.htmlLayer[2].csl;
+            that.gzsl = that.htmlLayer[2].gzsl;
             that.clickMapItem(
               [
                 "QS_FDC_SC",
@@ -308,12 +308,12 @@ export default {
             );
           },
           clickFan: () => {
-            this.showFanInfo(this.htmlLayer[3].position);
-            this.jkd = this.htmlLayer[3].jkd;
-            this.ysl = this.htmlLayer[3].ysl;
-            this.lsl = this.htmlLayer[3].lsl;
-            this.csl = this.htmlLayer[3].csl;
-            this.gzsl = this.htmlLayer[3].gzsl;
+            that.showFanInfo(that.htmlLayer[3].position);
+            that.jkd = that.htmlLayer[3].jkd;
+            that.ysl = that.htmlLayer[3].ysl;
+            that.lsl = that.htmlLayer[3].lsl;
+            that.csl = that.htmlLayer[3].csl;
+            that.gzsl = that.htmlLayer[3].gzsl;
             that.clickMapItem(
               [
                 "SBQ_FDC_SC",
@@ -355,12 +355,12 @@ export default {
             );
           },
           clickFan: () => {
-            this.showFanInfo(this.htmlLayer[4].position);
-            this.jkd = this.htmlLayer[4].jkd;
-            this.ysl = this.htmlLayer[4].ysl;
-            this.lsl = this.htmlLayer[4].lsl;
-            this.csl = this.htmlLayer[4].csl;
-            this.gzsl = this.htmlLayer[4].gzsl;
+            that.showFanInfo(that.htmlLayer[4].position);
+            that.jkd = that.htmlLayer[4].jkd;
+            that.ysl = that.htmlLayer[4].ysl;
+            that.lsl = that.htmlLayer[4].lsl;
+            that.csl = that.htmlLayer[4].csl;
+            that.gzsl = that.htmlLayer[4].gzsl;
             that.clickMapItem(
               [
                 "XS_FDC_SC",
@@ -507,12 +507,12 @@ export default {
             );
           },
           clickFan: () => {
-            this.showFanInfo(this.htmlLayer[10].position);
-            this.jkd = this.htmlLayer[10].jkd;
-            this.ysl = this.htmlLayer[10].ysl;
-            this.lsl = this.htmlLayer[10].lsl;
-            this.csl = this.htmlLayer[10].csl;
-            this.gzsl = this.htmlLayer[10].gzsl;
+            that.showFanInfo(that.htmlLayer[10].position);
+            that.jkd = that.htmlLayer[10].jkd;
+            that.ysl = that.htmlLayer[10].ysl;
+            that.lsl = that.htmlLayer[10].lsl;
+            that.csl = that.htmlLayer[10].csl;
+            that.gzsl = that.htmlLayer[10].gzsl;
             that.clickMapItem(
               [
                 "SBQ_FDC_SC",
@@ -605,7 +605,7 @@ export default {
       this.$emit("clickMapItem", videoArray, wpId);
     },
     // Vector3 to screen
-    vector3ToScreen: function (position) {
+    vector3ToScreen(position) {
       const centerX = this.$el.scrollWidth / 2;
       const centerY = this.$el.scrollHeight / 2;
       const v3 = new THREE.Vector3(position.x, position.y, position.z);
@@ -615,12 +615,12 @@ export default {
       return { x: screenX, y: screenY };
     },
     // 场景
-    initScene: function () {
+    initScene() {
       scene = new THREE.Scene();
       // scene.background = new THREE.Color(0xa0a0a0);
     },
     // 相机
-    initCamera: function () {
+    initCamera() {
       camera = new THREE.PerspectiveCamera(
         45,
         this.$el.scrollWidth / this.$el.scrollHeight,
@@ -630,27 +630,27 @@ export default {
       camera.position.set(50, 50, 50);
     },
     // 坐标轴
-    initAxesHelper: function () {
+    initAxesHelper() {
       const axesHelper = new THREE.AxesHelper(150);
       scene.add(axesHelper);
       axesHelper.position.set(0, 0, 0);
     },
     // 渲染器
-    initRender: function () {
+    initRender() {
       renderer = new THREE.WebGLRenderer({ antialias: true, alpha: true });
       // renderer.setClearAlpha(0);
       renderer.setSize(this.$el.scrollWidth, this.$el.scrollHeight);
       this.$el.append(renderer.domElement);
     },
     // 灯光
-    initLight: function () {
+    initLight() {
       // let light = new THREE.PointLight(0xffffff, 2);
       let light = new THREE.AmbientLight(0xffffff, 5);
       // light.position.set(50, 50, 50);
       scene.add(light);
     },
     // 控制器
-    initControls: function () {
+    initControls() {
       controls = new OrbitControls(camera, renderer.domElement);
       controls.enablePan = false;
       controls.maxPolarAngle = (45 / 180) * Math.PI;
@@ -669,7 +669,7 @@ export default {
       // });
     },
     // 初始化一个风机动画
-    initFanAnimate: function (obj) {
+    initFanAnimate(obj) {
       let fanAnimateObj = {
         speed: 0.05,
         rotate: 0,
@@ -717,14 +717,13 @@ export default {
       this.playAnimation = true;
     },
     // 内容
-    initContent: function () {
+    initContent() {
       // 加载3D地面
       let loaderGround = new GLTFLoader(); /*实例化加载器*/
       loaderGround.load(
         "static/3d/fanvar.gltf",
         (gltf) => {
           gltf.scene.position.set(17, 10, -12);
-          // console.log(gltf);
           scene.add(gltf.scene);
           let rootNode = gltf.scene.children[0];
           let fan = gltf.scene.children[0].children[0];
@@ -740,7 +739,6 @@ export default {
         "static/3d/light.gltf",
         (gltf) => {
           gltf.scene.position.set(17, 10, -12);
-          // console.log(gltf);
           scene.add(gltf.scene);
           let rootNode = gltf.scene.children[0];
           let light = gltf.scene.children[0].children[0];
@@ -776,7 +774,7 @@ export default {
       );
     },
     // 改变元素底盘的颜色(带底盘的)
-    changeObjectColor: function (obj, colorName) {
+    changeObjectColor(obj, colorName) {
       for (let i = 1; i <= 4; i++) {
         let c = obj.getObjectByName(`${obj.name}_c_${i}`);
         c.material = new THREE.MeshBasicMaterial({
@@ -803,7 +801,7 @@ export default {
       });
     },
     // 改变元素的颜色(光伏)
-    changeElColor: function (obj, colorName) {
+    changeElColor(obj, colorName) {
       // let color = this.colors.find(t => t.colorName == colorName || t.state == colorName || t.stateName == colorName).color;
       // for (let i = 1; i <= 6; i++) {
       //     let el = obj.getObjectByName(`${obj.name}_item_${i}`);
@@ -815,7 +813,7 @@ export default {
       // }
     },
     // 设置风机name
-    setFanName: function (obj, name) {
+    setFanName(obj, name) {
       obj.name = name;
       obj.userData.name = name;
       // "Cylinder881" "Cone277"
@@ -875,7 +873,7 @@ export default {
       group.name = `${name}_leaf`;
     },
     // 设置风机位置 颜色
-    setFanPosition: function (rootNode, obj) {
+    setFanPosition(rootNode, obj) {
       // 麻黄山
       let fan_mhs = obj.clone(true);
       fan_mhs.position.set(10, 5, -4);
@@ -942,7 +940,7 @@ export default {
       this.setEveryHTML();
     },
     // 设置光伏name
-    setLightName: function (obj, name) {
+    setLightName(obj, name) {
       obj.name = name;
       obj.userData.name = name;
       let Box661 = obj.getObjectByName("Box661");
@@ -965,7 +963,7 @@ export default {
       Box670.userData.name = `${name}_item_6`;
     },
     // 设置光伏位置 颜色
-    setLightPosition: function (rootNode, obj) {
+    setLightPosition(rootNode, obj) {
       obj.scale.set(200, 200, 200);
       // let Box660 = obj.getObjectByName("Box660");
       // let Box666 = obj.getObjectByName("Box666");
@@ -1077,7 +1075,7 @@ export default {
       scene.add(cylinder);
     },
     // 设置每一个html的位置
-    setEveryHTML: function () {
+    setEveryHTML() {
       this.htmlLayer.forEach((value) => {
         if (value.show && value.position) {
           const screen = this.vector3ToScreen(value.position);
@@ -1087,7 +1085,7 @@ export default {
       });
     },
     // 判断时候是可点击对象 返回null 或object
-    getClickObject: function (intersects) {
+    getClickObject(intersects) {
       const names = ["fan"];
       const namesRoot = ["fanvar"];
       let x = true;
@@ -1120,7 +1118,7 @@ export default {
       return obj;
     },
     // 显示风机弹出层
-    showFanInfo: function (position) {
+    showFanInfo(position) {
       this.fanInfoLayer.position = {
         x: position.x,
         y: position.y,
@@ -1132,13 +1130,13 @@ export default {
       this.fanInfoLayer.show = true;
     },
     // 隐藏风机弹出层
-    hideFanInfo: function () {
+    hideFanInfo() {
       this.fanInfoLayer.show = false;
     },
     // 初始化云
-    initCloud: function () {},
+    initCloud() {},
     // 初始化
-    initThree: function () {
+    initThree() {
       this.initScene();
       // this.initAxesHelper();
       this.initCamera();
@@ -1150,7 +1148,7 @@ export default {
       renderer.setAnimationLoop(this.animate);
     },
     // 动画
-    animate: function () {
+    animate() {
       renderer.render(scene, camera);
     },
   },

+ 1 - 0
src/views/WindSite/pages/Home/Home.vue

@@ -1064,6 +1064,7 @@ export default {
   watch: {
     $route(res) {
       this.wpId = res.params.wpId;
+      this.stationChartData = require(`./stationJson/${this.$route.params.wpId}.js`).default;
       if (res.params.wpId) {
         this.requestData(false);
         this.renderBtnActiveIndex();

+ 155 - 0
src/views/WindSite/pages/Home/stationJson/DWK_GDC.js

@@ -0,0 +1,155 @@
+export default [
+  {
+    id: "root",
+    name: "大武口光电场",
+    type: "img",
+    image: "stationimg",
+    x: 10,
+    y: 30,
+  },
+  //大武口1号线路
+  {
+    id: "DWK01_01",
+    type: "circle",
+    x: 120,
+    y: 60,
+    connects: ["root"],
+  },
+  {
+    id: "DWK01_02",
+    type: "circle",
+    x: 150,
+    y: 60,
+    connects: ["DWK01_01"],
+  },
+  {
+    id: "DWK01_03",
+    type: "circle",
+    x: 180,
+    y: 60,
+    connects: ["DWK01_02"],
+  },
+  {
+    id: "DWK01_04",
+    type: "circle",
+    x: 210,
+    y: 60,
+    connects: ["DWK01_03"],
+  },
+  {
+    id: "DWK01_05",
+    type: "circle",
+    x: 240,
+    y: 60,
+    connects: ["DWK01_04"],
+  },
+  {
+    id: "DWK01_06",
+    type: "circle",
+    x: 270,
+    y: 60,
+    connects: ["DWK01_05"],
+  },
+  {
+    id: "DWK01_07",
+    type: "circle",
+    x: 300,
+    y: 60,
+    connects: ["DWK01_06"],
+  },
+  {
+    id: "DWK01_08",
+    type: "circle",
+    x: 330,
+    y: 60,
+    connects: ["DWK01_07"],
+  },
+  {
+    id: "DWK01_09",
+    type: "circle",
+    x: 360,
+    y: 60,
+    connects: ["DWK01_08"],
+  },
+  {
+    id: "DWK01_10",
+    type: "circle",
+    x: 390,
+    y: 60,
+    connects: ["DWK01_09"],
+  },
+
+
+  //大武口2号线路
+  {
+    id: "DWK01_11",
+    type: "circle",
+    x: 120,
+    y: 120,
+    connects: ["root"],
+  },
+  {
+    id: "DWK01_12",
+    type: "circle",
+    x: 150,
+    y: 120,
+    connects: ["DWK01_11"],
+  },
+  {
+    id: "DWK01_13",
+    type: "circle",
+    x: 180,
+    y: 120,
+    connects: ["DWK01_12"],
+  },
+  {
+    id: "DWK01_14",
+    type: "circle",
+    x: 210,
+    y: 120,
+    connects: ["DWK01_13"],
+  },
+  {
+    id: "DWK01_15",
+    type: "circle",
+    x: 240,
+    y: 120,
+    connects: ["DWK01_14"],
+  },
+  {
+    id: "DWK01_16",
+    type: "circle",
+    x: 270,
+    y: 120,
+    connects: ["DWK01_15"],
+  },
+  {
+    id: "DWK01_17",
+    type: "circle",
+    x: 300,
+    y: 120,
+    connects: ["DWK01_16"],
+  },
+  {
+    id: "DWK01_18",
+    type: "circle",
+    x: 330,
+    y: 120,
+    connects: ["DWK01_17"],
+  },
+  {
+    id: "DWK01_19",
+    type: "circle",
+    x: 360,
+    y: 120,
+    connects: ["DWK01_18"],
+  },
+  {
+    id: "DWK01_20",
+    type: "circle",
+    x: 390,
+    y: 120,
+    connects: ["DWK01_19"],
+  },
+
+]

+ 190 - 0
src/views/WindSite/pages/Home/stationJson/MCH_GDC.js

@@ -0,0 +1,190 @@
+export default [
+  {
+    id: "root",
+    name: "马场湖光电场",
+    type: "img",
+    image: "stationimg",
+    x: 10,
+    y: 30,
+  },
+  //马场湖1号线路
+  {
+    id: "MCH01_01",
+    type: "circle",
+    x: 120,
+    y: 30,
+    connects: ["root"],
+  },
+  {
+    id: "MCH01_02",
+    type: "circle",
+    x: 180,
+    y: 30,
+    connects: ["MCH01_01"],
+  },
+  {
+    id: "MCH01_03",
+    type: "circle",
+    x: 240,
+    y: 30,
+    connects: ["MCH01_02"],
+  },
+  {
+    id: "MCH01_04",
+    type: "circle",
+    x: 300,
+    y: 30,
+    connects: ["MCH01_03"],
+  },
+  {
+    id: "MCH01_05",
+    type: "circle",
+    x: 360,
+    y: 30,
+    connects: ["MCH01_04"],
+  },
+  {
+    id: "MCH01_6",
+    type: "circle",
+    x: 360,
+    y: 60,
+    connects: ["MCH01_05"],
+  },
+  {
+    id: "MCH01_07",
+    type: "circle",
+    x: 300,
+    y: 60,
+    connects: ["MCH01_6"],
+  },
+  {
+    id: "MCH01_08",
+    type: "circle",
+    x: 240,
+    y: 60,
+    connects: ["MCH01_07"],
+  },
+  {
+    id: "MCH01_09",
+    type: "circle",
+    x: 180,
+    y: 60,
+    connects: ["MCH01_08"],
+  },
+  {
+    id: "MCH01_10",
+    type: "circle",
+    x: 120,
+    y: 60,
+    connects: ["MCH01_09"],
+  },
+  {
+    id: "MCH01_11",
+    type: "circle",
+    x: 120,
+    y: 90,
+    connects: ["MCH01_10"],
+  },
+  {
+    id: "MCH01_12",
+    type: "circle",
+    x: 180,
+    y: 90,
+    connects: ["MCH01_11"],
+  },
+  {
+    id: "MCH01_13",
+    type: "circle",
+    x: 240,
+    y: 90,
+    connects: ["MCH01_12"],
+  },
+  {
+    id: "MCH01_14",
+    type: "circle",
+    x: 300,
+    y: 90,
+    connects: ["MCH01_13"],
+  },
+  {
+    id: "MCH01_15",
+    type: "circle",
+    x: 360,
+    y: 90,
+    connects: ["MCH01_14"],
+  },
+  {
+    id: "MCH01_16",
+    type: "circle",
+    x: 360,
+    y: 120,
+    connects: ["MCH01_15"],
+  },
+  {
+    id: "MCH01_17",
+    type: "circle",
+    x: 300,
+    y: 120,
+    connects: ["MCH01_16"],
+  },
+  {
+    id: "MCH01_18",
+    type: "circle",
+    x: 240,
+    y: 120,
+    connects: ["MCH01_17"],
+  },
+  {
+    id: "MCH01_19",
+    type: "circle",
+    x: 180,
+    y: 120,
+    connects: ["MCH01_18"],
+  },
+  {
+    id: "MCH01_20",
+    type: "circle",
+    x: 120,
+    y: 120,
+    connects: ["MCH01_19"],
+  },
+
+
+
+
+  {
+    id: "MCH01_21",
+    type: "circle",
+    x: 120,
+    y: 150,
+    connects: ["MCH01_20"],
+  },
+  {
+    id: "MCH01_22",
+    type: "circle",
+    x: 180,
+    y: 150,
+    connects: ["MCH01_21"],
+  },
+  {
+    id: "MCH01_23",
+    type: "circle",
+    x: 240,
+    y: 150,
+    connects: ["MCH01_22"],
+  },
+  {
+    id: "MCH01_24",
+    type: "circle",
+    x: 300,
+    y: 150,
+    connects: ["MCH01_23"],
+  },
+  {
+    id: "MCH01_25",
+    type: "circle",
+    x: 360,
+    y: 150,
+    connects: ["MCH01_24"],
+  },
+]

+ 708 - 0
src/views/WindSite/pages/Home/stationJson/NSS_FDC.js

@@ -0,0 +1,708 @@
+export default [
+  {
+    id: "root",
+    name: "牛首山风电场",
+    type: "img",
+    image: "stationimg",
+    x: 10,
+    y: 14,
+  },
+  //牛首山1号线路
+  {
+    id: "NG01_01",
+    type: "circle",
+    x: 120,
+    y: 10,
+    connects: ["root"],
+  },
+  {
+    id: "NG01_02",
+    type: "circle",
+    x: 150,
+    y: 12,
+    connects: ["NG01_01"],
+  },
+  {
+    id: "NG01_03",
+    type: "circle",
+    x: 170,
+    y: 14,
+    connects: ["NG01_02"],
+  },
+  {
+    id: "NG01_04",
+    type: "circle",
+    x: 200,
+    y: 15,
+    connects: ["NG01_03"],
+  },
+  {
+    id: "NG01_05",
+    type: "circle",
+    x: 240,
+    y: 18,
+    connects: ["NG01_04"],
+  },
+  {
+    id: "NG01_06",
+    type: "circle",
+    x: 260,
+    y: 19,
+    connects: ["NG01_05"],
+  },
+  {
+    id: "NG01_07",
+    type: "circle",
+    x: 270,
+    y: 15,
+    connects: ["NG01_06"],
+  },
+  {
+    id: "NG01_08",
+    type: "circle",
+    x: 280,
+    y: 5,
+    connects: ["NG01_07"],
+  },
+  {
+    id: "NG01_09",
+    type: "circle",
+    x: 310,
+    y: 15,
+    connects: ["NG01_08"],
+  },
+  {
+    id: "NG01_10",
+    type: "circle",
+    x: 330,
+    y: 11,
+    connects: ["NG01_09"],
+  },
+  {
+    id: "NG01_11",
+    type: "circle",
+    x: 350,
+    y: 15,
+    connects: ["NG01_10"],
+  },
+
+  //牛首山2号线路
+  {
+    id: "NG01_12",
+    type: "circle",
+    x: 150,
+    y: 31,
+    connects: ["root"],
+  },
+  {
+    id: "NG01_13",
+    type: "circle",
+    x: 180,
+    y: 33,
+    connects: ["NG01_12"],
+  },
+  {
+    id: "NG01_14",
+    type: "circle",
+    x: 220,
+    y: 34,
+    connects: ["NG01_13"],
+  },
+  {
+    id: "NG01_15",
+    type: "circle",
+    x: 240,
+    y: 37,
+    connects: ["NG01_14"],
+  },
+  {
+    id: "NG01_16",
+    type: "circle",
+    x: 280,
+    y: 38,
+    connects: ["NG01_15"],
+  },
+  {
+    id: "NG01_17",
+    type: "circle",
+    x: 310,
+    y: 39,
+    connects: ["NG01_16"],
+  },
+  {
+    id: "NG01_18",
+    type: "circle",
+    x: 330,
+    y: 30,
+    connects: ["NG01_17"],
+  },
+  {
+    id: "NG01_19",
+    type: "circle",
+    x: 370,
+    y: 36,
+    connects: ["NG01_18"],
+  },
+  {
+    id: "NG01_20",
+    type: "circle",
+    x: 390,
+    y: 37,
+    connects: ["NG01_19"],
+  },
+  {
+    id: "NG01_21",
+    type: "circle",
+    x: 400,
+    y: 39,
+    connects: ["NG01_20"],
+  },
+  {
+    id: "NG01_22",
+    type: "circle",
+    x: 430,
+    y: 32,
+    connects: ["NG01_21"],
+  }, {
+    id: "NG01_23",
+    type: "circle",
+    x: 450,
+    y: 34,
+    connects: ["NG01_22"],
+  },
+
+  //牛首山3号线路
+  {
+    id: "NG01_45",
+    type: "circle",
+    x: 100,
+    y: 40,
+    connects: ["root"],
+  },
+  {
+    id: "NG01_46",
+    type: "circle",
+    x: 130,
+    y: 52,
+    connects: ["NG01_45"],
+  },
+  {
+    id: "NG01_47",
+    type: "circle",
+    x: 150,
+    y: 59,
+    connects: ["NG01_46"],
+  },
+  {
+    id: "NG01_48",
+    type: "circle",
+    x: 160,
+    y: 53,
+    connects: ["NG01_47"],
+  },
+  {
+    id: "NG01_49",
+    type: "circle",
+    x: 240,
+    y: 57,
+    connects: ["NG01_48"],
+  },
+  {
+    id: "NG01_50",
+    type: "circle",
+    x: 260,
+    y: 53,
+    connects: ["NG01_49"],
+  },
+  {
+    id: "NG01_51",
+    type: "circle",
+    x: 270,
+    y: 56,
+    connects: ["NG01_50"],
+  },
+  {
+    id: "NG01_52",
+    type: "circle",
+    x: 280,
+    y: 55,
+    connects: ["NG01_51"],
+  },
+  {
+    id: "NG01_53",
+    type: "circle",
+    x: 310,
+    y: 58,
+    connects: ["NG01_52"],
+  },
+  {
+    id: "NG01_54",
+    type: "circle",
+    x: 330,
+    y: 51,
+    connects: ["NG01_53"],
+  },
+  {
+    id: "NG01_55",
+    type: "circle",
+    x: 350,
+    y: 52,
+    connects: ["NG01_54"],
+  },
+
+
+
+  //牛首山4号线路
+  {
+    id: "NG01_57",
+    type: "circle",
+    x: 130,
+    y: 70,
+    connects: ["root"],
+  },
+  {
+    id: "NG01_58",
+    type: "circle",
+    x: 220,
+    y: 79,
+    connects: ["NG01_57"],
+  },
+  {
+    id: "NG01_59",
+    type: "circle",
+    x: 240,
+    y: 75,
+    connects: ["NG01_58"],
+  },
+  {
+    id: "NG01_60",
+    type: "circle",
+    x: 280,
+    y: 70,
+    connects: ["NG01_59"],
+  },
+  {
+    id: "NG01_61",
+    type: "circle",
+    x: 310,
+    y: 71,
+    connects: ["NG01_60"],
+  },
+  {
+    id: "NG01_62",
+    type: "circle",
+    x: 310,
+    y: 73,
+    connects: ["NG01_61"],
+  },
+  {
+    id: "NG01_63",
+    type: "circle",
+    x: 370,
+    y: 78,
+    connects: ["NG01_62"],
+  },
+  {
+    id: "NG01_64",
+    type: "circle",
+    x: 330,
+    y: 77,
+    connects: ["NG01_63"],
+  },
+  {
+    id: "NG01_65",
+    type: "circle",
+    x: 370,
+    y: 76,
+    connects: ["NG01_64"],
+  },
+  {
+    id: "NG01_66",
+    type: "circle",
+    x: 390,
+    y: 75,
+    connects: ["NG01_65"],
+  },
+  {
+    id: "NG01_67",
+    type: "circle",
+    x: 400,
+    y: 72,
+    connects: ["NG01_66"],
+  },
+  {
+    id: "NG01_79",
+    type: "circle",
+    x: 420,
+    y: 79,
+    connects: ["NG01_67"],
+  },
+
+  //牛首山5号线路
+  {
+    id: "NG01_56",
+    type: "circle",
+    x: 150,
+    y: 85,
+    connects: ["root"],
+  },
+  {
+    id: "NG01_68",
+    type: "circle",
+    x: 220,
+    y: 91,
+    connects: ["NG01_56"],
+  },
+  {
+    id: "NG01_69",
+    type: "circle",
+    x: 290,
+    y: 92,
+    connects: ["NG01_68"],
+  },
+  {
+    id: "NG01_70",
+    type: "circle",
+    x: 330,
+    y: 89,
+    connects: ["NG01_69"],
+  },
+  {
+    id: "NG01_71",
+    type: "circle",
+    x: 350,
+    y: 91,
+    connects: ["NG01_70"],
+  }, {
+    id: "NG01_72",
+    type: "circle",
+    x: 370,
+    y: 98,
+    connects: ["NG01_71"],
+  }, {
+    id: "NG01_73",
+    type: "circle",
+    x: 390,
+    y: 93,
+    connects: ["NG01_72"],
+  }, {
+    id: "NG01_74",
+    type: "circle",
+    x: 410,
+    y: 93,
+    connects: ["NG01_72"],
+  }, {
+    id: "NG01_75",
+    type: "circle",
+    x: 430,
+    y: 90,
+    connects: ["NG01_74"],
+  }, {
+    id: "NG01_76",
+    type: "circle",
+    x: 450,
+    y: 92,
+    connects: ["NG01_75"],
+  }, {
+    id: "NG01_77",
+    type: "circle",
+    x: 460,
+    y: 89,
+    connects: ["NG01_76"],
+  }, {
+    id: "NG01_78",
+    type: "circle",
+    x: 470,
+    y: 95,
+    connects: ["NG01_77"],
+  },
+  //牛首山6号线路
+  {
+    id: "NG01_24",
+    type: "circle",
+    x: 120,
+    y: 104,
+    connects: ["root"],
+  },
+  {
+    id: "NG01_25",
+    type: "circle",
+    x: 140,
+    y: 108,
+    connects: ["NG01_24"],
+  },
+  {
+    id: "NG01_26",
+    type: "circle",
+    x: 200,
+    y: 109,
+    connects: ["NG01_25"],
+  },
+  {
+    id: "NG01_27",
+    type: "circle",
+    x: 250,
+    y: 102,
+    connects: ["NG01_26"],
+  }, {
+    id: "NG01_28",
+    type: "circle",
+    x: 270,
+    y: 106,
+    connects: ["NG01_27"],
+  }, {
+    id: "NG01_29",
+    type: "circle",
+    x: 290,
+    y: 106,
+    connects: ["NG01_28"],
+  }, {
+    id: "NG01_30",
+    type: "circle",
+    x: 310,
+    y: 101,
+    connects: ["NG01_29"],
+  }, {
+    id: "NG01_31",
+    type: "circle",
+    x: 370,
+    y: 102,
+    connects: ["NG01_30"],
+  }, {
+    id: "NG01_32",
+    type: "circle",
+    x: 400,
+    y: 100,
+    connects: ["NG01_31"],
+  }, {
+    id: "NG01_33",
+    type: "circle",
+    x: 440,
+    y: 107,
+    connects: ["NG01_32"],
+  },
+
+  //牛首山7号线路
+  {
+    id: "NG01_34",
+    type: "circle",
+    x: 150,
+    y: 122,
+    connects: ["root"],
+  },
+  {
+    id: "NG01_35",
+    type: "circle",
+    x: 180,
+    y: 122,
+    connects: ["NG01_34"],
+  },
+  {
+    id: "NG01_36",
+    type: "circle",
+    x: 200,
+    y: 128,
+    connects: ["NG01_35"],
+  },
+  {
+    id: "NG01_37",
+    type: "circle",
+    x: 220,
+    y: 129,
+    connects: ["NG01_36"],
+  },
+  {
+    id: "NG01_38",
+    type: "circle",
+    x: 240,
+    y: 127,
+    connects: ["NG01_37"],
+  },
+  {
+    id: "NG01_39",
+    type: "circle",
+    x: 260,
+    y: 123,
+    connects: ["NG01_38"],
+  },
+  {
+    id: "NG01_40",
+    type: "circle",
+    x: 310,
+    y: 124,
+    connects: ["NG01_39"],
+  }, {
+    id: "NG01_41",
+    type: "circle",
+    x: 350,
+    y: 125,
+    connects: ["NG01_40"],
+  },
+  {
+    id: "NG01_42",
+    type: "circle",
+    x: 370,
+    y: 126,
+    connects: ["NG01_41"],
+  },
+  {
+    id: "NG01_43",
+    type: "circle",
+    x: 390,
+    y: 122,
+    connects: ["NG01_42"],
+  },
+  {
+    id: "NG01_44",
+    type: "circle",
+    x: 410,
+    y: 129,
+    connects: ["NG01_43"],
+  },
+
+  //牛首山8号线路
+  {
+    id: "NG01_90",
+    type: "circle",
+    x: 150,
+    y: 141,
+    connects: ["root"],
+  },
+  {
+    id: "NG01_91",
+    type: "circle",
+    x: 190,
+    y: 148,
+    connects: ["NG01_90"],
+  },
+  {
+    id: "NG01_92",
+    type: "circle",
+    x: 230,
+    y: 149,
+    connects: ["NG01_91"],
+  },
+  {
+    id: "NG01_93",
+    type: "circle",
+    x: 270,
+    y: 143,
+    connects: ["NG01_92"],
+  },
+  {
+    id: "NG01_94",
+    type: "circle",
+    x: 310,
+    y: 145,
+    connects: ["NG01_93"],
+  },
+  {
+    id: "NG01_95",
+    type: "circle",
+    x: 360,
+    y: 147,
+    connects: ["NG01_94"],
+  },
+  {
+    id: "NG01_96",
+    type: "circle",
+    x: 410,
+    y: 148,
+    connects: ["NG01_95"],
+  },
+  {
+    id: "NG01_97",
+    type: "circle",
+    x: 420,
+    y: 142,
+    connects: ["NG01_96"],
+  },
+  {
+    id: "NG01_98",
+    type: "circle",
+    x: 430,
+    y: 141,
+    connects: ["NG01_97"],
+  },
+  {
+    id: "NG01_99",
+    type: "circle",
+    x: 440,
+    y: 149,
+    connects: ["NG01_98"],
+  },
+  //牛首山9号线路
+
+
+  {
+    id: "NG01_80",
+    type: "circle",
+    x: 120,
+    y: 161,
+    connects: ["root"],
+  },
+  {
+    id: "NG01_81",
+    type: "circle",
+    x: 160,
+    y: 162,
+    connects: ["NG01_80"],
+  },
+  {
+    id: "NG01_82",
+    type: "circle",
+    x: 190,
+    y: 163,
+    connects: ["NG01_81"],
+  },
+  {
+    id: "NG01_83",
+    type: "circle",
+    x: 220,
+    y: 161,
+    connects: ["NG01_82"],
+  },
+  {
+    id: "NG01_84",
+    type: "circle",
+    x: 230,
+    y: 160,
+    connects: ["NG01_83"],
+  },
+  {
+    id: "NG01_85",
+    type: "circle",
+    x: 270,
+    y: 161,
+    connects: ["NG01_84"],
+  },
+  {
+    id: "NG01_86",
+    type: "circle",
+    x: 300,
+    y: 166,
+    connects: ["NG01_85"],
+  },
+  {
+    id: "NG01_87",
+    type: "circle",
+    x: 340,
+    y: 162,
+    connects: ["NG01_86"],
+  },
+  {
+    id: "NG01_88",
+    type: "circle",
+    x: 365,
+    y: 160,
+    connects: ["NG01_87"],
+  },
+  {
+    id: "NG01_89",
+    type: "circle",
+    x: 390,
+    y: 166,
+    connects: ["NG01_88"],
+  },
+
+]

+ 446 - 0
src/views/WindSite/pages/Home/stationJson/PL_GDC.js

@@ -0,0 +1,446 @@
+export default [
+  {
+    id: "root",
+    name: "平罗光电场",
+    type: "img",
+    image: "stationimg",
+    x: 10,
+    y: 60,
+  },
+  //平罗1号线路
+  {
+    id: "PL01_01",
+    type: "circle",
+    x: 150,
+    y: 20,
+    connects: ["root"],
+  },
+  {
+    id: "PL01_02",
+    type: "circle",
+    x: 200,
+    y: 20,
+    connects: ["PL01_01"],
+  },
+  {
+    id: "PL01_03",
+    type: "circle",
+    x: 250,
+    y: 20,
+    connects: ["PL01_02"],
+  },
+  {
+    id: "PL01_04",
+    type: "circle",
+    x: 300,
+    y: 20,
+    connects: ["PL01_03"],
+  },
+  //平罗2号线路
+  {
+    id: "PL01_05",
+    type: "circle",
+    x: 150,
+    y: 40,
+    connects: ["root"],
+  },
+  {
+    id: "PL01_6",
+    type: "circle",
+    x: 200,
+    y: 40,
+    connects: ["PL01_05"],
+  },
+  {
+    id: "PL01_07",
+    type: "circle",
+    x: 250,
+    y: 40,
+    connects: ["PL01_6"],
+  },
+  {
+    id: "PL01_08",
+    type: "circle",
+    x: 300,
+    y: 40,
+    connects: ["PL01_07"],
+  },
+  //平罗3号线路
+  {
+    id: "PL01_09",
+    type: "circle",
+    x: 150,
+    y: 60,
+    connects: ["root"],
+  },
+  {
+    id: "PL01_10",
+    type: "circle",
+    x: 200,
+    y: 60,
+    connects: ["PL01_09"],
+  },
+  {
+    id: "PL01_11",
+    type: "circle",
+    x: 250,
+    y: 60,
+    connects: ["PL01_10"],
+  },
+  {
+    id: "PL01_12",
+    type: "circle",
+    x: 300,
+    y: 60,
+    connects: ["PL01_11"],
+  },
+  //平罗4号线路
+
+  {
+    id: "PL01_13",
+    type: "circle",
+    x: 150,
+    y: 80,
+    connects: ["root"],
+  },
+  {
+    id: "PL01_14",
+    type: "circle",
+    x: 200,
+    y: 80,
+    connects: ["PL01_13"],
+  },
+  {
+    id: "PL01_15",
+    type: "circle",
+    x: 250,
+    y: 80,
+    connects: ["PL01_14"],
+  },
+  {
+    id: "PL01_16",
+    type: "circle",
+    x: 300,
+    y: 80,
+    connects: ["PL01_15"],
+  },
+  //平罗5号线路
+  {
+    id: "PL01_17",
+    type: "circle",
+    x: 150,
+    y: 100,
+    connects: ["root"],
+  },
+  {
+    id: "PL01_18",
+    type: "circle",
+    x: 200,
+    y: 100,
+    connects: ["PL01_17"],
+  },
+  {
+    id: "PL01_19",
+    type: "circle",
+    x: 250,
+    y: 100,
+    connects: ["PL01_18"],
+  },
+  //平罗6号线路
+  {
+    id: "PL01_20",
+    type: "circle",
+    x: 120,
+    y: 120,
+    connects: ["root"],
+  },
+  {
+    id: "PL01_21",
+    type: "circle",
+    x: 135,
+    y: 120,
+    connects: ["PL01_20"],
+  },
+  {
+    id: "PL01_22",
+    type: "circle",
+    x: 150,
+    y: 120,
+    connects: ["PL01_21"],
+  },
+  {
+    id: "PL01_23",
+    type: "circle",
+    x: 165,
+    y: 120,
+    connects: ["PL01_22"],
+  },
+  {
+    id: "PL01_24",
+    type: "circle",
+    x: 180,
+    y: 120,
+    connects: ["PL01_23"],
+  },
+  {
+    id: "PL01_25",
+    type: "circle",
+    x: 195,
+    y: 120,
+    connects: ["PL01_24"],
+  },
+  {
+    id: "PL01_26",
+    type: "circle",
+    x: 210,
+    y: 120,
+    connects: ["PL01_25"],
+  },
+  {
+    id: "PL01_27",
+    type: "circle",
+    x: 225,
+    y: 120,
+    connects: ["PL01_26"],
+  },
+  {
+    id: "PL01_28",
+    type: "circle",
+    x: 240,
+    y: 120,
+    connects: ["PL01_27"],
+  },
+  {
+    id: "PL01_29",
+    type: "circle",
+    x: 255,
+    y: 120,
+    connects: ["PL01_28"],
+  },
+  {
+    id: "PL01_30",
+    type: "circle",
+    x: 270,
+    y: 120,
+    connects: ["PL01_29"],
+  },
+  {
+    id: "PL01_31",
+    type: "circle",
+    x: 285,
+    y: 120,
+    connects: ["PL01_30"],
+  },
+  {
+    id: "PL01_32",
+    type: "circle",
+    x: 300,
+    y: 120,
+    connects: ["PL01_31"],
+  },
+  {
+    id: "PL01_33",
+    type: "circle",
+    x: 315,
+    y: 120,
+    connects: ["PL01_32"],
+  },
+  {
+    id: "PL01_34",
+    type: "circle",
+    x: 330,
+    y: 120,
+    connects: ["PL01_33"],
+  },
+  {
+    id: "PL01_35",
+    type: "circle",
+    x: 345,
+    y: 120,
+    connects: ["PL01_34"],
+  },
+  {
+    id: "PL01_36",
+    type: "circle",
+    x: 360,
+    y: 120,
+    connects: ["PL01_35"],
+  },
+  {
+    id: "PL01_37",
+    type: "circle",
+    x: 375,
+    y: 120,
+    connects: ["PL01_36"],
+  },
+  {
+    id: "PL01_38",
+    type: "circle",
+    x: 390,
+    y: 120,
+    connects: ["PL01_37"],
+  },
+  {
+    id: "PL01_39",
+    type: "circle",
+    x: 405,
+    y: 120,
+    connects: ["PL01_38"],
+  },
+  //平罗7号线路
+  {
+    id: "PL01_40",
+    type: "circle",
+    x: 105,
+    y: 140,
+    connects: ["root"],
+  },
+  {
+    id: "PL01_41",
+    type: "circle",
+    x: 120,
+    y: 140,
+    connects: ["PL01_40"],
+  },
+  {
+    id: "PL01_42",
+    type: "circle",
+    x: 135,
+    y: 140,
+    connects: ["PL01_41"],
+  },
+  {
+    id: "PL01_43",
+    type: "circle",
+    x: 150,
+    y: 140,
+    connects: ["PL01_42"],
+  },
+  {
+    id: "PL01_44",
+    type: "circle",
+    x: 165,
+    y: 140,
+    connects: ["PL01_43"],
+  },
+  {
+    id: "PL01_45",
+    type: "circle",
+    x: 180,
+    y: 140,
+    connects: ["PL01_44"],
+  },
+  {
+    id: "PL01_46",
+    type: "circle",
+    x: 195,
+    y: 140,
+    connects: ["PL01_45"],
+  },
+  {
+    id: "PL01_47",
+    type: "circle",
+    x: 210,
+    y: 140,
+    connects: ["PL01_46"],
+  },
+  {
+    id: "PL01_48",
+    type: "circle",
+    x: 225,
+    y: 140,
+    connects: ["PL01_47"],
+  },
+  {
+    id: "PL01_49",
+    type: "circle",
+    x: 240,
+    y: 140,
+    connects: ["PL01_48"],
+  },
+  {
+    id: "PL01_50",
+    type: "circle",
+    x: 255,
+    y: 140,
+    connects: ["PL01_49"],
+  },
+  {
+    id: "PL01_51",
+    type: "circle",
+    x: 270,
+    y: 140,
+    connects: ["PL01_50"],
+  },
+  {
+    id: "PL01_52",
+    type: "circle",
+    x: 285,
+    y: 140,
+    connects: ["PL01_51"],
+  },
+  {
+    id: "PL01_53",
+    type: "circle",
+    x: 300,
+    y: 140,
+    connects: ["PL01_52"],
+  },
+  {
+    id: "PL01_54",
+    type: "circle",
+    x: 315,
+    y: 140,
+    connects: ["PL01_53"],
+  },
+  {
+    id: "PL01_55",
+    type: "circle",
+    x: 330,
+    y: 140,
+    connects: ["PL01_54"],
+  },
+  {
+    id: "PL01_56",
+    type: "circle",
+    x: 345,
+    y: 140,
+    connects: ["PL01_55"],
+  },
+  {
+    id: "PL01_57",
+    type: "circle",
+    x: 360,
+    y: 140,
+    connects: ["PL01_56"],
+  },
+  {
+    id: "PL01_58",
+    type: "circle",
+    x: 375,
+    y: 140,
+    connects: ["PL01_57"],
+  },
+  {
+    id: "PL01_59",
+    type: "circle",
+    x: 390,
+    y: 140,
+    connects: ["PL01_58"],
+  },
+  {
+    id: "PL01_60",
+    type: "circle",
+    x: 405,
+    y: 140,
+    connects: ["PL01_59"],
+  },
+  {
+    id: "PL01_61",
+    type: "circle",
+    x: 420,
+    y: 140,
+    connects: ["PL01_60"],
+  },
+
+]

+ 649 - 0
src/views/WindSite/pages/Home/stationJson/QS_FDC.js

@@ -0,0 +1,649 @@
+export default [
+  {
+    id: "root",
+    name: "青山风电场",
+    type: "img",
+    image: "stationimg",
+    x: 10,
+    y: 14,
+  },
+  //青山1号线路
+  {
+    id: "QG01_01",
+    type: "circle",
+    x: 120,
+    y: 10,
+    connects: ["root"],
+  },
+  {
+    id: "QG01_02",
+    type: "circle",
+    x: 150,
+    y: 12,
+    connects: ["QG01_01"],
+  },
+  {
+    id: "QG01_03",
+    type: "circle",
+    x: 170,
+    y: 14,
+    connects: ["QG01_02"],
+  },
+  {
+    id: "QG01_04",
+    type: "circle",
+    x: 200,
+    y: 15,
+    connects: ["QG01_03"],
+  },
+  {
+    id: "QG01_05",
+    type: "circle",
+    x: 240,
+    y: 18,
+    connects: ["QG01_04"],
+  },
+  {
+    id: "QG01_06",
+    type: "circle",
+    x: 260,
+    y: 19,
+    connects: ["QG01_05"],
+  },
+  {
+    id: "QG01_07",
+    type: "circle",
+    x: 270,
+    y: 15,
+    connects: ["QG01_06"],
+  },
+  {
+    id: "QG01_08",
+    type: "circle",
+    x: 280,
+    y: 5,
+    connects: ["QG01_07"],
+  },
+  {
+    id: "QG01_09",
+    type: "circle",
+    x: 310,
+    y: 15,
+    connects: ["QG01_08"],
+  },
+  {
+    id: "QG01_10",
+    type: "circle",
+    x: 330,
+    y: 11,
+    connects: ["QG01_09"],
+  },
+  {
+    id: "QG01_11",
+    type: "circle",
+    x: 350,
+    y: 15,
+    connects: ["QG01_10"],
+  },
+
+  //青山2号线路
+  {
+    id: "QG01_12",
+    type: "circle",
+    x: 150,
+    y: 31,
+    connects: ["root"],
+  },
+  {
+    id: "QG01_13",
+    type: "circle",
+    x: 180,
+    y: 33,
+    connects: ["QG01_12"],
+  },
+  {
+    id: "QG01_14",
+    type: "circle",
+    x: 220,
+    y: 34,
+    connects: ["QG01_13"],
+  },
+  {
+    id: "QG01_15",
+    type: "circle",
+    x: 240,
+    y: 37,
+    connects: ["QG01_14"],
+  },
+  {
+    id: "QG01_16",
+    type: "circle",
+    x: 280,
+    y: 38,
+    connects: ["QG01_15"],
+  },
+  {
+    id: "QG01_17",
+    type: "circle",
+    x: 310,
+    y: 39,
+    connects: ["QG01_16"],
+  },
+  {
+    id: "QG01_18",
+    type: "circle",
+    x: 330,
+    y: 30,
+    connects: ["QG01_17"],
+  },
+  {
+    id: "QG01_19",
+    type: "circle",
+    x: 370,
+    y: 36,
+    connects: ["QG01_18"],
+  },
+  {
+    id: "QG01_20",
+    type: "circle",
+    x: 390,
+    y: 37,
+    connects: ["QG01_19"],
+  },
+  {
+    id: "QG01_21",
+    type: "circle",
+    x: 400,
+    y: 39,
+    connects: ["QG01_20"],
+  },
+  {
+    id: "QG01_22",
+    type: "circle",
+    x: 430,
+    y: 32,
+    connects: ["QG01_21"],
+  }, {
+    id: "QG01_23",
+    type: "circle",
+    x: 450,
+    y: 34,
+    connects: ["QG01_22"],
+  },
+
+  //青山3号线路
+  {
+    id: "QG01_45",
+    type: "circle",
+    x: 100,
+    y: 40,
+    connects: ["root"],
+  },
+  {
+    id: "QG01_46",
+    type: "circle",
+    x: 130,
+    y: 52,
+    connects: ["QG01_45"],
+  },
+  {
+    id: "QG01_47",
+    type: "circle",
+    x: 150,
+    y: 59,
+    connects: ["QG01_46"],
+  },
+  {
+    id: "QG01_48",
+    type: "circle",
+    x: 160,
+    y: 53,
+    connects: ["QG01_47"],
+  },
+  {
+    id: "QG01_49",
+    type: "circle",
+    x: 240,
+    y: 57,
+    connects: ["QG01_48"],
+  },
+  {
+    id: "QG01_50",
+    type: "circle",
+    x: 260,
+    y: 53,
+    connects: ["QG01_49"],
+  },
+  {
+    id: "QG01_51",
+    type: "circle",
+    x: 270,
+    y: 56,
+    connects: ["QG01_50"],
+  },
+  {
+    id: "QG01_52",
+    type: "circle",
+    x: 280,
+    y: 55,
+    connects: ["QG01_51"],
+  },
+  {
+    id: "QG01_53",
+    type: "circle",
+    x: 310,
+    y: 58,
+    connects: ["QG01_52"],
+  },
+  {
+    id: "QG01_54",
+    type: "circle",
+    x: 330,
+    y: 51,
+    connects: ["QG01_53"],
+  },
+  {
+    id: "QG01_55",
+    type: "circle",
+    x: 350,
+    y: 52,
+    connects: ["QG01_54"],
+  },
+
+
+
+  //青山4号线路
+  {
+    id: "QG01_57",
+    type: "circle",
+    x: 130,
+    y: 70,
+    connects: ["root"],
+  },
+  {
+    id: "QG01_58",
+    type: "circle",
+    x: 220,
+    y: 79,
+    connects: ["QG01_57"],
+  },
+  {
+    id: "QG01_59",
+    type: "circle",
+    x: 240,
+    y: 75,
+    connects: ["QG01_58"],
+  },
+  {
+    id: "QG01_60",
+    type: "circle",
+    x: 280,
+    y: 70,
+    connects: ["QG01_59"],
+  },
+  {
+    id: "QG01_61",
+    type: "circle",
+    x: 310,
+    y: 71,
+    connects: ["QG01_60"],
+  },
+  {
+    id: "QG01_62",
+    type: "circle",
+    x: 310,
+    y: 73,
+    connects: ["QG01_61"],
+  },
+  {
+    id: "QG01_63",
+    type: "circle",
+    x: 370,
+    y: 78,
+    connects: ["QG01_62"],
+  },
+  {
+    id: "QG01_64",
+    type: "circle",
+    x: 330,
+    y: 77,
+    connects: ["QG01_63"],
+  },
+  {
+    id: "QG01_65",
+    type: "circle",
+    x: 370,
+    y: 76,
+    connects: ["QG01_64"],
+  },
+  {
+    id: "QG01_66",
+    type: "circle",
+    x: 390,
+    y: 75,
+    connects: ["QG01_65"],
+  },
+  {
+    id: "QG01_67",
+    type: "circle",
+    x: 400,
+    y: 72,
+    connects: ["QG01_66"],
+  },
+  {
+    id: "QG01_79",
+    type: "circle",
+    x: 420,
+    y: 79,
+    connects: ["QG01_67"],
+  },
+
+  //青山5号线路
+  {
+    id: "QG01_56",
+    type: "circle",
+    x: 150,
+    y: 85,
+    connects: ["root"],
+  },
+  {
+    id: "QG01_68",
+    type: "circle",
+    x: 220,
+    y: 91,
+    connects: ["QG01_56"],
+  },
+  {
+    id: "QG01_69",
+    type: "circle",
+    x: 290,
+    y: 92,
+    connects: ["QG01_68"],
+  },
+  {
+    id: "QG01_70",
+    type: "circle",
+    x: 330,
+    y: 89,
+    connects: ["QG01_69"],
+  },
+  {
+    id: "QG01_71",
+    type: "circle",
+    x: 350,
+    y: 91,
+    connects: ["QG01_70"],
+  }, {
+    id: "QG01_72",
+    type: "circle",
+    x: 370,
+    y: 98,
+    connects: ["QG01_71"],
+  }, {
+    id: "QG01_73",
+    type: "circle",
+    x: 390,
+    y: 93,
+    connects: ["QG01_72"],
+  }, {
+    id: "QG01_74",
+    type: "circle",
+    x: 410,
+    y: 93,
+    connects: ["QG01_72"],
+  }, {
+    id: "QG01_75",
+    type: "circle",
+    x: 430,
+    y: 90,
+    connects: ["QG01_74"],
+  }, {
+    id: "QG01_76",
+    type: "circle",
+    x: 450,
+    y: 92,
+    connects: ["QG01_75"],
+  }, {
+    id: "QG01_77",
+    type: "circle",
+    x: 460,
+    y: 89,
+    connects: ["QG01_76"],
+  }, {
+    id: "QG01_78",
+    type: "circle",
+    x: 470,
+    y: 95,
+    connects: ["QG01_77"],
+  },
+  //青山6号线路
+  {
+    id: "QG01_24",
+    type: "circle",
+    x: 120,
+    y: 104,
+    connects: ["root"],
+  },
+  {
+    id: "QG01_25",
+    type: "circle",
+    x: 140,
+    y: 108,
+    connects: ["QG01_24"],
+  },
+  {
+    id: "QG01_26",
+    type: "circle",
+    x: 200,
+    y: 109,
+    connects: ["QG01_25"],
+  },
+  {
+    id: "QG01_27",
+    type: "circle",
+    x: 250,
+    y: 102,
+    connects: ["QG01_26"],
+  }, {
+    id: "QG01_28",
+    type: "circle",
+    x: 270,
+    y: 106,
+    connects: ["QG01_27"],
+  }, {
+    id: "QG01_29",
+    type: "circle",
+    x: 290,
+    y: 106,
+    connects: ["QG01_28"],
+  }, {
+    id: "QG01_30",
+    type: "circle",
+    x: 310,
+    y: 101,
+    connects: ["QG01_29"],
+  }, {
+    id: "QG01_31",
+    type: "circle",
+    x: 370,
+    y: 102,
+    connects: ["QG01_30"],
+  }, {
+    id: "QG01_32",
+    type: "circle",
+    x: 400,
+    y: 100,
+    connects: ["QG01_31"],
+  }, {
+    id: "QG01_33",
+    type: "circle",
+    x: 440,
+    y: 107,
+    connects: ["QG01_32"],
+  },
+
+  //青山7号线路
+  {
+    id: "QG01_34",
+    type: "circle",
+    x: 150,
+    y: 122,
+    connects: ["root"],
+  },
+  {
+    id: "QG01_35",
+    type: "circle",
+    x: 180,
+    y: 122,
+    connects: ["QG01_34"],
+  },
+  {
+    id: "QG01_36",
+    type: "circle",
+    x: 200,
+    y: 128,
+    connects: ["QG01_35"],
+  },
+  {
+    id: "QG01_37",
+    type: "circle",
+    x: 220,
+    y: 129,
+    connects: ["QG01_36"],
+  },
+  {
+    id: "QG01_38",
+    type: "circle",
+    x: 240,
+    y: 127,
+    connects: ["QG01_37"],
+  },
+  {
+    id: "QG01_39",
+    type: "circle",
+    x: 260,
+    y: 123,
+    connects: ["QG01_38"],
+  },
+  {
+    id: "QG01_40",
+    type: "circle",
+    x: 310,
+    y: 124,
+    connects: ["QG01_39"],
+  }, {
+    id: "QG01_41",
+    type: "circle",
+    x: 350,
+    y: 125,
+    connects: ["QG01_40"],
+  },
+  {
+    id: "QG01_42",
+    type: "circle",
+    x: 370,
+    y: 126,
+    connects: ["QG01_41"],
+  },
+  {
+    id: "QG01_43",
+    type: "circle",
+    x: 390,
+    y: 122,
+    connects: ["QG01_42"],
+  },
+  {
+    id: "QG01_44",
+    type: "circle",
+    x: 410,
+    y: 129,
+    connects: ["QG01_43"],
+  },
+  //青山8号线路
+
+
+  {
+    id: "QG01_80",
+    type: "circle",
+    x: 120,
+    y: 161,
+    connects: ["root"],
+  },
+  {
+    id: "QG01_81",
+    type: "circle",
+    x: 160,
+    y: 162,
+    connects: ["QG01_80"],
+  },
+  {
+    id: "QG01_82",
+    type: "circle",
+    x: 190,
+    y: 163,
+    connects: ["QG01_81"],
+  },
+  {
+    id: "QG01_83",
+    type: "circle",
+    x: 220,
+    y: 161,
+    connects: ["QG01_82"],
+  },
+  {
+    id: "QG01_84",
+    type: "circle",
+    x: 230,
+    y: 160,
+    connects: ["QG01_83"],
+  },
+  {
+    id: "QG01_85",
+    type: "circle",
+    x: 270,
+    y: 161,
+    connects: ["QG01_84"],
+  },
+  {
+    id: "QG01_86",
+    type: "circle",
+    x: 300,
+    y: 166,
+    connects: ["QG01_85"],
+  },
+  {
+    id: "QG01_87",
+    type: "circle",
+    x: 340,
+    y: 162,
+    connects: ["QG01_86"],
+  },
+  {
+    id: "QG01_88",
+    type: "circle",
+    x: 365,
+    y: 160,
+    connects: ["QG01_87"],
+  },
+  {
+    id: "QG01_89",
+    type: "circle",
+    x: 390,
+    y: 166,
+    connects: ["QG01_88"],
+  },
+  {
+    id: "QG01_90",
+    type: "circle",
+    x: 400,
+    y: 161,
+    connects: ["QG01_89"],
+  },
+  {
+    id: "QG01_91",
+    type: "circle",
+    x: 420,
+    y: 165,
+    connects: ["QG01_90"],
+  },
+]

+ 829 - 0
src/views/WindSite/pages/Home/stationJson/SBQ_FDC.js

@@ -0,0 +1,829 @@
+export default [
+  {
+    id: "root",
+    name: "石板泉风电场",
+    type: "img",
+    image: "stationimg",
+    x: 10,
+    y: 14,
+  },
+  //石板泉1号线路
+  {
+    id: "SG01_01",
+    type: "circle",
+    x: 100,
+    y: 10,
+    connects: ["root"],
+  },
+  {
+    id: "SG01_02",
+    type: "circle",
+    x: 150,
+    y: 2,
+    connects: ["SG01_01"],
+  },
+  {
+    id: "SG01_03",
+    type: "circle",
+    x: 170,
+    y: 4,
+    connects: ["SG01_02"],
+  },
+  {
+    id: "SG01_04",
+    type: "circle",
+    x: 200,
+    y: 5,
+    connects: ["SG01_03"],
+  },
+  {
+    id: "SG01_05",
+    type: "circle",
+    x: 240,
+    y: 8,
+    connects: ["SG01_04"],
+  },
+  {
+    id: "SG01_06",
+    type: "circle",
+    x: 260,
+    y: 9,
+    connects: ["SG01_05"],
+  },
+  {
+    id: "SG01_07",
+    type: "circle",
+    x: 300,
+    y: 5,
+    connects: ["SG01_06"],
+  },
+  {
+    id: "SG01_08",
+    type: "circle",
+    x: 320,
+    y: 5,
+    connects: ["SG01_07"],
+  },
+  {
+    id: "SG01_09",
+    type: "circle",
+    x: 370,
+    y: 5,
+    connects: ["SG01_08"],
+  },
+  {
+    id: "SG01_10",
+    type: "circle",
+    x: 400,
+    y: 1,
+    connects: ["SG01_09"],
+  },
+  {
+    id: "SG01_11",
+    type: "circle",
+    x: 440,
+    y: 5,
+    connects: ["SG01_10"],
+  },
+  //石板泉2号线路
+  {
+    id: "SG01_12",
+    type: "circle",
+    x: 120,
+    y: 10,
+    connects: ["root"],
+  },
+  {
+    id: "SG01_13",
+    type: "circle",
+    x: 150,
+    y: 12,
+    connects: ["SG01_12"],
+  },
+  {
+    id: "SG01_14",
+    type: "circle",
+    x: 170,
+    y: 14,
+    connects: ["SG01_13"],
+  },
+  {
+    id: "SG01_15",
+    type: "circle",
+    x: 200,
+    y: 15,
+    connects: ["SG01_14"],
+  },
+  {
+    id: "SG01_16",
+    type: "circle",
+    x: 240,
+    y: 18,
+    connects: ["SG01_15"],
+  },
+  {
+    id: "SG01_17",
+    type: "circle",
+    x: 260,
+    y: 19,
+    connects: ["SG01_16"],
+  },
+  {
+    id: "SG01_18",
+    type: "circle",
+    x: 270,
+    y: 15,
+    connects: ["SG01_17"],
+  },
+  {
+    id: "SG01_19",
+    type: "circle",
+    x: 280,
+    y: 5,
+    connects: ["SG01_18"],
+  },
+  {
+    id: "SG01_20",
+    type: "circle",
+    x: 310,
+    y: 15,
+    connects: ["SG01_19"],
+  },
+  {
+    id: "SG01_21",
+    type: "circle",
+    x: 330,
+    y: 11,
+    connects: ["SG01_20"],
+  },
+  {
+    id: "SG01_22",
+    type: "circle",
+    x: 350,
+    y: 15,
+    connects: ["SG01_21"],
+  },
+  //石板泉3号线路
+  {
+    id: "SG01_23",
+    type: "circle",
+    x: 120,
+    y: 30,
+    connects: ["root"],
+  },
+  {
+    id: "SG01_24",
+    type: "circle",
+    x: 150,
+    y: 32,
+    connects: ["SG01_23"],
+  },
+  {
+    id: "SG01_25",
+    type: "circle",
+    x: 170,
+    y: 34,
+    connects: ["SG01_24"],
+  },
+  {
+    id: "SG01_26",
+    type: "circle",
+    x: 200,
+    y: 35,
+    connects: ["SG01_25"],
+  },
+  {
+    id: "SG01_27",
+    type: "circle",
+    x: 240,
+    y: 38,
+    connects: ["SG01_26"],
+  },
+  {
+    id: "SG01_28",
+    type: "circle",
+    x: 260,
+    y: 39,
+    connects: ["SG01_27"],
+  },
+  {
+    id: "SG01_29",
+    type: "circle",
+    x: 270,
+    y: 35,
+    connects: ["SG01_28"],
+  },
+  {
+    id: "SG01_30",
+    type: "circle",
+    x: 280,
+    y: 35,
+    connects: ["SG01_29"],
+  },
+  {
+    id: "SG01_31",
+    type: "circle",
+    x: 310,
+    y: 35,
+    connects: ["SG01_30"],
+  },
+  {
+    id: "SG01_32",
+    type: "circle",
+    x: 330,
+    y: 31,
+    connects: ["SG01_31"],
+  },
+  {
+    id: "SG01_33",
+    type: "circle",
+    x: 350,
+    y: 35,
+    connects: ["SG01_32"],
+  },
+  //石板泉4号线路
+  {
+    id: "SG01_34",
+    type: "circle",
+    x: 150,
+    y: 41,
+    connects: ["root"],
+  },
+  {
+    id: "SG01_35",
+    type: "circle",
+    x: 180,
+    y: 43,
+    connects: ["SG01_34"],
+  },
+  {
+    id: "SG01_36",
+    type: "circle",
+    x: 220,
+    y: 44,
+    connects: ["SG01_35"],
+  },
+  {
+    id: "SG01_37",
+    type: "circle",
+    x: 240,
+    y: 47,
+    connects: ["SG01_36"],
+  },
+  {
+    id: "SG01_38",
+    type: "circle",
+    x: 280,
+    y: 48,
+    connects: ["SG01_37"],
+  },
+  {
+    id: "SG01_39",
+    type: "circle",
+    x: 310,
+    y: 49,
+    connects: ["SG01_38"],
+  },
+  {
+    id: "SG01_40",
+    type: "circle",
+    x: 330,
+    y: 40,
+    connects: ["SG01_39"],
+  },
+  {
+    id: "SG01_41",
+    type: "circle",
+    x: 370,
+    y: 46,
+    connects: ["SG01_40"],
+  },
+  {
+    id: "SG01_42",
+    type: "circle",
+    x: 390,
+    y: 47,
+    connects: ["SG01_41"],
+  },
+  {
+    id: "SG01_43",
+    type: "circle",
+    x: 400,
+    y: 49,
+    connects: ["SG01_42"],
+  },
+  {
+    id: "SG01_44",
+    type: "circle",
+    x: 430,
+    y: 42,
+    connects: ["SG01_43"],
+  },
+
+  //石板泉5号线路
+  {
+    id: "SG01_45",
+    type: "circle",
+    x: 100,
+    y: 50,
+    connects: ["root"],
+  },
+  {
+    id: "SG01_46",
+    type: "circle",
+    x: 130,
+    y: 52,
+    connects: ["SG01_45"],
+  },
+  {
+    id: "SG01_47",
+    type: "circle",
+    x: 150,
+    y: 59,
+    connects: ["SG01_46"],
+  },
+  {
+    id: "SG01_48",
+    type: "circle",
+    x: 160,
+    y: 53,
+    connects: ["SG01_47"],
+  },
+  {
+    id: "SG01_49",
+    type: "circle",
+    x: 240,
+    y: 57,
+    connects: ["SG01_48"],
+  },
+  {
+    id: "SG01_50",
+    type: "circle",
+    x: 260,
+    y: 53,
+    connects: ["SG01_49"],
+  },
+  {
+    id: "SG01_51",
+    type: "circle",
+    x: 270,
+    y: 56,
+    connects: ["SG01_50"],
+  },
+  {
+    id: "SG01_52",
+    type: "circle",
+    x: 280,
+    y: 55,
+    connects: ["SG01_51"],
+  },
+  {
+    id: "SG01_53",
+    type: "circle",
+    x: 310,
+    y: 58,
+    connects: ["SG01_52"],
+  },
+  {
+    id: "SG01_54",
+    type: "circle",
+    x: 330,
+    y: 51,
+    connects: ["SG01_53"],
+  },
+  {
+    id: "SG01_55",
+    type: "circle",
+    x: 350,
+    y: 52,
+    connects: ["SG01_54"],
+  },
+
+
+
+  //石板泉6号线路
+  {
+    id: "SG01_56",
+    type: "circle",
+    x: 130,
+    y: 70,
+    connects: ["root"],
+  },
+  {
+    id: "SG01_57",
+    type: "circle",
+    x: 130,
+    y: 70,
+    connects: ["SG01_56"],
+  },
+  {
+    id: "SG01_58",
+    type: "circle",
+    x: 220,
+    y: 79,
+    connects: ["SG01_57"],
+  },
+  {
+    id: "SG01_59",
+    type: "circle",
+    x: 240,
+    y: 75,
+    connects: ["SG01_58"],
+  },
+  {
+    id: "SG01_60",
+    type: "circle",
+    x: 280,
+    y: 70,
+    connects: ["SG01_59"],
+  },
+  {
+    id: "SG01_61",
+    type: "circle",
+    x: 310,
+    y: 71,
+    connects: ["SG01_60"],
+  },
+  {
+    id: "SG01_62",
+    type: "circle",
+    x: 310,
+    y: 73,
+    connects: ["SG01_61"],
+  },
+  {
+    id: "SG01_63",
+    type: "circle",
+    x: 370,
+    y: 78,
+    connects: ["SG01_62"],
+  },
+  {
+    id: "SG01_64",
+    type: "circle",
+    x: 330,
+    y: 77,
+    connects: ["SG01_63"],
+  },
+  {
+    id: "SG01_65",
+    type: "circle",
+    x: 370,
+    y: 76,
+    connects: ["SG01_64"],
+  },
+  {
+    id: "SG01_66",
+    type: "circle",
+    x: 390,
+    y: 75,
+    connects: ["SG01_65"],
+  },
+
+
+  //石板泉7号线路
+  {
+    id: "SG01_67",
+    type: "circle",
+    x: 150,
+    y: 85,
+    connects: ["root"],
+  },
+  {
+    id: "SG01_68",
+    type: "circle",
+    x: 220,
+    y: 91,
+    connects: ["SG01_67"],
+  },
+  {
+    id: "SG01_69",
+    type: "circle",
+    x: 290,
+    y: 92,
+    connects: ["SG01_68"],
+  },
+  {
+    id: "SG01_70",
+    type: "circle",
+    x: 330,
+    y: 89,
+    connects: ["SG01_69"],
+  },
+  {
+    id: "SG01_71",
+    type: "circle",
+    x: 350,
+    y: 91,
+    connects: ["SG01_70"],
+  }, {
+    id: "SG01_72",
+    type: "circle",
+    x: 370,
+    y: 98,
+    connects: ["SG01_71"],
+  }, {
+    id: "SG01_73",
+    type: "circle",
+    x: 390,
+    y: 93,
+    connects: ["SG01_72"],
+  }, {
+    id: "SG01_74",
+    type: "circle",
+    x: 410,
+    y: 93,
+    connects: ["SG01_72"],
+  }, {
+    id: "SG01_75",
+    type: "circle",
+    x: 430,
+    y: 90,
+    connects: ["SG01_74"],
+  }, {
+    id: "SG01_76",
+    type: "circle",
+    x: 450,
+    y: 92,
+    connects: ["SG01_75"],
+  }, {
+    id: "SG01_77",
+    type: "circle",
+    x: 460,
+    y: 89,
+    connects: ["SG01_76"],
+  }, {
+    id: "SG01_78",
+    type: "circle",
+    x: 470,
+    y: 95,
+    connects: ["SG01_77"],
+  },
+  //石板泉8号线路
+  {
+    id: "SG01_79",
+    type: "circle",
+    x: 120,
+    y: 104,
+    connects: ["root"],
+  },
+  {
+    id: "SG01_80",
+    type: "circle",
+    x: 140,
+    y: 108,
+    connects: ["SG01_79"],
+  },
+  {
+    id: "SG01_81",
+    type: "circle",
+    x: 200,
+    y: 109,
+    connects: ["SG01_80"],
+  },
+  {
+    id: "SG01_82",
+    type: "circle",
+    x: 250,
+    y: 102,
+    connects: ["SG01_81"],
+  }, {
+    id: "SG01_83",
+    type: "circle",
+    x: 270,
+    y: 106,
+    connects: ["SG01_82"],
+  }, {
+    id: "SG01_84",
+    type: "circle",
+    x: 290,
+    y: 106,
+    connects: ["SG01_83"],
+  }, {
+    id: "SG01_85",
+    type: "circle",
+    x: 310,
+    y: 101,
+    connects: ["SG01_84"],
+  }, {
+    id: "SG01_86",
+    type: "circle",
+    x: 370,
+    y: 102,
+    connects: ["SG01_85"],
+  }, {
+    id: "SG01_87",
+    type: "circle",
+    x: 400,
+    y: 100,
+    connects: ["SG01_86"],
+  }, {
+    id: "SG01_88",
+    type: "circle",
+    x: 440,
+    y: 107,
+    connects: ["SG01_87"],
+  }, {
+    id: "SG01_89",
+    type: "circle",
+    x: 440,
+    y: 107,
+    connects: ["SG01_88"],
+  }, {
+    id: "SG01_90",
+    type: "circle",
+    x: 440,
+    y: 107,
+    connects: ["SG01_89"],
+  }, {
+    id: "SG01_91",
+    type: "circle",
+    x: 440,
+    y: 107,
+    connects: ["SG01_90"],
+  },
+  //石板泉9号线路
+  {
+    id: "SG01_92",
+    type: "circle",
+    x: 150,
+    y: 122,
+    connects: ["root"],
+  },
+  {
+    id: "SG01_93",
+    type: "circle",
+    x: 180,
+    y: 122,
+    connects: ["SG01_92"],
+  },
+  {
+    id: "SG01_94",
+    type: "circle",
+    x: 200,
+    y: 128,
+    connects: ["SG01_93"],
+  },
+  {
+    id: "SG01_95",
+    type: "circle",
+    x: 220,
+    y: 129,
+    connects: ["SG01_94"],
+  },
+  {
+    id: "SG01_96",
+    type: "circle",
+    x: 240,
+    y: 127,
+    connects: ["SG01_95"],
+  },
+  {
+    id: "SG01_97",
+    type: "circle",
+    x: 260,
+    y: 123,
+    connects: ["SG01_96"],
+  },
+  {
+    id: "SG01_98",
+    type: "circle",
+    x: 310,
+    y: 124,
+    connects: ["SG01_97"],
+  }, {
+    id: "SG01_99",
+    type: "circle",
+    x: 350,
+    y: 125,
+    connects: ["SG01_98"],
+  },
+  {
+    id: "SG01_100",
+    type: "circle",
+    x: 370,
+    y: 126,
+    connects: ["SG01_99"],
+  },
+
+
+  //石板泉10号线路
+  {
+    id: "SG01_101",
+    type: "circle",
+    x: 150,
+    y: 141,
+    connects: ["root"],
+  },
+  {
+    id: "SG01_102",
+    type: "circle",
+    x: 190,
+    y: 148,
+    connects: ["SG01_101"],
+  },
+  {
+    id: "SG01_103",
+    type: "circle",
+    x: 230,
+    y: 149,
+    connects: ["SG01_102"],
+  },
+  {
+    id: "SG01_104",
+    type: "circle",
+    x: 270,
+    y: 143,
+    connects: ["SG01_103"],
+  },
+  {
+    id: "SG01_105",
+    type: "circle",
+    x: 310,
+    y: 145,
+    connects: ["SG01_104"],
+  },
+  {
+    id: "SG01_106",
+    type: "circle",
+    x: 360,
+    y: 147,
+    connects: ["SG01_105"],
+  },
+  {
+    id: "SG01_107",
+    type: "circle",
+    x: 410,
+    y: 148,
+    connects: ["SG01_106"],
+  },
+  {
+    id: "SG01_108",
+    type: "circle",
+    x: 420,
+    y: 142,
+    connects: ["SG01_107"],
+  },
+
+  //石板泉11号线路
+
+
+  {
+    id: "SG01_109",
+    type: "circle",
+    x: 120,
+    y: 161,
+    connects: ["root"],
+  },
+  {
+    id: "SG01_110",
+    type: "circle",
+    x: 160,
+    y: 162,
+    connects: ["SG01_109"],
+  },
+  {
+    id: "SG01_111",
+    type: "circle",
+    x: 190,
+    y: 163,
+    connects: ["SG01_110"],
+  },
+  {
+    id: "SG01_112",
+    type: "circle",
+    x: 220,
+    y: 161,
+    connects: ["SG01_111"],
+  },
+  {
+    id: "SG01_113",
+    type: "circle",
+    x: 230,
+    y: 160,
+    connects: ["SG01_112"],
+  },
+  {
+    id: "SG01_114",
+    type: "circle",
+    x: 270,
+    y: 161,
+    connects: ["SG01_113"],
+  },
+  {
+    id: "SG01_115",
+    type: "circle",
+    x: 300,
+    y: 166,
+    connects: ["SG01_114"],
+  },
+  {
+    id: "SG01_116",
+    type: "circle",
+    x: 340,
+    y: 162,
+    connects: ["SG01_115"],
+  },
+
+
+]

+ 309 - 0
src/views/WindSite/pages/Home/stationJson/XH_GDC.js

@@ -0,0 +1,309 @@
+export default [
+  {
+    id: "root",
+    name: "宣和光电场",
+    type: "img",
+    image: "stationimg",
+    x: 10,
+    y: 60,
+  },
+  //宣和1号线路
+  {
+    id: "XH01_01",
+    type: "circle",
+    x: 120,
+    y: 60,
+    connects: ["root"],
+  },
+  {
+    id: "XH01_02",
+    type: "circle",
+    x: 140,
+    y: 60,
+    connects: ["XH01_01"],
+  },
+  {
+    id: "XH01_03",
+    type: "circle",
+    x: 160,
+    y: 60,
+    connects: ["XH01_02"],
+  },
+  {
+    id: "XH01_04",
+    type: "circle",
+    x: 180,
+    y: 60,
+    connects: ["XH01_03"],
+  },
+  {
+    id: "XH01_05",
+    type: "circle",
+    x: 200,
+    y: 60,
+    connects: ["XH01_04"],
+  },
+  {
+    id: "XH01_6",
+    type: "circle",
+    x: 220,
+    y: 60,
+    connects: ["XH01_05"],
+  },
+  {
+    id: "XH01_07",
+    type: "circle",
+    x: 240,
+    y: 60,
+    connects: ["XH01_6"],
+  },
+  {
+    id: "XH01_08",
+    type: "circle",
+    x: 260,
+    y: 60,
+    connects: ["XH01_07"],
+  },
+  {
+    id: "XH01_09",
+    type: "circle",
+    x: 280,
+    y: 60,
+    connects: ["XH01_08"],
+  },
+  {
+    id: "XH01_10",
+    type: "circle",
+    x: 300,
+    y: 60,
+    connects: ["XH01_09"],
+  },
+  {
+    id: "XH01_11",
+    type: "circle",
+    x: 320,
+    y: 60,
+    connects: ["XH01_10"],
+  },
+  {
+    id: "XH01_12",
+    type: "circle",
+    x: 340,
+    y: 60,
+    connects: ["XH01_11"],
+  },
+  //宣和2号线路
+
+  {
+    id: "XH01_13",
+    type: "circle",
+    x: 120,
+    y: 90,
+    connects: ["root"],
+  },
+  {
+    id: "XH01_14",
+    type: "circle",
+    x: 150,
+    y: 90,
+    connects: ["XH01_13"],
+  },
+  {
+    id: "XH01_15",
+    type: "circle",
+    x: 180,
+    y: 90,
+    connects: ["XH01_14"],
+  },
+  {
+    id: "XH01_16",
+    type: "circle",
+    x: 210,
+    y: 90,
+    connects: ["XH01_15"],
+  },
+  {
+    id: "XH01_17",
+    type: "circle",
+    x: 240,
+    y: 90,
+    connects: ["XH01_16"],
+  },
+  {
+    id: "XH01_18",
+    type: "circle",
+    x: 270,
+    y: 90,
+    connects: ["XH01_17"],
+  },
+  {
+    id: "XH01_19",
+    type: "circle",
+    x: 300,
+    y: 90,
+    connects: ["XH01_18"],
+  },
+  {
+    id: "XH01_20",
+    type: "circle",
+    x: 330,
+    y: 90,
+    connects: ["XH01_19"],
+  },
+  {
+    id: "XH01_21",
+    type: "circle",
+    x: 360,
+    y: 90,
+    connects: ["XH01_20"],
+  },
+  {
+    id: "XH01_22",
+    type: "circle",
+    x: 390,
+    y: 90,
+    connects: ["XH01_21"],
+  },
+  //宣和3号线路
+  {
+    id: "XH01_23",
+    type: "circle",
+    x: 120,
+    y: 120,
+    connects: ["root"],
+  },
+  {
+    id: "XH01_24",
+    type: "circle",
+    x: 150,
+    y: 120,
+    connects: ["XH01_23"],
+  },
+  {
+    id: "XH01_25",
+    type: "circle",
+    x: 180,
+    y: 120,
+    connects: ["XH01_24"],
+  },
+  {
+    id: "XH01_26",
+    type: "circle",
+    x: 210,
+    y: 120,
+    connects: ["XH01_25"],
+  },
+  {
+    id: "XH01_27",
+    type: "circle",
+    x: 240,
+    y: 120,
+    connects: ["XH01_26"],
+  },
+  {
+    id: "XH01_28",
+    type: "circle",
+    x: 270,
+    y: 120,
+    connects: ["XH01_27"],
+  },
+  {
+    id: "XH01_29",
+    type: "circle",
+    x: 300,
+    y: 120,
+    connects: ["XH01_28"],
+  },
+  {
+    id: "XH01_30",
+    type: "circle",
+    x: 330,
+    y: 120,
+    connects: ["XH01_29"],
+  },
+  {
+    id: "XH01_31",
+    type: "circle",
+    x: 360,
+    y: 120,
+    connects: ["XH01_30"],
+  },
+  {
+    id: "XH01_32",
+    type: "circle",
+    x: 390,
+    y: 120,
+    connects: ["XH01_31"],
+  },
+  //宣和4号线路
+  {
+    id: "XH01_33",
+    type: "circle",
+    x: 120,
+    y: 150,
+    connects: ["root"],
+  },
+  {
+    id: "XH01_34",
+    type: "circle",
+    x: 150,
+    y: 150,
+    connects: ["XH01_33"],
+  },
+  {
+    id: "XH01_35",
+    type: "circle",
+    x: 180,
+    y: 150,
+    connects: ["XH01_34"],
+  },
+  {
+    id: "XH01_36",
+    type: "circle",
+    x: 210,
+    y: 150,
+    connects: ["XH01_35"],
+  },
+  {
+    id: "XH01_37",
+    type: "circle",
+    x: 240,
+    y: 150,
+    connects: ["XH01_36"],
+  },
+  {
+    id: "XH01_38",
+    type: "circle",
+    x: 270,
+    y: 150,
+    connects: ["XH01_37"],
+  },
+  {
+    id: "XH01_39",
+    type: "circle",
+    x: 300,
+    y: 150,
+    connects: ["XH01_38"],
+  },
+  {
+    id: "XH01_40",
+    type: "circle",
+    x: 330,
+    y: 150,
+    connects: ["XH01_39"],
+  },
+  {
+    id: "XH01_41",
+    type: "circle",
+    x: 360,
+    y: 150,
+    connects: ["XH01_40"],
+  },
+  {
+    id: "XH01_42",
+    type: "circle",
+    x: 390,
+    y: 150,
+    connects: ["XH01_41"],
+  },
+]

+ 411 - 0
src/views/WindSite/pages/Home/stationJson/XS_FDC.js

@@ -0,0 +1,411 @@
+export default [
+  {
+    id: "root",
+    name: "香山风电场",
+    type: "img",
+    image: "stationimg",
+    x: 10,
+    y: 30,
+  },
+  //香山山1号线路
+  {
+    id: "XG01_01",
+    type: "circle",
+    x: 120,
+    y: 40,
+    connects: ["root"],
+  },
+  {
+    id: "XG01_02",
+    type: "circle",
+    x: 180,
+    y: 30,
+    connects: ["XG01_01"],
+  },
+  {
+    id: "XG01_03",
+    type: "circle",
+    x: 200,
+    y: 15,
+    connects: ["XG01_02"],
+  },
+  {
+    id: "XG01_04",
+    type: "circle",
+    x: 220,
+    y: 35,
+    connects: ["XG01_03"],
+  },
+  {
+    id: "XG01_05",
+    type: "circle",
+    x: 240,
+    y: 35,
+    connects: ["XG01_04"],
+  },
+  {
+    id: "XG01_06",
+    type: "circle",
+    x: 270,
+    y: 45,
+    connects: ["XG01_05"],
+  },
+  {
+    id: "XG01_07",
+    type: "circle",
+    x: 320,
+    y: 15,
+    connects: ["XG01_06"],
+  },
+  {
+    id: "XG01_08",
+    type: "circle",
+    x: 355,
+    y: 5,
+    connects: ["XG01_07"],
+  },
+  {
+    id: "XG01_09",
+    type: "circle",
+    x: 370,
+    y: 5,
+    connects: ["XG01_08"],
+  },
+  {
+    id: "XG01_10",
+    type: "circle",
+    x: 390,
+    y: 20,
+    connects: ["XG01_09"],
+  },
+  {
+    id: "XG01_11",
+    type: "circle",
+    x: 420,
+    y: 15,
+    connects: ["XG01_10"],
+  },
+  //香山山2号线路
+  {
+    id: "XG01_12",
+    type: "circle",
+    x: 150,
+    y: 60,
+    connects: ["root"],
+  },
+  {
+    id: "XG01_13",
+    type: "circle",
+    x: 180,
+    y: 70,
+    connects: ["XG01_12"],
+  },
+  {
+    id: "XG01_14",
+    type: "circle",
+    x: 220,
+    y: 55,
+    connects: ["XG01_13"],
+  },
+  {
+    id: "XG01_15",
+    type: "circle",
+    x: 240,
+    y: 75,
+    connects: ["XG01_14"],
+  },
+  {
+    id: "XG01_16",
+    type: "circle",
+    x: 280,
+    y: 45,
+    connects: ["XG01_15"],
+  },
+  {
+    id: "XG01_17",
+    type: "circle",
+    x: 310,
+    y: 60,
+    connects: ["XG01_16"],
+  },
+  {
+    id: "XG01_18",
+    type: "circle",
+    x: 340,
+    y: 50,
+    connects: ["XG01_17"],
+  },
+  {
+    id: "XG01_19",
+    type: "circle",
+    x: 360,
+    y: 40,
+    connects: ["XG01_18"],
+  },
+  {
+    id: "XG01_20",
+    type: "circle",
+    x: 370,
+    y: 60,
+    connects: ["XG01_19"],
+  },
+  {
+    id: "XG01_21",
+    type: "circle",
+    x: 390,
+    y: 50,
+    connects: ["XG01_20"],
+  },
+  {
+    id: "XG01_22",
+    type: "circle",
+    x: 400,
+    y: 70,
+    connects: ["XG01_21"],
+  },
+  {
+    id: "XG01_23",
+    type: "circle",
+    x: 420,
+    y: 75,
+    connects: ["XG01_22"],
+  },
+  {
+    id: "XG01_24",
+    type: "circle",
+    x: 440,
+    y: 75,
+    connects: ["XG01_23"],
+  },
+  {
+    id: "XG01_25",
+    type: "circle",
+    x: 460,
+    y: 85,
+    connects: ["XG01_24"],
+  },
+  //香山山3号线路
+
+  {
+    id: "XG01_26",
+    type: "circle",
+    x: 120,
+    y: 90,
+    connects: ["root"],
+  },
+  {
+    id: "XG01_27",
+    type: "circle",
+    x: 140,
+    y: 90,
+    connects: ["XG01_26"],
+  }, {
+    id: "XG01_28",
+    type: "circle",
+    x: 150,
+    y: 95,
+    connects: ["XG01_27"],
+  }, {
+    id: "XG01_29",
+    type: "circle",
+    x: 170,
+    y: 100,
+    connects: ["XG01_28"],
+  }, {
+    id: "XG01_30",
+    type: "circle",
+    x: 190,
+    y: 100,
+    connects: ["XG01_29"],
+  }, {
+    id: "XG01_31",
+    type: "circle",
+    x: 210,
+    y: 110,
+    connects: ["XG01_30"],
+  }, {
+    id: "XG01_32",
+    type: "circle",
+    x: 230,
+    y: 115,
+    connects: ["XG01_31"],
+  }, {
+    id: "XG01_33",
+    type: "circle",
+    x: 250,
+    y: 118,
+    connects: ["XG01_32"],
+  },
+  {
+    id: "XG01_34",
+    type: "circle",
+    x: 270,
+    y: 130,
+    connects: ["root"],
+  },
+  {
+    id: "XG01_35",
+    type: "circle",
+    x: 320,
+    y: 125,
+    connects: ["XG01_34"],
+  },
+  {
+    id: "XG01_36",
+    type: "circle",
+    x: 360,
+    y: 120,
+    connects: ["XG01_35"],
+  },
+  {
+    id: "XG01_37",
+    type: "circle",
+    x: 390,
+    y: 115,
+    connects: ["XG01_36"],
+  },
+  {
+    id: "XG01_38",
+    type: "circle",
+    x: 410,
+    y: 115,
+    connects: ["XG01_37"],
+  },
+  {
+    id: "XG01_39",
+    type: "circle",
+    x: 425,
+    y: 135,
+    connects: ["XG01_38"],
+  },
+  {
+    id: "XG01_40",
+    type: "circle",
+    x: 450,
+    y: 135,
+    connects: ["XG01_39"],
+  }, {
+    id: "XG01_41",
+    type: "circle",
+    x: 455,
+    y: 145,
+    connects: ["XG01_40"],
+  },
+  {
+    id: "XG01_42",
+    type: "circle",
+    x: 460,
+    y: 150,
+    connects: ["XG01_41"],
+  },
+  //香山山4号线路
+  {
+    id: "XG01_43",
+    type: "circle",
+    x: 120,
+    y: 130,
+    connects: ["root"],
+  },
+  {
+    id: "XG01_44",
+    type: "circle",
+    x: 150,
+    y: 155,
+    connects: ["XG01_43"],
+  },
+  {
+    id: "XG01_45",
+    type: "circle",
+    x: 170,
+    y: 155,
+    connects: ["XG01_44"],
+  }, {
+    id: "XG01_46",
+    type: "circle",
+    x: 200,
+    y: 155,
+    connects: ["XG01_45"],
+  },
+  {
+    id: "XG01_47",
+    type: "circle",
+    x: 220,
+    y: 155,
+    connects: ["XG01_46"],
+  }, {
+    id: "XG01_48",
+    type: "circle",
+    x: 240,
+    y: 155,
+    connects: ["XG01_47"],
+  },
+  {
+    id: "XG01_49",
+    type: "circle",
+    x: 260,
+    y: 155,
+    connects: ["XG01_48"],
+  }, {
+    id: "XG01_50",
+    type: "circle",
+    x: 280,
+    y: 155,
+    connects: ["XG01_49"],
+  },
+  {
+    id: "XG01_51",
+    type: "circle",
+    x: 300,
+    y: 155,
+    connects: ["XG01_50"],
+  },
+  {
+    id: "XG01_52",
+    type: "circle",
+    x: 320,
+    y: 155,
+    connects: ["XG01_51"],
+  },
+  {
+    id: "XG01_53",
+    type: "circle",
+    x: 350,
+    y: 155,
+    connects: ["XG01_52"],
+  },
+  {
+    id: "XG01_54",
+    type: "circle",
+    x: 370,
+    y: 155,
+    connects: ["XG01_53"],
+  },
+  {
+    id: "XG01_55",
+    type: "circle",
+    x: 390,
+    y: 155,
+    connects: ["XG01_54"],
+  },
+  {
+    id: "XG01_56",
+    type: "circle",
+    x: 410,
+    y: 155,
+    connects: ["XG01_55"],
+  },
+  {
+    id: "XG01_57",
+    type: "circle",
+    x: 430,
+    y: 155,
+    connects: ["XG01_56"],
+  },
+  {
+    id: "XG01_58",
+    type: "circle",
+    x: 460,
+    y: 155,
+    connects: ["XG01_57"],
+  },
+]

+ 12 - 4
src/views/malfunctionDiagnose/gzfl.vue

@@ -2,7 +2,7 @@
 	<div>
 		<el-row>
 			<el-col :span="14">
-				<panel :title="'日最大风速'" class="radar-panel" :icon="'svg-wind-site'">
+				<panel :title="'日雷达图'" class="radar-panel" :icon="'svg-wind-site'">
 					<div class="wind-info">
 						<div class="legend mg-r-16">
 							<span class="dot"></span>
@@ -15,7 +15,7 @@
 			<el-col :span="10">
 				<el-row>
 					<el-col :span="24">
-						<panel :title="'月最大风速'" class="radar-panel" :icon="'svg-wind-site'">
+						<panel :title="'月雷达图'" class="radar-panel" :icon="'svg-wind-site'">
 							<div class="wind-info">
 								<div class="legend mg-r-16">
 									<span class="dot"></span>
@@ -28,7 +28,7 @@
 				</el-row>
 				<el-row>
 				 <el-col :span="24">
-						<panel :title="'年最大风速'" class="radar-panel" :icon="'svg-wind-site'">
+						<panel :title="'年雷达图'" class="radar-panel" :icon="'svg-wind-site'">
 							<div class="wind-info">
 								<div class="legend mg-r-16">
 									<span class="dot"></span>
@@ -82,7 +82,15 @@
 			}
 		},
 		created() {
-
+var that = this;
+      that.API.requestData({
+        method: "GET",
+        baseURL: "http://192.168.10.25:8082/",
+        subUrl: "radar/gzfx?stId=MHS_FDC&endDate=2021-11-21&startDate=2021-11-22",
+        success(res) {
+          console.log(res)
+        },
+      });
 		},
 		methods: {
 			// getMgt(subUrl, data, dataKey, logFlg) {

+ 25 - 33
src/views/sampleDatabase/fault/index.vue

@@ -5,7 +5,7 @@
 				<div class="query-item" style="width: 200px;">
 					<div class="lable">场站:</div>
 					<div class="search-input">
-						<el-select v-model="station" placeholder="请选择" popper-class="select">
+						<el-select v-model="station" placeholder="请选择" popper-class="select" @change="stationChange">
 							<el-option v-for="item in ChangZhan" :key="item.id" :value="item.id" :label="item.name"> </el-option>
 						</el-select>
 					</div>
@@ -208,6 +208,21 @@
 			};
 		},
 		methods: {
+			stationChange(){
+				let fjxh = [];
+				this.fjxhArr.forEach(ele => {
+					if (ele.id == this.station) {
+						ele.value.forEach(ele2 => {
+							fjxh.push({
+								label: ele2,
+								value: ele2
+							})
+						})
+						this.model = ele.value;
+					}
+				})
+				this.fjxh = fjxh;
+			},
 			checkAll() {
 				this.selectAll = !this.selectAll
 				if (this.selectAll) {
@@ -232,15 +247,6 @@
 				that.time = [new Date((new Date() - 3600 * 1000 * 24 * 360)).formatDate("yyyy-MM-dd hh:mm:ss"), new Date()
 					.formatDate("yyyy-MM-dd hh:mm:ss")
 				];
-				await that.API.requestData({
-					method: "GET",
-					baseURL: "http://10.155.32.4:9001/",
-					subUrl: "benchmarking/wplist",
-					success(res) {
-						that.ChangZhan = res.data;
-						that.station = res.data[1].name
-					},
-				});
 
 				await that.API.requestData({
 					method: "GET",
@@ -266,6 +272,8 @@
 					baseURL: "http://192.168.1.18:9002/",
 					subUrl: "basic/station/all",
 					success(res) {
+						that.ChangZhan = res.data;
+						that.station = res.data[1].name
 						let fjxhArr = [];
 						let model = [],
 							fjxh = [];
@@ -274,13 +282,11 @@
 								id: ele.id,
 								value: ele.model.split("/")
 							})
-							if (ele.id == "MHS_FDC") {
-								model = ele.model.split("/");
-								model.forEach(ele => {
-									fjxh.push({
-										label: ele,
-										value: ele
-									})
+							if (ele.id == "NSS_FDC") {
+								model = ["UP82"];
+								fjxh.push({
+									label: "UP82",
+									value: "UP82"
 								})
 							}
 						})
@@ -373,6 +379,8 @@
 					});
 					return
 				}
+				that.tableData.data = [];
+				that.tableData2.data = [];
 				that.API.requestData({
 					showLoading: true,
 					method: "GET",
@@ -390,7 +398,6 @@
 							if (res.data.length) {
 								let data = res.data;
 								if(that.mx == 'list'){
-									that.tableData.data = [];
 									let k = 0;
 									for (var i = 0; i < data.length; i++) {
 											if(data[i].endtime != undefined){
@@ -454,21 +461,6 @@
 			this.startAjax();
 		},
 		watch: {
-			station(res) {
-				let fjxh = [];
-				this.fjxhArr.forEach(ele => {
-					if (ele.id == res) {
-						ele.value.forEach(ele2 => {
-							fjxh.push({
-								label: ele2,
-								value: ele2
-							})
-						})
-						this.model = ele.value;
-					}
-				})
-				this.fjxh = fjxh;
-			},
 			mx(){
 				this.list();
 			}