feat(competition): 支持决赛环节并添加加时赛管理功能

- 扩展竞赛环节类型,支持决赛环节(RoundType=3)
- 新增加时赛创建功能,支持多分组队伍选择
- 添加题目库禁用/启用功能,支持批量操作
- 优化用户端竞赛流程,区分常规赛和加时赛
- 重构操作按钮组件,提高代码复用性
This commit is contained in:
2026-03-09 17:34:40 +08:00
parent 8469e16638
commit 11fb5481d3
22 changed files with 468 additions and 142 deletions

View File

@ -17,6 +17,7 @@ const activityId = computed(() => activityInfoStore.activityId || route.query?.a
const groupsId = computed(() => activityInfoStore.groupId || route.query?.groupsId as string)
const teamId = computed(() => activityInfoStore.teamId || route.query?.teamId as string)
const teamIds = computed(() => route.query?.teamIds as string)
const RoundType = computed(() => Number(route.query?.RoundType || 0) as Api.Competition.CompetitionRoundType)
const store = useCompetitionStore()
@ -39,7 +40,7 @@ async function initQuestions() {
const { data: outlineData, error } = await fetchGetCurrentQuestion({
ActivityID: Number(activityId.value),
GroupID: Number(groupsId.value),
RoundType: 0,
RoundType: RoundType.value,
})
// eslint-disable-next-line no-console
console.log(outlineData, 'outlineData')
@ -78,6 +79,7 @@ async function handleCardClick(item: Api.Competition.CurrentQuestionResponse) {
routerPushByKey('user_groups', {
query: {
activityId: activityId.value,
RoundType: RoundType.value,
},
})
return