fix: 比赛结束后不允许报名
- 修改getStatus方法,增加比赛结束时间检查 - 如果比赛已结束,即使报名时间还在有效期内,也显示报名已结束 Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user