zoukankan      html  css  js  c++  java
  • zTree插件 角色、部门、人员分类选择

    // 传参数调用

    function test(){
    roleOrOrgSelect(3,function(data){
    console.log(data);
    });
    }

    /**
    *
    * @param type (1:返回选中的角色数据 2:返回选中的机构数据 3:返回选中的人员数据)
    * @param callback (用户自定义回调函数)
    * @returns
    */

        
    function roleOrOrgSelect(type,callback){
    layer.open({
    type: 2 //此处以iframe举例
    , title: "选择用户"
    , area: ['800px', ($(window).height())+'px']
    , shade: 0
    , offset:'rb',
    scrollbar: false,
    shade:0.5,
    shift: 2,
    fixed:false,
    resize:false,
    scrollbar:true,
    move:false
    , maxmin: false
    , content: 'appDataController.do?roleOrOrgSelect'
    , zIndex: layer.zIndex 
    , success: function (layero) {
    layer.setTop(layero); 
    }
    , btn: ['确定']
    , yes: function(index){
    var child = 'layui-layer-iframe'+index;
    $child = $("#"+child)[0].contentWindow;
    var data = $child.submit();
    console.log(data);
    var user =[];
    var role =[];
    var org =[];
    $.each(data,function(i,item){
    var itype = item.type;
    if(itype ==1){
    role.push(item);
    }else if(itype ==1){
    org.push(item);
    }else{
    user.push(item);
    }
    })
    if(type == 1){
    callback(role);
    }else if(type == 2){
    callback(org);
    }else{
    callback(user);
    }
    layer.close(index);
    }
    });
    }


    //ztree 构建

    <script type="text/javascript">

    var setting = {
    check: {
    enable: true,
    },
    view:{
    showIcon:true,
    },
    data: {
    simpleData: {
    enable: true,
    }
    },
    async: {
    enable: true,
    url:"userController.do?roleTreeList",
    dataFilter: filter
    },
    callback: {
    beforeAsync: function(){},
    onAsyncSuccess: function(event, treeId, treeNode, msg){

    },
    onCheck: onCheck,
    onAsyncError: function(){},
    onClick: function (event, treeId, treeNode){

    }
    }
    };

    $(function(){
    $.fn.zTree.init($("#tree"), setting);
    })

    var vm = new Vue({
    el : "#selected",
    data : {
    selectedList : [], //右侧显示勾选项
    dataList:[], //最后提交得数据

    },
    mounted: function () {
    this.$nextTick(function () {
    })
    },
    })

    // 数据过滤
    function filter(treeId, parentNode, childNodes){
    if (!childNodes) return null;
    for (var i=0, l=childNodes.length; i<l; i++) {
    childNodes[i].name = childNodes[i].text;
    childNodes[i].type = childNodes[i].type;
    if(childNodes[i].type ==3){
    childNodes[i].icon = "images/user.png";
    }
    //childNodes[i].open = (childNodes[i].state === "open");//异步加载,该项无效
    if (childNodes[i].children != null) {
    childNodes[i].nodes = childNodes[i].children;
    filter(null, childNodes[i], childNodes[i].nodes);//递归设置子节点
    }
    }
    return childNodes;
    }
    //展开角色tree
    function getRoleList(){
    setting.async.url="userController.do?roleTreeList";
    $.fn.zTree.init($("#tree"), setting);
    }
    //展开机构tree
    function getOrgList(){
    setting.async.url="userController.do?orgTreeList";
    $.fn.zTree.init($("#tree"), setting);
    }
    //checkbox勾选事件
    function onCheck(event, treeId, treeNode){
    var treeObj=$.fn.zTree.getZTreeObj("tree");
    var selected=treeObj.getCheckedNodes(true);
    vm.selectedList=selected;
    var dataSelected =[];
    $.each(selected,function(i,item){
    var row={};
    row.name = item.name;
    row.id = item.id;
    row.type = item.type;
    dataSelected.push(row);
    });
    vm.dataList = dataSelected;
    }
    //清空
    function clearAll(){
    vm.selectedList=null;
    }
    //全选
    function checkAll(){
    var treeObj=$.fn.zTree.getZTreeObj("tree");
    var flag = $("#selectAll").attr("data-flag");
    if(flag ==1){
    treeObj.checkAllNodes(false);
    $("#selectAll").attr("data-flag",2);
    }else{
    treeObj.checkAllNodes(true);
    $("#selectAll").attr("data-flag",1);
    }
    var selected=treeObj.getCheckedNodes(true);
    vm.selectedList=selected;
    var dataSelected =[];
    $.each(selected,function(i,item){
    var row={};
    row.name = item.name;
    row.id = item.id;
    row.type = item.type;
    dataSelected.push(row);
    });
    vm.dataList = dataSelected;
    }
    //确定
    function submit(){
    return vm.dataList;
    }

    </script>

  • 相关阅读:
    Postman的使用和测试
    Django报错 django.core.exceptions.ImproperlyConfigured: The SECRET_KEY setting must not be empty.
    MySQL 修改字段类型或长度
    mysql导入导出sql文件
    Django 无法同步数据库model相应字段问题
    Django objects.all()、objects.get()与objects.filter()之间的区别介绍
    inconsistent use of tabs and spaces in indentation
    JavaScript 计时器
    JavaScript--编程题
    JavaScript--Array 数组对象
  • 原文地址:https://www.cnblogs.com/Eeexiang/p/8942167.html
Copyright © 2011-2022 走看看