@ -14,7 +14,15 @@
距离 { { endList [ status ] } } 还有
< em > { { end } } < / em >
< / p >
< a v-if ="status != 4 || (status == 4 && curStage)" class="status" :class="{wait: status == 0,signing: status == 2,signed: status == 1,playing: status == 4,finish: status == 3 || status == 5}" :title="statusList[status]" @click.stop="signup" > {{ statusList [ status ] }} < / a >
< el -dropdown v-if ="playingStages.length > 1" class="m-l-10" @command="chooseStage" >
< el -button type = "primary" style = "background-color: #f96d6d;border: 0;" >
选择竞赛 < i class = "el-icon-arrow-down el-icon--right" > < / i >
< / e l - b u t t o n >
< el -dropdown -menu slot = "dropdown" >
< el -dropdown -item v-for ="(item, i) in playingStages" :key="i" :command ="item" > 进入 {{ item.stageName }} < / el -dropdown -item >
< / e l - d r o p d o w n - m e n u >
< / e l - d r o p d o w n >
< a v -else -if = " status ! = 4 | | ( status = = 4 & & curStage ) " class = "status" : class = "{wait: status == 0,signing: status == 2,signed: status == 1,playing: status == 4,finish: status == 3 || status == 5}" :title ="statusList[status]" @click.stop ="signup" > { { statusList [ status ] } } < / a >
< / div >
< / div >
< div class = "info" >
@ -246,7 +254,7 @@
< el -tag
v - for = "tag in item.participants"
: key = "tag.name"
class = "m-r-5"
class = "m-r-5 m-b-5 "
: closable = "info.team.captain === 0"
@ close = "removePar(tag, item)" >
{ { tag . name } }
@ -415,7 +423,7 @@ export default {
id : + this . $route . query . id ,
end : '' ,
status : '' ,
statusList : [ "等待报名" , "取消报名" , "立即报名" , "报名截止" , "进入初 赛" , "已结束" ] ,
statusList : [ "等待报名" , "取消报名" , "立即报名" , "报名截止" , "进入竞 赛" , "已结束" ] ,
endList : [ "报名开始" , "报名截止" , "报名截止" , "竞赛开始" , "竞赛结束" , "" ] ,
rules : Const . rules ,
methods : Const . methods ,
@ -508,7 +516,8 @@ export default {
checkedMember : '' ,
checkedMembers : [ ] ,
chooses : [ ] ,
lastType : 1
lastType : 1 ,
playingStages : [ ]
} ;
} ,
computed : {
@ -572,7 +581,7 @@ export default {
} )
this . getInfo ( )
}
this . token ( ) && this . getRank ( )
this . token && this . getRank ( )
} else {
this . typeList = this . typeList . slice ( 0 , 3 )
}
@ -596,16 +605,27 @@ export default {
status = 0
total = signUpStartTime - now
} else if ( now > signUpStartTime && now < signUpEndTime ) { / / 报 名 进 行 中
status = form . competitionRegistration ? 1 : 2 / / 1 已 报 名 , 2 立 即 报 名
/ / 1 已 报 名 , 2 立 即 报 名 ( 没 登 录 的 情 况 下 , 直 接 显 示 立 即 报 名 , 登 录 了 则 取 报 名 信 息 , 有 则 已 报 名 , 无 则 立 即 报 名 )
status = this . token ?
( form . competitionRegistration ?
1 :
2 ) :
2
total = signUpEndTime - now
} else if ( now > signUpEndTime && now < playStartTime ) { / / 报 名 结 束 了 , 但 比 赛 没 开 始
status = 3
total = playStartTime - now
} else if ( now > playStartTime && now < playEndTime ) { / / 比 赛 进 行 中
/ / 如 果 是 完 整 比 赛
if ( form . releaseType ) {
/ / 进 行 中 的 赛 事 , 则 遍 历 每 个 阶 段 的 开 始 结 束 时 间 , 看 阶 段 比 赛 是 否 开 始
let curStage = null
const stages = form . competitionStage
if ( stages ) {
this . playingStages = [ ]
stages . forEach ( e => {
if ( now >= new Date ( e . startTime ) && now <= new Date ( e . endTime ) && e . method !== 2 ) this . playingStages . push ( e )
} )
let endText = ''
for ( const i in stages ) {
const e = stages [ i ]
@ -619,8 +639,10 @@ export default {
if ( form . competitionRegistration ) { / / 报 名 了 才 能 进 入 比 赛
this . statusList [ 4 ] = e . count ? '已提交' : '进入' + e . stageName
curStage = e
} else if ( ! this . token ) {
this . statusList [ 4 ] = '进入' + e . stageName
curStage = e
}
endText = '阶段结束'
total = endTime - now
break
@ -638,6 +660,9 @@ export default {
this . endList [ 4 ] = endText
}
this . curStage = curStage
} else { / / 仅 发 布 信 息
total = playEndTime - now
}
status = 4
} else if ( now > playEndTime ) { / / 比 赛 结 束
status = 5
@ -646,7 +671,7 @@ export default {
total = total / 1000
-- total
if ( total > 86400 ) { / / 超 过 一 天 则 显 示 天 数
clearInterval ( this . timer )
/ / c l e a r I n t e r v a l ( t h i s . t i m e r )
this . end = Math . floor ( total / 86400 ) + '天'
} else if ( total > 0 ) { / / 一 天 之 内 , 显 示 时 分 秒
let hours = Math . floor ( total / ( 60 * 60 ) )
@ -1074,6 +1099,11 @@ export default {
}
} ,
/ / 选 择 要 进 入 的 阶 段
chooseStage ( e ) {
this . curStage = e
this . signup ( )
} ,
/ / 判 断 是 否 能 进 赛 事
getAllow ( ) {
/ / 是 否 允 许 参 加 赛 事 ( 淘 汰 赛 制 )
@ -1097,7 +1127,7 @@ export default {
if ( util . local . get ( Setting . tokenKey ) ) {
const { competitionType } = form . completeCompetitionSetup
if ( status == 4 ) { / / 进 入 比 赛
if ( this . curStage . count ) return / / 参 加 过 比 赛 不 让 参 加
if ( this . curStage && this . curStage . count ) return / / 参 加 过 比 赛 不 让 参 加
if ( form . competitionRegistration . isDisable === 1 ) return util . errorMsg ( '当前用户已被禁赛,如有疑问,请联系平台管理员。' ) / / 被 禁 用 的 用 户 不 能 进 入 大 赛
/ / 团 队 赛 , 则 判 断 是 否 为 参 赛 人 员
if ( competitionType ) {