diff --git a/package.json b/package.json
index 377e4addc..122cf47f9 100644
--- a/package.json
+++ b/package.json
@@ -11,6 +11,8 @@
"lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore"
},
"dependencies": {
+ "@antv/x6": "^2.18.1",
+ "@antv/x6-vue-shape": "^2.1.2",
"@turf/turf": "^7.1.0",
"@visactor/vtable": "^1.13.2",
"@visactor/vtable-gantt": "^1.13.2",
@@ -24,6 +26,7 @@
"chroma-js": "^3.1.2",
"dayjs": "^1.11.13",
"echarts": "^5.5.1",
+ "elkjs": "^0.10.0",
"es-toolkit": "^1.32.0",
"lodash": "^4.17.21",
"maplibre-gl": "^5.0.1",
diff --git a/public/images/topology/a.png b/public/images/topology/a.png
new file mode 100644
index 000000000..203960baf
Binary files /dev/null and b/public/images/topology/a.png differ
diff --git a/public/images/topology/arrow-bottom.png b/public/images/topology/arrow-bottom.png
new file mode 100644
index 000000000..5e586f823
Binary files /dev/null and b/public/images/topology/arrow-bottom.png differ
diff --git a/public/images/topology/arrow-left.png b/public/images/topology/arrow-left.png
new file mode 100644
index 000000000..37435b9d5
Binary files /dev/null and b/public/images/topology/arrow-left.png differ
diff --git a/public/images/topology/com.png b/public/images/topology/com.png
new file mode 100644
index 000000000..0a2329f75
Binary files /dev/null and b/public/images/topology/com.png differ
diff --git a/public/images/topology/cpu.png b/public/images/topology/cpu.png
new file mode 100644
index 000000000..cffefe6ab
Binary files /dev/null and b/public/images/topology/cpu.png differ
diff --git a/public/images/topology/duankai.png b/public/images/topology/duankai.png
new file mode 100644
index 000000000..24d327663
Binary files /dev/null and b/public/images/topology/duankai.png differ
diff --git a/public/images/topology/fwq.png b/public/images/topology/fwq.png
new file mode 100644
index 000000000..c9a11cd13
Binary files /dev/null and b/public/images/topology/fwq.png differ
diff --git a/public/images/topology/hezi.png b/public/images/topology/hezi.png
new file mode 100644
index 000000000..a2244664e
Binary files /dev/null and b/public/images/topology/hezi.png differ
diff --git a/public/images/topology/xinhao.png b/public/images/topology/xinhao.png
new file mode 100644
index 000000000..8552bda0b
Binary files /dev/null and b/public/images/topology/xinhao.png differ
diff --git a/public/images/topology/yp.png b/public/images/topology/yp.png
new file mode 100644
index 000000000..202fd5c67
Binary files /dev/null and b/public/images/topology/yp.png differ
diff --git a/public/images/topology/zhuji.png b/public/images/topology/zhuji.png
new file mode 100644
index 000000000..f17fdc5d9
Binary files /dev/null and b/public/images/topology/zhuji.png differ
diff --git a/public/json/topology.json b/public/json/topology.json
new file mode 100644
index 000000000..dda198006
--- /dev/null
+++ b/public/json/topology.json
@@ -0,0 +1,1512 @@
+{
+ "id": "content",
+ "children": [
+ {
+ "id": "a1",
+ "type": "a",
+ "x": 36,
+ "y": 68,
+ "parentId": "left",
+ "ports": [
+ {
+ "id": "a1_p1",
+ "group": "left"
+ }
+ ],
+ "width": 47,
+ "height": 39
+ },
+ {
+ "id": "a2",
+ "type": "a",
+ "parentId": "left",
+ "x": 36,
+ "y": 128,
+ "ports": [
+ {
+ "id": "a2_p1",
+ "group": "left"
+ }
+ ],
+ "width": 47,
+ "height": 39
+ },
+ {
+ "id": "a3",
+ "type": "a",
+ "parentId": "left",
+ "x": 36,
+ "y": 182,
+ "ports": [
+ {
+ "id": "a3_p1",
+ "group": "left"
+ }
+ ],
+ "width": 47,
+ "height": 39
+ },
+ {
+ "id": "a4",
+ "type": "a",
+ "parentId": "left",
+ "x": 36,
+ "y": 238,
+ "ports": [
+ {
+ "id": "a4_p1",
+ "group": "left"
+ }
+ ],
+ "width": 47,
+ "height": 39
+ },
+ {
+ "id": "a5",
+ "type": "a",
+ "parentId": "left",
+ "x": 36,
+ "y": 320,
+ "ports": [
+ {
+ "id": "a5_p1"
+ }
+ ],
+ "width": 47,
+ "height": 39
+ },
+ {
+ "id": "a6",
+ "type": "a",
+ "parentId": "left",
+ "x": 36,
+ "y": 377,
+ "ports": [
+ {
+ "id": "a6_p1"
+ }
+ ],
+ "width": 47,
+ "height": 39
+ },
+ {
+ "id": "a7",
+ "type": "a",
+ "parentId": "left",
+ "x": 36,
+ "y": 434,
+ "ports": [
+ {
+ "id": "a7_p1"
+ }
+ ],
+ "width": 47,
+ "height": 39
+ },
+ {
+ "id": "a8",
+ "type": "a",
+ "parentId": "left",
+ "x": 36,
+ "y": 561.5,
+ "ports": [
+ {
+ "id": "a8_p1"
+ }
+ ],
+ "width": 47,
+ "height": 39
+ },
+ {
+ "id": "cpu1",
+ "type": "cpu",
+ "parentId": "left",
+ "x": 226,
+ "y": 136,
+ "ports": [
+ {
+ "id": "cpu1_p1"
+ },
+ {
+ "id": "cpu1_p2"
+ }
+ ],
+ "width": 72,
+ "height": 86,
+ "infos": {
+ "width": 75,
+ "height": 55,
+ "x": 226,
+ "y": 70,
+ "cpu": "80%",
+ "neicun": "70%",
+ "yingpan": "50%"
+ }
+ },
+ {
+ "id": "cpu2",
+ "type": "cpu",
+ "parentId": "left",
+ "x": 226,
+ "y": 354,
+ "ports": [
+ {
+ "id": "cpu2_p1"
+ },
+ {
+ "id": "cpu2_p2"
+ }
+ ],
+ "width": 72,
+ "height": 86,
+ "infos": {
+ "width": 75,
+ "height": 55,
+ "x": 226,
+ "y": 288,
+ "cpu": "80%",
+ "neicun": "70%",
+ "yingpan": "50%"
+ }
+ },
+ {
+ "id": "cpu3",
+ "type": "cpu",
+ "parentId": "left",
+ "x": 226,
+ "y": 538,
+ "ports": [
+ {
+ "id": "cpu3_p1"
+ },
+ {
+ "id": "cpu3_p2"
+ }
+ ],
+ "width": 72,
+ "height": 86,
+ "infos": {
+ "width": 75,
+ "height": 55,
+ "x": 226,
+ "y": 472,
+ "cpu": "80%",
+ "neicun": "70%",
+ "yingpan": "50%"
+ }
+ },
+ {
+ "id": "cpu4",
+ "type": "cpu",
+ "parentId": "center",
+ "x": 416,
+ "y": 136,
+ "ports": [
+ {
+ "id": "cpu4_p1"
+ },
+ {
+ "id": "cpu4_p2"
+ }
+ ],
+ "width": 72,
+ "height": 86,
+ "infos": {
+ "width": 75,
+ "height": 55,
+ "x": 416,
+ "y": 70,
+ "cpu": "80%",
+ "neicun": "70%",
+ "yingpan": "50%"
+ }
+ },
+ {
+ "id": "cpu5",
+ "type": "cpu",
+ "parentId": "center",
+ "x": 416,
+ "y": 354,
+ "ports": [
+ {
+ "id": "cpu5_p1"
+ },
+ {
+ "id": "cpu5_p2"
+ }
+ ],
+ "width": 72,
+ "height": 86,
+ "infos": {
+ "width": 75,
+ "height": 55,
+ "x": 416,
+ "y": 288,
+ "cpu": "80%",
+ "neicun": "70%",
+ "yingpan": "50%"
+ }
+ },
+ {
+ "id": "cpu6",
+ "type": "cpu",
+ "parentId": "center",
+ "x": 416,
+ "y": 538,
+ "ports": [
+ {
+ "id": "cpu6_p1"
+ },
+ {
+ "id": "cpu6_p2"
+ }
+ ],
+ "width": 72,
+ "height": 86,
+ "infos": {
+ "width": 75,
+ "height": 55,
+ "x": 416,
+ "y": 472,
+ "cpu": "80%",
+ "neicun": "70%",
+ "yingpan": "50%"
+ }
+ },
+ {
+ "id": "fwq1",
+ "type": "fwq",
+ "parentId": "center",
+ "x": 566,
+ "y": 266,
+ "ports": [
+ {
+ "id": "fwq1_p1"
+ },
+ {
+ "id": "fwq1_p2"
+ }
+ ],
+ "width": 36,
+ "height": 86
+ },
+ {
+ "id": "a9",
+ "type": "a",
+ "parentId": "center",
+ "x": 761,
+ "y": 63,
+ "ports": [
+ {
+ "id": "a9_p1"
+ },
+ {
+ "id": "a9_p2"
+ },
+ {
+ "id": "a9_p3"
+ },
+ {
+ "id": "a9_p4"
+ }
+ ],
+ "width": 47,
+ "height": 60
+ },
+ {
+ "id": "xinhao",
+ "type": "xinhao",
+ "parentId": "center",
+ "x": 480,
+ "y": 23,
+ "ports": [
+ {
+ "id": "xinhao_p1"
+ }
+ ],
+ "width": 33,
+ "height": 33
+ },
+ {
+ "id": "hezi",
+ "type": "hezi",
+ "parentId": "center",
+ "x": 650,
+ "y": 65,
+ "ports": [
+ {
+ "id": "hezi_p1"
+ }
+ ],
+ "width": 54.44,
+ "height": 56
+ },
+ {
+ "id": "yp2",
+ "type": "yp",
+ "parentId": "center",
+ "x": 856,
+ "y": 53,
+ "ports": [
+ {
+ "id": "yp2_p1"
+ }
+ ],
+ "width": 48,
+ "height": 86,
+ "infos": {
+ "width": 115,
+ "height": 55,
+ "x": 916,
+ "y": 60,
+ "shuju": "128G/520G",
+ "cpu": "80%",
+ "neicun": "70%",
+ "yingpan": "50%"
+ }
+ },
+ {
+ "id": "a10",
+ "type": "a",
+ "parentId": "center",
+ "x": 686,
+ "y": 189,
+ "ports": [
+ {
+ "id": "a10_p1"
+ },
+ {
+ "id": "a10_p2"
+ }
+ ],
+ "width": 47,
+ "height": 39
+ },
+ {
+ "id": "a11",
+ "type": "a",
+ "parentId": "center",
+ "x": 686,
+ "y": 259,
+ "ports": [
+ {
+ "id": "a11_p1"
+ },
+ {
+ "id": "a11_p2"
+ }
+ ],
+ "width": 47,
+ "height": 39
+ },
+ {
+ "id": "a12",
+ "type": "a",
+ "parentId": "center",
+ "x": 686,
+ "y": 329,
+ "ports": [
+ {
+ "id": "a12_p1"
+ },
+ {
+ "id": "a12_p2"
+ }
+ ],
+ "width": 47,
+ "height": 39
+ },
+ {
+ "id": "a13",
+ "type": "a",
+ "parentId": "center",
+ "x": 686,
+ "y": 399,
+ "ports": [
+ {
+ "id": "a13_p1"
+ },
+ {
+ "id": "a13_p2"
+ }
+ ],
+ "width": 47,
+ "height": 39
+ },
+ {
+ "id": "fwq2",
+ "type": "fwq",
+ "parentId": "center",
+ "x": 691,
+ "y": 503,
+ "ports": [
+ {
+ "id": "fwq2_p1"
+ }
+ ],
+ "width": 36,
+ "height": 86
+ },
+ {
+ "id": "cpu7",
+ "type": "cpu",
+ "parentId": "center",
+ "x": 836,
+ "y": 273,
+ "ports": [
+ {
+ "id": "cpu7_p1"
+ },
+ {
+ "id": "cpu7_p2"
+ }
+ ],
+ "width": 72,
+ "height": 86,
+ "infos": {
+ "width": 75,
+ "height": 55,
+ "x": 836,
+ "y": 207,
+ "cpu": "80%",
+ "neicun": "70%",
+ "yingpan": "50%"
+ }
+ },
+ {
+ "id": "cpu8",
+ "type": "cpu",
+ "parentId": "right",
+ "x": 1016,
+ "y": 273,
+ "ports": [
+ {
+ "id": "cpu8_p1"
+ },
+ {
+ "id": "cpu8_p2"
+ }
+ ],
+ "width": 72,
+ "height": 86,
+ "infos": {
+ "width": 75,
+ "height": 55,
+ "x": 1016,
+ "y": 207,
+ "cpu": "80%",
+ "neicun": "70%",
+ "yingpan": "50%"
+ }
+ },
+ {
+ "id": "rect1",
+ "type": "rect",
+ "parentId": "right",
+ "x": 1156,
+ "y": 30,
+ "ports": [
+ {
+ "id": "rect1_p1"
+ },
+ {
+ "id": "rect1_p2"
+ }
+ ],
+ "width": 194,
+ "height": 591
+ },
+ {
+ "id": "yp1",
+ "type": "yp",
+ "parentId": "right",
+ "x": 1186,
+ "y": 273,
+ "ports": [
+ {
+ "id": "yp1_p1"
+ },
+ {
+ "id": "yp1_p2"
+ }
+ ],
+ "width": 48,
+ "height": 86,
+ "infos": {
+ "width": 115,
+ "height": 55,
+ "x": 1145,
+ "y": 190,
+ "shuju": "128G/520G",
+ "cpu": "80%",
+ "neicun": "70%",
+ "yingpan": "50%"
+ }
+ },
+ {
+ "id": "fwq3",
+ "type": "fwq",
+ "parentId": "right",
+ "x": 1281,
+ "y": 189,
+ "ports": [
+ {
+ "id": "fwq3_p1"
+ },
+ {
+ "id": "fwq3_p2"
+ }
+ ],
+ "width": 36,
+ "height": 86
+ },
+ {
+ "id": "fwq4",
+ "type": "fwq",
+ "parentId": "right",
+ "x": 1281,
+ "y": 359,
+ "ports": [
+ {
+ "id": "fwq4_p1"
+ },
+ {
+ "id": "fwq4_p2"
+ }
+ ],
+ "width": 36,
+ "height": 86
+ },
+ {
+ "id": "zhuji",
+ "type": "zhuji",
+ "parentId": "right",
+ "x": 1241,
+ "y": 507,
+ "ports": [],
+ "width": 53,
+ "height": 81
+ },
+ {
+ "id": "rect2",
+ "type": "rect",
+ "parentId": "right",
+ "x": 1383,
+ "y": 30,
+ "ports": [],
+ "width": 378,
+ "height": 591
+ },
+ {
+ "id": "a14",
+ "type": "a",
+ "x": 1441,
+ "y": 68,
+ "parentId": "right",
+ "ports": [
+ {
+ "id": "a14_p1"
+ }
+ ],
+ "width": 47,
+ "height": 39
+ },
+ {
+ "id": "a15",
+ "type": "a",
+ "x": 1441,
+ "y": 145,
+ "parentId": "right",
+ "ports": [
+ {
+ "id": "a15_p1"
+ }
+ ],
+ "width": 47,
+ "height": 39
+ },
+ {
+ "id": "a16",
+ "type": "a",
+ "x": 1441,
+ "y": 222,
+ "parentId": "right",
+ "ports": [
+ {
+ "id": "a16_p1"
+ }
+ ],
+ "width": 47,
+ "height": 39
+ },
+ {
+ "id": "a17",
+ "type": "a",
+ "x": 1441,
+ "y": 374,
+ "parentId": "right",
+ "ports": [
+ {
+ "id": "a17_p1"
+ }
+ ],
+ "width": 47,
+ "height": 39
+ },
+ {
+ "id": "a18",
+ "type": "a",
+ "x": 1441,
+ "y": 451,
+ "parentId": "right",
+ "ports": [
+ {
+ "id": "a18_p1"
+ }
+ ],
+ "width": 47,
+ "height": 39
+ },
+ {
+ "id": "a19",
+ "type": "a",
+ "x": 1441,
+ "y": 528,
+ "parentId": "right",
+ "ports": [
+ {
+ "id": "a19_p1"
+ }
+ ],
+ "width": 47,
+ "height": 39
+ },
+ {
+ "id": "fwq5",
+ "type": "fwq",
+ "x": 1548,
+ "y": 275,
+ "parentId": "right",
+ "ports": [
+ {
+ "id": "fwq5_p1"
+ },
+ {
+ "id": "fwq5_p2"
+ }
+ ],
+ "width": 36,
+ "height": 86
+ },
+ {
+ "id": "com1",
+ "type": "com",
+ "x": 1659,
+ "y": 174,
+ "parentId": "right",
+ "ports": [
+ {
+ "id": "com1_p1"
+ }
+ ],
+ "width": 64,
+ "height": 52
+ },
+ {
+ "id": "com2",
+ "type": "com",
+ "x": 1659,
+ "y": 292,
+ "parentId": "right",
+ "ports": [
+ {
+ "id": "com2_p1"
+ }
+ ],
+ "width": 64,
+ "height": 52
+ },
+ {
+ "id": "com3",
+ "type": "com",
+ "x": 1659,
+ "y": 410,
+ "parentId": "right",
+ "ports": [
+ {
+ "id": "com3_p1"
+ }
+ ],
+ "width": 64,
+ "height": 52
+ }
+ ],
+ "edges": [
+ {
+ "id": "e0",
+ "sources": {
+ "cell": "a1",
+ "port": "a1_p1"
+ },
+ "targets": {
+ "cell": "cpu1",
+ "port": "cpu1_p1"
+ },
+ "isTrue": false
+ },
+ {
+ "id": "e1",
+ "sources": {
+ "cell": "a2",
+ "port": "a2_p1"
+ },
+ "targets": {
+ "cell": "cpu1",
+ "port": "cpu1_p1"
+ }
+ },
+ {
+ "id": "e2",
+ "sources": {
+ "cell": "a3",
+ "port": "a3_p1"
+ },
+ "targets": {
+ "cell": "cpu1",
+ "port": "cpu1_p1"
+ }
+ },
+ {
+ "id": "e3",
+ "sources": {
+ "cell": "a4",
+ "port": "a4_p1"
+ },
+ "targets": {
+ "cell": "cpu1",
+ "port": "cpu1_p1"
+ }
+ },
+ {
+ "id": "e3",
+ "sources": {
+ "cell": "cpu1",
+ "port": "cpu1_p2"
+ },
+ "targets": {
+ "cell": "cpu4",
+ "port": "cpu4_p1"
+ }
+ },
+ {
+ "id": "e3",
+ "sources": {
+ "cell": "cpu2",
+ "port": "cpu2_p2"
+ },
+ "targets": {
+ "cell": "cpu5",
+ "port": "cpu5_p1"
+ }
+ },
+ {
+ "id": "e3",
+ "sources": {
+ "cell": "cpu3",
+ "port": "cpu3_p2"
+ },
+ "targets": {
+ "cell": "cpu6",
+ "port": "cpu6_p1"
+ }
+ },
+ {
+ "id": "e4",
+ "sources": {
+ "cell": "a5",
+ "port": "a5_p1"
+ },
+ "targets": {
+ "cell": "cpu2",
+ "port": "cpu2_p1"
+ }
+ },
+ {
+ "id": "e5",
+ "sources": {
+ "cell": "a6",
+ "port": "a6_p1"
+ },
+ "targets": {
+ "cell": "cpu2",
+ "port": "cpu2_p1"
+ }
+ },
+ {
+ "id": "e6",
+ "sources": {
+ "cell": "a7",
+ "port": "a7_p1"
+ },
+ "targets": {
+ "cell": "cpu2",
+ "port": "cpu2_p1"
+ }
+ },
+ {
+ "id": "e7",
+ "sources": {
+ "cell": "a8",
+ "port": "a8_p1"
+ },
+ "targets": {
+ "cell": "cpu3",
+ "port": "cpu3_p1"
+ }
+ },
+ {
+ "id": "e13",
+ "sources": {
+ "cell": "cpu4",
+ "port": "cpu4_p2"
+ },
+ "targets": {
+ "cell": "fwq1",
+ "port": "fwq1_p1"
+ }
+ },
+ {
+ "id": "e13",
+ "sources": {
+ "cell": "cpu5",
+ "port": "cpu5_p2"
+ },
+ "targets": {
+ "cell": "fwq1",
+ "port": "fwq1_p1"
+ }
+ },
+ {
+ "id": "e13",
+ "sources": {
+ "cell": "fwq1",
+ "port": "fwq1_p2"
+ },
+ "targets": {
+ "cell": "a9",
+ "port": "a9_p2"
+ },
+ "vertices": [
+ {
+ "x": 584,
+ "y": 150
+ },
+ {
+ "x": 773,
+ "y": 150
+ }
+ ]
+ },
+ {
+ "id": "e13",
+ "sources": {
+ "cell": "fwq1",
+ "port": "fwq1_p2"
+ },
+ "targets": {
+ "cell": "a9",
+ "port": "a9_p2"
+ },
+ "vertices": [
+ {
+ "x": 584,
+ "y": 150
+ },
+ {
+ "x": 773,
+ "y": 150
+ }
+ ]
+ },
+ {
+ "id": "e13",
+ "sources": {
+ "cell": "fwq1",
+ "port": "fwq1_p2"
+ },
+ "targets": {
+ "cell": "a10",
+ "port": "a10_p1"
+ }
+ },
+ {
+ "id": "e13",
+ "sources": {
+ "cell": "fwq1",
+ "port": "fwq1_p2"
+ },
+ "targets": {
+ "cell": "a11",
+ "port": "a11_p1"
+ }
+ },
+ {
+ "id": "e13",
+ "sources": {
+ "cell": "fwq1",
+ "port": "fwq1_p2"
+ },
+ "targets": {
+ "cell": "a12",
+ "port": "a12_p1"
+ }
+ },
+ {
+ "id": "e13",
+ "sources": {
+ "cell": "fwq1",
+ "port": "fwq1_p2"
+ },
+ "targets": {
+ "cell": "a13",
+ "port": "a13_p1"
+ }
+ },
+ {
+ "id": "e13",
+ "sources": {
+ "cell": "fwq2",
+ "port": "fwq2_p2"
+ },
+ "targets": {
+ "cell": "cpu7",
+ "port": "cpu7_p1"
+ },
+ "vertices": [
+ {
+ "x": 784.5,
+ "y": 545
+ },
+ {
+ "x": 784.5,
+ "y": 316
+ }
+ ]
+ },
+ {
+ "id": "e13",
+ "sources": {
+ "cell": "a10",
+ "port": "a10_p2"
+ },
+ "targets": {
+ "cell": "cpu7",
+ "port": "cpu7_p1"
+ }
+ },
+ {
+ "id": "e13",
+ "sources": {
+ "cell": "a11",
+ "port": "a11_p2"
+ },
+ "targets": {
+ "cell": "cpu7",
+ "port": "cpu7_p1"
+ }
+ },
+ {
+ "id": "e13",
+ "sources": {
+ "cell": "a12",
+ "port": "a12_p2"
+ },
+ "targets": {
+ "cell": "cpu7",
+ "port": "cpu7_p1"
+ }
+ },
+ {
+ "id": "e13",
+ "sources": {
+ "cell": "a13",
+ "port": "a13_p2"
+ },
+ "targets": {
+ "cell": "cpu7",
+ "port": "cpu7_p1"
+ }
+ },
+ {
+ "id": "e13",
+ "sources": {
+ "cell": "a10",
+ "port": "a10_p2"
+ },
+ "targets": {
+ "cell": "a9",
+ "port": "a9_p2"
+ },
+ "vertices": [
+ {
+ "x": 784.5,
+ "y": 208.5
+ }
+ ]
+ },
+ {
+ "id": "e13",
+ "sources": {
+ "cell": "a9",
+ "port": "a9_p2"
+ },
+ "targets": {
+ "cell": "a10",
+ "port": "a10_p2"
+ },
+ "vertices": [
+ {
+ "x": 784.5,
+ "y": 208.5
+ }
+ ]
+ },
+ {
+ "id": "e13",
+ "sources": {
+ "cell": "a9",
+ "port": "a9_p2"
+ },
+ "targets": {
+ "cell": "a11",
+ "port": "a11_p2"
+ },
+ "vertices": [
+ {
+ "x": 784.5,
+ "y": 278.5
+ }
+ ]
+ },
+ {
+ "id": "e13",
+ "sources": {
+ "cell": "a9",
+ "port": "a9_p2"
+ },
+ "targets": {
+ "cell": "a12",
+ "port": "a12_p2"
+ },
+ "vertices": [
+ {
+ "x": 784.5,
+ "y": 348.5
+ }
+ ]
+ },
+ {
+ "id": "e13",
+ "sources": {
+ "cell": "a9",
+ "port": "a9_p2"
+ },
+ "targets": {
+ "cell": "a13",
+ "port": "a13_p2"
+ },
+ "vertices": [
+ {
+ "x": 784.5,
+ "y": 418.5
+ }
+ ]
+ },
+ {
+ "id": "e13",
+ "sources": {
+ "cell": "a9",
+ "port": "a9_p2"
+ },
+ "targets": {
+ "cell": "a13",
+ "port": "a13_p2"
+ },
+ "vertices": [
+ {
+ "x": 784.5,
+ "y": 418.5
+ }
+ ]
+ },
+ {
+ "id": "e13",
+ "sources": {
+ "cell": "a9",
+ "port": "a9_p2"
+ },
+ "targets": {
+ "cell": "fwq2",
+ "port": "fwq2_p2"
+ },
+ "vertices": [
+ {
+ "x": 784.5,
+ "y": 545
+ }
+ ]
+ },
+ {
+ "id": "e13",
+ "sources": {
+ "cell": "a9",
+ "port": "a9_p2"
+ },
+ "targets": {
+ "cell": "cpu7",
+ "port": "cpu7_p1"
+ },
+ "vertices": [
+ {
+ "x": 804.5,
+ "y": 285
+ }
+ ]
+ },
+ {
+ "id": "e13",
+ "sources": {
+ "cell": "cpu7",
+ "port": "cpu7_p2"
+ },
+ "targets": {
+ "cell": "cpu8",
+ "port": "cpu8_p1"
+ }
+ },
+ {
+ "id": "e13",
+ "sources": {
+ "cell": "yp1",
+ "port": "yp1_p1"
+ },
+ "targets": {
+ "cell": "fwq3",
+ "port": "fwq3_p1"
+ },
+ "vertices": [
+ {
+ "x": 1210,
+ "y": 232
+ }
+ ]
+ },
+ {
+ "id": "e13",
+ "sources": {
+ "cell": "yp1",
+ "port": "yp1_p1"
+ },
+ "targets": {
+ "cell": "fwq4",
+ "port": "fwq4_p1"
+ },
+ "vertices": [
+ {
+ "x": 1210,
+ "y": 402
+ }
+ ]
+ },
+ {
+ "id": "e13",
+ "sources": {
+ "cell": "fwq3",
+ "port": "fwq3_p1"
+ },
+ "targets": {
+ "cell": "yp1",
+ "port": "yp1_p1"
+ },
+ "vertices": [
+ {
+ "x": 1210,
+ "y": 232
+ }
+ ]
+ },
+ {
+ "id": "e13",
+ "sources": {
+ "cell": "fwq4",
+ "port": "fwq4_p1"
+ },
+ "targets": {
+ "cell": "yp1",
+ "port": "yp1_p1"
+ },
+ "vertices": [
+ {
+ "x": 1210,
+ "y": 402
+ }
+ ]
+ },
+ {
+ "id": "e13",
+ "sources": {
+ "cell": "cpu8",
+ "port": "cpu8_p2"
+ },
+ "targets": {
+ "cell": "rect1",
+ "port": "rect1_p1"
+ },
+ "vertices": [
+ {
+ "x": 1100,
+ "y": 315
+ }
+ ]
+ },
+ {
+ "id": "e13",
+ "sources": {
+ "cell": "rect1",
+ "port": "rect1_p2"
+ },
+ "targets": {
+ "cell": "a14",
+ "port": "a14_p1"
+ }
+ },
+ {
+ "id": "e13",
+ "sources": {
+ "cell": "rect1",
+ "port": "rect1_p2"
+ },
+ "targets": {
+ "cell": "a15",
+ "port": "a15_p1"
+ }
+ },
+ {
+ "id": "e13",
+ "sources": {
+ "cell": "rect1",
+ "port": "rect1_p2"
+ },
+ "targets": {
+ "cell": "a16",
+ "port": "a16_p1"
+ }
+ },
+ {
+ "id": "e13",
+ "sources": {
+ "cell": "rect1",
+ "port": "rect1_p2"
+ },
+ "targets": {
+ "cell": "a17",
+ "port": "a17_p1"
+ }
+ },
+ {
+ "id": "e13",
+ "sources": {
+ "cell": "rect1",
+ "port": "rect1_p2"
+ },
+ "targets": {
+ "cell": "a18",
+ "port": "a18_p1"
+ }
+ },
+ {
+ "id": "e13",
+ "sources": {
+ "cell": "rect1",
+ "port": "rect1_p2"
+ },
+ "targets": {
+ "cell": "a19",
+ "port": "a19_p1"
+ }
+ },
+ {
+ "id": "e13",
+ "sources": {
+ "cell": "a14",
+ "port": "a14_p1"
+ },
+ "targets": {
+ "cell": "rect1",
+ "port": "rect1_p2"
+ }
+ },
+ {
+ "id": "e13",
+ "sources": {
+ "cell": "a15",
+ "port": "a15_p1"
+ },
+ "targets": {
+ "cell": "rect1",
+ "port": "rect1_p2"
+ }
+ },
+ {
+ "id": "e13",
+ "sources": {
+ "cell": "a16",
+ "port": "a16_p1"
+ },
+ "targets": {
+ "cell": "rect1",
+ "port": "rect1_p2"
+ }
+ },
+ {
+ "id": "e13",
+ "sources": {
+ "cell": "a17",
+ "port": "a17_p1"
+ },
+ "targets": {
+ "cell": "rect1",
+ "port": "rect1_p2"
+ }
+ },
+ {
+ "id": "e13",
+ "sources": {
+ "cell": "a18",
+ "port": "a18_p1"
+ },
+ "targets": {
+ "cell": "rect1",
+ "port": "rect1_p2"
+ }
+ },
+ {
+ "id": "e13",
+ "sources": {
+ "cell": "a19",
+ "port": "a19_p1"
+ },
+ "targets": {
+ "cell": "rect1",
+ "port": "rect1_p2"
+ }
+ },
+ {
+ "id": "e13",
+ "sources": {
+ "cell": "fwq5",
+ "port": "fwq5_p2"
+ },
+ "targets": {
+ "cell": "com1",
+ "port": "com1_p1"
+ },
+ "vertices": [
+ {
+ "x": 1566,
+ "y": 200
+ }
+ ]
+ },
+ {
+ "id": "e13",
+ "sources": {
+ "cell": "fwq5",
+ "port": "fwq5_p2"
+ },
+ "targets": {
+ "cell": "com2",
+ "port": "com2_p1"
+ }
+ },
+ {
+ "id": "e13",
+ "sources": {
+ "cell": "fwq5",
+ "port": "fwq5_p2"
+ },
+ "targets": {
+ "cell": "com3",
+ "port": "com3_p1"
+ },
+ "vertices": [
+ {
+ "x": 1566,
+ "y": 436
+ }
+ ]
+ },
+ {
+ "id": "e13",
+ "sources": {
+ "cell": "xinhao",
+ "port": "xinhao_p1"
+ },
+ "targets": {
+ "cell": "a9",
+ "port": "a9_p3"
+ },
+ "vertices": [
+ {
+ "x": 785,
+ "y": 40
+ }
+ ]
+ },
+ {
+ "id": "e13",
+ "sources": {
+ "cell": "hezi",
+ "port": "hezi_p1"
+ },
+ "targets": {
+ "cell": "a9",
+ "port": "a9_p3"
+ }
+ },
+ {
+ "id": "e13",
+ "sources": {
+ "cell": "a9",
+ "port": "a9_p3"
+ },
+ "targets": {
+ "cell": "yp2",
+ "port": "yp2_p1"
+ },
+ "vertices": [
+ {
+ "x": 856,
+ "y": 92.5
+ }
+ ]
+ },
+ {
+ "id": "e13",
+ "sources": {
+ "cell": "yp2",
+ "port": "yp2_p1"
+ },
+ "targets": {
+ "cell": "a9",
+ "port": "a9_p3"
+ },
+ "vertices": [
+ {
+ "x": 856,
+ "y": 92.5
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/assets/image/topology/cpuicon.png b/src/assets/image/topology/cpuicon.png
new file mode 100644
index 000000000..fcbf844d7
Binary files /dev/null and b/src/assets/image/topology/cpuicon.png differ
diff --git a/src/assets/image/topology/neicun.png b/src/assets/image/topology/neicun.png
new file mode 100644
index 000000000..c51306a1a
Binary files /dev/null and b/src/assets/image/topology/neicun.png differ
diff --git a/src/assets/image/topology/topology_bg.png b/src/assets/image/topology/topology_bg.png
new file mode 100644
index 000000000..0ddb427e2
Binary files /dev/null and b/src/assets/image/topology/topology_bg.png differ
diff --git a/src/assets/image/topology/ypkj.png b/src/assets/image/topology/ypkj.png
new file mode 100644
index 000000000..896f1b598
Binary files /dev/null and b/src/assets/image/topology/ypkj.png differ
diff --git a/src/router/index.ts b/src/router/index.ts
index c0a0d516c..e462211a6 100644
--- a/src/router/index.ts
+++ b/src/router/index.ts
@@ -46,6 +46,11 @@ const router = createRouter({
name: 'Test',
component: () => import('@/views/Test/index.vue'),
},
+ {
+ path: '/TopologyMap',
+ name: 'TopologyMap',
+ component: () => import('@/views/TopologyMap/index.vue'),
+ },
],
})
diff --git a/src/views/TopologyMap/components/dialogNode.vue b/src/views/TopologyMap/components/dialogNode.vue
new file mode 100644
index 000000000..7660873a1
--- /dev/null
+++ b/src/views/TopologyMap/components/dialogNode.vue
@@ -0,0 +1,97 @@
+
+
+
+
CPU:{{ cpu }}
+
内存:{{ neicun }}
+
硬盘:{{ yingpan }}
+
+
+
+
数据:{{ shuju }}
+
CPU:{{ cpu }}
+
内存:{{ neicun }}
+
硬盘:{{ yingpan }}
+
+
+
+
数据:{{ shuju }}
+
CPU:{{ cpu }}
+
内存:{{ neicun }}
+
硬盘:{{ yingpan }}
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/TopologyMap/index.vue b/src/views/TopologyMap/index.vue
new file mode 100644
index 000000000..0f76c7f27
--- /dev/null
+++ b/src/views/TopologyMap/index.vue
@@ -0,0 +1,886 @@
+
+
+
+
+
+
\ No newline at end of file