使用jOrgChart插件生成组织结构图

匿名 (未验证) 提交于 2019-12-02 23:43:01

1.首先是下载js包,为了样式展示好看,在js包里有个bootstrap.min.css

https://download.csdn.net/download/weixin_38644118/11245369

2.前端index.html

 <html> <head>     <meta charset="UTF-8">     <title>jOrgChart异步加载</title>     <link href="jOrgChart-master/bootstrap.min.css" rel="stylesheet">     <link rel="stylesheet" href='jOrgChart-master/jquery.jOrgChart.css'/>        <style>         a {             text-decoration: none;             color: #fff;             font-size: 12px;         }         .jOrgChart .node {             width: 120px;             height: 50px;             line-height: 50px;             border-radius: 4px;             margin: 0 8px;         }     </style> </head> <body> <!--显示组织架构图--> <div id='jOrgChart'></div>  <!-- 全局js --> <script src="jOrgChart-master/jquery.min.js"></script> <!--插件js--> <!--jOrgChart--> <script type="text/javascript" src="jOrgChart-master/jquery.jOrgChart.js"></script> <script type='text/javascript'>     function getOrgData(){         $.ajax({             url: "testone.php",             type: "POST",             dataType: 'JSON',             data: {action: 'org_select'},             success: function (result) {                 var showlist = $("<ul id='org' style='display:none'></ul>");                 var bianji = $("<div class='click pull-left' ><span class='bianjih hidden'><i class='iconfont icon-iconfontedit'></i></span><span class='shanchuh hidden'><i class='iconfont icon-shanchu'></i></span></div>"); console.log(result);                 showall(result, showlist);                 $("#jOrgChart").append(showlist);                 $("#org").jOrgChart({                     chartElement: '#jOrgChart',//指定在某个dom生成jorgchart                     dragAndDrop: false //设置是否可拖动                 });                  $(".node").after(bianji);                  $(".node-cell").mouseenter(function () {                     var Node=$(this).children('.node').find('a').attr('pid');                     if(Node!=0){                         $(this).find('span').removeClass('hidden');                     }                  })                 $(".node-cell").mouseleave(function () {                     $(this).find('span').addClass('hidden');                 })              }         });     }      $(document).ready(function(){         getOrgData();      });       function showall(menu_list, parent) {         $.each(menu_list, function (index, val) {              if (val.childrens.length > 0) {                 var li = $("<li></li>");                 li.append("<a href='javascript:void(0)' onclick=getOrgId(" + val.id + "); data='"+val.id+"' pid='"+val.pid+"'>" + val.name + "</a>").append("<ul></ul>").appendTo(parent);                 //递归显示                 showall(val.childrens, $(li).children().eq(1));             } else {                 $("<li></li>").append("<a href='javascript:void(0)' onclick=getOrgId(" + val.id + "); data='"+val.id+"' pid='"+val.pid+"'>" + val.name + "</a>").appendTo(parent);             }         });      }   </script> </body> </html>

3.php控制器方法

 <?php $data = array(     0=>array(         'id'=>1,         'name'=>'皇上',         'pid'=>null,         'childrens'=>array(             0=>array(                 'id'=>2,                 'name'=>'张三',                 'pid'=>1,                 'childrens'=>array(                     0=>array(                         'id'=>3,                         'name'=>'张三大儿子',                         'pid'=>2,                         'childrens'=>array(),                     ),                     1=>array(                         'id'=>6,                         'name'=>'张三二儿子',                         'pid'=>2,                         'childrens'=>array(),                     ),                  ),             ),             1=>array(                 'id'=>4,                 'name'=>'王五',                 'pid'=>2,                 'childrens'=>array(                     0=>array(                         'id'=>5,                         'name'=>'王五大儿子',                         'pid'=>4,                         'childrens'=>array(                             0=>array(                                 'id'=>8,                                 'name'=>'王五大孙子',                                 'pid'=>5,                                 'childrens'=>array(),                             ),                         ),                     ),                     1=>array(                         'id'=>7,                         'name'=>'王五二儿子',                         'pid'=>4,                         'childrens'=>array(),                     ),                 ),             ),         ),     ), ); echo json_encode($data); 

4.效果图

文章来源: https://blog.csdn.net/weixin_38644118/article/details/92653576
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!