From 47feb7005e445f080d0ee4fb94550bf757b660c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=A9=AC=E6=A2=93=E5=BD=AD?= Date: Mon, 22 Jun 2026 22:28:33 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8A=A5=E5=90=8D=E5=8F=82=E6=95=B0=E8=BF=90?= =?UTF-8?q?=E5=8A=A8=E5=91=98=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/user/record/index.vue | 9 ++++++++- src/views/user/registration/index.vue | 21 ++++++++++++++++++++- 2 files changed, 28 insertions(+), 2 deletions(-) diff --git a/src/views/user/record/index.vue b/src/views/user/record/index.vue index b7080ab..f9c1ada 100644 --- a/src/views/user/record/index.vue +++ b/src/views/user/record/index.vue @@ -2312,6 +2312,12 @@ const isChangeMemberAssignedToActive = (memberId) => { // ==================== 队员验证相关函数 ==================== +const getValidationMemberIdsForItem = (item) => { + return (changeMembersMap.value[item.registrationItemId] || []) + .map((m) => m.userId ?? m.id) + .filter(Boolean); +}; + // 调用后端API验证队员 const validateMemberForItem = async (member, item) => { try { @@ -2324,6 +2330,7 @@ const validateMemberForItem = async (member, item) => { const payload = { eventId: changeMembersData.value.eventId, memberId: member.userId ?? member.id, + memberIds: getValidationMemberIdsForItem(item), groupId: item.eventProjectGroupId }; console.log('验证队员 - payload:', payload); @@ -2985,4 +2992,4 @@ const submitChangeMembers = async () => { } } } - \ No newline at end of file + diff --git a/src/views/user/registration/index.vue b/src/views/user/registration/index.vue index 745c198..f4dc937 100644 --- a/src/views/user/registration/index.vue +++ b/src/views/user/registration/index.vue @@ -1646,6 +1646,24 @@ const isMemberAssignedToActive = (memberId) => { return list.some((m) => (m.userId ?? m.id) === memberId); }; +const getValidationMemberIdsForGroup = (member, group) => { + const memberId = member.userId ?? member.id; + const teams = groupTeamsMap.value[group.id] ?? []; + const currentTeam = teams.find((team) => + (team.members ?? []).some((m) => (m.userId ?? m.id) === memberId) + ); + + if (currentTeam) { + return (currentTeam.members ?? []) + .map((m) => m.userId ?? m.id) + .filter(Boolean); + } + + return (groupMemberMap.value[group.id] ?? []) + .map((m) => m.userId ?? m.id) + .filter(Boolean); +}; + // ==================== 队员验证相关函数 ==================== // 调用后端API验证队员 @@ -1658,6 +1676,7 @@ const validateMemberForGroup = async (member, group) => { const { succeeded, data } = await usereventregistrationMemberValidatePost({ eventId: currentEventId.value, memberId: member.userId ?? member.id, + memberIds: getValidationMemberIdsForGroup(member, group), groupId: group.id }); @@ -4188,4 +4207,4 @@ const handleCreateOrderAndPay = async () => { font-size: 12px; color: #909399; } - \ No newline at end of file +