diff --git a/src/views/match/manage/work.vue b/src/views/match/manage/work.vue index a940fe0..bbc6631 100644 --- a/src/views/match/manage/work.vue +++ b/src/views/match/manage/work.vue @@ -1220,8 +1220,8 @@ const viewCertificate = async (id) => { try { const { succeeded, data, errors } = await eventscoreGetCertificateDetailGet(id); if (succeeded) { - if (data?.CertificateUrl) { - window.open(data.CertificateUrl, '_blank'); + if (data?.certificateUrl) { + window.open(data.certificateUrl, '_blank'); } else if (data?.url) { window.open(data.url, '_blank'); } else if (data?.Url) { diff --git a/src/views/user/record/index.vue b/src/views/user/record/index.vue index e57e352..05e8753 100644 --- a/src/views/user/record/index.vue +++ b/src/views/user/record/index.vue @@ -596,10 +596,10 @@ const columns = ref([ ], }, { prop: 'eventStatus', label: '赛事状态', align: 'center', width: 120 }, - { prop: 'registrationStartTime', label: '报名起止时间', align: 'center', minWidth: 320 }, - { prop: 'materialDeadline', label: '上传素材截止时间', align: 'center', minWidth: 180 }, - { prop: 'matchStartTime', label: '比赛起止时间', align: 'center', minWidth: 320 }, - { prop: 'action', label: '操作', align: 'center', fixed: 'right', width: 320 }, + { prop: 'registrationStartTime', label: '报名起止时间', align: 'center', minWidth: 200 }, + { prop: 'materialDeadline', label: '上传素材截止时间', align: 'center', minWidth: 210 }, + { prop: 'matchStartTime', label: '比赛起止时间', align: 'center', minWidth: 200 }, + { prop: 'action', label: '操作', align: 'center', fixed: 'right', width: 190 }, ]); const isShowDialog = ref(false); diff --git a/src/views/user/registration/index.vue b/src/views/user/registration/index.vue index d17efaa..e0c075b 100644 --- a/src/views/user/registration/index.vue +++ b/src/views/user/registration/index.vue @@ -829,6 +829,17 @@ const toggleGroupSelection = (id) => { if (idx >= 0) { // 取消选中 selectedGroupIds.value.splice(idx, 1); + // 若在第二步删除了组别,清理该组别的验证缓存并重新触发验证 + if (activeStep.value === 1) { + // 清理被删除组别的队员验证缓存 + Object.keys(memberValidationMap.value).forEach(key => { + if (key.startsWith(`${id}_`)) { + delete memberValidationMap.value[key]; + } + }); + // 重新检查报名限制(刷新页面上的提示信息) + checkRegistrationLimit(); + } } else { // 选中新组别:先找出这个组别属于哪个项目,然后取消该项目的其他组别 const clickedGroup = allGroups.value.find(g => g.id === id); @@ -1438,6 +1449,13 @@ const removeTeam = async (groupId, teamIndex) => { const teamIdx = teams.findIndex(t => t.teamIndex === teamIndex); if (teamIdx > -1) { + // 清理被删除团队的队员验证缓存 + const removedTeam = teams[teamIdx]; + removedTeam.members.forEach(m => { + const key = `${groupId}_${m.userId ?? m.id}`; + delete memberValidationMap.value[key]; + }); + teams.splice(teamIdx, 1); // 重新编号团队索引 @@ -1446,6 +1464,9 @@ const removeTeam = async (groupId, teamIndex) => { }); ElMessage.success('团队删除成功'); + + // 重新调用验证接口,刷新限报提示 + checkRegistrationLimit(); } } catch { // 用户取消