美文网首页
组织架构图插件orgchart 异步加载

组织架构图插件orgchart 异步加载

作者: 小旭同志 | 来源:发表于2019-10-21 09:31 被阅读0次

说明

(1)通过后台查询数据库,生成树形数组结构,返回到前台。

(2)需要引入的js插件和css文件:

  ①jquery.jOrgChart.css

  ②jquery.min.js

  ③jquery.jOrgChart.js

(3)使用jOrgChart插件,根据返回的数据将其子节点加入到相应的<li></li>中。

首先,我们的数据表应该要有 id(节点),pid(父节点的id),name的字段,

那么我们要把这个数组转为树形数组结构,即将各个元素放在 pid 父类元素的 childrens字段中,下面就是简单生成树形数组的代码。至于展示出来的样式,可以在html页面中添加自定义样式覆盖它之前的样式。

后台返回的数据格式必须如下,其中id,pid字段为必须要有。childrens字段也为必须的,不过字段名可以自己定义,name字段是根据自己业务需求的字段,在这里以name字段作为要显示的文本内容:

{ "data": [{ "id": 1, "name": "企业主体信用得分", "pid":null, "childrens": [ { "id": 2, "name": "企业素质", "pid": 1, "childrens": [ { "id": 5, "name": "基本信息", "pid": 2, "childrens": [ { "id": 10, "name": "企业主体信息识别", "pid": 5, "childrens": [ ] }, { "id": 11, "name": "企业持续注册时间", "pid": 5, "childrens": [ ] }, { "id": 12, "name": "注册资本", "pid": 5, "childrens": [ ] } ] }, { "id": 6, "name": "管理认证", "pid": 2, "childrens": [ { "id": 13, "name": "国际性管理认证", "pid": 6, "childrens": [ ] } ] } ] }, { "id": 3, "name": "履约记录", "pid": 1, "childrens": [ { "id": 7, "name": "税务执行情况", "pid": 3, "childrens": [ { "id": 14, "name": "是否按时缴纳税款", "pid": 7, "childrens": [ ] } ] }, { "id": 8, "name": "网贷情况", "pid": 3, "childrens": [ { "id": 15, "name": "网贷逾期", "pid": 8, "childrens": [ ] } ] } ] }, { "id": 4, "name": "公共监督", "pid": 1, "childrens": [ { "id": 9, "name": "行政处罚", "pid": 4, "childrens": [ { "id": 16, "name": "处罚信息", "pid": 9, "childrens": [ ] } ] } ] } ] }]}

<!--显示组织架构图-->

<div id='jOrgChart'></div>

<script type='text/javascript'> $(function(){

        //数据返回        $.ajax({

            url: "test.json",

            type: 'GET',

            dataType: 'JSON',

            data: {action: 'org_select'},

            success: function(result){

                var showlist = $("<ul id='org' style='display:none'></ul>");

                showall(result.data, showlist);

                $("#jOrgChart").append(showlist);

                $("#org").jOrgChart( {

                    chartElement : '#jOrgChart',//指定在某个dom生成jorgchart                    dragAndDrop : false//设置是否可拖动                });

            }

        });

    });

    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+");>"+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+");>"+val.name+"</a>").appendTo(parent);

            }

        });

    }

</script>

效果图:

相关文章

  • 组织架构图插件orgchart 异步加载

    说明 (1)通过后台查询数据库,生成树形数组结构,返回到前台。 (2)需要引入的js插件和css文件: ①jque...

  • orgChart.js

    今天使用orgChart没有找到合适的,所以今天来写篇使用文档。 OrgChart.js是什么? 基于ES6的组织...

  • HiveMQ源码阅读

    插件加载及启动 同步加载异步启动 启动后校验 数据持久化加载及初始化 异步线程池加载及初始化 客户端连接流程鉴权 ...

  • kkpager.js使用心得

    kkpager.js为依赖于Jquery的分页插件分页插件官网 jquery ajax 调用插件,异步加载重新生成...

  • jquery组织架构图插件

    jQuery插件 效果图 使用方法 $('.orgWrap').lenChart({ data:obj, //...

  • 组织结构图 OrgChart

    先上效果图 以Vue为例 第一步、安装项目中 第二步,引入组件 好的完成为了更好地拓展业务,还可以在卡槽中添加自己...

  • SDWebImage图片二级缓存异步加载基本原理

    关于SDWebImage SDWebImage是一个针对图片加载的插件库,提供了一个支持缓存的用于异步加载图片的下...

  • SDWebImage图片二级缓存异步加载原理

    关于SDWebImage SDWebImage是一个针对图片加载的插件库,提供了一个支持缓存的用于异步加载图片的下...

  • webpack-5大特点

    webpack5大特点 代码拆分(支持异步模块加载) Webpack 有两种组织模块依赖的方式,同步(默认)和异步...

  • webpack的优势

    webpack5大特点 代码拆分(支持异步模块加载) Webpack 有两种组织模块依赖的方式,同步(默认)和异步...

网友评论

      本文标题:组织架构图插件orgchart 异步加载

      本文链接:https://www.haomeiwen.com/subject/bdbzmctx.html