liulingling.177216
2024-08-26 349f1cfc5fa77fbc636d542df0d8050fddec48c2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
<template>
  <div class="app-container" style="padding: 0">
    <div style="display: flex;width: 100%;height: 53px;align-items: center;justify-content: center">
      <span>{{currentNode?currentNode.label:''}}监控设备状态信息</span>
    </div>
    <div style="margin-bottom:10px;">
      设备状态列表
    </div>
    <el-table
      :data="stateTableData"
      border
      style="width: 100%">
      <el-table-column
        prop="modelNodeName"
        label="设备名称"
        align="center">
      </el-table-column>
      <el-table-column
        prop="statusName"
        label="当前状态"
        align="center">
        <template slot-scope="scope">
          <div :style="{'color':scope.row.stateType.colorNumber}">{{scope.row.statusName}}</div>
        </template>
      </el-table-column>
    </el-table>
  </div>
</template>
 
<script>
  import {getRealTimeMonitoring} from "@/api/equipmentMonitor/realTimeMonitoring/realTimeMonitoring";
    export default {
        name: "stateTable",
      data(){
          return{
            stateTableData: [],
            currentNode:undefined,
            resposeJson:undefined,
            colorNumber:undefined,
          }
      },
      created(){
 
      },
      mounted()
      {
        this.getConfigKey("equipmentMonitor.realTimeMonitoring.intervalTime").then(response => {
          this.intervalTime = response.msg;
 
          this.timer = setInterval(this.getList, this.intervalTime);
        });
      },
      beforeDestroy() {
        //页面销毁时 要停止计时器,否则选项卡切换计时器不停止,会越来越快,多个线程
        if(this.timer) {
          clearInterval(this.timer);
        }
      },
      methods:{
        modelNodeChange(modelNode,deviceCategory) {
          if (modelNode) {
            this.currentNode = modelNode;
            this.currentNodeId = modelNode.id;
            this.deviceCategory = deviceCategory;
            if("5"===this.deviceCategory){
              this.getList();
            }else {
            this.stateTableData = [];
            }
          }
        },
        getList(){
          getRealTimeMonitoring(this.currentNodeId).then(response => {
            this.stateTableData = [];
            if(response.rows!=undefined && response.rows[0]!=null)
            {
              response.rows[0].modelNodeName=this.currentNode.label;
              this.stateTableData = response.rows;
            }
          });
        }
      }
    }
</script>
 
<style scoped>
 
</style>