refacotr: 小修改
continuous-integration/drone/push Build is passing Details

This commit is contained in:
张哲铜 2025-11-26 23:12:07 +08:00
parent 8e05abbd2c
commit 28f847de75
7 changed files with 82 additions and 114 deletions

View File

@ -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) {
<text class="text-xs text-blue-600"> {{ task.exam_type }}</text>
</view>
<text class="text-xs text-green-600">考试ID: {{ task.exam_id }}</text>
<text class="text-xs text-green-600">年级: {{ gradeLabel }}</text>
</view>
</view>
@ -160,9 +165,8 @@ function navigateToQuality(subjectId: number) {
<view v-else class="flex space-x-2">
<view
class="rounded-md bg-orange-100 px-3 py-1"
@click="handleEnterMarking(subject)"
>
<text class="flex items-center text-xs text-orange-600">
<text class="flex items-center text-xs text-orange-600" @click="handleEnterMarking(subject)">
进入阅卷
</text>
</view>

View File

@ -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)
},

View File

@ -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];
}

View File

@ -327,7 +327,7 @@ export async function examStatisticsStatisConfigUsingGet({
}) {
return request<
API.Response & {
data?: unknown;
data?: Record<string, unknown>;
}
>('/exam-statistics/statis-config', {
method: 'GET',

View File

@ -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,

View File

@ -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,

View File

@ -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 */
/** 科目ID0表示总分 */
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 = {