Showing
1 changed file
with
78 additions
and
25 deletions
1 | -import { alarmLevel, statusType } from '/@/views/device/list/config/detail.config'; | 1 | +import { alarmLevel } from '/@/views/device/list/config/detail.config'; |
2 | import { FormSchema } from '/@/components/Form'; | 2 | import { FormSchema } from '/@/components/Form'; |
3 | import { BasicColumn } from '/@/components/Table'; | 3 | import { BasicColumn } from '/@/components/Table'; |
4 | import moment from 'moment'; | 4 | import moment from 'moment'; |
5 | import { findDictItemByCode } from '/@/api/system/dict'; | 5 | import { findDictItemByCode } from '/@/api/system/dict'; |
6 | -import { AlarmStatus, AlarmStatusMean } from '/@/enums/alarmEnum'; | 6 | +import { AlarmStatus } from '/@/enums/alarmEnum'; |
7 | +import { Tag } from 'ant-design-vue'; | ||
8 | +import { h } from 'vue'; | ||
7 | 9 | ||
8 | export const alarmSearchSchemas: FormSchema[] = [ | 10 | export const alarmSearchSchemas: FormSchema[] = [ |
9 | { | 11 | { |
10 | field: 'status', | 12 | field: 'status', |
11 | label: '告警状态', | 13 | label: '告警状态', |
12 | - component: 'Select', | 14 | + component: 'Cascader', |
13 | colProps: { span: 6 }, | 15 | colProps: { span: 6 }, |
14 | componentProps: { | 16 | componentProps: { |
15 | options: [ | 17 | options: [ |
16 | { | 18 | { |
17 | - label: AlarmStatusMean[AlarmStatus.CLEARED_UN_ACK], | ||
18 | - value: AlarmStatus.CLEARED_UN_ACK, | 19 | + value: '0', |
20 | + label: '清除', | ||
21 | + children: [ | ||
22 | + { | ||
23 | + value: AlarmStatus.CLEARED_UN_ACK, | ||
24 | + label: '清除未确认', | ||
25 | + }, | ||
26 | + { | ||
27 | + value: AlarmStatus.CLEARED_ACK, | ||
28 | + label: '清除已确认', | ||
29 | + }, | ||
30 | + ], | ||
19 | }, | 31 | }, |
20 | { | 32 | { |
21 | - label: AlarmStatusMean[AlarmStatus.ACTIVE_UN_ACK], | ||
22 | - value: AlarmStatus.ACTIVE_UN_ACK, | ||
23 | - }, | ||
24 | - { | ||
25 | - label: AlarmStatusMean[AlarmStatus.CLEARED_ACK], | ||
26 | - value: AlarmStatus.CLEARED_ACK, | ||
27 | - }, | ||
28 | - { | ||
29 | - label: AlarmStatusMean[AlarmStatus.ACTIVE_ACK], | ||
30 | - value: AlarmStatus.ACTIVE_ACK, | 33 | + value: '1', |
34 | + label: '激活', | ||
35 | + children: [ | ||
36 | + { | ||
37 | + value: AlarmStatus.ACTIVE_UN_ACK, | ||
38 | + label: '激活未确认', | ||
39 | + }, | ||
40 | + { | ||
41 | + value: AlarmStatus.ACTIVE_ACK, | ||
42 | + label: '激活已确认', | ||
43 | + }, | ||
44 | + ], | ||
31 | }, | 45 | }, |
32 | ], | 46 | ], |
47 | + // options: [ | ||
48 | + // { | ||
49 | + // label: AlarmStatusMean[AlarmStatus.CLEARED_UN_ACK], | ||
50 | + // value: AlarmStatus.CLEARED_UN_ACK, | ||
51 | + // }, | ||
52 | + // { | ||
53 | + // label: AlarmStatusMean[AlarmStatus.ACTIVE_UN_ACK], | ||
54 | + // value: AlarmStatus.ACTIVE_UN_ACK, | ||
55 | + // }, | ||
56 | + // { | ||
57 | + // label: AlarmStatusMean[AlarmStatus.CLEARED_ACK], | ||
58 | + // value: AlarmStatus.CLEARED_ACK, | ||
59 | + // }, | ||
60 | + // { | ||
61 | + // label: AlarmStatusMean[AlarmStatus.ACTIVE_ACK], | ||
62 | + // value: AlarmStatus.ACTIVE_ACK, | ||
63 | + // }, | ||
64 | + // ], | ||
33 | }, | 65 | }, |
34 | }, | 66 | }, |
35 | { | 67 | { |
@@ -103,16 +135,29 @@ export const alarmSearchSchemas: FormSchema[] = [ | @@ -103,16 +135,29 @@ export const alarmSearchSchemas: FormSchema[] = [ | ||
103 | colProps: { span: 6 }, | 135 | colProps: { span: 6 }, |
104 | }, | 136 | }, |
105 | ]; | 137 | ]; |
138 | + | ||
139 | +const handleAlarmStatus = (status: string) => { | ||
140 | + return status.split('_').includes('ACTIVE'); | ||
141 | +}; | ||
142 | + | ||
143 | +const handleAlarmAckStatus = (status: string) => { | ||
144 | + return status.split('_').includes('ACK'); | ||
145 | +}; | ||
146 | + | ||
106 | export const alarmColumns: BasicColumn[] = [ | 147 | export const alarmColumns: BasicColumn[] = [ |
107 | { | 148 | { |
108 | - title: '告警时间', | ||
109 | - dataIndex: 'createdTime', | ||
110 | - width: 120, | 149 | + title: '告警状态', |
150 | + dataIndex: 'status', | ||
151 | + customRender({ record }: { record }) { | ||
152 | + const flag = handleAlarmStatus(record.status); | ||
153 | + return h(Tag, { color: flag ? 'green' : 'red' }, () => (flag ? '激活' : '清除')); | ||
154 | + }, | ||
155 | + width: 90, | ||
111 | }, | 156 | }, |
112 | { | 157 | { |
113 | title: '告警设备', | 158 | title: '告警设备', |
114 | dataIndex: 'deviceName', | 159 | dataIndex: 'deviceName', |
115 | - width: 100, | 160 | + width: 180, |
116 | customRender: ({ record }) => { | 161 | customRender: ({ record }) => { |
117 | const { deviceAlias, deviceName } = record || {}; | 162 | const { deviceAlias, deviceName } = record || {}; |
118 | return deviceAlias || deviceName; | 163 | return deviceAlias || deviceName; |
@@ -121,12 +166,12 @@ export const alarmColumns: BasicColumn[] = [ | @@ -121,12 +166,12 @@ export const alarmColumns: BasicColumn[] = [ | ||
121 | { | 166 | { |
122 | title: '告警场景', | 167 | title: '告警场景', |
123 | dataIndex: 'type', | 168 | dataIndex: 'type', |
124 | - width: 160, | 169 | + width: 180, |
125 | }, | 170 | }, |
126 | { | 171 | { |
127 | title: '告警级别', | 172 | title: '告警级别', |
128 | dataIndex: 'severity', | 173 | dataIndex: 'severity', |
129 | - width: 160, | 174 | + width: 90, |
130 | format: (text) => alarmLevel(text), | 175 | format: (text) => alarmLevel(text), |
131 | }, | 176 | }, |
132 | { | 177 | { |
@@ -136,10 +181,18 @@ export const alarmColumns: BasicColumn[] = [ | @@ -136,10 +181,18 @@ export const alarmColumns: BasicColumn[] = [ | ||
136 | width: 160, | 181 | width: 160, |
137 | }, | 182 | }, |
138 | { | 183 | { |
139 | - title: '状态', | ||
140 | - dataIndex: 'status', | ||
141 | - format: (text) => statusType(text), | ||
142 | - width: 160, | 184 | + title: '确认状态', |
185 | + dataIndex: 'ackStatus', | ||
186 | + customRender({ record }: { record }) { | ||
187 | + const flag = handleAlarmAckStatus(record.status); | ||
188 | + return h(Tag, { color: flag ? 'green' : 'red' }, () => (flag ? '已确认' : '未确认')); | ||
189 | + }, | ||
190 | + width: 110, | ||
191 | + }, | ||
192 | + { | ||
193 | + title: '告警时间', | ||
194 | + dataIndex: 'createdTime', | ||
195 | + width: 130, | ||
143 | }, | 196 | }, |
144 | ]; | 197 | ]; |
145 | 198 |