liuying
2025-09-24 16edbbe772e24eb71f6519558576d513e3cf2746
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
89
90
91
92
93
94
95
96
97
98
<!--
 * @Author: 陈祝文 15821704398@163.com
 * @Date: 2023-03-14 08:37:51
 * @LastEditors: 陈祝文 15821704398@163.com
 * @LastEditTime: 2023-03-16 16:29:27
 * @FilePath: \iwara-scada-web\src\views\main\EquipmentCurrentMonitor\index.vue
 * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
-->
<template>
  <div>
    <a-card :bordered="false" :bodyStyle="tstyle">
      <div>
        <tab :statusEnums="statusEnums" :activeKey.sync="activeKey"></tab>
      </div>
    </a-card>
    <!-- 展示框 -->
    <a-card :bordered="false">
      <div class="equipment_flex" v-if="filterList.length > 0">
        <flex-item v-for="(item,index) in filterList" :key="item.id" :content="item" ></flex-item>
      </div>
      <div v-else>
        <a-empty />
      </div>
    </a-card>
  </div>
</template>
<script>
import moment from 'moment'
import { getEquipmentListQuery, getEquipmentEnums } from '@/api/modular/main/EquipmentCurrentMonitorManage'
import flexItem from './modules/flexItem.vue'
import tab from './modules/tab.vue'
export default {
  components: {
    tab,
    flexItem
  },
  data() {
    return {
      tstyle: { 'padding-bottom': '0px', 'margin-bottom': '10px' },
      activeKey: '0',
      timer: null,
      statusEnums: [], // 设备状态
      equipmentList: [], // 总的列表
      filterList: [] // 赛选后的列表
    }
  },
  watch: {
    activeKey(val) {
      if (val == 0) {
        this.filterList = this.equipmentList
      } else {
        this.filterList = this.equipmentList.filter((item) => item.equipmentCurrentState == val)
      }
    }
  },
 
  created() {
    this.getEquipmentList()
    this.getEquipmentStatusEnum()
    this.timer = setInterval(this.getEquipmentList, 10000)
  },
 
  beforeDestroy() {
    clearInterval(this.timer)
  },
 
  methods: {
    // 获取所有设备列表及状态
    getEquipmentList() {
      getEquipmentListQuery().then((res) => {
        this.equipmentList = res.data
        if (this.activeKey == 0) {
          this.filterList = this.equipmentList
        } else {
          this.filterList = this.equipmentList.filter((item) => item.equipmentCurrentState == this.activeKey)
        }
 
        this.getEquipmentStatusEnum()
        // console.log(this.filterList, 'this.filterList')
        // this.filterList = res.data
      })
    },
    getEquipmentStatusEnum() {
      getEquipmentEnums().then((res) => {
        this.statusEnums = res.data
      })
    }
  }
}
</script>
<style lang="less" scoped>
.equipment_flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  align-content: center;
}
</style>