From a94b43b4182e4aae3d29666644f1b6e467132eba Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 7 Jan 2026 20:35:13 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BB=8EtypeDetails=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E7=B1=BB=E5=9E=8BID=E7=94=A8=E4=BA=8E?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E8=AE=BE=E8=AE=A1=E5=B8=88=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/views/TaskHall.vue | 41 ++++++++++++++++++--------------- 1 file changed, 23 insertions(+), 18 deletions(-) diff --git a/frontend/src/views/TaskHall.vue b/frontend/src/views/TaskHall.vue index cd19db9..a93f141 100644 --- a/frontend/src/views/TaskHall.vue +++ b/frontend/src/views/TaskHall.vue @@ -3078,24 +3078,6 @@ const formatDeadlineRelative = (deadline: string) => { // 显示指定设计师弹窗(接单部门审核时) const showAssignDesignerModal = async (task: Task) => { try { - // 根据任务类型配置的接单部门获取设计师列表 - // 优先使用 taskTypeId 来获取对应接单部门的设计师 - const taskTypeId = task.taskTypeId - - // 加载设计师列表及工作量(根据任务类型的接单部门配置) - const designers = await userApi.getDesignersWithWorkload(undefined, taskTypeId) - - if (designers.length === 0) { - message.warning('当前部门没有可用的设计师') - return - } - - designersList.value = designers - approveTaskData.value = task - approveAssignType.value = 'auto' - approveDesignerId.value = undefined - newTaskTypePath.value = undefined - // 解析任务类型 - 优先从 typeDetails 获取(包含每个类型的实际数量) let typeDetailsArray: TaskTypeDetail[] = [] if ((task as any).typeDetails) { @@ -3107,6 +3089,29 @@ const showAssignDesignerModal = async (task: Task) => { } } + // 获取任务类型ID用于查询设计师 + // 优先从 typeDetails 获取第一个任务类型ID,否则使用 taskTypeId + let targetTaskTypeId: number | undefined = task.taskTypeId + if (typeDetailsArray.length > 0 && typeDetailsArray[0].typeId) { + targetTaskTypeId = typeDetailsArray[0].typeId + } + + console.log('获取设计师列表,任务类型ID:', targetTaskTypeId, 'typeDetails:', typeDetailsArray) + + // 加载设计师列表及工作量(根据任务类型的接单部门配置) + const designers = await userApi.getDesignersWithWorkload(undefined, targetTaskTypeId) + + if (designers.length === 0) { + message.warning('未找到对应接单部门的设计师') + return + } + + designersList.value = designers + approveTaskData.value = task + approveAssignType.value = 'auto' + approveDesignerId.value = undefined + newTaskTypePath.value = undefined + // 如果有 typeDetails,从中获取任务类型和数量 if (typeDetailsArray.length > 0) { approveTaskTypes.value = typeDetailsArray.map(detail => ({