@riil-frontend/component-topology 8.0.0-a.8 → 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.
- package/build/index.js +11 -11
- package/es/core/hooks/usePolling.js +3 -3
- package/es/core/models/TopoApp.js +1 -1
- package/es/core/models/utils/linkUtils.js +31 -63
- package/es/core/services/overview.js +33 -9
- package/es/core/store/models/topoAlarm.js +9 -1
- package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/ResourceOverview.js +124 -251
- package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/ResourceOverviewMetric.js +4 -2
- package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/LinkTopo/hooks/useMetricPolling.js +2 -2
- package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/hooks/useAlarmAndRiskData.js +171 -0
- package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/hooks/useMetricModels.js +3 -3
- package/es/networkTopo/services/link.js +11 -12
- package/lib/core/hooks/usePolling.js +3 -3
- package/lib/core/models/TopoApp.js +1 -1
- package/lib/core/models/utils/linkUtils.js +32 -67
- package/lib/core/services/overview.js +32 -8
- package/lib/core/store/models/topoAlarm.js +10 -4
- package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/ResourceOverview.js +125 -251
- package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/ResourceOverviewMetric.js +4 -2
- package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/LinkTopo/hooks/useMetricPolling.js +2 -2
- package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/hooks/useAlarmAndRiskData.js +184 -0
- package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/hooks/useMetricModels.js +3 -3
- package/lib/networkTopo/services/link.js +11 -12
- package/package.json +2 -2
@@ -78,7 +78,8 @@ function ResourceOverviewMetric(props) {
|
|
78
78
|
var topo = props.topo,
|
79
79
|
type = props.type,
|
80
80
|
data = props.data,
|
81
|
-
loading = props.loading
|
81
|
+
loading = props.loading,
|
82
|
+
formatMetricLatestValue = props.formatMetricLatestValue;
|
82
83
|
|
83
84
|
function formatValue(itemData) {
|
84
85
|
var _list;
|
@@ -87,7 +88,8 @@ function ResourceOverviewMetric(props) {
|
|
87
88
|
metricItem = itemData.metricItem,
|
88
89
|
list = itemData.list;
|
89
90
|
var format = (0, _utils.metricValueFormat)({
|
90
|
-
|
91
|
+
// 支持业务拓扑历史时间点指标值处理
|
92
|
+
value: formatMetricLatestValue ? formatMetricLatestValue(list) : (_list = list[list.length - 1]) === null || _list === void 0 ? void 0 : _list.metricValue,
|
91
93
|
dataType: metricItem.dataType,
|
92
94
|
dict: topo.dictCache.getDictObject(),
|
93
95
|
unit: metricItem.unit,
|
@@ -37,7 +37,7 @@ function useMetricPolling(_ref) {
|
|
37
37
|
|
38
38
|
|
39
39
|
var queryLinkMetricsRequest = (0, _ahooks.useRequest)(_services.queryLinkLatestMetrics, {
|
40
|
-
pollingInterval:
|
40
|
+
pollingInterval: 60 * 1000,
|
41
41
|
pollingWhenHidden: false,
|
42
42
|
debounceInterval: 200,
|
43
43
|
manual: true,
|
@@ -48,7 +48,7 @@ function useMetricPolling(_ref) {
|
|
48
48
|
}
|
49
49
|
});
|
50
50
|
var queryInterfaceMetricsRequest = (0, _ahooks.useRequest)(_services.queryLinkInterfacesLatestMetrics, {
|
51
|
-
pollingInterval:
|
51
|
+
pollingInterval: 60 * 1000,
|
52
52
|
pollingWhenHidden: false,
|
53
53
|
debounceInterval: 200,
|
54
54
|
manual: true,
|
@@ -0,0 +1,184 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4
|
+
|
5
|
+
exports.__esModule = true;
|
6
|
+
exports["default"] = void 0;
|
7
|
+
|
8
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
9
|
+
|
10
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
11
|
+
|
12
|
+
var _ahooks = require("ahooks");
|
13
|
+
|
14
|
+
var _react = require("react");
|
15
|
+
|
16
|
+
var _alarm = _interopRequireDefault(require("../../../../../../../services/alarm"));
|
17
|
+
|
18
|
+
var _overview = _interopRequireDefault(require("../../../../../../../services/overview"));
|
19
|
+
|
20
|
+
/**
|
21
|
+
* 概览指标定义
|
22
|
+
* @param {*} props
|
23
|
+
*/
|
24
|
+
var useAlarmAndRiskData = function useAlarmAndRiskData(props) {
|
25
|
+
var id = props.id,
|
26
|
+
isAppTopo = props.isAppTopo,
|
27
|
+
resourceOverviewProps = props.resourceOverviewProps,
|
28
|
+
childrenIds = props.childrenIds,
|
29
|
+
userId = props.userId;
|
30
|
+
|
31
|
+
var _useState = (0, _react.useState)([]),
|
32
|
+
alarmRiskList = _useState[0],
|
33
|
+
setAlarmRiskList = _useState[1]; // 获取告警/风险信息
|
34
|
+
|
35
|
+
|
36
|
+
function getAlarmRiskData(_x) {
|
37
|
+
return _getAlarmRiskData.apply(this, arguments);
|
38
|
+
} // 轮询hooks
|
39
|
+
|
40
|
+
|
41
|
+
function _getAlarmRiskData() {
|
42
|
+
_getAlarmRiskData = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(id) {
|
43
|
+
var _alarmList, _yield$resourceOvervi, alarmList, _yield$alarmService$g, _alarmList2, AllComponentsByCiId, _yield$service$getRis, riskList;
|
44
|
+
|
45
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
46
|
+
while (1) {
|
47
|
+
switch (_context.prev = _context.next) {
|
48
|
+
case 0:
|
49
|
+
if (!isAppTopo) {
|
50
|
+
_context.next = 9;
|
51
|
+
break;
|
52
|
+
}
|
53
|
+
|
54
|
+
_context.next = 3;
|
55
|
+
return resourceOverviewProps === null || resourceOverviewProps === void 0 ? void 0 : resourceOverviewProps.getData({
|
56
|
+
id: id // metrics: topModelMetrics,
|
57
|
+
|
58
|
+
});
|
59
|
+
|
60
|
+
case 3:
|
61
|
+
_yield$resourceOvervi = _context.sent;
|
62
|
+
alarmList = _yield$resourceOvervi.alarms;
|
63
|
+
alarmList = ((_alarmList = alarmList) === null || _alarmList === void 0 ? void 0 : _alarmList.map(function (item) {
|
64
|
+
return {
|
65
|
+
type: 'alarm',
|
66
|
+
icon: 'gaojing-3',
|
67
|
+
className: "alarm-color-icon-lv" + item.alertLevel,
|
68
|
+
title: "[" + item.alertObject + "] " + item.alertTitle,
|
69
|
+
link: "/default/pagecenter/alertDetail/view/" + item.alertId + "?alertId=" + item.alertId + "&resId=" + item.ciId + "&title=" + item.alertObject + "&ruleId=" + item.ruleId,
|
70
|
+
time: item.createTime,
|
71
|
+
status: item.status,
|
72
|
+
params: [{
|
73
|
+
alertId: item.alertId,
|
74
|
+
status: 'dealing',
|
75
|
+
userId: userId,
|
76
|
+
isBaseAlert: false
|
77
|
+
}]
|
78
|
+
};
|
79
|
+
})) || [];
|
80
|
+
setAlarmRiskList(alarmList);
|
81
|
+
_context.next = 24;
|
82
|
+
break;
|
83
|
+
|
84
|
+
case 9:
|
85
|
+
_context.next = 11;
|
86
|
+
return _alarm["default"].getAlarmByIds([id].concat(childrenIds), {
|
87
|
+
alertStatusList: ['toDeal', 'woDealing', 'dealing'],
|
88
|
+
// toDeal: 待处理, dealing:处理中
|
89
|
+
pageNum: 1,
|
90
|
+
pageSize: 10000,
|
91
|
+
sortField: 'alertLevel',
|
92
|
+
sortOrder: 'asc'
|
93
|
+
});
|
94
|
+
|
95
|
+
case 11:
|
96
|
+
_yield$alarmService$g = _context.sent;
|
97
|
+
_alarmList2 = _yield$alarmService$g.datas;
|
98
|
+
// 2022-07-16 后端不支持多列排序,暂通过前端实现,按创建时间倒序
|
99
|
+
_alarmList2 = _alarmList2.sort(function (a, b) {
|
100
|
+
return b.createTime - a.createTime;
|
101
|
+
});
|
102
|
+
_alarmList2 = _alarmList2.map(function (item) {
|
103
|
+
return {
|
104
|
+
type: 'alarm',
|
105
|
+
icon: 'gaojing-3',
|
106
|
+
className: "alarm-color-icon-lv" + item.alertLevel,
|
107
|
+
title: "" + item.alertObject + item.alertTitle,
|
108
|
+
link: "/default/pagecenter/alertDetail/view/" + item.alertId + "?alertId=" + item.alertId + "&resId=" + item.ciId + "&title=" + item.alertObject + "&ruleId=" + item.ruleId,
|
109
|
+
time: item.createTime,
|
110
|
+
status: item.status,
|
111
|
+
params: [{
|
112
|
+
alertId: item.alertId,
|
113
|
+
status: 'dealing',
|
114
|
+
userId: userId,
|
115
|
+
isBaseAlert: false
|
116
|
+
}]
|
117
|
+
};
|
118
|
+
}); // fix NEWITOM-33635【南昌大学】网络拓扑上双击设备拉开的抽屉中无法看到风险
|
119
|
+
|
120
|
+
_context.next = 17;
|
121
|
+
return _overview["default"].queryAllComponentsByCiId(id);
|
122
|
+
|
123
|
+
case 17:
|
124
|
+
AllComponentsByCiId = _context.sent;
|
125
|
+
_context.next = 20;
|
126
|
+
return _overview["default"].getRiskByIds({
|
127
|
+
ciIdList: [id].concat(childrenIds, AllComponentsByCiId.map(function (item) {
|
128
|
+
return item.id;
|
129
|
+
})),
|
130
|
+
statusList: ['toDeal', 'dealing'],
|
131
|
+
current: 1,
|
132
|
+
pageSize: 10000
|
133
|
+
});
|
134
|
+
|
135
|
+
case 20:
|
136
|
+
_yield$service$getRis = _context.sent;
|
137
|
+
riskList = _yield$service$getRis.content;
|
138
|
+
riskList = riskList.map(function (item) {
|
139
|
+
return {
|
140
|
+
type: 'risk',
|
141
|
+
icon: 'Overall_risk_full',
|
142
|
+
className: 'risk-icon',
|
143
|
+
title: "" + item.ciName + item.itemName,
|
144
|
+
link: "/default/inspectionTaskList/inspectionReport?title=" + item.ciName + "&reportId=" + item.executeId + "&reportTime=" + item.executeTime + "&reportType=" + item.viewType + "&reportName=" + item.reportName,
|
145
|
+
time: item.firstFoundTime
|
146
|
+
};
|
147
|
+
}); // console.log('告警和风险', alarmList, riskList);
|
148
|
+
|
149
|
+
setAlarmRiskList([].concat(_alarmList2, riskList));
|
150
|
+
|
151
|
+
case 24:
|
152
|
+
case "end":
|
153
|
+
return _context.stop();
|
154
|
+
}
|
155
|
+
}
|
156
|
+
}, _callee);
|
157
|
+
}));
|
158
|
+
return _getAlarmRiskData.apply(this, arguments);
|
159
|
+
}
|
160
|
+
|
161
|
+
var request = (0, _ahooks.useRequest)(getAlarmRiskData, {
|
162
|
+
pollingInterval: 1000 * 15,
|
163
|
+
pollingWhenHidden: false,
|
164
|
+
// debounceInterval: 200,
|
165
|
+
manual: true,
|
166
|
+
onSuccess: function onSuccess() {}
|
167
|
+
});
|
168
|
+
(0, _react.useEffect)(function () {
|
169
|
+
setAlarmRiskList([]);
|
170
|
+
request.run(id);
|
171
|
+
return function () {
|
172
|
+
request.cancel();
|
173
|
+
};
|
174
|
+
}, [id]);
|
175
|
+
return {
|
176
|
+
alarmRiskList: alarmRiskList,
|
177
|
+
refreshAlarmData: function refreshAlarmData() {
|
178
|
+
request.run();
|
179
|
+
}
|
180
|
+
};
|
181
|
+
};
|
182
|
+
|
183
|
+
var _default = useAlarmAndRiskData;
|
184
|
+
exports["default"] = _default;
|
@@ -103,9 +103,9 @@ var useMetricModels = function useMetricModels(props) {
|
|
103
103
|
}
|
104
104
|
|
105
105
|
var request = (0, _ahooks.useRequest)(fetchData, {
|
106
|
-
pollingInterval: 1000 *
|
107
|
-
|
108
|
-
// debounceInterval:
|
106
|
+
pollingInterval: 1000 * 60,
|
107
|
+
pollingWhenHidden: false,
|
108
|
+
// debounceInterval: 200,
|
109
109
|
manual: true,
|
110
110
|
onSuccess: function onSuccess(newMetricModels) {
|
111
111
|
var a = metricModels.map(function (item) {
|
@@ -165,7 +165,7 @@ var _default = {
|
|
165
165
|
*/
|
166
166
|
queryAssociatedlinks: function queryAssociatedlinks(ids, type) {
|
167
167
|
return (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5() {
|
168
|
-
var stag, ttag, condition, parm,
|
168
|
+
var stag, ttag, condition, parm, result;
|
169
169
|
return _regenerator["default"].wrap(function _callee5$(_context5) {
|
170
170
|
while (1) {
|
171
171
|
switch (_context5.prev = _context5.next) {
|
@@ -184,29 +184,28 @@ var _default = {
|
|
184
184
|
sort: "name asc",
|
185
185
|
currentPage: 1,
|
186
186
|
pageSize: 99
|
187
|
-
};
|
188
|
-
jsonParm = JSON.stringify(parm); // console.log("queryAssociatedlinks", ids, parm, jsonParm);
|
187
|
+
}; // console.log("queryAssociatedlinks", ids, parm, jsonParm);
|
189
188
|
|
190
|
-
_context5.prev =
|
191
|
-
_context5.next =
|
192
|
-
return _componentTopologyUtils.request.post("/mdc/v1/api/cmdb/commonQueryCiData",
|
189
|
+
_context5.prev = 5;
|
190
|
+
_context5.next = 8;
|
191
|
+
return _componentTopologyUtils.request.post("/mdc/v1/api/cmdb/commonQueryCiData", parm);
|
193
192
|
|
194
|
-
case
|
193
|
+
case 8:
|
195
194
|
result = _context5.sent;
|
196
195
|
return _context5.abrupt("return", result);
|
197
196
|
|
198
|
-
case
|
199
|
-
_context5.prev =
|
200
|
-
_context5.t0 = _context5["catch"](
|
197
|
+
case 12:
|
198
|
+
_context5.prev = 12;
|
199
|
+
_context5.t0 = _context5["catch"](5);
|
201
200
|
|
202
201
|
_rlog["default"].error("查询可关联链路", _context5.t0);
|
203
202
|
|
204
|
-
case
|
203
|
+
case 15:
|
205
204
|
case "end":
|
206
205
|
return _context5.stop();
|
207
206
|
}
|
208
207
|
}
|
209
|
-
}, _callee5, null, [[
|
208
|
+
}, _callee5, null, [[5, 12]]);
|
210
209
|
}))();
|
211
210
|
}
|
212
211
|
};
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@riil-frontend/component-topology",
|
3
|
-
"version": "8.0.
|
3
|
+
"version": "8.0.1",
|
4
4
|
"description": "拓扑",
|
5
5
|
"scripts": {
|
6
6
|
"start": "build-scripts start",
|
@@ -116,6 +116,6 @@
|
|
116
116
|
"access": "public"
|
117
117
|
},
|
118
118
|
"license": "MIT",
|
119
|
-
"homepage": "https://unpkg.com/@riil-frontend/component-topology@8.0.
|
119
|
+
"homepage": "https://unpkg.com/@riil-frontend/component-topology@8.0.1/build/index.html",
|
120
120
|
"gitHead": "2da19ffccbb7ca60a8acf396e39f542c68bb33f5"
|
121
121
|
}
|