|
@@ -6,7 +6,8 @@ import {
|
|
|
NPopselect,
|
|
|
NModal,
|
|
|
useMessage,
|
|
|
- NSpin
|
|
|
+ NSpin,
|
|
|
+ NSelect
|
|
|
} from 'naive-ui';
|
|
|
import headerD from './images/headerD.png';
|
|
|
import defultHeade from '@/components/layout/images/teacherIcon.png';
|
|
@@ -27,7 +28,12 @@ import dayjs from 'dayjs';
|
|
|
import { gradeToCN, weekToCN } from '/src/utils/contants';
|
|
|
import { useCatchStore } from '/src/store/modules/catchData';
|
|
|
import TeachGroup from './modals/teachGroup';
|
|
|
-import { classGroupList, courseSchedulePage } from './api';
|
|
|
+import {
|
|
|
+ classGroupList,
|
|
|
+ courseSchedulePage,
|
|
|
+ getGradeLevelList,
|
|
|
+ getGradeYearList
|
|
|
+} from './api';
|
|
|
import TheEmpty from '/src/components/TheEmpty';
|
|
|
import HomeGuide from '/src/custom-plugins/guide-page/home-guide';
|
|
|
import TimerMeter from '/src/components/timerMeter';
|
|
@@ -62,7 +68,7 @@ export default defineComponent({
|
|
|
const showModalTime = ref(false);
|
|
|
const forms = reactive({
|
|
|
showAttendClass: false,
|
|
|
- useStatus: false,
|
|
|
+ // useStatus: false,
|
|
|
studentList: [] as any,
|
|
|
bookVersionId: null,
|
|
|
classGroupId: null,
|
|
@@ -80,9 +86,13 @@ export default defineComponent({
|
|
|
classSelect: {
|
|
|
currentGradeNum: null,
|
|
|
currentClass: null,
|
|
|
- name: ''
|
|
|
+ name: '',
|
|
|
+ gradeLevel: '',
|
|
|
+ gradeYear: null
|
|
|
} as any,
|
|
|
popSelectOptions: [] as any,
|
|
|
+ popSelectYearList: [] as any,
|
|
|
+ popSelectLevelList: [] as any,
|
|
|
showGuide: false,
|
|
|
showPreview: false,
|
|
|
itemPreview: {} as any
|
|
@@ -92,15 +102,15 @@ export default defineComponent({
|
|
|
// 学生列表
|
|
|
// getStdentList
|
|
|
|
|
|
- const onUseConfirm = (item: any) => {
|
|
|
- forms.classSelect = {
|
|
|
- currentGradeNum: item.currentGradeNum,
|
|
|
- currentClass: item.classGroupId,
|
|
|
- name: item.name
|
|
|
- };
|
|
|
+ // const onUseConfirm = (item: any) => {
|
|
|
+ // forms.classSelect = {
|
|
|
+ // currentGradeNum: item.currentGradeNum,
|
|
|
+ // currentClass: item.classGroupId,
|
|
|
+ // name: item.name
|
|
|
+ // };
|
|
|
|
|
|
- getCourseSchedulePage();
|
|
|
- };
|
|
|
+ // getCourseSchedulePage();
|
|
|
+ // };
|
|
|
|
|
|
// 获取年级班级
|
|
|
const getClassList = async () => {
|
|
@@ -112,11 +122,14 @@ export default defineComponent({
|
|
|
cList.forEach((item: any, index: number) => {
|
|
|
if (index === 0) {
|
|
|
const temp = item.classGroupList[0];
|
|
|
- forms.classSelect = {
|
|
|
- currentGradeNum: item.currentGradeNum,
|
|
|
- currentClass: temp.id,
|
|
|
- name: temp.name
|
|
|
- };
|
|
|
+ forms.classSelect.currentGradeNum = item.currentGradeNum;
|
|
|
+ forms.classSelect.currentClass = temp.id;
|
|
|
+ forms.classSelect.name = temp.name;
|
|
|
+ // = {
|
|
|
+ // currentGradeNum: item.currentGradeNum,
|
|
|
+ // currentClass: temp.id,
|
|
|
+ // name: temp.name
|
|
|
+ // };
|
|
|
}
|
|
|
|
|
|
const classList: any = [];
|
|
@@ -148,11 +161,52 @@ export default defineComponent({
|
|
|
}
|
|
|
};
|
|
|
|
|
|
+ // 获取学年
|
|
|
+ const getYearList = async () => {
|
|
|
+ try {
|
|
|
+ const { data } = await getGradeYearList();
|
|
|
+ console.log(data, 'data getYearList');
|
|
|
+ const temp = data || [];
|
|
|
+ temp.forEach((i: any) => {
|
|
|
+ i.name = i.name + '学年';
|
|
|
+ });
|
|
|
+ forms.popSelectYearList = temp || [];
|
|
|
+ if (temp.length > 0) {
|
|
|
+ forms.classSelect.gradeYear = temp[0].id;
|
|
|
+ }
|
|
|
+ } catch {
|
|
|
+ //
|
|
|
+ }
|
|
|
+ };
|
|
|
+ // 获取学级
|
|
|
+ const getLevelList = async () => {
|
|
|
+ try {
|
|
|
+ const { data } = await getGradeLevelList();
|
|
|
+ console.log(data, 'data getLevelList');
|
|
|
+ const temp = data || [];
|
|
|
+ temp.forEach((i: any) => {
|
|
|
+ i.name = i.name + '级';
|
|
|
+ });
|
|
|
+ temp.unshift({
|
|
|
+ id: '',
|
|
|
+ name: '全部学级'
|
|
|
+ });
|
|
|
+ forms.popSelectLevelList = temp || [];
|
|
|
+ if (temp.length > 0) {
|
|
|
+ forms.classSelect.gradeLevel = temp[0].id;
|
|
|
+ }
|
|
|
+ } catch {
|
|
|
+ //
|
|
|
+ }
|
|
|
+ };
|
|
|
+
|
|
|
const getCourseSchedulePage = async () => {
|
|
|
forms.classLoading = true;
|
|
|
try {
|
|
|
const { data } = await courseSchedulePage({
|
|
|
classGroupId: forms.classSelect.currentClass,
|
|
|
+ gradeLevel: forms.classSelect.gradeLevel,
|
|
|
+ gradeYear: forms.classSelect.gradeYear,
|
|
|
page: 1,
|
|
|
rows: 4,
|
|
|
teacherId: userStore.getUserInfo.id
|
|
@@ -193,8 +247,10 @@ export default defineComponent({
|
|
|
};
|
|
|
|
|
|
onMounted(async () => {
|
|
|
+ forms.classLoading = true;
|
|
|
+ await getYearList();
|
|
|
+ await getLevelList();
|
|
|
await getClassList();
|
|
|
-
|
|
|
await catchStore.getSubjects();
|
|
|
|
|
|
await getCourseSchedulePage();
|
|
@@ -210,65 +266,16 @@ export default defineComponent({
|
|
|
} else {
|
|
|
forms.showGuide = true;
|
|
|
}
|
|
|
- });
|
|
|
|
|
|
- // const formsRef = ref();
|
|
|
- // const gotoClassPage = () => {
|
|
|
- // formsRef.value.validate(async (error: any) => {
|
|
|
- // if (error) return;
|
|
|
- // try {
|
|
|
- // const { data } = await queryCourseware({
|
|
|
- // coursewareDetailKnowledgeId: forms.unit,
|
|
|
- // subjectId: forms.subjectId,
|
|
|
- // page: 1,
|
|
|
- // rows: 99
|
|
|
- // });
|
|
|
- // if (data.rows && data.rows.length > 0) {
|
|
|
- // await courseScheduleStart({
|
|
|
- // lessonCoursewareKnowledgeDetailId: forms.unit,
|
|
|
- // classGroupId: forms.applyClassItem?.classGroupId
|
|
|
- // });
|
|
|
-
|
|
|
- // if (window.matchMedia('(display-mode: standalone)').matches) {
|
|
|
- // forms.showPreview = true;
|
|
|
- // forms.itemPreview = {
|
|
|
- // type: 'class',
|
|
|
- // classGroupId: forms.applyClassItem?.classGroupId,
|
|
|
- // subjectId: forms.subjectId,
|
|
|
- // detailId: forms.unit
|
|
|
- // };
|
|
|
- // globalState.application = window.matchMedia(
|
|
|
- // '(display-mode: standalone)'
|
|
|
- // ).matches;
|
|
|
- // // 加全屏
|
|
|
- // fscreen();
|
|
|
- // } else {
|
|
|
- // const { href } = router.resolve({
|
|
|
- // path: '/attend-class',
|
|
|
- // query: {
|
|
|
- // type: 'class',
|
|
|
- // classGroupId: forms.applyClassItem?.classGroupId,
|
|
|
- // subjectId: forms.subjectId,
|
|
|
- // detailId: forms.unit
|
|
|
- // }
|
|
|
- // });
|
|
|
- // window.open(href, +new Date() + '');
|
|
|
- // }
|
|
|
- // } else {
|
|
|
- // message.error('当前章节暂无课件,请重新选择');
|
|
|
- // }
|
|
|
- // } catch {
|
|
|
- // //
|
|
|
- // }
|
|
|
- // });
|
|
|
+ forms.classLoading = false;
|
|
|
+ });
|
|
|
+ // const clearStorng = () => {
|
|
|
+ // localStorage.removeItem('teacher-guideInfo');
|
|
|
+ // forms.showGuide = false;
|
|
|
+ // setTimeout(() => {
|
|
|
+ // forms.showGuide = true;
|
|
|
+ // }, 500);
|
|
|
// };
|
|
|
- const clearStorng = () => {
|
|
|
- localStorage.removeItem('teacher-guideInfo');
|
|
|
- forms.showGuide = false;
|
|
|
- setTimeout(() => {
|
|
|
- forms.showGuide = true;
|
|
|
- }, 500);
|
|
|
- };
|
|
|
|
|
|
return () => (
|
|
|
<div class={styles.homeWrap}>
|
|
@@ -395,39 +402,66 @@ export default defineComponent({
|
|
|
<div class={styles.titleDot}></div>上课记录
|
|
|
</h3>
|
|
|
{forms.classSelect.name && (
|
|
|
- <NPopselect
|
|
|
- v-model:value={forms.classSelect.currentClass}
|
|
|
- options={forms.popSelectOptions}
|
|
|
- trigger="click"
|
|
|
- onUpdate:value={(val: any) => {
|
|
|
- console.log(val, '1212');
|
|
|
- forms.popSelectOptions.forEach((item: any) => {
|
|
|
- if (item.value === val) {
|
|
|
- forms.classSelect = {
|
|
|
- currentGradeNum: item.currentGradeNum,
|
|
|
- currentClass: item.value,
|
|
|
- name: item.label
|
|
|
- };
|
|
|
- getCourseSchedulePage();
|
|
|
- }
|
|
|
- });
|
|
|
- }}>
|
|
|
- <div
|
|
|
- class={styles.lookMore}
|
|
|
- // onClick={() => (forms.useStatus = true)}
|
|
|
- >
|
|
|
- {forms.classSelect.name}
|
|
|
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
|
|
|
- <path
|
|
|
- d="M6 9l6 6l6-6"
|
|
|
- fill="none"
|
|
|
- stroke="currentColor"
|
|
|
- stroke-width="2"
|
|
|
- stroke-linecap="round"
|
|
|
- stroke-linejoin="round"></path>
|
|
|
- </svg>
|
|
|
- </div>
|
|
|
- </NPopselect>
|
|
|
+ <div class={styles.classSearchList}>
|
|
|
+ <NSelect
|
|
|
+ v-model:value={forms.classSelect.currentClass}
|
|
|
+ class={styles.lookMoreSearch}
|
|
|
+ placeholder="选择班级"
|
|
|
+ options={forms.popSelectOptions}
|
|
|
+ onUpdate:value={(val: any) => {
|
|
|
+ forms.popSelectOptions.forEach((item: any) => {
|
|
|
+ if (item.value === val) {
|
|
|
+ forms.classSelect.currentGradeNum =
|
|
|
+ item.currentGradeNum;
|
|
|
+ forms.classSelect.currentClass = item.value;
|
|
|
+ forms.classSelect.name = item.label;
|
|
|
+ getCourseSchedulePage();
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }}></NSelect>
|
|
|
+ <NSelect
|
|
|
+ v-model:value={forms.classSelect.gradeYear}
|
|
|
+ class={styles.lookMoreSearch}
|
|
|
+ placeholder="全部学年"
|
|
|
+ options={forms.popSelectYearList}
|
|
|
+ labelField="name"
|
|
|
+ valueField="id"
|
|
|
+ onUpdate:value={(val: any) => {
|
|
|
+ // forms.popSelectOptions.forEach((item: any) => {
|
|
|
+ // if (item.value === val) {
|
|
|
+ // forms.classSelect = {
|
|
|
+ // currentGradeNum: item.currentGradeNum,
|
|
|
+ // currentClass: item.value,
|
|
|
+ // name: item.label
|
|
|
+ // };
|
|
|
+ // getCourseSchedulePage();
|
|
|
+ // }
|
|
|
+ // });
|
|
|
+ forms.classSelect.gradeYear = val;
|
|
|
+ getCourseSchedulePage();
|
|
|
+ }}></NSelect>
|
|
|
+ <NSelect
|
|
|
+ v-model:value={forms.classSelect.gradeLevel}
|
|
|
+ class={styles.lookMoreSearch}
|
|
|
+ placeholder="全部学级"
|
|
|
+ options={forms.popSelectLevelList}
|
|
|
+ labelField="name"
|
|
|
+ valueField="id"
|
|
|
+ onUpdate:value={(val: any) => {
|
|
|
+ // forms.popSelectOptions.forEach((item: any) => {
|
|
|
+ // if (item.value === val) {
|
|
|
+ // forms.classSelect = {
|
|
|
+ // currentGradeNum: item.currentGradeNum,
|
|
|
+ // currentClass: item.value,
|
|
|
+ // name: item.label
|
|
|
+ // };
|
|
|
+ // getCourseSchedulePage();
|
|
|
+ // }
|
|
|
+ // });
|
|
|
+ forms.classSelect.gradeLevel = val;
|
|
|
+ getCourseSchedulePage();
|
|
|
+ }}></NSelect>
|
|
|
+ </div>
|
|
|
)}
|
|
|
</div>
|
|
|
<NSpin show={forms.classLoading} style={{ minHeight: '40vh' }}>
|
|
@@ -470,7 +504,7 @@ export default defineComponent({
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
- <NModal
|
|
|
+ {/* <NModal
|
|
|
v-model:show={forms.useStatus}
|
|
|
preset="card"
|
|
|
showIcon={false}
|
|
@@ -486,7 +520,7 @@ export default defineComponent({
|
|
|
onConfirm={(item: any) => onUseConfirm(item)}
|
|
|
onClose={() => (forms.useStatus = false)}
|
|
|
/>
|
|
|
- </NModal>
|
|
|
+ </NModal> */}
|
|
|
|
|
|
<NModal
|
|
|
class={['modalTitle background']}
|