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