diff --git a/frontend/src/views/TaskHall.vue b/frontend/src/views/TaskHall.vue
index fe61b9f..8757fc7 100644
--- a/frontend/src/views/TaskHall.vue
+++ b/frontend/src/views/TaskHall.vue
@@ -1879,8 +1879,23 @@
-
+
+
+
+
+ 已预先指定设计师接单
+
+
+ 指定设计师:
+ {{ preAssignedDesignerName }}
+
+
+
+
发布到任务大厅
@@ -1897,7 +1912,7 @@
-
+
@@ -3038,6 +3053,14 @@ const approveTaskTypes = ref
>([])
const approveDesignerId = ref(undefined)
const designersList = ref([])
const newTaskTypePath = ref<(string | number)[] | undefined>(undefined)
+const preAssignedDesignerName = ref('') // 预先指定的设计师姓名
+
+// 判断任务是否已预先指定设计师
+const isTaskPreAssigned = computed(() => {
+ if (!approveTaskData.value) return false
+ const task = approveTaskData.value as any
+ return task.releaseType === 'assigned' && task.receiverId != null
+})
// 级联选择器搜索过滤
const cascaderFilter = (inputValue: string, path: any[]) => {
@@ -3113,10 +3136,25 @@ const showAssignDesignerModal = async (task: Task) => {
designersList.value = designers
approveTaskData.value = task
- approveAssignType.value = 'auto'
- approveDesignerId.value = undefined
newTaskTypePath.value = undefined
+ // 检查任务是否已预先指定设计师
+ const taskAny = task as any
+ if (taskAny.releaseType === 'assigned' && taskAny.receiverId) {
+ // 已预先指定设计师,设置相关状态
+ approveAssignType.value = 'manual'
+ approveDesignerId.value = taskAny.receiverId
+ // 从设计师列表中查找预先指定的设计师姓名
+ const preAssigned = designers.find(d => d.id === taskAny.receiverId)
+ preAssignedDesignerName.value = preAssigned?.realName || taskAny.receiverName || '未知'
+ console.log('任务已预先指定设计师:', preAssignedDesignerName.value)
+ } else {
+ // 未预先指定,重置状态
+ approveAssignType.value = 'auto'
+ approveDesignerId.value = undefined
+ preAssignedDesignerName.value = ''
+ }
+
// 如果有 typeDetails,从中获取任务类型和数量
if (typeDetailsArray.length > 0) {
approveTaskTypes.value = typeDetailsArray.map(detail => ({