| 
					
				 | 
			
			
				@@ -1,4 +1,4 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import { computed, defineComponent, reactive } from 'vue'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { defineComponent, onMounted, reactive, ref } from 'vue'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import styles from './index.module.less'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   NImage, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -8,11 +8,13 @@ import { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   NFormItem, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   NSelect, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   NSpace, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  NModal 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  NModal, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  NCascader, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  useMessage, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  NSpin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } from 'naive-ui'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import headerD from './images/headerD.png'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import defultHeade from '@/components/layout/images/teacherIcon.png'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import TeachList from './components/teachList'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import blackBoardBg from './images/blackboard_bg.png'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import teacherMan from './images/teacher_man.png'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import teacherWoman from './images/teacher_woman.png'; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -28,25 +30,66 @@ import { useRouter } from 'vue-router'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import { useUserStore } from '/src/store/modules/users'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import SelectClass from './modals/selectClass'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import dayjs from 'dayjs'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import { weekToCN } from '/src/utils/contants'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import { getCLassStudent } from '../classList/api'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { gradeToCN, weekToCN } from '/src/utils/contants'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { getCLassStudent, getCourseChapter } from '../classList/api'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { useCatchStore } from '/src/store/modules/catchData'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { useThrottleFn } from '@vueuse/core'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  bookVersionPage, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  courseScheduleStart, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  lessonCoursewarePage, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  queryCourseware 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} from '../prepare-lessons/api'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import TheNoticeBar from '/src/components/TheNoticeBar'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import TeachGroup from './modals/teachGroup'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { classGroupList, courseSchedulePage } from './api'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import TheEmpty from '/src/components/TheEmpty'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { setTabsCaches } from '/src/hooks/use-async'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+export const formatDateToDay = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const hours = dayjs().hour(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if (hours < 12) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return '早上好!'; //如果小时数小于12则输出“早上好!” 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } else if (hours > 12 && hours < 18) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return '下午好!'; //如果小时数大于12并且小于18,输入“下午好!” 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return '晚上好!'; //如果上面两个条件都不符合,则输出“晚上好!” 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 export default defineComponent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   name: 'home-page', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   setup() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const catchStore = useCatchStore(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const message = useMessage(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     const router = useRouter(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     const userStore = useUserStore(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     const forms = reactive({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      applyClass: null as any, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       applyClassItem: {} as any, // 选择的内容 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       applyStatus: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      studentList: [] as any 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    // 显示选择的内容 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    const bookInfo = computed(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      return ''; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      useStatus: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      studentList: [] as any, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      bookVersionId: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      classGroupId: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      category: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      subjectId: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      musicTagList: [] as any, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      loading: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      list: [] as any, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      unit: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      unitList: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      subjectList: [] as any, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      gradeList: [] as any, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      classLoading: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      total: 0, // 上课数量 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      classSelect: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        currentGradeNum: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        currentClass: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        name: '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } as any 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const teachList = ref({} as any); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // 学生列表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // getStdentList 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -67,14 +110,219 @@ export default defineComponent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             src: row.avatar 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        console.log(item, data); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        forms.applyClass = item.currentGradeLabel + item.className; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         forms.applyClassItem = item; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } catch { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const onUseConfirm = (item: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      forms.classSelect = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        currentGradeNum: item.currentGradeNum, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        currentClass: item.classGroupId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        name: item.name 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      getCourseSchedulePage(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const throttledFn = useThrottleFn(() => getLessonCourseware(), 500); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const getLessonCourseware = async () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      forms.category = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      forms.unit = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      forms.category = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      forms.loading = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const { data } = await lessonCoursewarePage({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          bookVersionId: forms.bookVersionId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          enableFlag: 1, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          page: 1, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          rows: 99, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          type: 'COURSEWARE' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        forms.list = data.rows.map((item: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          return { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            label: item.name, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            value: item.id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } catch { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      forms.loading = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const getunitList = async () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      forms.unit = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (forms.category) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          const res = await getCourseChapter(forms.category); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          forms.unitList = res.data.lessonList.map((item: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return { ...item, label: item.name, value: item.id }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          forms.unitList = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } catch (e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        console.log(e); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const getVersion = async () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      forms.unit = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const { data } = await bookVersionPage({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          page: 1, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          rows: 99, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          type: 'COURSEWARE' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const temp = data.rows || []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        temp.forEach((item: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          forms.musicTagList.push({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            id: item.id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            name: item.name 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } catch { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 获取年级班级 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const getClassList = async () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const { data } = await classGroupList({ removeZeroClass: true }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const cList = data || []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const gradeList: any = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        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 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          const classList: any = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          item.classGroupList.forEach((i: any, j: number) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            classList.push({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              label: j + 1 + '班', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              value: i.id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              lastStudy: i.lastStudy 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          gradeList.push({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            label: gradeToCN[item.currentGradeNum], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            value: item.currentGradeNum, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            childrens: classList 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        forms.gradeList = gradeList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } catch { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const getCourseSchedulePage = async () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      forms.classLoading = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const { data } = await courseSchedulePage({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          classGroupId: forms.classSelect.currentClass, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          page: 1, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          rows: 6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const result = data.rows || []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        forms.total = data.total || 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const dateTime: any = {}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        result.forEach((item: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          const tempTime = dayjs(item.classDate).format('MM-DD'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          if (!dateTime[tempTime]) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            dateTime[tempTime] = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          const lessonCourseware = item.lessonCoursewareJson 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ? JSON.parse(item.lessonCoursewareJson) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            : {}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          dateTime[tempTime].push({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            classGroup: forms.classSelect.name, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            teacherName: item.teacherName, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            conent: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              lessonCourseware.lessonCoursewareName + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              ' | ' + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              lessonCourseware.lessonCoursewareDetailName + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              ' | ' + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              lessonCourseware.lessonCoursewareKnowledgeDetailName, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            image: item.teacherAvatar 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        teachList.value = dateTime; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } catch (e: any) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        console.log(e); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      forms.classLoading = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    onMounted(async () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      await getClassList(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      await catchStore.getSubjects(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      await getCourseSchedulePage(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      forms.subjectList = catchStore.getSubjectList.map((item: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          label: item.name, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          value: item.id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      getVersion(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    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 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            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 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          // 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return () => ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       <div class={styles.homeWrap}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <div class={styles.homeInfoLeft}> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -82,7 +330,7 @@ export default defineComponent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             <div class={styles.welcomeInfo}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               <div class={styles.userInfo}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 <div class={styles.userName}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  Hi,{userStore.getUserInfo?.nickname} 下午好~ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  Hi,{userStore.getUserInfo?.nickname} {formatDateToDay()}~ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 <div class={styles.userTime}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   {dayjs().format('MM月DD日')},{weekToCN[dayjs().day()]} 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -112,35 +360,115 @@ export default defineComponent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   <span 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     class={styles.className} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     onClick={() => (forms.applyStatus = true)}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    {forms.applyClass || '请选择班级'} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    {forms.applyClassItem.name || '请选择班级'} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   </span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   <NAvatarGroup options={forms.studentList} max={5} /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <div class={styles.informations}>{bookInfo.value}</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <div class={styles.informations}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  {forms.applyClassItem.lastStudy ? ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      上次课程: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      <TheNoticeBar text={forms.applyClassItem.lastStudy} /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    </> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  ) : ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  )} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <NForm showLabel={false}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  <NFormItem> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <NForm showLabel={false} ref={formsRef} model={forms}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <NFormItem 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    path="bookVersionId" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    rule={[ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        required: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        message: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        trigger: ['blur', 'change'] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ]}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     <div class={styles.selectContainer}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                       <img src={iconLession} /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      <NSelect placeholder="请选择教材版本" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      <NSelect 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        placeholder="请选择教材版本" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        disabled={ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          forms.applyClassItem?.currentGradeNum ? false : true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        clearable 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        options={[...forms.musicTagList]} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        labelField="name" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        valueField="id" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        v-model:value={forms.bookVersionId} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        onUpdate:value={() => throttledFn()} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   </NFormItem> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  <NFormItem> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <NFormItem 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    path="category" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    rule={[ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        required: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        message: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        trigger: ['blur', 'change'] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ]}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     <div class={styles.selectContainer}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                       <img src={iconBook} /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      <NSelect placeholder="请选择册别" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      <NSelect 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        placeholder="请选择册别" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        options={[...forms.list]} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        clearable 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        disabled={!forms.bookVersionId} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        v-model:value={forms.category} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        onUpdate:value={() => getunitList()} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   </NFormItem> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  <NFormItem> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <NFormItem 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    path="unit" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    rule={[ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        required: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        message: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        trigger: ['blur', 'change'] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ]}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     <div class={styles.selectContainer}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                       <img src={iconDetail} /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      <NSelect placeholder="请选择章节" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      <NCascader 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        disabled={!forms.category} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        {...({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          options: [...forms.unitList], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          placeholder: '选择单元', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          clearable: true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } as any)} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        childrenField="knowledgeList" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        valueField="id" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        labelField="name" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        v-model:value={forms.unit} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        checkStrategy="child" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        expandTrigger="hover" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   </NFormItem> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  <NFormItem> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <NFormItem 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    path="subjectId" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    rule={[ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        required: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        message: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        trigger: ['blur', 'change'], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        type: 'number' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ]}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     <div class={styles.selectContainer}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                       <img src={iconSubject} /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      <NSelect placeholder="请选择声部" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      <NSelect 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        {...({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          options: [...forms.subjectList], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          placeholder: '选择乐器', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          clearable: true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } as any)} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        v-model:value={forms.subjectId} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   </NFormItem> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   <NSpace class={styles.btnGroup} justify="center"> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -148,7 +476,8 @@ export default defineComponent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                       round 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                       block 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                       class={styles.startClass} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      color="#FF6E4C"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      color="#FF6E4C" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      onClick={gotoClassPage}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                       开始上课 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     </NButton> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     <NButton 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -203,31 +532,73 @@ export default defineComponent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 <NImage 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   previewDisabled 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   class={styles.defultHeade} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  src={defultHeade}></NImage> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  src={userStore.getUserInfo.avatar || defultHeade}></NImage> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             <div class={styles.headerInfo}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              <p class={styles.headerTitle}>张晚意</p> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              <p class={styles.headerSubTitle}>武汉小学 | 音乐老师</p> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <p class={styles.headerTitle}>{userStore.getUserInfo.nickname}</p> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              {userStore.getUserInfo.schoolInfos && 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                userStore.getUserInfo.schoolInfos.length > 0 && ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <p class={styles.headerSubTitle}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    {userStore.getUserInfo.schoolInfos[0].name} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    {/* | 音乐老师 */} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  </p> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                )} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             <div class={styles.rightTeachingWrapTitle}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               <h3 class={styles.rightTitle}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 <div class={styles.titleDot}></div>使用记录 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               </h3> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              <div class={styles.lookMore}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                三年级2班 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <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> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              {forms.classSelect.name && ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <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> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              )} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <TeachList></TeachList> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <NSpin show={forms.classLoading} style={{ minHeight: '40vh' }}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              {Object.keys(teachList.value).length > 0 && ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <div class={styles.teachListWrap}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  {Object.keys(teachList.value).map(key => ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <TeachGroup 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      list={teachList.value[key]} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      keys={key}></TeachGroup> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  ))} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  {forms.total > 6 && ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <div class={styles.teachListWrapWall}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      <span 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        onClick={() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          setTabsCaches('attendclass', 'tabName', { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            path: '/classDetail' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          router.push({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            path: '/classDetail', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            query: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                              name: forms.classSelect.name, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                              id: forms.classSelect.currentClass 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        }}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        查看全部 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      </span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  )} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              )} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              {Object.keys(teachList.value).length <= 0 && 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                !forms.classLoading && <TheEmpty />} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </NSpin> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -237,13 +608,36 @@ export default defineComponent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           preset="card" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           showIcon={false} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           class={['modalTitle background', styles.assignHomework]} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          title={'选择年级'} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          title={'选择班级'} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           blockScroll={false}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           <SelectClass 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            useDetail={{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              currentGradeNum: forms.applyClassItem.currentGradeNum, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              classGroupId: forms.applyClassItem.classGroupId 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            gradeList={forms.gradeList} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             onConfirm={(item: any) => onApplyConfirm(item)} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             onClose={() => (forms.applyStatus = false)} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         </NModal> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <NModal 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          v-model:show={forms.useStatus} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          preset="card" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          showIcon={false} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          class={['modalTitle background', styles.assignHomework]} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          title={'选择班级'} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          blockScroll={false}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <SelectClass 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            useDetail={{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              currentGradeNum: forms.classSelect.currentGradeNum, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              classGroupId: forms.classSelect.currentClass 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            gradeList={forms.gradeList} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            onConfirm={(item: any) => onUseConfirm(item)} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            onClose={() => (forms.useStatus = false)} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </NModal> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 |