fix: default student management to owned class

bugfix/ai-assessment-evidence-rescore
陈沅 1 month ago
parent bb10f97e0c
commit d5a5057132

@ -441,7 +441,8 @@ const getClassList = () => {
}; };
const selectDefaultStudentClass = () => { const selectDefaultStudentClass = () => {
if (!isManagerTeacher.value && !paramsquery.value.schoolClassId) { if (!isManagerTeacher.value && !paramsquery.value.schoolClassId) {
paramsquery.value.schoolClassId = teachingClassOptions.value[0]?.schoolClassId || ""; const ownTeachingClass = teachingClassOptions.value.find((schoolClass) => sameValue(schoolClass.createdBy, currentUserId.value));
paramsquery.value.schoolClassId = ownTeachingClass?.schoolClassId || "";
} }
}; };
const handleClassFilterChange = () => { const handleClassFilterChange = () => {

@ -10,8 +10,9 @@ assert(page.includes("const isManagerTeacher = computed(() => userStore.userInfo
assert(page.includes("const studentClassOptions = computed(() => teachingClassOptions.value);"), "学生筛选下拉框必须只展示教学班"); assert(page.includes("const studentClassOptions = computed(() => teachingClassOptions.value);"), "学生筛选下拉框必须只展示教学班");
assert(page.includes("isManagerTeacher.value || sameValue(schoolClass.createdBy, currentUserId.value)"), "教师管理员必须可查看本校全部教学班"); assert(page.includes("isManagerTeacher.value || sameValue(schoolClass.createdBy, currentUserId.value)"), "教师管理员必须可查看本校全部教学班");
assert(page.includes(".sort((left, right) => classCreateTime(left) - classCreateTime(right))"), "普通教师的班级选项必须按创建时间升序排列"); assert(page.includes(".sort((left, right) => classCreateTime(left) - classCreateTime(right))"), "普通教师的班级选项必须按创建时间升序排列");
assert(page.includes("if (!isManagerTeacher.value && !paramsquery.value.schoolClassId)"), "普通教师必须默认选中自己最早创建的教学班"); assert(page.includes("if (!isManagerTeacher.value && !paramsquery.value.schoolClassId)"), "普通教师必须默认选择自己的教学班");
assert(page.includes('paramsquery.value.schoolClassId = teachingClassOptions.value[0]?.schoolClassId || "";'), "默认班级必须取排序后的第一个教学班"); assert(page.includes("const ownTeachingClass = teachingClassOptions.value.find((schoolClass) => sameValue(schoolClass.createdBy, currentUserId.value));"), "默认班级必须按创建人匹配当前教师");
assert(page.includes('paramsquery.value.schoolClassId = ownTeachingClass?.schoolClassId || "";'), "没有本人创建的班级时,默认值必须保持为空");
assert(/await getClassList\(\);\r?\n\s*selectDefaultStudentClass\(\);\r?\n\s*getList\(\);/.test(page), "学生列表必须在默认班级确定后查询"); assert(/await getClassList\(\);\r?\n\s*selectDefaultStudentClass\(\);\r?\n\s*getList\(\);/.test(page), "学生列表必须在默认班级确定后查询");
assert(page.includes('@change="handleClassFilterChange"'), "切换班级后必须立即刷新学生列表"); assert(page.includes('@change="handleClassFilterChange"'), "切换班级后必须立即刷新学生列表");
assert(page.includes("const resolveRowTeachingClassId = (row) =>"), "未选择班级时操作必须从学生行解析教学班"); assert(page.includes("const resolveRowTeachingClassId = (row) =>"), "未选择班级时操作必须从学生行解析教学班");

@ -0,0 +1,19 @@
import assert from "node:assert/strict";
import { readFileSync } from "node:fs";
import { resolve } from "node:path";
const root = resolve(import.meta.dirname, "..");
const page = readFileSync(resolve(root, "src/views/teacherEnd/student/index.vue"), "utf8");
assert.match(
page,
/const ownTeachingClass = teachingClassOptions\.value\.find\(\(schoolClass\) => sameValue\(schoolClass\.createdBy, currentUserId\.value\)\);/,
"学生管理应识别当前教师本人创建的教学班"
);
assert.match(
page,
/paramsquery\.value\.schoolClassId = ownTeachingClass\?\.schoolClassId \|\| "";/,
"首次进入学生管理应默认选中本人创建的班级;不存在时保持未选择"
);
console.log("student management prefers the current teacher's own class by default");
Loading…
Cancel
Save