|
@@ -0,0 +1,1649 @@
|
|
|
+import type { AxiosRequestConfig } from 'axios'
|
|
|
+import type { BaseDefine, MultipleQuery, MultipleResult, BaseMultiplePageQuery } from '@/api/api-modules/base'
|
|
|
+import { User } from './api-modules/user'
|
|
|
+export { MultipleQuery, MultipleResult, BaseMultiplePageQuery, User }
|
|
|
+export type ApiMap = User.ApiMap &
|
|
|
+ Role.ApiMap &
|
|
|
+ Exam.ApiMap &
|
|
|
+ Subject.ApiMap &
|
|
|
+ Statistics.ApiMap &
|
|
|
+ Question.ApiMap &
|
|
|
+ Marking.ApiMap &
|
|
|
+ System.ApiMap &
|
|
|
+ Message.ApiMap &
|
|
|
+ ForceCheck.ApiMap &
|
|
|
+ Expert.ApiMap
|
|
|
+
|
|
|
+export type ApiKeys = keyof ApiMap
|
|
|
+
|
|
|
+export type DefineApiModule<M extends object> = {
|
|
|
+ [k in keyof M]: string | (AxiosRequestConfig & { url: string })
|
|
|
+}
|
|
|
+
|
|
|
+export type ExtractApiParams<T extends ApiKeys> = ApiMap[T] extends BaseDefine<infer P, any> ? P : never
|
|
|
+
|
|
|
+export type ExtractMultipleApiParams<T extends ApiKeys> = ExtractApiParams<T> extends MultipleQuery<infer P> ? P : never
|
|
|
+
|
|
|
+export type ExtractApiResponse<T extends ApiKeys> = ApiMap[T] extends BaseDefine<any, infer R> ? R : never
|
|
|
+
|
|
|
+export type ExtractMultipleApiResponse<T extends ApiKeys> = ExtractApiResponse<T> extends MultipleResult<infer R>
|
|
|
+ ? R
|
|
|
+ : never
|
|
|
+
|
|
|
+/** 专家卷浏览 */
|
|
|
+
|
|
|
+export namespace Expert {
|
|
|
+ interface SamplePaperListItem {
|
|
|
+ createName: string
|
|
|
+ createTime: string
|
|
|
+ fileName: string
|
|
|
+ filePath: string
|
|
|
+ id: number
|
|
|
+ mainNumber: number
|
|
|
+ paperType: string
|
|
|
+ score: number
|
|
|
+ secretNumber: number
|
|
|
+ type: string
|
|
|
+ }
|
|
|
+ type GetSampleList = BaseDefine<
|
|
|
+ MultipleQuery<{ mainNumber?: number; paperType: 'SAMPLE_A' | 'SAMPLE_B' }>,
|
|
|
+ MultipleResult<SamplePaperListItem>
|
|
|
+ >
|
|
|
+
|
|
|
+ interface RfSampleListItem {
|
|
|
+ createName: string
|
|
|
+ createTime: string
|
|
|
+ filePath: string
|
|
|
+ id: number
|
|
|
+ mainName: string
|
|
|
+ mainNumber: number
|
|
|
+ score: number
|
|
|
+ scoreLevel: string
|
|
|
+ secretNumber: number
|
|
|
+ }
|
|
|
+
|
|
|
+ type GetRfSampleList = BaseDefine<MultipleQuery<{ mainNumber?: number }>, MultipleResult<RfSampleListItem>>
|
|
|
+
|
|
|
+ type UpdateMarkScore = BaseDefine<{ id?: number; scores: number[] }>
|
|
|
+
|
|
|
+ interface StandardListItem {
|
|
|
+ createName: string
|
|
|
+ createTime: string
|
|
|
+ fileName: string
|
|
|
+ filePath: string
|
|
|
+ id: number
|
|
|
+ mainNumber: number
|
|
|
+ score: number
|
|
|
+ secretNumber: number
|
|
|
+ taskId: number
|
|
|
+ }
|
|
|
+
|
|
|
+ type GetStandardList = BaseDefine<
|
|
|
+ MultipleQuery<{
|
|
|
+ mainNumber?: number
|
|
|
+ dispensed: boolean | ''
|
|
|
+ scoreStart?: number | string
|
|
|
+ scoreEnd?: number | string
|
|
|
+ }>,
|
|
|
+ MultipleResult<StandardListItem>
|
|
|
+ >
|
|
|
+
|
|
|
+ type TransformStandardToSample = BaseDefine<{ id?: number }>
|
|
|
+
|
|
|
+ interface ExpertAssessListItem {
|
|
|
+ createName: string
|
|
|
+ createTime: string
|
|
|
+ filePath: string
|
|
|
+ forceGroupNumber: number
|
|
|
+ id: number
|
|
|
+ mainName: string
|
|
|
+ mainNumber: number
|
|
|
+ score: number
|
|
|
+ secretNumber: number
|
|
|
+ }
|
|
|
+
|
|
|
+ type GetExpertAssessList = BaseDefine<
|
|
|
+ MultipleQuery<{
|
|
|
+ mainNumber?: number
|
|
|
+ forceGroupNumber?: number
|
|
|
+ }>,
|
|
|
+ MultipleResult<ExpertAssessListItem>
|
|
|
+ >
|
|
|
+
|
|
|
+ interface ExpertPickListItem {
|
|
|
+ createName: string
|
|
|
+ createTime: string
|
|
|
+ filePath: string
|
|
|
+ forceGroupNumber: number
|
|
|
+ id: number
|
|
|
+ mainName: string
|
|
|
+ mainNumber: number
|
|
|
+ role: string
|
|
|
+ roleName: string
|
|
|
+ score: number
|
|
|
+ secretNumber: number
|
|
|
+ }
|
|
|
+
|
|
|
+ type GetExpertPickList = BaseDefine<
|
|
|
+ MultipleQuery<{
|
|
|
+ mainNumber?: number
|
|
|
+ forceGroupNumber?: number
|
|
|
+ paperType: ExpertPickType
|
|
|
+ role: Exclude<ROLE, 'ADMIN'>
|
|
|
+ }>,
|
|
|
+ MultipleResult<ExpertPickListItem>
|
|
|
+ >
|
|
|
+
|
|
|
+ type DeletePaper = BaseDefine<{ id?: number }>
|
|
|
+
|
|
|
+ export interface ApiMap {
|
|
|
+ /** AB培训卷 */
|
|
|
+ getSampleList: GetSampleList
|
|
|
+ /** RF卷 */
|
|
|
+ getRfSampleList: GetRfSampleList
|
|
|
+ /** 修改分数 */
|
|
|
+ updateMarkScore: UpdateMarkScore
|
|
|
+ /** 获取标准卷 */
|
|
|
+ getStandardList: GetStandardList
|
|
|
+ /** 标准卷转样卷 */
|
|
|
+ transformStandardToSample: TransformStandardToSample
|
|
|
+ /** 强制考核卷列表 */
|
|
|
+ getExpertAssessList: GetExpertAssessList
|
|
|
+ /** 专家挑选卷 */
|
|
|
+ getExpertPickList: GetExpertPickList
|
|
|
+ /** 删除 */
|
|
|
+ deletePaper: DeletePaper
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+/** 强制考核接口 */
|
|
|
+export namespace ForceCheck {
|
|
|
+ /** 分发考核卷 */
|
|
|
+ type HandOutForceCheck = BaseDefine<{
|
|
|
+ forceGroupNumber?: number
|
|
|
+ mainNumber?: number
|
|
|
+ markerIds: number[]
|
|
|
+ subjectCode: string
|
|
|
+ }>
|
|
|
+ /** 获取考核卷组 */
|
|
|
+ interface ForceCheckGroup {
|
|
|
+ createTime: string
|
|
|
+ creatorId: number
|
|
|
+ examId: number
|
|
|
+ forceGroupNumber: number
|
|
|
+ id: number
|
|
|
+ mainNumber: number
|
|
|
+ subjectCode: string
|
|
|
+ updateTime: string
|
|
|
+ updaterId: number
|
|
|
+ }
|
|
|
+ type GetForceCheckGroupList = BaseDefine<{ mainNumber?: number; subjectCode: string }, ForceCheckGroup[]>
|
|
|
+ /** 获取分发进度 */
|
|
|
+ interface HandOutProgress {
|
|
|
+ /** 已评量 */
|
|
|
+ finishCount: number
|
|
|
+ /** 强制卷组号 */
|
|
|
+ forceGroupNumber: number
|
|
|
+ /** 大题 */
|
|
|
+ mainQuestion: string
|
|
|
+ /** 评卷员 */
|
|
|
+ marker: string
|
|
|
+ /** 小组号 */
|
|
|
+ markingGroupNumber: number
|
|
|
+ /** 未评量 */
|
|
|
+ pendingCount: number
|
|
|
+ /** 科目 */
|
|
|
+ subject: string
|
|
|
+ /** 总量 */
|
|
|
+ totalCount: number
|
|
|
+ }
|
|
|
+ type GetHandOutProgressList = BaseDefine<
|
|
|
+ { mainNumber?: number; subjectCode: string; forceGroupNumber?: number },
|
|
|
+ HandOutProgress[]
|
|
|
+ >
|
|
|
+ export interface ApiMap {
|
|
|
+ /** 分发考核卷 */
|
|
|
+ handOutForceCheck: HandOutForceCheck
|
|
|
+ /** 获取考核卷组 */
|
|
|
+ getForceCheckGroupList: GetForceCheckGroupList
|
|
|
+ /** 获取分发进度 */
|
|
|
+ getHandOutProgressList: GetHandOutProgressList
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+/** 消息接口 */
|
|
|
+
|
|
|
+export namespace Message {
|
|
|
+ interface BaseMessageResponse {
|
|
|
+ id: number
|
|
|
+ content: string
|
|
|
+ receiveUserId: number
|
|
|
+ receiveUserName: string
|
|
|
+ sendTime: string
|
|
|
+ sendUserId: number
|
|
|
+ sendUserName: string
|
|
|
+ unReadCount: number
|
|
|
+ }
|
|
|
+ /** 历史消息 */
|
|
|
+ type GetMessageHistory = BaseDefine<{ sendUserId: number }, BaseMessageResponse[]>
|
|
|
+ /** 消息列表 */
|
|
|
+ type GetMessageList = BaseDefine<null, BaseMessageResponse[]>
|
|
|
+ /** 发送/回复消息 */
|
|
|
+ type SendMessage = BaseDefine<{ content: string; receiveUserIds: number[] }>
|
|
|
+ /** 未读消息 - 最新5条 */
|
|
|
+ type GetUnReadMessage = BaseDefine<null, { newCount: number; messages: BaseMessageResponse[] }>
|
|
|
+ /** 已读 */
|
|
|
+ type HandleReadMessage = BaseDefine<{ id: number }>
|
|
|
+ export interface ApiMap {
|
|
|
+ /** 历史消息 */
|
|
|
+ getMessageHistory: GetMessageHistory
|
|
|
+ /** 消息列表 */
|
|
|
+ getMessageList: GetMessageList
|
|
|
+ /** 发送/回复消息 */
|
|
|
+ sendMessage: SendMessage
|
|
|
+ /** 未读消息 - 最新5条 */
|
|
|
+ getUnReadMessage: GetUnReadMessage
|
|
|
+ /** 已读 */
|
|
|
+ handleReadMessage: HandleReadMessage
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+/** meta data 基础数据导入配置 */
|
|
|
+export namespace System {
|
|
|
+ /** 评卷数据导入 */
|
|
|
+ interface MarkingDataImport {
|
|
|
+ dayNumber?: number
|
|
|
+ file?: File
|
|
|
+ mainNumber?: number
|
|
|
+ separator: string
|
|
|
+ subjectCode: string
|
|
|
+ }
|
|
|
+
|
|
|
+ type ImportMarkingData = BaseDefine<MarkingDataImport>
|
|
|
+
|
|
|
+ /** 获取导入文件路径 */
|
|
|
+ type GetImportFilePath = BaseDefine<
|
|
|
+ {
|
|
|
+ filePathType: 'SLICE' | 'SAMPLE_A' | 'SAMPLE_B' | 'RF' | 'MARK_STANDARD'
|
|
|
+ mainNumber?: number
|
|
|
+ subjectCode: string
|
|
|
+ },
|
|
|
+ { rfPath: string; sampleAPath: string; sampleBPath: string; markStandardPath: string }
|
|
|
+ >
|
|
|
+
|
|
|
+ interface SamplePaperImport {
|
|
|
+ file?: File
|
|
|
+ /** 大题号 */
|
|
|
+ mainNumber?: number
|
|
|
+ /** 试卷类型 */
|
|
|
+ paperType?: SamplePaperType
|
|
|
+ /** 试卷密码前缀 */
|
|
|
+ prefix: string
|
|
|
+ /** 分隔符 */
|
|
|
+ separator: string
|
|
|
+ /** 科目代码 */
|
|
|
+ subjectCode: string
|
|
|
+ }
|
|
|
+
|
|
|
+ type ImportSamplePaper = BaseDefine<SamplePaperImport>
|
|
|
+
|
|
|
+ interface RfPaperImport {
|
|
|
+ file?: File
|
|
|
+ /** 试卷密码前缀 */
|
|
|
+ prefix: string
|
|
|
+ /** 大题号 */
|
|
|
+ mainNumber?: number
|
|
|
+ /** 科目代码 */
|
|
|
+ subjectCode: string
|
|
|
+ /** 分隔符 */
|
|
|
+ separator: string
|
|
|
+ }
|
|
|
+
|
|
|
+ type ImportRfPaper = BaseDefine<RfPaperImport>
|
|
|
+
|
|
|
+ interface ScoreListItem {
|
|
|
+ /** 作文评卷员代码 */
|
|
|
+ compositionMarker: string
|
|
|
+ /** 作文雷同标记 */
|
|
|
+ compositionSame: string
|
|
|
+ /** 作文分 */
|
|
|
+ compositionScore: string
|
|
|
+ /** 作文评卷标志 */
|
|
|
+ compositionTag: string
|
|
|
+ /** 准考证号 */
|
|
|
+ examNumber: string
|
|
|
+ id: number
|
|
|
+ /** 科目代码 */
|
|
|
+ subjectCode: string
|
|
|
+ /** 主观分 */
|
|
|
+ subjectScore: string
|
|
|
+ /** 翻译评卷员代码 */
|
|
|
+ translateMarker: string
|
|
|
+ /** 翻译雷同标记 */
|
|
|
+ translateSame: string
|
|
|
+ /** 翻译分 */
|
|
|
+ translateScore: string
|
|
|
+ /** 翻译评卷标志 */
|
|
|
+ translateTag: string
|
|
|
+ }
|
|
|
+
|
|
|
+ type GetCetScoreList = BaseDefine<MultipleQuery<{ subjectCode: string }>, MultipleResult<ScoreListItem>>
|
|
|
+
|
|
|
+ type ExportCetScoreList = BaseDefine<{ subjectCode: string }, null>
|
|
|
+
|
|
|
+ /** 任务设置 - 按评卷员设置 */
|
|
|
+ type MarkerSetCount = BaseDefine<{ markDayCount?: number; markTotalCount?: number; userId: number[] }>
|
|
|
+
|
|
|
+ /** 任务设置 - 按小组追加 */
|
|
|
+ type MarkGroupUpdateCount = BaseDefine<{
|
|
|
+ markCount?: number
|
|
|
+ markingGroupNumber?: number
|
|
|
+ mainNumber?: number
|
|
|
+ subjectCode?: string
|
|
|
+ }>
|
|
|
+
|
|
|
+ /** 任务设置-获取任务计划 */
|
|
|
+ interface TaskDetail {
|
|
|
+ finishCount: number
|
|
|
+ markCount: number
|
|
|
+ markingGroupNumber: number
|
|
|
+ }
|
|
|
+ type GetTaskDetail = BaseDefine<
|
|
|
+ {
|
|
|
+ mainNumber?: number
|
|
|
+ markingGroupNumber?: number
|
|
|
+ subjectCode?: string
|
|
|
+ },
|
|
|
+ TaskDetail[]
|
|
|
+ >
|
|
|
+ /** 任务设置-获取剩余任务 */
|
|
|
+ type GetUnMarkTasks = BaseDefine<
|
|
|
+ {
|
|
|
+ mainNumber?: number
|
|
|
+ markingGroupNumber?: number
|
|
|
+ subjectCode?: string
|
|
|
+ },
|
|
|
+ {
|
|
|
+ unmarkCount: 0
|
|
|
+ }
|
|
|
+ >
|
|
|
+ export interface ApiMap {
|
|
|
+ importMarkingData: ImportMarkingData
|
|
|
+ getImportFilePath: GetImportFilePath
|
|
|
+ importSamplePaper: ImportSamplePaper
|
|
|
+ importRfPaper: ImportRfPaper
|
|
|
+ getCetScoreList: GetCetScoreList
|
|
|
+ exportCetScoreList: ExportCetScoreList
|
|
|
+ /** 任务设置 - 按评卷员设置 */
|
|
|
+ markerSetCount: MarkerSetCount
|
|
|
+ /** 任务设置 - 按小组追加 */
|
|
|
+ markGroupUpdateCount: MarkGroupUpdateCount
|
|
|
+ /** 任务设置-获取任务计划 */
|
|
|
+ getTaskDetail: GetTaskDetail
|
|
|
+ /** 任务设置-获取剩余任务 */
|
|
|
+ getUnMarkTasks: GetUnMarkTasks
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+/** 评卷相关 */
|
|
|
+export namespace Marking {
|
|
|
+ /** 自定义查询 - 抽查 */
|
|
|
+
|
|
|
+ // 查询参数
|
|
|
+ interface CustomQuery {
|
|
|
+ /** 是否包含仲裁 */
|
|
|
+ arbitration?: boolean
|
|
|
+ /** 是否已抽查 */
|
|
|
+ checked?: boolean
|
|
|
+ /** 大题号 */
|
|
|
+ mainNumber?: number
|
|
|
+ /** 评卷员id */
|
|
|
+ markerId?: number
|
|
|
+ /** 小组号 */
|
|
|
+ markingGroupNumber?: number
|
|
|
+ /** 分数截止 */
|
|
|
+ scoreEnd?: number
|
|
|
+ /** 分数开始 */
|
|
|
+ scoreStart?: number
|
|
|
+ /** 科目代码 */
|
|
|
+ subjectCode?: string
|
|
|
+ /** 时间截止 */
|
|
|
+ timeEnd?: string
|
|
|
+ /** 时间开始 */
|
|
|
+ timeStart?: string
|
|
|
+ /** 密号 */
|
|
|
+ secretNumber?: string
|
|
|
+ }
|
|
|
+
|
|
|
+ /** 自定义抽查任务列表 */
|
|
|
+ interface CustomQueryTask {
|
|
|
+ customCheckNumber: number
|
|
|
+ examNumber: string
|
|
|
+ filePath: string
|
|
|
+ mainNumber: number
|
|
|
+ markTime: string
|
|
|
+ markerName: string
|
|
|
+ headerScore: number
|
|
|
+ markerScore: number
|
|
|
+ secretNumber: string
|
|
|
+ taskId: number
|
|
|
+ }
|
|
|
+ type GetCustomQueryTasks = BaseDefine<MultipleQuery<CustomQuery>, MultipleResult<CustomQueryTask>>
|
|
|
+
|
|
|
+ type SetCustomQueryConfig = BaseDefine<{ name: string; params: CustomQuery }>
|
|
|
+
|
|
|
+ type GetCustomQueryConfigList = BaseDefine<{ name: string }, { name: string; params: CustomQuery }[]>
|
|
|
+
|
|
|
+ /** 自定义查询 - 浏览 */
|
|
|
+ type ViewCustomQuery = BaseDefine<{ taskId: number }>
|
|
|
+
|
|
|
+ /** 自定义查询 - 修改卷型 */
|
|
|
+ type UpdateCustomPaperType = BaseDefine<{
|
|
|
+ taskId?: number
|
|
|
+ paperType: ExpertPickType
|
|
|
+ forceGroupNumber?: number
|
|
|
+ }>
|
|
|
+
|
|
|
+ /** 自定义查询 - 修改分数 */
|
|
|
+ type UpdateCustomPaperScore = BaseDefine<{
|
|
|
+ taskId?: number
|
|
|
+ scores: number[]
|
|
|
+ }>
|
|
|
+
|
|
|
+ type GetMarkingStandard = BaseDefine<null, { examId: number; mainNumber: number; subjectCode: string; url: string }>
|
|
|
+
|
|
|
+ interface Question {
|
|
|
+ intervalScore: number
|
|
|
+ subNumber: string
|
|
|
+ totalScore: number
|
|
|
+ }
|
|
|
+ interface Task {
|
|
|
+ /** 大题号 */
|
|
|
+ mainNumber: number
|
|
|
+ /** 大题名称 */
|
|
|
+ mainTitle: string
|
|
|
+ /** 小题列表 */
|
|
|
+ questionList: Question[]
|
|
|
+ /** 密号 */
|
|
|
+ secretNumber: string
|
|
|
+ /** 科目代码 */
|
|
|
+ subjectCode: string
|
|
|
+ /** 任务ID */
|
|
|
+ taskId: number
|
|
|
+ /** 任务类型 */
|
|
|
+ taskType: TaskType
|
|
|
+ /** 最小阅卷时长 */
|
|
|
+ minMarkTime: number
|
|
|
+ /** 试卷 path */
|
|
|
+ url: string
|
|
|
+ }
|
|
|
+
|
|
|
+ type GetMarkingTask = BaseDefine<null, Task[]>
|
|
|
+
|
|
|
+ /** 清除评卷任务缓存 */
|
|
|
+ type ClearCachedTasks = BaseDefine
|
|
|
+
|
|
|
+ interface MarkStatus {
|
|
|
+ markedCount: number
|
|
|
+ personCount: number
|
|
|
+ problemCount: number
|
|
|
+ totalCount: number
|
|
|
+ }
|
|
|
+
|
|
|
+ type GetMarkStatus = BaseDefine<null, MarkStatus>
|
|
|
+
|
|
|
+ interface SubmitMark {
|
|
|
+ markScore: number
|
|
|
+ markScores: number[]
|
|
|
+ spentTime: number
|
|
|
+ taskId: number
|
|
|
+ problem: boolean
|
|
|
+ problemType?: ProblemType
|
|
|
+ }
|
|
|
+
|
|
|
+ type SubmitMarkTask = BaseDefine<SubmitMark, MarkStatus>
|
|
|
+
|
|
|
+ interface HistoryTask {
|
|
|
+ mainNumber: number
|
|
|
+ mainTitle: number
|
|
|
+ markScore: number
|
|
|
+ markTime: string
|
|
|
+ markerScores: number[]
|
|
|
+ questionList: Question[]
|
|
|
+ secretNumber: string
|
|
|
+ subjectCode: string
|
|
|
+ taskId: number
|
|
|
+ taskType: string
|
|
|
+ url: string
|
|
|
+ }
|
|
|
+
|
|
|
+ type GetMarkHistory = BaseDefine<null, HistoryTask[]>
|
|
|
+
|
|
|
+ interface ProblemListParams {
|
|
|
+ mainNumber?: number
|
|
|
+ problemType: ProblemType | ''
|
|
|
+ status: '' | 'INITIAL' | 'PROCESSED'
|
|
|
+ }
|
|
|
+
|
|
|
+ interface ProblemListItem {
|
|
|
+ createTime: string
|
|
|
+ examNumber: string
|
|
|
+ filePath: string
|
|
|
+ headerName: number
|
|
|
+ headerScore: number
|
|
|
+ headerScores: number[]
|
|
|
+ id: number
|
|
|
+ mainNumber: number
|
|
|
+ mainName: string
|
|
|
+ markerName: string
|
|
|
+ markerRatio: string
|
|
|
+ markerScore: number
|
|
|
+ objectiveScore: number
|
|
|
+ problemSolveType: string
|
|
|
+ problemType: string
|
|
|
+ secretNumber: string
|
|
|
+ solveTime: string
|
|
|
+ taskId: number
|
|
|
+ }
|
|
|
+
|
|
|
+ type GetProblemHistory = BaseDefine<MultipleQuery<ProblemListParams>, MultipleResult<ProblemListItem>>
|
|
|
+
|
|
|
+ type MarkProblemPaper = BaseDefine<{ id?: number; scores: number[] }>
|
|
|
+
|
|
|
+ interface MarkScoreHistory {
|
|
|
+ id: number
|
|
|
+ markScore: number
|
|
|
+ markerName: string
|
|
|
+ scoreLevel: 'LEVEL_1' | 'LEVEL_2' | 'LEVEL_3' | 'LEVEL_4' | 'LEVEL_5'
|
|
|
+ markTime: string
|
|
|
+ secretNumber: string
|
|
|
+ status: string
|
|
|
+ taskId: number
|
|
|
+ url: string
|
|
|
+ }
|
|
|
+
|
|
|
+ type GetMarkScoreHistoryListWithTask = BaseDefine<{ taskId: number | string }, MarkScoreHistory[]>
|
|
|
+
|
|
|
+ type RejectMarkHistory = BaseDefine<{ description: string; id: number; reason: string }>
|
|
|
+
|
|
|
+ interface ArbitrationListItem {
|
|
|
+ chiefName: string
|
|
|
+ chiefRatio: string
|
|
|
+ chiefScore: number
|
|
|
+ deputyName: string
|
|
|
+ deputyRatio: string
|
|
|
+ deputyScore: number
|
|
|
+ filePath: string
|
|
|
+ groupLeaderName: string
|
|
|
+ groupLeaderRatio: string
|
|
|
+ groupLeaderScore: number
|
|
|
+ id: number
|
|
|
+ mainName: string
|
|
|
+ mainNumber: number
|
|
|
+ markerName: string
|
|
|
+ markerRatio: string
|
|
|
+ markerScore: number
|
|
|
+ objectiveScore: number
|
|
|
+ secretNumber: string
|
|
|
+ status: string
|
|
|
+ taskId: number
|
|
|
+ teamLeaderName: string
|
|
|
+ teamLeaderRatio: string
|
|
|
+ teamLeaderScore: number
|
|
|
+ }
|
|
|
+
|
|
|
+ type GetArbitrationList = BaseDefine<
|
|
|
+ MultipleQuery<{ mainNumber?: number; status: ArbitrationStatus | '' }>,
|
|
|
+ MultipleResult<ArbitrationListItem>
|
|
|
+ >
|
|
|
+
|
|
|
+ type MarkArbitrationPaper = BaseDefine<{ id?: number; scores: number[] }>
|
|
|
+
|
|
|
+ type ViewArbitrationPaper = BaseDefine<{ id?: number }>
|
|
|
+
|
|
|
+ interface ReMarkPaperListItem {
|
|
|
+ confirm: string
|
|
|
+ confirmScore: number
|
|
|
+ filePath: string
|
|
|
+ id: number
|
|
|
+ mainNumber: number
|
|
|
+ mainName: string
|
|
|
+ markerName: string
|
|
|
+ markerScore: number
|
|
|
+ reMarkTime: string
|
|
|
+ secretNumber: string
|
|
|
+ taskId: number
|
|
|
+ }
|
|
|
+
|
|
|
+ type GetReMarkPaperList = BaseDefine<
|
|
|
+ MultipleQuery<{ mainNumber?: number; confirm: boolean }>,
|
|
|
+ MultipleResult<ReMarkPaperListItem>
|
|
|
+ >
|
|
|
+
|
|
|
+ type MarkReMarkPaper = BaseDefine<{ id?: number; scores: number[] }>
|
|
|
+
|
|
|
+ type ConfirmReMarkPaper = BaseDefine<{ id?: number }>
|
|
|
+
|
|
|
+ interface TrainingRecord {
|
|
|
+ examId: number
|
|
|
+ markScore: number
|
|
|
+ score: number
|
|
|
+ secretNumber: string
|
|
|
+ subjectCode: string
|
|
|
+ taskId: number
|
|
|
+ taskType: string
|
|
|
+ url: string
|
|
|
+ }
|
|
|
+
|
|
|
+ type ViewTrainingRecord = BaseDefine<null, TrainingRecord[]>
|
|
|
+
|
|
|
+ interface SamplePaper {
|
|
|
+ description: string
|
|
|
+ examId: number
|
|
|
+ id: number
|
|
|
+ mainNumber: number
|
|
|
+ mainTitle: string
|
|
|
+ markTime: string
|
|
|
+ markerName: string
|
|
|
+ score: number
|
|
|
+ secretNumber: number
|
|
|
+ subjectCode: string
|
|
|
+ url: string
|
|
|
+ }
|
|
|
+
|
|
|
+ type ViewSamplePaper = BaseDefine<null, SamplePaper[]>
|
|
|
+
|
|
|
+ interface SamePaperListItem {
|
|
|
+ examNumber: string
|
|
|
+ filePath: string
|
|
|
+ id: number
|
|
|
+ mainNumber: number
|
|
|
+ markerName: string
|
|
|
+ sameExamNumber: string
|
|
|
+ sameFilePath: string
|
|
|
+ sameSecretNumber: string
|
|
|
+ secretNumber: number
|
|
|
+ status: 'INITIAL' | 'NOT_SAME' | 'SAME'
|
|
|
+ taskId: number
|
|
|
+ }
|
|
|
+
|
|
|
+ type GetSimilarPaperList = BaseDefine<
|
|
|
+ MultipleQuery<{
|
|
|
+ mainNumber?: number
|
|
|
+ status: 'INITIAL' | 'NOT_SAME' | 'SAME'
|
|
|
+ }>,
|
|
|
+ MultipleResult<SamePaperListItem>
|
|
|
+ >
|
|
|
+
|
|
|
+ type ConfirmIsSimilar = BaseDefine<{ id?: number; same: boolean }>
|
|
|
+
|
|
|
+ type ExportSimilarPaper = BaseDefine<
|
|
|
+ MultipleQuery<{
|
|
|
+ mainNumber?: number
|
|
|
+ status: 'INITIAL' | 'NOT_SAME' | 'SAME'
|
|
|
+ }>
|
|
|
+ >
|
|
|
+
|
|
|
+ type SubmitSimilarPaper = BaseDefine<{ sameTaskId: number | string; taskId: number | string }>
|
|
|
+
|
|
|
+ export interface ApiMap {
|
|
|
+ /** 自定义查询 - 抽查 */
|
|
|
+ getCustomQueryTasks: GetCustomQueryTasks
|
|
|
+ /** 自定义查询 - 保存为快捷查询 */
|
|
|
+ setCustomQueryConfig: SetCustomQueryConfig
|
|
|
+ /** 自定义查询 - 获取快捷查询列表 */
|
|
|
+ getCustomQueryConfigList: GetCustomQueryConfigList
|
|
|
+ /** 自定义查询 - 浏览 */
|
|
|
+ viewCustomQuery: ViewCustomQuery
|
|
|
+ /** 自定义查询 - 修改卷型 */
|
|
|
+ updateCustomPaperType: UpdateCustomPaperType
|
|
|
+ /** 自定义查询 - 修改分数 */
|
|
|
+ updateCustomPaperScore: UpdateCustomPaperScore
|
|
|
+ /** 查看评分标准 */
|
|
|
+ getMarkingStandard: GetMarkingStandard
|
|
|
+ /** 获取评卷任务 */
|
|
|
+ getMarkingTask: GetMarkingTask
|
|
|
+ /** 清除评卷任务缓存 */
|
|
|
+ clearCachedTasks: ClearCachedTasks
|
|
|
+ /** 获取评卷进度 */
|
|
|
+ getMarkStatus: GetMarkStatus
|
|
|
+ /** 提交评卷任务 */
|
|
|
+ submitMarkTask: SubmitMarkTask
|
|
|
+ /** 获取回评历史 */
|
|
|
+ getMarkHistory: GetMarkHistory
|
|
|
+ /** 问题卷列表 */
|
|
|
+ getProblemHistory: GetProblemHistory
|
|
|
+ /** 问题卷打分 */
|
|
|
+ markProblemPaper: MarkProblemPaper
|
|
|
+ /** 通过taskId 查询给分记录 */
|
|
|
+ getMarkScoreHistoryListWithTask: GetMarkScoreHistoryListWithTask
|
|
|
+ /** 打回 */
|
|
|
+ rejectMarkHistory: RejectMarkHistory
|
|
|
+ /** 仲裁卷列表 */
|
|
|
+ getArbitrationList: GetArbitrationList
|
|
|
+ /** 仲裁卷打分 */
|
|
|
+ markArbitrationPaper: MarkArbitrationPaper
|
|
|
+ /** 仲裁卷浏览 */
|
|
|
+ viewArbitrationPaper: ViewArbitrationPaper
|
|
|
+ /** 重评卷列表 */
|
|
|
+ getReMarkPaperList: GetReMarkPaperList
|
|
|
+ /** 重评卷打分 */
|
|
|
+ markReMarkPaper: MarkReMarkPaper
|
|
|
+ /** 重评卷确认 */
|
|
|
+ confirmReMarkPaper: ConfirmReMarkPaper
|
|
|
+ /** 查看培训记录 */
|
|
|
+ viewTrainingRecord: ViewTrainingRecord
|
|
|
+ /** 查看样卷 */
|
|
|
+ viewSamplePaper: ViewSamplePaper
|
|
|
+ /** 雷同卷列表 */
|
|
|
+ getSimilarPaperList: GetSimilarPaperList
|
|
|
+ /** 是否雷同 */
|
|
|
+ confirmIsSimilar: ConfirmIsSimilar
|
|
|
+ /** 导出雷同 */
|
|
|
+ exportSimilarPaper: ExportSimilarPaper
|
|
|
+ /** 提交雷同卷 */
|
|
|
+ submitSimilarPaper: SubmitSimilarPaper
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+/** 题目管理 */
|
|
|
+export namespace Question {
|
|
|
+ /** 删除小题 */
|
|
|
+ type DeleteSubQuestion = BaseDefine<{
|
|
|
+ id: number
|
|
|
+ }>
|
|
|
+
|
|
|
+ /** 编辑小题 */
|
|
|
+ type EditSubQuestion = BaseDefine<{
|
|
|
+ id?: number
|
|
|
+ /** 小题间隔分 */
|
|
|
+ intervalScore?: number
|
|
|
+ }>
|
|
|
+
|
|
|
+ /** 小题列表信息 */
|
|
|
+ interface SubQuestionInfo {
|
|
|
+ id: number
|
|
|
+ intervalScore: number
|
|
|
+ mainNumber: number
|
|
|
+ mainTitle: string
|
|
|
+ subNumber: number
|
|
|
+ totalScore: number
|
|
|
+ }
|
|
|
+
|
|
|
+ /** 获取小题列表 */
|
|
|
+ type GetSubQuestionList = BaseDefine<{ subjectCode: string }, SubQuestionInfo[]>
|
|
|
+
|
|
|
+ interface MainQuestionListItem {
|
|
|
+ createTime: string
|
|
|
+ creatorId: number
|
|
|
+ examId: number
|
|
|
+ groupNumber: number
|
|
|
+ id: number
|
|
|
+ levelRange: number[]
|
|
|
+ mainNumber: number
|
|
|
+ minMarkTime: number
|
|
|
+ remarkNumber: number
|
|
|
+ remarkType: string
|
|
|
+ standardRate: number
|
|
|
+ selfRate: number
|
|
|
+ subjectCode: string
|
|
|
+ systemRate: number
|
|
|
+ title: string
|
|
|
+ totalScore: number
|
|
|
+ updateTime: string
|
|
|
+ updaterId: number
|
|
|
+ }
|
|
|
+
|
|
|
+ /** 获取大题列表 */
|
|
|
+ type GetMainQuestionList = BaseDefine<{ subjectCode: string }, MainQuestionListItem[]>
|
|
|
+
|
|
|
+ interface SubQuestionStruct {
|
|
|
+ intervalScore: number
|
|
|
+ score: number
|
|
|
+ subNumber: number
|
|
|
+ totalScore: number
|
|
|
+ }
|
|
|
+ /** 获取大题评卷结构 */
|
|
|
+ type GetQuestionStruct = BaseDefine<
|
|
|
+ { mainNumber?: number },
|
|
|
+ { mainNumber: number; mainTitle: string; questionList: SubQuestionStruct[] }
|
|
|
+ >
|
|
|
+
|
|
|
+ /** 大题设置 (新增/编辑) */
|
|
|
+ interface MainQuestionMeta {
|
|
|
+ /** 大题号 */
|
|
|
+ mainNumber?: number
|
|
|
+ /** 大题名称 */
|
|
|
+ mainTitle: string
|
|
|
+ /** 分组数量 */
|
|
|
+ groupNumber?: number
|
|
|
+ /** 间隔分 */
|
|
|
+ intervalScore?: number
|
|
|
+ /** 最小阅卷时间 */
|
|
|
+ minMarkTime?: number
|
|
|
+ /** 小题数量 */
|
|
|
+ questionCount?: number
|
|
|
+ /** 小题满分 */
|
|
|
+ questionScore?: number
|
|
|
+ /** 回评数量 */
|
|
|
+ remarkNumber?: number
|
|
|
+ /** 标准卷频度 */
|
|
|
+ standardRate?: number
|
|
|
+ /** 自查卷频度 */
|
|
|
+ selfRate?: number
|
|
|
+ /** 系统抽查频度 */
|
|
|
+ systemRate?: number
|
|
|
+ /** 起始题号 */
|
|
|
+ startNumber: number
|
|
|
+ /** 档次比例 */
|
|
|
+ levelRange: number[]
|
|
|
+ /** 回评方式,可用值:TIME,QUANTITY */
|
|
|
+ remarkType: RemarkType
|
|
|
+ /** 科目代码 */
|
|
|
+ subjectCode: string
|
|
|
+ /** 成绩表对应题目类型,可用值:WRITING,TRANSLATION */
|
|
|
+ category?: QuestionCategory
|
|
|
+ }
|
|
|
+
|
|
|
+ /** 新增大题 */
|
|
|
+ type AddMainQuestion = BaseDefine<MainQuestionMeta>
|
|
|
+
|
|
|
+ /** 大题设置 */
|
|
|
+ type EditMainQuestion = BaseDefine<MainQuestionMeta>
|
|
|
+
|
|
|
+ /** 获取大题信息 */
|
|
|
+ type GetMainQuestionInfo = BaseDefine<
|
|
|
+ { mainNumber: number; subjectCode: string },
|
|
|
+ MainQuestionMeta & { examId: number }
|
|
|
+ >
|
|
|
+
|
|
|
+ export interface ApiMap {
|
|
|
+ deleteSubQuestion: DeleteSubQuestion
|
|
|
+ editSubQuestion: EditSubQuestion
|
|
|
+ getSubQuestionList: GetSubQuestionList
|
|
|
+ addMainQuestion: AddMainQuestion
|
|
|
+ editMainQuestion: EditMainQuestion
|
|
|
+ getMainQuestionInfo: GetMainQuestionInfo
|
|
|
+ getMainQuestionList: GetMainQuestionList
|
|
|
+ /** 获取大题评卷结构 */
|
|
|
+ getQuestionStruct: GetQuestionStruct
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+/** 科目管理 */
|
|
|
+export namespace Subject {
|
|
|
+ /** 删除科目 */
|
|
|
+ type DeleteSubject = BaseDefine<{ id: number }>
|
|
|
+
|
|
|
+ interface BaseSubjectInfo {
|
|
|
+ /** 科目代码 */
|
|
|
+ code: string
|
|
|
+ /** 科目名称 */
|
|
|
+ name: string
|
|
|
+ /** 启用/禁用 */
|
|
|
+ enable: boolean
|
|
|
+ }
|
|
|
+
|
|
|
+ interface SubjectInfo extends BaseSubjectInfo {
|
|
|
+ /** 科目ID */
|
|
|
+ id: number
|
|
|
+ /** 考试ID */
|
|
|
+ examId: number
|
|
|
+ /** 考试名称 */
|
|
|
+ examName: string
|
|
|
+ /** 客观分 */
|
|
|
+ objectiveScore: number
|
|
|
+ /** 主观分 */
|
|
|
+ subjectiveScore: number
|
|
|
+ /** 试卷总分 */
|
|
|
+ totalScore: number
|
|
|
+ }
|
|
|
+
|
|
|
+ /** 获取科目信息 */
|
|
|
+ type GetSubjectInfo = BaseDefine<{ id: number }, SubjectInfo>
|
|
|
+
|
|
|
+ /** 查询科目列表 */
|
|
|
+ type GetSubjectList = BaseDefine<
|
|
|
+ MultipleQuery<{
|
|
|
+ /** 科目代码 */
|
|
|
+ code?: string
|
|
|
+ /** 科目名称 */
|
|
|
+ name?: string
|
|
|
+ /** 启用/禁用 */
|
|
|
+ enable?: boolean
|
|
|
+ }>,
|
|
|
+ MultipleResult<SubjectInfo>
|
|
|
+ >
|
|
|
+ /** 新增/修改科目 */
|
|
|
+ type SaveSubjectInfo = BaseDefine<BaseSubjectInfo & { id?: number }>
|
|
|
+
|
|
|
+ /** 启用/禁用科目 */
|
|
|
+ type ToggleEnableSubject = BaseDefine<{ ids: number[]; enable: boolean }>
|
|
|
+ export interface ApiMap {
|
|
|
+ /** 删除考试 */
|
|
|
+ deleteSubject: DeleteSubject
|
|
|
+ /** 获取考试信息 */
|
|
|
+ getSubjectInfo: GetSubjectInfo
|
|
|
+ /** 查询考试列表 */
|
|
|
+ getSubjectList: GetSubjectList
|
|
|
+ /** 新增/修改考试 */
|
|
|
+ saveSubjectInfo: SaveSubjectInfo
|
|
|
+ /** 启用/禁用科目 */
|
|
|
+ toggleEnableSubject: ToggleEnableSubject
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+/** 考试管理 */
|
|
|
+export namespace Exam {
|
|
|
+ /** 删除考试 */
|
|
|
+ type DeleteExam = BaseDefine<{ id: number }>
|
|
|
+
|
|
|
+ /** 获取考试信息 */
|
|
|
+ type GetExamInfo = BaseDefine<{ id: number }, Required<BaseExamInfo>>
|
|
|
+
|
|
|
+ /** 查询考试列表 */
|
|
|
+ type GetExamList = BaseDefine<
|
|
|
+ MultipleQuery<{
|
|
|
+ /** 考试状态 */
|
|
|
+ enable?: boolean
|
|
|
+ /** 考试名称 */
|
|
|
+ name?: string
|
|
|
+ }>,
|
|
|
+ MultipleResult<{
|
|
|
+ /** 考试状态 */
|
|
|
+ enable: boolean
|
|
|
+ /** 考试ID */
|
|
|
+ id: number
|
|
|
+ /** 考试名称 */
|
|
|
+ name: string
|
|
|
+ /** 更新时间 */
|
|
|
+ updateTime: string
|
|
|
+ }>
|
|
|
+ >
|
|
|
+ interface BaseExamInfo {
|
|
|
+ id?: number
|
|
|
+ /** 问题卷允许打回 */
|
|
|
+ doubtReject: boolean
|
|
|
+ /** 评卷模式 */
|
|
|
+ markingMode: MarkMode
|
|
|
+ /** 在线评卷时长 */
|
|
|
+ maxMarkingDuration: number
|
|
|
+ /** 自动回收任务(分钟) */
|
|
|
+ maxTaskRecover: number
|
|
|
+ /** 考试名称 */
|
|
|
+ name: string
|
|
|
+ /** 抽查卷允许打回 */
|
|
|
+ spotCheckReject: boolean
|
|
|
+ /** 用户姓名收集 */
|
|
|
+ userNameCollect: boolean
|
|
|
+ enable: boolean
|
|
|
+ }
|
|
|
+
|
|
|
+ /** 新增/修改考试 */
|
|
|
+ type SaveExamInfo = BaseDefine<Partial<BaseExamInfo>>
|
|
|
+
|
|
|
+ /** 启用/禁用考试 */
|
|
|
+ type ToggleEnableExam = BaseDefine<{ ids: number[]; enable: boolean }>
|
|
|
+ export interface ApiMap {
|
|
|
+ /** 删除考试 */
|
|
|
+ deleteExam: DeleteExam
|
|
|
+ /** 获取考试信息 */
|
|
|
+ getExamInfo: GetExamInfo
|
|
|
+ /** 查询考试列表 */
|
|
|
+ getExamList: GetExamList
|
|
|
+ /** 新增/修改考试 */
|
|
|
+ saveExamInfo: SaveExamInfo
|
|
|
+ /** 启用/禁用考试 */
|
|
|
+ toggleEnableExam: ToggleEnableExam
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+/** 角色管理 */
|
|
|
+export namespace Role {
|
|
|
+ /** role api */
|
|
|
+ interface RawRole {
|
|
|
+ code: ROLE
|
|
|
+ roleName: string
|
|
|
+ updateTime: string
|
|
|
+ updaterName: string
|
|
|
+ }
|
|
|
+
|
|
|
+ type GetRoleList = BaseDefine<{ role?: ROLE }, RawRole[]>
|
|
|
+ type GetRolePrivilege = BaseDefine<
|
|
|
+ { role: ROLE },
|
|
|
+ {
|
|
|
+ code: string
|
|
|
+ hasPrivilege: boolean
|
|
|
+ id: number
|
|
|
+ name: string
|
|
|
+ nodeCode: string
|
|
|
+ nodeId: number
|
|
|
+ nodeName: string
|
|
|
+ parentId: number
|
|
|
+ parentNodeId: number
|
|
|
+ }[]
|
|
|
+ >
|
|
|
+
|
|
|
+ type SetRolePrivilege = BaseDefine<{ role: ROLE; privilegeIds: number[] }>
|
|
|
+
|
|
|
+ /** role api end */
|
|
|
+
|
|
|
+ export interface ApiMap {
|
|
|
+ getRoleList: GetRoleList
|
|
|
+ getRolePrivilege: GetRolePrivilege
|
|
|
+ setRolePrivilege: SetRolePrivilege
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+/** 监控分析 */
|
|
|
+export namespace Statistics {
|
|
|
+ interface BaseFilterOption {
|
|
|
+ subjectCode?: string
|
|
|
+ questionMainNumber?: number
|
|
|
+ markingGroupNumbers?: number[]
|
|
|
+ }
|
|
|
+
|
|
|
+ /** 质量统计-自查一致性分析 */
|
|
|
+ interface SelfCheckAnalysisReq {
|
|
|
+ /** 结束时间,格式:yyyyMMddHHmmss */
|
|
|
+ endTime: string
|
|
|
+ /** 小组号 */
|
|
|
+ markingGroupNumber?: number
|
|
|
+ /** 大题号 */
|
|
|
+ questionMainNumber?: number
|
|
|
+ /** 开始时间,格式:yyyyMMddHHmmss */
|
|
|
+ startTime: string
|
|
|
+ /** 科目代码 */
|
|
|
+ subjectCode: string
|
|
|
+ }
|
|
|
+ interface SelfCheckAnalysisResponse {
|
|
|
+ /** 平均离差 */
|
|
|
+ avgDiff: number
|
|
|
+ /** 自查份数 */
|
|
|
+ checkCount: number
|
|
|
+ /** 评卷员ID */
|
|
|
+ markerId: number
|
|
|
+ /** 评卷员名称 */
|
|
|
+ markerName: string
|
|
|
+ }
|
|
|
+
|
|
|
+ type SelfCheckAnalysis = BaseDefine<SelfCheckAnalysisReq, SelfCheckAnalysisResponse[]>
|
|
|
+
|
|
|
+ interface elfCheckAnalysisDiffListItemPaper {
|
|
|
+ diff: number
|
|
|
+ lastMarkScore: number
|
|
|
+ markScore: number
|
|
|
+ markTime: string
|
|
|
+ secretNumber: string
|
|
|
+ taskId: number
|
|
|
+ }
|
|
|
+
|
|
|
+ interface SelfCheckAnalysisDiffListItem {
|
|
|
+ diff: number
|
|
|
+ papers: elfCheckAnalysisDiffListItemPaper[]
|
|
|
+ }
|
|
|
+
|
|
|
+ type SelfCheckAnalysisDiffList = BaseDefine<
|
|
|
+ {
|
|
|
+ markerId?: number
|
|
|
+ questionMainNumber?: number
|
|
|
+ subjectCode: string
|
|
|
+ },
|
|
|
+ SelfCheckAnalysisDiffListItem[]
|
|
|
+ >
|
|
|
+
|
|
|
+ /** 质量分析 - 自查数据详情 */
|
|
|
+ interface SelfCheckDataDetail {
|
|
|
+ diff: number
|
|
|
+ filePath: string
|
|
|
+ mainName: string
|
|
|
+ mainNumber: number
|
|
|
+ markTime: string
|
|
|
+ markerName: string
|
|
|
+ markerScore: number
|
|
|
+ secretNumber: string
|
|
|
+ selfScore: number
|
|
|
+ taskId: number
|
|
|
+ }
|
|
|
+ type GetSelfCheckDataDetail = BaseDefine<
|
|
|
+ {
|
|
|
+ subjectCode: string
|
|
|
+ mainNumber: number | string
|
|
|
+ markingGroupNumber: number | string
|
|
|
+ startTime: string
|
|
|
+ endTime: string
|
|
|
+ },
|
|
|
+ SelfCheckDataDetail[]
|
|
|
+ >
|
|
|
+
|
|
|
+ /** 质量统计-自查数据打分 */
|
|
|
+ type MarkSelfCheckData = BaseDefine<{ taskId?: number; scores: number[] }>
|
|
|
+
|
|
|
+ /** 质量统计-自查数据打回 */
|
|
|
+ type RejectSelfCheckData = BaseDefine<{ id?: number; reason: string; description: string }>
|
|
|
+
|
|
|
+ /** 质量分析- 抽查情况统计 */
|
|
|
+ interface StatisticCheckInfo {
|
|
|
+ customCheckCount: number
|
|
|
+ customCheckReScoreCount: number
|
|
|
+ markerId: number
|
|
|
+ markerName: string
|
|
|
+ questionMainName: string
|
|
|
+ questionMainNumber: number
|
|
|
+ rejectCount: number
|
|
|
+ sysCheckCount: number
|
|
|
+ sysCheckReScoreCount: number
|
|
|
+ }
|
|
|
+
|
|
|
+ type StatisticCheckOverview = BaseDefine<
|
|
|
+ {
|
|
|
+ questionMainNumber?: number
|
|
|
+ subjectCode: string
|
|
|
+ markingGroupLeaderId?: number
|
|
|
+ },
|
|
|
+ StatisticCheckInfo[]
|
|
|
+ >
|
|
|
+ /** 质量统计-主观题校验列表 */
|
|
|
+ interface SubjectiveListItem {
|
|
|
+ filePath: string
|
|
|
+ headerName: string
|
|
|
+ headerScore: number
|
|
|
+ mainName: string
|
|
|
+ mainNumber: number
|
|
|
+ markerScore: number
|
|
|
+ secretNumber: number
|
|
|
+ status: string
|
|
|
+ taskId: number
|
|
|
+ updateTime: string
|
|
|
+ }
|
|
|
+
|
|
|
+ type GetSubjectiveCheckList = BaseDefine<
|
|
|
+ MultipleQuery<{
|
|
|
+ subjectCode: string
|
|
|
+ mainNumber?: number
|
|
|
+ checked?: boolean
|
|
|
+ rule: 'RULE1' | 'RULE2' | 'RULE3' | 'RULE4'
|
|
|
+ }>,
|
|
|
+ MultipleResult<SubjectiveListItem>
|
|
|
+ >
|
|
|
+
|
|
|
+ type SubjectiveCheckMark = BaseDefine<{ taskId?: number; scores: number[] }>
|
|
|
+
|
|
|
+ type SubjectiveCheckConfirm = BaseDefine<{ taskId?: number }>
|
|
|
+
|
|
|
+ /** 决策分析-评卷进度统计(整体) */
|
|
|
+ interface MarkProgressResponse {
|
|
|
+ /** 已完成数 */
|
|
|
+ finishCount: number
|
|
|
+ /** 完成比率 */
|
|
|
+ finishRate: number
|
|
|
+ /** 大题名称 */
|
|
|
+ questionMainName: string
|
|
|
+ /** 大题号 */
|
|
|
+ questionMainNumber: number
|
|
|
+ /** 预计耗时(秒) */
|
|
|
+ takeTime: number
|
|
|
+ /** 试卷总量 */
|
|
|
+ totalPaper: number
|
|
|
+ }
|
|
|
+
|
|
|
+ type GetMarkProgress = BaseDefine<{ subjectCode: string }, MarkProgressResponse[]>
|
|
|
+
|
|
|
+ /** 决策分析-评卷进度统计(按小组) */
|
|
|
+ interface MarkProgressByGroup {
|
|
|
+ dayFinishCount: number
|
|
|
+ dayFinishRate: number
|
|
|
+ finishCount: number
|
|
|
+ finishRate: number
|
|
|
+ markingGroupNumber: number
|
|
|
+ }
|
|
|
+
|
|
|
+ type GetMarkProgressByGroup = BaseDefine<{ subjectCode: string; questionMainNumber?: number }, MarkProgressByGroup[]>
|
|
|
+
|
|
|
+ /** 决策分析-评卷进度统计(按评卷员) */
|
|
|
+ interface MarkProgressByMarker {
|
|
|
+ dayFinishCounts: { count: number; date: string }[]
|
|
|
+ markerId: number
|
|
|
+ markerName: string
|
|
|
+ markingGroupNumber: number
|
|
|
+ totalFinishCount: number
|
|
|
+ }
|
|
|
+ type GetMarkProgressByMarker = BaseDefine<
|
|
|
+ { subjectCode: string; questionMainNumber?: number; markingGroupNumbers?: number },
|
|
|
+ MarkProgressByMarker[]
|
|
|
+ >
|
|
|
+
|
|
|
+ type ExportMarkProgressByMarker = BaseDefine<{
|
|
|
+ subjectCode: string
|
|
|
+ questionMainNumber?: number
|
|
|
+ markingGroupNumber?: number
|
|
|
+ }>
|
|
|
+
|
|
|
+ /** 科目进度收尾 */
|
|
|
+ interface SubjectProgressEndInfo {
|
|
|
+ arbitrationPaperRate: number
|
|
|
+ checkPaperCount: number
|
|
|
+ checkPaperRate: number
|
|
|
+ finishCount: number
|
|
|
+ finishRate: number
|
|
|
+ questionMainName: string
|
|
|
+ questionMainNumber: number
|
|
|
+ subjectiveUnVerifyPaperCount: number
|
|
|
+ todoArbitrationPaperCount: number
|
|
|
+ todoProblemPaperCount: number
|
|
|
+ todoSamePaperCount: number
|
|
|
+ totalPaper: number
|
|
|
+ }
|
|
|
+
|
|
|
+ type SubjectProgressEnd = BaseDefine<{ subjectCode: string }, SubjectProgressEndInfo[]>
|
|
|
+
|
|
|
+ interface BaseParams {
|
|
|
+ subjectCode: string
|
|
|
+ questionMainNumber?: number
|
|
|
+ markingGroupNumber?: number
|
|
|
+ }
|
|
|
+
|
|
|
+ /** 质量统计-收尾检查-评卷员未评卷列表(分页) */
|
|
|
+
|
|
|
+ interface UnMarkPaper {
|
|
|
+ markerId: number
|
|
|
+ markerName: string
|
|
|
+ questionMainName: string
|
|
|
+ questionMainNumber: number
|
|
|
+ secretNumber: string
|
|
|
+ taskId: number
|
|
|
+ }
|
|
|
+ type UnMarkPaperList = BaseDefine<MultipleQuery<BaseParams>, MultipleResult<UnMarkPaper>>
|
|
|
+ /** 质量统计-收尾检查-未处理雷同卷列表 */
|
|
|
+ interface UnProcessSimilar {
|
|
|
+ questionMainName: string
|
|
|
+ questionMainNumber: number
|
|
|
+ sameSecretNumber: string
|
|
|
+ secretNumber: string
|
|
|
+ }
|
|
|
+ type UnProcessSimilarList = BaseDefine<BaseParams, UnProcessSimilar[]>
|
|
|
+ /** 质量统计-收尾检查-未处理问题卷列表 */
|
|
|
+ interface UnProcessProblem {
|
|
|
+ questionMainName: string
|
|
|
+ questionMainNumber: number
|
|
|
+ secretNumber: string
|
|
|
+ }
|
|
|
+ type UnProcessProblemList = BaseDefine<BaseParams, UnProcessProblem[]>
|
|
|
+
|
|
|
+ type ChangeTaskMarker = BaseDefine<{ loginName: string; taskId?: number }>
|
|
|
+
|
|
|
+ /** 小组监控 */
|
|
|
+ interface GroupMonitor {
|
|
|
+ /** 已浏览自定义抽查卷数 */
|
|
|
+ customCheckCount: number
|
|
|
+ /** 已浏览问题卷数 */
|
|
|
+ problemCount: number
|
|
|
+ /** 已浏览系统抽查卷数 */
|
|
|
+ sysCheckCount: number
|
|
|
+ /** 组长 */
|
|
|
+ markingGroupLeader: string
|
|
|
+ /** 组长ID */
|
|
|
+ markingGroupLeaderId: string
|
|
|
+ /** 小组号 */
|
|
|
+ markingGroupNumber: number
|
|
|
+ /** 已给分自定义抽查卷数 */
|
|
|
+ customCheckReScoreCount: number
|
|
|
+ /** 已给分问题卷数 */
|
|
|
+ problemReScoreCount: number
|
|
|
+ /** 已给分系统抽查卷数 */
|
|
|
+ sysCheckReScoreCount: number
|
|
|
+ /** 已浏览试卷总数 */
|
|
|
+ totalCount: number
|
|
|
+ /** 已给分试卷总数 */
|
|
|
+ totalReScoreCount: number
|
|
|
+ }
|
|
|
+ type GetGroupMonitor = BaseDefine<BaseFilterOption, GroupMonitor[]>
|
|
|
+
|
|
|
+ /** 小组监控 - 抽查详情 */
|
|
|
+ interface GroupMonitorDetail {
|
|
|
+ filePath: string
|
|
|
+ headerRatio: string
|
|
|
+ headerScore: number
|
|
|
+ mainName: string
|
|
|
+ mainNumber: number
|
|
|
+ markTime: string
|
|
|
+ markerName: string
|
|
|
+ markerScore: number
|
|
|
+ objectiveScore: number
|
|
|
+ scoreLevel: string
|
|
|
+ secretNumber: string
|
|
|
+ taskId: number
|
|
|
+ }
|
|
|
+
|
|
|
+ type GetGroupMonitorDetail = BaseDefine<
|
|
|
+ MultipleQuery<{ operateType: 'VIEW' | 'MARK'; headerId: string | number }>,
|
|
|
+ MultipleResult<GroupMonitorDetail>
|
|
|
+ >
|
|
|
+
|
|
|
+ type MarkMonitorDetailTask = BaseDefine<{ taskId?: number; scores: number[] }>
|
|
|
+
|
|
|
+ /** 决策分析- 统计 */
|
|
|
+ interface StatisticItem {
|
|
|
+ markerId: number
|
|
|
+ markerName: string
|
|
|
+ value: number
|
|
|
+ }
|
|
|
+
|
|
|
+ type GetStatistics = BaseDefine<BaseFilterOption, Record<string, StatisticItem[]>>
|
|
|
+
|
|
|
+ /** 决策分析-监控统计(按小组) */
|
|
|
+ interface GetStatisticsByGroupParams {
|
|
|
+ endTime?: string
|
|
|
+ hasJudge?: boolean
|
|
|
+ markerId?: number
|
|
|
+ markingGroupNumbers?: number[]
|
|
|
+ questionMainNumber?: number
|
|
|
+ startTime?: string
|
|
|
+ subjectCode: string
|
|
|
+ }
|
|
|
+
|
|
|
+ interface GetStatisticsByGroupResponseItem {
|
|
|
+ /** 平均分 */
|
|
|
+ avg: number
|
|
|
+ /** 抽查改正量 */
|
|
|
+ checkCorrectCount: number
|
|
|
+ /** 抽查量 */
|
|
|
+ checkCount: number
|
|
|
+ /** 综合指数 */
|
|
|
+ integration: number
|
|
|
+ /** 评卷员ID */
|
|
|
+ markerId: number
|
|
|
+ /** 评卷员名称 */
|
|
|
+ markerName: string
|
|
|
+ /** 小组号 */
|
|
|
+ markingGroupNumber: number
|
|
|
+ /** 评卷份数 */
|
|
|
+ markingPaperCount: number
|
|
|
+ /** 评卷速度(n秒每个) */
|
|
|
+ markingRate: number
|
|
|
+ /** 评卷状态 */
|
|
|
+ markingStatus: string
|
|
|
+ /** 平均客主比 */
|
|
|
+ objSubAvgRate: number
|
|
|
+ /** 客主比(近N分钟) */
|
|
|
+ objSubRate: number
|
|
|
+ /** 客观平均分 */
|
|
|
+ objectiveAvg: number
|
|
|
+ /** 客观标准差 */
|
|
|
+ objectiveStd: number
|
|
|
+ /** 客观0分量 */
|
|
|
+ objectiveZero: number
|
|
|
+ /** 是否在线 */
|
|
|
+ online: boolean
|
|
|
+ /** 重评待确认量 */
|
|
|
+ reMarkConfirmCount: number
|
|
|
+ /** 重评量 */
|
|
|
+ reMarkCount: number
|
|
|
+ /** 最低分(近N分钟) */
|
|
|
+ scoreLow: number
|
|
|
+ /** 最高分(近N分钟) */
|
|
|
+ scoreTop: number
|
|
|
+ /** 方差 */
|
|
|
+ sd: number
|
|
|
+ /** 标准差 */
|
|
|
+ std: number
|
|
|
+ /** 相关系数 */
|
|
|
+ xyRelate: number
|
|
|
+ /** 评卷员明细统计列表 */
|
|
|
+ markerDetails: GetStatisticsByGroupResponseItem[] | null
|
|
|
+ }
|
|
|
+
|
|
|
+ type GetStatisticsByGroup = BaseDefine<GetStatisticsByGroupParams, GetStatisticsByGroupResponseItem[]>
|
|
|
+
|
|
|
+ /** 决策分析-监控统计导出(按小组) */
|
|
|
+ type ExportStatisticsByGroup = BaseDefine<GetStatisticsByGroupParams>
|
|
|
+
|
|
|
+ /** 培训监控 */
|
|
|
+ interface TrainingMonitorParams {
|
|
|
+ subjectCode: string
|
|
|
+ mainNumber?: number
|
|
|
+ markingGroupNumber?: number
|
|
|
+ markStage: 'SAMPLE_A' | 'SAMPLE_B' | 'FORCE'
|
|
|
+ forceGroupNumber?: number
|
|
|
+ }
|
|
|
+ interface TrainingMonitorResponse {
|
|
|
+ /** 平均分 */
|
|
|
+ avg: number
|
|
|
+ /** 差异份数 */
|
|
|
+ diffCount: number
|
|
|
+ forceGroupMarkerId: number
|
|
|
+ /** 评卷员ID */
|
|
|
+ markerId: number
|
|
|
+ /** 评卷员名称 */
|
|
|
+ markerName: string
|
|
|
+ /** 打分列表 */
|
|
|
+ scoreList: number[]
|
|
|
+ /** 状态 */
|
|
|
+ stage: 'SAMPLE_A' | 'SAMPLE_B' | 'FORCE'
|
|
|
+ /** 状态名称 */
|
|
|
+ status: string
|
|
|
+ /** 标准差 */
|
|
|
+ std: number
|
|
|
+ /** 相关系数 */
|
|
|
+ xyRelate: number
|
|
|
+ }
|
|
|
+ type GetTrainingMonitor = BaseDefine<TrainingMonitorParams, { data: TrainingMonitorResponse[]; header: number[] }>
|
|
|
+
|
|
|
+ interface MonitorDetail {
|
|
|
+ fileName: string
|
|
|
+ filePath: string
|
|
|
+ forceGroupNumber: number
|
|
|
+ group: string
|
|
|
+ mainNumber: number
|
|
|
+ markTime: string
|
|
|
+ markerName: string
|
|
|
+ markScore: number
|
|
|
+ score: number
|
|
|
+ secretNumber: string
|
|
|
+ taskId: number
|
|
|
+ }
|
|
|
+
|
|
|
+ /**培训监控 - 培训卷调卷详情 */
|
|
|
+ type GetTrainingMonitorDetail = BaseDefine<{ markerId: string; taskType: SamplePaperType }, MonitorDetail[]>
|
|
|
+
|
|
|
+ /**培训监控 - 强制考核卷调卷详情 */
|
|
|
+ type GetAssessMonitorDetail = BaseDefine<{ forceGroupMarkerId: string }, MonitorDetail[]>
|
|
|
+
|
|
|
+ /**培训监控 - 强制考核卷审核 */
|
|
|
+ type PutAssessMonitorPass = BaseDefine<{ forceGroupMarkerIds: number[]; pass: boolean }>
|
|
|
+
|
|
|
+ /**培训监控 - 培训卷审核 */
|
|
|
+ type PutSampleMonitorPass = BaseDefine<{ markerIds: number[]; markStage: SamplePaperType; pass: boolean }>
|
|
|
+
|
|
|
+ /** 个人统计 */
|
|
|
+ interface PersonalStatistic {
|
|
|
+ avg: number
|
|
|
+ markerId: number
|
|
|
+ markerName: string
|
|
|
+ markingPaperCount: number
|
|
|
+ markingRate: number
|
|
|
+ questionMainName: string
|
|
|
+ questionMainNumber: number
|
|
|
+ }
|
|
|
+ type GetPersonalStatistic = BaseDefine<{ startTime: string; endTime: string; markerId?: number }, PersonalStatistic>
|
|
|
+
|
|
|
+ /** 提取阅卷明细 */
|
|
|
+ interface PersonalMarkDetail {
|
|
|
+ filePath: string
|
|
|
+ mainName: string
|
|
|
+ mainNumber: number
|
|
|
+ markTime: string
|
|
|
+ markerName: string
|
|
|
+ markerRatio: string
|
|
|
+ markerScore: number
|
|
|
+ objectiveScore: number
|
|
|
+ secretNumber: string
|
|
|
+ status: string
|
|
|
+ taskId: number
|
|
|
+ }
|
|
|
+
|
|
|
+ type GetPersonalMarkDetail = BaseDefine<
|
|
|
+ MultipleQuery<{
|
|
|
+ markerId?: number | string
|
|
|
+ score?: number | string
|
|
|
+ }>,
|
|
|
+ MultipleResult<PersonalMarkDetail>
|
|
|
+ >
|
|
|
+
|
|
|
+ type UpdatePersonalMarkDetailScore = BaseDefine<{ taskId?: number; scores: number[] }>
|
|
|
+
|
|
|
+ interface SystemSpotListItem {
|
|
|
+ examNumber: string
|
|
|
+ filePath: string
|
|
|
+ id: number
|
|
|
+ mainNumber: number
|
|
|
+ markScore: number
|
|
|
+ markTime: string
|
|
|
+ markerName: string
|
|
|
+ secretNumber: number
|
|
|
+ status: string
|
|
|
+ taskId: number
|
|
|
+ }
|
|
|
+
|
|
|
+ type GetSystemSpotList = BaseDefine<
|
|
|
+ MultipleQuery<{
|
|
|
+ level: 'LEVEL_1' | 'LEVEL_2' | 'LEVEL_3' | 'LEVEL_4' | 'LEVEL_5' | ''
|
|
|
+ status: 'INITIAL' | 'VIEWED' | 'GRADED' | 'REJECT'
|
|
|
+ mainNumber?: number
|
|
|
+ }>,
|
|
|
+ MultipleResult<SystemSpotListItem>
|
|
|
+ >
|
|
|
+
|
|
|
+ /** 系统抽查卷打分 */
|
|
|
+ type MarkSystemSpotPaper = BaseDefine<{ id?: number; scores: number[] }>
|
|
|
+
|
|
|
+ /** 系统抽查卷打回 */
|
|
|
+ type RejectSystemSpotPaper = BaseDefine<{ description: string; id: number; reason: string }>
|
|
|
+
|
|
|
+ /** 系统抽查卷浏览 */
|
|
|
+ type ViewSystemSpotPaper = BaseDefine<{ id?: number }>
|
|
|
+
|
|
|
+ interface StatisticByGroup {
|
|
|
+ subjectCode: string
|
|
|
+ questionMainNumber?: number
|
|
|
+ markingGroupNumber?: number
|
|
|
+ startTime: string
|
|
|
+ endTime: string
|
|
|
+ }
|
|
|
+
|
|
|
+ interface StatisticByMarker {
|
|
|
+ markerId?: number
|
|
|
+ endTime: string
|
|
|
+ startTime: string
|
|
|
+ }
|
|
|
+
|
|
|
+ interface StatisticInfo {
|
|
|
+ count: number
|
|
|
+ rate: number
|
|
|
+ scoreEnd: number
|
|
|
+ scoreStart: number
|
|
|
+ }
|
|
|
+
|
|
|
+ interface StatisticResult {
|
|
|
+ segmentsByAll: StatisticInfo[]
|
|
|
+ segmentsByGroup: StatisticInfo[]
|
|
|
+ segmentsByUser: StatisticInfo[]
|
|
|
+ }
|
|
|
+
|
|
|
+ /** 决策分析-监控统计-客观题分数分布(按小组) */
|
|
|
+ type GetStatisticObjectiveByGroup = BaseDefine<StatisticByGroup, StatisticResult>
|
|
|
+
|
|
|
+ /** 决策分析-监控统计-客观题分数分布(按评卷员) */
|
|
|
+ type GetStatisticObjectiveByMarker = BaseDefine<StatisticByMarker, StatisticResult>
|
|
|
+
|
|
|
+ /** 决策分析-监控统计-主观题分数分布(按小组) */
|
|
|
+ type GetStatisticSubjectiveByGroup = BaseDefine<StatisticByGroup, StatisticResult>
|
|
|
+
|
|
|
+ /** 决策分析-监控统计-主观题分数分布(按评卷员) */
|
|
|
+ type GetStatisticSubjectiveByMarker = BaseDefine<StatisticByMarker, StatisticResult>
|
|
|
+
|
|
|
+ interface ApiMap {
|
|
|
+ /** 质量统计-自查一致性分析 */
|
|
|
+ selfCheckAnalysis: SelfCheckAnalysis
|
|
|
+ /** 质量统计-自查一致性分析-离差列表 */
|
|
|
+ selfCheckAnalysisDiffList: SelfCheckAnalysisDiffList
|
|
|
+ /** 质量统计- 自查数据详情 */
|
|
|
+ getSelfCheckDataDetail: GetSelfCheckDataDetail
|
|
|
+ /** 质量统计-自查数据打分 */
|
|
|
+ markSelfCheckData: MarkSelfCheckData
|
|
|
+ /** 质量统计-自查数据打回 */
|
|
|
+ rejectSelfCheckData: RejectSelfCheckData
|
|
|
+ /** 质量统计-抽查情况统计 */
|
|
|
+ statisticCheckOverview: StatisticCheckOverview
|
|
|
+ /** 质量统计-主观题校验 */
|
|
|
+ getSubjectiveCheckList: GetSubjectiveCheckList
|
|
|
+ /** 质量统计-主观题校验打分 */
|
|
|
+ subjectiveCheckMark: SubjectiveCheckMark
|
|
|
+ /** 质量统计-主观题校验确认 */
|
|
|
+ subjectiveCheckConfirm: SubjectiveCheckConfirm
|
|
|
+ /** 决策分析-评卷进度统计(整体) */
|
|
|
+ getMarkProgress: GetMarkProgress
|
|
|
+ /** 决策分析-评卷进度统计(按小组) */
|
|
|
+ getMarkProgressByGroup: GetMarkProgressByGroup
|
|
|
+ /** 决策分析-评卷进度统计(按评卷员) */
|
|
|
+ getMarkProgressByMarker: GetMarkProgressByMarker
|
|
|
+ /** 决策分析-评卷进度统计导出(按评卷员) */
|
|
|
+ exportMarkProgressByMarker: ExportMarkProgressByMarker
|
|
|
+ /** 质量统计-科目进度收尾 */
|
|
|
+ subjectProgressEnd: SubjectProgressEnd
|
|
|
+ /** 质量统计-收尾检查-评卷员未评卷列表(分页) */
|
|
|
+ unMarkPaperList: UnMarkPaperList
|
|
|
+ /** 质量统计-收尾检查-未处理雷同卷列表 */
|
|
|
+ unProcessSimilarList: UnProcessSimilarList
|
|
|
+ /** 质量统计-收尾检查-未处理问题卷列表 */
|
|
|
+ unProcessProblemList: UnProcessProblemList
|
|
|
+ /** 任务指定新评卷员 */
|
|
|
+ changeTaskMarker: ChangeTaskMarker
|
|
|
+ /** 决策分析-小组监控 */
|
|
|
+ getGroupMonitor: GetGroupMonitor
|
|
|
+ /** 决策分析-小组监控-抽查详情 */
|
|
|
+ getGroupMonitorDetail: GetGroupMonitorDetail
|
|
|
+ /** 决策分析-小组监控-抽查详情给分 */
|
|
|
+ markMonitorDetailTask: MarkMonitorDetailTask
|
|
|
+ /** 决策分析-监控统计(整体) */
|
|
|
+ getStatistics: GetStatistics
|
|
|
+
|
|
|
+ /** 决策分析-监控统计(按小组) */
|
|
|
+ getStatisticsByGroup: GetStatisticsByGroup
|
|
|
+ /** 决策分析-监控统计导出(按小组) */
|
|
|
+ exportStatisticsByGroup: ExportStatisticsByGroup
|
|
|
+ /** 决策分析-监控统计客观题&主观题分数分布 */
|
|
|
+ /**培训监控 */
|
|
|
+ getTrainingMonitor: GetTrainingMonitor
|
|
|
+ /**培训监控 - 培训卷调卷详情 */
|
|
|
+ getTrainingMonitorDetail: GetTrainingMonitorDetail
|
|
|
+ /**培训监控 - 强制考核卷调卷详情 */
|
|
|
+ getAssessMonitorDetail: GetAssessMonitorDetail
|
|
|
+ /**培训监控 - 强制考核卷审核 */
|
|
|
+ putAssessMonitorPass: PutAssessMonitorPass
|
|
|
+ /**培训监控 - 培训卷审核 */
|
|
|
+ putSampleMonitorPass: PutSampleMonitorPass
|
|
|
+ /** 个人统计 */
|
|
|
+ getPersonalStatistic: GetPersonalStatistic
|
|
|
+ /** 提取阅卷明细 */
|
|
|
+ getPersonalMarkDetail: GetPersonalMarkDetail
|
|
|
+ /** 提取阅卷明细 - 给分 */
|
|
|
+ updatePersonalMarkDetailScore: UpdatePersonalMarkDetailScore
|
|
|
+ /** 系统抽查卷 */
|
|
|
+ getSystemSpotList: GetSystemSpotList
|
|
|
+ /** 系统抽查卷打分 */
|
|
|
+ markSystemSpotPaper: MarkSystemSpotPaper
|
|
|
+ /** 系统抽查卷打回 */
|
|
|
+ rejectSystemSpotPaper: RejectSystemSpotPaper
|
|
|
+ /** 系统抽查卷浏览 */
|
|
|
+ viewSystemSpotPaper: ViewSystemSpotPaper
|
|
|
+ /** 决策分析-监控统计-客观题分数分布(按小组) */
|
|
|
+ getStatisticObjectiveByGroup: GetStatisticObjectiveByGroup
|
|
|
+ /** 决策分析-监控统计-客观题分数分布(按评卷员) */
|
|
|
+ getStatisticObjectiveByMarker: GetStatisticObjectiveByMarker
|
|
|
+ /** 决策分析-监控统计-主观题分数分布(按小组) */
|
|
|
+ getStatisticSubjectiveByGroup: GetStatisticSubjectiveByGroup
|
|
|
+ /** 决策分析-监控统计-主观题分数分布(按评卷员) */
|
|
|
+ getStatisticSubjectiveByMarker: GetStatisticSubjectiveByMarker
|
|
|
+ }
|
|
|
+}
|