@riil-frontend/component-topology 3.1.9 → 3.1.12

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.
Files changed (28) hide show
  1. package/CHANGELOG.md +6 -1
  2. package/build/index.js +40 -40
  3. package/demo/1/345/237/272/346/234/254//345/210/207/346/215/242/345/233/276/346/240/207.md +11 -0
  4. package/demo-mock/basic/topo/v1/api/attributes/once +95 -0
  5. package/demo-mock/basic/topo/v1/api/attributes/once.json +96 -1
  6. package/es/components/BatchAttrMetric/index.js +1 -0
  7. package/es/core/common/icons/icon.js +20 -6
  8. package/es/core/components/DisplaySettingDrawer/ResourceDisplay/CommonCheckboxGroup.module.scss +3 -3
  9. package/es/core/components/ResourceViewAttributeSetting/Setting.js +1 -0
  10. package/es/core/models/TopoApp.js +1 -1
  11. package/es/core/viewer/components/plugins/ResourceDetail/ResourceDetail.js +1 -0
  12. package/es/core/viewer/components/plugins/ResourceDetail/ResourceDetailPlugin.js +6 -0
  13. package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/ResourceOverview.js +660 -0
  14. package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/index.js +2 -637
  15. package/es/models/customIcon.js +16 -11
  16. package/es/utils/topoData.js +66 -40
  17. package/lib/components/BatchAttrMetric/index.js +1 -0
  18. package/lib/core/common/icons/icon.js +25 -6
  19. package/lib/core/components/DisplaySettingDrawer/ResourceDisplay/CommonCheckboxGroup.module.scss +3 -3
  20. package/lib/core/components/ResourceViewAttributeSetting/Setting.js +1 -0
  21. package/lib/core/models/TopoApp.js +1 -1
  22. package/lib/core/viewer/components/plugins/ResourceDetail/ResourceDetail.js +2 -0
  23. package/lib/core/viewer/components/plugins/ResourceDetail/ResourceDetailPlugin.js +6 -0
  24. package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/ResourceOverview.js +691 -0
  25. package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/index.js +4 -663
  26. package/lib/models/customIcon.js +16 -11
  27. package/lib/utils/topoData.js +68 -40
  28. package/package.json +2 -2
@@ -0,0 +1,691 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ exports.__esModule = true;
6
+ exports["default"] = ResourceOverview;
7
+
8
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
+
10
+ var _message = _interopRequireDefault(require("@alifd/next/lib/message"));
11
+
12
+ var _table = _interopRequireDefault(require("@alifd/next/lib/table"));
13
+
14
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
15
+
16
+ var _button = _interopRequireDefault(require("@alifd/next/lib/button"));
17
+
18
+ var _icon = _interopRequireDefault(require("@alifd/next/lib/icon"));
19
+
20
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
21
+
22
+ var _topo = _interopRequireDefault(require("@riil-frontend/component-topology-common/es/services/topo"));
23
+
24
+ var _moment = _interopRequireDefault(require("moment"));
25
+
26
+ var _react = _interopRequireWildcard(require("react"));
27
+
28
+ var _reactRouterDom = require("react-router-dom");
29
+
30
+ var _topoData = require("../../../../../../../utils/topoData");
31
+
32
+ var _services = require("../../../../../../services");
33
+
34
+ var _alarm = _interopRequireDefault(require("../../../../../../services/alarm"));
35
+
36
+ var _overview = _interopRequireDefault(require("../../../../../../services/overview"));
37
+
38
+ var _BaseInfoBlock = _interopRequireDefault(require("./BaseInfoBlock"));
39
+
40
+ var _BlockBox = _interopRequireDefault(require("./BlockBox"));
41
+
42
+ var _indexModule = _interopRequireDefault(require("./index.module.scss"));
43
+
44
+ var _ResourceOverviewMetric = _interopRequireDefault(require("./ResourceOverviewMetric"));
45
+
46
+ var _useCiAttrAndMetricData = _interopRequireDefault(require("./useCiAttrAndMetricData"));
47
+
48
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
49
+
50
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
51
+
52
+ // url 处理,UICBB 的地址需截取前缀
53
+ function formatUrl(url) {
54
+ var _window, _window$location;
55
+
56
+ var prefix = '/default/pagecenter';
57
+
58
+ if (((_window = window) === null || _window === void 0 ? void 0 : (_window$location = _window.location) === null || _window$location === void 0 ? void 0 : _window$location.pathname.indexOf(prefix)) === 0 && (url === null || url === void 0 ? void 0 : url.indexOf(prefix)) === 0) {
59
+ return url.split(prefix)[1];
60
+ } else {
61
+ return url;
62
+ }
63
+ }
64
+ /**
65
+ * 资源概览
66
+ */
67
+
68
+
69
+ function ResourceOverview(props) {
70
+ var _viewerProps$resource, _baseInfo$resource;
71
+
72
+ var topo = props.topo,
73
+ id = props.id,
74
+ type = props.type,
75
+ ciType = props.ciType,
76
+ userId = props.userId,
77
+ viewerProps = props.viewerProps;
78
+ var resourceOverviewProps = (viewerProps === null || viewerProps === void 0 ? void 0 : (_viewerProps$resource = viewerProps.resourceDetailProps) === null || _viewerProps$resource === void 0 ? void 0 : _viewerProps$resource.resourceOverviewProps) || {};
79
+ var data = (0, _react.useMemo)(function () {
80
+ return topo.dataModel.getDataById(id);
81
+ }, [id]);
82
+ var ciAttrAndMetricData = (0, _useCiAttrAndMetricData["default"])({
83
+ topo: topo,
84
+ id: id
85
+ });
86
+
87
+ var _useState = (0, _react.useState)({
88
+ // 资源
89
+ resource: {
90
+ display_name: '',
91
+ // 资源名称/显示名称
92
+ link: '' // 资源跳转链接
93
+
94
+ },
95
+ ipv4_address: '',
96
+ // IP地址
97
+ asset_number: '',
98
+ // 资产编号
99
+ ciName: '',
100
+ // 资源类型
101
+ res_address: '',
102
+ // 资源位置
103
+ // principal: '', // 负责人
104
+ // 链路
105
+ rated_bandwidth: '',
106
+ // 链路带宽
107
+ source_ipv4: '',
108
+ // 源IP地址
109
+ destination_ipv4: '',
110
+ // 目的IP地址
111
+ source_Interface: '',
112
+ // 源端口
113
+ destination_Interface: '' // 目的端口
114
+
115
+ }),
116
+ baseInfo = _useState[0],
117
+ setBaseInfo = _useState[1];
118
+
119
+ var _useState2 = (0, _react.useState)([]),
120
+ indicator = _useState2[0],
121
+ setIndicator = _useState2[1];
122
+
123
+ var _useState3 = (0, _react.useState)([]),
124
+ alarmRiskList = _useState3[0],
125
+ setAlarmRiskList = _useState3[1];
126
+
127
+ var _useState4 = (0, _react.useState)(false),
128
+ isAppTopo = _useState4[0],
129
+ setIsAppTopo = _useState4[1];
130
+
131
+ var ciTypeMeta = (0, _react.useMemo)(function () {
132
+ var typeMeta;
133
+
134
+ if (ciType === 'network_link') {
135
+ // 网络链路要按链路类型查询属性、指标
136
+ var link = topo.dataModel.getDataById(id);
137
+ var linkConnectType = link.attributes['network_link.connect_type'];
138
+ typeMeta = topo.ciTyeCache.getNetworkLinkCiType(linkConnectType);
139
+ } else {
140
+ typeMeta = topo.ciTyeCache.getCiType(ciType);
141
+ }
142
+
143
+ return typeMeta;
144
+ }, [id]);
145
+ (0, _react.useEffect)(function () {
146
+ init();
147
+ }, [ciAttrAndMetricData, ciTypeMeta, id]);
148
+
149
+ function init() {
150
+ return _init.apply(this, arguments);
151
+ }
152
+
153
+ function _init() {
154
+ _init = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
155
+ var _topo$options$resourc, _modelAttributeMap$ow, _modelAttributeMap$, _modelAttributeMap$2, _modelAttributeMap$3, _modelAttributeMap$di, _modelAttributeMap$ip, _modelAttributeMap$as, _modelAttributeMap$5, _modelAttributeMap$6, _modelAttributeMap$so, _attributeMap$source_, _modelAttributeMap$de, _attributeMap$destina;
156
+
157
+ var modelMetrics, ciName, modelAttributeMap, domain, displayMetricModels, metricCodes, isAppTopoFlag, attributeMap, metrics, res_address, _attributeMap$, rated_bandwidth, _modelAttributeMap$4;
158
+
159
+ return _regenerator["default"].wrap(function _callee$(_context) {
160
+ while (1) {
161
+ switch (_context.prev = _context.next) {
162
+ case 0:
163
+ console.log('初始化/更新概览 props', props); // 指标模型
164
+
165
+ modelMetrics = ciTypeMeta.metrics, ciName = ciTypeMeta.displayName, modelAttributeMap = ciTypeMeta.attributeMap, domain = ciTypeMeta.domain;
166
+ displayMetricModels = modelMetrics.slice(0, 6);
167
+
168
+ if (resourceOverviewProps !== null && resourceOverviewProps !== void 0 && resourceOverviewProps.getMetricCodes) {
169
+ metricCodes = resourceOverviewProps === null || resourceOverviewProps === void 0 ? void 0 : resourceOverviewProps.getMetricCodes({
170
+ id: id,
171
+ type: type,
172
+ ciType: ciType
173
+ });
174
+
175
+ if (metricCodes) {
176
+ displayMetricModels = metricCodes.map(function (code) {
177
+ return modelMetrics.find(function (item) {
178
+ return item.code === code;
179
+ });
180
+ }).filter(function (item) {
181
+ return !!item;
182
+ });
183
+ }
184
+ }
185
+
186
+ displayMetricModels = displayMetricModels.slice(0, 6); // 应用拓扑处理
187
+
188
+ isAppTopoFlag = !!((_topo$options$resourc = topo.options.resourceOverviewDrawer) !== null && _topo$options$resourc !== void 0 && _topo$options$resourc.getData);
189
+ console.log('应用拓扑判断', topo, isAppTopoFlag);
190
+ setIsAppTopo(isAppTopoFlag);
191
+
192
+ if (!isAppTopoFlag) {
193
+ _context.next = 11;
194
+ break;
195
+ }
196
+
197
+ initAppTopo(displayMetricModels, modelAttributeMap, ciName, domain);
198
+ return _context.abrupt("return");
199
+
200
+ case 11:
201
+ // 拓扑(默认) ---------------------------
202
+ // 基本信息
203
+ attributeMap = ciAttrAndMetricData.attributeMap, metrics = ciAttrAndMetricData.metrics;
204
+ console.log('基本信息', attributeMap, modelAttributeMap); // userVisible
205
+ // 位置
206
+
207
+ res_address = false;
208
+
209
+ if (!((_modelAttributeMap$ow = modelAttributeMap.owned_computer_room) !== null && _modelAttributeMap$ow !== void 0 && _modelAttributeMap$ow.userVisible)) {
210
+ _context.next = 20;
211
+ break;
212
+ }
213
+
214
+ _context.next = 17;
215
+ return getAddressFormat(attributeMap);
216
+
217
+ case 17:
218
+ res_address = _context.sent;
219
+ _context.next = 21;
220
+ break;
221
+
222
+ case 20:
223
+ if ((_modelAttributeMap$ = modelAttributeMap[ciType + ".computer_room"]) !== null && _modelAttributeMap$ !== void 0 && _modelAttributeMap$.userVisible || (_modelAttributeMap$2 = modelAttributeMap[ciType + ".area"]) !== null && _modelAttributeMap$2 !== void 0 && _modelAttributeMap$2.userVisible) {
224
+ res_address = attributeMap[ciType + ".computer_room "] || attributeMap[ciType + ".area"] ? " " + (((_attributeMap$ = attributeMap[ciType + ".area_object"]) === null || _attributeMap$ === void 0 ? void 0 : _attributeMap$.displayName) || '') + " " + (attributeMap[ciType + ".computer_room"] || '') : false;
225
+ }
226
+
227
+ case 21:
228
+ // 链路带宽(取实际带宽)
229
+ rated_bandwidth = false;
230
+
231
+ if ((_modelAttributeMap$3 = modelAttributeMap[ciType + ".actual_bandwidth"]) !== null && _modelAttributeMap$3 !== void 0 && _modelAttributeMap$3.userVisible) {
232
+ rated_bandwidth = attributeMap[ciType + ".actual_bandwidth"] ? attributeMap[ciType + ".actual_bandwidth"] + " " + ((_modelAttributeMap$4 = modelAttributeMap[ciType + ".actual_bandwidth"]) === null || _modelAttributeMap$4 === void 0 ? void 0 : _modelAttributeMap$4.unit) : '';
233
+ }
234
+
235
+ setBaseInfo({
236
+ // 资源
237
+ // display_name: modelAttributeMap['display_name'] ? attributeMap.display_name : false,
238
+ resource: (_modelAttributeMap$di = modelAttributeMap.display_name) !== null && _modelAttributeMap$di !== void 0 && _modelAttributeMap$di.userVisible ? {
239
+ display_name: attributeMap.display_name,
240
+ // 资源名称/显示名称
241
+ link: "/default/pagecenter/resDetail/view/" + id + "?resId=" + id + "&domainCode=" + domain + "&title=" + attributeMap.display_name + "&ciCode=" + ciType // 资源跳转链接
242
+
243
+ } : false,
244
+ ipv4_address: (_modelAttributeMap$ip = modelAttributeMap.ipv4_address) !== null && _modelAttributeMap$ip !== void 0 && _modelAttributeMap$ip.userVisible ? attributeMap.ipv4_address : false,
245
+ asset_number: (_modelAttributeMap$as = modelAttributeMap.asset_number) !== null && _modelAttributeMap$as !== void 0 && _modelAttributeMap$as.userVisible ? attributeMap.asset_number : false,
246
+ ciName: ciName,
247
+ res_address: res_address,
248
+ // principal: modelAttributeMap[`${ciType}.principal`] ? attributeMap[`${ciType}.principal`] : false,
249
+ // 链路
250
+ rated_bandwidth: rated_bandwidth,
251
+ source_ipv4: (_modelAttributeMap$5 = modelAttributeMap[ciType + ".source_ipv4"]) !== null && _modelAttributeMap$5 !== void 0 && _modelAttributeMap$5.userVisible ? attributeMap[ciType + ".source_ipv4"] : false,
252
+ destination_ipv4: (_modelAttributeMap$6 = modelAttributeMap[ciType + ".destination_ipv4"]) !== null && _modelAttributeMap$6 !== void 0 && _modelAttributeMap$6.userVisible ? attributeMap[ciType + ".destination_ipv4"] : false,
253
+ source_Interface: (_modelAttributeMap$so = modelAttributeMap.source_id) !== null && _modelAttributeMap$so !== void 0 && _modelAttributeMap$so.userVisible ? (_attributeMap$source_ = attributeMap.source_id_object) === null || _attributeMap$source_ === void 0 ? void 0 : _attributeMap$source_.displayName : false,
254
+ destination_Interface: (_modelAttributeMap$de = modelAttributeMap.destination_id) !== null && _modelAttributeMap$de !== void 0 && _modelAttributeMap$de.userVisible ? (_attributeMap$destina = attributeMap.destination_id_object) === null || _attributeMap$destina === void 0 ? void 0 : _attributeMap$destina.displayName : false
255
+ }); // 资源/链路-关键指标 数据 metrics,模型 topo.ciTyeCache.getCiType(ciType)
256
+
257
+ setIndicator(displayMetricModels.map(function (item) {
258
+ var _findItem;
259
+
260
+ return (0, _extends2["default"])({}, item, {
261
+ value: ((_findItem = (0, _topoData.findItem)(metrics, 'code', item.code)) === null || _findItem === void 0 ? void 0 : _findItem.value) || ''
262
+ });
263
+ })); // 资源-告警/风险
264
+
265
+ getAlarmRiskData(id);
266
+
267
+ case 26:
268
+ case "end":
269
+ return _context.stop();
270
+ }
271
+ }
272
+ }, _callee);
273
+ }));
274
+ return _init.apply(this, arguments);
275
+ }
276
+
277
+ function initAppTopo(_x, _x2, _x3, _x4) {
278
+ return _initAppTopo.apply(this, arguments);
279
+ } // 获取属性信息(应用拓扑)
280
+
281
+
282
+ function _initAppTopo() {
283
+ _initAppTopo = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(topModelMetrics, modelAttributeMap, ciName, domain) {
284
+ var _topo$options$resourc2, _modelAttributeMap$ow2, _modelAttributeMap$7, _modelAttributeMap$8, _modelAttributeMap$di2, _modelAttributeMap$ip2, _modelAttributeMap$as2, _alarmList;
285
+
286
+ var _yield$topo$options$r, metrics, alarmList, attributeMap, res_address, _attributeMap$2;
287
+
288
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
289
+ while (1) {
290
+ switch (_context2.prev = _context2.next) {
291
+ case 0:
292
+ topo.resourceOverviewDrawer = {
293
+ refreshData: function refreshData() {
294
+ init();
295
+ }
296
+ };
297
+ _context2.next = 3;
298
+ return (_topo$options$resourc2 = topo.options.resourceOverviewDrawer) === null || _topo$options$resourc2 === void 0 ? void 0 : _topo$options$resourc2.getData({
299
+ id: id,
300
+ metrics: topModelMetrics
301
+ });
302
+
303
+ case 3:
304
+ _yield$topo$options$r = _context2.sent;
305
+ metrics = _yield$topo$options$r.metrics;
306
+ alarmList = _yield$topo$options$r.alarms;
307
+ console.log('应用拓扑 参数获取', metrics, alarmList);
308
+ _context2.next = 9;
309
+ return getAttribute(id);
310
+
311
+ case 9:
312
+ attributeMap = _context2.sent;
313
+ // 位置
314
+ res_address = false;
315
+
316
+ if (!((_modelAttributeMap$ow2 = modelAttributeMap.owned_computer_room) !== null && _modelAttributeMap$ow2 !== void 0 && _modelAttributeMap$ow2.userVisible)) {
317
+ _context2.next = 17;
318
+ break;
319
+ }
320
+
321
+ _context2.next = 14;
322
+ return getAddressFormat(attributeMap);
323
+
324
+ case 14:
325
+ res_address = _context2.sent;
326
+ _context2.next = 18;
327
+ break;
328
+
329
+ case 17:
330
+ if ((_modelAttributeMap$7 = modelAttributeMap[ciType + ".computer_room"]) !== null && _modelAttributeMap$7 !== void 0 && _modelAttributeMap$7.userVisible || (_modelAttributeMap$8 = modelAttributeMap[ciType + ".area"]) !== null && _modelAttributeMap$8 !== void 0 && _modelAttributeMap$8.userVisible) {
331
+ res_address = attributeMap[ciType + ".computer_room "] || attributeMap[ciType + ".area"] ? " " + (((_attributeMap$2 = attributeMap[ciType + ".area_object"]) === null || _attributeMap$2 === void 0 ? void 0 : _attributeMap$2.displayName) || '') + " " + (attributeMap[ciType + ".computer_room"] || '') : false;
332
+ }
333
+
334
+ case 18:
335
+ setBaseInfo({
336
+ // 资源
337
+ // display_name: modelAttributeMap['display_name'] ? attributeMap.display_name : false,
338
+ resource: (_modelAttributeMap$di2 = modelAttributeMap.display_name) !== null && _modelAttributeMap$di2 !== void 0 && _modelAttributeMap$di2.userVisible ? {
339
+ display_name: attributeMap.display_name,
340
+ // 资源名称/显示名称
341
+ link: "/default/pagecenter/resDetail/view/" + id + "?resId=" + id + "&domainCode=" + domain + "&title=" + attributeMap.display_name + "&ciCode=" + ciType // 资源跳转链接
342
+
343
+ } : false,
344
+ ipv4_address: (_modelAttributeMap$ip2 = modelAttributeMap.ipv4_address) !== null && _modelAttributeMap$ip2 !== void 0 && _modelAttributeMap$ip2.userVisible ? attributeMap.ipv4_address : false,
345
+ asset_number: (_modelAttributeMap$as2 = modelAttributeMap.asset_number) !== null && _modelAttributeMap$as2 !== void 0 && _modelAttributeMap$as2.userVisible ? attributeMap.asset_number : false,
346
+ ciName: ciName,
347
+ res_address: res_address // principal: modelAttributeMap[`${ciType}.principal`] ? attributeMap[`${ciType}.principal`] : false,
348
+
349
+ });
350
+ setIndicator(topModelMetrics.map(function (item) {
351
+ return (0, _extends2["default"])({}, item, {
352
+ value: metrics[item.code] || ''
353
+ });
354
+ }));
355
+ alarmList = ((_alarmList = alarmList) === null || _alarmList === void 0 ? void 0 : _alarmList.map(function (item) {
356
+ return {
357
+ type: 'alarm',
358
+ icon: 'gaojing-3',
359
+ className: "alarm-color-icon-lv" + item.alertLevel,
360
+ title: "[" + item.alertObject + "] " + item.alertTitle,
361
+ link: "/default/pagecenter/alertDetail/view/" + item.alertId + "?alertId=" + item.alertId + "&resId=" + item.ciId + "&title=" + item.alertObject + "&ruleId=" + item.ruleId,
362
+ time: item.createTime,
363
+ status: item.status,
364
+ params: [{
365
+ alertId: item.alertId,
366
+ status: 'dealing',
367
+ userId: userId,
368
+ isBaseAlert: false
369
+ }]
370
+ };
371
+ })) || [];
372
+ setAlarmRiskList(alarmList);
373
+
374
+ case 22:
375
+ case "end":
376
+ return _context2.stop();
377
+ }
378
+ }
379
+ }, _callee2);
380
+ }));
381
+ return _initAppTopo.apply(this, arguments);
382
+ }
383
+
384
+ function getAttribute(_x5) {
385
+ return _getAttribute.apply(this, arguments);
386
+ } // 获取地址信息:机房 机柜 起始U-结束U
387
+
388
+
389
+ function _getAttribute() {
390
+ _getAttribute = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(id) {
391
+ var res, _ref2, attributes, attributeMap;
392
+
393
+ return _regenerator["default"].wrap(function _callee3$(_context3) {
394
+ while (1) {
395
+ switch (_context3.prev = _context3.next) {
396
+ case 0:
397
+ _context3.next = 2;
398
+ return _topo["default"].ciInfo.batchQueryCiInfo({
399
+ ciId: [{
400
+ ciId: id,
401
+ operation: 'delete'
402
+ }],
403
+ codes: [],
404
+ relationId: []
405
+ });
406
+
407
+ case 2:
408
+ res = _context3.sent;
409
+ _ref2 = res[0] || {}, attributes = _ref2.attributes;
410
+ attributeMap = {};
411
+ attributes.forEach(function (item) {
412
+ attributeMap[item.code] = item.value;
413
+ });
414
+ return _context3.abrupt("return", attributeMap);
415
+
416
+ case 7:
417
+ case "end":
418
+ return _context3.stop();
419
+ }
420
+ }
421
+ }, _callee3);
422
+ }));
423
+ return _getAttribute.apply(this, arguments);
424
+ }
425
+
426
+ function getAddressFormat(_x6) {
427
+ return _getAddressFormat.apply(this, arguments);
428
+ } // 获取告警/风险信息
429
+
430
+
431
+ function _getAddressFormat() {
432
+ _getAddressFormat = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4(_ref) {
433
+ var owned_computer_room, owned_cabinet, start_u_location, end_u_location, address, _res$find, _res$find$attributes, _res$find2, _res$find2$attributes, res, u;
434
+
435
+ return _regenerator["default"].wrap(function _callee4$(_context4) {
436
+ while (1) {
437
+ switch (_context4.prev = _context4.next) {
438
+ case 0:
439
+ owned_computer_room = _ref.owned_computer_room, owned_cabinet = _ref.owned_cabinet, start_u_location = _ref.start_u_location, end_u_location = _ref.end_u_location;
440
+ console.log('获取地址信息:', {
441
+ owned_computer_room: owned_computer_room,
442
+ owned_cabinet: owned_cabinet,
443
+ start_u_location: start_u_location,
444
+ end_u_location: end_u_location
445
+ });
446
+ address = '';
447
+
448
+ if (!(owned_computer_room && owned_cabinet)) {
449
+ _context4.next = 8;
450
+ break;
451
+ }
452
+
453
+ _context4.next = 6;
454
+ return (0, _services.queryCisByIds)([owned_computer_room, owned_cabinet]);
455
+
456
+ case 6:
457
+ res = _context4.sent;
458
+ address = (((_res$find = res.find(function (item) {
459
+ return item.id === owned_computer_room;
460
+ })) === null || _res$find === void 0 ? void 0 : (_res$find$attributes = _res$find.attributes) === null || _res$find$attributes === void 0 ? void 0 : _res$find$attributes.display_name) || '') + " " + (((_res$find2 = res.find(function (item) {
461
+ return item.id === owned_cabinet;
462
+ })) === null || _res$find2 === void 0 ? void 0 : (_res$find2$attributes = _res$find2.attributes) === null || _res$find2$attributes === void 0 ? void 0 : _res$find2$attributes.display_name) || '');
463
+
464
+ case 8:
465
+ u = '';
466
+
467
+ if (start_u_location || end_u_location) {
468
+ u = (start_u_location || '') + "-" + (end_u_location || '');
469
+ }
470
+
471
+ return _context4.abrupt("return", address || u ? "" + (address || '') + (u ? " " + u : '') : '');
472
+
473
+ case 11:
474
+ case "end":
475
+ return _context4.stop();
476
+ }
477
+ }
478
+ }, _callee4);
479
+ }));
480
+ return _getAddressFormat.apply(this, arguments);
481
+ }
482
+
483
+ function getAlarmRiskData(_x7) {
484
+ return _getAlarmRiskData.apply(this, arguments);
485
+ } // 告警table列配置
486
+
487
+
488
+ function _getAlarmRiskData() {
489
+ _getAlarmRiskData = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5(id) {
490
+ var _yield$alarmService$g, alarmList, _yield$service$getRis, riskList;
491
+
492
+ return _regenerator["default"].wrap(function _callee5$(_context5) {
493
+ while (1) {
494
+ switch (_context5.prev = _context5.next) {
495
+ case 0:
496
+ _context5.next = 2;
497
+ return _alarm["default"].getAlarmByIds([id], {
498
+ alertStatusList: ['toDeal', 'dealing'],
499
+ // toDeal: 待处理, dealing:处理中
500
+ pageNum: 1,
501
+ pageSize: 999,
502
+ sortField: 'alertLevel',
503
+ sortOrder: 'desc'
504
+ });
505
+
506
+ case 2:
507
+ _yield$alarmService$g = _context5.sent;
508
+ alarmList = _yield$alarmService$g.datas;
509
+ alarmList = alarmList.map(function (item) {
510
+ return {
511
+ type: 'alarm',
512
+ icon: 'gaojing-3',
513
+ className: "alarm-color-icon-lv" + item.alertLevel,
514
+ title: "[" + item.alertObject + "] " + item.alertTitle,
515
+ link: "/default/pagecenter/alertDetail/view/" + item.alertId + "?alertId=" + item.alertId + "&resId=" + item.ciId + "&title=" + item.alertObject + "&ruleId=" + item.ruleId,
516
+ time: item.createTime,
517
+ status: item.status,
518
+ params: [{
519
+ alertId: item.alertId,
520
+ status: 'dealing',
521
+ userId: userId,
522
+ isBaseAlert: false
523
+ }]
524
+ };
525
+ });
526
+ _context5.next = 7;
527
+ return _overview["default"].getRiskByIds({
528
+ ciIdList: [id],
529
+ statusList: ['toDeal', 'dealing'],
530
+ current: 1,
531
+ pageSize: 999
532
+ });
533
+
534
+ case 7:
535
+ _yield$service$getRis = _context5.sent;
536
+ riskList = _yield$service$getRis.content;
537
+ riskList = riskList.map(function (item) {
538
+ return {
539
+ type: 'risk',
540
+ icon: 'Overall_risk_full',
541
+ className: 'risk-icon',
542
+ title: item.itemName,
543
+ link: "/default/inspectionTaskList/inspectionReport?title=" + item.ciName + "&reportId=" + item.executeId + "&reportTime=" + item.executeTime + "&reportType=" + item.viewType + "&reportName=" + item.ciName,
544
+ time: item.firstFoundTime
545
+ };
546
+ });
547
+ console.log('告警和风险', alarmList, riskList);
548
+ setAlarmRiskList([].concat(alarmList, riskList));
549
+
550
+ case 12:
551
+ case "end":
552
+ return _context5.stop();
553
+ }
554
+ }
555
+ }, _callee5);
556
+ }));
557
+ return _getAlarmRiskData.apply(this, arguments);
558
+ }
559
+
560
+ var columns = [{
561
+ title: '描述',
562
+ dataIndex: 'title',
563
+ key: 'title',
564
+ cell: function cell(value, index, record) {
565
+ return /*#__PURE__*/_react["default"].createElement("div", {
566
+ className: _indexModule["default"]['alarm-title'],
567
+ title: value
568
+ }, /*#__PURE__*/_react["default"].createElement(_icon["default"], {
569
+ type: record.icon,
570
+ size: "xs",
571
+ className: _indexModule["default"]['alarm-color-icon'] + " " + record.className
572
+ }), /*#__PURE__*/_react["default"].createElement(_reactRouterDom.Link, {
573
+ className: _indexModule["default"].link,
574
+ to: formatUrl(record.link)
575
+ }, value));
576
+ }
577
+ }, {
578
+ title: '时间',
579
+ dataIndex: 'time',
580
+ key: 'time',
581
+ width: 144,
582
+ cell: function cell(value, index, record) {
583
+ return /*#__PURE__*/_react["default"].createElement("div", {
584
+ title: (0, _moment["default"])(value).format('YYYY-MM-DD HH:mm:ss')
585
+ }, (0, _moment["default"])(value).format('YYYY-MM-DD HH:mm:ss'));
586
+ }
587
+ }, {
588
+ title: '操作',
589
+ dataIndex: 'status',
590
+ key: 'status',
591
+ width: 64,
592
+ cell: function cell(status, index, record) {
593
+ if (record.type === 'alarm') {
594
+ return status === 'toDeal' ? /*#__PURE__*/_react["default"].createElement(_button["default"], {
595
+ text: true,
596
+ type: "primary",
597
+ onClick: function onClick() {
598
+ return alarmRiskOperation(record.type, record.params);
599
+ }
600
+ }, "\u53D7\u7406") : /*#__PURE__*/_react["default"].createElement(_button["default"], {
601
+ disabled: true,
602
+ text: true,
603
+ type: "primary"
604
+ }, "\u5DF2\u53D7\u7406");
605
+ } else {
606
+ // return <Button text type="primary" onClick={() => alarmRiskOperation(record.type, record)}>受理</Button>
607
+ return '';
608
+ }
609
+ }
610
+ }]; // 告警/风险 操作 (受理)
611
+
612
+ function alarmRiskOperation(_x8, _x9) {
613
+ return _alarmRiskOperation.apply(this, arguments);
614
+ }
615
+
616
+ function _alarmRiskOperation() {
617
+ _alarmRiskOperation = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6(type, params) {
618
+ var res, _topo$ciTyeCache$getC, modelMetrics, ciName, modelAttributeMap, domain, topModelMetrics;
619
+
620
+ return _regenerator["default"].wrap(function _callee6$(_context6) {
621
+ while (1) {
622
+ switch (_context6.prev = _context6.next) {
623
+ case 0:
624
+ if (!(type === 'alarm')) {
625
+ _context6.next = 6;
626
+ break;
627
+ }
628
+
629
+ _context6.next = 3;
630
+ return _overview["default"].handleAlarm(params);
631
+
632
+ case 3:
633
+ res = _context6.sent;
634
+
635
+ _message["default"].success('受理成功');
636
+
637
+ if (isAppTopo) {
638
+ _topo$ciTyeCache$getC = topo.ciTyeCache.getCiType(ciType), modelMetrics = _topo$ciTyeCache$getC.metrics, ciName = _topo$ciTyeCache$getC.displayName, modelAttributeMap = _topo$ciTyeCache$getC.attributeMap, domain = _topo$ciTyeCache$getC.domain;
639
+ topModelMetrics = modelMetrics.slice(0, 6);
640
+ initAppTopo(topModelMetrics, modelAttributeMap, ciName, domain);
641
+ } else {
642
+ getAlarmRiskData(id);
643
+ }
644
+
645
+ case 6:
646
+ case "end":
647
+ return _context6.stop();
648
+ }
649
+ }
650
+ }, _callee6);
651
+ }));
652
+ return _alarmRiskOperation.apply(this, arguments);
653
+ }
654
+
655
+ var elementData = {
656
+ id: id,
657
+ ciType: ciType,
658
+ type: type,
659
+ name: baseInfo === null || baseInfo === void 0 ? void 0 : (_baseInfo$resource = baseInfo.resource) === null || _baseInfo$resource === void 0 ? void 0 : _baseInfo$resource.display_name
660
+ };
661
+ return /*#__PURE__*/_react["default"].createElement("div", {
662
+ className: _indexModule["default"]['resource-overview']
663
+ }, /*#__PURE__*/_react["default"].createElement(_BaseInfoBlock["default"], (0, _extends2["default"])({
664
+ data: elementData,
665
+ ciTypeMeta: ciTypeMeta,
666
+ baseInfo: baseInfo
667
+ }, resourceOverviewProps === null || resourceOverviewProps === void 0 ? void 0 : resourceOverviewProps.baseInfoProps)), /*#__PURE__*/_react["default"].createElement(_BlockBox["default"], {
668
+ headerTitle: "\u5173\u952E\u6307\u6807"
669
+ }, /*#__PURE__*/_react["default"].createElement(_ResourceOverviewMetric["default"], {
670
+ topo: topo,
671
+ type: type,
672
+ x: {
673
+ data: data,
674
+ ciAttrAndMetricData: ciAttrAndMetricData
675
+ },
676
+ data: indicator
677
+ })), /*#__PURE__*/_react["default"].createElement(_BlockBox["default"], {
678
+ headerTitle: "\u6700\u8FD1\u7684\u544A\u8B66\u548C\u98CE\u9669"
679
+ }, /*#__PURE__*/_react["default"].createElement("div", {
680
+ className: _indexModule["default"].alarm
681
+ }, /*#__PURE__*/_react["default"].createElement(_table["default"], {
682
+ hasBorder: false,
683
+ fixedHeader: true,
684
+ columns: columns,
685
+ maxBodyHeight: "auto",
686
+ dataSource: alarmRiskList,
687
+ emptyContent: /*#__PURE__*/_react["default"].createElement("div", {
688
+ className: _indexModule["default"]['no-data']
689
+ }, "\u6682\u65E0\u6570\u636E")
690
+ }))));
691
+ }