前端:
layui.use('tree', function(){
var tree = layui.tree;
//渲染
var inst1 = tree.render({
elem: '#test1', //绑定元素
isJump:true//herf生效,需要这个属性跳转
,data: getData(),//获取数据,该方法从后台获取
click: function(){//这个点击函数是为了改变跳转方式,如果新展开页面就无需写这个方法
$(".layui-tree-txt").attr("target","_self");
},
});
});
function getData(){
var data = [];
$.ajax({
url: "/zhdwapp/dept/depttree", //后台数据请求地址
type: "get",
async:false,
success: function(resut){
data = resut;
}
});
return data;
};
后台:
/** 返回部门的tree
*
* @return
*/
@GetMapping("/depttree")
public Object depttree(ModelMap modelMap,HttpSession session) throws UnknownHostException {
String deptmentid =session.getAttribute("userdeptmentid").toString();
Department department = deptService.findDeptsById(deptmentid);
List<Department> departmentList = new ArrayList<>();
departmentList.add(department);
List<HashMap<String, Object>> result = new ArrayList<>();
return tree(departmentList,result);
}
private Object tree(List<Department> dpet, List<HashMap<String, Object>> result) throws UnknownHostException {
LocalDate date = LocalDate.now();
int year = date.getYear();
for(Department d : dpet){
HashMap<String, Object> map = new HashMap<>();
map.put("id", d.getDepartmentGuid());
map.put("title", d.getDepartmentName());
map.put("spread", false); //设置是否展开
map.put("href","跳转路径");
List<HashMap<String, Object>> result1 = new ArrayList<>();
List<Department> children = deptService.selectSonDeptByid(d.getDepartmentGuid()); //d.getDepartmentGuid(); //下级菜单
//这里可以根据自己需求判断节点默认选中
/*if(m.getParent() != null || m.getChildren().size() == 0){
map.put("checked", true); //设置为选中状态
}*/
map.put("children", tree(children, result1));
result.add(map);
}
return result;
}