Ztree的简单使用和后台交互的写法(二)

it2022-05-05  84

针对Ztree的简单使用和后台交互的写法(一)中的树进行改进

1.增加节点的权限

由页面的当前用户,决定树的根节点 然后动态获取树的详细节点:

初始化函数为:

function init(){   //初始化的时候,先将当前用户发送给后台,获取该网评员的权限(所属部门,部门ID)   $.ajax({     url:baseCtx+"/media/RootNodebyCuruser.action",     data:{ WPY_ID:curuser},//curuser:当前用户的ID,WPY_ID为传入后台数据的字段名     type : 'post',     async : false,     dataType : "json",     success: function(data){       var org_id=data[0].ORG_ID;//获取当前用户对应树的根节点ID       var org_name=data[0].ORG_NAME;//当前用户对应的根节点name       //成功后回调,向后台发送权限 并获取相应权限下的树节点数据       $.post(baseCtx+"/media/getOrgZTreebyCuruser.action",{id: org_id, name: org_name},function(data){

      //其中id和name是传入后台的参数,值分别为根据当前用户获取的 部门ID:org_id和部门名称:org_name       var result= $.parseJSON(data);//解析树节点       rw_tree=$.fn.zTree.init($("#tree1"),setting, result);       });     }, });

 

2.页面向后台请求action的写法

/** * 有权限的Ztree树,通过当前用户的ID获取树的根节点信息(节点 的部门ID, 节点的部门名称)--------------------------------------- * @return */   @Action(value = "getOrgZTreebyCuruser")   public String getOrgZTreebyCuruser(){   List<Map<String, Object>> resultList = new ArrayList<Map<String, Object>>();   //第一级数据(根节点,得加判断)   Map<String, Object> orgMap = new HashMap<String, Object>();   orgMap.put("open", true);   orgMap.put("id", id);   orgMap.put("name", name);   resultList.add(orgMap);   //第二级数据(下级部门)   List<Map<String, Object>> OrgresultList1 = new ArrayList<Map<String, Object>>();   OrgresultList1 = orgZTreeBPO.getOrgList(orgMap);   //判断列表是否为空   if(null != OrgresultList1 && OrgresultList1.size() !=0)   {     //如果不为空,则他有下级部门,那么该节点属于父节点     orgMap.put("isParent", true);     for (Map<String, Object> map1 : OrgresultList1) {     resultList.add(map1);     //获取第三级数据     List<Map<String, Object>> OrgresultList2 = new ArrayList<Map<String, Object>>();     OrgresultList2 = orgZTreeBPO.getOrgList(map1);     if(null != OrgresultList2 && OrgresultList2.size() !=0)     {       for (Map<String, Object> map2 : OrgresultList2) {       resultList.add(map2);       //获取第四级数据       List<Map<String, Object>> OrgresultList3 = new ArrayList<Map<String, Object>>();       OrgresultList3 = orgZTreeBPO.getOrgList(map2);       if(null != OrgresultList3 && OrgresultList3.size() !=0)       {         for (Map<String, Object> map3 : OrgresultList3) {         resultList.add(map3);         }       }       }     }   } } outputJson(resultList); System.out.println(resultList); return NONE; }

 

3.xml中访问数据库

增加当前用户ID获取所属部门和部门ID,name的语句

4.其他

在bpo,mapper中分别写入对应的方法接口和实现。

注:getOrgList 是根据当前节点获取下级节点的实现

 

转载于:https://www.cnblogs.com/Lxiaojiang/p/6054324.html

相关资源:各显卡算力对照表!

最新回复(0)