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

@ -58,9 +58,9 @@ export function fetchCreateQuestion(data: Api.Competition.CreateQuestionRequest[
}
/** 根据活动ID获取活动题目列表 */
export function fetchGetQuestionList(id: number) {
export function fetchGetQuestionList(id: number, roundType = 0) {
return request<App.Service.Response<Api.Competition.QuestionListRecord[]>>({
url: `/Base/ActivityMain/GetActivity_QuestionByActivityID?ID=${id}`,
url: `/Base/ActivityMain/GetActivity_QuestionByActivityID?ID=${id}&RoundType=${roundType}`,
method: 'get',
})
}

View File

@ -78,9 +78,9 @@ export function fetchCheckNextStep(TeamGroup_QuestionID: number) {
}
/** 根据活动id查询题目列表 */
export function fetchGetQuestionTableByActivityID(ActivityID: string) {
export function fetchGetQuestionTableByActivityID(ActivityID: string, RoundType: number = 0) {
return request<App.Service.Response<Api.Competition.QuestionListDetailRound[]>>({
url: `/Base/ActivityMain/GetActivity_QuestionTableByActivityID/?ID=${ActivityID}`,
url: `/Base/ActivityMain/GetActivity_QuestionTableByActivityID/?ID=${ActivityID}&RoundType=${RoundType}`,
method: 'get',
})
}
@ -103,3 +103,12 @@ export function fetchGetQuestionDetailByID(QuestionDetailID: number) {
method: 'get',
})
}
/** 加时赛选择组小队 */
export function fetchAddExtraTime(data: Api.Competition.AddExtraTimeParams) {
return request<App.Service.Response<any>>({
url: `/Base/ActivityMain/AddOverTimeTeamGroup`,
method: 'post',
data,
})
}

View File

@ -72,10 +72,20 @@ export function fetchAddQuestionLibrary(params: Api.Question.AddQuestionLibraryP
Type: params.type,
IsGood: params.IsGood,
ImageUrl: params.imageUrl,
IsDisabled: params.IsDisabled,
},
})
}
/** 禁用/启用 一条问题库 */
export function fetchDisableQuestionLibrary(params: Api.Question.DisableQuestionLibraryParams[]) {
return request<Api.Question.CommonRecord>({
url: '/Base/ActivityMain/UpdateQuestionListDetailList',
method: 'post',
data: params,
})
}
/** 更新一条问题库 */
export function fetchUpdateQuestionLibrary(params: Api.Question.AddQuestionLibraryParams, file?: File | null) {
const formData = new FormData()