lex-xin 1 day ago
parent
commit
0feb99d4c3

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

@@ -21,7 +21,8 @@ export const usePrepareStore = defineStore('prepare-lessons-store', {
     isEditResource: false, // 是否编辑资源 - 课件编辑状态
     iseditTrain: false, // 是否编辑训练,
     isAddTrain: false, // 是否添加训练,
-    classGroupId: null as any // 班级编号
+    classGroupId: null as any, // 班级编号
+    beforeLoading: false, // 添加空白课件时,相关资源图片没有值时,默认选中共享资源
   }),
   getters: {
     /** 获取资源状态 */
@@ -173,9 +174,15 @@ export const usePrepareStore = defineStore('prepare-lessons-store', {
     /** 获取班级编号 */
     getClassGroupId(): string | number {
       return this.classGroupId;
+    },
+    getBeforeLoading(): boolean {
+      return this.beforeLoading
     }
   },
   actions: {
+    setBeforeLoading(val: boolean) {
+      this.beforeLoading = val
+    },
     /** 设置基础声部 */
     setSubjectId(subjectId: string | number) {
       this.subjectId = subjectId;

+ 8 - 1
src/utils/contants.ts

@@ -23,13 +23,20 @@ export const instrument = {
  * @description: 资源类型
  */
 export const resourceType = {
-  IMG: '图片',
   MUSIC: '乐谱',
+  IMG: '图片',
   SONG: '音频',
   VIDEO: '视频',
   // PPT: 'PPT'
 };
 
+export const resourceTypeLesson = {
+  IMG: "图片",
+  MUSIC: "乐谱",
+  SONG: "音频",
+  VIDEO: "视频"
+}
+
 /**
  * @description: 评测难度
  * 入门:BEGINNER/进阶:ADVANCED/大师:PERFORMER")

+ 1 - 0
src/utils/searchArray.ts

@@ -19,6 +19,7 @@ export const instrumentArray = getValueForKey(constant.instrument);
 
 // 资源类型
 export const resourceTypeArray = getValueForKey(constant.resourceType);
+export const resourceTypeArray2 = getValueForKey(constant.resourceTypeLesson);
 
 // 训练状态
 export const trainingStatusArray = getValueForKey(constant.trainingStatus);

+ 1 - 0
src/views/prepare-lessons/components/lesson-main/courseware-presets/index.tsx

@@ -754,6 +754,7 @@ export default defineComponent({
                           class={styles.popoverItem}
                           onClick={() => {
                             eventGlobal.emit('teacher-slideshow', true);
+                            prepareStore.setBeforeLoading(false)
                             emit('change', {
                               status: true,
                               type: 'create'

+ 10 - 3
src/views/prepare-lessons/components/resource-main/components/resource-item/index.tsx

@@ -40,7 +40,8 @@ export default defineComponent({
       default: 'relateResources'
     }
   },
-  setup(props, { expose }) {
+  emits: ['confirm'],
+  setup(props, { emit, expose }) {
     const prepareStore = usePrepareStore();
     const message = useMessage();
     const dialog = useDialog();
@@ -52,7 +53,7 @@ export default defineComponent({
         rows: 20
       },
       searchGroup: {
-        type: 'MUSIC', //
+        type: 'IMG', //
         name: '',
         materialTagId: null,
         bookVersionId: null,
@@ -64,7 +65,7 @@ export default defineComponent({
       },
       tableList: [] as any,
       show: false,
-      item: {} as any
+      item: {} as any,
     });
     const getList = async () => {
       try {
@@ -113,6 +114,12 @@ export default defineComponent({
         } else {
           state.tableList.push(...temp);
         }
+        if(state.pagination.page === 1 && state.searchGroup.type === "IMG" && !prepareStore.getBeforeLoading) {
+          prepareStore.setBeforeLoading(true)
+          if(state.tableList.length <= 0) {
+            emit('confirm')
+          }
+        }
 
         state.finshed = data.pages <= data.current ? true : false;
       } catch {

+ 3 - 2
src/views/prepare-lessons/components/resource-main/components/resource-item/resource-search-group/index.tsx

@@ -5,7 +5,7 @@ import {
   NInput,
   NSpace
 } from 'naive-ui';
-import { resourceTypeArray } from '/src/utils/searchArray';
+import { resourceTypeArray2 } from '/src/utils/searchArray';
 import { useCatchStore } from '/src/store/modules/catchData';
 import { useThrottleFn } from '@vueuse/core';
 import CCascader from '/src/components/CCascader';
@@ -119,13 +119,14 @@ export default defineComponent({
       await catchStore.getSubjects();
       _initSubjectTags();
 
-      resourceTypeArray.forEach((item: any) => {
+      resourceTypeArray2.forEach((item: any) => {
         // if (props.type === 'myResources') {
         //   item.value !== 'MUSIC' && resourceType.value.push(item);
         // } else {
         resourceType.value.push(item);
         // }
       });
+      console.log(resourceType.value, "resourceType---1111")
 
       onSearch()
     });

+ 3 - 0
src/views/prepare-lessons/components/resource-main/index.tsx

@@ -203,6 +203,9 @@ export default defineComponent({
                     <ResourceItem
                       type="relateResources"
                       ref={relateResourcesRef}
+                      onConfirm={(check) => {
+                        forms.tabType = 'shareResources'
+                      }}
                     />
                   </NTabPane>
                   <NTabPane

+ 2 - 2
src/views/prepare-lessons/model/select-resources/select-item/resource-search-group/index.tsx

@@ -18,7 +18,7 @@ import {
   NPopselect,
   NSpace
 } from 'naive-ui';
-import { resourceTypeArray } from '/src/utils/searchArray';
+import { resourceTypeArray2 } from '/src/utils/searchArray';
 import { useCatchStore } from '/src/store/modules/catchData';
 import { useThrottleFn } from '@vueuse/core';
 import TheSearch from '/src/components/TheSearch';
@@ -387,7 +387,7 @@ export default defineComponent({
         };
       });
       audioPlayTypeList.value = [{ name: '全部', value: '' }, ...tempAudio];
-      resourceTypeArray.forEach((item: any) => {
+      resourceTypeArray2.forEach((item: any) => {
         resourceType.value.push(item);
       });
 

+ 3 - 3
src/views/prepare-lessons/model/select-resources/select-item/resource-search-group/search-type.tsx

@@ -18,7 +18,7 @@ import {
   NPopselect,
   NSpace
 } from 'naive-ui';
-import { resourceTypeArray } from '/src/utils/searchArray';
+import { resourceTypeArray2 } from '/src/utils/searchArray';
 import { useCatchStore } from '/src/store/modules/catchData';
 import { useThrottleFn } from '@vueuse/core';
 import TheSearch from '/src/components/TheSearch';
@@ -42,7 +42,7 @@ export default defineComponent({
     const subjectId = toRef(props.subjectId);
     const catchStore = useCatchStore();
     const forms = reactive({
-      type: 'MUSIC', //
+      type: 'IMG', //
       name: '',
       subjectId: subjectId.value as any
     });
@@ -74,7 +74,7 @@ export default defineComponent({
     const throttleFn = useThrottleFn(() => onSearch(), 500);
 
     onMounted(async () => {
-      resourceTypeArray.forEach((item: any) => {
+      resourceTypeArray2.forEach((item: any) => {
         resourceType.value.push(item);
       });