Browse Source

添加声部

lex 1 year ago
parent
commit
e8c1d1116c

+ 1 - 1
public/version.json

@@ -1 +1 @@
-{"version":1710313513748}
+{"version":1710320157028}

+ 0 - 5
src/views/prepare-lessons/components/lesson-main/courseware/addCourseware.module.less

@@ -471,11 +471,6 @@
   }
 }
 
-
-.subjectSyncModal {
-  width: 1070px;
-}
-
 .addOtherSource {
   width: 726px;
 }

+ 40 - 63
src/views/prepare-lessons/components/lesson-main/courseware/addCourseware.tsx

@@ -25,25 +25,25 @@ import {
 import CardType from '/src/components/card-type';
 // import AttendClass from '/src/views/prepare-lessons/model/attend-class';
 import { usePrepareStore } from '/src/store/modules/prepareLessons';
-import { useCatchStore } from '/src/store/modules/catchData';
+// import { useCatchStore } from '/src/store/modules/catchData';
 // import TheEmpty from '/src/components/TheEmpty';
 import {
   api_teacherChapterLessonCoursewareAdd,
   api_teacherChapterLessonCoursewareUpdate,
-  api_teacherChapterLessonCoursewareDetail,
+  api_teacherChapterLessonCoursewareDetail
   // courseScheduleStart,
   // queryCourseware,
-  saveCourseware
+  // saveCourseware
 } from '../../../api';
 import Draggable from 'vuedraggable';
 import iconDelete from '../../../images/icon-delete-default.png';
 import iconAddMusic from '../../../images/icon-add-music.png';
-import { onBeforeRouteUpdate, useRoute, useRouter } from 'vue-router';
+// import { onBeforeRouteUpdate, useRoute, useRouter } from 'vue-router';
 // import deepClone from '/src/helpers/deep-clone';
 import CardPreview from '/src/components/card-preview';
 import PreviewWindow from '/src/views/preview-window';
 // import { state } from '/src/state';
-import SubjectSync from '../../../model/subject-sync';
+// import SubjectSync from '../../../model/subject-sync';
 import { eventGlobal } from '/src/utils';
 // import iconTips from '../../../images/icon-tips.png';
 import TheMessageDialog from '/src/components/TheMessageDialog';
@@ -60,10 +60,10 @@ export default defineComponent({
   },
   emits: ['change'],
   setup(props, { emit }) {
-    const catchStore = useCatchStore();
+    // const catchStore = useCatchStore();
     const prepareStore = usePrepareStore();
     // const route = useRoute();
-    const router = useRouter();
+    // const router = useRouter();
     // const dialog = useDialog();
     const message = useMessage();
 
@@ -105,7 +105,6 @@ export default defineComponent({
         confirmButtonText: '确认',
         index: 0
       },
-      subjectSyncVisiable: false, // 同步声部
       show: false,
       item: {} as any,
       previewModal: false,
@@ -180,39 +179,39 @@ export default defineComponent({
     };
 
     // 完成编辑
-    const onOverEdit = async () => {
-      try {
-        const temp: any = [];
-        forms.coursewareList.forEach((item: any) => {
-          temp.push({
-            materialName: item.name,
-            materialType: item.type,
-            materialId: item.materialId,
-            id: item.id
-          });
-        });
-        // 保存课件
-        // 判断是否编辑,如果编辑则取选择的声部
-        await saveCourseware({
-          coursewareDetailKnowledgeId: prepareStore.getSelectKey,
-          lessonCoursewareId: prepareStore.getLessonCoursewareId,
-          lessonCoursewareDetailId: prepareStore.getLessonCoursewareDetailId,
-          // subjectId: forms.isEdit
-          //   ? forms.editSubjectIds
-          //   : prepareStore.getSubjectId,
-          materialList: [...temp]
-        });
-
-        message.success('编辑成功');
-        // forms.removeVisiable = false;
-        prepareStore.setIsEditResource(false);
-        // 重置临时删除编号
-        forms.removeIds = [];
-        await getList();
-      } catch {
-        //
-      }
-    };
+    // const onOverEdit = async () => {
+    //   try {
+    //     const temp: any = [];
+    //     forms.coursewareList.forEach((item: any) => {
+    //       temp.push({
+    //         materialName: item.name,
+    //         materialType: item.type,
+    //         materialId: item.materialId,
+    //         id: item.id
+    //       });
+    //     });
+    //     // 保存课件
+    //     // 判断是否编辑,如果编辑则取选择的声部
+    //     await saveCourseware({
+    //       coursewareDetailKnowledgeId: prepareStore.getSelectKey,
+    //       lessonCoursewareId: prepareStore.getLessonCoursewareId,
+    //       lessonCoursewareDetailId: prepareStore.getLessonCoursewareDetailId,
+    //       // subjectId: forms.isEdit
+    //       //   ? forms.editSubjectIds
+    //       //   : prepareStore.getSubjectId,
+    //       materialList: [...temp]
+    //     });
+
+    //     message.success('编辑成功');
+    //     // forms.removeVisiable = false;
+    //     prepareStore.setIsEditResource(false);
+    //     // 重置临时删除编号
+    //     forms.removeIds = [];
+    //     await getList();
+    //   } catch {
+    //     //
+    //   }
+    // };
 
     const isPointInsideElement = (element: any, x: number, y: number) => {
       const rect = element.getBoundingClientRect();
@@ -917,28 +916,6 @@ export default defineComponent({
           params={forms.previewParams}
         />
 
-        {/* 完成编辑时,选择声部 */}
-        <NModal
-          v-model:show={forms.subjectSyncVisiable}
-          preset="card"
-          class={['modalTitle background', styles.subjectSyncModal]}
-          title={'同步声部'}>
-          <SubjectSync
-            subjectId={prepareStore.getSubjectId as any}
-            onClose={() => (forms.subjectSyncVisiable = false)}
-            onConfirm={async (subjectIds: any) => {
-              //
-              try {
-                forms.editSubjectIds = subjectIds.join(',');
-                await onOverEdit();
-                forms.subjectSyncVisiable = false;
-              } catch {
-                //
-              }
-            }}
-          />
-        </NModal>
-
         {/* 添加其它类型的资源 */}
         <NModal
           v-model:show={forms.addOtherSource}

+ 4 - 0
src/views/prepare-lessons/model/add-other-source/index.module.less

@@ -66,4 +66,8 @@
 .theoryModal {
   width: 1360px;
   position: relative;
+}
+
+.subjectSyncModal {
+  width: 1070px;
 }

+ 34 - 5
src/views/prepare-lessons/model/add-other-source/index.tsx

@@ -15,18 +15,21 @@ import SourceKnowledge from '../source-knowledge';
 import SourceMusician from '../source-musician';
 import SourceMusic from '../source-music';
 import { eventGlobal } from '/src/utils';
+import SubjectSync from '../subject-sync';
+import { usePrepareStore } from '/src/store/modules/prepareLessons';
 
 export default defineComponent({
   name: 'add-other-source',
   emits: ['close', 'comfirm'],
   setup(props, { emit }) {
+    const prepareStore = usePrepareStore();
     const router = useRouter();
     const sourceList = ref([
-      // {
-      //   image: icon1,
-      //   name: '听音练习',
-      //   index: 0
-      // },
+      {
+        image: icon1,
+        name: '听音练习',
+        index: 0
+      },
       {
         image: icon2,
         name: '节奏练习',
@@ -70,6 +73,9 @@ export default defineComponent({
 
     const onDetail = (item: any) => {
       switch (item.index) {
+        case 0:
+          state.listenStatus = true;
+          break;
         case 1:
           state.rhythmStatus = true;
           break;
@@ -261,6 +267,29 @@ export default defineComponent({
             }}
           />
         </NModal>
+
+        {/* 听音练习 */}
+        <NModal
+          v-model:show={state.listenStatus}
+          preset="card"
+          class={['modalTitle background', styles.subjectSyncModal]}
+          title={'听音练习'}>
+          <SubjectSync
+            // subjectId={prepareStore.getSubjectId as any}
+            onClose={() => (state.listenStatus = false)}
+            onConfirm={async (item: any) => {
+              //
+              try {
+                // forms.editSubjectIds = subjectIds.join(',');
+                // await onOverEdit();
+                console.log(item, 'Subject');
+                state.listenStatus = false;
+              } catch {
+                //
+              }
+            }}
+          />
+        </NModal>
       </>
     );
   }

+ 1 - 1
src/views/prepare-lessons/model/subject-sync/index.module.less

@@ -28,7 +28,7 @@
   display: flex;
   align-items: center;
   flex-wrap: wrap;
-  padding: 0 30px;
+  padding: 40px 30px 0;
   gap: 20px 40px;
 }
 

+ 9 - 4
src/views/prepare-lessons/model/subject-sync/index.tsx

@@ -27,7 +27,13 @@ export default defineComponent({
         return;
       }
 
-      emit('confirm', selectSubjectIds.value);
+      const subjectCode: any[] = [];
+      subjectList.value.forEach((subject: any) => {
+        if (selectSubjectIds.value.includes(subject.id)) {
+          subjectCode.push(subject.code);
+        }
+      });
+      emit('confirm', { subjectIds: selectSubjectIds.value, subjectCode });
     };
     onMounted(async () => {
       // 获取教材分类列表
@@ -46,17 +52,16 @@ export default defineComponent({
       });
 
       subjectList.value = tempSubjectList;
-
       if (props.subjectId) {
         selectSubjectIds.value = [Number(props.subjectId)];
       }
     });
     return () => (
       <div class={styles.subjectSync}>
-        <div class={styles.tips}>
+        {/* <div class={styles.tips}>
           请选择当前课件可使用的乐器
           <span>(勾选后则对应乐器下的课件内容将被当前课件内容全部替换)</span>
-        </div>
+        </div> */}
 
         <div class={styles.subjectList}>
           {subjectList.value.map((subject: any) => (

+ 2 - 2
vite.config.ts

@@ -23,8 +23,8 @@ function resolve(dir: string) {
 }
 // https://vitejs.dev/config/
 // https://github.com/vitejs/vite/issues/1930 .env
-const proxyUrl = 'https://dev.kt.colexiu.com/';
-// const proxyUrl = 'https://test.kt.colexiu.com';
+// const proxyUrl = 'https://dev.kt.colexiu.com/';
+const proxyUrl = 'https://test.kt.colexiu.com';
 // const proxyUrl = 'http://192.168.3.14:7989';
 const now = new Date().getTime();
 export default defineConfig(() => {