显示班级
build / build (push) Successful in 6m37s

This commit is contained in:
wanghu
2026-10-14 17:09:15 +08:00
parent 3f161babb6
commit e634646610
2 changed files with 11 additions and 4 deletions
+2
View File
@@ -100,6 +100,8 @@ export interface MyClassVo {
classId: number; classId: number;
className: string | null; className: string | null;
gradeName: string | null; gradeName: string | null;
/** 年级是否启用课表查看(排课情况年级设置;缺省视为启用,兜底旧后端) */
gradeEnabled?: boolean | null;
/** 是否班主任(正/副班主任) */ /** 是否班主任(正/副班主任) */
headTeacher: boolean; headTeacher: boolean;
/** 是否展示全部科目 */ /** 是否展示全部科目 */
+9 -4
View File
@@ -50,6 +50,10 @@
<b>暂无可查看的班级</b><br /> <b>暂无可查看的班级</b><br />
管理员/校领导需确认学校已建班级;老师需确认已在班级服务中维护班主任或任教关系;学生需确认学籍班级已维护。 管理员/校领导需确认学校已建班级;老师需确认已在班级服务中维护班主任或任教关系;学生需确认学籍班级已维护。
</div> </div>
<div v-else-if="!viewClasses.length" class="mt-empty">
<b>当前年级均未启用课表查看</b><br />
请联系管理员在「排课情况」对应年级打开「启用」开关。
</div>
<div v-else-if="!activeId" class="mt-empty"><b>请选择班级</b></div> <div v-else-if="!activeId" class="mt-empty"><b>请选择班级</b></div>
<!-- 年级设置(排课情况页按年级统一配置):未启用 / 电子版照片版均未勾选时不展示课表 --> <!-- 年级设置(排课情况页按年级统一配置):未启用 / 电子版照片版均未勾选时不展示课表 -->
<div v-else-if="!gradeEnabled" class="mt-empty"> <div v-else-if="!gradeEnabled" class="mt-empty">
@@ -297,11 +301,12 @@ const availableViews = computed<Array<{ key: ViewMode; label: string }>>(() => {
/** 多身份才需要切换;单身份固定展示无需切换 */ /** 多身份才需要切换;单身份固定展示无需切换 */
const showViewSwitcher = computed(() => availableViews.value.length > 1); const showViewSwitcher = computed(() => availableViews.value.length > 1);
/** 当前身份视图下的班级:管理员=全部;班主任=所带班级;任教=任教班级 */ /** 当前身份视图下的班级:管理员=全部;班主任=所带班级;任教=任教班级;均只保留年级已启用的(排课情况年级设置,缺省视为启用兜底旧数据) */
const viewClasses = computed<MyClassVo[]>(() => { const viewClasses = computed<MyClassVo[]>(() => {
if (viewMode.value === "head") return classes.value.filter((c) => c.headTeacher); const enabled = (c: MyClassVo) => c.gradeEnabled !== false;
if (viewMode.value === "teacher") return classes.value.filter((c) => (c.subjects || []).length > 0); if (viewMode.value === "head") return classes.value.filter((c) => c.headTeacher && enabled(c));
return classes.value; if (viewMode.value === "teacher") return classes.value.filter((c) => (c.subjects || []).length > 0 && enabled(c));
return classes.value.filter(enabled);
}); });
/** 题注身份视图徽标文案(无身份视图时兜底「全部科目」,如学生) */ /** 题注身份视图徽标文案(无身份视图时兜底「全部科目」,如学生) */