后台传输的json数据通过id和parentId建立树形结构,这里为了不影响阅读,删除了一些不需要的数据格式{"httpCode":200,"code":200,"message":"操作成功","data":{"orgList":[//租户下所有部门{"id":88,//部门id"name":"部门1",//部门名称"orgCode":"/38/88/",//部门代码,部门格式为/**/,二级部门格式为/**/**/,依此类推"parentId":null,//部门上级部门id,如果parentId为Null表示该部门为顶层部门"tenantId":38,//TenantId"binds":0//该部门下绑定的车辆数量},{"id":90,"name":"part2","orgCode":"/38/88/90/","parentId":88,"tenantId":38,"binds":0},{“id”:92,“name”:“part3”,“orgCode”:“/38/88/90/92/”,“parentId”:90,“tenantId”:38,“binds”:0},{“编号”:93,“name”:“part4”,“orgCode”:“/38/88/90/92/93/”,“parentId”:92,“tenantId”:38,“binds”:0},{“id”:96,"name":"Department2","orgCode":"/38/96/","parentId":null,"tenantId":38,"binds":1},{"id":98,"name":"part22","orgCode":"/38/96/98/","parentId":96,"tenantId":38,"binds":1},{"id":100,"name":"111","orgCode":"/38/88/90/92/93/100/","parentId":93,"tenantId":38,"binds":0}],"tenantInfo":{//租户信息"id":38,//租户Id"name":"测试租户",//租户名称"orgCode":"/38/",//租户代码"parentId":null,//因为租户在设计中是顶层部门,所以不会有parentId"tenantId":38,//租户id"binds":1//下面绑定的车辆总数tenant}}}这里,后台没有直接返回树结构,因为有很多地方要用到这个接口,只是在这个页面需要做成树结构,所以数据格式需要通过前端。完成后的效果如下。orgCode是正则的,所以创建两个Map结构,level通过orgCode将数据分成不同的层级,然后以level为key值存储数据,childrenNode以parnetId为key值存储数据,存储方式为完成后,通过findSuperiors通过parnetId从高到低依次递归填充childrenNode中的数据到level//递归结构树findSuperiors(max,map,children,min){if(max
