html: <ul id="tree1" class="ztree"></ul>
方法一:使用tree方法控制
js:设置只展开父节点
var setting={
view:{showIcon:false
},
data: {
simpleData: {
enable: true,
idKey: "DEPT_CODE", //节点ID
pIdKey: "PARENT_CODE" //父节点
},key: {
name: "DEPT_NAME"
}
},
check:{
enable:true
}
};
function inittree(){
getJsonData("departmentList",null,function(data){
var tree1=$.fn.zTree.init($("#tree"), setting, data);
tree1.expandAll(false); //设置不展开树,默认展开所有树
});
}
后台:
@RequestMapping(value = "departmentList", method = RequestMethod.GET)
@ResponseBody
public JSONArray getDepartmentList() {
JSONArray array = DepartmentService.getDepartmentTree(id, name); //所有父节点ID和名称
List<JSONObject> tempList = new ArrayList<JSONObject>();
for (Object object : array) {
JSONObject department = (JSONObject) object;
department.put("open", true);
String departmentParentCode = department.getString("PARENT_CODE");
if (!"r".equals(departmentParentCode)) {
String departmentCode = department.getString("DEPT_CODE");
tempList.addAll(UserService.getUserByDepartment(id, departmentCode)); //获取部门下的所有人员
}
}
array.addAll(tempList);
return array;
}
第二种方法是使用后台控制只需设置部门下的属性为false
function inittree(){
getJsonData("departmentList",null,function(data){
var tree1=$.fn.zTree.init($("#tree"), setting, data);
});
}
后台:
@RequestMapping(value = "departmentList", method = RequestMethod.GET)
@ResponseBody
public JSONArray getDepartmentList() {
JSONArray array = DepartmentService.getDepartmentTree(id, name); //所有父节点ID和名称
List<JSONObject> tempList = new ArrayList<JSONObject>();
for (Object object : array) {
JSONObject department = (JSONObject) object;
department.put("open", true);
String departmentParentCode = department.getString("PARENT_CODE");
if (!"r".equals(departmentParentCode)) {
department.put("open", false);
String departmentCode = department.getString("DEPT_CODE");
tempList.addAll(UserService.getUserByDepartment(id, departmentCode)); //获取部门下的所有人员
}
}
array.addAll(tempList);
return array;
}