ztree 增加扩展方法 expandNodeByLevel 根据层级展开阶段

This commit is contained in:
thinkgem
2018-03-07 21:51:14 +08:00
parent d5f2bc6b33
commit 72d567f66f
5 changed files with 43 additions and 27 deletions

View File

@@ -2,6 +2,8 @@
JeeSite 是一个 Java EE 企业级快速开发平台基于经典技术组合Spring Boot、Spring MVC、Apache Shiro、MyBatis、Beetl、Bootstrap、AdminLTE在线代码生成功能包括核心模块如组织机构、角色用户、菜单及按钮授权、数据权限、系统参数、内容管理、工作流等。采用松耦合设计界面无刷新一键换肤众多账号安全设置密码策略在线定时任务配置支持集群支持SAAS支持多数据源。
JeeSite 快速开发平台的主要目的是能够让初级的研发人员快速的开发出复杂的业务功能,让开发者注重专注业务,其余有平台来封装技术细节,降低技术难度,从而节省人力成本,缩短项目周期,提高软件安全质量。
JeeSite 自开源以来已被广大爱好者用到了企业、政府、医疗、金融、互联网等各个领域中JeeSite 依架构简单精良、易于扩展、大众思维的设计模式,深入开发者的内心,并得到一致好评,于[2016](http://www.oschina.net/project/top_cn_2016?sort=1)和[2017](http://www.oschina.net/project/top_cn_2017?sort=1)连续两年获得开源中国《最受欢迎中国开源软件》奖杯,期间也帮助了不少刚毕业的大学生作为入门教材,快速的去实践。
现在 JeeSite 4.0 来了4.0的升级,作者结合了多年总结和经验,以及各方面的应用案例,对架构完成了一次全部重构,也纳入很多新的思想。不管是从开发者模式、底层架构、逻辑处理还是到用户界面,用户交互体验上都有很大的进步,在不忘学习成本、提高开发效率的情况下,安全方面也做和很多工作,包括:身份认证、密码策略、安全审计、日志收集。
@@ -70,11 +72,8 @@ JeeSite 自开源以来已被广大爱好者用到了企业、政府、医疗、
* 官方网站:<http://jeesite.com> 论坛:<http://jeesite.net>
* 微信公众号:
<center>
![https://static.oschina.net/uploads/space/2018/0302/145133_OGZf_941661.jpg](https://static.oschina.net/uploads/space/2018/0302/145133_OGZf_941661.jpg "JeeSite4微信公众号")
</center>
# 关于授权协议声明

View File

@@ -3818,3 +3818,37 @@
}
}
})(jQuery);
/*
* 扩展方法 ThinkGem
*/
(function($){
$.extend(true, $.fn.zTree, {
/**
* 根据级别展开节点(如果级别设置为-1如果有1个根节点则展开一级节点否则不展开
* ThinkGem 2018-3-7
*/
expandNodeByLevel: function(tree, expandLevel){
if (!tree){
return;
}
if (typeof expandLevel != 'number'){
expandLevel = -1;
}
var expandNodes = [];
if (expandLevel == -1){
expandNodes = tree.getNodesByParam("level", 0);
if (expandNodes.length > 1){
expandNodes = [];
}
}else{
for (var i=0; i<expandLevel; i++){
expandNodes = expandNodes.concat(tree.getNodesByParam("level", i));
}
}
for(var i=0; i<expandNodes.length; i++) {
tree.expandNode(expandNodes[i], true, false, false);
}
}
});
})(jQuery);

View File

@@ -162,6 +162,7 @@ user:
ctrlType: "Office",
ctrlDataUrl: "/sys/office/treeData",
chkboxType: {"Y":"ps","N":"ps"},
expandLevel: -1,
remarks: ""
},{
moduleCode: "core",
@@ -170,6 +171,7 @@ user:
ctrlPermi: "0",
ctrlDataUrl: "/sys/company/treeData",
chkboxType: {"Y":"ps","N":"ps"},
expandLevel: -1,
remarks: ""
},{
moduleCode: "core",
@@ -178,6 +180,7 @@ user:
ctrlPermi: "2",
ctrlDataUrl: "/sys/role/treeData",
chkboxType: {"Y":"ps","N":"ps"},
expandLevel: -1,
remarks: ""
}]

View File

@@ -149,18 +149,8 @@ for (var i=0; i<dataScopes.length; i++){
// 初始化树结构
var tree = $.fn.zTree.init($("#dataScopeTree_"+dataScope.ctrlType), setting, data);
tree.setting.check.chkboxType = dataScope.chkboxType;
// 展开第一级节点
var nodes = tree.getNodesByParam("level", 0);
for(var i=0; i<nodes.length; i++) {
tree.expandNode(nodes[i], true, false, false);
}
// 展开第二级节点
nodes = tree.getNodesByParam("level", 1);
for(var i=0; i<nodes.length; i++) {
tree.expandNode(nodes[i], true, false, false);
}
// 默认展开全部节点
//tree.expandAll(true);
// 默认展开节点(如果级别设置为-1如果有1个根节点则展开一级节点否则不展开
$.fn.zTree.expandNodeByLevel(tree, dataScope.expandLevel);
// 树结构:全选、取消全选
$('#checkall_'+dataScope.ctrlType).iCheck({
checkboxClass:'icheckbox_minimal-grey'

View File

@@ -149,18 +149,8 @@ for (var i=0; i<dataScopes.length; i++){
// 初始化树结构
var tree = $.fn.zTree.init($("#dataScopeTree_"+dataScope.ctrlType), setting, data);
tree.setting.check.chkboxType = dataScope.chkboxType;
// 展开第一级节点
var nodes = tree.getNodesByParam("level", 0);
for(var i=0; i<nodes.length; i++) {
tree.expandNode(nodes[i], true, false, false);
}
// 展开第二级节点
nodes = tree.getNodesByParam("level", 1);
for(var i=0; i<nodes.length; i++) {
tree.expandNode(nodes[i], true, false, false);
}
// 默认展开全部节点
//tree.expandAll(true);
// 默认展开节点(如果级别设置为-1如果有1个根节点则展开一级节点否则不展开
$.fn.zTree.expandNodeByLevel(tree, dataScope.expandLevel);
// 树结构:全选、取消全选
$('#checkall_'+dataScope.ctrlType).iCheck({
checkboxClass:'icheckbox_minimal-grey'