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

- 在mapTaskItemToTask函数中添加deadline和startTime字段映射
- 子任务的deadline字段从后端返回,现在能正确传递到前端显示
- 保留调试日志用于验证修复效果
This commit is contained in:
Your Name 2026-01-14 13:58:59 +08:00
parent 64d9235769
commit cff7b795b7

View File

@ -4401,7 +4401,9 @@ const mapTaskItemToTask = (item: any) => ({
description: item.description || item.taskDescription,
progress: item.progress,
status: 'in_progress',
receiverName: item.receiverName // 接单人姓名(部门负责人查看时显示)
receiverName: item.receiverName, // 接单人姓名(部门负责人查看时显示)
deadline: item.deadline, // 子任务截止时间(接单时计算)
startTime: item.createTime // 使用创建时间作为开始时间
})
// 加载待审核任务(所有处于审批流程中的任务 + 部门负责人的子任务组)
@ -4938,22 +4940,19 @@ const handleRejectTask = (task: Task) => {
// 查看任务详情(进行中/待审核)
const handleViewTaskDetail = async (task: Task) => {
// 先设置任务对象(用于快速显示)
selectedTask.value = task
detailDrawerVisible.value = true
// 如果有任务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)
}
}
// 调试:输出任务对象信息
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列表
if (task.status === 'completed' && task.id) {
await loadTaskProducts(task.id)
@ -4964,32 +4963,19 @@ const handleViewTaskDetail = async (task: Task) => {
// 任务点击
const handleTaskClick = async (task: TaskOrSubTask) => {
// 先设置任务对象(用于快速显示)
selectedTask.value = task
detailDrawerVisible.value = true
// 如果有任务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)
}
}
// 调试:输出任务对象信息
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列表
if (task.status === 'completed' && task.id) {
await loadTaskProducts(task.id)