lex 1 سال پیش
والد
کامیت
b8e6357e81

+ 1 - 0
src/views/attend-class/model/train-type/index.module.less

@@ -118,6 +118,7 @@
     align-items: center;
     justify-content: center;
     transition: all 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275);
+    cursor: pointer;
 
     .previewBtn {
       background: #fff;

+ 2 - 6
src/views/attend-class/model/train-type/index.tsx

@@ -227,12 +227,8 @@ export default defineComponent({
               </p>
             </div>
           ) : (
-            <div class={styles.preview}>
-              <NButton
-                strong
-                secondary
-                class={styles.previewBtn}
-                onClick={onDetail}>
+            <div class={styles.preview} onClick={onDetail}>
+              <NButton strong secondary class={styles.previewBtn}>
                 预览
               </NButton>
             </div>

+ 3 - 4
src/views/prepare-lessons/components/resource-main/components/select-music/index.tsx

@@ -97,8 +97,8 @@ export default defineComponent({
         // });
         const { data } = await materialQueryPage({
           ...state.searchGroup,
-          ...state.pagination,
-          subjectId: prepareStore.getSubjectId
+          ...state.pagination
+          // subjectId: prepareStore.getSubjectId
         });
         state.loading = false;
         const tempRows = data.rows || [];
@@ -112,7 +112,7 @@ export default defineComponent({
             id: row.id,
             coverImg: row.coverImg || row.musicSvg,
             type: 'MUSIC',
-            title: row.musicSheetName,
+            title: row.name,
             isCollect: !!row.favoriteFlag,
             isSelected: row.sourceFrom === 'PLATFORM' ? true : false,
             content: row.id,
@@ -294,7 +294,6 @@ export default defineComponent({
                 typeList: tList
               };
 
-              console.log(train, '111');
               eventGlobal.emit('onTrainAddItem', train);
             }}
           />

+ 14 - 4
src/views/prepare-lessons/components/resource-main/index.tsx

@@ -11,10 +11,11 @@ import { NTabs, NTabPane, NModal } from 'naive-ui';
 import SelectMusicModal from '../../model/select-music';
 import { usePrepareStore } from '/src/store/modules/prepareLessons';
 import SelectResources from '../../model/select-resources';
-import SelectMusic from './components/select-music';
+import SelectMusic, { typeFormat } from './components/select-music';
 import ResourceItem from './components/resource-item';
 import TrainUpdate from '/src/views/attend-class/model/train-update';
 import requestOrigin from 'umi-request';
+import { eventGlobal } from '/src/utils';
 
 export default defineComponent({
   name: 'resource-main',
@@ -224,9 +225,18 @@ export default defineComponent({
           <TrainUpdate
             item={forms.editItem}
             onClose={() => (forms.editStatus = false)}
-            onConfirm={() => {
-              forms.editItem = {};
-              prepareStore.setIsAddTrain(true);
+            onConfirm={(item: any) => {
+              const tList = typeFormat(
+                item.trainingType,
+                item.trainingConfigJson
+              );
+              const train = {
+                ...item,
+                id: null,
+                musicName: forms.editItem.title,
+                typeList: tList
+              };
+              eventGlobal.emit('onTrainAddItem', train);
             }}
           />
         </NModal>

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

@@ -56,10 +56,16 @@ export default defineComponent({
             />
           </NTabPane>
           <NTabPane name="shareResources" tab={'共享曲目'}>
-            <SelectItem type="shareResources" />
+            <SelectItem
+              type="shareResources"
+              onAdd={(item: any) => emit('add', item)}
+            />
           </NTabPane>
           <NTabPane name="myCollect" tab="收藏曲目">
-            <SelectItem type="myCollect" />
+            <SelectItem
+              type="myCollect"
+              onAdd={(item: any) => emit('add', item)}
+            />
           </NTabPane>
         </NTabs>
       </div>

+ 26 - 6
src/views/prepare-lessons/model/select-music/select-item/index.tsx

@@ -1,5 +1,5 @@
 import { NScrollbar, NSpin, NTabPane, NTabs } from 'naive-ui';
-import { defineComponent, onMounted, reactive } from 'vue';
+import { defineComponent, onMounted, reactive, watch } from 'vue';
 import styles from './index.module.less';
 import CardType from '@/components/card-type';
 import SearchGroup from './search-group';
@@ -67,22 +67,26 @@ export default defineComponent({
         // });
         const { data } = await materialQueryPage({
           ...state.searchGroup,
-          ...state.pagination,
-          subjectId: prepareStore.getSubjectId
+          ...state.pagination
+          // subjectId: prepareStore.getSubjectId
         });
         state.loading = false;
         const tempRows = data.rows || [];
         const temp: any = [];
         tempRows.forEach((row: any) => {
+          const index = prepareStore.getTrainList.findIndex(
+            (course: any) => course.musicId === row.id
+          );
           temp.push({
             id: row.id,
-            coverImg: row.musicSvg,
+            coverImg: row.coverImg || row.musicSvg,
             type: 'MUSIC',
-            title: row.musicSheetName,
+            title: row.name,
             isCollect: false,
             isSelected: true,
             content: row.id,
-            xmlFileUrl: row.xmlFileUrl
+            xmlFileUrl: row.xmlFileUrl,
+            exist: index !== -1 ? true : false // 是否存在
           });
         });
         state.tableList.push(...temp);
@@ -93,6 +97,22 @@ export default defineComponent({
       }
     };
 
+    watch(
+      () => prepareStore.trainList,
+      () => {
+        state.tableList.forEach((item: any) => {
+          const index = prepareStore.getTrainList.findIndex(
+            (course: any) => course.musicId === item.id
+          );
+          item.exist = index !== -1 ? true : false; // 是否存在
+        });
+      },
+      {
+        deep: true,
+        immediate: true
+      }
+    );
+
     const throttledFnSearch = useDebounceFn(item => {
       state.pagination.page = 1;
       state.tableList = [];

+ 1 - 1
src/views/prepare-lessons/model/select-resources/select-item/index.tsx

@@ -244,7 +244,7 @@ export default defineComponent({
                           isShowAdd
                           item={item}
                           isShowCollect={true}
-                          isShowAddDisabled={!prepareStore.getIsEditResource}
+                          // isShowAddDisabled={!prepareStore.getIsEditResource}
                           onAdd={(item: any) => onAdd(item)}
                           disabledMouseHover={false}
                           onCollect={(item: any) => onCollect(item)}