From 0ab8312bbbafeb5c3e51e897461590e4f0d4b8cd Mon Sep 17 00:00:00 2001 From: DevOps Date: Mon, 5 Jan 2026 17:49:28 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=AF=94=E8=B5=9B=E7=BB=93=E6=9D=9F?= =?UTF-8?q?=E5=90=8E=E4=B8=8D=E5=85=81=E8=AE=B8=E6=8A=A5=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 修改getStatus方法,增加比赛结束时间检查 - 如果比赛已结束,即使报名时间还在有效期内,也显示报名已结束 Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com> --- src/pages/home/home.vue | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/pages/home/home.vue b/src/pages/home/home.vue index aa55681..23d317e 100644 --- a/src/pages/home/home.vue +++ b/src/pages/home/home.vue @@ -138,7 +138,7 @@ export default { matchTime: this.formatTimeRange(startTime, endTime) || item.matchTime || item.competitionTime || '待定', registerCount: item.registrationCount || item.registerCount || item.signUpCount || item.totalParticipants || '0', - status: this.getStatus(item.status, regEndTime) + status: this.getStatus(item.status, regEndTime, endTime) } }) @@ -174,12 +174,20 @@ export default { * @param {Number|String} status 状态码 * @returns {String} */ - getStatus(status, regEndTime) { + getStatus(status, regEndTime, competitionEndTime) { // 根据后端状态码映射为前端需要的状态 // 1: 报名中, 2: 进行中, 3: 已结束 if (status === 3 || status === '3' || status === 'finished') { return 'finished' } + // 根据比赛结束时间判断是否已结束 + if (competitionEndTime) { + const compEndDate = new Date(competitionEndTime) + const now = new Date() + if (now > compEndDate) { + return 'finished' + } + } // 根据报名结束时间判断是否已结束 if (regEndTime) { const endDate = new Date(regEndTime)