Browse Source

2026-04-02

master
庄锐波 7 months ago
parent
commit
463af722fb
  1. 4
      pom.xml
  2. 31
      ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/TreeBuildUtils.java
  3. 11
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysUserController.java
  4. 5
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysDeptVo.java
  5. 9
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysDeptService.java
  6. 112
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysDeptServiceImpl.java
  7. 5
      script/sql/zfjd-refactoring-v1/100-清除数据库中可能无效的数据.sql
  8. 0
      zdxt-web-client/zdxt-admin-plus-ui/.editorconfig
  9. 0
      zdxt-web-client/zdxt-admin-plus-ui/.env.development
  10. 0
      zdxt-web-client/zdxt-admin-plus-ui/.env.production
  11. 0
      zdxt-web-client/zdxt-admin-plus-ui/.eslintrc-auto-import.json
  12. 0
      zdxt-web-client/zdxt-admin-plus-ui/.gitignore
  13. 0
      zdxt-web-client/zdxt-admin-plus-ui/.prettierignore
  14. 0
      zdxt-web-client/zdxt-admin-plus-ui/.prettierrc
  15. 0
      zdxt-web-client/zdxt-admin-plus-ui/LICENSE
  16. 0
      zdxt-web-client/zdxt-admin-plus-ui/README.md
  17. 0
      zdxt-web-client/zdxt-admin-plus-ui/bin/build.bat
  18. 0
      zdxt-web-client/zdxt-admin-plus-ui/bin/package.bat
  19. 0
      zdxt-web-client/zdxt-admin-plus-ui/bin/run-web.bat
  20. 0
      zdxt-web-client/zdxt-admin-plus-ui/eslint.config.ts
  21. 0
      zdxt-web-client/zdxt-admin-plus-ui/html/ie.html
  22. 0
      zdxt-web-client/zdxt-admin-plus-ui/index.html
  23. 18
      zdxt-web-client/zdxt-admin-plus-ui/package.json
  24. 0
      zdxt-web-client/zdxt-admin-plus-ui/public/favicon.ico
  25. 0
      zdxt-web-client/zdxt-admin-plus-ui/src/App.vue
  26. 0
      zdxt-web-client/zdxt-admin-plus-ui/src/animate.ts
  27. 0
      zdxt-web-client/zdxt-admin-plus-ui/src/api/demo/demo/index.ts
  28. 0
      zdxt-web-client/zdxt-admin-plus-ui/src/api/demo/demo/types.ts
  29. 0
      zdxt-web-client/zdxt-admin-plus-ui/src/api/demo/tree/index.ts
  30. 0
      zdxt-web-client/zdxt-admin-plus-ui/src/api/demo/tree/types.ts
  31. 0
      zdxt-web-client/zdxt-admin-plus-ui/src/api/login.ts
  32. 0
      zdxt-web-client/zdxt-admin-plus-ui/src/api/menu.ts
  33. 0
      zdxt-web-client/zdxt-admin-plus-ui/src/api/monitor/cache/index.ts
  34. 0
      zdxt-web-client/zdxt-admin-plus-ui/src/api/monitor/cache/types.ts
  35. 0
      zdxt-web-client/zdxt-admin-plus-ui/src/api/monitor/loginInfo/index.ts
  36. 0
      zdxt-web-client/zdxt-admin-plus-ui/src/api/monitor/loginInfo/types.ts
  37. 0
      zdxt-web-client/zdxt-admin-plus-ui/src/api/monitor/online/index.ts
  38. 0
      zdxt-web-client/zdxt-admin-plus-ui/src/api/monitor/online/types.ts
  39. 0
      zdxt-web-client/zdxt-admin-plus-ui/src/api/monitor/operlog/index.ts
  40. 0
      zdxt-web-client/zdxt-admin-plus-ui/src/api/monitor/operlog/types.ts
  41. 0
      zdxt-web-client/zdxt-admin-plus-ui/src/api/system/client/index.ts
  42. 0
      zdxt-web-client/zdxt-admin-plus-ui/src/api/system/client/types.ts
  43. 0
      zdxt-web-client/zdxt-admin-plus-ui/src/api/system/config/index.ts
  44. 0
      zdxt-web-client/zdxt-admin-plus-ui/src/api/system/config/types.ts
  45. 0
      zdxt-web-client/zdxt-admin-plus-ui/src/api/system/dept/index.ts
  46. 0
      zdxt-web-client/zdxt-admin-plus-ui/src/api/system/dept/types.ts
  47. 0
      zdxt-web-client/zdxt-admin-plus-ui/src/api/system/dict/data/index.ts
  48. 0
      zdxt-web-client/zdxt-admin-plus-ui/src/api/system/dict/data/types.ts
  49. 0
      zdxt-web-client/zdxt-admin-plus-ui/src/api/system/dict/type/index.ts
  50. 0
      zdxt-web-client/zdxt-admin-plus-ui/src/api/system/dict/type/types.ts
  51. 0
      zdxt-web-client/zdxt-admin-plus-ui/src/api/system/menu/index.ts
  52. 0
      zdxt-web-client/zdxt-admin-plus-ui/src/api/system/menu/types.ts
  53. 0
      zdxt-web-client/zdxt-admin-plus-ui/src/api/system/notice/index.ts
  54. 0
      zdxt-web-client/zdxt-admin-plus-ui/src/api/system/notice/types.ts
  55. 0
      zdxt-web-client/zdxt-admin-plus-ui/src/api/system/oss/index.ts
  56. 0
      zdxt-web-client/zdxt-admin-plus-ui/src/api/system/oss/types.ts
  57. 0
      zdxt-web-client/zdxt-admin-plus-ui/src/api/system/ossConfig/index.ts
  58. 0
      zdxt-web-client/zdxt-admin-plus-ui/src/api/system/ossConfig/types.ts
  59. 0
      zdxt-web-client/zdxt-admin-plus-ui/src/api/system/post/index.ts
  60. 0
      zdxt-web-client/zdxt-admin-plus-ui/src/api/system/post/types.ts
  61. 0
      zdxt-web-client/zdxt-admin-plus-ui/src/api/system/role/index.ts
  62. 0
      zdxt-web-client/zdxt-admin-plus-ui/src/api/system/role/types.ts
  63. 0
      zdxt-web-client/zdxt-admin-plus-ui/src/api/system/social/auth.ts
  64. 0
      zdxt-web-client/zdxt-admin-plus-ui/src/api/system/tenant/index.ts
  65. 0
      zdxt-web-client/zdxt-admin-plus-ui/src/api/system/tenant/types.ts
  66. 0
      zdxt-web-client/zdxt-admin-plus-ui/src/api/system/tenantPackage/index.ts
  67. 0
      zdxt-web-client/zdxt-admin-plus-ui/src/api/system/tenantPackage/types.ts
  68. 2
      zdxt-web-client/zdxt-admin-plus-ui/src/api/system/user/index.ts
  69. 0
      zdxt-web-client/zdxt-admin-plus-ui/src/api/system/user/types.ts
  70. 0
      zdxt-web-client/zdxt-admin-plus-ui/src/api/tool/gen/index.ts
  71. 0
      zdxt-web-client/zdxt-admin-plus-ui/src/api/tool/gen/types.ts
  72. 0
      zdxt-web-client/zdxt-admin-plus-ui/src/api/types.ts
  73. 0
      zdxt-web-client/zdxt-admin-plus-ui/src/api/workflow/category/index.ts
  74. 0
      zdxt-web-client/zdxt-admin-plus-ui/src/api/workflow/category/types.ts
  75. 0
      zdxt-web-client/zdxt-admin-plus-ui/src/api/workflow/definition/index.ts
  76. 0
      zdxt-web-client/zdxt-admin-plus-ui/src/api/workflow/definition/types.ts
  77. 0
      zdxt-web-client/zdxt-admin-plus-ui/src/api/workflow/instance/index.ts
  78. 0
      zdxt-web-client/zdxt-admin-plus-ui/src/api/workflow/instance/types.ts
  79. 0
      zdxt-web-client/zdxt-admin-plus-ui/src/api/workflow/leave/index.ts
  80. 0
      zdxt-web-client/zdxt-admin-plus-ui/src/api/workflow/leave/types.ts
  81. 0
      zdxt-web-client/zdxt-admin-plus-ui/src/api/workflow/spel/index.ts
  82. 0
      zdxt-web-client/zdxt-admin-plus-ui/src/api/workflow/spel/types.ts
  83. 0
      zdxt-web-client/zdxt-admin-plus-ui/src/api/workflow/task/index.ts
  84. 0
      zdxt-web-client/zdxt-admin-plus-ui/src/api/workflow/task/types.ts
  85. 0
      zdxt-web-client/zdxt-admin-plus-ui/src/api/workflow/workflowCommon/index.ts
  86. 0
      zdxt-web-client/zdxt-admin-plus-ui/src/api/workflow/workflowCommon/types.ts
  87. 0
      zdxt-web-client/zdxt-admin-plus-ui/src/assets/401_images/401.gif
  88. 0
      zdxt-web-client/zdxt-admin-plus-ui/src/assets/404_images/404.png
  89. 0
      zdxt-web-client/zdxt-admin-plus-ui/src/assets/404_images/404_cloud.png
  90. 0
      zdxt-web-client/zdxt-admin-plus-ui/src/assets/icons/svg/404.svg
  91. 0
      zdxt-web-client/zdxt-admin-plus-ui/src/assets/icons/svg/bug.svg
  92. 0
      zdxt-web-client/zdxt-admin-plus-ui/src/assets/icons/svg/build.svg
  93. 0
      zdxt-web-client/zdxt-admin-plus-ui/src/assets/icons/svg/button.svg
  94. 0
      zdxt-web-client/zdxt-admin-plus-ui/src/assets/icons/svg/caret-back.svg
  95. 0
      zdxt-web-client/zdxt-admin-plus-ui/src/assets/icons/svg/caret-forward.svg
  96. 0
      zdxt-web-client/zdxt-admin-plus-ui/src/assets/icons/svg/cascader.svg
  97. 0
      zdxt-web-client/zdxt-admin-plus-ui/src/assets/icons/svg/category.svg
  98. 0
      zdxt-web-client/zdxt-admin-plus-ui/src/assets/icons/svg/chart.svg
  99. 0
      zdxt-web-client/zdxt-admin-plus-ui/src/assets/icons/svg/checkbox.svg
  100. 0
      zdxt-web-client/zdxt-admin-plus-ui/src/assets/icons/svg/clipboard.svg

4
pom.xml

@ -306,7 +306,7 @@
</dependency> </dependency>
<!-- Warm-Flow国产工作流引擎, 在线文档:http://warm-flow.cn/ --> <!-- Warm-Flow国产工作流引擎, 在线文档:http://warm-flow.cn/ -->
<dependency> <!--<dependency>
<groupId>org.dromara.warm</groupId> <groupId>org.dromara.warm</groupId>
<artifactId>warm-flow-mybatis-plus-sb3-starter</artifactId> <artifactId>warm-flow-mybatis-plus-sb3-starter</artifactId>
<version>${warm-flow.version}</version> <version>${warm-flow.version}</version>
@ -315,7 +315,7 @@
<groupId>org.dromara.warm</groupId> <groupId>org.dromara.warm</groupId>
<artifactId>warm-flow-plugin-ui-sb-web</artifactId> <artifactId>warm-flow-plugin-ui-sb-web</artifactId>
<version>${warm-flow.version}</version> <version>${warm-flow.version}</version>
</dependency> </dependency>-->
<!-- JustAuth 的依赖配置--> <!-- JustAuth 的依赖配置-->
<dependency> <dependency>

31
ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/TreeBuildUtils.java

@ -9,6 +9,7 @@ import lombok.AccessLevel;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.dromara.common.core.utils.reflect.ReflectUtils; import org.dromara.common.core.utils.reflect.ReflectUtils;
import java.util.LinkedHashSet;
import java.util.List; import java.util.List;
import java.util.Set; import java.util.Set;
import java.util.function.Function; import java.util.function.Function;
@ -87,6 +88,36 @@ public class TreeBuildUtils extends TreeUtil {
.collect(Collectors.toList()); .collect(Collectors.toList());
} }
/**
* 构建多根节点的树结构(支持多个顶级节点)
*
* @param list 原始数据列表
* @param getId 获取节点 ID 的方法引用,例如:node -> node.getId()
* @param getParentId 获取节点父级 ID 的方法引用,例如:node -> node.getParentId()
* @param parser 树节点属性映射器,用于将原始节点 T 转为 Tree 节点
* @param <T> 原始数据类型(如实体类、DTO 等)
* @param <K> 节点 ID 类型(如 Long、String)
* @return 构建完成的树形结构(可能包含多个顶级根节点)
*/
public static <T, K> List<Tree<K>> buildMultiRootUseLinkedHashSet(List<T> list, Function<T, K> getId, Function<T, K> getParentId, NodeParser<T, K> parser) {
if (CollUtil.isEmpty(list)) {
return CollUtil.newArrayList();
}
// 使用 LinkedHashSet 保留插入顺序,确保根节点顺序与数据列表中首次出现顺序一致
Set<K> allParentIds = list.stream()
.map(getParentId)
.filter(java.util.Objects::nonNull)
.collect(Collectors.toCollection(LinkedHashSet::new));
Set<K> allIds = StreamUtils.toSet(list, getId);
allParentIds.removeAll(allIds);
// 构建每一个根 parentId 下的树,并合并成最终结果列表
return allParentIds.stream()
.flatMap(rootParentId -> TreeUtil.build(list, rootParentId, parser).stream())
.collect(Collectors.toList());
}
/** /**
* 获取节点列表中所有节点的叶子节点 * 获取节点列表中所有节点的叶子节点
* *

11
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysUserController.java

@ -293,6 +293,15 @@ public class SysUserController extends BaseController {
@SaCheckPermission("system:user:list") @SaCheckPermission("system:user:list")
@GetMapping("/deptTree") @GetMapping("/deptTree")
public R<List<Tree<String>>> deptTree(SysDeptBo dept) { public R<List<Tree<String>>> deptTree(SysDeptBo dept) {
return R.ok(deptService.selectDeptTreeList(dept));
}
/**
* 获取部门树列表
*/
@SaCheckPermission("system:user:list")
@GetMapping("/deptTreeReBuildByZone")
public R<List<Tree<String>>> deptTreeReBuildByZone(SysDeptBo dept) {
List<Integer> zones =new ArrayList<>(); List<Integer> zones =new ArrayList<>();
zones.add(1); zones.add(1);
zones.add(2); zones.add(2);
@ -302,7 +311,7 @@ public class SysUserController extends BaseController {
zones.add(6); zones.add(6);
zones.add(16); zones.add(16);
zones.add(15); zones.add(15);
return R.ok(deptService.selectDeptTreeList(dept,zones)); return R.ok(deptService.selectDeptTreeListReBuildByZone(dept,zones));
} }
/** /**

5
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysDeptVo.java

@ -101,6 +101,11 @@ public class SysDeptVo implements Serializable {
@ExcelProperty(value = "创建时间") @ExcelProperty(value = "创建时间")
private Date createTime; private Date createTime;
/**
* 区域标识
*/
private Integer zone;
/** /**
* 子部门 * 子部门
*/ */

9
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysDeptService.java

@ -49,6 +49,15 @@ public interface ISysDeptService {
*/ */
List<Tree<String>> selectDeptTreeList(SysDeptBo dept, List<Integer> zones); List<Tree<String>> selectDeptTreeList(SysDeptBo dept, List<Integer> zones);
/**
* 查询部门树结构信息(按zone重建,包含深圳市根节点和区市直层级)
*
* @param dept 部门信息
* @param zones 区域标识列表
* @return 部门树信息集合
*/
List<Tree<String>> selectDeptTreeListReBuildByZone(SysDeptBo dept, List<Integer> zones);
/** /**
* 构建前端所需要下拉树结构 * 构建前端所需要下拉树结构
* *

112
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysDeptServiceImpl.java

@ -27,10 +27,13 @@ import org.dromara.system.domain.SysRole;
import org.dromara.system.domain.SysUser; import org.dromara.system.domain.SysUser;
import org.dromara.system.domain.bo.SysDeptBo; import org.dromara.system.domain.bo.SysDeptBo;
import org.dromara.system.domain.vo.SysDeptVo; import org.dromara.system.domain.vo.SysDeptVo;
import org.dromara.system.domain.vo.SysDictDataVo;
import org.dromara.system.mapper.SysDeptMapper; import org.dromara.system.mapper.SysDeptMapper;
import org.dromara.system.mapper.SysRoleMapper; import org.dromara.system.mapper.SysRoleMapper;
import org.dromara.system.mapper.SysUserMapper; import org.dromara.system.mapper.SysUserMapper;
import org.dromara.system.service.ISysDeptService; import org.dromara.system.service.ISysDeptService;
import org.dromara.system.service.ISysDictTypeService;
import org.dromara.system.service.ISysDictTypeService;
import org.springframework.cache.annotation.CacheEvict; import org.springframework.cache.annotation.CacheEvict;
import org.springframework.cache.annotation.Cacheable; import org.springframework.cache.annotation.Cacheable;
import org.springframework.cache.annotation.Caching; import org.springframework.cache.annotation.Caching;
@ -39,6 +42,8 @@ import org.springframework.transaction.annotation.Transactional;
import java.util.*; import java.util.*;
import java.util.function.Function; import java.util.function.Function;
import java.util.stream.Collectors;
import java.util.stream.Collectors;
/** /**
* 部门管理 服务实现 * 部门管理 服务实现
@ -52,6 +57,7 @@ public class SysDeptServiceImpl implements ISysDeptService, DeptService {
private final SysDeptMapper baseMapper; private final SysDeptMapper baseMapper;
private final SysRoleMapper roleMapper; private final SysRoleMapper roleMapper;
private final SysUserMapper userMapper; private final SysUserMapper userMapper;
private final ISysDictTypeService dictTypeService;
/** /**
* 分页查询部门管理数据 * 分页查询部门管理数据
@ -105,6 +111,108 @@ public class SysDeptServiceImpl implements ISysDeptService, DeptService {
return buildDeptTreeSelect(depts); return buildDeptTreeSelect(depts);
} }
/**
* 查询部门树结构信息(按zone重建,包含深圳市根节点和区市直层级)
* <p>
* 树结构:深圳市 → 市直/区 → 各部门,区下设区直虚拟节点
* </p>
*
* @param bo 部门信息
* @param zones 区域标识列表
* @return 部门树信息集合
*/
@Override
public List<Tree<String>> selectDeptTreeListReBuildByZone(SysDeptBo bo, List<Integer> zones) {
LambdaQueryWrapper<SysDept> lqw = buildQueryWrapper(bo);
List<SysDeptVo> depts = new ArrayList<>(baseMapper.selectDeptList(lqw, zones));
if (CollUtil.isEmpty(depts)) {
return CollUtil.newArrayList();
}
// 1. 添加深圳市根节点(插入到头部,确保排在第一位)
SysDeptVo rootNode = new SysDeptVo();
rootNode.setDeptId("0");
rootNode.setParentId("_root_");
rootNode.setDeptName("深圳市");
rootNode.setOrderNum(0);
rootNode.setStatus(SystemConstants.NORMAL);
depts.add(0, rootNode);
// 2. 获取字典数据 role_tree_zone
List<SysDictDataVo> dictDataList = dictTypeService.selectDictDataByType("role_tree_zone");
if (CollUtil.isNotEmpty(dictDataList)) {
// 2.1 添加市直(1)和区(2)虚拟节点,父节点为深圳市
List<SysDeptVo> zoneNodes = dictDataList.stream()
.filter(item -> "1".equals(item.getDictValue()) || "2".equals(item.getDictValue()))
.map(item -> {
SysDeptVo node = new SysDeptVo();
node.setDeptId(item.getDictValue());
node.setParentId("0");
node.setDeptName(item.getDictLabel());
node.setOrderNum(Integer.parseInt(item.getDictValue()));
node.setStatus(SystemConstants.NORMAL);
return node;
})
.collect(Collectors.toList());
depts.addAll(zoneNodes);
// 3. 绑定部门到市直/区节点
// zone=1/2 → 父节点设为对应zone值;zone=15/16 → 父节点设为市直("1")
depts.forEach(d -> {
if (Objects.equals(d.getZone(), 1) || Objects.equals(d.getZone(), 2)) {
d.setParentId(String.valueOf(d.getZone()));
}
if (Objects.equals(d.getZone(), 15) || Objects.equals(d.getZone(), 16)) {
d.setParentId("1");
}
});
// 4. 收集区(zone=2)的 id->name 映射
Map<String, String> districtMap = depts.stream()
.filter(d -> Objects.equals(d.getZone(), 2))
.collect(Collectors.toMap(SysDeptVo::getDeptId, SysDeptVo::getDeptName));
// 收集zone=3/5/6的部门ID(用于判断父部门是否也是区直类型)
List<String> checkDeptIds = depts.stream()
.filter(d -> Objects.equals(d.getZone(), 3) || Objects.equals(d.getZone(), 5) || Objects.equals(d.getZone(), 6))
.map(SysDeptVo::getDeptId)
.collect(Collectors.toList());
// 5. 为每个区创建“区直”虚拟节点,并将zone=3/5/6的部门挂到对应区直下
List<SysDeptVo> finalDepts = depts;
districtMap.forEach((pid, districtName) -> {
// 创建区直虚拟节点
SysDeptVo quzhiNode = new SysDeptVo();
quzhiNode.setDeptId(pid + "3");
quzhiNode.setParentId(pid);
quzhiNode.setDeptName("区直");
quzhiNode.setOrderNum(0);
quzhiNode.setStatus(SystemConstants.NORMAL);
finalDepts.add(quzhiNode);
// 将zone=3/5/6的部门挂到对应区直节点下
for (SysDeptVo dept : finalDepts) {
if (Objects.equals(dept.getZone(), 3) || Objects.equals(dept.getZone(), 6) || Objects.equals(dept.getZone(), 5)) {
if (checkDeptIds.contains(dept.getParentId())) {
// 父部门也是区直类型(zone=3/5/6),保持原有父子关系
} else if (StringUtils.isNotEmpty(dept.getAncestors()) && dept.getAncestors().contains(pid)) {
dept.setParentId(quzhiNode.getDeptId());
} else if (StringUtils.isEmpty(dept.getAncestors())
|| districtMap.values().stream().noneMatch(v -> dept.getAncestors().contains(v))) {
if (dept.getDeptName() != null && districtName.length() >= 2
&& dept.getDeptName().contains(districtName.substring(0, 2))) {
dept.setParentId(quzhiNode.getDeptId());
}
}
}
}
});
}
return buildDeptTreeSelect(depts);
}
private LambdaQueryWrapper<SysDept> buildQueryWrapper(SysDeptBo bo) { private LambdaQueryWrapper<SysDept> buildQueryWrapper(SysDeptBo bo) {
Map<String, Object> params = bo.getParams(); Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<SysDept> lqw = Wrappers.lambdaQuery(); LambdaQueryWrapper<SysDept> lqw = Wrappers.lambdaQuery();
@ -116,7 +224,7 @@ public class SysDeptServiceImpl implements ISysDeptService, DeptService {
lqw.eq(StringUtils.isNotBlank(bo.getStatus()), SysDept::getStatus, bo.getStatus()); lqw.eq(StringUtils.isNotBlank(bo.getStatus()), SysDept::getStatus, bo.getStatus());
lqw.between(params.get("beginTime") != null && params.get("endTime") != null, lqw.between(params.get("beginTime") != null && params.get("endTime") != null,
SysDept::getCreateTime, params.get("beginTime"), params.get("endTime")); SysDept::getCreateTime, params.get("beginTime"), params.get("endTime"));
lqw.orderByAsc(SysDept::getAncestors); //lqw.orderByAsc(SysDept::getAncestors);
lqw.orderByAsc(SysDept::getParentId); lqw.orderByAsc(SysDept::getParentId);
lqw.orderByAsc(SysDept::getOrderNum); lqw.orderByAsc(SysDept::getOrderNum);
lqw.orderByAsc(SysDept::getDeptId); lqw.orderByAsc(SysDept::getDeptId);
@ -141,7 +249,7 @@ public class SysDeptServiceImpl implements ISysDeptService, DeptService {
if (CollUtil.isEmpty(depts)) { if (CollUtil.isEmpty(depts)) {
return CollUtil.newArrayList(); return CollUtil.newArrayList();
} }
return TreeBuildUtils.buildMultiRoot( return TreeBuildUtils.buildMultiRootUseLinkedHashSet(
depts, depts,
SysDeptVo::getDeptId, SysDeptVo::getDeptId,
SysDeptVo::getParentId, SysDeptVo::getParentId,

5
script/sql/zfjd-refactoring-v1/100-清除数据库中可能无效的数据.sql

@ -0,0 +1,5 @@
delete from sys_dict_data where dict_type in (
select sys_dict_type.dict_type from sys_dict_type where create_time>='2020-03-18 17:11:22' and create_time<='2024-01-08 10:28:51'
);
delete from sys_dict_type where create_time>='2020-03-18 17:11:22' and create_time<='2024-01-08 10:28:51';

0
zdxt-web-client/ruoyi-plus-ui/.editorconfig → zdxt-web-client/zdxt-admin-plus-ui/.editorconfig

0
zdxt-web-client/ruoyi-plus-ui/.env.development → zdxt-web-client/zdxt-admin-plus-ui/.env.development

0
zdxt-web-client/ruoyi-plus-ui/.env.production → zdxt-web-client/zdxt-admin-plus-ui/.env.production

0
zdxt-web-client/ruoyi-plus-ui/.eslintrc-auto-import.json → zdxt-web-client/zdxt-admin-plus-ui/.eslintrc-auto-import.json

0
zdxt-web-client/ruoyi-plus-ui/.gitignore → zdxt-web-client/zdxt-admin-plus-ui/.gitignore

0
zdxt-web-client/ruoyi-plus-ui/.prettierignore → zdxt-web-client/zdxt-admin-plus-ui/.prettierignore

0
zdxt-web-client/ruoyi-plus-ui/.prettierrc → zdxt-web-client/zdxt-admin-plus-ui/.prettierrc

0
zdxt-web-client/ruoyi-plus-ui/LICENSE → zdxt-web-client/zdxt-admin-plus-ui/LICENSE

0
zdxt-web-client/ruoyi-plus-ui/README.md → zdxt-web-client/zdxt-admin-plus-ui/README.md

0
zdxt-web-client/ruoyi-plus-ui/bin/build.bat → zdxt-web-client/zdxt-admin-plus-ui/bin/build.bat

0
zdxt-web-client/ruoyi-plus-ui/bin/package.bat → zdxt-web-client/zdxt-admin-plus-ui/bin/package.bat

0
zdxt-web-client/ruoyi-plus-ui/bin/run-web.bat → zdxt-web-client/zdxt-admin-plus-ui/bin/run-web.bat

0
zdxt-web-client/ruoyi-plus-ui/eslint.config.ts → zdxt-web-client/zdxt-admin-plus-ui/eslint.config.ts

0
zdxt-web-client/ruoyi-plus-ui/html/ie.html → zdxt-web-client/zdxt-admin-plus-ui/html/ie.html

0
zdxt-web-client/ruoyi-plus-ui/index.html → zdxt-web-client/zdxt-admin-plus-ui/index.html

18
zdxt-web-client/ruoyi-plus-ui/package.json → zdxt-web-client/zdxt-admin-plus-ui/package.json

@ -1,19 +1,19 @@
{ {
"$schema": "https://json.schemastore.org/package", "$schema": "https://json.schemastore.org/package",
"name": "ruoyi-vue-plus", "name": "zdxt-admin-plus-ui",
"version": "5.5.3-2.5.3", "version": "5.5.3-2.5.3",
"description": "RuoYi-Vue-Plus多租户管理系统", "description": "多租户管理系统",
"author": "LionLi", "author": "LionLi",
"license": "MIT", "license": "MIT",
"type": "module", "type": "module",
"scripts": { "scripts": {
"ruoyi-plus-ui-dev": "vite serve --mode development", "zdxt-admin-plus-ui-dev": "vite serve --mode development",
"ruoyi-plus-ui-build:prod": "vite build --mode production", "zdxt-admin-plus-ui-build:prod": "vite build --mode production",
"ruoyi-plus-ui-build:dev": "vite build --mode development", "zdxt-admin-plus-ui-build:dev": "vite build --mode development",
"ruoyi-plus-ui-preview": "vite preview", "zdxt-admin-plus-ui-preview": "vite preview",
"ruoyi-plus-ui-lint:eslint": "eslint", "zdxt-admin-plus-ui-lint:eslint": "eslint",
"ruoyi-plus-ui-lint:eslint:fix": "eslint --fix", "zdxt-admin-plus-ui-lint:eslint:fix": "eslint --fix",
"ruoyi-plus-ui-prettier": "prettier --write ." "zdxt-admin-plus-ui-prettier": "prettier --write ."
}, },
"repository": { "repository": {
"type": "git", "type": "git",

0
zdxt-web-client/ruoyi-plus-ui/public/favicon.ico → zdxt-web-client/zdxt-admin-plus-ui/public/favicon.ico

Before

Width:  |  Height:  |  Size: 7.9 KiB

After

Width:  |  Height:  |  Size: 7.9 KiB

0
zdxt-web-client/ruoyi-plus-ui/src/App.vue → zdxt-web-client/zdxt-admin-plus-ui/src/App.vue

0
zdxt-web-client/ruoyi-plus-ui/src/animate.ts → zdxt-web-client/zdxt-admin-plus-ui/src/animate.ts

0
zdxt-web-client/ruoyi-plus-ui/src/api/demo/demo/index.ts → zdxt-web-client/zdxt-admin-plus-ui/src/api/demo/demo/index.ts

0
zdxt-web-client/ruoyi-plus-ui/src/api/demo/demo/types.ts → zdxt-web-client/zdxt-admin-plus-ui/src/api/demo/demo/types.ts

0
zdxt-web-client/ruoyi-plus-ui/src/api/demo/tree/index.ts → zdxt-web-client/zdxt-admin-plus-ui/src/api/demo/tree/index.ts

0
zdxt-web-client/ruoyi-plus-ui/src/api/demo/tree/types.ts → zdxt-web-client/zdxt-admin-plus-ui/src/api/demo/tree/types.ts

0
zdxt-web-client/ruoyi-plus-ui/src/api/login.ts → zdxt-web-client/zdxt-admin-plus-ui/src/api/login.ts

0
zdxt-web-client/ruoyi-plus-ui/src/api/menu.ts → zdxt-web-client/zdxt-admin-plus-ui/src/api/menu.ts

0
zdxt-web-client/ruoyi-plus-ui/src/api/monitor/cache/index.ts → zdxt-web-client/zdxt-admin-plus-ui/src/api/monitor/cache/index.ts

0
zdxt-web-client/ruoyi-plus-ui/src/api/monitor/cache/types.ts → zdxt-web-client/zdxt-admin-plus-ui/src/api/monitor/cache/types.ts

0
zdxt-web-client/ruoyi-plus-ui/src/api/monitor/loginInfo/index.ts → zdxt-web-client/zdxt-admin-plus-ui/src/api/monitor/loginInfo/index.ts

0
zdxt-web-client/ruoyi-plus-ui/src/api/monitor/loginInfo/types.ts → zdxt-web-client/zdxt-admin-plus-ui/src/api/monitor/loginInfo/types.ts

0
zdxt-web-client/ruoyi-plus-ui/src/api/monitor/online/index.ts → zdxt-web-client/zdxt-admin-plus-ui/src/api/monitor/online/index.ts

0
zdxt-web-client/ruoyi-plus-ui/src/api/monitor/online/types.ts → zdxt-web-client/zdxt-admin-plus-ui/src/api/monitor/online/types.ts

0
zdxt-web-client/ruoyi-plus-ui/src/api/monitor/operlog/index.ts → zdxt-web-client/zdxt-admin-plus-ui/src/api/monitor/operlog/index.ts

0
zdxt-web-client/ruoyi-plus-ui/src/api/monitor/operlog/types.ts → zdxt-web-client/zdxt-admin-plus-ui/src/api/monitor/operlog/types.ts

0
zdxt-web-client/ruoyi-plus-ui/src/api/system/client/index.ts → zdxt-web-client/zdxt-admin-plus-ui/src/api/system/client/index.ts

0
zdxt-web-client/ruoyi-plus-ui/src/api/system/client/types.ts → zdxt-web-client/zdxt-admin-plus-ui/src/api/system/client/types.ts

0
zdxt-web-client/ruoyi-plus-ui/src/api/system/config/index.ts → zdxt-web-client/zdxt-admin-plus-ui/src/api/system/config/index.ts

0
zdxt-web-client/ruoyi-plus-ui/src/api/system/config/types.ts → zdxt-web-client/zdxt-admin-plus-ui/src/api/system/config/types.ts

0
zdxt-web-client/ruoyi-plus-ui/src/api/system/dept/index.ts → zdxt-web-client/zdxt-admin-plus-ui/src/api/system/dept/index.ts

0
zdxt-web-client/ruoyi-plus-ui/src/api/system/dept/types.ts → zdxt-web-client/zdxt-admin-plus-ui/src/api/system/dept/types.ts

0
zdxt-web-client/ruoyi-plus-ui/src/api/system/dict/data/index.ts → zdxt-web-client/zdxt-admin-plus-ui/src/api/system/dict/data/index.ts

0
zdxt-web-client/ruoyi-plus-ui/src/api/system/dict/data/types.ts → zdxt-web-client/zdxt-admin-plus-ui/src/api/system/dict/data/types.ts

0
zdxt-web-client/ruoyi-plus-ui/src/api/system/dict/type/index.ts → zdxt-web-client/zdxt-admin-plus-ui/src/api/system/dict/type/index.ts

0
zdxt-web-client/ruoyi-plus-ui/src/api/system/dict/type/types.ts → zdxt-web-client/zdxt-admin-plus-ui/src/api/system/dict/type/types.ts

0
zdxt-web-client/ruoyi-plus-ui/src/api/system/menu/index.ts → zdxt-web-client/zdxt-admin-plus-ui/src/api/system/menu/index.ts

0
zdxt-web-client/ruoyi-plus-ui/src/api/system/menu/types.ts → zdxt-web-client/zdxt-admin-plus-ui/src/api/system/menu/types.ts

0
zdxt-web-client/ruoyi-plus-ui/src/api/system/notice/index.ts → zdxt-web-client/zdxt-admin-plus-ui/src/api/system/notice/index.ts

0
zdxt-web-client/ruoyi-plus-ui/src/api/system/notice/types.ts → zdxt-web-client/zdxt-admin-plus-ui/src/api/system/notice/types.ts

0
zdxt-web-client/ruoyi-plus-ui/src/api/system/oss/index.ts → zdxt-web-client/zdxt-admin-plus-ui/src/api/system/oss/index.ts

0
zdxt-web-client/ruoyi-plus-ui/src/api/system/oss/types.ts → zdxt-web-client/zdxt-admin-plus-ui/src/api/system/oss/types.ts

0
zdxt-web-client/ruoyi-plus-ui/src/api/system/ossConfig/index.ts → zdxt-web-client/zdxt-admin-plus-ui/src/api/system/ossConfig/index.ts

0
zdxt-web-client/ruoyi-plus-ui/src/api/system/ossConfig/types.ts → zdxt-web-client/zdxt-admin-plus-ui/src/api/system/ossConfig/types.ts

0
zdxt-web-client/ruoyi-plus-ui/src/api/system/post/index.ts → zdxt-web-client/zdxt-admin-plus-ui/src/api/system/post/index.ts

0
zdxt-web-client/ruoyi-plus-ui/src/api/system/post/types.ts → zdxt-web-client/zdxt-admin-plus-ui/src/api/system/post/types.ts

0
zdxt-web-client/ruoyi-plus-ui/src/api/system/role/index.ts → zdxt-web-client/zdxt-admin-plus-ui/src/api/system/role/index.ts

0
zdxt-web-client/ruoyi-plus-ui/src/api/system/role/types.ts → zdxt-web-client/zdxt-admin-plus-ui/src/api/system/role/types.ts

0
zdxt-web-client/ruoyi-plus-ui/src/api/system/social/auth.ts → zdxt-web-client/zdxt-admin-plus-ui/src/api/system/social/auth.ts

0
zdxt-web-client/ruoyi-plus-ui/src/api/system/tenant/index.ts → zdxt-web-client/zdxt-admin-plus-ui/src/api/system/tenant/index.ts

0
zdxt-web-client/ruoyi-plus-ui/src/api/system/tenant/types.ts → zdxt-web-client/zdxt-admin-plus-ui/src/api/system/tenant/types.ts

0
zdxt-web-client/ruoyi-plus-ui/src/api/system/tenantPackage/index.ts → zdxt-web-client/zdxt-admin-plus-ui/src/api/system/tenantPackage/index.ts

0
zdxt-web-client/ruoyi-plus-ui/src/api/system/tenantPackage/types.ts → zdxt-web-client/zdxt-admin-plus-ui/src/api/system/tenantPackage/types.ts

2
zdxt-web-client/ruoyi-plus-ui/src/api/system/user/index.ts → zdxt-web-client/zdxt-admin-plus-ui/src/api/system/user/index.ts

@ -204,7 +204,7 @@ export const listUserByDeptId = (deptId: string | number): AxiosPromise<UserVO[]
*/ */
export const deptTreeSelect = (): AxiosPromise<DeptTreeVO[]> => { export const deptTreeSelect = (): AxiosPromise<DeptTreeVO[]> => {
return request({ return request({
url: '/system/user/deptTree', url: '/system/user/deptTreeReBuildByZone',
method: 'get' method: 'get'
}); });
}; };

0
zdxt-web-client/ruoyi-plus-ui/src/api/system/user/types.ts → zdxt-web-client/zdxt-admin-plus-ui/src/api/system/user/types.ts

0
zdxt-web-client/ruoyi-plus-ui/src/api/tool/gen/index.ts → zdxt-web-client/zdxt-admin-plus-ui/src/api/tool/gen/index.ts

0
zdxt-web-client/ruoyi-plus-ui/src/api/tool/gen/types.ts → zdxt-web-client/zdxt-admin-plus-ui/src/api/tool/gen/types.ts

0
zdxt-web-client/ruoyi-plus-ui/src/api/types.ts → zdxt-web-client/zdxt-admin-plus-ui/src/api/types.ts

0
zdxt-web-client/ruoyi-plus-ui/src/api/workflow/category/index.ts → zdxt-web-client/zdxt-admin-plus-ui/src/api/workflow/category/index.ts

0
zdxt-web-client/ruoyi-plus-ui/src/api/workflow/category/types.ts → zdxt-web-client/zdxt-admin-plus-ui/src/api/workflow/category/types.ts

0
zdxt-web-client/ruoyi-plus-ui/src/api/workflow/definition/index.ts → zdxt-web-client/zdxt-admin-plus-ui/src/api/workflow/definition/index.ts

0
zdxt-web-client/ruoyi-plus-ui/src/api/workflow/definition/types.ts → zdxt-web-client/zdxt-admin-plus-ui/src/api/workflow/definition/types.ts

0
zdxt-web-client/ruoyi-plus-ui/src/api/workflow/instance/index.ts → zdxt-web-client/zdxt-admin-plus-ui/src/api/workflow/instance/index.ts

0
zdxt-web-client/ruoyi-plus-ui/src/api/workflow/instance/types.ts → zdxt-web-client/zdxt-admin-plus-ui/src/api/workflow/instance/types.ts

0
zdxt-web-client/ruoyi-plus-ui/src/api/workflow/leave/index.ts → zdxt-web-client/zdxt-admin-plus-ui/src/api/workflow/leave/index.ts

0
zdxt-web-client/ruoyi-plus-ui/src/api/workflow/leave/types.ts → zdxt-web-client/zdxt-admin-plus-ui/src/api/workflow/leave/types.ts

0
zdxt-web-client/ruoyi-plus-ui/src/api/workflow/spel/index.ts → zdxt-web-client/zdxt-admin-plus-ui/src/api/workflow/spel/index.ts

0
zdxt-web-client/ruoyi-plus-ui/src/api/workflow/spel/types.ts → zdxt-web-client/zdxt-admin-plus-ui/src/api/workflow/spel/types.ts

0
zdxt-web-client/ruoyi-plus-ui/src/api/workflow/task/index.ts → zdxt-web-client/zdxt-admin-plus-ui/src/api/workflow/task/index.ts

0
zdxt-web-client/ruoyi-plus-ui/src/api/workflow/task/types.ts → zdxt-web-client/zdxt-admin-plus-ui/src/api/workflow/task/types.ts

0
zdxt-web-client/ruoyi-plus-ui/src/api/workflow/workflowCommon/index.ts → zdxt-web-client/zdxt-admin-plus-ui/src/api/workflow/workflowCommon/index.ts

0
zdxt-web-client/ruoyi-plus-ui/src/api/workflow/workflowCommon/types.ts → zdxt-web-client/zdxt-admin-plus-ui/src/api/workflow/workflowCommon/types.ts

0
zdxt-web-client/ruoyi-plus-ui/src/assets/401_images/401.gif → zdxt-web-client/zdxt-admin-plus-ui/src/assets/401_images/401.gif

Before

Width:  |  Height:  |  Size: 160 KiB

After

Width:  |  Height:  |  Size: 160 KiB

0
zdxt-web-client/ruoyi-plus-ui/src/assets/404_images/404.png → zdxt-web-client/zdxt-admin-plus-ui/src/assets/404_images/404.png

Before

Width:  |  Height:  |  Size: 96 KiB

After

Width:  |  Height:  |  Size: 96 KiB

0
zdxt-web-client/ruoyi-plus-ui/src/assets/404_images/404_cloud.png → zdxt-web-client/zdxt-admin-plus-ui/src/assets/404_images/404_cloud.png

Before

Width:  |  Height:  |  Size: 4.7 KiB

After

Width:  |  Height:  |  Size: 4.7 KiB

0
zdxt-web-client/ruoyi-plus-ui/src/assets/icons/svg/404.svg → zdxt-web-client/zdxt-admin-plus-ui/src/assets/icons/svg/404.svg

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

0
zdxt-web-client/ruoyi-plus-ui/src/assets/icons/svg/bug.svg → zdxt-web-client/zdxt-admin-plus-ui/src/assets/icons/svg/bug.svg

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

0
zdxt-web-client/ruoyi-plus-ui/src/assets/icons/svg/build.svg → zdxt-web-client/zdxt-admin-plus-ui/src/assets/icons/svg/build.svg

Before

Width:  |  Height:  |  Size: 954 B

After

Width:  |  Height:  |  Size: 954 B

0
zdxt-web-client/ruoyi-plus-ui/src/assets/icons/svg/button.svg → zdxt-web-client/zdxt-admin-plus-ui/src/assets/icons/svg/button.svg

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

0
zdxt-web-client/ruoyi-plus-ui/src/assets/icons/svg/caret-back.svg → zdxt-web-client/zdxt-admin-plus-ui/src/assets/icons/svg/caret-back.svg

Before

Width:  |  Height:  |  Size: 223 B

After

Width:  |  Height:  |  Size: 223 B

0
zdxt-web-client/ruoyi-plus-ui/src/assets/icons/svg/caret-forward.svg → zdxt-web-client/zdxt-admin-plus-ui/src/assets/icons/svg/caret-forward.svg

Before

Width:  |  Height:  |  Size: 223 B

After

Width:  |  Height:  |  Size: 223 B

0
zdxt-web-client/ruoyi-plus-ui/src/assets/icons/svg/cascader.svg → zdxt-web-client/zdxt-admin-plus-ui/src/assets/icons/svg/cascader.svg

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

0
zdxt-web-client/ruoyi-plus-ui/src/assets/icons/svg/category.svg → zdxt-web-client/zdxt-admin-plus-ui/src/assets/icons/svg/category.svg

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

0
zdxt-web-client/ruoyi-plus-ui/src/assets/icons/svg/chart.svg → zdxt-web-client/zdxt-admin-plus-ui/src/assets/icons/svg/chart.svg

Before

Width:  |  Height:  |  Size: 179 B

After

Width:  |  Height:  |  Size: 179 B

0
zdxt-web-client/ruoyi-plus-ui/src/assets/icons/svg/checkbox.svg → zdxt-web-client/zdxt-admin-plus-ui/src/assets/icons/svg/checkbox.svg

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

0
zdxt-web-client/ruoyi-plus-ui/src/assets/icons/svg/clipboard.svg → zdxt-web-client/zdxt-admin-plus-ui/src/assets/icons/svg/clipboard.svg

Before

Width:  |  Height:  |  Size: 971 B

After

Width:  |  Height:  |  Size: 971 B

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save