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)