config.ts
2.97 KB
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
99
100
101
102
103
104
105
106
107
108
109
110
import { findDictItemByCode } from '/@/api/system/dict';
import { BasicColumn, FormSchema } from '/@/components/Table';
import { AlarmStatus } from '/@/enums/alarmEnum';
import { alarmLevel } from '/@/views/device/list/config/detail.config';
import { Tag } from 'ant-design-vue';
import { h } from 'vue';
import { useI18n } from '/@/hooks/web/useI18n';
const { t } = useI18n();
// 表格配置
export const columns: BasicColumn[] = [
{
title: t('monitor.alarm.log.table.state'),
dataIndex: 'status',
customRender({ record }: { record }) {
const flag = !!record.cleared;
return h(Tag, { color: flag ? 'green' : 'red' }, () =>
flag ? t('monitor.alarm.log.search.cleanUp') : t('monitor.alarm.log.search.activation')
);
},
width: 90,
},
{
title: t('monitor.alarm.log.device'),
dataIndex: 'deviceName',
customRender: ({ record }) => {
const { deviceAlias, deviceName } = record || {};
return deviceAlias || deviceName;
},
},
{
title: t('monitor.alarm.log.scenario'),
dataIndex: 'type',
},
{
title: t('monitor.alarm.log.level'),
dataIndex: 'severity',
format: (text) => alarmLevel(text),
},
{
title: t('monitor.alarm.log.time'),
dataIndex: 'createdTime',
},
{
title: t('monitor.alarm.log.table.detail'),
dataIndex: 'details',
slots: { customRender: 'details' },
},
];
// 表格查询表单
export const searchFormSchema: FormSchema[] = [
{
field: 'status',
label: t('monitor.alarm.log.search.alarmOkState'),
component: 'Cascader',
helpMessage: t('monitor.alarm.log.search.message'),
colProps: { span: 6 },
componentProps: {
popupClassName: 'alarm-stauts-cascader',
options: [
{
value: '0',
label: t('monitor.alarm.log.search.cleanUp'),
children: [
{
value: AlarmStatus.CLEARED_UN_ACK,
label: t('enum.alarmStaus.CLEARED_UNACK'),
},
{
value: AlarmStatus.CLEARED_ACK,
label: t('enum.alarmStaus.CLEARED_ACK'),
},
],
},
{
value: '1',
label: t('monitor.alarm.log.search.activation'),
children: [
{
value: AlarmStatus.ACTIVE_UN_ACK,
label: t('enum.alarmStaus.ACTIVE_UNACK'),
},
{
value: AlarmStatus.ACTIVE_ACK,
label: t('enum.alarmStaus.ACTIVE_ACK'),
},
],
},
],
placeholder: t('common.chooseText') + t('monitor.alarm.log.search.alarmOkState'),
},
},
{
field: 'severity',
label: t('monitor.alarm.log.level'),
component: 'ApiSelect',
colProps: { span: 6 },
componentProps: {
placeholder: t('common.chooseText') + t('monitor.alarm.log.level'),
api: findDictItemByCode,
params: {
dictCode: 'severity_type',
},
labelField: 'itemText',
valueField: 'itemValue',
},
},
];