@riil-frontend/component-topology 8.0.0-a.10 → 8.0.0-a.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,171 @@
1
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
3
+ import { useRequest } from 'ahooks';
4
+ import { useEffect, useState } from 'react';
5
+ import alarmService from "../../../../../../../services/alarm";
6
+ import service from "../../../../../../../services/overview";
7
+ /**
8
+ * 概览指标定义
9
+ * @param {*} props
10
+ */
11
+
12
+ var useAlarmAndRiskData = function useAlarmAndRiskData(props) {
13
+ var id = props.id,
14
+ isAppTopo = props.isAppTopo,
15
+ resourceOverviewProps = props.resourceOverviewProps,
16
+ childrenIds = props.childrenIds,
17
+ userId = props.userId;
18
+
19
+ var _useState = useState([]),
20
+ alarmRiskList = _useState[0],
21
+ setAlarmRiskList = _useState[1]; // 获取告警/风险信息
22
+
23
+
24
+ function getAlarmRiskData(_x) {
25
+ return _getAlarmRiskData.apply(this, arguments);
26
+ } // 轮询hooks
27
+
28
+
29
+ function _getAlarmRiskData() {
30
+ _getAlarmRiskData = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(id) {
31
+ var _alarmList, _yield$resourceOvervi, alarmList, _yield$alarmService$g, _alarmList2, AllComponentsByCiId, _yield$service$getRis, riskList;
32
+
33
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
34
+ while (1) {
35
+ switch (_context.prev = _context.next) {
36
+ case 0:
37
+ if (!isAppTopo) {
38
+ _context.next = 9;
39
+ break;
40
+ }
41
+
42
+ _context.next = 3;
43
+ return resourceOverviewProps === null || resourceOverviewProps === void 0 ? void 0 : resourceOverviewProps.getData({
44
+ id: id // metrics: topModelMetrics,
45
+
46
+ });
47
+
48
+ case 3:
49
+ _yield$resourceOvervi = _context.sent;
50
+ alarmList = _yield$resourceOvervi.alarms;
51
+ alarmList = ((_alarmList = alarmList) === null || _alarmList === void 0 ? void 0 : _alarmList.map(function (item) {
52
+ return {
53
+ type: 'alarm',
54
+ icon: 'gaojing-3',
55
+ className: "alarm-color-icon-lv" + item.alertLevel,
56
+ title: "[" + item.alertObject + "] " + item.alertTitle,
57
+ link: "/default/pagecenter/alertDetail/view/" + item.alertId + "?alertId=" + item.alertId + "&resId=" + item.ciId + "&title=" + item.alertObject + "&ruleId=" + item.ruleId,
58
+ time: item.createTime,
59
+ status: item.status,
60
+ params: [{
61
+ alertId: item.alertId,
62
+ status: 'dealing',
63
+ userId: userId,
64
+ isBaseAlert: false
65
+ }]
66
+ };
67
+ })) || [];
68
+ setAlarmRiskList(alarmList);
69
+ _context.next = 24;
70
+ break;
71
+
72
+ case 9:
73
+ _context.next = 11;
74
+ return alarmService.getAlarmByIds([id].concat(childrenIds), {
75
+ alertStatusList: ['toDeal', 'woDealing', 'dealing'],
76
+ // toDeal: 待处理, dealing:处理中
77
+ pageNum: 1,
78
+ pageSize: 10000,
79
+ sortField: 'alertLevel',
80
+ sortOrder: 'asc'
81
+ });
82
+
83
+ case 11:
84
+ _yield$alarmService$g = _context.sent;
85
+ _alarmList2 = _yield$alarmService$g.datas;
86
+ // 2022-07-16 后端不支持多列排序,暂通过前端实现,按创建时间倒序
87
+ _alarmList2 = _alarmList2.sort(function (a, b) {
88
+ return b.createTime - a.createTime;
89
+ });
90
+ _alarmList2 = _alarmList2.map(function (item) {
91
+ return {
92
+ type: 'alarm',
93
+ icon: 'gaojing-3',
94
+ className: "alarm-color-icon-lv" + item.alertLevel,
95
+ title: "" + item.alertObject + item.alertTitle,
96
+ link: "/default/pagecenter/alertDetail/view/" + item.alertId + "?alertId=" + item.alertId + "&resId=" + item.ciId + "&title=" + item.alertObject + "&ruleId=" + item.ruleId,
97
+ time: item.createTime,
98
+ status: item.status,
99
+ params: [{
100
+ alertId: item.alertId,
101
+ status: 'dealing',
102
+ userId: userId,
103
+ isBaseAlert: false
104
+ }]
105
+ };
106
+ }); // fix NEWITOM-33635【南昌大学】网络拓扑上双击设备拉开的抽屉中无法看到风险
107
+
108
+ _context.next = 17;
109
+ return service.queryAllComponentsByCiId(id);
110
+
111
+ case 17:
112
+ AllComponentsByCiId = _context.sent;
113
+ _context.next = 20;
114
+ return service.getRiskByIds({
115
+ ciIdList: [id].concat(childrenIds, AllComponentsByCiId.map(function (item) {
116
+ return item.id;
117
+ })),
118
+ statusList: ['toDeal', 'dealing'],
119
+ current: 1,
120
+ pageSize: 10000
121
+ });
122
+
123
+ case 20:
124
+ _yield$service$getRis = _context.sent;
125
+ riskList = _yield$service$getRis.content;
126
+ riskList = riskList.map(function (item) {
127
+ return {
128
+ type: 'risk',
129
+ icon: 'Overall_risk_full',
130
+ className: 'risk-icon',
131
+ title: "" + item.ciName + item.itemName,
132
+ link: "/default/inspectionTaskList/inspectionReport?title=" + item.ciName + "&reportId=" + item.executeId + "&reportTime=" + item.executeTime + "&reportType=" + item.viewType + "&reportName=" + item.reportName,
133
+ time: item.firstFoundTime
134
+ };
135
+ }); // console.log('告警和风险', alarmList, riskList);
136
+
137
+ setAlarmRiskList([].concat(_alarmList2, riskList));
138
+
139
+ case 24:
140
+ case "end":
141
+ return _context.stop();
142
+ }
143
+ }
144
+ }, _callee);
145
+ }));
146
+ return _getAlarmRiskData.apply(this, arguments);
147
+ }
148
+
149
+ var request = useRequest(getAlarmRiskData, {
150
+ pollingInterval: 1000 * 15,
151
+ pollingWhenHidden: false,
152
+ // debounceInterval: 200,
153
+ manual: true,
154
+ onSuccess: function onSuccess() {}
155
+ });
156
+ useEffect(function () {
157
+ setAlarmRiskList([]);
158
+ request.run(id);
159
+ return function () {
160
+ request.cancel();
161
+ };
162
+ }, [id]);
163
+ return {
164
+ alarmRiskList: alarmRiskList,
165
+ refreshAlarmData: function refreshAlarmData() {
166
+ request.run();
167
+ }
168
+ };
169
+ };
170
+
171
+ export default useAlarmAndRiskData;
@@ -54,7 +54,7 @@ var _ElementTagTipConfig = _interopRequireDefault(require("./tagstips/ElementTag
54
54
  var _SelectionModel = _interopRequireDefault(require("./SelectionModel"));
55
55
 
56
56
  // eslint-disable-next-line no-undef
57
- var version = typeof "8.0.0-a.10" === 'string' ? "8.0.0-a.10" : null;
57
+ var version = typeof "8.0.0-a.11" === 'string' ? "8.0.0-a.11" : null;
58
58
  console.info("\u62D3\u6251\u7248\u672C: " + version);
59
59
  /**
60
60
  * 拓扑显示和编辑
@@ -13,6 +13,10 @@ var _componentTopologyUtils = require("@riil-frontend/component-topology-utils")
13
13
 
14
14
  var _cmdb = require("./cmdb");
15
15
 
16
+ // 机房可上架设备类型缓存数据
17
+ var roomDeviceTypeList = null; // 资源子组件缓存
18
+
19
+ var ciComponentsMap = {};
16
20
  var _default = {
17
21
  /**
18
22
  * 根据资源id获取风险
@@ -46,19 +50,31 @@ var _default = {
46
50
  */
47
51
  queryAllComponentsByCiId: function queryAllComponentsByCiId(id) {
48
52
  return (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
53
+ var components;
49
54
  return _regenerator["default"].wrap(function _callee2$(_context2) {
50
55
  while (1) {
51
56
  switch (_context2.prev = _context2.next) {
52
57
  case 0:
53
- _context2.next = 2;
58
+ components = ciComponentsMap[id];
59
+
60
+ if (components) {
61
+ _context2.next = 6;
62
+ break;
63
+ }
64
+
65
+ _context2.next = 4;
54
66
  return _componentTopologyUtils.request.post('/mdc/v1/api/cmdb/queryAllComponentsByCiId', {
55
67
  id: id
56
68
  });
57
69
 
58
- case 2:
59
- return _context2.abrupt("return", _context2.sent);
70
+ case 4:
71
+ components = _context2.sent;
72
+ ciComponentsMap[id] = components;
60
73
 
61
- case 3:
74
+ case 6:
75
+ return _context2.abrupt("return", components);
76
+
77
+ case 7:
62
78
  case "end":
63
79
  return _context2.stop();
64
80
  }
@@ -197,13 +213,21 @@ var _default = {
197
213
  while (1) {
198
214
  switch (_context8.prev = _context8.next) {
199
215
  case 0:
200
- _context8.next = 2;
201
- return _componentTopologyUtils.request.post("/room/v1/api/device/type/list", {});
216
+ if (roomDeviceTypeList) {
217
+ _context8.next = 4;
218
+ break;
219
+ }
202
220
 
203
- case 2:
204
- return _context8.abrupt("return", _context8.sent);
221
+ _context8.next = 3;
222
+ return _componentTopologyUtils.request.post("/room/v1/api/device/type/list", {});
205
223
 
206
224
  case 3:
225
+ roomDeviceTypeList = _context8.sent;
226
+
227
+ case 4:
228
+ return _context8.abrupt("return", roomDeviceTypeList);
229
+
230
+ case 5:
207
231
  case "end":
208
232
  return _context8.stop();
209
233
  }