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>
zTree插件 角色、部门、人员分类选择的更多相关文章
- 使用Vue-TreeSelect组件实现公司-部门-人员级联下拉列表的处理
最近在改造原有Bootstrap开发框架,增加一个Vue&Element前端的时候,发现需要处理一个级联更新的过程,就是选择公司,然后更新部门,选择部门,或者人员列表,选择作为主管的一个实现, ...
- ztree插件的使用
在bootstrap中使用ztree插件做树形架构,由于觉得原始的树形不够美观,所以改了其中的css插件 demo演示,以及各种属性的用法网站: http://www.treejs.cn/v3/de ...
- zTree插件之多选下拉菜单代码
zTree插件之多选下拉菜单代码 css和js <!--ztree树结构--> <link rel="stylesheet" type="text/cs ...
- ztree插件(JQuery Tree)
本次使用的ztree插件,基本上所有的需求都能满足,可谓功能强大. * [http://www.ztree.me/v3/api.php zTree v3.0 API 文档] * [http://www ...
- bootstrap jQuery Ztree异步载入数据,check选择&可加入、改动、删除节点
效果图: 一.下载zTree插件 地址:http://www.ztree.me 二.html代码 <link href="../Scripts/zTree/css/zTreeStyle ...
- 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/ ...
- 1、用datetimepicker插件实现限定时间范围的选择 2、时间插件实现默认当天的时间和只能选择小于今天的日期
一.用datetimepicker插件实现限定时间范围的选择 1.下面是要实现的效果图,让开始时间只能从 2018-7-1 到 2018-7-7 选择. 2.html的结构 <div cla ...
- 使用zTree插件构建树形菜单
zTree下载:https://github.com/zTree/zTree_v3 目录: 就我看来,zTree较为实用的有以下几点: zTree 是一个依靠 jQuery 实现的多功能 “树插件”. ...
- jQuery树形菜单,使用zTree插件,异步载入 & 编辑功能&Check 共存
一.下载zTree插件 地址:http://www.ztree.me 二.HTML代码 <%@ Page Language="C#" AutoEventWireup=&quo ...
随机推荐
- MySQL 之迁移用户及权限
参考来源: https://www.cnblogs.com/huangmr0811/p/5570994.html https://blog.csdn.net/u011665746/article/de ...
- Java基础知识_毕向东_Java基础视频教程笔记(13 字符)
13天-01-String String类适用于描述字符串事物. 常见的操作:1.获取: 1.1字符串中包含的字符数,也就是字符串的长度. int length():获取长度 1.2根据索引值获取位置 ...
- window安装mysql教程
1.下载mysql安装包到指定文件: 比如如图我把下载的mysql zip的内容解压到这个文件里面,具体文件内容如下: my.ini 需要自己创建,里面的内容如下: [mysqld] #basedir ...
- navicat创建存储过程的小问题
再简单的东西长时间不用了就会出错,特此即时的记录下来,以便以后参考! 转自:http://blog.csdn.net/winy_lm/article/details/49690633 以下为navic ...
- python访问hive
#!/usr/bin/env python # -*- coding: utf-8 -*- # hive util with hive server2 """ @auth ...
- VS使用GUID(UUID的基础知识)
UUID 是 通用唯一识别码(Universally Unique Identifier)的缩写,目的是让分布式系统中的所有元素,都能有唯一的辨识信息,而不需要通过中央控制端来做辨识信息的指定. UU ...
- UiAutomatorHelper 调试类
package rom; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; impo ...
- gentoo moc audacious
最近想在 gentoo 上面听音乐, 以前用过 audacious,现在想换成 moc 试试看. emerge -av moc,结果安装完了以后,放 mp3 没有声音,把 USE 里面各种相关解码的都 ...
- 如何使用命令行备份SAP HANA数据库
SAP HANA是一个在in-memory内存中的数据平台,部署为内部部署应用. 这是一个革命性的平台,它最适合进行实时分析,并开发和部署实时应用程序. 请点击这里了解更多有关SAP HANA. 通过 ...
- 8.Appium的基本使用-1
1.Appium是什么?Appium是一个跨平台移动端自动化测试工具,可以便捷的为ios和Android平台创建自动化测试用例.模拟app内部各种操作,点击.滑动.文本输入等,手工操作的动作appiu ...