diff --git a/frontend/src/views/TaskHall.vue b/frontend/src/views/TaskHall.vue index 9246576..609a40c 100644 --- a/frontend/src/views/TaskHall.vue +++ b/frontend/src/views/TaskHall.vue @@ -84,6 +84,18 @@
+ + 全部待接 + 待接单 + 待部门审核 + + 附件: - - 附件{{ index + 1 }} - + + + {{ (task.attachmentUrl || '').split(',').filter(u => u.trim()).length }}个附件(接单后可下载) +
@@ -432,6 +438,18 @@
+ + 全部待审核 + 待需求审核 + 待接单审核 + +
+ + 全部 + 进行中 + 待接单 + 待前置完成 + + { // 筛选条件 const filters = reactive({ + status: '' as string, // 任务状态筛选 taskTypeId: undefined as number | undefined, demandTypeId: undefined as number | undefined, brandId: undefined as number | undefined, @@ -2893,6 +2925,7 @@ const publishedFilters = reactive({ // 进行中任务筛选条件 const inProgressFilters = reactive({ keyword: undefined as string | undefined, + status: '' as string, // 任务状态筛选 sortBy: 'latest' as 'latest' | 'deadline' | 'progress', taskTypeId: undefined as number | undefined, brandId: undefined as number | undefined, @@ -2906,6 +2939,7 @@ const inProgressFilters = reactive({ // 待审核任务筛选条件 const reviewFilters = reactive({ keyword: undefined as string | undefined, + status: '' as string, // 审核状态筛选 sortBy: 'latest' as 'latest' | 'score', taskTypeId: undefined as number | undefined, brandId: undefined as number | undefined, @@ -3256,6 +3290,7 @@ const loadTasks = async (forceReload = false) => { } // 添加筛选条件 + if (filters.status) params.status = filters.status if (filters.taskTypeId) params.taskTypeId = filters.taskTypeId if (filters.demandTypeId) params.demandTypeId = filters.demandTypeId if (filters.brandId) params.brandId = filters.brandId @@ -4338,7 +4373,7 @@ const loadInProgressTasks = async () => { const params: any = { page: inProgressPagination.page, pageSize: inProgressPagination.pageSize, - status: 'in_progress' + status: inProgressFilters.status || 'in_progress' // 支持状态筛选,默认进行中 } // 添加筛选条件 @@ -4669,6 +4704,7 @@ const loadReviewTasks = async () => { } // 添加筛选条件 + if (reviewFilters.status) params.status = reviewFilters.status if (reviewFilters.taskTypeId) params.taskTypeId = reviewFilters.taskTypeId // 并行加载:主任务 + 子任务组(如果是部门负责人) @@ -7119,6 +7155,18 @@ onUnmounted(() => { } } + // 锁定附件提示样式 + .attachment-locked { + display: inline-flex; + align-items: center; + color: #888; + font-size: 12px; + padding: 2px 8px; + background: rgba(255, 255, 255, 0.05); + border-radius: 4px; + border: 1px dashed rgba(255, 255, 255, 0.15); + } + // 展开/折叠图标 .expand-subtasks { display: inline-flex;