easyui树形结构easyui-tree
页面效果
该页面主要是根据人员列表的树形结构在选择人员名称时在物资类别权限区域展示所选人员的授权状况
后台代码
//查询人员采购类别权限
@RequestMapping("findBasicDataPurchasCategoryAuthorityByUser")
public @ResponseBody Object findBasicDataPurchasCategoryAuthorityByUser(BasicDataPurchasCategoryAuthorityInDto into){
//根据人员查询已经勾选的数据
Return<BasicDataPurchasCategoryAuthorityOutDto> basicDataPurchasCategoryAuthorityOutDtoReturn = basicDataPurchasCategoryAuthorityService.queryBasicDataPurchasCategoryAuthorityList(into);
//得到第三级需要勾选的数据
List<BasicDataPurchasCategoryAuthority> datas = basicDataPurchasCategoryAuthorityOutDtoReturn.getParamObj().getDatas();
Return<BasicDataPurchasCategoryOutDto> basicDataPurchasCategoryOutDtoReturn = basicDataPurchasCategoryService.queryBasicDataPurchasCategoryDistinctList();
//第二级所有数据
List<BasicDataPurchasCategory> basicDataPurchasCategorys2 = basicDataPurchasCategoryOutDtoReturn.getParamObj().getDatas();
Return<BasicDataPurchasCategoryOutDto> basicDataPurchasCategoryOutDtoReturn1 = basicDataPurchasCategoryService.queryBasicDataPurchasCategoryList(new BasicDataPurchasCategoryInDto());
//第三级所有数据
List<BasicDataPurchasCategory> basicDataPurchasCategorys3 = basicDataPurchasCategoryOutDtoReturn1.getParamObj().getDatas();
//封装一级数据所用集合
com.alibaba.fastjson.JSONArray jsonArray = new com.alibaba.fastjson.JSONArray();
//封装二级数据所用集合
com.alibaba.fastjson.JSONArray jsonArray2 = new com.alibaba.fastjson.JSONArray();
//封装三级数据所用集合
com.alibaba.fastjson.JSONArray jsonArray3 = new com.alibaba.fastjson.JSONArray();
//第三级数据(设置是否勾选)
for (BasicDataPurchasCategory BasicDataPurchasCategory3:basicDataPurchasCategorys3) {
com.alibaba.fastjson.JSONObject jsonObject3 = new com.alibaba.fastjson.JSONObject();
jsonObject3.put("id",BasicDataPurchasCategory3.getPurchasCategoryName());
jsonObject3.put("text",BasicDataPurchasCategory3.getPurchasCategorySubclassName());
jsonObject3.put("grade","3");
com.alibaba.fastjson.JSONObject jsonObject33 = new com.alibaba.fastjson.JSONObject();
jsonObject33.put("purchasCategoryCode",BasicDataPurchasCategory3.getPurchasCategoryCode());
jsonObject33.put("purchasCategorySubclassCode",BasicDataPurchasCategory3.getPurchasCategorySubclassCode());
jsonObject3.put("attributes",jsonObject33);
//设置是否勾选
for (BasicDataPurchasCategoryAuthority basicDataPurchasCategoryAuthority: datas) {
if(basicDataPurchasCategoryAuthority.getPurchasCategorySubclassCode().equals(BasicDataPurchasCategory3.getPurchasCategorySubclassCode())){
jsonObject3.put("checked","true");
}
}
jsonArray3.add(jsonObject3);
}
//第二级数据
for (BasicDataPurchasCategory BasicDataPurchasCategory2: basicDataPurchasCategorys2) {
com.alibaba.fastjson.JSONObject jsonObject2 = new com.alibaba.fastjson.JSONObject();
jsonObject2.put("text",BasicDataPurchasCategory2.getPurchasCategoryName());
jsonObject2.put("grade","2");
jsonObject2.put("state","open");
com.alibaba.fastjson.JSONArray jsonArrayChildren2 = new com.alibaba.fastjson.JSONArray();
//遍历所有三级数据(为第二级每层数据添加符合要求的三级数据)
for(int i=0;i<jsonArray3.size();i++){
com.alibaba.fastjson.JSONObject jsonObject = jsonArray3.getJSONObject(i);
if(jsonObject.get("id").equals(BasicDataPurchasCategory2.getPurchasCategoryName())){
jsonArrayChildren2.add(jsonObject);
}
}
jsonObject2.put("children",jsonArrayChildren2);
jsonArray2.add(jsonObject2);
}
//第三级数据(第三级数据只有一个元素)
com.alibaba.fastjson.JSONObject jsonObject = new com.alibaba.fastjson.JSONObject();
jsonObject.put("text","物资类别");
jsonObject.put("grade","1");
jsonObject.put("state","open");
jsonObject.put("children",jsonArray2);
jsonArray.add(jsonObject);
//这个使用的我的项目封装好的ajax返回值
return JsonResponseGenerator.success(jsonArray);
}
前端代码
<div>
<ul id="tt" class="easyui-tree" data-options="checkbox:true "> </ul>
</div>
$.ajax({
type: 'POST',
data: {
purchaserName: "人员名称"
},
dataType: 'json',
url: 'purchaseCategory/findBasicDataPurchasCategoryAuthorityByUser.z',
success: function (result) {
$("#tt").tree("loadData", result.message);
}
});