diff --git a/backend/src/main/java/com/designhub/service/TaskService.java b/backend/src/main/java/com/designhub/service/TaskService.java index de89556..74f260a 100644 --- a/backend/src/main/java/com/designhub/service/TaskService.java +++ b/backend/src/main/java/com/designhub/service/TaskService.java @@ -1339,9 +1339,13 @@ public class TaskService { Integer minScore, Integer maxScore, String timeRange, String keyword) { Page pageParam = new Page<>(page, pageSize); - // 构建查询条件 + // 构建查询条件(支持普通发起人、一级需求发起人、明细完善人) LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.and(w -> w.eq(Task::getPublisherId, userId).or().eq(Task::getDetailCompleterId, userId)); + wrapper.and(w -> w + .eq(Task::getPublisherId, userId) + .or().eq(Task::getDetailCompleterId, userId) + .or().eq(Task::getPrimaryPublisherId, userId) + ); wrapper.eq(Task::getDeleted, 0); // 状态筛选 diff --git a/frontend/src/views/TaskHall.vue b/frontend/src/views/TaskHall.vue index 2c4c56b..992727a 100644 --- a/frontend/src/views/TaskHall.vue +++ b/frontend/src/views/TaskHall.vue @@ -2659,11 +2659,11 @@ const draftsLoading = ref(false) const draftTaskList = ref([]) const draftsTotal = ref(0) -// 是否显示草稿箱tab(仅需求部门用户可见) +// 是否显示草稿箱tab(需求部门或一级需求部门用户可见) const showDraftTab = computed(() => { const userInfo = JSON.parse(localStorage.getItem('userInfo') || '{}') - // 需求部门用户或管理员可以看到草稿箱 - return userDeptType.value === 'demand' || userInfo.isAdmin === 1 || userInfo.isAdmin === true + // 需求部门、一级需求部门用户或管理员可以看到草稿箱 + return userDeptType.value === 'demand' || userDeptType.value === 'primary_demand' || userInfo.isAdmin === 1 || userInfo.isAdmin === true }) // 进行中任务状态