Browse Source

处理班级问题

lex 1 year ago
parent
commit
1b98006293
1 changed files with 71 additions and 76 deletions
  1. 71 76
      src/views/home/index.tsx

+ 71 - 76
src/views/home/index.tsx

@@ -23,7 +23,7 @@ import t2 from './images/t2.png';
 import t3 from './images/t3.png';
 import { useRouter } from 'vue-router';
 import { useUserStore } from '/src/store/modules/users';
-import SelectClass from './modals/selectClass';
+// import SelectClass from './modals/selectClass';
 import dayjs from 'dayjs';
 import { gradeToCN, weekToCN } from '/src/utils/contants';
 import { useCatchStore } from '/src/store/modules/catchData';
@@ -43,7 +43,7 @@ import PlaceholderTone from '@/components/layout/modals/placeholderTone';
 import PreviewWindow from '../preview-window';
 import UpdatePassword from '/src/components/layout/modals/update-password';
 import AttendClass from '../prepare-lessons/model/attend-class';
-import { state } from '/src/state';
+// import { state } from '/src/state';
 export const formatDateToDay = () => {
   const hours = dayjs().hour();
   if (hours < 12) {
@@ -59,7 +59,6 @@ export default defineComponent({
   name: 'home-page',
   setup() {
     const catchStore = useCatchStore();
-    const message = useMessage();
     const router = useRouter();
     const userStore = useUserStore();
     const showUpdatePassword = ref(false);
@@ -83,6 +82,13 @@ export default defineComponent({
       gradeList: [] as any,
       classLoading: false,
       total: 0, // 上课数量
+      // 上次上课的数据
+      lastClassSelect: {
+        currentClass: null,
+        name: '',
+        gradeYear: null as any,
+        gradeLevel: null as any
+      },
       classSelect: {
         currentGradeNum: null,
         currentClass: null,
@@ -99,38 +105,30 @@ export default defineComponent({
     });
     const teachList = ref({} as any);
 
-    // 学生列表
-    // getStdentList
-
-    // const onUseConfirm = (item: any) => {
-    //   forms.classSelect = {
-    //     currentGradeNum: item.currentGradeNum,
-    //     currentClass: item.classGroupId,
-    //     name: item.name
-    //   };
-
-    //   getCourseSchedulePage();
-    // };
-
     // 获取年级班级
     const getClassList = async () => {
       try {
-        const { data } = await classGroupList();
+        const { data } = await classGroupList({
+          gradeLevel: forms.classSelect.gradeLevel,
+          gradeYear: forms.classSelect.gradeYear
+        });
         const cList = data || [];
         const gradeList: any = [];
         const popSelectOptions: any = [];
         // getLastClassRecode()
         cList.forEach((item: any, index: number) => {
+          // 判断是否已经有班级了
           if (index === 0) {
-            const temp = item.classGroupList[0];
-            forms.classSelect.currentGradeNum = item.currentGradeNum;
-            forms.classSelect.currentClass = temp.id;
-            forms.classSelect.name = temp.name;
-            //  = {
-            //   currentGradeNum: item.currentGradeNum,
-            //   currentClass: temp.id,
-            //   name: temp.name
-            // };
+            if (forms.lastClassSelect.currentClass) {
+              forms.classSelect.currentClass =
+                forms.lastClassSelect.currentClass;
+              forms.classSelect.name = forms.lastClassSelect.name;
+            } else {
+              const temp = item.classGroupList[0];
+              forms.classSelect.currentGradeNum = item.currentGradeNum;
+              forms.classSelect.currentClass = temp.id;
+              forms.classSelect.name = temp.name;
+            }
           }
 
           const classList: any = [];
@@ -168,8 +166,15 @@ export default defineComponent({
         teacherId: userStore.getUserInfo.id
       });
       if (data.rows.length > 0 && data.rows[0]) {
-        forms.classSelect.currentClass = data.rows[0].classGroupId;
-        forms.classSelect.name = data.rows[0].classGroupName;
+        const tempRow = data.rows[0];
+        // forms.lastClassSelect.currentClass = tempRow.classGroupId;
+        // forms.lastClassSelect.name = tempRow.classGroupName;
+        forms.lastClassSelect = {
+          currentClass: tempRow.classGroupId,
+          name: tempRow.classGroupName,
+          gradeYear: tempRow.gradeYear + '',
+          gradeLevel: tempRow.gradeLevel + ''
+        };
       }
     };
 
@@ -184,9 +189,13 @@ export default defineComponent({
         });
         forms.popSelectYearList = temp || [];
         if (temp.length > 0) {
-          forms.classSelect.gradeYear = temp[0].id;
+          if (forms.lastClassSelect.gradeYear) {
+            forms.classSelect.gradeYear = forms.lastClassSelect.gradeYear;
+          } else {
+            forms.classSelect.gradeYear = temp[0].id;
+          }
         }
-      } catch {
+      } catch (e: any) {
         //
       }
     };
@@ -205,7 +214,12 @@ export default defineComponent({
         });
         forms.popSelectLevelList = temp || [];
         if (temp.length > 0) {
-          forms.classSelect.gradeLevel = temp[0].id;
+          if (forms.lastClassSelect.gradeLevel) {
+            forms.classSelect.gradeLevel =
+              forms.lastClassSelect.gradeLevel + '';
+          } else {
+            forms.classSelect.gradeLevel = temp[0].id;
+          }
         }
       } catch {
         //
@@ -261,19 +275,20 @@ export default defineComponent({
 
     onMounted(async () => {
       forms.classLoading = true;
+      await getLastClassRecode();
+
       await getYearList();
       await getLevelList();
       await getClassList();
-      await getLastClassRecode();
-      await catchStore.getSubjects();
+      // await catchStore.getSubjects();
 
       await getCourseSchedulePage();
-      forms.subjectList = catchStore.getSubjectList.map((item: any) => {
-        return {
-          label: item.name,
-          value: item.id
-        };
-      });
+      // forms.subjectList = catchStore.getSubjectList.map((item: any) => {
+      //   return {
+      //     label: item.name,
+      //     value: item.id
+      //   };
+      // });
 
       if (!userStore.getUserInfo.account.updatePasswordFlag) {
         showUpdatePassword.value = true;
@@ -415,25 +430,9 @@ export default defineComponent({
               <h3 class={styles.rightTitle}>
                 <div class={styles.titleDot}></div>上课记录
               </h3>
-              {forms.classSelect.name && (
+              {forms.classSelect.currentClass && (
                 <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="全部学年"
@@ -441,16 +440,6 @@ export default defineComponent({
                     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>
@@ -462,19 +451,25 @@ export default defineComponent({
                     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>
+                  <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>
                 </div>
               )}
             </div>