@riil-frontend/component-topology 8.0.0-a.9 → 8.0.1

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;
@@ -148,7 +148,7 @@ export default {
148
148
  */
149
149
  queryAssociatedlinks: function queryAssociatedlinks(ids, type) {
150
150
  return _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee5() {
151
- var stag, ttag, condition, parm, jsonParm, result;
151
+ var stag, ttag, condition, parm, result;
152
152
  return _regeneratorRuntime.wrap(function _callee5$(_context5) {
153
153
  while (1) {
154
154
  switch (_context5.prev = _context5.next) {
@@ -167,28 +167,27 @@ export default {
167
167
  sort: "name asc",
168
168
  currentPage: 1,
169
169
  pageSize: 99
170
- };
171
- jsonParm = JSON.stringify(parm); // console.log("queryAssociatedlinks", ids, parm, jsonParm);
170
+ }; // console.log("queryAssociatedlinks", ids, parm, jsonParm);
172
171
 
173
- _context5.prev = 6;
174
- _context5.next = 9;
175
- return request.post("/mdc/v1/api/cmdb/commonQueryCiData", jsonParm);
172
+ _context5.prev = 5;
173
+ _context5.next = 8;
174
+ return request.post("/mdc/v1/api/cmdb/commonQueryCiData", parm);
176
175
 
177
- case 9:
176
+ case 8:
178
177
  result = _context5.sent;
179
178
  return _context5.abrupt("return", result);
180
179
 
181
- case 13:
182
- _context5.prev = 13;
183
- _context5.t0 = _context5["catch"](6);
180
+ case 12:
181
+ _context5.prev = 12;
182
+ _context5.t0 = _context5["catch"](5);
184
183
  rlog.error("查询可关联链路", _context5.t0);
185
184
 
186
- case 16:
185
+ case 15:
187
186
  case "end":
188
187
  return _context5.stop();
189
188
  }
190
189
  }
191
- }, _callee5, null, [[6, 13]]);
190
+ }, _callee5, null, [[5, 12]]);
192
191
  }))();
193
192
  }
194
193
  };
@@ -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.9" === 'string' ? "8.0.0-a.9" : null;
57
+ var version = typeof "8.0.1" === 'string' ? "8.0.1" : 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
  }
@@ -15,13 +15,19 @@ var _rlog = _interopRequireDefault(require("@riil-frontend/component-topology-ut
15
15
 
16
16
  var _lodash = _interopRequireDefault(require("lodash"));
17
17
 
18
- var _topoData = require("../../../utils/topoData");
19
-
20
18
  /**
21
19
  * 告警
22
20
  */
23
21
  var showAlarmStatus = ["toDeal", "dealing", "change", "woDealing"];
24
22
 
23
+ var sortList = function sortList(a, b) {
24
+ if (a.level === b.level) {
25
+ return a.obj.createTime - b.obj.createTime;
26
+ } else {
27
+ return a.level - b.level;
28
+ }
29
+ };
30
+
25
31
  function _default(topo) {
26
32
  return {
27
33
  // 定义 model 的初始 state
@@ -124,7 +130,7 @@ function _default(topo) {
124
130
  }) < 0) {
125
131
  var newArr = [].concat(doc[rid]);
126
132
  newArr.push(item);
127
- doc[rid] = newArr.sort(_topoData.sortList);
133
+ doc[rid] = newArr.sort(sortList);
128
134
  }
129
135
  } else {
130
136
  doc[rid] = [item];
@@ -155,7 +161,7 @@ function _default(topo) {
155
161
  status: old.status
156
162
  }));
157
163
 
158
- doc[rid] = _newArr.sort(_topoData.sortList);
164
+ doc[rid] = _newArr.sort(sortList);
159
165
 
160
166
  _rlog["default"].debug("告警级别变更", doc[rid], item);
161
167
  } else {