From 03e14e94d2205d8d3ae2c2a607a89f79363ccf84 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=A9=AC=E6=A2=93=E5=BD=AD?= Date: Sat, 9 May 2026 13:34:04 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=96=E6=B6=88=E6=8A=A5=E5=90=8D=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/user/record/index.vue | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/src/views/user/record/index.vue b/src/views/user/record/index.vue index 6c0a424..cd27846 100644 --- a/src/views/user/record/index.vue +++ b/src/views/user/record/index.vue @@ -1879,7 +1879,27 @@ const toggleTeamForProject = (projectId) => { watch(cancelAll, async (newVal) => { if (newVal) { // 取消全部:选中所有队员,并取消所有团队 - selectedMembers.value = (cancelPreviewData.value?.members || []).map(m => m.memberId); + const allMemberIds = []; + + // 首先尝试从新数据结构获取所有队员 + if (cancelPreviewData.value?.projectDetails && cancelPreviewData.value.projectDetails.length > 0) { + for (const project of cancelPreviewData.value.projectDetails) { + for (const group of project.groups || []) { + for (const team of group.teams || []) { + for (const member of team.members || []) { + allMemberIds.push(member.memberId); + } + } + } + } + } + + // 如果新数据结构没有队员,尝试从旧数据结构获取 + if (allMemberIds.length === 0) { + allMemberIds.push(...(cancelPreviewData.value?.members || []).map(m => m.memberId)); + } + + selectedMembers.value = allMemberIds; // 处理新数据结构中的所有团队 removedTeams.value.clear(); @@ -2009,7 +2029,7 @@ const submitCancel = async () => { // 添加取消的团队 cancelTeams: Array.from(removedTeams.value), // 添加计算后的退款金额 - calculatedRefundAmount: totalRefundAmount + calculatedRefundAmount: totalRefundAmount.value }; if (!cancelAll.value) {