From 754b885e294383e7dbab0b8c389e16922e557d46 Mon Sep 17 00:00:00 2001 From: Your Name Date: Fri, 30 Jan 2026 14:25:27 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=B8=80=E7=BA=A7=E9=9C=80=E6=B1=82?= =?UTF-8?q?=E9=83=A8=E9=97=A8=E8=B4=9F=E8=B4=A3=E4=BA=BA=E5=8F=AF=E6=9F=A5?= =?UTF-8?q?=E7=9C=8B=E5=AD=90=E9=83=A8=E9=97=A8=E6=88=90=E5=91=98=E5=8F=91?= =?UTF-8?q?=E8=B5=B7=E7=9A=84=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 后端: 对于primary_demand类型部门负责人,返回managedDepartments时包含子部门 - 前端: 支持primary_demand类型部门的任务查询 --- .../com/designhub/service/UserService.java | 20 ++++++++++++++++++- frontend/src/views/TaskHall.vue | 9 +++++---- 2 files changed, 24 insertions(+), 5 deletions(-) diff --git a/backend/src/main/java/com/designhub/service/UserService.java b/backend/src/main/java/com/designhub/service/UserService.java index 459fe24..b17ef5b 100644 --- a/backend/src/main/java/com/designhub/service/UserService.java +++ b/backend/src/main/java/com/designhub/service/UserService.java @@ -1175,7 +1175,25 @@ public class UserService { .eq(Department::getStatus, 1) .eq(Department::getDeleted, 0) ); - managedDepartments = leadingDepts.stream() + + // 🔥 对于一级需求部门(primary_demand),还需要获取其子部门 + List allDepts = new ArrayList<>(leadingDepts); + for (Department dept : leadingDepts) { + if ("primary_demand".equals(dept.getDeptType())) { + // 获取该一级需求部门的所有子部门 + List childDepts = departmentMapper.selectList( + new LambdaQueryWrapper() + .eq(Department::getParentId, dept.getId()) + .eq(Department::getStatus, 1) + .eq(Department::getDeleted, 0) + ); + allDepts.addAll(childDepts); + log.info("一级需求部门 {} 的子部门: {}", dept.getDeptName(), + childDepts.stream().map(Department::getDeptName).collect(Collectors.toList())); + } + } + + managedDepartments = allDepts.stream() .map(dept -> UserInfoVO.ManagedDepartmentVO.builder() .deptId(dept.getId()) .deptName(dept.getDeptName()) diff --git a/frontend/src/views/TaskHall.vue b/frontend/src/views/TaskHall.vue index a8fc97d..82f823c 100644 --- a/frontend/src/views/TaskHall.vue +++ b/frontend/src/views/TaskHall.vue @@ -4734,16 +4734,17 @@ const loadInProgressTasks = async (newFilters?: any) => { console.log('需求部门负责人 - userDeptId:', userDeptId.value, 'userDeptType:', userDeptType.value) console.log('需求部门负责人 - userInfo.managedDepartments:', userInfo.managedDepartments) - // 添加用户自己的部门(如果是需求部门) - if (userDeptId.value && userDeptType.value === 'demand') { + // 添加用户自己的部门(如果是需求部门或一级需求部门) + if (userDeptId.value && (userDeptType.value === 'demand' || userDeptType.value === 'primary_demand')) { demandDeptIds.push(userDeptId.value) } - // 添加用户管理的所有需求部门 + // 添加用户管理的所有需求部门(包括普通需求部门和一级需求部门下的子部门) if (userInfo.managedDepartments && Array.isArray(userInfo.managedDepartments)) { userInfo.managedDepartments.forEach((dept: any) => { console.log('检查管理的部门:', dept.deptId, dept.deptName, 'deptType:', dept.deptType) - if (dept.deptType === 'demand' && !demandDeptIds.includes(dept.deptId)) { + // 🔥 支持 demand 和 primary_demand 类型的部门 + if ((dept.deptType === 'demand' || dept.deptType === 'primary_demand') && !demandDeptIds.includes(dept.deptId)) { demandDeptIds.push(dept.deptId) } })