diff --git a/src/components/marking/TaskCard.vue b/src/components/marking/TaskCard.vue
index 12ae21d..367056f 100644
--- a/src/components/marking/TaskCard.vue
+++ b/src/components/marking/TaskCard.vue
@@ -21,6 +21,7 @@ const task = computed(() => props.task as ExamMarkingTaskResponse)
// 字典数据
const { getDictOptionsAndGetLabel } = useDict()
const [taskStatusDict, getTaskStatusLabel] = getDictOptionsAndGetLabel('task_status')
+const [gradeDict, getGradeLabel] = getDictOptionsAndGetLabel('grade')
// 格式化时间
function formatDate(date?: string): string {
@@ -29,6 +30,10 @@ function formatDate(date?: string): string {
return dayjs(date).format('MM-DD HH:mm')
}
+const gradeLabel = computed(() => {
+ return getGradeLabel(task.value.exam_grade)
+})
+
const statusText = computed(() => {
return props.task.subjects.map(subject => getTaskStatusLabel(subject.marking_status))
})
@@ -49,10 +54,9 @@ function getStatusTagType(status?: string): 'primary' | 'success' | 'warning' |
// 进入阅卷
function handleEnterMarking(subject: SubjectInfo) {
- // 已统分的考试不能进入
- if (props.task.is_scored) {
+ if (subject.is_calculated) {
uni.showToast({
- title: '已完成,不能再进入',
+ title: '已统分,不能进入阅卷',
icon: 'none',
})
return
@@ -109,6 +113,7 @@ function navigateToQuality(subjectId: number) {
{{ task.exam_type }}
考试ID: {{ task.exam_id }}
+ 年级: {{ gradeLabel }}
@@ -160,9 +165,8 @@ function navigateToQuality(subjectId: number) {
-
+
进入阅卷
diff --git a/src/pages/student/answer-sheet.vue b/src/pages/student/answer-sheet.vue
index 0262915..76e93da 100644
--- a/src/pages/student/answer-sheet.vue
+++ b/src/pages/student/answer-sheet.vue
@@ -20,7 +20,7 @@ const {
isLoading,
error,
} = useQuery({
- queryKey: ['studentAnswerSheet', infoId.value, selectedSubjectId.value],
+ queryKey: ['studentAnswerSheet', infoId, selectedSubjectId],
queryFn: async () => {
return await teacherScoreAnalysisApi.teacherAnalysisDetail(infoId.value)
},
diff --git a/src/service/displayEnumLabel.ts b/src/service/displayEnumLabel.ts
index fc7b8eb..e70e643 100644
--- a/src/service/displayEnumLabel.ts
+++ b/src/service/displayEnumLabel.ts
@@ -47,13 +47,5 @@ export function displayQueryModeEnum6(field: API.Query_modeEnum6) {
}
export function displayQueryModeEnum7(field: API.Query_modeEnum7) {
- return { school: 'school', class: 'class' }[field];
-}
-
-export function displayQueryModeEnum8(field: API.Query_modeEnum8) {
return { class: 'class', school: 'school' }[field];
}
-
-export function displayStatisticsModeEnum(field: API.Statistics_modeEnum) {
- return { segmented: 'segmented', cumulative: 'cumulative' }[field];
-}
diff --git a/src/service/kaoshitongji.ts b/src/service/kaoshitongji.ts
index ea18511..b48ffdb 100644
--- a/src/service/kaoshitongji.ts
+++ b/src/service/kaoshitongji.ts
@@ -327,7 +327,7 @@ export async function examStatisticsStatisConfigUsingGet({
}) {
return request<
API.Response & {
- data?: unknown;
+ data?: Record;
}
>('/exam-statistics/statis-config', {
method: 'GET',
diff --git a/src/service/laoshichengjifenxi.ts b/src/service/laoshichengjifenxi.ts
index 00d27bd..ffdd8ca 100644
--- a/src/service/laoshichengjifenxi.ts
+++ b/src/service/laoshichengjifenxi.ts
@@ -71,7 +71,7 @@ export async function teacherAnalysisClassExamComparisonUsingPost({
});
}
-/** 获取班级考试对比(横向对比) 获取指定班级的所有考试对比数据,包括班级平均分、年级平均分、班级排名、学科名字、学科ID POST /teacher-analysis/class-exam-comparison-horizontal */
+/** 获取班级考试对比(横向对比) 获取指定班级的所有考试对比数据 POST /teacher-analysis/class-exam-comparison-horizontal */
export async function teacherAnalysisClassExamComparisonHorizontalUsingPost({
body,
options,
diff --git a/src/service/laoshixiaotichengjifenxi.ts b/src/service/laoshixiaotichengjifenxi.ts
index 1458fc5..7f90f2f 100644
--- a/src/service/laoshixiaotichengjifenxi.ts
+++ b/src/service/laoshixiaotichengjifenxi.ts
@@ -5,7 +5,7 @@ import { CustomRequestOptions } from '@/http/types';
import * as API from './types';
-/** 获取题目统计信息 获取某次考试的题目统计信息 POST /teacher-analysis/question-detail */
+/** 获取某次考试的题目统计信息 获取某次考试的题目统计信息 POST /teacher-analysis/question-detail */
export async function teacherAnalysisQuestionDetailUsingPost({
body,
options,
@@ -27,7 +27,7 @@ export async function teacherAnalysisQuestionDetailUsingPost({
});
}
-/** 获取题目统计信息 获取某次考试的题目统计信息 POST /teacher-analysis/question-score-detail */
+/** 获取某次考试的题目得分学生清单 获取某次考试的题目得分学生清单 POST /teacher-analysis/question-score-detail */
export async function teacherAnalysisQuestionScoreDetailUsingPost({
body,
options,
@@ -49,7 +49,7 @@ export async function teacherAnalysisQuestionScoreDetailUsingPost({
});
}
-/** 获取题目统计信息 获取最近几次的题目统计信息 POST /teacher-analysis/question-stat */
+/** 获取题目统计信息 获取最近几次的题目统计信息 POST /teacher-analysis/question-stat */
export async function teacherAnalysisQuestionStatUsingPost({
body,
options,
diff --git a/src/service/types.ts b/src/service/types.ts
index 0fea05c..5ad0def 100644
--- a/src/service/types.ts
+++ b/src/service/types.ts
@@ -278,10 +278,10 @@ export type ClassExamComparisonRequest = {
};
export type ClassExamComparisonRequestH = {
- /** 考试ID */
- exam_id: number;
/** 班级 */
class_key: number;
+ /** 考试ID */
+ exam_id: number;
/** 年级 */
grade_key: number;
/** 科目ID */
@@ -376,6 +376,14 @@ export type ClassTopNCountItem = {
exam_date?: string;
};
+export type ClassTrendData = {
+ class_avg_score?: number;
+ class_key?: number;
+ class_name?: string;
+ class_rank?: number;
+ class_top_count?: number;
+};
+
export type CodeLoginRequest = {
/** 验证码 */
code: string;
@@ -459,11 +467,10 @@ export type CreateSysUserRequest = {
export type CreateTeacherAttentionStudentRequest = {
/** 备注 */
+ is_attention?: boolean;
remark?: string;
/** 学生学号 */
student_number: string;
- /** 是否关注传入的学生 */
- is_attention?: boolean;
};
export type CreateUploadSessionRequest = {
@@ -598,16 +605,16 @@ export type ExamComparisonItem = {
};
export type ExamComparisonItemH = {
+ /** 班级平均分 */
+ class_average?: number;
+ /** 班级排名 */
+ class_rank?: number;
+ /** 年级平均分 */
+ grade_average?: number;
/** 科目ID */
subject_id?: number;
/** 科目名称 */
subject_name?: string;
- /** 班级平均分 */
- class_average?: number;
- /** 年级平均分 */
- grade_average?: number;
- /** 班级排名 */
- class_rank?: number;
};
export type ExamMarkingTaskListResponse = {
@@ -624,6 +631,8 @@ export type ExamMarkingTaskListResponse = {
export type ExamMarkingTaskResponse = {
/** 考试时间 */
exam_date?: string;
+ /** 年级 */
+ exam_grade?: string;
/** 考试ID */
exam_id?: number;
/** 考试名称 */
@@ -1097,18 +1106,17 @@ export type GetPersonalReportResponse = {
};
export type GetQuestionDetailRequest = {
+ /** 查询本班级 */
+ class_key: number;
/** 考试ID */
exam_id: number;
- /** 年级参数 */
+ /** 考试年级 */
grade_key: number;
- /** 查询班级 */
- class_key: number;
/** 考试科目ID */
subject_id: number;
};
export type GetQuestionDetailResponse = {
- /** 题目统计列表 */
question_detail_list?: QuestionStatInfo[];
};
@@ -1136,20 +1144,19 @@ export type GetQuestionMarkingQualityResponse = {
};
export type GetQuestionStatRequest = {
- /** 年级参数 */
- grade_key: number;
- /** 查询班级 */
+ /** 查询本班级 */
class_key: number;
+ /** 考试年级 */
+ grade_key: number;
/** 页码 */
page: number;
- /** 考试科目ID */
- subject_id: number;
/** 每页大小 */
page_size: number;
+ /** 考试科目ID */
+ subject_id: number;
};
export type GetQuestionStatResponse = {
- /** 题目统计列表 */
exam_question_list?: ExamQuestionStat[];
};
@@ -1315,18 +1322,17 @@ export type GetStudentMarkingQualityResponse = {
};
export type GetTrendRequest = {
- /** 年级参数 */
- grade_key: number;
- /** 查询班级 */
+ /** 查询本班级 */
class_key: number;
- /** 对比的年级 */
+ /** 查询对比班级 */
class_key_compare: number;
+ /** 查询最近几次考试的成绩 */
+ exam_number?: number;
+ grade_key: number;
/** 考试科目ID */
subject_id?: number;
/** 查看年级前N名人数 */
top_n: number;
- /** 查询最近几次考试的成绩 */
- exam_number?: number;
};
export type GetTrendResponse = {
@@ -1402,14 +1408,14 @@ export type KeyStudentInfo = {
grade_diff_rank?: number;
/** 年级排名 */
grade_rank?: number;
+ /** 是否关注 */
+ is_attention?: boolean;
/** 学生考试号 */
student_exam_number?: string;
/** 学生姓名 */
student_name?: string;
/** 学生学号 */
student_number?: string;
- /** 是否关注 */
- is_attention?: boolean;
};
export type LearningSituationAnalysis = {
@@ -1915,19 +1921,12 @@ export enum Query_modeEnum6 {
export type IQuery_modeEnum6 = keyof typeof Query_modeEnum6;
export enum Query_modeEnum7 {
- 'school' = 'school',
'class' = 'class',
+ 'school' = 'school',
}
export type IQuery_modeEnum7 = keyof typeof Query_modeEnum7;
-export enum Query_modeEnum8 {
- 'class' = 'class',
- 'school' = 'school',
-}
-
-export type IQuery_modeEnum8 = keyof typeof Query_modeEnum8;
-
export type QuestionAnalysisExcelExportRequest = {
/** 分析类型 */
analysis_type: 'question' | 'major_question' | 'objective_subjective';
@@ -2198,30 +2197,28 @@ export type QuestionRankingResponse = {
};
export type QuestionStatInfo = {
+ /** 班级平均分 */
+ class_avg_score?: number;
+ /** 班级得分率 */
+ class_score_rate?: number;
+ /** 年级平均分 */
+ grade_avg_score?: number;
+ /** 年级得分率 */
+ grade_score_rate?: number;
+ /** 题目总个数 */
+ question_count?: number;
+ /** 题目满分 */
+ question_full_score?: number;
/** 题目ID */
question_id?: number;
/** 题目名称 */
question_name?: string;
/** 题目类型 */
question_type?: string;
- /** 题目满分 */
- question_full_score?: unknown;
- /** 题目总个数 */
- question_count?: number;
- /** 班级平均分 */
- class_avg_score?: number;
- /** 年级平均分 */
- grade_avg_score?: number;
- /** 班级得分率 */
- class_score_rate?: number;
- /** 年级得分率 */
- grade_score_rate?: number;
/** 得分率差 */
rate_point_diff?: number;
/** 学生得分统计列表 */
student_score_list?: StudentScoreStat[];
- /** 题目排序权重 */
- order?: number;
};
export type RankStatDetail = {
@@ -2249,31 +2246,12 @@ export type RankStatisticsItem = {
};
export type RankStatisticsRequest = {
- /** 考试ID,必填 */
+ /** 班级字典key列表(class模式时必填) */
+ class_id?: number;
+ /** 考试ID */
exam_id: number;
- /** 科目ID */
+ /** 科目ID,0表示总分 */
subject_id?: number;
- /** 查询模式:school/class */
- query_mode?: 'school' | 'class';
- /** 学校ID列表(school模式时必填) */
- school_ids?: number[];
- /** 班级ID列表(class模式时必填) */
- class_ids: number[];
- /** 名次段列表,如[{"name":"前10名","start":1,"end":10}] */
- rank_ranges: {
- /** 名次段名称 */
- name?: string;
- /** 起始名次 */
- start?: number;
- /** 结束名次 */
- end?: number;
- }[];
- /** 统计模式:segmented(分段)/cumulative(累计),默认cumulative */
- statistics_mode?: 'segmented' | 'cumulative';
- /** 教师ID,用于权限过滤 */
- teacher_id?: number;
- /** 角色标识,用于权限过滤 */
- role_key?: number;
};
export type RankStatisticsResponse = {
@@ -2602,18 +2580,18 @@ export type ScoreSheetInfo = {
full_score?: number;
/** 年级排名 */
grade_rank?: number;
+ /** 答题卡ID */
+ info_id?: number;
/** 成绩等级 */
score_level?: string;
+ /** 单科成绩 */
+ single_subject_score_list?: SingleSubjectScore[];
/** 学生考试号 */
student_exam_number?: string;
/** 学生姓名 */
student_name?: string;
/** 学生学号 */
student_number?: string;
- /** 单科成绩 */
- single_subject_score_list?: SingleSubjectScore[];
- /** 答题卡ID */
- info_id?: number;
};
export type ScoreTrendItem = {
@@ -2660,23 +2638,12 @@ export type SetProblemRecordResponse = {
};
export type SingleSubjectScore = {
- /** 科目ID */
- subject_id?: number;
- /** 科目名称 */
- subject_name?: string;
- /** 单科成绩 */
- subject_score?: number;
- /** 答题卡ID */
info_id?: number;
+ subject_id?: number;
+ subject_name?: string;
+ subject_score?: number;
};
-export enum Statistics_modeEnum {
- 'segmented' = 'segmented',
- 'cumulative' = 'cumulative',
-}
-
-export type IStatistics_modeEnum = keyof typeof Statistics_modeEnum;
-
export type StatisticsAnalysisExcelExportRequest = {
/** 分析类型:rank/score/percentile */
analysis_type: string;
@@ -2977,10 +2944,10 @@ export type StudentScoreStat = {
score?: number;
/** 取得这分数的学生个数 */
student_count?: number;
- /** 获得这个分数的学生占比 */
- student_rate?: number;
/** 获得这个分数的学生名单 */
student_list?: StudentInfo[];
+ /** 获得这个分数的学生占比 */
+ student_rate?: number;
};
export type SubjectAnalysisDetail = {
@@ -3091,8 +3058,12 @@ export type SubjectInfo = {
evaluate_method?: string;
/** 考试科目ID */
exam_subject_id?: number;
+ /** 是否已统分: 0-否, 1-是 */
+ is_calculated?: number;
/** 是否存在问题卷 */
is_problem_pending?: boolean;
+ /** 是否已发布: 0-否, 1-是 */
+ is_published?: number;
/** 阅卷状态 */
marking_status?: string;
/** 题目数量 */
@@ -3388,6 +3359,8 @@ export type TeacherMarkingDetail = {
export type TeacherMarkingTasksResponse = {
/** 当前任务(最近一次考试) */
current_task?: ExamMarkingTaskResponse;
+ /** 当前任务(当前考试) */
+ current_tasks?: ExamMarkingTaskListResponse;
/** 历次任务(历史考试) */
history_tasks?: ExamMarkingTaskListResponse;
};
@@ -3429,8 +3402,7 @@ export type TrendInfo = {
exam_id?: number;
/** 考试名称 */
exam_name?: string;
- /** 年级走势数据 */
- trend_data?: unknown[];
+ trend_data?: ClassTrendData[];
};
export type UnifiedConfigData = {