Explorar o código

Merge branch 'iteration-0906'

lex hai 1 ano
pai
achega
011cbcac57

+ 10 - 0
src/views/classList/components/classRecord.module.less

@@ -64,6 +64,16 @@
       color: #777777;
       line-height: 26px;
     }
+
+    .subjectName {
+      font-size: 14px;
+      font-weight: 400;
+      color: #FFFFFF;
+      background: #198CFE;
+      border-radius: 5px;
+      padding: 1px 8px;
+      margin-right: 4px;
+    }
   }
 
 }

+ 5 - 0
src/views/classList/components/classRecord.tsx

@@ -131,6 +131,11 @@ export default defineComponent({
                   <div class={styles.userInfo}>
                     <h2>{item.teacherName}</h2>
                     <p>
+                      {item.subjectName && (
+                        <span class={styles.subjectName}>
+                          {item.subjectName}
+                        </span>
+                      )}
                       {item.lessonCourseware.lessonCoursewareName} |{' '}
                       {item.lessonCourseware.lessonCoursewareDetailName}|{' '}
                       {

+ 3 - 0
src/views/classList/index.tsx

@@ -219,6 +219,7 @@ export default defineComponent({
                   )}
                   <NButton
                     type="primary"
+                    disabled={!row.upgradeFlag}
                     text
                     onClick={() => resetClassSubject(row)}>
                     修改声部
@@ -226,6 +227,7 @@ export default defineComponent({
                   {index == 0 ? (
                     <NButton
                       type="primary"
+                      disabled={!row.upgradeFlag}
                       {...{ id: 'class-1' }}
                       text
                       onClick={() => {
@@ -236,6 +238,7 @@ export default defineComponent({
                   ) : (
                     <NButton
                       type="primary"
+                      disabled={!row.upgradeFlag}
                       text
                       onClick={() => {
                         startResetStudent(row);

+ 5 - 1
src/views/classList/modals/restStudentBox.tsx

@@ -63,7 +63,11 @@ export default defineComponent({
     };
     const getAllClassList = async () => {
       try {
-        const res = await classGroupList({ page: 1, rows: 9999 });
+        const res = await classGroupList({
+          page: 1,
+          rows: 9999,
+          upgradeFlag: true
+        });
         classList.value = res.data.rows.map((item: any) => {
           return {
             label: item.name,

+ 1 - 1
src/views/home/api.ts

@@ -12,7 +12,7 @@ export const courseSchedulePage = (params: any) => {
 /**
  * 首页 - 年级班级列表
  */
-export const classGroupList = (params: any) => {
+export const classGroupList = (params?: any) => {
   return request.post('/edu-app/classGroup/list', {
     data: params
   });

+ 12 - 1
src/views/home/index.module.less

@@ -646,6 +646,7 @@
             --n-font-size: 15px !important;
             --n-border: 1px solid #DEDEDE !important;
             --n-border-radius: 8px !important;
+            max-width: 130px;
           }
         }
       }
@@ -784,9 +785,19 @@
 
       .teachGroupItemInfo {
         font-size: 13px;
-        line-height: 18px;
+        line-height: 26px;
         color: rgba(0, 0, 0, 0.5);
       }
+
+      .subjectName {
+        font-size: 14px;
+        font-weight: 400;
+        color: #FFFFFF;
+        background: #198CFE;
+        border-radius: 5px;
+        padding: 1px 8px;
+        margin-right: 4px;
+      }
     }
   }
 }

+ 76 - 78
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({ removeZeroClass: true });
+        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 {
         //
@@ -245,7 +259,8 @@ export default defineComponent({
               lessonCourseware.lessonCoursewareDetailName +
               ' | ' +
               lessonCourseware.lessonCoursewareKnowledgeDetailName,
-            image: item.teacherAvatar
+            image: item.teacherAvatar,
+            subjectName: item.subjectName
           });
         });
 
@@ -260,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;
@@ -413,25 +429,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="全部学年"
@@ -439,16 +439,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>
@@ -460,19 +450,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>
@@ -495,11 +491,13 @@ export default defineComponent({
                             'classDetailTabs',
                             'attendclass'
                           );
+                          console.log(forms.classSelect);
                           router.push({
                             path: '/classDetail',
                             query: {
                               name: forms.classSelect.name,
-                              id: forms.classSelect.currentClass
+                              id: forms.classSelect.currentClass,
+                              gradeYear: forms.classSelect.gradeYear
                             }
                           });
                         }}>

+ 6 - 1
src/views/home/modals/teachItem.tsx

@@ -21,7 +21,12 @@ export default defineComponent({
               {props.item.teacherName} <span>{props.item.classGroup}</span>
             </p>
 
-            <p class={styles.teachGroupItemInfo}>{props.item.conent}</p>
+            <p class={styles.teachGroupItemInfo}>
+              {props.item.subjectName && (
+                <span class={styles.subjectName}>{props.item.subjectName}</span>
+              )}
+              {props.item.conent}
+            </p>
           </div>
         </div>
       </>

+ 8 - 2
src/views/prepare-lessons/components/lesson-main/courseware/index.tsx

@@ -297,8 +297,14 @@ export default defineComponent({
           'prepareLessonSubjectId'
         );
         const subjectId =
-          forms.subjectId || localStorageSubjectId
-            ? Number(forms.subjectId || localStorageSubjectId)
+          forms.courseScheduleSubjectId ||
+          forms.subjectId ||
+          localStorageSubjectId
+            ? Number(
+                forms.courseScheduleSubjectId ||
+                  forms.subjectId ||
+                  localStorageSubjectId
+              )
             : null;
         // 判断浏览器上面是否有
         const index = subjectList.findIndex(