// 传参数调用

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>

zTree插件 角色、部门、人员分类选择的更多相关文章

  1. 使用Vue-TreeSelect组件实现公司-部门-人员级联下拉列表的处理

    最近在改造原有Bootstrap开发框架,增加一个Vue&Element前端的时候,发现需要处理一个级联更新的过程,就是选择公司,然后更新部门,选择部门,或者人员列表,选择作为主管的一个实现, ...

  2. ztree插件的使用

    在bootstrap中使用ztree插件做树形架构,由于觉得原始的树形不够美观,所以改了其中的css插件 demo演示,以及各种属性的用法网站:  http://www.treejs.cn/v3/de ...

  3. zTree插件之多选下拉菜单代码

    zTree插件之多选下拉菜单代码 css和js <!--ztree树结构--> <link rel="stylesheet" type="text/cs ...

  4. ztree插件(JQuery Tree)

    本次使用的ztree插件,基本上所有的需求都能满足,可谓功能强大. * [http://www.ztree.me/v3/api.php zTree v3.0 API 文档] * [http://www ...

  5. bootstrap jQuery Ztree异步载入数据,check选择&amp;可加入、改动、删除节点

    效果图: 一.下载zTree插件 地址:http://www.ztree.me 二.html代码 <link href="../Scripts/zTree/css/zTreeStyle ...

  6. ztree插件异步加载 使用RESTEasy报错 Only resource methods using @FormParam will work as expected. Resource methods consuming the request body by other means will not work as expected.

    在使用ztree插件实现异步加载时遇到后台RESTEasy接收参数问题,查看后台报错: A servlet request to the URI http://localhost:8080/area/ ...

  7. 1、用datetimepicker插件实现限定时间范围的选择 2、时间插件实现默认当天的时间和只能选择小于今天的日期

    一.用datetimepicker插件实现限定时间范围的选择 1.下面是要实现的效果图,让开始时间只能从  2018-7-1  到 2018-7-7 选择. 2.html的结构 <div cla ...

  8. 使用zTree插件构建树形菜单

    zTree下载:https://github.com/zTree/zTree_v3 目录: 就我看来,zTree较为实用的有以下几点: zTree 是一个依靠 jQuery 实现的多功能 “树插件”. ...

  9. jQuery树形菜单,使用zTree插件,异步载入 &amp; 编辑功能&amp;Check 共存

    一.下载zTree插件 地址:http://www.ztree.me 二.HTML代码 <%@ Page Language="C#" AutoEventWireup=&quo ...

随机推荐

  1. MySQL 8.0用户和角色管理

    MySQL 8.0用户和角色管理 MySQL8.0新加了很多功能,其中在用户管理中增加了角色的管理,默认的密码加密方式也做了调整,由之前的sha1改为了sha2,同时加上5.7的禁用用户和用户过期的设 ...

  2. WPF Stake

    WPF中的StackPanel.WrapPanel.DockPanel 转:http://blog.sina.com.cn/s/blog_6c81891701017a34.html StackPane ...

  3. 安全测试6_Web安全工具第一节(浏览器入门及扩展)

    今天来学习下浏览器的功能,浏览器是我们经常用到但是功能却很强大的一个东东,我们经常用到的无非是三种(谷歌.火狐.IE) 1.浏览器功能介绍: 下面以谷歌浏览器(Chrome版本为56)为例,介绍下,懂 ...

  4. Java实现图像对比类

    package com.function; import java.awt.image.BufferedImage; import java.io.BufferedWriter; import jav ...

  5. tornado-websocket

    WebSockets 允许浏览器和服务器之间进行 双向通信 server端: class WebSocketHandler(WebBaseHandler): ''' websocket ''' use ...

  6. html内容溢出部分...

    首先标签必须满足不是行内标签 方法一:(单行)此方法没有任何问题 width: 38px;(需要给定宽度) overflow: hidden; white-space: nowrap; text-ov ...

  7. linux inode 详解 / 线上inode爆满解决方案

    本文大量参考阮一峰大神博客,整理笔记 之所以写inode文章是由于一次线上问题,引发对inode深入的思考. 磁盘的inode监控与磁盘空间的监控同等重要,线上服务器一定要做好磁盘inode与磁盘空间 ...

  8. 1. easyui tree 初始化的两种方式

    /** * 查询角色分类 */function queryRoleCategoryTree(selectId) { var url = basePath + 'rest/roleCategoryCon ...

  9. 应用PLSQL Developer(技巧)

    以下是一些 PLSQL Developer的使用技巧. 转自:PLSQL developer常用技巧,作者:逍遥游xj

  10. Linux 硬链接、软链接

    索引节点 inode(index node) 我们知道文件都有文件名与数据,这在 Linux 上被分成两个部分:用户数据 (user data) 与元数据 (metadata).用户数据,即文件数据块 ...