From 5df57a9f49e5d28322816f2c505b456016f9599a Mon Sep 17 00:00:00 2001 From: thinkgem Date: Wed, 19 Feb 2020 19:54:11 +0800 Subject: [PATCH] =?UTF-8?q?=E9=83=A8=E9=97=A8=E6=95=B0=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=20isLoadUser=20=E6=94=B9=E8=BF=9B=E4=B8=BA=EF=BC=88true?= =?UTF-8?q?=EF=BC=9A=20=E4=B8=80=E6=AC=A1=E6=80=A7=E5=8A=A0=E8=BD=BD?= =?UTF-8?q?=EF=BC=9Blazy=EF=BC=9A=20=E6=87=92=E5=8A=A0=E8=BD=BD=EF=BC=8C?= =?UTF-8?q?=E7=82=B9=E5=87=BB=E5=86=8D=E5=8A=A0=E8=BD=BD=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/sys/web/OfficeController.java | 26 +++++++++++++------ 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/modules/core/src/main/java/com/jeesite/modules/sys/web/OfficeController.java b/modules/core/src/main/java/com/jeesite/modules/sys/web/OfficeController.java index 1b2e9372..d292c815 100644 --- a/modules/core/src/main/java/com/jeesite/modules/sys/web/OfficeController.java +++ b/modules/core/src/main/java/com/jeesite/modules/sys/web/OfficeController.java @@ -217,7 +217,7 @@ public class OfficeController extends BaseController { * @param companyCode 仅查询公司下的机构 * @param isShowCode 是否显示编码(true or 1:显示在左侧;2:显示在右侧;false or null:不显示) * @param isShowFullName 是否显示全机构名称 - * @param isLoadUser 是否加载机构下的用户 + * @param isLoadUser 是否加载机构下的用户(true 一次性加载;lazy 懒加载,点击再加载) * @param postCode 机构下的用户过滤岗位 * @param roleCode 机构下的用户过滤角色 * @return @@ -227,7 +227,7 @@ public class OfficeController extends BaseController { @ResponseBody public List> treeData(String excludeCode, String parentCode, Boolean isAll, String officeTypes, String companyCode, String isShowCode, String isShowFullName, - Boolean isLoadUser, String postCode, String roleCode, String ctrlPermi) { + String isLoadUser, String postCode, String roleCode, String ctrlPermi) { List> mapList = ListUtils.newArrayList(); Office where = new Office(); where.setStatus(Office.STATUS_NORMAL); @@ -269,16 +269,26 @@ public class OfficeController extends BaseController { } map.put("name", StringUtils.getTreeNodeName(isShowCode, e.getViewCode(), name)); map.put("title", e.getFullName()); - // 一次性后台加载用户,提高性能(推荐方法) - if (isLoadUser != null && isLoadUser) { + // 如果需要加载用户,则处理用户数据 + if (StringUtils.inString(isLoadUser, "true", "lazy")) { map.put("isParent", true); - List> userList; - userList = empUserController.treeData("u_", e.getOfficeCode(), e.getOfficeCode(), - companyCode, postCode, roleCode, isAll, isShowCode, ctrlPermi); - mapList.addAll(userList); + // 一次性后台加载用户,若数据量比较大,建议使用懒加载 + if (StringUtils.equals(isLoadUser, "true")) { + List> userList = + empUserController.treeData("u_", e.getOfficeCode(), e.getOfficeCode(), + companyCode, postCode, roleCode, isAll, isShowCode, ctrlPermi); + mapList.addAll(userList); + } } mapList.add(map); } + // 懒加载用户,点击叶子节点的时候再去加载部门(懒加载无法回显,数据量大时,建议使用 listselect 实现列表选择用户) + if (StringUtils.inString(isLoadUser, "lazy") && StringUtils.isNotBlank(parentCode)) { + List> userList = + empUserController.treeData("u_", parentCode, parentCode, + companyCode, postCode, roleCode, isAll, isShowCode, ctrlPermi); + mapList.addAll(userList); + } return mapList; }