Gojs在Vue中绘制树形图、拓扑图,可收缩,动态连线效果代码
代码语言:html
所属分类:图表
代码描述:Gojs在Vue中绘制树形图、拓扑图,可收缩,动态连线效果代码
代码标签: gojs vue 绘制 树形图 拓扑图 可收缩 动态 连线
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en" > <head> <meta charset="UTF-8"> <title>treeChart,topologyChart,flexible,dynamicConnection 树形图、拓扑图,可收缩,动态连线,Gojs 在 Vue 中使用</title> <style> /* #myDiagramDiv { background-color: #F8F8F8; border: 1px solid #aaa; } */ .topo-chart { position: relative; height: 808px; width: 100%; background: #050f26; } .chart { height: 100%; width: 100%; z-index: 0; } .topo-operate { position: absolute; top: 0; right: 0; display: flex; align-items: center; justify-content: flex-end; padding-right: 120px; height: 60px; width: 100%; z-index: 1; background: #050f26; } .operate-item { margin-left: 30px; } .operate-item span { display: inline-block; color: #0f98b4; font-size: 16px; cursor: pointer; } .operate-item .collapse-icon { margin-left: 5px; width: 10px; height: 10px; background-size: 20px 10px; } .operate-item .expand-icon { margin-left: 5px; width: 10px; height: 10px; background-size: 20px 10px; } .operate-item .zoom-icon { margin-left: 5px; width: 11px; height: 10px; background-size: 22px 10px; } .operate-item .full-screen { width: 12px; height: 12px; background-size: 24px 12px; } .operate-item .full-screen-open { } .operate-item .full-screen-close { } .operate-item:hover span { color: #23daff; } .operate-item:hover .collapse-icon, .operate-item:hover .expand-icon, .operate-item:hover .zoom-icon, .operate-item:hover .full-screen { background-position-x: 100%; } .topo-scale { position: absolute; bottom: 20px; right: 20px; color: #8e8e8e; font-size: 16px; } </style> </head> <body> <div id="sample" style="height: 100%; width: 100%;"> <diagram :topology-data='diagramData'></diagram> </div> <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/vue@2.6.1-dev.js"></script> <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/go.js"></script> <script> var topoChartData = { nodeDataArray: [ { key: "root", group: "", category: "root", root: { name: "根节点" }, isGroup: false }, { key: "1,1", group: "", category: "layerTwoNodeInfo", layerTwoNodeInfo: { name: "默认组织/默认组织", count: 5, category: "orgnizInfo", parentId: 1, parentName: "默认组织", childId: 1, childName: "默认组织" }, isGroup: false }, { key: "DevNull,DevNull", group: "", category: "layerTwoNodeInfo", layerTwoNodeInfo: { name: "未配置" }, isGroup: false }, { key: "5454efcd-14bb-4425-900c-de24767daf23", group: "", category: "layerThreeNodeInfo", layerThreeNodeInfo: { devUuid: "5454efcd-14bb-4425-900c-de24767daf23", devName: "1.20", devStatus: 1 }, isGroup: false }, { key: "52d59c8d-1f8b-4405-8036-dfe51e8419f1", group: "", category: "layerThreeNodeInfo", layerThreeNodeInfo: { devUuid: "52d59c8d-1f8b-4405-8036-dfe51e8419f1", devName: "1.74", devStatus: 1 }, isGroup: false }, { key: "386108c1-c180-437b-9512-701bf829b620", group: "", category: "layerThreeNodeInfo", layerThreeNodeInfo: { devUuid: "386108c1-c180-437b-9512-701bf829b620", devName: "1.57-", devStatus: 1 }, isGroup: false }, { key: "e32b804b-71e2-45aa-b65f-f46f5853d3f5", group: "", category: "layerThreeNodeInfo", layerThreeNodeInfo: { devUuid: "e32b804b-71e2-45aa-b65f-f46f5853d3f5", devName: "1.221", devStatus: 0 }, isGroup: false }, { key: "f378fada-ec81-4b85-9fb4-8bdfc8ea43a5", group: "", category: "layerThreeNodeInfo", layerThreeNodeInfo: { devUuid: "f378fada-ec81-4b85-9fb4-8bdfc8ea43a5", devName: "1.110", devStatus: 0 }, isGroup: false }, { key: "DevUuidNull", group: "", category: "layerThreeNodeInfo2", layerThreeNodeInfo2: { devName: "未配置" }, isGroup: false }, { key: "P1", group: "", category: "layerFourGroupOneInfo", layerFourGroupOneInfo: { name: "默认组织", parentId: 1, parentName: "默认组织" }, isGroup: true }, { key: "C1", group: "P1", category: "layerFourGroupTwoInfo", layerFourGroupTwoInfo: { name: "默认组织", parentId: 1, parentName: "默认组织", childId: 1, childName: "默认组织", count: "10" }, isGroup: true }, { key: "node78", group: "C1", category: "layerFourNodeInfo", layerFourNodeInfo: { nodeId: 78, nodeUuid: "1b8cd73e-75c0-4940-beec-394a9f27be84", nodeName: "test", isProtected: 0 }, isGroup: false }, { key: "node69", group: "C1", category: "layerFourNodeInfo", layerFourNodeInfo: { nodeId: 69, nodeUuid: "1e757f87-eee0-44e2-8cf9-nodee47df8cf6e", nodeName: "1.62", nodeStatus: 3, isProtected: 1, nodeFlag: "386108c1-c180-437b-9512-701bf829b620,," }, isGroup: false }, { key: "node42", group: "C1", category: "layerFourNodeInfo", layerFourNodeInfo: { nodeId: 42, nodeUuid: "228ff1d5-cd1f-4ca6-8753-cfab97be89c5", nodeName: "user", isProtected: 0 }, isGroup: false }, { key: "node63", group: "C1", category: "layerFourNodeInfo", layerFourNodeInfo: { nodeId: 63, nodeUuid: "371444a9-f2ed-4b5b-a3ec-1354833bb91c", nodeName: "测试2", nodeStatus: 4, isProtected: 1, nodeFlag: "386108c1-c180-437b-9512-701bf829b620" }, isGroup: false }, { key: "node77", group: "C1", category: "layerFourNodeInfo", layerFourNodeInfo: { nodeId: 77, nodeUuid: "83a0c5a8-683c-42ed-bf32-74a766a87b39", nodeName: "q", nodeStatus: 2, isProtected: 1, nodeFlag: "f378fada-ec81-4b85-9fb4-8bdfc8ea43a5,52d59c8d-1f8b-4405-8036-dfe51e8419f1" }, isGroup: false }, { key: "node70", group: "C1", category: "layerFourNodeInfo", layerFourNodeInfo: { nodeId: 70, nodeUuid: "91f9c584-5fc1-4418-9c3f-b906dea19e31", nodeName: "Syslog\ufffdʲ\ufffd\ufffd\ufffd\ufffd", isProtected: 0 }, isGroup: false }, { key: "node65", group: "C1", category: "layerFourNodeInfo", layerFourNodeInfo: { nodeId: 65, nodeUuid: "a5a8408f-1b93-4e7b-9f5d-22c8758c46b5", nodeName: "55test", nodeStatus: 10, isProtected: 1, nodeFlag: "52d59c8d-1f8b-4405-8036-dfe51e8419f1,386108c1-c180-437b-9512-701bf829b620" }, isGroup: false }, { key: "node71", group: "C1", category: "layerFourNodeInfo", layerFourNodeInfo: { nodeId: 71, nodeUuid: "bb573cb7-7575-4f71-b638-7bd58cc86915", nodeName: "MySQL-1.112-3306-0", isProtected: 0 }, isGroup: false }, { key: "node49", group: "C1", category: "layerFourNodeInfo", layerFourNodeInfo: { nodeId: 49, nodeUuid: "cd8fac06-b4e0-4c41-b13b-33d318c6fc1a", nodeName: "1.61", isProtected: 0 }, isGroup: false }, { key: "node48", group: "C1", category: "layerFourNodeInfo", layerFourNodeInfo: { nodeId: 48, nodeUuid: "e47c8499-6311-4fb1-a5cf-bea6798bdcce", nodeName: "1.202", isProtected: 0 }, isGroup: false }, { key: "nodeAddC1", group: "C1", category: "layerFourNodeInfo2", layerFourNodeInfo2: { id: "1" }, isGroup: false }, { key: "P2", group: "", category: "layerFourGroupOneInfo", layerFourGroupOneInfo: { name: "研发部", parentId: 2, parentName: "研发部" }, isGroup: true }, { key: "C2", group: "P2", category: "layerFourGroupTwoInfo", layerFourGroupTwoInfo: { name: "研发部", parentId: 2, parentName: "研发部", childId: 2, childName: "研发部", count: "2" }, isGroup: true }, { key: "node67", group: "C2", category: "layerFourNodeInfo", layerFourNodeInfo: { nodeId: 67, nodeUuid: "6bba3b6c-3cf1-4516-b89b-f3df8360446a", nodeName: "重名测试", nodeStatus: null, isProtected: 1, nodeFlag: "52d59c8d-1f8b-4405-8036-dfe51e8419f1" }, isGroup: false }, { key: "node68", group: "C2", category: "layerFourNodeInfo", layerFourNodeInfo: { nodeId: 68, nodeUuid: "debcd5ba-bfaf-46e5-b2e2-e0c985fc3914", nodeName: "1.171", isProtected: 1, nodeFlag: "52d59c8d-1f8b-4405-8036-dfe51e8419f1" }, isGroup: false }, { key: "nodeAddC2", group: "C2", category: "layerFourNodeInfo2", layerFourNodeInfo2: { id: "2" }, isGroup: false }, { key: "C3", group: "P2", category: "layerFourGroupTwoInfo", layerFourGroupTwoInfo: { name: "软件一部", parentId: 2, parentName: "研发部", childId: 3, childName: "软件一部", count: "7" }, isGroup: true }, { key: "node62", group: "C3", category: "layerFourNodeInfo", layerFourNodeInfo: { nodeId: 62, nodeUuid: "07925248-4e72-4bf1-b5a2-8f4cd70de9a5", nodeName: "1.20-自动确认测试", nodeStatus: 2, isProtected: 1, nodeFlag: "b6e85b6e-nodeff-4bdc-80f9-2500088d3f92,386108c1-c180-437b-9512-701bf829b620" }, isGroup: false }, { key: "node59", group: "C3", category: "layerFourNodeInfo", layerFourNodeInfo: { nodeId: 59, nodeUuid: "38e83e06-9a4c-4node7-80eb-683f8930ae19", nodeName: "测试类型2", nodeStatus: null, isProtected: 1, nodeFlag: "b6e85b6e-nodeff-4bdc-80f9-2500088d3f92" }, isGroup: false }, { key: "node57", group: "C3", category: "layerFourNodeInfo", layerFourNodeInfo: { nodeId: 57, nodeUuid: "45node9567-3b30-4117-9313-bff3f65e5469", nodeName: "测试类型4", nodeStatus: null, isProtected: 1, nodeFlag: "b6e85b6e-nodeff-4bdc-80f9-2500088d3f92" }, isGroup: false }, { key: "node61", group: "C3", category: "layerFourNodeInfo", layerFourNodeInfo: { nodeId: 61, nodeUuid: "69b75fed-a3a3-48ee-9d81-2f505246e931", nodeName: "测试", nodeStatus: 2, isProtected: 1, nodeFlag: "b6e85b6e-nodeff-4bdc-80f9-2500088d3f92,386108c1-c180-437b-9512-701bf829b620" }, isGroup: false }, { key: "node60", group: "C3", category: "layerFourNodeInfo", layerFourNodeInfo: { nodeId: 60, nodeUuid: "85c3642b-2f3e-4d60-88ca-d2c2de08c485", nodeName: "测试类型1", nodeStatus: null, isProtected: 1, nodeFlag: "b6e85b6e-nodeff-4bdc-80f9-2500088d3f92" }, isGroup: false }, { key: "node58", group: "C3", category: "layerFourNodeInfo", layerFourNodeInfo: { nodeId: 58, nodeUuid: "d6ffe611-3ad0-4258-8955-b4ad1fb68f3d", nodeName: "测试类型3", nodeStatus: null, isProtected: 1, nodeFlag: "b6e85b6e-nodeff-4bdc-80f9-2500088d3f92" }, isGroup: false }, { key: "node56", group: "C3", category: "layerFourNodeInfo", layerFourNodeInfo: { nodeId: 56, nodeUuid: "e95e62ac-node41-4d2e-a6d9-cb734cf95a55", nodeName: "测试类型5", nodeStatus: null, isProtected: 1, nodeFlag: "b6e85b6e-nodeff-4bdc-80f9-2500088d3f92" }, isGroup: false }, { key: "nodeAddC3", group: "C3", category: "layerFourNodeInfo2", layerFourNodeInfo2: { id: "3" }, isGroup: false }, { key: "C5", group: "P2", category: "layerFourGroupTwoInfo", layerFourGroupTwoInfo: { name: "软件三部", parentId: 2, parentName: "研发部", childId: 5, childName: "软件三部", nodeName: null, count: "1" }, isGroup: true }, { key: "node76", group: "C5", category: "layerFourNodeInfo", layerFourNodeInfo: { nodeId: 76, nodeUuid: "3d535c16-df76-425c-9509-6c2ed907343a", nodeName: "1.122-自动确认测试", nodeStatus: 3, isProtected: 1, nodeFlag: "386108c1-c180-437b-9512-701bf829b620" }, isGroup: false }, { key: "nodeAddC5", group: "C5", category: "layerFourNodeInfo2", layerFourNodeInfo2: { id: "5" }, isGroup: false }], linkDataArray: [ { from: "52d59c8d-1f8b-4405-8036-dfe51e8419f1", to: "node67", category: "layerThreeLinkInfo" }, { from: "52d59c8d-1f8b-4405-8036-dfe51e8419f1", to: "node77", category: "layerThreeLinkInfo" }, { from: "52d59c8d-1f8b-4405-8036-dfe51e8419f1", to: "node65", category: "layerThreeLinkInfo" }, { from: "52d59c8d-1f8b-4405-8036-dfe51e8419f1", to: "node68", category: "layerThreeLinkInfo" }, { from: "386108c1-c180-437b-9512-701bf829b620", to: "node62", category: "layerThreeLinkInfo" }, { from: "386108c1-c180-437b-9512-701bf829b620", to: "node69", category: "layerThreeLinkInfo" }, { from: "386108c1-c180-437b-9512-701bf829b620", to: "node63", category: "layerThreeLinkInfo" }, { from: "386108c1-c180-437b-9512-701bf829b620", to: "node76", category: "layerThreeLinkInfo" }, { from: "386108c1-c180-437b-9512-701bf829b620", to: "node61", category: "layerThreeLinkInfo" }, { from: "386108c1-c180-437b-9512-701bf829b620", to: "node65", category: "layerThreeLinkInfo" }, { from: "f378fada-ec81-4b85-9fb4-8bdfc8ea43a5", to: "node77", category: "layerThreeLinkInfo" }, { from: "DevUuidNull", to: "node78", category: "layerThreeLinkInfo2" }, { from: "DevUuidNull", to: "node42", category: "layerThreeLinkInfo2" }, { from: "DevUuidNull", to: "node70", category: "layerThreeLinkInfo2" }, { from: "DevUuidNull", to: "node71", category: "layerThreeLinkInfo2" }, { from: "DevUuidNull", to: "node49", category: "layerThreeLinkInfo2" }, { from: "DevUuidNull", to: "node48", category: "layerThreeLinkInfo2" }, { from: "root", to: "1,1", category: "root" }, { from: "root", to: "DevNull,DevNull", category: "root" }, { from: "1,1", to: "5454efcd-14bb-4425-900c-de24767daf23", category: "layerTwoNodeInfo" }, { from: "1,1", to: "52d59c8d-1f8b-4405-8036-dfe51e8419f1", category: "layerTwoNodeInfo" }, { from: "1,1", to: "386108c1-c180-437b-9512-701bf829b620", category: "layerTwoNodeInfo" }, { from: "1,1", to: "e32b804b-71e2-45aa-b65f-.........完整代码请登录后点击上方下载按钮下载查看
网友评论0