lex 1 år sedan
förälder
incheckning
9f7da712d8

+ 12 - 1
src/components/card-type/index.tsx

@@ -105,7 +105,8 @@ export default defineComponent({
           {{
             cover: () => (
               <>
-                {['IMG', 'MUSIC'].includes(props.item.type) && (
+                {/* 图片 */}
+                {props.item.type === 'IMG' && (
                   <NImage
                     class={[styles.cover, styles.image]}
                     lazy
@@ -114,6 +115,16 @@ export default defineComponent({
                     src={props.item.coverImg}
                   />
                 )}
+                {/* 乐谱 */}
+                {props.item.type === 'MUSIC' && (
+                  <NImage
+                    class={[styles.cover, styles.image]}
+                    lazy
+                    previewDisabled={true}
+                    objectFit="cover"
+                    src={props.item.coverImg}
+                  />
+                )}
                 {/* 音频 */}
                 {props.item.type === 'SONG' && (
                   <AudioPlayer

+ 0 - 1
src/components/layout/layoutSilder.tsx

@@ -95,7 +95,6 @@ export default defineComponent({
     };
 
     onBeforeRouteUpdate((to: any) => {
-      console.log(to, 'to');
       checkPathChange(to.path);
     });
 

+ 11 - 1
src/store/modules/prepareLessons.ts

@@ -8,7 +8,9 @@ export const usePrepareStore = defineStore('prepare-lessons-store', {
     lessonCoursewareId: '', // 哪个教材分类
     lessonCoursewareDetailId: '', // 哪个教材详情
     treeList: [] as any[], // 左边教学课件列表
-    coursewareList: [] as any[] // 课件信息
+    coursewareList: [] as any[], // 课件信息
+    tabType: '', // 备课 - 课件 | 训练 类型切换
+    coursewareFullScreen: false as boolean // 课件资源是否全屏
   }),
   getters: {
     /** 获取基础教学课件 */
@@ -34,6 +36,10 @@ export const usePrepareStore = defineStore('prepare-lessons-store', {
     /** 获取课件列表 */
     getCoursewareList(): any[] {
       return this.coursewareList;
+    },
+    /** 获取课件是否全屏 */
+    getCoursewareFullScreen(): boolean {
+      return this.coursewareFullScreen;
     }
   },
   actions: {
@@ -60,6 +66,10 @@ export const usePrepareStore = defineStore('prepare-lessons-store', {
     /** 设置课件列表 */
     setCoursewareList(list: any[]) {
       this.coursewareList = list;
+    },
+    /** 设置课件是否全屏 */
+    setCoursewareFullScreen(status: boolean) {
+      this.coursewareFullScreen = status;
     }
   }
 });

+ 18 - 0
src/views/prepare-lessons/components/resource-main/index.module.less

@@ -47,4 +47,22 @@
     height: 18px;
     cursor: pointer;
   }
+}
+
+.selectMusicModal {
+  position: relative;
+  width: 1352px;
+
+  :global {
+    .n-card-header {
+      position: absolute;
+      top: 0;
+      left: 0;
+      right: 0;
+
+      .n-card-header__main {
+        color: #fff;
+      }
+    }
+  }
 }

+ 19 - 9
src/views/prepare-lessons/components/resource-main/index.tsx

@@ -1,19 +1,19 @@
-import { defineComponent } from 'vue';
+import { defineComponent, reactive } from 'vue';
 import styles from './index.module.less';
-import { NTabs, NTabPane } from 'naive-ui';
+import { NTabs, NTabPane, NModal } from 'naive-ui';
 import ShareResources from './components/share-resources';
 import MyResources from './components/my-resources';
 import MyCollect from './components/my-collect';
+import { usePrepareStore } from '/src/store/modules/prepareLessons';
+import SelectMusic from '../../model/select-music';
 
 export default defineComponent({
   name: 'resource-main',
-  props: {
-    selectionHeight: {
-      type: String,
-      default: '100%'
-    }
-  },
   setup() {
+    const prePareStore = usePrepareStore();
+    const forms = reactive({
+      selectMusicStatus: false
+    });
     return () => (
       <div class={styles['resource-main']}>
         <NTabs
@@ -23,7 +23,9 @@ export default defineComponent({
           paneWrapperClass={styles.paneWrapperContainer}>
           {{
             suffix: () => (
-              <div class={styles.iconScreen}>
+              <div
+                class={styles.iconScreen}
+                onClick={() => (prePareStore.coursewareFullScreen = true)}>
                 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
                   <g fill="none">
                     <path
@@ -57,6 +59,14 @@ export default defineComponent({
             )
           }}
         </NTabs>
+
+        <NModal
+          v-model:show={forms.selectMusicStatus}
+          class={['modalTitle', styles.selectMusicModal]}
+          preset="card"
+          title={'选择曲目'}>
+          <SelectMusic />
+        </NModal>
       </div>
     );
   }