123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312 |
- import { PageResult, PageParams } from './common';
- export interface SemesterItem {
- id: string;
- name: string;
- }
- export interface ExamItem {
- id: string;
- name: string;
- }
- export interface CourseItem {
- id: string;
- name: string;
- code: string;
- }
- export interface CourseQueryParams {
- semesterId: string;
- examId: string;
- }
- export interface PaperNumberQueryParams {
- semesterId: string;
- examId: string;
- courseId: string;
- }
- export interface CardData {
- id: string;
- content: string;
- }
- // task --------->
- export interface SplitConfig {
- /** index of sheets */
- i: number;
- /** 覆盖区域的width */
- w: number;
- /** 覆盖区域的height */
- h: number;
- /** 从哪里开始覆盖 左上角为 (0, 0) */
- x: number;
- /** 从哪里开始覆盖 左上角为 (0, 0) */
- y: number;
- }
- export interface Track {
- /** 大题号 */
- mainNumber: number;
- /** 小题号,当前api中只有number // 特殊标记中没有 */
- subNumber: number;
- /** 前端使用,暂时用不着,赋0 */
- number: number;
- /** 评分数 */
- score: number;
- /** 第几张图 */
- offsetIndex: number;
- /** 左上角为原点 */
- offsetX: number;
- offsetY: number;
- /** 是否此处未作答,未作答时,score默认是-0分 */
- unanswered: boolean;
- // 是否是复核员复核轨迹 headTrackList没有这个属性
- headerType: 'ARBITRATED' | 'MARKED' | null;
- userId: string;
- userName: string;
- color?: string;
- isByMultMark?: boolean;
- }
- export interface SpecialTag {
- /** 大题号 */
- mainNumber: number;
- /** 小题号,当前api中只有number */
- subNumber: number;
- /** 第几张图 */
- offsetIndex: number;
- /** 左上角为原点(原图的原点),及相对原图的位置比例 */
- offsetX: number;
- offsetY: number;
- /** 特殊标记的字符串,勾叉 */
- tagName: string;
- tagType: 'TEXT' | 'CIRCLE' | 'RIGHT' | 'WRONG' | 'HALF_RIGTH' | 'LINE';
- // 是否是复核员复核标记
- headerType: 'ARBITRATED' | 'MARKED' | null;
- userId: string;
- color?: string;
- isByMultMark?: boolean;
- }
- export interface Question {
- /** 任务序号 */
- taskId: string;
- /** 试题号 */
- questionId: string;
- /** 大题号 */
- mainNumber: number;
- /** 小题号 */
- subNumber: number;
- /** 分数间隔 */
- intervalScore: number;
- /** 默认分数 */
- defaultScore: number;
- /** 题目名称 */
- title: string;
- /** 得分;null的值时是为打回时可以被评卷修改的;null也是从未评分过的情况,要通过rejected来判断 */
- score: number | null;
- /** 限制最小分数 */
- minScore: number;
- /** 限制最大分数 */
- maxScore: number;
- /** 未计分 */
- uncalculate: boolean;
- /** 是否自己评卷,false时为他人评卷,给分板置灰 */
- selfMark: boolean;
- // 任务状态: WAIT_ARBITRATE:待仲裁,PROBLEM:问题卷
- status: 'WAIT_ARBITRATE' | 'PROBLEM' | 'WAITING' | 'MARKED';
- /** 轨迹列表 */
- markerTrackList: Array<Track>;
- // 科组长轨迹
- headerTrackList: Array<Track>;
- /** 选做题分组 */
- selectiveIndex: number | null;
- /** 无轨迹情况下评卷员打分信息 */
- markerList: null | Array<{
- // 是否是科组长
- header: boolean;
- loginName: string;
- score: number;
- userId: string;
- userName: string;
- }>;
- // 特殊标记列表
- markerTagList: Array<SpecialTag> | null;
- // 科组长特殊标记
- headerTagList: Array<SpecialTag> | null;
- // 是否打回
- rejected: boolean;
- // 打回原因
- rejectReason: string | null;
- // 打回前给分数据
- rejectScoreList: number[] | null;
- // 问题卷
- problem: boolean;
- // 问题卷类型
- problemType: string;
- // 问题卷备注
- problemRemark: string;
- questionName?: string;
- }
- export interface Task {
- // 考试id
- examId: string;
- /** 学生ID */
- studentId: string;
- /** 任务编号 */
- secretNumber: string;
- /** 学生名称 */
- studentName: string;
- /** 学生编号 */
- studentCode: string;
- /** 科目名称 */
- courseName: string;
- /** 科目编号 */
- courseCode: string;
- /** 试卷编号 */
- paperNumber: string;
- /** 试卷类型 */
- paperType: string;
- /** 最高显示优先级,有sliceConfig就用sliceConfig,否则使用sheetConfig */
- sliceConfig: Array<SplitConfig>;
- jsonUrl: string;
- questionList: Array<Question>;
- /** 原图url */
- sheetUrls: Array<string>;
- /** 客观分 复核也用到 */
- objectiveScore: number;
- /** 评卷总分 */
- markerScore: number;
- /** 评卷时间 */
- markerTime: number;
- }
- export type StudentObjectiveInfo = {
- studentId: string;
- studentName: string;
- studentCode: string;
- campusName: string;
- courseCode: string;
- courseName: string;
- paperNumber: string;
- objectiveScore: number;
- subjectiveScore: number;
- upload: boolean;
- absent: boolean;
- paperType: string;
- sheetUrls: Array<{ index: number; url: string; recogData: string }>;
- answers: Array<{
- mainNumber: number;
- subNumber: number;
- answer: string;
- exist: boolean;
- questionType: string;
- standardAnswer: string;
- score: number;
- totalScore: number;
- }>;
- titles: { [index: number]: string };
- success: boolean;
- };
- export interface MarkArea {
- mainNumber: number;
- subNumber: number;
- // 1: 单选 2: 多选 3: 判断 4: 填空 5: 问答
- questionType: 1 | 2 | 3 | 4 | 5;
- splitConfig: SplitConfig[];
- }
- // card --------->
- // page --------->
- export interface TrackExportListFilter {
- semesterId: string;
- examId: string;
- courseId: string;
- }
- export type TrackExportListParams = PageParams<TrackExportListFilter>;
- export interface TrackExportItem {
- examId: string;
- courseCode: string;
- courseName: string;
- paperNumber: string;
- studentCount: number;
- }
- export type TrackExportListPageRes = PageResult<TrackExportItem>;
- export interface TrackExportDetailListFilter {
- examId: string;
- paperNumber: string;
- college?: string;
- majorName?: string;
- teachClassName?: string;
- className?: string;
- studentName?: string;
- studentCode?: string;
- startStudentCode?: string;
- endStudentCode?: string;
- startScore?: number;
- endScore?: number;
- objectiveStartScore?: number;
- objectiveEndScore?: number;
- subjectiveStartScore?: number;
- subjectiveEndScore?: number;
- orderType?: string;
- orderField?: string;
- }
- export type TrackExportDetailListParams =
- PageParams<TrackExportDetailListFilter>;
- export interface TrackExportDetailItem {
- teachClassName: string; // 教学班
- className: string; // 行政班
- college: string;
- courseCode: string;
- courseName: string;
- examEndTime: number;
- examStartTime: number;
- majorName: number;
- studentCode: string;
- studentId: string;
- studentName: string;
- sheetUrls: string[] | null;
- totalScore: number;
- }
- export type TrackExportDetailListPageRes = PageResult<TrackExportDetailItem>;
- export interface SubjectiveQuestion extends Question {
- picList: SplitConfig[];
- // 1-单选,2-多选,3-判断,4-填空,5-问答
- questionType: 1 | 2 | 3 | 4 | 5;
- }
- export interface objectiveQuestion {
- mainNumber: number;
- subNumber: number;
- answer: string;
- exist: boolean;
- standardAnswer: string;
- score: number;
- totalScore: number;
- // 1-单选,2-多选,3-判断
- questionType: 1 | 2 | 3;
- }
- export interface StudentTrackTask {
- examId: string;
- studentId: string;
- secretNumber: string;
- studentName: string;
- studentCode: string;
- courseCode: string;
- courseName: string;
- paperNumber: string;
- paperType: string;
- objectiveScore: number;
- subjectiveScore: number;
- sheetUrls: Array<{ index: number; url: string; recogData: string }>;
- subjectiveQuestions: SubjectiveQuestion[];
- objectiveQuestions: objectiveQuestion[];
- cardContent: string;
- }
|