diff --git a/frontend/src/views/contests/works/WorksDetail.vue b/frontend/src/views/contests/works/WorksDetail.vue index 2a61658..9c54b74 100644 --- a/frontend/src/views/contests/works/WorksDetail.vue +++ b/frontend/src/views/contests/works/WorksDetail.vue @@ -607,13 +607,23 @@ const handleViewWork = (record: ContestWork) => { } // 单个分配评委 -const handleAssignJudge = (record: ContestWork) => { +const handleAssignJudge = async (record: ContestWork) => { currentAssignWork.value = record isBatchAssign.value = false selectedJudgeKeys.value = [] selectedJudgeRows.value = [] assignModalVisible.value = true - fetchJudgeList() + await fetchJudgeList() + + // 回显已分配的评委 + if (record.assignments && record.assignments.length > 0) { + const assignedJudgeUserIds = record.assignments.map((a) => a.judgeId) + const matchedJudges = judgeList.value.filter((judge) => + assignedJudgeUserIds.includes(judge.judgeId) + ) + selectedJudgeKeys.value = matchedJudges.map((j) => j.id) + selectedJudgeRows.value = matchedJudges + } } // 批量分配评委