Ver código fonte

Merge branch 'iteration-class' into temp-register

lex 1 ano atrás
pai
commit
9d8a552d58

+ 1 - 0
src/views/attend-class/model/train-settings/index.tsx

@@ -304,6 +304,7 @@ export default defineComponent({
           preset="card"
           title={'选择曲目'}>
           <SelectMusic
+            type="homework"
             onAdd={(item: any) => {
               trainForms.selectMusicStatus = false;
               onAdd(item);

+ 2 - 3
src/views/classList/modals/updateSubject.tsx

@@ -45,11 +45,11 @@ export default defineComponent({
       createClassForm.id = props.activeRow.id;
     });
     const submitForms = () => {
-      data.uploading = true;
       foemsRef.value.validate(async (error: any) => {
         if (error) {
           return;
         }
+        data.uploading = true;
         try {
           await resetClass({ ...createClassForm });
           message.success('修改成功');
@@ -62,11 +62,10 @@ export default defineComponent({
             classGroupId: props.activeRow.id // 班级编号
           });
           emit('getList');
-          data.uploading = false;
         } catch (e) {
-          data.uploading = false;
           console.log(e);
         }
+        data.uploading = false;
       });
     };
     return () => (

+ 1 - 1
src/views/prepare-lessons/components/directory-main/index.tsx

@@ -57,7 +57,7 @@ export default defineComponent({
             prepareStore.setBaseCourseware(result[0]);
             id = result[0]?.id;
 
-            prepareStore.setSubjectList(selectItem.subjectList || []);
+            prepareStore.setSubjectList(result[0].subjectList || []);
           }
           setLastUseCoursewareId(id);
         }

+ 53 - 16
src/views/prepare-lessons/components/lesson-main/courseware/index.tsx

@@ -47,7 +47,7 @@ export default defineComponent({
       coursewareList: [] as any,
       loadingStatus: false,
       showAttendClass: false,
-      attendClassType: 'select', //
+      attendClassType: 'change', //
       removeIds: [] as any, // 临时删除的编号
       drag: false,
       isEdit: false, // 是否更新数据
@@ -503,7 +503,7 @@ export default defineComponent({
               </NButton>
               <NButton
                 {...{ id: 'lessons-3' }}
-                type="primary"
+                type="error"
                 class={styles.btnClassStart}
                 onClick={async () => {
                   let count = 0;
@@ -555,7 +555,7 @@ export default defineComponent({
                     }
                   } else {
                     forms.showAttendClass = true;
-                    forms.attendClassType = 'select';
+                    forms.attendClassType = 'change';
                   }
                 }}>
                 开始上课
@@ -595,19 +595,56 @@ export default defineComponent({
                 window.open(href, +new Date() + '');
               }
             }}
-            onConfirm={(item: any) => {
-              console.log(item, 'confirm');
-              forms.className = item.name;
-              forms.classGroupId = item.classGroupId;
-              forms.subjectId = item.subjectId;
-              forms.showAttendClass = false;
-
-              checkSubjectIds();
-              // 声部切换时
-              eventGlobal.emit('onChangeClass', {
-                lastUseCoursewareId: item.lastUseCoursewareId,
-                unit: item.unit
-              });
+            onConfirm={async (item: any) => {
+              if (forms.classGroupId) {
+                forms.className = item.name;
+                forms.classGroupId = item.classGroupId;
+                forms.subjectId = item.subjectId;
+                forms.showAttendClass = false;
+
+                checkSubjectIds();
+                // 声部切换时
+                eventGlobal.emit('onChangeClass', {
+                  lastUseCoursewareId: item.lastUseCoursewareId,
+                  unit: item.unit
+                });
+              } else {
+                const res = await courseScheduleStart({
+                  lessonCoursewareKnowledgeDetailId: prepareStore.selectKey,
+                  classGroupId: item.classGroupId
+                });
+                forms.showAttendClass = false;
+                if (window.matchMedia('(display-mode: standalone)').matches) {
+                  state.application = window.matchMedia(
+                    '(display-mode: standalone)'
+                  ).matches;
+                  forms.previewModal = true;
+                  forms.previewParams = {
+                    type: 'class',
+                    classId: res.data, // 上课编号
+                    classGroupId: item.id,
+                    subjectId: prepareStore.getSubjectId,
+                    detailId: prepareStore.getSelectKey,
+                    lessonCourseId: prepareStore.getBaseCourseware.id
+                  };
+                  setTimeout(() => {
+                    fscreen();
+                  }, 200);
+                } else {
+                  const { href } = router.resolve({
+                    path: '/attend-class',
+                    query: {
+                      type: 'class',
+                      classId: res.data, // 上课编号
+                      classGroupId: item.id,
+                      subjectId: prepareStore.getSubjectId,
+                      detailId: prepareStore.getSelectKey,
+                      lessonCourseId: prepareStore.getBaseCourseware.id
+                    }
+                  });
+                  window.open(href, +new Date() + '');
+                }
+              }
             }}
           />
         </NModal>

+ 3 - 2
src/views/prepare-lessons/model/attend-class/index.tsx

@@ -28,7 +28,6 @@ export default defineComponent({
   setup(props, { emit }) {
     // const { type } = toRef(props);
     const prepareStore = usePrepareStore();
-    const router = useRouter();
     const forms = reactive({
       showSubjectClass: false,
       activeRow: {} as any,
@@ -117,12 +116,14 @@ export default defineComponent({
           ...forms
         });
         const result = data.rows || [];
+        const temp: any = [];
         result.forEach((item: any) => {
           // 判断班级里面有学生的
           if (item.preStudentNum > 0) {
-            list.value.push(item);
+            temp.push(item);
           }
         });
+        list.value = temp;
       } catch {
         //
       }

+ 14 - 2
src/views/prepare-lessons/model/select-music/index.tsx

@@ -11,8 +11,15 @@ import CardPreview from '/src/components/card-preview';
 
 export default defineComponent({
   name: 'select-music',
+  props: {
+    type: {
+      type: String,
+      default: ''
+    }
+  },
   emits: ['add'],
   setup(props, { emit }) {
+    console.log(props.type);
     const prepareStore = usePrepareStore();
     const state = reactive({
       loading: false,
@@ -30,7 +37,8 @@ export default defineComponent({
       },
       tableList: [] as any,
       show: false,
-      item: {} as any
+      item: {} as any,
+      isShowAddDisabled: !prepareStore.getIsEditTrain
     });
     const getList = async () => {
       try {
@@ -58,6 +66,7 @@ export default defineComponent({
           });
         });
         state.tableList.push(...temp);
+
         state.finshed = data.pages <= data.current ? true : false;
       } catch {
         state.loading = false;
@@ -83,6 +92,9 @@ export default defineComponent({
     }, 500);
 
     onMounted(() => {
+      if (props.type === 'homework') {
+        state.isShowAddDisabled = false;
+      }
       getList();
     });
     return () => (
@@ -125,7 +137,7 @@ export default defineComponent({
                           isShowAdd
                           isShowCollect={false}
                           item={item}
-                          isShowAddDisabled={!prepareStore.getIsEditTrain}
+                          isShowAddDisabled={state.isShowAddDisabled}
                           onAdd={() => emit('add', item)}
                           disabledMouseHover={false}
                           onClick={() => {