Koishi il y a 3 ans
Parent
commit
abc6f34d57

+ 195 - 3
src/router/index.js

@@ -67,9 +67,201 @@ const routes = [{
 	}, {
 		path: 'info/:wpId/:wtId', // 单机状态监视
 		component: () =>
-			import( /* webpackChunkName: "info" */ '../views/WindSite/pages/Info/Info.vue'),
-	}, {
-		path: 'tower/:wpId', // 测风塔
+			import( /* webpackChunkName: "windsite" */ '../views/WindSite/WindSite.vue'),
+		children: [{
+				path: 'home/:wpId', // 场站监视
+				component: () =>
+					import( /* webpackChunkName: "windsitehome" */ '../views/WindSite/pages/Home/Home.vue'),
+			}, {
+				path: 'draughtfanlist/:wpId', // 风机列表
+				component: () =>
+					import( /* webpackChunkName: "windsitedraughtfanlist" */
+						'../views/WindSite/pages/DraughtFanList.vue'),
+			}, {
+				path: 'matrix/:wpId', // 风场矩阵
+				component: () =>
+					import( /* webpackChunkName: "windsitematrix" */ '../views/WindSite/pages/Matrix.vue'),
+			}, {
+				path: 'lightmatrix/:wpId',
+				component: () =>
+					import( /* webpackChunkName: "windsitelightmatrix" */
+						'../views/WindSite/pages/LightMatrix.vue'),
+			}, {
+				path: 'box/:wpId',
+				component: () =>
+					import( /* webpackChunkName: "windsitebox" */ '../views/WindSite/pages/Box.vue'),
+			}, {
+				path: 'info/:wpId/:wtId', // 单机状态监视
+				component: () =>
+					import( /* webpackChunkName: "info" */ '../views/WindSite/pages/Info/Info.vue'),
+			}, {
+				path: 'tower/:wpId', // 测风塔
+				component: () =>
+					import( /* webpackChunkName: "windsitetower" */ '../views/WindSite/pages/Tower.vue'),
+			}, {
+				path: 'inverter-info/:wpId/:wtId',
+				component: () =>
+					import( /* webpackChunkName: "inverter-info" */
+					'../views/WindSite/pages/Inverter-Info.vue'),
+			}, {
+				path: 'map/:wpId',
+				component: () =>
+					import( /* webpackChunkName: "windsitemap" */ '../views/WindSite/pages/Map.vue'),
+			}, {
+				path: 'map1/:wpId',
+				component: () =>
+					import( /* webpackChunkName: "windsitemap1" */ '../views/WindSite/pages/Map1.vue'),
+			}, {
+				path: '/decision/decision1', //风机绩效榜
+				name: 'decision1',
+				component: () => import( /* webpackChunkName: "decision1" */ '../views/Decision/Decision1.vue'),
+			},
+			{
+				path: '/decision/decision1Mx', //风机绩效榜明细
+				name: 'decision1Mx',
+				component: () => import( /* webpackChunkName: "decision1Mx" */
+					'../views/Decision/Decision1Mx.vue'),
+			},
+
+			{
+				path: '/decision/decision2', //五项损失率
+				name: 'decision2',
+				component: () => import( /* webpackChunkName: "decision2" */ '../views/Decision/Decision2.vue'),
+			},
+			{
+				path: '/decision/decision2Cndb', //场内对标
+				name: 'decision2Cndb',
+				component: () => import( /* webpackChunkName: "decision2Cndb" */
+					'../views/Decision/Decision2Cndb.vue'),
+			},
+			{
+				path: '/decision/decision2Cjdb', //场际对标
+				name: 'decision2Cjdb',
+				component: () => import( /* webpackChunkName: "decision2Cjdb" */
+					'../views/Decision/Decision2Cjdb.vue'),
+			},
+			{
+				path: '/decision/decision2Xmdb', //项目对标
+				name: 'decision2Xmdb',
+				component: () => import( /* webpackChunkName: "decision2Xmdb" */
+					'../views/Decision/Decision2Xmdb.vue'),
+			},
+			{
+				path: '/decision/decision2Xldb', //线路对标
+				name: 'decision2Xldb',
+				component: () => import( /* webpackChunkName: "decision2Xldb" */
+					'../views/Decision/Decision2Xldb.vue'),
+			},
+			{
+				path: '/decision/decision3', //性能对标
+				name: 'decision3',
+				component: () => import( /* webpackChunkName: "decision3" */ '../views/Decision/Decision3.vue'),
+			},
+			{
+				path: '/decision/decision3db', //单机横向对比
+				name: 'decision3db',
+				component: () => import( /* webpackChunkName: "decision3db" */
+					'../views/Decision/Decision3Db.vue'),
+			},
+			{
+				path: '/decision/decision4', //值际对标
+				name: 'decision4',
+				component: () => import( /* webpackChunkName: "decision4" */ '../views/Decision/Decision4.vue'),
+			},
+			{
+				path: '/decision/decision4czzl', //操作指令统计
+				name: 'decision4czzl',
+				component: () => import( /* webpackChunkName: "decision4czzl" */
+					'../views/Decision/Decision4Czzl.vue'),
+			},
+			{
+				path: '/health',
+				name: 'health',
+				component: () => import('../views/HealthControl/Health.vue'),
+			},
+			{
+				path: '/health/health1',
+				name: 'health1',
+				component: () => import('../views/HealthControl/Health1.vue'),
+			},
+			{
+				path: '/health/health2', // 健康管理首页
+				name: 'health2',
+				component: () => import('../views/HealthControl/Health2.vue'),
+			},
+			{
+				path: '/health/health3/:wpId', // 场站健康管理
+				name: 'health3',
+				component: () => import('../views/HealthControl/Health3.vue'),
+			},
+			{
+				path: '/health/health4',
+				name: 'health4',
+				children: [{
+						path: 'healthLineChart/:wtId', // 风机健康趋势
+						component: () => import( /* webpackChunkName: "healthLineChart" */
+							'../views/HealthControl/healthLineChart.vue'),
+					},
+					{
+						path: 'healthLineChart2/:wtId', // 健康趋势
+						component: () => import( /* webpackChunkName: "healthLineChart2" */
+							'../views/HealthControl/healthLineChart2.vue'),
+					}
+				],
+				component: () => import('../views/HealthControl/Health4.vue'),
+			},
+			{
+				path: '/health/health5/',
+				name: 'health5',
+				component: () => import('../views/HealthControl/Health5.vue'),
+			},
+			{
+				path: '/health/health6', // 健康总览
+				name: 'health6',
+				component: () => import('../views/HealthControl/Health6.vue'),
+			},
+			{
+				path: '/cutAnalyse', // 切入切出分析
+				name: 'cutAnalyse',
+				component: () => import('../views/cutAnalyse/index.vue'),
+			},
+			{
+				path: '/cutAnalyse', // 切入切出分析
+				name: 'cutAnalyse',
+				component: () => import('../views/cutAnalyse/index.vue'),
+			},
+			{
+				path: '/wtSaturability', // 单机饱和度
+				name: 'wtSaturability',
+				component: () => import('../views/wtSaturability/index.vue'),
+			},
+			{
+				path: '/windAnalysis', // 风资源分析
+				name: 'windAnalysis',
+				component: () => import('../views/windAnalysis/index.vue'),
+			},
+			{
+				path: '/windAnalysis/fx', // 风向
+				name: 'fxzstmain',
+				component: () => import('../views/windAnalysis/fxzstmain.vue'),
+			},
+			{
+				path: 'boosterstation/:wpId', // 升压站
+				component: () =>
+					import( /* webpackChunkName: "boosterstation" */
+						'../views/WindSite/pages/BoosterStation.vue'),
+			},
+			{
+				path: "generalappearance/:wpId", // 总样貌
+				component: () =>
+					import( /* webpackChunkName: "generalappearance" */
+						"../views/WindSite/pages/GeneralAppearance.vue"),
+			},
+		]
+	},
+	{
+		path: '/monitor/lightmatrix', // 光伏明细矩阵
+		name: 'LightMatrix',
 		component: () =>
 			import( /* webpackChunkName: "windsitetower" */ '../views/WindSite/pages/Tower.vue'),
 	}, {

+ 7 - 2
src/views/LightMatrix/LightMatrix.vue

@@ -69,7 +69,7 @@
             </div>
           </div>
           <div class="panel-body">
-            <div class="card" v-for="(cItem, cIndex) in pItem" :key="cIndex" :class="cItem.color">
+            <div class="card" v-for="(cItem, cIndex) in pItem" :key="cIndex" :class="cItem.color" @click="gotoInverter(cItem)">
               <div class="card-panel">
                 <div class="card-left">
                   <div class="tag">{{ cItem.wtnum }}</div>
@@ -368,6 +368,11 @@ export default {
         },
       });
     },
+    gotoInverter(item){
+      this.$router.push({
+        path: `/monitor/windsite/inverter-info/${item.wpId}/${item.wtId}`,
+      });
+    }
   },
 
   created() {
@@ -754,7 +759,7 @@ export default {
 
       .card {
         border: 1px solid;
-
+        cursor: pointer;
         .card-panel {
           display: flex;
           flex-grow: row;

+ 36 - 10
src/views/LightMatrix1/LightMatrix1.vue

@@ -56,7 +56,10 @@
           <div class="item">
             <div class="loop"></div>
             <span class="svg-icon svg-icon-gray svg-icon-md">
-              <SvgIcon :svgid="'svg-photovoltaic'" style="margin: 3px 0px -3px 1px;"></SvgIcon>
+              <SvgIcon
+                :svgid="'svg-photovoltaic'"
+                style="margin: 3px 0px -3px 1px"
+              ></SvgIcon>
             </span>
           </div>
           <div class="item write" @click="changeShow('jrfj1_GDC')">
@@ -101,15 +104,31 @@
             <i class="svg-icon svg-icon-sm svg-icon-green">
               <SvgIcon :svgid="'svg-wind-site'"></SvgIcon>
             </i>
-            <span>{{ sourceMap.fczbmap[sourceMap.fjmap[pIndex][0].wpId].name || "------" }}</span>
-            <div class="sub-title-item" v-for="(fcItem, fcIndex) in fcStateArray" :key="fcIndex">
+            <span>{{
+              sourceMap.fczbmap[sourceMap.fjmap[pIndex][0].wpId].name ||
+              "------"
+            }}</span>
+            <div
+              class="sub-title-item"
+              v-for="(fcItem, fcIndex) in fcStateArray"
+              :key="fcIndex"
+            >
               <span class="sub-title">{{ fcItem.text }}</span>
-              <span class="sub-count" :class="fcItem.color">{{ sourceMap.fczbmap[sourceMap.fjmap[pIndex][0].wpId][fcItem.key] }}</span>
+              <span class="sub-count" :class="fcItem.color">{{
+                sourceMap.fczbmap[sourceMap.fjmap[pIndex][0].wpId][fcItem.key]
+              }}</span>
             </div>
           </div>
         </div>
         <div class="panel-body">
-          <div class="card" v-for="(cItem, cIndex) of pItem" :key="cIndex" v-show="cItem.isShow" :class="cItem.color" @click="goDetails(cItem)">
+          <div
+            class="card"
+            v-for="(cItem, cIndex) of pItem"
+            :key="cIndex"
+            v-show="cItem.isShow"
+            :class="cItem.color"
+            @click="goDetails(cItem)"
+          >
             {{ cItem.wtnum }}
           </div>
           <!-- 站位用 保证卡片布局最后一行不会有问题 -->
@@ -324,11 +343,17 @@ export default {
     },
 
     // 查看风机详情
-    goDetails(item){
-      this.$router.push({
-        path: `/monitor/windsite/info/${item.wpId}/${item.wtId}`,
-      });
-    }
+    goDetails(item) {
+      if (item.wpId.indexOf("FDC") !== -1) {
+        this.$router.push({
+          path: `/monitor/windsite/info/${item.wpId}/${item.wtId}`,
+        });
+      } else {
+        this.$router.push({
+          path: `/monitor/windsite/inverter-info/${item.wpId}/${item.wtId}`,
+        });
+      }
+    },
   },
 
   created() {
@@ -589,6 +614,7 @@ export default {
         margin-right: 2px;
         margin-top: 2px;
         flex: 1 0 40px;
+        cursor: pointer;
       }
 
       .card {

+ 1 - 1
src/views/LightMatrix3/LightMatrix3.vue

@@ -68,7 +68,7 @@
             </div>
           </div>
           <div class="panel-body">
-            <div class="card" v-for="(cItem, cIndex) in pItem" :key="cIndex" :class="cItem.color" @click="goDetails(cItem)">
+            <div class="card" v-for="(cItem, cIndex) in pItem" :key="cIndex" :class="cItem.color">
               <div class="card-panel">
                 <div class="card-left">
                   <div class="tag">{{ cItem.wtnum }}</div>

+ 1 - 0
src/views/WindSite/components/generalappearance/xs/xs.vue

@@ -3160,6 +3160,7 @@ export default {
   watch: {
     data(value) {
       this.datas = value;
+	  console.log(123123,value)
     },
   },
 };

+ 148 - 2
src/views/WindSite/pages/DraughtFanList.vue

@@ -196,6 +196,10 @@ export default {
   methods: {
     // 请求服务
     requestData(showLoading) {
+      if(this.wpId.indexOf("GDC") != -1 ){
+        this.requestDataGDC(showLoading);
+        return 0;
+      }
       let that = this;
       that.API.requestData({
         showLoading,
@@ -212,10 +216,153 @@ export default {
               }
             }
           });
-          that.data.data = res.data;
+          that.data = {
+            data:res.data,
+            column: [
+              {
+                name: "风机名称",
+                field: "code",
+                is_num: false,
+                is_light: false,
+              },
+              {
+                name: "冷却风温度",
+                field: "FDJLQFWD",
+                is_num: true,
+                is_light: false,
+              },
+              {
+                name: "有功功率",
+                field: "FJGL",
+                is_num: true,
+                is_light: false,
+              },
+              {
+                name: "液压油温度",
+                field: "YYYW",
+                is_num: true,
+                is_light: false,
+              },
+              {
+                name: "Pcspp温度",
+                field: "PCS_WD",
+                is_num: true,
+                is_light: false,
+              },
+              {
+                name: "U1绕组温度",
+                field: "U1YZWD",
+                is_num: true,
+                is_light: false,
+              },
+              {
+                name: "U2绕组温度",
+                field: "U2YZWD",
+                is_num: true,
+                is_light: false,
+              },
+              {
+                name: "V1绕组温度",
+                field: "V1YZWD",
+                is_num: true,
+                is_light: false,
+              },
+              {
+                name: "V2绕组温度",
+                field: "V2YZWD",
+                is_num: true,
+                is_light: false,
+              },
+              {
+                name: "W1绕组温度",
+                field: "W1YZWD",
+                is_num: true,
+                is_light: false,
+              },
+              {
+                name: "W2绕组温度",
+                field: "W2YZWD",
+                is_num: true,
+                is_light: false,
+              },
+              {
+                name: "轴承A温度",
+                field: "FDJZCAWD",
+                is_num: true,
+                is_light: false,
+              },
+              {
+                name: "轴承B温度",
+                field: "FDJZCBWD",
+                is_num: true,
+                is_light: false,
+              },
+              {
+                name: "齿轮箱温度",
+                field: "CLXWD",
+                is_num: true,
+                is_light: false,
+              },
+              {
+                name: "齿轮箱轴1温度",
+                field: "CLXSRZ1WD",
+                is_num: true,
+                is_light: false,
+              },
+              {
+                name: "齿轮箱轴2温度",
+                field: "CLXSRZ2WD",
+                is_num: true,
+                is_light: false,
+              },
+              {
+                name: "机舱温度",
+                field: "JCWD",
+                is_num: true,
+                is_light: false,
+              },
+              {
+                name: "滑环温度",
+                field: "FDJHHWD",
+                is_num: true,
+                is_light: false,
+              },
+              {
+                name: "环境温度",
+                field: "JCWWD",
+                is_num: true,
+                is_light: false,
+              },
+            ]
+          };
         },
       });
     },
+    // 光伏电站列表
+    async requestDataGDC(showLoading){
+      let res = await  this.API.requestData({
+        showLoading,
+        baseURL: "http://127.0.0.1:8082/",
+        method: "POST",
+        subUrl: "monitorinverter/findInverterInfoList",
+        data: {
+          wpId: this.wpId
+        }
+      });
+      let column = [
+        {name: "逆变器",field: "code"},
+        {name: "光照强度",field: "JSSSFS"},
+        {name: "有功功率",field: "AI130"},
+        {name: "功率因数",field: "AI067"},
+        {name: "机内温度",field: "AIG071"},
+        {name: "逆变效率",field: "AIG072"},
+        {name: "日发电量",field: "RFDL"},
+        {name: "月发电量",field: "YFDL"},
+        {name: "年发电量",field: "NFDL"},
+        {name: "累计发电量",field: "AIG064"},
+      ];
+      this.data = {data:res.data.data,column:column};
+    },
     getWp () {
       let that = this;
       that.API.requestData({
@@ -265,7 +412,6 @@ export default {
     },
 
     select (res) {
-      debugger;
       this.$router.replace({
         path: `/monitor/windsite/draughtfanlist/${res.code}`,
       });

+ 252 - 159
src/views/WindSite/pages/Inverter-Info.vue

@@ -4,61 +4,48 @@
       <BtnGroup2 :btnGroups="btnGroups" :rowIndex="0" :index="1" @select="select"></BtnGroup2>
     </div>-->
     <div class="box-main">
-      <List class="list" :title="list.title" :list="list.datas" @select="selectList"></List>
+      <!-- <List class="list" :title="list.title" :list="list.datas" @select="selectList"></List> -->
+      <div class="wind-site-menu">
+        <div class="wind-site-title">选择逆变器</div>
+        <div class="wind-site-body">
+          <collapse-list
+            :list="WindSites"
+            :allowScroll="true"
+            scrollHeight="calc(100vh - 175px)"
+            @click="clickMenu"
+          />
+        </div>
+      </div>
       <div class="Inverter-Info-body">
         <div class="Inverter-Info-title">
-          <div class="title">3#逆变器</div>
+          <div class="title">{{info.name}}</div>
 
           <div class="title-tools-left">
-            <div class="other">逆变器型号:GBL-200</div>
+            <div class="other">逆变器型号:{{info.modelid}}</div>
             <div class="state">
               状态:
-              <div class="dot red"></div>
+              <div class="dot" :class="stateColor"></div>
             </div>
           </div>
-          <div class="title-tools">
+          <!-- <div class="title-tools">
             <div class="previous">上一页</div>
             <div class="next">上一页</div>
             <div class="return">返回</div>
-          </div>
+          </div>-->
         </div>
         <div class="inverter-datas">
           <div class="inverter-item">
-            <!-- <div class="inverter-item-header">
-              <div class="name">3#逆变器</div>
-              <div class="other">逆变器型号:GBL-200</div>
-              <div class="state">
-                状态:
-                <div class="dot red"></div>
-              </div>
-            </div> -->
             <div class="inverter-item-info">
               <div class="form">
                 <div>
                   <table class="table-form mg-b-8" height="60%">
-                    <tr>
-                      <td class="text gray">直流功率</td>
-                      <td class="value green">52000.20</td>
-                      <td class="unit gray">V</td>
-                      <td class="text gray">功率</td>
-                      <td class="value green">52000.20</td>
-                      <td class="unit gray">KWh</td>
-                    </tr>
-                    <tr>
-                      <td class="text gray">直流功率</td>
-                      <td class="value green">52000.20</td>
-                      <td class="unit gray">V</td>
-                      <td class="text gray">功率</td>
-                      <td class="value green">52000.20</td>
-                      <td class="unit gray">KWh</td>
-                    </tr>
-                    <tr>
-                      <td class="text gray">直流功率</td>
-                      <td class="value green">52000.20</td>
-                      <td class="unit gray">V</td>
-                      <td class="text gray"></td>
-                      <td class="value green"></td>
-                      <td class="unit gray"></td>
+                    <tr v-for="(aiarr) in aiData" :key="aiarr">
+                      <td class="text gray">{{aiarr[0].name}}</td>
+                      <td class="value green">{{aiarr[0].value}}</td>
+                      <td class="unit gray">{{aiarr[0].unit}}</td>
+                      <td class="text gray" v-if="aiarr.length>1">{{aiarr[1].name}}</td>
+                      <td class="value green" v-if="aiarr.length>1">{{aiarr[1].value}}</td>
+                      <td class="unit gray" v-if="aiarr.length>1">{{aiarr[1].unit}}</td>
                     </tr>
                   </table>
                 </div>
@@ -82,10 +69,10 @@
                 <div class="state-list">
                   <el-scrollbar>
                     <div class="list-body">
-                      <div v-for="index of 100" :key="index" class="list-item">
-                        <div class="text">主流功率</div>
+                      <div v-for="item of diAll" :key="item" class="list-item">
+                        <div class="text">{{item.name}}</div>
                         <div class="state">
-                          <div :class="{ red: index % 2 == 1, green: index % 2 != 1 }"></div>
+                          <div :class="{ red: item.value == 1, green: item.value != 1 }"></div>
                         </div>
                       </div>
                     </div>
@@ -101,72 +88,32 @@
 </template>
 
 <script>
-import BtnGroup2 from "@com/coms/btn/btn-group-double.vue";
+// import BtnGroup2 from "@com/coms/btn/btn-group-double.vue";
 import List from "@com/coms/list/list.vue";
-import util from "@/helper/util.js";
 import Panel from "../../../components/coms/panel/panel.vue";
 import MultipleLineChart from "../../../components/chart/line/multiple-line-chart.vue";
+import collapseList from "@/components/coms/collapse/collapse-list.vue";
 export default {
   // 名称
   name: "Box",
   // 使用组件
   components: {
-    BtnGroup2,
+    // BtnGroup2,
     List,
     Panel,
-    MultipleLineChart
+    MultipleLineChart,
+    collapseList
   },
   // 数据
   data() {
     return {
-      btnGroups: [
-        {
-          icon: "fa fa-fire",
-          btns: [
-            {
-              text: "某某风场",
-              code: "mmfdc1"
-            },
-            {
-              text: "某某风场",
-              code: "mhsfc"
-            },
-            {
-              text: "某某风场",
-              code: "mmfdc2"
-            },
-            {
-              text: "某某风场",
-              code: "mmfdc3"
-            },
-            {
-              text: "某某风场",
-              code: "mmfdc4"
-            }
-          ]
-        },
-        {
-          icon: "fa fa-fire-extinguisher",
-          btns: [
-            {
-              text: "某某风场",
-              code: "mmgf1"
-            },
-            {
-              text: "某某风场",
-              code: "mmgf2"
-            },
-            {
-              text: "某某风场",
-              code: "mmgf3"
-            },
-            {
-              text: "某某风场",
-              code: "mmgf4"
-            }
-          ]
-        }
-      ],
+      timmer: null,
+      timmer1: null,
+      WindSites: [],
+      diAll: [],
+      diOn: [],
+      info: {},
+      stateColor: "blue",
       list: {
         title: "逆变器列表",
         datas: [
@@ -176,37 +123,15 @@ export default {
           }
         ]
       },
+      wtId: "PL01_01",
+      aiData: [],
       lineValue: [
         {
-          title: "平均风速",
+          title: "功率",
           value: [
             {
-              text: "1日",
+              text: "00:00",
               value: 0
-            },
-            {
-              text: "2日",
-              value: 3
-            },
-            {
-              text: "3日",
-              value: 2
-            },
-            {
-              text: "4日",
-              value: 3
-            },
-            {
-              text: "5日",
-              value: 4
-            },
-            {
-              text: "6日",
-              value: 1
-            },
-            {
-              text: "7日",
-              value: 2
             }
           ]
         }
@@ -223,6 +148,145 @@ export default {
     },
     onReturn: function() {
       console.log("return");
+    },
+    // 点击左侧菜单
+    clickMenu(res) {
+      // console.log(res);
+      this.wpId = res.wpId;
+      this.wtId = res.wtId;
+      this.$router.replace(`/monitor/windsite/inverter-info/${res.wpId}/${res.wtId}`);
+      this.getData();
+      this.getLineChart();
+    },
+    async buildSelectList() {
+      let res = await this.API.requestData({
+        method: "POST",
+        // baseURL: "http://localhost:8082/",
+        subUrl: "matrix/findPVSimpleMatrixAll"
+      });
+      let WindSites = [];
+      res.data.data.forEach((ele, index) => {
+        ele.inverterls.forEach(function(inver) {
+          // inver["text"] = inver["wtnum"];
+          inver["text"] = inver["wtnum"];
+          inver["color"] = "blue";
+          inver["id"] = inver["wtId"];
+          
+        });
+        WindSites.push({
+          id: String(index),
+          text: ele.wpName,
+          children: ele.inverterls
+        });
+      });
+      this.WindSites = WindSites;
+    },
+    async getData() {
+      let res = await this.API.requestData({
+        method: "POST",
+        // baseURL: "http://localhost:8082/",
+        subUrl: "monitorinverter/findInverterInfo",
+        data: {
+          wtId: this.wtId
+        }
+      });
+      const aiData = [];
+      if (res.data.data.listAI) {
+        const arr = res.data.data.listAI;
+        for (let index = 0; index < arr.length; index = index + 2) {
+          const elem1 = arr[index];
+          const elem2 = arr[index + 1];
+          aiData.push([elem1, elem2]);
+        }
+        if (arr.length % 2 == 1) {
+          aiData.push([arr[arr.length - 1]]);
+        }
+      }
+      this.aiData = aiData;
+      // di
+      if (res.data.data.listDI) {
+        this.diAll = res.data.data.listDI.allList;
+        this.diOn = res.data.data.listDI.onList;
+      }
+      this.info = res.data.data.info;
+    },
+    async getLineChart() {
+      let res = await this.API.requestData({
+        method: "POST",
+        // baseURL: "http://localhost:8082/",
+        subUrl: "monitorinverter/findInverterPowerLine",
+        data: {
+          wtId: this.wtId
+        }
+      });
+      let date = new Date();
+      date.setHours(0);
+      date.setMinutes(0);
+      let timt = date.getTime();
+      const result = [];
+      for (let i = 0; i <= 48; i++) {
+        date.setMinutes(i * 30);
+        result.push({
+          text: new Date(timt + i * 1000 * 60 * 30).formatDate("hh:mm"),
+          value: res.data.data[i]
+        });
+      }
+      this.lineValue = [
+        {
+          title: "功率",
+          value: result
+        }
+      ];
+    },
+    async getTurbinesState() {
+      let that = this;
+      let res = await this.API.requestData({
+        method: "POST",
+        subUrl: "matrix/matrixDetialGfPush"
+      });
+      const ztmap = {};
+      if (res && res.data && res.data.data && res.data.data.fjmap) {
+        res.data.data.fjmap.forEach(function(fcList) {
+          fcList.forEach(function(fjItem) {
+            ztmap[fjItem["wtId"]] = fjItem["fjzt"];
+          });
+        });
+      }
+      that.stateColor = that.getColor(ztmap[that.wtId]);
+      if (this.WindSites) {
+        this.WindSites.forEach(function(ws) {
+          if (ws.children) {
+            ws.children.forEach(function(fj) {
+              fj["color"] = that.getColor(ztmap[fj.wtId]);
+            });
+          }
+        });
+      }
+    },
+    getColor(fjzt) {
+      switch (fjzt) {
+        case 0:
+          return "green";
+          break;
+        case 1:
+          return "blue";
+          break;
+        case 2:
+          return "red";
+          break;
+        case 3:
+          return "gray";
+          break;
+        case 4:
+          return "orange";
+          break;
+        case 5:
+          return "purple";
+          break;
+        case 6:
+          return "write";
+          break;
+      }
     }
   },
   // 生命周期钩子
@@ -230,22 +294,22 @@ export default {
     // 创建前
   },
   created() {
-    // 创建后
-    for (let i = 2; i <= 16; i++) {
-      let t = {
-        text: i + "#逆变室"
-      };
-      if (i <= 5) {
-        t.color = "blue";
-      } else if (i <= 6) {
-        t.color = "green";
-      } else if (i <= 8) {
-        t.color = "red";
-      } else {
-        t.color = "yellow";
-      }
-      this.list.datas.push(t);
-    }
+    // debugger;
+    let that = this;
+    this.wtId = that.$route.params.wtId;
+    this.buildSelectList();
+    this.getTurbinesState();
+    this.getData();
+    // this.getDIData();
+    this.getLineChart();
+    that.timmer = setInterval(() => {
+      that.getData();
+      // that.getDIData();
+      that.getTurbinesState();
+    }, 2000);
+    that.timmer1 = setInterval(() => {
+      that.getLineChart();
+    }, 60 * 1000);
   },
   beforeMount() {
     // 渲染前
@@ -258,6 +322,12 @@ export default {
   },
   updated() {
     // 数据更新后
+  },
+  unmounted() {
+    clearInterval(this.timmer);
+    this.timmer = null;
+    clearInterval(this.timmer1);
+    this.timmer1 = null;
   }
 };
 </script>
@@ -272,23 +342,50 @@ export default {
 .Inverter-Info {
   width: 100%;
   height: auto;
-
-  .btn-group-tabs {
-    display: flex;
-    flex-direction: row;
-
-    .photovoltaic {
-      margin-left: 1.481vh;
-    }
-  }
-
   .box-main {
     width: 100%;
     height: calc(100vh - 12.963vh);
     display: flex;
     flex-direction: row;
     margin-top: 1.481vh;
-
+    .wind-site-menu {
+      flex: 0 0 15vh;
+      color: @gray;
+      background: fade(@darkgray, 10);
+      height: calc(100vh - 122px);
+      .wind-site-title {
+        font-size: 14px;
+        font-weight: 600;
+        padding: 16px;
+      }
+    }
+    .wind-site-info-body {
+      flex: auto;
+      padding-left: 1.481vh;
+      .info-menu {
+        .info-menu-item {
+          display: inline-block;
+          border: 1px solid fade(@darkgray, 80);
+          border-radius: 2px;
+          color: @gray;
+          font-size: @fontsize-s;
+          letter-spacing: 1px;
+          cursor: pointer;
+          width: 85px;
+          height: 30px;
+          line-height: 30px;
+          text-align: center;
+          &.active {
+            color: @white;
+            background: fade(@purple, 60);
+            border-color: fade(@purple, 60);
+          }
+          & + .info-menu-item {
+            margin-left: 0.741vh;
+          }
+        }
+      }
+    }
     .list {
       margin-right: 1.481vh;
       flex: 0 0 auto;
@@ -312,11 +409,9 @@ export default {
           right: 0;
           display: flex;
           color: @gray-l;
-
           & > div {
             padding: 16px;
           }
-
           .return {
             padding-left: 40px;
           }
@@ -324,7 +419,7 @@ export default {
         .title-tools-left {
           position: absolute;
           top: 0;
-          left: 100px;
+          left: 150px;
           // margin-left: 10px;
           display: flex;
           color: @gray-l;
@@ -358,19 +453,19 @@ export default {
               &.red {
                 background: @red;
               }
+              &.blue {
+                background: @blue;
+              }
             }
           }
         }
       }
-
       .inverter-datas {
         display: flex;
         height: calc(100% - 53px);
-
         .inverter-item {
           flex: 0 0 calc(100% - 4px);
           margin: 8px 0;
-
           .inverter-item-header {
             color: @gray-l;
             background: fade(@gray, 40);
@@ -378,15 +473,12 @@ export default {
             height: 37px;
             line-height: 37px;
             padding: 0 16px;
-
             .name {
               flex: 1 0 auto;
             }
-
             .other {
               margin-right: 32px;
             }
-
             .state {
               display: flex;
               align-items: center;
@@ -412,11 +504,10 @@ export default {
               }
             }
           }
-
           .inverter-item-info {
             display: flex;
             margin-top: 8px;
-            height: calc(100% );
+            height: calc(100%);
 
             .form {
               // flex: 0 0 calc(50% -4px);
@@ -436,18 +527,15 @@ export default {
                   padding-left: 32px;
                 }
               }
-
               .line-panel {
                 position: absolute;
                 bottom: 0;
                 width: 100%;
-
                 .panel-body {
                   height: 216px;
                 }
               }
             }
-
             .states {
               // flex: 0 0 calc(50% -4px);
               flex-basis: 40%;
@@ -535,6 +623,11 @@ export default {
             margin-left: 8px;
           }
         }
+        .chart {
+          width: 100%;
+          height: 100%;
+          display: inline-block;
+        }
       }
     }
   }