|
@@ -18,6 +18,9 @@ |
|
@@ -18,6 +18,9 @@ |
18
|
查看告警详情
|
18
|
查看告警详情
|
19
|
</a-button>
|
19
|
</a-button>
|
20
|
</template>
|
20
|
</template>
|
|
|
21
|
+ <template #toolbar>
|
|
|
22
|
+ <Button @click="handleBatchAck" type="primary">批量处理</Button>
|
|
|
23
|
+ </template>
|
21
|
</BasicTable>
|
24
|
</BasicTable>
|
22
|
<AlarmDetailDrawer @register="registerDetailDrawer" @success="handleSuccess" />
|
25
|
<AlarmDetailDrawer @register="registerDetailDrawer" @success="handleSuccess" />
|
23
|
</div>
|
26
|
</div>
|
|
@@ -26,10 +29,10 @@ |
|
@@ -26,10 +29,10 @@ |
26
|
import { defineComponent, nextTick, h } from 'vue';
|
29
|
import { defineComponent, nextTick, h } from 'vue';
|
27
|
import { BasicTable, useTable, TableAction } from '/@/components/Table';
|
30
|
import { BasicTable, useTable, TableAction } from '/@/components/Table';
|
28
|
import { alarmColumns, alarmSearchSchemas } from './config/detail.config';
|
31
|
import { alarmColumns, alarmSearchSchemas } from './config/detail.config';
|
29
|
- import { getDeviceAlarm } from '/@/api/device/deviceManager';
|
32
|
+ import { doBatchAckAlarm, getDeviceAlarm } from '/@/api/device/deviceManager';
|
30
|
import { useDrawer } from '/@/components/Drawer';
|
33
|
import { useDrawer } from '/@/components/Drawer';
|
31
|
import AlarmDetailDrawer from './cpns/AlarmDetailDrawer.vue';
|
34
|
import AlarmDetailDrawer from './cpns/AlarmDetailDrawer.vue';
|
32
|
- import { Modal } from 'ant-design-vue';
|
35
|
+ import { Modal, Button } from 'ant-design-vue';
|
33
|
import { JsonPreview } from '/@/components/CodeEditor';
|
36
|
import { JsonPreview } from '/@/components/CodeEditor';
|
34
|
import { getDeviceDetail } from '/@/api/device/deviceManager';
|
37
|
import { getDeviceDetail } from '/@/api/device/deviceManager';
|
35
|
import { getAttribute } from '/@/api/ruleengine/ruleengineApi';
|
38
|
import { getAttribute } from '/@/api/ruleengine/ruleengineApi';
|
|
@@ -38,17 +41,21 @@ |
|
@@ -38,17 +41,21 @@ |
38
|
operationString,
|
41
|
operationString,
|
39
|
operationBoolean,
|
42
|
operationBoolean,
|
40
|
} from '/@/views/rule/linkedge/config/formatData';
|
43
|
} from '/@/views/rule/linkedge/config/formatData';
|
|
|
44
|
+ import { AlarmLogItem } from '/@/api/device/model/deviceConfigModel';
|
|
|
45
|
+ import { AlarmStatus } from '/@/enums/alarmEnum';
|
|
|
46
|
+ import { useMessage } from '/@/hooks/web/useMessage';
|
41
|
|
47
|
|
42
|
export default defineComponent({
|
48
|
export default defineComponent({
|
43
|
name: 'AlarmCenter',
|
49
|
name: 'AlarmCenter',
|
44
|
components: {
|
50
|
components: {
|
|
|
51
|
+ Button,
|
45
|
BasicTable,
|
52
|
BasicTable,
|
46
|
TableAction,
|
53
|
TableAction,
|
47
|
AlarmDetailDrawer,
|
54
|
AlarmDetailDrawer,
|
48
|
},
|
55
|
},
|
49
|
|
56
|
|
50
|
setup() {
|
57
|
setup() {
|
51
|
- const [registerTable, { reload }] = useTable({
|
58
|
+ const [registerTable, { reload, getSelectRows, clearSelectedRowKeys }] = useTable({
|
52
|
title: '告警记录列表',
|
59
|
title: '告警记录列表',
|
53
|
api: getDeviceAlarm,
|
60
|
api: getDeviceAlarm,
|
54
|
columns: alarmColumns,
|
61
|
columns: alarmColumns,
|
|
@@ -61,6 +68,14 @@ |
|
@@ -61,6 +68,14 @@ |
61
|
bordered: true,
|
68
|
bordered: true,
|
62
|
showIndexColumn: false,
|
69
|
showIndexColumn: false,
|
63
|
showTableSetting: true,
|
70
|
showTableSetting: true,
|
|
|
71
|
+ rowSelection: {
|
|
|
72
|
+ type: 'checkbox',
|
|
|
73
|
+ getCheckboxProps: (record: AlarmLogItem) => {
|
|
|
74
|
+ return {
|
|
|
75
|
+ disabled: record.status === AlarmStatus.CLEARED_ACK,
|
|
|
76
|
+ };
|
|
|
77
|
+ },
|
|
|
78
|
+ },
|
64
|
actionColumn: {
|
79
|
actionColumn: {
|
65
|
width: 200,
|
80
|
width: 200,
|
66
|
title: '操作',
|
81
|
title: '操作',
|
|
@@ -148,12 +163,24 @@ |
|
@@ -148,12 +163,24 @@ |
148
|
attribute,
|
163
|
attribute,
|
149
|
};
|
164
|
};
|
150
|
};
|
165
|
};
|
|
|
166
|
+
|
|
|
167
|
+ const { createMessage } = useMessage();
|
|
|
168
|
+ const handleBatchAck = async () => {
|
|
|
169
|
+ const ids = getSelectRows<AlarmLogItem>().map((item) => item.id);
|
|
|
170
|
+
|
|
|
171
|
+ await doBatchAckAlarm(ids);
|
|
|
172
|
+ createMessage.success('操作成功');
|
|
|
173
|
+ clearSelectedRowKeys();
|
|
|
174
|
+ reload();
|
|
|
175
|
+ };
|
|
|
176
|
+
|
151
|
return {
|
177
|
return {
|
152
|
registerTable,
|
178
|
registerTable,
|
153
|
registerDetailDrawer,
|
179
|
registerDetailDrawer,
|
154
|
handleDetail,
|
180
|
handleDetail,
|
155
|
handleSuccess,
|
181
|
handleSuccess,
|
156
|
handleViewAlarmDetails,
|
182
|
handleViewAlarmDetails,
|
|
|
183
|
+ handleBatchAck,
|
157
|
};
|
184
|
};
|
158
|
},
|
185
|
},
|
159
|
});
|
186
|
});
|