From 1af9e694ee4983213d69019cc77a7d616549b228 Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 14 Jan 2026 13:46:15 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E8=AF=A6=E6=83=85=E4=B8=AD=E5=AE=8C=E6=88=90=E6=88=AA=E6=AD=A2?= =?UTF-8?q?=E6=97=B6=E9=97=B4=E4=B8=8D=E6=98=BE=E7=A4=BA=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在handleViewTaskDetail和handleTaskClick函数中,调用getTaskById API获取完整的任务详情 - 确保任务对象包含deadline、startTime、isPipeline、subTasks等字段 - 修复getTaskDeadline函数返回null导致完成截止时间不显示的问题 - 如果是子任务,调用getTaskItemById API获取完整的子任务详情 --- frontend/src/views/TaskHall.vue | 60 +++++++++++++++++++++------------ 1 file changed, 38 insertions(+), 22 deletions(-) diff --git a/frontend/src/views/TaskHall.vue b/frontend/src/views/TaskHall.vue index 370fbf6..41eb7bc 100644 --- a/frontend/src/views/TaskHall.vue +++ b/frontend/src/views/TaskHall.vue @@ -4938,19 +4938,22 @@ const handleRejectTask = (task: Task) => { // 查看任务详情(进行中/待审核) const handleViewTaskDetail = async (task: Task) => { + // 先设置任务对象(用于快速显示) selectedTask.value = task detailDrawerVisible.value = true - // 调试:输出任务对象信息 - console.log('=== 任务详情调试信息 ===') - console.log('任务对象:', task) - console.log('任务状态:', task.status) - console.log('deadline字段:', task.deadline) - console.log('startTime字段:', task.startTime) - console.log('isPipeline:', task.isPipeline) - console.log('subTasks:', task.subTasks) - console.log('estimatedHours:', task.estimatedHours) - console.log('getTaskDeadline结果:', getTaskDeadline(task)) - console.log('====================') + + // 如果有任务ID,调用API获取完整的任务详情 + if (task.id) { + try { + const response = await taskApi.getTaskById(task.id) + if (response.data) { + selectedTask.value = response.data + } + } catch (error) { + console.error('获取任务详情失败:', error) + } + } + // 已完成任务加载商品ID列表 if (task.status === 'completed' && task.id) { await loadTaskProducts(task.id) @@ -4961,19 +4964,32 @@ const handleViewTaskDetail = async (task: Task) => { // 任务点击 const handleTaskClick = async (task: TaskOrSubTask) => { + // 先设置任务对象(用于快速显示) selectedTask.value = task detailDrawerVisible.value = true - // 调试:输出任务对象信息 - console.log('=== 任务详情调试信息 ===') - console.log('任务对象:', task) - console.log('任务状态:', task.status) - console.log('deadline字段:', task.deadline) - console.log('startTime字段:', (task as any).startTime) - console.log('isPipeline:', (task as any).isPipeline) - console.log('subTasks:', (task as any).subTasks) - console.log('estimatedHours:', task.estimatedHours) - console.log('getTaskDeadline结果:', getTaskDeadline(task)) - console.log('====================') + + // 如果有任务ID且不是子任务,调用API获取完整的任务详情 + if (task.id && !task.isSubTask) { + try { + const response = await taskApi.getTaskById(task.id) + if (response.data) { + selectedTask.value = response.data + } + } catch (error) { + console.error('获取任务详情失败:', error) + } + } else if (task.isSubTask && (task.itemId || task.id)) { + // 如果是子任务,调用子任务详情API + try { + const response = await taskApi.getTaskItemById(task.itemId || task.id!) + if (response.data) { + selectedTask.value = response.data + } + } catch (error) { + console.error('获取子任务详情失败:', error) + } + } + // 已完成任务加载商品ID列表 if (task.status === 'completed' && task.id) { await loadTaskProducts(task.id)