From e55b30e10f7b799fa38c9a8fc4ee0c7e38a0a5cd Mon Sep 17 00:00:00 2001 From: Your Name Date: Thu, 8 Jan 2026 15:41:44 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E5=88=9B=E5=BB=BA?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E6=97=B6=E8=AE=BE=E8=AE=A1=E5=B8=88=E5=88=97?= =?UTF-8?q?=E8=A1=A8=E4=B8=8D=E6=98=BE=E7=A4=BA=E7=9A=84=E9=97=AE=E9=A2=98?= =?UTF-8?q?=20-=20=E4=BD=BF=E7=94=A8taskTypeId=E8=B0=83=E7=94=A8API?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E8=AE=BE=E8=AE=A1=E5=B8=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/views/CreateTask.vue | 34 +++++++++---------------------- 1 file changed, 10 insertions(+), 24 deletions(-) diff --git a/frontend/src/views/CreateTask.vue b/frontend/src/views/CreateTask.vue index 0131291..100c32a 100644 --- a/frontend/src/views/CreateTask.vue +++ b/frontend/src/views/CreateTask.vue @@ -621,8 +621,8 @@ interface CascaderOption { estimatedHours?: number } -// 设计师列表缓存 { deptId: designers[] } -const designersCache = reactive>({}) +// 设计师列表缓存 { taskType_{id}: designers[] } +const designersCache = reactive>({}) // 表单数据 const formData = reactive({ @@ -853,25 +853,17 @@ const findTaskTypeById = (id: number, items: any[] = hierarchicalTaskTypes.value return null } -// 加载设计师列表 +// 加载设计师列表(根据任务类型ID) const loadDesignersForItem = async (item: TaskTypeItem) => { if (!item.taskTypeId) return - const typeInfo = getTaskTypeInfo(item.taskTypeId) - if (!typeInfo || !typeInfo.allowedDeptIds) return + const cacheKey = `taskType_${item.taskTypeId}` - // 简化处理:取第一个允许的部门ID - const deptIds = typeInfo.allowedDeptIds.split(',') - if (deptIds.length === 0) return - - const deptId = Number(deptIds[0]) - - if (!designersCache[deptId]) { + if (!designersCache[cacheKey]) { try { - const res = await userApi.getDesignersWithWorkload(deptId) - if (res.code === 200) { - designersCache[deptId] = res.data - } + // 使用 taskTypeId 调用后端 API,后端会处理接单部门配置 + const designers = await userApi.getDesignersWithWorkload(undefined, item.taskTypeId) + designersCache[cacheKey] = designers } catch (error) { console.error('加载设计师失败:', error) } @@ -882,14 +874,8 @@ const loadDesignersForItem = async (item: TaskTypeItem) => { const getDesignersForItem = (item: TaskTypeItem) => { if (!item.taskTypeId) return [] - const typeInfo = getTaskTypeInfo(item.taskTypeId) - if (!typeInfo || !typeInfo.allowedDeptIds) return [] - - const deptIds = typeInfo.allowedDeptIds.split(',') - if (deptIds.length === 0) return [] - - const deptId = Number(deptIds[0]) - return designersCache[deptId] || [] + const cacheKey = `taskType_${item.taskTypeId}` + return designersCache[cacheKey] || [] } // 添加任务类型