Selaa lähdekoodia

Merge branch 'master' of http://49.4.49.126:3000/GYEE_R.D/neic

xushili 3 vuotta sitten
vanhempi
commit
17e38375a9

+ 4 - 8
src/assets/script/BackgroundData.js

@@ -1,6 +1,5 @@
 import axios from 'axios';
 import { config } from '../../config';
-import UniformCodes from './UniformCodes';
 
 export default class BackgroundData {
     /* 当前登录用户 */
@@ -109,7 +108,7 @@ export default class BackgroundData {
         this.windturbineControl = this.windturbineControl.bind(this);
         this.marking = this.marking.bind(this);
         this.removeMarked = this.removeMarked.bind(this);
-        this.getWinturbineBaseData=this.getWinturbineBaseData.bind(this);
+        this.initWinturbineBaseData=this.initWinturbineBaseData.bind(this);
         
 
         this.refreshTPData();
@@ -371,17 +370,14 @@ export default class BackgroundData {
     }
 
     /* 获取风机详情页面数据 */
-    getWinturbineBaseData(windturbineId,stationId){
-        var info = UniformCodes.getStationInfos(stationId);
-        axios.get(``)
+    initWinturbineBaseData(info,action){
+        axios.get(`http://${config.adapterUrl}/ts/latest?thingType=windturbine&thingId=${info.windturbineId}&uniformCodes=${info.codes}`)
         .then(msg=>{
-            console.log(msg);
+            action(msg.data);
         })
         .catch(err=>{
             console.log(err);
         });
-        console.log(info);
-        console.log(windturbineId);
     }
 
     /* 单例 */

+ 35 - 32
src/assets/script/UniformCodes.js

@@ -179,12 +179,12 @@ export default class UniformCodes {
                     {
                       "index": "part5",
                       "tag": "运行参数",
-                      "param": {
+                      "param": [{
                         "name": "总发电量",
                         "num": "3",
                         "code": "AI064",
                         "unit": "度"
-                      }
+                      }]
                     }
                   ]
                 }
@@ -371,12 +371,12 @@ export default class UniformCodes {
                     {
                       "index": "part5",
                       "tag": "运行参数",
-                      "param": {
+                      "param": [{
                         "name": "总发电量",
                         "num": "3",
                         "code": "AI064",
                         "unit": "度"
-                      }
+                      }]
                     }
                   ]
                 }
@@ -566,12 +566,12 @@ export default class UniformCodes {
                     {
                       "index": "part5",
                       "tag": "运行参数",
-                      "param": {
+                      "param": [{
                         "name": "总发电量",
                         "num": "3",
                         "code": "AI064",
                         "unit": "度"
-                      }
+                      }]
                     }
                   ]
                 }
@@ -767,11 +767,11 @@ export default class UniformCodes {
                     {
                       "index": "part5",
                       "tag": "运行参数",
-                      "param": {
+                      "param": [{
                         "name": "总发电量",
                         "num": "3",
                         "unit": "度"
-                      }
+                      }]
                     }
                   ]
                 }
@@ -957,11 +957,11 @@ export default class UniformCodes {
                     {
                       "index": "part5",
                       "tag": "运行参数",
-                      "param": {
+                      "param": [{
                         "name": "总发电量",
                         "num": "3",
                         "unit": "度"
-                      }
+                      }]
                     }
                   ]
                 }
@@ -1123,29 +1123,16 @@ export default class UniformCodes {
                   {
                     "index": "part4",
                     "tag": "桨叶信息",
-                    "param": [
-                      {
-                        "num": "1",
-                        "unit": "度"
-                      },
-                      {
-                        "num": "2",
-                        "unit": "度"
-                      },
-                      {
-                        "num": "3",
-                        "unit": "度"
-                      }
-                    ]
+                    "param": []
                   },
                   {
                     "index": "part5",
                     "tag": "运行参数",
-                    "param": {
+                    "param": [{
                       "name": "总发电量",
                       "num": "3",
                       "unit": "度"
-                    }
+                    }]
                   }
                 ]
               }
@@ -1330,12 +1317,12 @@ export default class UniformCodes {
                   {
                     "index": "part5",
                     "tag": "运行参数",
-                    "param": {
+                    "param": [{
                       "name": "总发电量",
                       "num": "3",
                       "code": "AI064",
                       "unit": "度"
-                    }
+                    }]
                   }
                 ]
               }
@@ -1525,11 +1512,11 @@ export default class UniformCodes {
                     {
                       "index": "part5",
                       "tag": "运行参数",
-                      "param": {
+                      "param": [{
                         "name": "总发电量",
                         "num": "3",
                         "unit": "万度"
-                      }
+                      }]
                     }
                   ]
                 }
@@ -1719,12 +1706,12 @@ export default class UniformCodes {
                     {
                       "index": "part5",
                       "tag": "运行参数",
-                      "param": {
+                      "param": [{
                         "name": "总发电量",
                         "num": "3",
                         "code": "AI064",
                         "unit": "度"
-                      }
+                      }]
                     }
                   ]
                 }
@@ -1734,5 +1721,21 @@ export default class UniformCodes {
         
       
     }
+    constructor(){
+        this.getStationInfos=this.getStationInfos.bind(this);
+    }
 
+    /* 获取场站信息 */
+    getStationInfos(windturbine){
+        var val = this.Codes[windturbine.stationId][windturbine.modelId];
+        var codes = "";
+        val.BasicInfo.forEach(element => {
+            console.log(element);
+            element.param.forEach(itm=>{
+                codes+=itm.code+",";
+            });
+        });
+        val.codes = codes;
+        return val;
+    }
 }

+ 149 - 193
src/components/area/windturbine/BasicInformationDetail.vue

@@ -1,204 +1,160 @@
 <template>
-<div class="firstdiv">
-  <img
-    style="float: left;margin-left:30px;margin-top:100px;"
-    src="../../../assets/img/WindturbineDetailPages/变桨.png"
-    object-fit="fill"
-  />
-  <div class="twodiv">
-  <table>
-    <tr>
-      <th>温度信息</th>
-    </tr>
-    <tr>
-      <td>齿轮箱轴1温</td>
-      <td>-200.00</td>
-      <td>°C</td>
-    </tr>
-    <tr>
-      <td>齿轮箱轴2温</td>
-      <td>-200.00</td>
-      <td>°C</td>
-    </tr>
-    <tr>
-      <td>齿轮箱油温</td>
-      <td>-200.00</td>
-      <td>°C</td>
-    </tr>
-    <tr>
-      <td>电机轴承A温</td>
-      <td>-200.00</td>
-      <td>°C</td>
-    </tr>
-    <tr>
-      <td>电机轴承B温</td>
-      <td>-200.00</td>
-      <td>°C</td>
-    </tr>
-    <tr>
-      <td>机舱温度</td>
-      <td>-200.00</td>
-      <td>°C</td>
-    </tr>
-    <tr>
-      <td>液压油温度</td>
-      <td>-200.00</td>
-      <td>°C</td>
-    </tr>
-    <tr>
-      <td>冷却风温度</td>
-      <td>-200.00</td>
-      <td>°C</td>
-    </tr>
-    <tr>
-      <td>环境温度</td>
-      <td>-200.00</td>
-      <td>°C</td>
-    </tr>
-    <tr>
-      <td>电机滑环温度</td>
-      <td>-200.00</td>
-      <td>°C</td>
-    </tr>
-  </table>
-  <table>
-    <tr>
-      <th>变桨信息</th>
-    </tr>
-    <tr>
-      <td>叶片1偏角</td>
-      <td>0.02</td>
-      <td>度</td>
-    </tr>
-    <tr>
-      <td>叶片2偏角</td>
-      <td>0.02</td>
-      <td>度</td>
-    </tr>
-    <tr>
-      <td>叶片3偏角</td>
-      <td>0.02</td>
-      <td>度</td>
-    </tr>
-  </table>
-  </div>
-  <div class="onediv">
-  <table>
-    <tr>
-      <th>基本信息</th>
-    </tr>
-    <tr>
-      <td>有功功率</td>
-      <td>189.73</td>
-      <td>Kw</td>
-    </tr>
-    <tr>
-      <td>风速</td>
-      <td>28.07</td>
-      <td>m/s</td>
-    </tr>
-    <tr>
-      <td>发电机转速</td>
-      <td>1135.40</td>
-      <td>rp</td>
-    </tr>
-    <tr>
-      <td>转子转速</td>
-      <td>11.39</td>
-      <td>rp</td>
-    </tr>
-    <tr>
-      <td>偏航位置</td>
-      <td>110.61</td>
-      <td>度</td>
-    </tr>
-    <tr>
-      <td></td>
-    </tr>
+  <div class="firstdiv">
+    <img
+      style="float: left; margin-left: 30px; margin-top: 100px"
+      src="../../../assets/img/WindturbineDetailPages/变桨.png"
+      object-fit="fill"
+    />
+    <div class="twodiv">
+      <table>
         <tr>
-      <td></td>
-    </tr>
-  </table>
-  <table>
-    <tr>
-      <th>电网信息</th>
-    </tr>
-    <tr>
-      <td>U1项绕组电压</td>
-      <td>384.90</td>
-      <td>V</td>
-    </tr>
-    <tr>
-      <td>U1项绕组电流</td>
-      <td>179.00</td>
-      <td>A</td>
-    </tr>
-    <tr>
-      <td>电网无功功率</td>
-      <td>0.01</td>
-      <td>kw</td>
-    </tr>
-    <tr>
-      <td>功率因数</td>
-      <td>0.95</td>
-    </tr>
-    <tr>
-      <td>频率</td>
-      <td>49.97</td>
-      <td>Hz</td>
-    </tr>
-    <tr>
-      <td>总发电量</td>
-      <td>1598.14</td>
-      <td>万</td>
-    </tr>
-  </table>
-  </div>
+          <th>温度信息</th>
+        </tr>
+        <tr v-for="itm in temperatureInfo" :key="itm">
+          <td>{{ itm.name }}</td>
+          <td>{{ itm.value }}</td>
+          <td>{{ itm.unit }}</td>
+        </tr>
+      </table>
+      <table v-if="pitchInfo.length > 0">
+        <tr>
+          <th>变桨信息</th>
+        </tr>
+        <tr v-for="itm in pitchInfo" :key="itm">
+          <td>{{ itm.name }}</td>
+          <td>{{ itm.value }}</td>
+          <td>{{ itm.unit }}</td>
+        </tr>
+      </table>
+    </div>
+    <div class="onediv">
+      <table>
+        <tr>
+          <th>基本信息</th>
+        </tr>
+        <tr v-for="itm in generalInfo" :key="itm">
+          <td>{{ itm.name }}</td>
+          <td>{{ itm.value }}</td>
+          <td>{{ itm.unit }}</td>
+        </tr>
+      </table>
+      <table>
+        <tr>
+          <th>电网信息</th>
+        </tr>
+        <tr v-for="itm in powerGridInfo" :key="itm">
+          <td>{{ itm.name }}</td>
+          <td>{{ itm.value }}</td>
+          <td>{{ itm.unit }}</td>
+        </tr>
+      </table>
+    </div>
   </div>
 </template>
+
 <script>
+import BackgroundData from "../../../assets/script/BackgroundData";
 
 export default {
-  
+  name: "BasicInformationDetail",
+  data() {
+    return {
+      BasicInfo: {},
+      temperatureInfo: new Array() /* 温度信息 */,
+      pitchInfo: new Array() /* 变桨信息 */,
+      generalInfo: new Array() /* 基本信息 */,
+      powerGridInfo: new Array() /* 电网信息 */,
+    };
+  },
+  methods: {
+    start(bi) {
+      this.BasicInfo = bi;
+      this.bindData();
+
+      this.refreshData();
+      this.refreshTimer = setInterval(this.refreshData, 3000);
+    },
+    end() {
+      clearInterval(this.refreshTimer);
+    },
+
+    /* 刷新数据 */
+    refreshData() {
+      var bg = BackgroundData.getInstance();
+      bg.initWinturbineBaseData(this.BasicInfo, this.onMessage);
+    },
+
+    /* 获得数据 */
+    onMessage(msg) {
+      this.BasicInfo.BasicInfo.forEach((element) => {
+        element.param.forEach((im) => {
+          var val = msg[im.code];
+          if (typeof val !== "undefined") {
+            if (im.unit == "万度") {
+              im.value = (val.doubleValue / 10000).toFixed(2);
+            } else {
+              im.value = val.doubleValue.toFixed(2);
+            }
+          }
+        });
+      });
+      console.log(msg);
+    },
+
+    bindData() {
+      this.BasicInfo.BasicInfo.forEach((element) => {
+        if (element.tag == "基本信息") {
+          this.generalInfo = element.param;
+        } else if (element.tag == "温度信息") {
+          this.temperatureInfo = element.param;
+        } else if (element.tag == "电网信息") {
+          this.powerGridInfo = element.param;
+        } else if (element.tag == "桨叶信息") {
+          this.pitchInfo = element.param;
+        }
+      });
+    },
+  },
 };
 </script>
+
 <style scoped>
- .firstdiv{
-    height: 600px;
- }
- .onediv{
-     float: right;
-     margin-right: 80px;
-     margin-top:23px;
- }
- .twodiv{
-     float: right;
-     margin-right: 80px;
-     margin-top:23px;
- }
- div{
-     margin-top: 30px;
- }
- td:nth-child(1){
-     height: 30px;
-     width: 90px;
-     text-align: right;
- }
- td:nth-child(2){
-     width: 72px;
-     text-align: right;
-     color:rgb(5,176,71);
- }
- td:nth-child(3){
-     text-align: center;
-     width: 40px;
- }
- tr:nth-child(1){
-     font-size:20px;
-     width: 90px;
-     text-align: right;
- }
- th{
-     height: 50px;
- }
+.firstdiv {
+  height: 600px;
+}
+.onediv {
+  float: right;
+  margin-right: 80px;
+  margin-top: 23px;
+}
+.twodiv {
+  float: right;
+  margin-right: 80px;
+  margin-top: 23px;
+}
+div {
+  margin-top: 30px;
+}
+td:nth-child(1) {
+  height: 30px;
+  width: 130px;
+  text-align: right;
+}
+td:nth-child(2) {
+  width: 78px;
+  text-align: right;
+  color: rgb(5, 176, 71);
+}
+td:nth-child(3) {
+  text-align: center;
+  width: 30px;
+}
+tr:nth-child(1) {
+  font-size: 20px;
+  width: 90px;
+  text-align: right;
+}
+th {
+  height: 50px;
+}
 </style>

+ 27 - 17
src/components/area/windturbine/WindturbineDetailPages.vue

@@ -35,31 +35,31 @@
               <img
                 src="../../../assets/img/WindturbineDetailPages/pic_01.png"
               />
-              <div>{{ windturbineId }}</div>
+              <div>{{ windturbine.windturbineId }}</div>
             </div>
           </td>
           <td>
             <div class="chunkdiv">
               <div>所属线路&emsp;</div>
-              <div>某某某1线</div>
+              <div></div>
             </div>
           </td>
           <td>
             <div class="chunkdiv">
               <div>机型&emsp;</div>
-              <div>GW1000</div>
+              <div>{{windturbine.modelId}}</div>
             </div>
           </td>
           <td>
             <div class="chunkdiv">
               <div>告警时间:</div>
-              <div>2021年5月10日&ensp;12:23:31</div>
+              <div></div>
             </div>
           </td>
           <td>
             <div class="chunkdiv">
               <div>告警内容:</div>
-              <div>通讯中断</div>
+              <div></div>
             </div>
           </td>
         </tr>
@@ -67,7 +67,7 @@
 
       <el-tabs type="border-card" tab-position="bottom" stretch="true">
         <el-tab-pane label="基本信息">
-          <BasicInformationDetail></BasicInformationDetail>
+          <BasicInformationDetail ref="BasicInfo"></BasicInformationDetail>
         </el-tab-pane>
         <el-tab-pane label="机舱信息">
           <BasicInformationDetail></BasicInformationDetail>
@@ -98,7 +98,7 @@
 <script>
 import YawDetail from "./YawDetail.vue";
 import BasicInformationDetail from "./BasicInformationDetail.vue";
-import BackgroundData from "../../../assets/script/BackgroundData";
+import UniformCodes from "../../../assets/script/UniformCodes";
 
 export default {
   components: {
@@ -106,22 +106,32 @@ export default {
     BasicInformationDetail,
   },
   props: {
-    windturbineId: String,
-    stationId: String,
+    windturbine: Object,
+  },
+  data() {
+    return {
+      BasicInfo: {},
+    };
+  },
+  created() {
+    this.UniformCodes = new UniformCodes();
   },
   methods: {
     opened() {
-      this.refreshData();
-      this.refreshTimer=setInterval(this.refreshData,3000);
+      this.BasicInfo = this.UniformCodes.getStationInfos(this.windturbine);
+      this.BasicInfo.windturbineId = this.windturbine.windturbineId;
+      
+      this.$refs.BasicInfo.start(this.BasicInfo);
+
+      //this.refreshData();
+      //this.refreshTimer = setInterval(this.refreshData, 3000);
     },
     closed() {
-      clearInterval(this.refreshTimer);
+      // todo 切换页面的时候应该让上一个页面停止刷新数据(调用end方法)
+      this.$refs.BasicInfo.end();
+
+      //clearInterval(this.refreshTimer);
     },
-    refreshData(){
-      var bg = BackgroundData.getInstance();
-      var data = bg.getWinturbineBaseData(this.windturbineId,this.stationId);
-      console.log(data);
-    }
   },
 };
 </script>

+ 16 - 0
src/components/area/windturbine/control/ControlMatrixCard.vue

@@ -12,6 +12,7 @@
             : 'card-unselect-' + item.status
         "
         @click="onSelectHandler(item)"
+        @dblclick="sendMsg(item)"
       >
         <div
           class="card-left"
@@ -40,17 +41,27 @@
     </div>
     <div class="bottom"></div>
   </div>
+  <WindturbineDetailPages
+    v-model="dialogVisible"
+    :windturbine="currentWindturbine"
+  ></WindturbineDetailPages>
 </template>
 
 <script>
+import WindturbineDetailPages from '../WindturbineDetailPages.vue'
 export default {
   name: "ControlMatrixCard",
   props: { title: String, datas: Object, operateStyle: Number },
   data() {
     return {
       values: [],
+      dialogVisible: false,
+      currentWindturbine:{},
     };
   },
+  components: {
+    WindturbineDetailPages,
+  },
   created() {
     //this.CheckTimer = setInterval(this.checkCard,2000);
   },
@@ -60,6 +71,11 @@ export default {
       item.active = !item.active;
     },
 
+    sendMsg: function (itm) {
+      this.dialogVisible = true;
+      this.currentWindturbine=itm;
+    },
+
     /* 获取选中的项目 */
     getSelectedItems() {
       var ls = new Array();

+ 3 - 6
src/components/area/windturbine/problem/ProblemMatrixCard.vue

@@ -43,8 +43,7 @@
   </div>
   <WindturbineDetailPages
     v-model="dialogVisible"
-    :windturbineId="currentWindturbineId"
-    :stationId="currentStationId"
+    :windturbine="currentWindturbine"
   ></WindturbineDetailPages>
 </template>
 
@@ -57,8 +56,7 @@ export default {
     return {
       values: [],
       dialogVisible: false,
-      currentWindturbineId: "",
-      currentStationId: "",
+      currentWindturbine:{},
     };
   },
   components: {
@@ -71,8 +69,7 @@ export default {
     },
     sendMsg: function (itm) {
       this.dialogVisible = true;
-      this.currentWindturbineId = itm.windturbineId;
-      this.currentStationId = itm.stationId;
+      this.currentWindturbine=itm;
     },
     filter(value, windturbineId) {
       var array = [];