一个简单的canvs做的组织架构图及源码

最近在做一个企业人事管理系统,对于这样一个系统来说,一个能够直观展示出公司部门结构的架构图是不可或缺的。

初版效果如下图:

目录结构如下:

html代码如下:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>

<div id="myDiagramDiv1"style="width:100%; height:600px; background-color: #fff;border: 2px solid darkgrey;"></div>

<script src="js/org.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
    
    // var data=$.ajax()

    
    var $ = go.GraphObject.make;
    var myDiagram =
      $(go.Diagram, "myDiagramDiv1",
        {
          initialContentAlignment: go.Spot.Center, 
          "undoManager.isEnabled": true, 
          layout: $(go.TreeLayout, 
                    { angle: 90, layerSpacing: 20 })
        });
    

    myDiagram.nodeTemplate = 
    $(go.Node, "Vertical",
      { selectionObjectName: "BODY", deletable: true,
        width:200
      },
    
      $(go.Panel, "Auto",
        { name: "BODY" },
        $(go.Shape, "Rectangle",
          { fill:"white", stroke: "#ddd" }
        ),
        $(go.Panel, "Auto",
          { margin:0,
            width:200,
            height:80
          },
          // the title
          $(go.TextBlock,
            { stretch: go.GraphObject.Horizontal,
            font: "bold 12pt Verdana, sans-serif",
            width:200,
            height:30,
            margin:10
            },
            new go.Binding("text", "name")
          ),
          $(go.TextBlock,
            { stretch: go.GraphObject.Horizontal,
            font: "bold 12pt Verdana, sans-serif",
            height:30
            },
            new go.Binding("text", "key")
          ),
          $(go.TextBlock,
            { stretch: go.GraphObject.Horizontal,
            font: "bold 12pt Verdana, sans-serif",
            height:30
            },
            new go.Binding("text", "parent")
          )
        )  
      ),  
      $(go.Panel, 
        { height: 15 }, 
        $("TreeExpanderButton")
      )
    );
      
    myDiagram.linkTemplate =
      $(go.Link,
        { routing: go.Link.Orthogonal, corner: 5 },
        $(go.Shape, { strokeWidth: 1, stroke: "#555" })); 
        
    var model = $(go.TreeModel);
    model.nodeDataArray =
    [
      { key: "1", name: "阿里巴巴集团",   },
      { key: "2", parent: "1", name: "设计部",},
      { key: "3", parent: "1", name: "运营部" },
      { key: "4", parent: "3", name: "销售员" },
      { key: "5", parent: "3", name: "文员"},
      { key: "6", parent: "2", name: "前端开发"},
      { key: "7", parent: "2", name: "程序员"},
      {
          key:"8",parent:"6",name:"财务财务财务"
      }
    ];
    myDiagram.model = model;
</script>


</div>
</body>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值