diff --git a/src/api/match/usereventrecord..js b/src/api/match/usereventrecord..js index 638356e..27115ae 100644 --- a/src/api/match/usereventrecord..js +++ b/src/api/match/usereventrecord..js @@ -307,5 +307,23 @@ export const usereventrecordMemberValidatePost = (data) => { * }>} */ export const usereventrecordRegistrationLimitCheckPost = (data) => { - return http.post('/usereventrecord/registration-limit/check', data); + return http.post("usereventrecord/registration-limit/check", data); +} + +/** + * 计算退款金额 + * @param {Object} data - 计算退款金额请求 + * @param {number} data.RegistrationId - 报名ID + * @param {number} data.CancelType - 取消类型(0-全部取消,1-部分取消) + * @param {Array} [data.PersonIds] - 要取消的队员ID列表(部分取消时使用) + * @param {Array} [data.CancelTeams] - 要取消的团队列表(团队项目部分取消时使用) + * @returns {Promise<{ + * RefundAmount: number, + * RemainingRefundableAmount: number, + * RefundedAmount: number, + * ActualPaidAmount: number + * }>} + */ +export const usereventrecordCalculateRefund = (data) => { + return http.post("usereventrecord/cancel/calculate-refund", data); }; \ No newline at end of file diff --git a/src/views/user/record/index.vue b/src/views/user/record/index.vue index b6d3712..89533d8 100644 --- a/src/views/user/record/index.vue +++ b/src/views/user/record/index.vue @@ -468,10 +468,14 @@ { 'member-selected': selectedMembers.includes(member.memberId), 'team-removed': isTeamRemoved(team.registrationItemId, team.teamIndex), - 'disabled': project.projectType === '团队' + 'disabled': project.projectType === '团队', + 'personal-selected': project.projectType === '个人' && selectedMembers.includes(member.memberId) } ]" @click="toggleMember(member.memberId)"> + +
+ {{ member.name }} 队长 - - - + + +
+ + + + + + +
@@ -518,10 +532,14 @@ { 'member-selected': selectedMembers.includes(member.memberId), 'team-removed': project.projectType === '团队' && teamRemoved, - 'disabled': project.projectType === '团队' + 'disabled': project.projectType === '团队', + 'personal-selected': project.projectType === '个人' && selectedMembers.includes(member.memberId) } ]" @click="toggleMember(member.memberId)"> + +
+ {{ member.name }} 队长 - - - + + +
+ + + + + + +
@@ -555,13 +583,31 @@ + +
+
+ 实际支付: + ¥{{ formatAmount(refundCalculationResult?.actualPaidAmount) }} +
+
+ 已退款: + ¥{{ formatAmount(refundCalculationResult?.refundedAmount) }} +
+
+ 剩余可退款: + ¥{{ formatAmount(refundCalculationResult?.refundableAmount) }} +
+
+ 本次退款: + 计算中... + ¥{{ formatAmount(totalRefundAmount) }} +
+
+