@riil-frontend/component-topology 2.14.2-alpha.2 → 2.14.2-alpha.6

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 (84) hide show
  1. package/build/1.js +2 -2
  2. package/build/2.js +1 -1
  3. package/build/index.css +1 -1
  4. package/build/index.js +22 -22
  5. package/demo/1/345/237/272/346/234/254//350/207/252/345/256/232/344/271/211/345/261/236/346/200/247/345/222/214/346/214/207/346/240/207.md +1 -1
  6. package/demo/API//346/250/241/345/236/213.md +29 -0
  7. package/es/components/BatchAttrMetric/constant.js +4 -0
  8. package/es/components/BatchAttrMetric/index.js +8 -10
  9. package/es/components/BatchAttrMetric/setting.js +6 -4
  10. package/es/components/BatchAttrMetric/utils.js +39 -32
  11. package/es/constants/ResourceTypeLimit.js +1 -1
  12. package/es/core/components/DisplaySettingDrawer/DisplaySettingDrawer.js +6 -5
  13. package/es/core/components/DisplaySettingDrawer/LinkTag.js +8 -6
  14. package/es/core/components/DisplaySettingDrawer/LinkTip.js +9 -7
  15. package/es/core/components/DisplaySettingDrawer/NodeTag.js +2 -0
  16. package/es/core/components/DisplaySettingDrawer/NodeTip.js +2 -0
  17. package/es/core/components/DisplaySettingDrawer/ResourceDisplay/BasicConfig.js +30 -9
  18. package/es/core/components/ResourceViewAttributeSetting/Setting.js +123 -0
  19. package/es/core/editor/components/EditorPlugin.js +4 -3
  20. package/es/core/editor/components/settings/propertyViews/view/GlobalTootipSetting.js +3 -1
  21. package/es/core/editor/components/settings/propertyViews/view/ViewPropertyView.js +0 -5
  22. package/es/core/models/AttributeMetricDisplay.js +181 -66
  23. package/es/core/models/TopoApp.js +18 -16
  24. package/es/core/models/attributeFormatter/index.js +33 -8
  25. package/es/core/models/common/Alarm.js +45 -31
  26. package/es/core/models/utils/linkUtils.js +14 -2
  27. package/es/core/utils/exportData.js +33 -0
  28. package/es/core/utils/linkPollingAttributesAdapter.js +3 -0
  29. package/es/core/viewer/components/plugins/BaseInfo/components/ResourceOverview/index.js +264 -0
  30. package/es/core/viewer/components/plugins/BaseInfo/components/ResourceOverview/index.module.scss +73 -0
  31. package/es/core/viewer/components/plugins/BaseInfo/index.js +127 -0
  32. package/es/core/viewer/components/plugins/BaseInfo/index.module.scss +24 -0
  33. package/es/core/viewer/components/plugins/ViewerPlugin.js +2 -1
  34. package/es/core/viewer/components/titlebar/widgets/MoreButtonMenu.js +5 -0
  35. package/es/getStoreModels.js +3 -1
  36. package/es/hooks/useAlarm.js +1 -1
  37. package/es/hooks/usePolling.js +2 -1
  38. package/es/models/topoAlarm.js +43 -17
  39. package/es/models/topoBaseInfoOverview.js +43 -0
  40. package/es/models/topoBizMod.js +0 -70
  41. package/es/style.js +8 -7
  42. package/es/utils/topoData.js +266 -155
  43. package/lib/components/BatchAttrMetric/constant.js +4 -0
  44. package/lib/components/BatchAttrMetric/index.js +8 -10
  45. package/lib/components/BatchAttrMetric/setting.js +8 -5
  46. package/lib/components/BatchAttrMetric/utils.js +39 -35
  47. package/lib/constants/ResourceTypeLimit.js +1 -1
  48. package/lib/core/components/DisplaySettingDrawer/DisplaySettingDrawer.js +6 -5
  49. package/lib/core/components/DisplaySettingDrawer/LinkTag.js +8 -6
  50. package/lib/core/components/DisplaySettingDrawer/LinkTip.js +9 -7
  51. package/lib/core/components/DisplaySettingDrawer/NodeTag.js +2 -0
  52. package/lib/core/components/DisplaySettingDrawer/NodeTip.js +2 -0
  53. package/lib/core/components/DisplaySettingDrawer/ResourceDisplay/BasicConfig.js +32 -8
  54. package/lib/core/{editor/components → components}/ResourceViewAttributeSetting/Setting.js +77 -71
  55. package/lib/core/editor/components/EditorPlugin.js +3 -3
  56. package/lib/core/editor/components/settings/propertyViews/view/GlobalTootipSetting.js +3 -1
  57. package/lib/core/editor/components/settings/propertyViews/view/ViewPropertyView.js +0 -5
  58. package/lib/core/models/AttributeMetricDisplay.js +181 -66
  59. package/lib/core/models/TopoApp.js +18 -17
  60. package/lib/core/models/attributeFormatter/index.js +34 -8
  61. package/lib/core/models/common/Alarm.js +46 -33
  62. package/lib/core/models/utils/linkUtils.js +12 -2
  63. package/lib/core/utils/exportData.js +44 -0
  64. package/lib/core/utils/linkPollingAttributesAdapter.js +10 -0
  65. package/lib/core/viewer/components/plugins/BaseInfo/components/ResourceOverview/index.js +284 -0
  66. package/lib/core/viewer/components/plugins/BaseInfo/components/ResourceOverview/index.module.scss +73 -0
  67. package/lib/core/viewer/components/plugins/BaseInfo/index.js +146 -0
  68. package/lib/core/viewer/components/plugins/BaseInfo/index.module.scss +24 -0
  69. package/lib/core/viewer/components/plugins/ViewerPlugin.js +3 -1
  70. package/lib/core/viewer/components/titlebar/widgets/MoreButtonMenu.js +6 -0
  71. package/lib/getStoreModels.js +4 -1
  72. package/lib/hooks/useAlarm.js +1 -1
  73. package/lib/hooks/usePolling.js +2 -1
  74. package/lib/models/topoAlarm.js +43 -17
  75. package/lib/models/topoBaseInfoOverview.js +55 -0
  76. package/lib/models/topoBizMod.js +0 -70
  77. package/lib/style.js +8 -7
  78. package/lib/utils/topoData.js +267 -151
  79. package/package.json +2 -2
  80. package/es/core/editor/components/ResourceViewAttributeSetting/ResourceViewAttributeSettingPlugin.js +0 -57
  81. package/es/core/editor/components/ResourceViewAttributeSetting/Setting.js +0 -114
  82. package/es/core/models/attrAndMetric.js +0 -131
  83. package/lib/core/editor/components/ResourceViewAttributeSetting/ResourceViewAttributeSettingPlugin.js +0 -73
  84. package/lib/core/models/attrAndMetric.js +0 -148
@@ -136,7 +136,7 @@ var Alarm = /*#__PURE__*/function () {
136
136
 
137
137
  _proto.hmGetTopoAlarm = /*#__PURE__*/function () {
138
138
  var _hmGetTopoAlarm = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(id) {
139
- var _this$topoApp$store$g, data, resAndMetrics, topoData, _this$getState, alarmIsOpened, alarmOpening, linkDynamicStyleDispatcher, nodes, links, alarmCiDoc, cids, componentIds, ids, idsx, endTime, startTime, parms, result;
139
+ var _this$topoApp$store$g, data, resAndMetrics, topoData, _this$getState, alarmIsOpened, alarmOpening, linkDynamicStyleDispatcher, alarmCiDoc, cids, componentIds, ids, idsx, endTime, startTime, parms, result;
140
140
 
141
141
  return _regenerator["default"].wrap(function _callee2$(_context2) {
142
142
  while (1) {
@@ -144,22 +144,22 @@ var Alarm = /*#__PURE__*/function () {
144
144
  case 0:
145
145
  _this$topoApp$store$g = this.topoApp.store.getState().topoMod, data = _this$topoApp$store$g.data, resAndMetrics = _this$topoApp$store$g.resAndMetrics, topoData = _this$topoApp$store$g.topoData;
146
146
  _this$getState = this.getState(), alarmIsOpened = _this$getState.alarmIsOpened, alarmOpening = _this$getState.alarmOpening;
147
- linkDynamicStyleDispatcher = this.topoApp.store.getModel("linkDynamicStyle")[1];
148
- nodes = data.nodes, links = data.links;
147
+ linkDynamicStyleDispatcher = this.topoApp.store.getModel("linkDynamicStyle")[1]; // const { nodes, links } = data;
148
+
149
149
  alarmCiDoc = resAndMetrics.alarmCiDoc;
150
150
 
151
151
  _rlog["default"].debug("获取告警列表--resAndMetrics,topoData,data", this.topoApp, resAndMetrics, topoData, data);
152
152
 
153
153
  cids = Object.keys(alarmCiDoc);
154
- _context2.next = 9;
154
+ _context2.next = 8;
155
155
  return _topo["default"].getCisComponentIds(cids);
156
156
 
157
- case 9:
157
+ case 8:
158
158
  componentIds = _context2.sent;
159
159
  ids = [].concat(cids);
160
160
  idsx = Object.keys(componentIds).map(function (k) {
161
161
  ids = [].concat(ids, componentIds[k]);
162
- return '';
162
+ return "";
163
163
  });
164
164
 
165
165
  _rlog["default"].debug("获取告警列表", componentIds, alarmCiDoc, ids);
@@ -184,7 +184,7 @@ var Alarm = /*#__PURE__*/function () {
184
184
  };
185
185
 
186
186
  if (!(ids.length === 0)) {
187
- _context2.next = 19;
187
+ _context2.next = 18;
188
188
  break;
189
189
  }
190
190
 
@@ -194,11 +194,11 @@ var Alarm = /*#__PURE__*/function () {
194
194
  });
195
195
  return _context2.abrupt("return");
196
196
 
197
- case 19:
198
- _context2.next = 21;
197
+ case 18:
198
+ _context2.next = 20;
199
199
  return _topo["default"].getAlarmByIds(parms);
200
200
 
201
- case 21:
201
+ case 20:
202
202
  result = _context2.sent;
203
203
 
204
204
  _rlog["default"].debug("getAlarmById-result", result); // if (alarmIsOpened) {
@@ -212,7 +212,7 @@ var Alarm = /*#__PURE__*/function () {
212
212
  alarmPanelIsOpen: result.datas.length > 0
213
213
  });
214
214
 
215
- case 24:
215
+ case 23:
216
216
  case "end":
217
217
  return _context2.stop();
218
218
  }
@@ -239,7 +239,7 @@ var Alarm = /*#__PURE__*/function () {
239
239
  var _openTopoAlarm = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(id) {
240
240
  var _this = this;
241
241
 
242
- var _this$getState2, alarmOpening, topoAlarmIsOpen;
242
+ var _this$getState2, alarmOpening, topoAlarmIsOpen, alarmDispatchers;
243
243
 
244
244
  return _regenerator["default"].wrap(function _callee3$(_context3) {
245
245
  while (1) {
@@ -260,10 +260,15 @@ var Alarm = /*#__PURE__*/function () {
260
260
  this.updateState({
261
261
  alarmOpening: true
262
262
  });
263
- _context3.next = 7;
263
+ alarmDispatchers = this.topoApp.store.getModelDispatchers("topoAlarm");
264
+ _context3.next = 8;
265
+ return alarmDispatchers.resetAlarmDoc();
266
+
267
+ case 8:
268
+ _context3.next = 10;
264
269
  return _topo["default"].openTopoAlarm(id);
265
270
 
266
- case 7:
271
+ case 10:
267
272
  // rlog.debug("openTopoAlarm 获取初始化告警-------------------开始");
268
273
  _componentRiilEventEmitter.EE.on("topo", "topo", function (data, other) {
269
274
  _rlog["default"].debug("openTopoAlarm 获取初始化告警------收到信息", data);
@@ -276,7 +281,7 @@ var Alarm = /*#__PURE__*/function () {
276
281
  alarmIsOpened: true
277
282
  });
278
283
 
279
- case 9:
284
+ case 12:
280
285
  case "end":
281
286
  return _context3.stop();
282
287
  }
@@ -421,34 +426,31 @@ var Alarm = /*#__PURE__*/function () {
421
426
  /*#__PURE__*/
422
427
  function () {
423
428
  var _getAlarmByEE = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee7(alertData) {
424
- var _this$getState4, alarmIsOpened, alarmOpening, bizState, bizDispatchers, alarmDispatchers, linkDynamicStyleDispatcher, al, alarmList;
429
+ var _this$getState4, alarmIsOpened, resAndMetrics, resIdsList, alarmCiDoc, alarmDispatchers, linkDynamicStyleDispatcher, sendAl, alarmList;
425
430
 
426
431
  return _regenerator["default"].wrap(function _callee7$(_context7) {
427
432
  while (1) {
428
433
  switch (_context7.prev = _context7.next) {
429
434
  case 0:
430
- _this$getState4 = this.getState(), alarmIsOpened = _this$getState4.alarmIsOpened, alarmOpening = _this$getState4.alarmOpening; // const { viewState } = this.topoApp.store.getState().topoMod;
431
-
432
- bizState = this.topoApp.store.getState().topoBizMod;
433
- bizDispatchers = this.topoApp.store.getModelDispatchers("topoBizMod");
435
+ _this$getState4 = this.getState(), alarmIsOpened = _this$getState4.alarmIsOpened;
436
+ resAndMetrics = this.topoApp.store.getState().topoMod.resAndMetrics;
437
+ resIdsList = resAndMetrics.resIdsList, alarmCiDoc = resAndMetrics.alarmCiDoc;
434
438
  alarmDispatchers = this.topoApp.store.getModelDispatchers("topoAlarm");
435
439
  linkDynamicStyleDispatcher = this.topoApp.store.getModelDispatchers("linkDynamicStyle"); // 添加事件
436
- // const { type, data: alertData } = data;
437
440
 
438
- console.log("getAlarmByEE", alertData, this.topoApp.store);
441
+ console.log("getAlarmByEE-接收到推送的原始告警信息", alertData);
439
442
 
440
443
  if (!(0, _utils.isAvailableArray)(alertData)) {
441
- _context7.next = 14;
444
+ _context7.next = 15;
442
445
  break;
443
446
  }
444
447
 
445
- _rlog["default"].debug("useAlarm.getAlarmByEE 告警原始数据", alertData);
446
-
447
- al = alertData.map(function (item, index) {
448
+ sendAl = [];
449
+ alertData.map(function (item, index) {
448
450
  var _item$resourceId;
449
451
 
450
452
  var ciId = (_item$resourceId = item.resourceId) !== null && _item$resourceId !== void 0 ? _item$resourceId : item.ciId;
451
- return {
453
+ var obj = {
452
454
  id: ciId,
453
455
  level: item.alertLevel,
454
456
  alertId: item.alertId,
@@ -456,18 +458,29 @@ var Alarm = /*#__PURE__*/function () {
456
458
  obj: item,
457
459
  info: item.alertType
458
460
  };
461
+
462
+ if (resIdsList.indexOf(ciId) >= 0) {
463
+ sendAl.push(obj);
464
+ }
465
+
466
+ return obj;
459
467
  }); // rlog.debug("before-combAlarmData", al, bizState);
460
468
 
461
- _context7.next = 11;
469
+ if (!(sendAl.length > 0)) {
470
+ _context7.next = 15;
471
+ break;
472
+ }
473
+
474
+ _rlog["default"].debug("过滤掉非本拓扑的告警信息 告警开关-推送告警到ht-alarmIsOpened-sendAl", alarmIsOpened, sendAl);
475
+
476
+ _context7.next = 13;
462
477
  return alarmDispatchers.combAlarmData({
463
- alarmdata: al
478
+ alarmdata: sendAl
464
479
  });
465
480
 
466
- case 11:
481
+ case 13:
467
482
  alarmList = _context7.sent;
468
483
 
469
- _rlog["default"].debug("useAlarm.getAlarmByEE 推送告警到ht", alarmIsOpened, alarmList, bizState);
470
-
471
484
  if (alarmIsOpened) {
472
485
  this.topoApp.loadAlarm(alarmList);
473
486
  this.hmGetTopoAlarm(); // 告警变化后,刷新链路动态样式
@@ -475,7 +488,7 @@ var Alarm = /*#__PURE__*/function () {
475
488
  linkDynamicStyleDispatcher.execute();
476
489
  }
477
490
 
478
- case 14:
491
+ case 15:
479
492
  case "end":
480
493
  return _context7.stop();
481
494
  }
@@ -15,7 +15,11 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
15
15
 
16
16
  var _topo = _interopRequireDefault(require("@riil-frontend/component-topology-common/es/services/topo"));
17
17
 
18
- var _topoData = require("../../../utils/topoData");
18
+ var interfaceTypeMap = {
19
+ 'network.interface': {
20
+ displayName: '网络接口'
21
+ }
22
+ };
19
23
 
20
24
  function mergeLinksData(links, relationDetails) {
21
25
  var relationDoc = {};
@@ -26,10 +30,16 @@ function mergeLinksData(links, relationDetails) {
26
30
  });
27
31
  return links.map(function (link) {
28
32
  var relation = relationDoc[link.id];
33
+ var attributes = (0, _extends2["default"])({}, relation === null || relation === void 0 ? void 0 : relation.attributes); // 接口翻译
34
+
29
35
  return (0, _extends2["default"])({}, link, {
30
36
  ciType: relation === null || relation === void 0 ? void 0 : relation.typeCode,
31
- ciId: relation.id,
32
37
  name: relation === null || relation === void 0 ? void 0 : relation.attributes.name,
38
+ attributes: (0, _extends2["default"])({}, attributes, {
39
+ source_type_object: interfaceTypeMap[attributes.source_type],
40
+ destination_type_object: interfaceTypeMap[attributes.destination_type]
41
+ }),
42
+ ciId: relation.id,
33
43
  detail: relation
34
44
  });
35
45
  });
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ exports.__esModule = true;
6
+ exports["default"] = _default;
7
+
8
+ var _request = require("@riil-frontend/component-topology-common/es/utils/request");
9
+
10
+ var _rlog = _interopRequireDefault(require("@riil-frontend/component-topology-utils/es/rlog"));
11
+
12
+ function _default(topo) {
13
+ var _topo$store$getModelS = topo.store.getModelState('topoMod').data,
14
+ nodes = _topo$store$getModelS.nodes,
15
+ links = _topo$store$getModelS.links;
16
+ var params = {
17
+ id: topo.id,
18
+ 'nodes': nodes.map(function (node) {
19
+ var element = topo.getDataModel().getDataByTag(node.id);
20
+ return {
21
+ 'id': node.id,
22
+ 'imageName': element.a('customName') || element.a('name') || element.getName()
23
+ };
24
+ }),
25
+ 'linkes': links.map(function (link) {
26
+ var id = link.id,
27
+ source = link.source,
28
+ target = link.target,
29
+ interfaceSource = link.interfaceSource,
30
+ interfaceTarget = link.interfaceTarget;
31
+ return {
32
+ id: id,
33
+ source: source,
34
+ target: target,
35
+ interfaceSource: interfaceSource,
36
+ interfaceTarget: interfaceTarget
37
+ };
38
+ })
39
+ };
40
+
41
+ _rlog["default"].error('导出数据', params);
42
+
43
+ (0, _request.getRequest)().post('/topo/v1/api/structure/excel', params);
44
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports["default"] = void 0;
5
+
6
+ var _default = function _default(first) {
7
+ ;
8
+ };
9
+
10
+ exports["default"] = _default;
@@ -0,0 +1,284 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ exports.__esModule = true;
6
+ exports["default"] = ResourceOverview;
7
+
8
+ var _table = _interopRequireDefault(require("@alifd/next/lib/table"));
9
+
10
+ var _divider = _interopRequireDefault(require("@alifd/next/lib/divider"));
11
+
12
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
+
14
+ var _react = _interopRequireWildcard(require("react"));
15
+
16
+ var _componentTopologyGraph = require("@riil-frontend/component-topology-graph");
17
+
18
+ var _topoData = require("../../../../../../../utils/topoData");
19
+
20
+ var _NoDataPage = _interopRequireDefault(require("@riil-frontend/component-topology-common/es/components/NoDataPage"));
21
+
22
+ var _indexModule = _interopRequireDefault(require("./index.module.scss"));
23
+
24
+ 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); }
25
+
26
+ 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; }
27
+
28
+ // import ResourceDiplayInfoSetting from './Setting';
29
+ // bimport '@riil-frontend/css/lib/index.scss';
30
+ // 关键指标
31
+ function indicatorRander(data) {
32
+ console.log('indicatorRander', data);
33
+ return /*#__PURE__*/_react["default"].createElement("div", {
34
+ className: _indexModule["default"].indicator
35
+ }, /*#__PURE__*/_react["default"].createElement("div", {
36
+ className: _indexModule["default"].row
37
+ }, data.slice(0, 3).map(function (item) {
38
+ return /*#__PURE__*/_react["default"].createElement("div", {
39
+ className: _indexModule["default"].item,
40
+ key: item.code
41
+ }, /*#__PURE__*/_react["default"].createElement("span", {
42
+ className: _indexModule["default"].content
43
+ }, item.value ? item.value + item.unit : '暂无数据'), /*#__PURE__*/_react["default"].createElement("span", {
44
+ className: _indexModule["default"].label
45
+ }, item.name));
46
+ })), /*#__PURE__*/_react["default"].createElement("div", {
47
+ className: _indexModule["default"].row
48
+ }, data.slice(3, 6).map(function (item) {
49
+ return /*#__PURE__*/_react["default"].createElement("div", {
50
+ className: _indexModule["default"].item,
51
+ key: item.code
52
+ }, /*#__PURE__*/_react["default"].createElement("span", {
53
+ className: _indexModule["default"].content
54
+ }, item.value ? item.value + item.unit : '暂无数据'), /*#__PURE__*/_react["default"].createElement("span", {
55
+ className: _indexModule["default"].label
56
+ }, item.name));
57
+ })));
58
+ }
59
+ /**
60
+ * 资源概览
61
+ */
62
+
63
+
64
+ function ResourceOverview(props) {
65
+ var topo = props.topo,
66
+ id = props.id,
67
+ ciType = props.ciType;
68
+
69
+ var _topo$store$useModelS = topo.store.useModelState('topoBizMod'),
70
+ attrsAndMetrics = _topo$store$useModelS.attrsAndMetrics;
71
+
72
+ var _useState = (0, _react.useState)({
73
+ display_name: '',
74
+ // 资源名称/显示名称
75
+ ipv4_address: '',
76
+ // IP地址
77
+ asset_number: '',
78
+ // 资产编号
79
+ type: '',
80
+ // 资源类型
81
+ b: '',
82
+ // 资源位置
83
+ c: '' // 责任人
84
+
85
+ }),
86
+ baseInfo = _useState[0],
87
+ setBaseInfo = _useState[1];
88
+
89
+ var _useState2 = (0, _react.useState)([]),
90
+ indicator = _useState2[0],
91
+ setIndicator = _useState2[1];
92
+
93
+ (0, _react.useEffect)(function () {
94
+ init();
95
+ }, [attrsAndMetrics]);
96
+
97
+ function init() {
98
+ var _findItem2, _findItem3, _findItem4, _findItem5;
99
+
100
+ // 资源-基本信息
101
+ console.log('资源-基本信息------------------------', id, attrsAndMetrics);
102
+
103
+ var _findItem = (0, _topoData.findItem)(attrsAndMetrics, 'id', id),
104
+ attributes = _findItem.attributes,
105
+ metrics = _findItem.metrics;
106
+
107
+ console.log('000', (0, _topoData.findItem)(attrsAndMetrics, 'id', id));
108
+ console.log('111', attributes, (0, _topoData.findItem)(attributes, 'code', 'display_name'));
109
+ setBaseInfo({
110
+ display_name: (_findItem2 = (0, _topoData.findItem)(attributes, 'code', 'display_name')) === null || _findItem2 === void 0 ? void 0 : _findItem2.value,
111
+ ipv4_address: (_findItem3 = (0, _topoData.findItem)(attributes, 'code', 'ipv4_address')) === null || _findItem3 === void 0 ? void 0 : _findItem3.value,
112
+ asset_number: (_findItem4 = (0, _topoData.findItem)(attributes, 'code', 'asset_number')) === null || _findItem4 === void 0 ? void 0 : _findItem4.value,
113
+ type: (_findItem5 = (0, _topoData.findItem)(attributes, 'code', 'type')) === null || _findItem5 === void 0 ? void 0 : _findItem5.value
114
+ }); // 链路-基本信息
115
+ // 资源/链路-关键指标 数据 metrics,模型 topo.ciTyeCache.getCiType(ciType)
116
+
117
+ console.log('资源/链路-关键指标------------------------', id, metrics);
118
+
119
+ var _topo$ciTyeCache$getC = topo.ciTyeCache.getCiType(ciType),
120
+ modelMetrics = _topo$ciTyeCache$getC.metrics;
121
+
122
+ setIndicator(modelMetrics.slice(0, 6).map(function (item) {
123
+ var _findItem6;
124
+
125
+ return (0, _extends2["default"])({}, item, {
126
+ value: (_findItem6 = (0, _topoData.findItem)(metrics, 'code', item.code)) === null || _findItem6 === void 0 ? void 0 : _findItem6.value
127
+ });
128
+ }));
129
+ }
130
+
131
+ var topoBizMod = topo.store.useModelState('topoBizMod');
132
+ (0, _react.useEffect)(function () {
133
+ console.log('topoBizMod', topoBizMod);
134
+ }, [topoBizMod]);
135
+ var columns = [{
136
+ title: '事件',
137
+ dataIndex: 'a',
138
+ key: 'a' // width: 144,
139
+ // cell: (alertTitle, index, record) => (
140
+ // <Link
141
+ // to={`/default/pagecenter/${PAGE_TYPE.ALERT_DETAIL}/view/${record.alertId}?alertId=${record.alertId}&resId=${record.ciId}&title=${record.alertObject}`}
142
+ // >
143
+ // <div title={alertTitle}>{alertTitle}</div>
144
+ // </Link>
145
+ // ),
146
+
147
+ }, {
148
+ title: '时间',
149
+ dataIndex: 'createTime',
150
+ key: 'createTime',
151
+ width: 128 // cell: (createTime, index, record) => (
152
+ // <div title={moment(createTime).format('YYYY-MM-DD HH:mm')}>
153
+ // {moment(createTime).format('YYYY-MM-DD HH:mm')}
154
+ // </div>
155
+ // ),
156
+
157
+ }, {
158
+ title: '操作',
159
+ dataIndex: 'alertType',
160
+ key: 'alertType',
161
+ width: 64 // cell: (alertType, index, record) => (
162
+ // <div title={alertType}>{alertType}</div>
163
+ // ),
164
+
165
+ }];
166
+ var dataSource = [{
167
+ id: 1,
168
+ a: 12312
169
+ }, {
170
+ id: 2,
171
+ a: 12312
172
+ }, {
173
+ id: 3,
174
+ a: 12312
175
+ }, {
176
+ id: 4,
177
+ a: 12312
178
+ }, {
179
+ id: 5,
180
+ a: 12312
181
+ }, {
182
+ id: 6,
183
+ a: 12312
184
+ }, {
185
+ id: 7,
186
+ a: 12312
187
+ }, {
188
+ id: 8,
189
+ a: 12312
190
+ }, {
191
+ id: 9,
192
+ a: 12312
193
+ }, {
194
+ id: 10,
195
+ a: 12312
196
+ }];
197
+
198
+ function BaseInfo(type, data) {}
199
+
200
+ return /*#__PURE__*/_react["default"].createElement("div", {
201
+ className: _indexModule["default"]['resource-overview']
202
+ }, /*#__PURE__*/_react["default"].createElement("div", {
203
+ className: _indexModule["default"]['block-box']
204
+ }, /*#__PURE__*/_react["default"].createElement("div", {
205
+ className: _indexModule["default"].title
206
+ }, /*#__PURE__*/_react["default"].createElement(_divider["default"], {
207
+ direction: "ver"
208
+ }), "\u57FA\u672C\u4FE1\u606F"), /*#__PURE__*/_react["default"].createElement("div", {
209
+ className: _indexModule["default"].body
210
+ }, /*#__PURE__*/_react["default"].createElement("div", {
211
+ className: _indexModule["default"]['base-info']
212
+ }, /*#__PURE__*/_react["default"].createElement("div", {
213
+ className: _indexModule["default"].row
214
+ }, /*#__PURE__*/_react["default"].createElement("div", {
215
+ className: _indexModule["default"].item
216
+ }, /*#__PURE__*/_react["default"].createElement("span", {
217
+ className: _indexModule["default"].label
218
+ }, "\u8D44\u6E90\u540D\u79F0\uFF1A"), /*#__PURE__*/_react["default"].createElement("span", {
219
+ className: _indexModule["default"].content
220
+ }, baseInfo.display_name)), /*#__PURE__*/_react["default"].createElement("div", {
221
+ className: _indexModule["default"].item
222
+ }, /*#__PURE__*/_react["default"].createElement("span", {
223
+ className: _indexModule["default"].label
224
+ }, "IP\u5730\u5740\uFF1A"), /*#__PURE__*/_react["default"].createElement("span", {
225
+ className: _indexModule["default"].content
226
+ }, baseInfo.ipv4_address))), /*#__PURE__*/_react["default"].createElement("div", {
227
+ className: _indexModule["default"].row
228
+ }, /*#__PURE__*/_react["default"].createElement("div", {
229
+ className: _indexModule["default"].item
230
+ }, /*#__PURE__*/_react["default"].createElement("span", {
231
+ className: _indexModule["default"].label
232
+ }, "\u8D44\u4EA7\u7F16\u53F7\uFF1A"), /*#__PURE__*/_react["default"].createElement("span", {
233
+ className: _indexModule["default"].content
234
+ }, baseInfo.asset_number)), /*#__PURE__*/_react["default"].createElement("div", {
235
+ className: _indexModule["default"].item
236
+ }, /*#__PURE__*/_react["default"].createElement("span", {
237
+ className: _indexModule["default"].label
238
+ }, "\u8D44\u6E90\u7C7B\u578B\uFF1A"), /*#__PURE__*/_react["default"].createElement("span", {
239
+ className: _indexModule["default"].content
240
+ }, baseInfo.type))), /*#__PURE__*/_react["default"].createElement("div", {
241
+ className: _indexModule["default"].row
242
+ }, /*#__PURE__*/_react["default"].createElement("div", {
243
+ className: _indexModule["default"].item
244
+ }, /*#__PURE__*/_react["default"].createElement("span", {
245
+ className: _indexModule["default"].label
246
+ }, "\u8D44\u6E90\u4F4D\u7F6E\uFF1A"), /*#__PURE__*/_react["default"].createElement("span", {
247
+ className: _indexModule["default"].content
248
+ }, baseInfo.b)), /*#__PURE__*/_react["default"].createElement("div", {
249
+ className: _indexModule["default"].item
250
+ }, /*#__PURE__*/_react["default"].createElement("span", {
251
+ className: _indexModule["default"].label
252
+ }, "\u8D23\u4EFB\u4EBA\uFF1A"), /*#__PURE__*/_react["default"].createElement("span", {
253
+ className: _indexModule["default"].content
254
+ }, baseInfo.c)))))), /*#__PURE__*/_react["default"].createElement("div", {
255
+ className: _indexModule["default"]['block-box']
256
+ }, /*#__PURE__*/_react["default"].createElement("div", {
257
+ className: _indexModule["default"].title
258
+ }, /*#__PURE__*/_react["default"].createElement(_divider["default"], {
259
+ direction: "ver"
260
+ }), "\u5173\u952E\u6307\u6807"), /*#__PURE__*/_react["default"].createElement("div", {
261
+ className: _indexModule["default"].body
262
+ }, /*#__PURE__*/_react["default"].createElement("div", {
263
+ className: _indexModule["default"].indicator
264
+ }, indicatorRander(indicator)))), /*#__PURE__*/_react["default"].createElement("div", {
265
+ className: _indexModule["default"]['block-box']
266
+ }, /*#__PURE__*/_react["default"].createElement("div", {
267
+ className: _indexModule["default"].title
268
+ }, /*#__PURE__*/_react["default"].createElement(_divider["default"], {
269
+ direction: "ver"
270
+ }), "\u6700\u8FD1\u7684\u544A\u8B66\u548C\u98CE\u9669"), /*#__PURE__*/_react["default"].createElement("div", {
271
+ className: _indexModule["default"].body
272
+ }, /*#__PURE__*/_react["default"].createElement("div", {
273
+ className: _indexModule["default"].alarm
274
+ }, /*#__PURE__*/_react["default"].createElement(_table["default"], {
275
+ hasBorder: false,
276
+ columns: columns,
277
+ dataSource: dataSource,
278
+ emptyContent: /*#__PURE__*/_react["default"].createElement(_NoDataPage["default"], {
279
+ type: "table"
280
+ })
281
+ })))));
282
+ }
283
+
284
+ ;
@@ -0,0 +1,73 @@
1
+ @import "~@alifd/next/variables.scss";
2
+
3
+ .resource-overview {
4
+ .block-box {
5
+ color: #78849c;
6
+ overflow: hidden;
7
+ .title {
8
+ height: 20px;
9
+ line-height: 20px;
10
+ font-size: 14px;
11
+ font-weight: 600;
12
+ color: #4d6277;
13
+ margin-top: 16px;
14
+ :global {
15
+ .#{$css-prefix}divider-ver {
16
+ height: 1em;
17
+ }
18
+ }
19
+ }
20
+ }
21
+ .base-info {
22
+ margin-top: 16px;
23
+ .row {
24
+ display: flex;
25
+ margin-bottom: 8px;
26
+ .item {
27
+ width: 220px;
28
+ margin-right: 25px;
29
+ }
30
+ }
31
+ }
32
+ .indicator {
33
+ width: 525px;
34
+ margin: 12px 0 8px;
35
+ .row {
36
+ display: flex;
37
+ border-bottom: 1px solid #f2f5fa;
38
+ &:last-child {
39
+ border: none;
40
+ }
41
+ .item {
42
+ width: 175px;
43
+ height: 100px;
44
+ box-sizing: border-box;
45
+ display: flex;
46
+ flex-direction: column;
47
+ text-align: center;
48
+ border-right: 1px solid #f2f5fa;
49
+ &:last-child {
50
+ border: none;
51
+ }
52
+ .content {
53
+ margin-top: 19px;
54
+ height: 32px;
55
+ line-height: 32px;
56
+ font-size: 32px;
57
+ color: #4d6277;
58
+ }
59
+ .label {
60
+ margin-top: 12px;
61
+ height: 20px;
62
+ font-size: 14px;
63
+ font-weight: 400;
64
+ color: #78849c;
65
+ line-height: 20px;
66
+ }
67
+ }
68
+ }
69
+ }
70
+ .alarm{
71
+ margin-top: 12px;
72
+ }
73
+ }