fix: 修复任务详情中完成截止时间不显示的问题

- 在handleViewTaskDetail和handleTaskClick函数中,调用getTaskById API获取完整的任务详情
- 确保任务对象包含deadline、startTime、isPipeline、subTasks等字段
- 修复getTaskDeadline函数返回null导致完成截止时间不显示的问题
- 如果是子任务,调用getTaskItemById API获取完整的子任务详情
This commit is contained in:
Your Name 2026-01-14 13:46:15 +08:00
parent f258a8ffc7
commit 1af9e694ee

View File

@ -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)