feat(competition): 支持决赛环节并添加加时赛管理功能
- 扩展竞赛环节类型,支持决赛环节(RoundType=3) - 新增加时赛创建功能,支持多分组队伍选择 - 添加题目库禁用/启用功能,支持批量操作 - 优化用户端竞赛流程,区分常规赛和加时赛 - 重构操作按钮组件,提高代码复用性
This commit is contained in:
16
apps/admin/src/typings/api/Competition.d.ts
vendored
16
apps/admin/src/typings/api/Competition.d.ts
vendored
@ -52,7 +52,7 @@ declare namespace Api {
|
||||
type QuestionScoreType = 0 | 1 /** 固定分数 | 答题个数 */
|
||||
|
||||
/** competition round type */
|
||||
type CompetitionRoundType = 0 | 1 /** 题包环节 | 加时环节 */
|
||||
type CompetitionRoundType = 0 | 1 | 3 /** 题包环节 | 加时环节 | 决赛环节 */
|
||||
|
||||
/**
|
||||
* competition publish status
|
||||
@ -351,6 +351,7 @@ declare namespace Api {
|
||||
id: number
|
||||
/** 分组名称(兼容字段) */
|
||||
name: string
|
||||
RoundType: number
|
||||
}
|
||||
|
||||
interface CreateQuestionRequest {
|
||||
@ -380,6 +381,19 @@ declare namespace Api {
|
||||
roundType: number
|
||||
}
|
||||
|
||||
interface AddExtraTimeParams extends Array<ExtraTimeItem> {}
|
||||
|
||||
interface ExtraTimeItem {
|
||||
GroupName: string
|
||||
ActivityID: number
|
||||
TeamInfos: TeamInfo[]
|
||||
}
|
||||
|
||||
interface TeamInfo {
|
||||
TeamID: number
|
||||
TeamName: string
|
||||
}
|
||||
|
||||
/** common record */
|
||||
type CommonRecord<T = any> = {
|
||||
/** record id */
|
||||
|
||||
10
apps/admin/src/typings/api/question.d.ts
vendored
10
apps/admin/src/typings/api/question.d.ts
vendored
@ -20,6 +20,14 @@ declare namespace Api {
|
||||
data: T[]
|
||||
}
|
||||
|
||||
/** disable question library params */
|
||||
interface DisableQuestionLibraryParams {
|
||||
/** question library id */
|
||||
Id: number
|
||||
/** is disabled 0: no 1: yes */
|
||||
IsDisabled: boolean
|
||||
}
|
||||
|
||||
/** get question library list all params */
|
||||
interface GetQuestionLibraryListAllParams {
|
||||
/** question id */
|
||||
@ -60,6 +68,8 @@ declare namespace Api {
|
||||
type: QuestionScoreType
|
||||
/** is priority 0: no 1: yes */
|
||||
IsGood: number
|
||||
/** is disabled 0: no 1: yes */
|
||||
IsDisabled: number
|
||||
}
|
||||
|
||||
/** common search params of table */
|
||||
|
||||
2
apps/admin/src/typings/components.d.ts
vendored
2
apps/admin/src/typings/components.d.ts
vendored
@ -12,6 +12,7 @@ export {}
|
||||
/* prettier-ignore */
|
||||
declare module 'vue' {
|
||||
export interface GlobalComponents {
|
||||
ActionButton: typeof import('./../components/custom/user/ActionButton.vue')['default']
|
||||
AppProvider: typeof import('./../components/common/app-provider.vue')['default']
|
||||
BetterScroll: typeof import('./../components/custom/better-scroll.vue')['default']
|
||||
ButtonIcon: typeof import('./../components/custom/button-icon.vue')['default']
|
||||
@ -186,6 +187,7 @@ declare module 'vue' {
|
||||
|
||||
// For TSX support
|
||||
declare global {
|
||||
const ActionButton: typeof import('./../components/custom/user/ActionButton.vue')['default']
|
||||
const AppProvider: typeof import('./../components/common/app-provider.vue')['default']
|
||||
const BetterScroll: typeof import('./../components/custom/better-scroll.vue')['default']
|
||||
const ButtonIcon: typeof import('./../components/custom/button-icon.vue')['default']
|
||||
|
||||
Reference in New Issue
Block a user