Bladeren bron

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

xushili 3 jaren geleden
bovenliggende
commit
17ecfbedd0
3 gewijzigde bestanden met toevoegingen van 151 en 56 verwijderingen
  1. 99 11
      src/assets/script/BackgroundData.js
  2. 27 39
      src/components/StatusBar.vue
  3. 25 6
      src/components/area/RecommendedArea.vue

+ 99 - 11
src/assets/script/BackgroundData.js

@@ -25,6 +25,58 @@ export default class BackgroundData {
             value: 0
         },
     ];
+    /* 推荐区数据 */
+    Recommends = {
+        "DWK": {
+            stationName: "大武口光伏电站",
+            content: "通讯中断",
+            createTime: this.formatDate(new Date("2021-04-15 8:17:59"), 'YY-MM-DD hh:mm'),
+            isActive: true,
+        },
+        "NSSFCJSFW.NX_GD_NSSF_XX_XX_XXX_XXX_CI0263": {
+            stationName: "牛首山风电场",
+            content: "限电",
+            createTime: new Date(),
+            isActive: false,
+        },
+        "QSFCJSFW.NX_GD_QSF_XX_XX_XXX_XXX_CI0263": {
+            stationName: "青山风电场",
+            content: "限电",
+            createTime: new Date(),
+            isActive: false,
+        },
+
+        "SBQFCJSFW.NX_GD_SBQF_XX_XX_XXX_XXX_CI0263": {
+            stationName: "石板泉一期",
+            content: "限电",
+            createTime: new Date(),
+            isActive: false,
+        },
+        "MHSFCJSFW.NX_GD_MHSF_XX_XX_XXX_XXX_CI0263": {
+            stationName: "麻黄山风电场",
+            content: "限电",
+            createTime: new Date(),
+            isActive: false,
+        },
+        "XSFCJSFW.NX_GD_XSF_XX_XX_XXX_XXX_CI0263": {
+            stationName: "香山风电场",
+            content: "限电",
+            createTime: new Date(),
+            isActive: false,
+        },
+        "SLAGC.NX_GD_QSF_DQ_P1_L1_001_DI0165": {
+            stationName: "青山三期",
+            content: "限电",
+            createTime: new Date(),
+            isActive: false,
+        },
+        "SBQFCJSFW.NX_GD_SBQF_XX_XX_XXX_XXX_CI026X": {
+            stationName: "石板泉二三四期",
+            content: "限电",
+            createTime: new Date(),
+            isActive: false,
+        },
+    };
     /* 隐患数据 */
     HiddenProblems = new Array();
     /* 缺陷数据 */
@@ -40,12 +92,18 @@ export default class BackgroundData {
         this.onHiddenProblemsMessage = this.onHiddenProblemsMessage.bind(this);
         this.formatDate = this.formatDate.bind(this);
         this.onDefectsMessage = this.onDefectsMessage.bind(this);
-        this.onAccidentsMessage=this.onAccidentsMessage.bind(this);
-        this.isContains=this.isContains.bind(this);
+        this.onAccidentsMessage = this.onAccidentsMessage.bind(this);
+        this.isContains = this.isContains.bind(this);
+        this.refreshRecommendData = this.refreshRecommendData.bind(this);
+        this.onRDMessage = this.onRDMessage.bind(this);
 
+        this.refreshTPData();
+        this.refreshAlarmData();
+        this.refreshRecommendData();
 
         this.refreshTPTimer = setInterval(this.refreshTPData, 3000);// 标题栏数据
         this.refreshAlarmTimer = setInterval(this.refreshAlarmData, 10000);// 报警数据
+        this.refreshRecommendTimer = setInterval(this.refreshRecommendData, 3000);// 推荐数据
     }
 
     /* 数据刷新 */
@@ -62,6 +120,19 @@ export default class BackgroundData {
             );
     }
 
+    /* 刷新推荐信息 */
+    refreshRecommendData() {
+        var val = '';
+        for (var v in this.Recommends) {
+            val += v + ',';
+        }
+        axios.get(`http://192.168.10.18:8011/ts/latest?keys=${val}`)
+            .then(this.onRDMessage)
+            .catch(err =>
+                console.log(err)
+            );
+    }
+
     /* 刷新报警信息 */
     refreshAlarmData() {
         // http://192.168.10.18:8075/alarm
@@ -90,17 +161,17 @@ export default class BackgroundData {
     }
 
     /* 获得故障数据 */
-    onAccidentsMessage(msg){
+    onAccidentsMessage(msg) {
         if (!msg.data) return;
         this.Accidents = new Array();
-        for(var v in msg.data.records){
+        for (var v in msg.data.records) {
             var val = msg.data.records[v];
-            if(this.isContains(val.alertText,["跳闸","开关","刀闸","断路器","合位","分位"])){
+            if (this.isContains(val.alertText, ["跳闸", "开关", "刀闸", "断路器", "合位", "分位"])) {
                 this.Accidents.push(val);
-            }else{
-                if(val.rank=="5"){
+            } else {
+                if (val.rank == "5") {
                     this.Failure.push(val);
-                }else{
+                } else {
                     this.Defects.push(val);
                 }
             }
@@ -137,6 +208,23 @@ export default class BackgroundData {
         }
     }
 
+    /* 获得推荐信息数据 */
+    onRDMessage(msg) {
+        if (!msg.data) return;
+        for (var v in msg.data) {
+            var isact = false;
+            if (!msg.data[v].doubleValue) {
+                isact = msg.data[v].booleanValue
+            } else {
+                isact = msg.data[v].doubleValue != 0;
+            }
+            if (isact && !this.Recommends[v].isActive) {
+                this.Recommends[v].createTime = this.formatDate(new Date(), 'YY-MM-DD hh:mm');
+            }
+            this.Recommends[v].isActive = isact;
+        }
+    }
+
     /* 格式化时间 */
     formatDate(time, format = 'YY-MM-DD hh:mm:ss') {
         var date = new Date(time);
@@ -162,9 +250,9 @@ export default class BackgroundData {
     }
 
     /* 判断一个字符串中是否包含第二个字符串列表中的字符 */
-    isContains(str,strs){
-        for(var v in strs){
-            if(str.indexOf(strs[v])>0){
+    isContains(str, strs) {
+        for (var v in strs) {
+            if (str.indexOf(strs[v]) > 0) {
                 return true;
             }
         }

+ 27 - 39
src/components/StatusBar.vue

@@ -26,7 +26,7 @@
             </div>
           </template>
           <el-table
-            :data="gridData"
+            :data="hiddenDangerData"
             border
             border-color="rgb(36,36,36)"
             max-height="750px"
@@ -39,19 +39,19 @@
           >
             <el-table-column
               width="100"
-              property="date"
+              property="lastUpdateTime"
               label="时间"
               align="center"
             ></el-table-column>
             <el-table-column
               width="120"
-              property="name"
+              property="windturbineId"
               label="设备"
               align="center"
             ></el-table-column>
             <el-table-column
               width="300"
-              property="address"
+              property="alertText"
               label="故障信息"
               align="center"
             ></el-table-column>
@@ -73,7 +73,7 @@
             </div>
           </template>
           <el-table
-            :data="gridData"
+            :data="defectData"
             border
             border-color="rgb(36,36,36)"
             max-height="750px"
@@ -85,19 +85,19 @@
             :cell-style="{ background: 'Black', color: 'rgb(220,220,220)',}">
             <el-table-column
               width="100"
-              property="date"
+              property="lastUpdateTime"
               label="时间"
               align="center"
             ></el-table-column>
             <el-table-column
               width="120"
-              property="name"
+              property="windturbineId"
               label="设备"
               align="center"
             ></el-table-column>
             <el-table-column
               width="300"
-              property="address"
+              property="alertText"
               label="故障信息"
               align="center"
             ></el-table-column>
@@ -120,7 +120,7 @@
             </div>
           </template>
           <el-table
-            :data="gridData"
+            :data="malfunctionData"
             border
             border-color="rgb(36,36,36)"
             max-height="750px"
@@ -132,19 +132,19 @@
             :cell-style="{ background: 'Black', color: 'rgb(220,220,220)',}">
             <el-table-column
               width="100"
-              property="date"
+              property="lastUpdateTime"
               label="时间"
               align="center"
             ></el-table-column>
             <el-table-column
               width="120"
-              property="name"
+              property="stationName"
               label="设备"
               align="center"
             ></el-table-column>
             <el-table-column
               width="300"
-              property="address"
+              property="alertText"
               label="故障信息"
               align="center"
             ></el-table-column>
@@ -167,7 +167,7 @@
             </div>
           </template>
           <el-table
-            :data="gridData"
+            :data="accidentData"
             border
             border-color="rgb(36,36,36)"
             max-height="750px"
@@ -179,19 +179,19 @@
             :cell-style="{ background: 'Black', color: 'rgb(220,220,220)',}">
             <el-table-column
               width="100"
-              property="date"
+              property="lastUpdateTime"
               label="时间"
               align="center"
             ></el-table-column>
             <el-table-column
               width="120"
-              property="name"
+              property="stationName"
               label="设备"
               align="center"
             ></el-table-column>
             <el-table-column
               width="300"
-              property="address"
+              property="alertText"
               label="故障信息"
               align="center"
             ></el-table-column>
@@ -213,28 +213,11 @@ export default {
       accidentNum: 0,
       statusTimer: "",
       currentTime: "",
-      gridData: [
-        {
-          date: "2016-05-02",
-          name: "王小虎",
-          address: "上海市普陀区金沙江路 1518 弄",
-        },
-        {
-          date: "2016-05-04",
-          name: "王小虎",
-          address: "上海市普陀区金沙江路 1518 弄",
-        },
-        {
-          date: "2016-05-01",
-          name: "王小虎",
-          address: "上海市普陀区金沙江路 1518 弄",
-        },
-        {
-          date: "2016-05-03",
-          name: "王小虎",
-          address: "上海市普陀区金沙江路 1518 弄",
-        },
-      ],
+
+      hiddenDangerData:new Array(),
+      defectData:new Array(),
+      malfunctionData:new Array(),
+      accidentData:new Array(),
     };
   },
   mounted() {
@@ -274,7 +257,12 @@ export default {
       this.hiddenDangerNum = bd.HiddenProblems.length;
       this.defectNum = bd.Defects.length;
       this.malfunctionNum = bd.Failure.length;
-      this.accidentNum = bd.accidentNum.length;
+      this.accidentNum = bd.Accidents.length;
+
+      this.hiddenDangerData = bd.HiddenProblems;
+      this.defectData = bd.Defects;
+      this.malfunctionData = bd.Failure;
+      this.accidentData = bd.Accidents;
     }
   },
 };

+ 25 - 6
src/components/area/RecommendedArea.vue

@@ -6,24 +6,43 @@
     circle-style="green"
     content-style="37"
   >
-    <div>动态内容</div>
+    <div v-for="vl in values" :key="vl">
+      <div>{{vl.stationName}}</div>
+      <div>{{vl.content}}</div>
+      <div>{{vl.createTime}}</div>
+    </div>
   </gy-card>
 </template>
 
 <script>
+import BackgroundData from "../../assets/script/BackgroundData";
 export default {
   name: "RecommendedArea",
   props: ["datas"],
   data() {
     return {
-      
+      values: new Array(),
     };
   },
-  mounted() {
-    
+  created() {
+    this.initData();
   },
-  watch: {
-    
+  mounted() {},
+  watch: {},
+  methods: {
+    initData() {
+      setInterval(this.refreshData, 2000);
+    },
+    refreshData() {
+      var bd = BackgroundData.getInstance();
+      var ll = new Array();
+      for (var v in bd.Recommends) {
+        if (bd.Recommends[v].isActive) {
+          ll.push(bd.Recommends[v]);
+        }
+      }
+      this.values = ll;
+    },
   },
 };
 </script>