|  | @@ -1,4 +1,4 @@
 | 
	
		
			
				|  |  | -import { closeToast, Icon, Popup, showDialog, showToast } from 'vant';
 | 
	
		
			
				|  |  | +import { closeToast, Form, Icon, Popup, showDialog, showToast } from 'vant';
 | 
	
		
			
				|  |  |  import {
 | 
	
		
			
				|  |  |    defineComponent,
 | 
	
		
			
				|  |  |    onMounted,
 | 
	
	
		
			
				|  | @@ -37,20 +37,32 @@ import {
 | 
	
		
			
				|  |  |    api_classLessonCoursewareQuery,
 | 
	
		
			
				|  |  |    api_lessonCoursewareKnowledgeDetailDetail
 | 
	
		
			
				|  |  |  } from './api';
 | 
	
		
			
				|  |  | +import {
 | 
	
		
			
				|  |  | +  api_lessonDetailCourseware,
 | 
	
		
			
				|  |  | +  api_classDetailCourseware
 | 
	
		
			
				|  |  | +} from '../courseware-list/api';
 | 
	
		
			
				|  |  |  import VideoItem from './component/video-item';
 | 
	
		
			
				|  |  |  import Chapter from './component/chapter';
 | 
	
		
			
				|  |  |  import {
 | 
	
		
			
				|  |  |    api_classLessonCoursewareDetail,
 | 
	
		
			
				|  |  |    api_lessonCoursewareDetail
 | 
	
		
			
				|  |  |  } from '../courseware-list/api';
 | 
	
		
			
				|  |  | -import detail from '../information/help-center/detail';
 | 
	
		
			
				|  |  | +// import detail from '../information/help-center/detail';
 | 
	
		
			
				|  |  |  import { state } from '@/state';
 | 
	
		
			
				|  |  | +import Theory from './component/theory';
 | 
	
		
			
				|  |  | +import InstrumentInfo from './component/instrument-info';
 | 
	
		
			
				|  |  | +// import TempoPractice from '../../views/tempo-practice';
 | 
	
		
			
				|  |  | +import SelectCoursewarePop from '@/components/select-courseware-pop';
 | 
	
		
			
				|  |  | +import { debounce } from '../../helpers/utils';
 | 
	
		
			
				|  |  | +import TempoItem from './component/tempo-item';
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  export default defineComponent({
 | 
	
		
			
				|  |  |    name: 'CoursewarePlay',
 | 
	
		
			
				|  |  |    setup() {
 | 
	
		
			
				|  |  |      const pageVisibility = usePageVisibility();
 | 
	
		
			
				|  |  |      const lastTimeKey = 'lastTime' + (state?.user?.data?.phone ?? '');
 | 
	
		
			
				|  |  | +    const showSelectCourseware = ref(false);
 | 
	
		
			
				|  |  | +    const debounceSkip = ref(false);
 | 
	
		
			
				|  |  |      /** 设置播放容器 16:9 */
 | 
	
		
			
				|  |  |      const parentContainer = reactive({
 | 
	
		
			
				|  |  |        width: '100vw'
 | 
	
	
		
			
				|  | @@ -118,7 +130,7 @@ export default defineComponent({
 | 
	
		
			
				|  |  |            });
 | 
	
		
			
				|  |  |            if (res?.code == 200 && Array.isArray(res?.data?.lessonList)) {
 | 
	
		
			
				|  |  |              data.courseDetails = res.data.lessonList || [];
 | 
	
		
			
				|  |  | -            console.log('🚀 ~ data.details course:', data.courseDetails);
 | 
	
		
			
				|  |  | +            // console.log('🚀 ~ data.details course:', data.courseDetails);
 | 
	
		
			
				|  |  |            }
 | 
	
		
			
				|  |  |          } else {
 | 
	
		
			
				|  |  |            const res = await api_lessonCoursewareDetail({
 | 
	
	
		
			
				|  | @@ -130,7 +142,7 @@ export default defineComponent({
 | 
	
		
			
				|  |  |            }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        console.log(data.courseDetails, 'data.courseDetails');
 | 
	
		
			
				|  |  | +        // console.log(data.courseDetails, 'data.courseDetails');
 | 
	
		
			
				|  |  |        } catch {
 | 
	
		
			
				|  |  |          //
 | 
	
		
			
				|  |  |        }
 | 
	
	
		
			
				|  | @@ -140,21 +152,26 @@ export default defineComponent({
 | 
	
		
			
				|  |  |      const headeRef = ref();
 | 
	
		
			
				|  |  |      const loadingClass = ref(false); // 重新加载课件
 | 
	
		
			
				|  |  |      const data = reactive({
 | 
	
		
			
				|  |  | -      knowledgePointList: [] as any,
 | 
	
		
			
				|  |  | +      allList: [] as any, // 所选章节下的所有课件列表
 | 
	
		
			
				|  |  | +      kjId: route.query.id as string, // 所选的课件id
 | 
	
		
			
				|  |  | +      currentCourse: {} as any, // 当前选中的课件
 | 
	
		
			
				|  |  | +      zsdId: '' as string, // 知识点id
 | 
	
		
			
				|  |  | +      knowledgePointList: [] as any, //所选课件,所选知识点下所有的资源列表
 | 
	
		
			
				|  |  |        courseDetails: [] as any,
 | 
	
		
			
				|  |  |        itemList: [] as any,
 | 
	
		
			
				|  |  |        videoRefs: {} as any[],
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |        videoState: 'init' as 'init' | 'play',
 | 
	
		
			
				|  |  |        videoItemRef: null as any,
 | 
	
		
			
				|  |  | -      animationState: 'start' as 'start' | 'end'
 | 
	
		
			
				|  |  | +      animationState: 'start' as 'start' | 'end',
 | 
	
		
			
				|  |  | +      coursewareList: []
 | 
	
		
			
				|  |  |      });
 | 
	
		
			
				|  |  |      const activeData = reactive({
 | 
	
		
			
				|  |  |        isAutoPlay: true, // 是否自动播放
 | 
	
		
			
				|  |  |        subjectId: route.query.subjectId,
 | 
	
		
			
				|  |  |        lessonCoursewareId: route.query.lessonCoursewareId,
 | 
	
		
			
				|  |  |        lessonCoursewareDetailId: route.query.lessonCoursewareDetailId,
 | 
	
		
			
				|  |  | -      coursewareDetailKnowledgeId: route.query.id,
 | 
	
		
			
				|  |  | +      coursewareDetailKnowledgeId: route.query.coursewareDetailKnowledgeId,
 | 
	
		
			
				|  |  |        courseId: route.query.courseId, // 我的课程专用编号
 | 
	
		
			
				|  |  |        nowTime: 0,
 | 
	
		
			
				|  |  |        model: true, // 遮罩
 | 
	
	
		
			
				|  | @@ -165,42 +182,79 @@ export default defineComponent({
 | 
	
		
			
				|  |  |        timer: null as any,
 | 
	
		
			
				|  |  |        item: null as any
 | 
	
		
			
				|  |  |      });
 | 
	
		
			
				|  |  | +    //  切换单元临时数据
 | 
	
		
			
				|  |  | +    const temporaryData = reactive({
 | 
	
		
			
				|  |  | +      dyId: '', // 单元id
 | 
	
		
			
				|  |  | +      zjId: '' // 章节id
 | 
	
		
			
				|  |  | +    });
 | 
	
		
			
				|  |  |      const getDetail = async () => {
 | 
	
		
			
				|  |  | +      data.allList = [];
 | 
	
		
			
				|  |  |        let courseList: any[] = [];
 | 
	
		
			
				|  |  |        if (route.query.tab == 'course') {
 | 
	
		
			
				|  |  | -        const res = await api_classLessonCoursewareQuery({
 | 
	
		
			
				|  |  | -          coursewareDetailKnowledgeId: activeData.coursewareDetailKnowledgeId,
 | 
	
		
			
				|  |  | -          subjectId: activeData.subjectId,
 | 
	
		
			
				|  |  | -          page: 1,
 | 
	
		
			
				|  |  | -          rows: -1
 | 
	
		
			
				|  |  | +        // const res = await api_classLessonCoursewareQuery({
 | 
	
		
			
				|  |  | +        //   coursewareDetailKnowledgeId: activeData.coursewareDetailKnowledgeId,
 | 
	
		
			
				|  |  | +        //   subjectId: activeData.subjectId,
 | 
	
		
			
				|  |  | +        //   page: 1,
 | 
	
		
			
				|  |  | +        //   rows: -1
 | 
	
		
			
				|  |  | +        // });
 | 
	
		
			
				|  |  | +        const res = await api_classDetailCourseware({
 | 
	
		
			
				|  |  | +          lessonCoursewareKnowledgeDetailId:
 | 
	
		
			
				|  |  | +            activeData.coursewareDetailKnowledgeId // 章节id
 | 
	
		
			
				|  |  |          });
 | 
	
		
			
				|  |  | -        if (res?.code === 200 && Array.isArray(res.data.rows)) {
 | 
	
		
			
				|  |  | -          const tempRows = res.data.rows || [];
 | 
	
		
			
				|  |  | -          tempRows.forEach((item: any) => {
 | 
	
		
			
				|  |  | -            courseList.push({
 | 
	
		
			
				|  |  | -              content: item.content,
 | 
	
		
			
				|  |  | -              coverImg: item.coverImg,
 | 
	
		
			
				|  |  | -              id: item.id,
 | 
	
		
			
				|  |  | -              materialId: item.materialId,
 | 
	
		
			
				|  |  | -              name: item.materialName,
 | 
	
		
			
				|  |  | -              relOrder: 0,
 | 
	
		
			
				|  |  | -              sourceFrom: item.source,
 | 
	
		
			
				|  |  | -              type: item.materialType
 | 
	
		
			
				|  |  | +        if (res?.code === 200 && Array.isArray(res.data)) {
 | 
	
		
			
				|  |  | +          // const tempRows = res.data.rows || [];
 | 
	
		
			
				|  |  | +          // tempRows.forEach((item: any) => {
 | 
	
		
			
				|  |  | +          //   courseList.push({
 | 
	
		
			
				|  |  | +          //     content: item.content,
 | 
	
		
			
				|  |  | +          //     coverImg: item.coverImg,
 | 
	
		
			
				|  |  | +          //     id: item.id,
 | 
	
		
			
				|  |  | +          //     materialId: item.materialId,
 | 
	
		
			
				|  |  | +          //     name: item.materialName,
 | 
	
		
			
				|  |  | +          //     relOrder: 0,
 | 
	
		
			
				|  |  | +          //     sourceFrom: item.source,
 | 
	
		
			
				|  |  | +          //     type: item.materialType
 | 
	
		
			
				|  |  | +          //   });
 | 
	
		
			
				|  |  | +          // });
 | 
	
		
			
				|  |  | +          res.data.forEach((item: any) => {
 | 
	
		
			
				|  |  | +            item.knowledgeList = item.resourceList;
 | 
	
		
			
				|  |  | +            item.resourceList.forEach((n: any) => {
 | 
	
		
			
				|  |  | +              n.materialInfo = n.resourceList;
 | 
	
		
			
				|  |  |              });
 | 
	
		
			
				|  |  |            });
 | 
	
		
			
				|  |  | +          data.allList = res.data;
 | 
	
		
			
				|  |  | +          const currentCourse = res.data.find(
 | 
	
		
			
				|  |  | +            (item: any) => item.id === data.kjId
 | 
	
		
			
				|  |  | +          );
 | 
	
		
			
				|  |  | +          data.zsdId = currentCourse?.knowledgeList?.[0].id;
 | 
	
		
			
				|  |  | +          courseList = currentCourse?.knowledgeList?.[0].materialInfo || [];
 | 
	
		
			
				|  |  | +          data.currentCourse = currentCourse || {}
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |        } else {
 | 
	
		
			
				|  |  | -        const res = await api_lessonCoursewareKnowledgeDetailDetail({
 | 
	
		
			
				|  |  | +        // const res = await api_lessonCoursewareKnowledgeDetailDetail({
 | 
	
		
			
				|  |  | +        //   lessonCoursewareKnowledgeDetailId:
 | 
	
		
			
				|  |  | +        //     activeData.coursewareDetailKnowledgeId,
 | 
	
		
			
				|  |  | +        //   subjectId: activeData.subjectId
 | 
	
		
			
				|  |  | +        // });
 | 
	
		
			
				|  |  | +        const res = await api_lessonDetailCourseware({
 | 
	
		
			
				|  |  |            lessonCoursewareKnowledgeDetailId:
 | 
	
		
			
				|  |  | -            activeData.coursewareDetailKnowledgeId,
 | 
	
		
			
				|  |  | -          subjectId: activeData.subjectId
 | 
	
		
			
				|  |  | +            activeData.coursewareDetailKnowledgeId // 章节id
 | 
	
		
			
				|  |  |          });
 | 
	
		
			
				|  |  |          if (res?.code === 200 && Array.isArray(res.data)) {
 | 
	
		
			
				|  |  | -          courseList = res.data || [];
 | 
	
		
			
				|  |  | +          data.allList = res.data;
 | 
	
		
			
				|  |  | +          const currentCourse = res.data.find(
 | 
	
		
			
				|  |  | +            (item: any) => item.id === data.kjId
 | 
	
		
			
				|  |  | +          );
 | 
	
		
			
				|  |  | +          data.zsdId = currentCourse?.knowledgeList?.[0].id;
 | 
	
		
			
				|  |  | +          courseList = currentCourse?.knowledgeList?.[0].materialInfo || [];
 | 
	
		
			
				|  |  | +          data.currentCourse = currentCourse || {}
 | 
	
		
			
				|  |  | +          // console.log('课件类型', data.allList);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  | +      // 当前的资源id
 | 
	
		
			
				|  |  | +      let resourceId: any = null;
 | 
	
		
			
				|  |  |        // 课程
 | 
	
		
			
				|  |  |        if (courseList.length > 0) {
 | 
	
		
			
				|  |  | +        resourceId = courseList[0].id;
 | 
	
		
			
				|  |  |          data.knowledgePointList = courseList.map((item: any) => {
 | 
	
		
			
				|  |  |            return {
 | 
	
		
			
				|  |  |              ...item,
 | 
	
	
		
			
				|  | @@ -213,8 +267,49 @@ export default defineComponent({
 | 
	
		
			
				|  |  |            };
 | 
	
		
			
				|  |  |          });
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  | +      // 当前章节下的所有资源列表
 | 
	
		
			
				|  |  | +      let allResource: any = [];
 | 
	
		
			
				|  |  | +      data.allList.forEach((item: any) => {
 | 
	
		
			
				|  |  | +        item.knowledgeList.forEach((material: any) => {
 | 
	
		
			
				|  |  | +          material.materialInfo.forEach((resource: any) => {
 | 
	
		
			
				|  |  | +            resource.zsdId = material.id; // 知识点id
 | 
	
		
			
				|  |  | +            resource.kjId = item.id; // 课件id
 | 
	
		
			
				|  |  | +            resource.bizId =
 | 
	
		
			
				|  |  | +              route.query.tab == 'course'
 | 
	
		
			
				|  |  | +                ? resource.materialId
 | 
	
		
			
				|  |  | +                : resource.bizId;
 | 
	
		
			
				|  |  | +            resource.url =
 | 
	
		
			
				|  |  | +              resource.type === 'SONG'
 | 
	
		
			
				|  |  | +                ? 'https://oss.dayaedu.com/ktqy/1698420034679a22d3f7a.png'
 | 
	
		
			
				|  |  | +                : resource.type === 'PPT'
 | 
	
		
			
				|  |  | +                ? 'https://oss.dayaedu.com/ktqy/12/1701931810284.png'
 | 
	
		
			
				|  |  | +                : resource.coverImg;
 | 
	
		
			
				|  |  | +          });
 | 
	
		
			
				|  |  | +          allResource = allResource.concat(material.materialInfo);
 | 
	
		
			
				|  |  | +        });
 | 
	
		
			
				|  |  | +      });
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      // 当前章节下,所选的课件所有资源列表
 | 
	
		
			
				|  |  | +      let allKjResource: any = [];
 | 
	
		
			
				|  |  | +      data.currentCourse?.knowledgeList?.forEach((material: any) => {
 | 
	
		
			
				|  |  | +        material.materialInfo.forEach((resource: any) => {
 | 
	
		
			
				|  |  | +          resource.zsdId = material.id; // 知识点id
 | 
	
		
			
				|  |  | +          resource.kjId = data.currentCourse.id; // 课件id
 | 
	
		
			
				|  |  | +          resource.bizId =
 | 
	
		
			
				|  |  | +            route.query.tab == 'course'
 | 
	
		
			
				|  |  | +              ? resource.materialId
 | 
	
		
			
				|  |  | +              : resource.bizId;
 | 
	
		
			
				|  |  | +          resource.url =
 | 
	
		
			
				|  |  | +            resource.type === 'SONG'
 | 
	
		
			
				|  |  | +              ? 'https://oss.dayaedu.com/ktqy/1698420034679a22d3f7a.png'
 | 
	
		
			
				|  |  | +              : resource.type === 'PPT'
 | 
	
		
			
				|  |  | +              ? 'https://oss.dayaedu.com/ktqy/12/1701931810284.png'
 | 
	
		
			
				|  |  | +              : resource.coverImg;
 | 
	
		
			
				|  |  | +        });
 | 
	
		
			
				|  |  | +        allKjResource = allKjResource.concat(material.materialInfo);
 | 
	
		
			
				|  |  | +      });
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -      data.itemList = data.knowledgePointList.map((m: any, index: number) => {
 | 
	
		
			
				|  |  | +      data.itemList = allKjResource.map((m: any, index: number) => {
 | 
	
		
			
				|  |  |          if (!popupData.itemActive) {
 | 
	
		
			
				|  |  |            popupData.itemActive = m.id;
 | 
	
		
			
				|  |  |            popupData.itemName = m.name;
 | 
	
	
		
			
				|  | @@ -228,7 +323,14 @@ export default defineComponent({
 | 
	
		
			
				|  |  |            isRender: false // 是否渲染了
 | 
	
		
			
				|  |  |          };
 | 
	
		
			
				|  |  |        });
 | 
	
		
			
				|  |  | +      const resourceIndex = data.itemList.findIndex(
 | 
	
		
			
				|  |  | +        (resource: any) => resource.id === resourceId
 | 
	
		
			
				|  |  | +      );
 | 
	
		
			
				|  |  | +      setTimeout(() => {
 | 
	
		
			
				|  |  | +        handleSwipeChange(resourceIndex);
 | 
	
		
			
				|  |  | +      }, 0);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +      console.log('资源', data.itemList, resourceIndex);
 | 
	
		
			
				|  |  |        setTimeout(() => {
 | 
	
		
			
				|  |  |          data.animationState = 'end';
 | 
	
		
			
				|  |  |        }, 500);
 | 
	
	
		
			
				|  | @@ -244,6 +346,10 @@ export default defineComponent({
 | 
	
		
			
				|  |  |          clearInterval(activeData.timer);
 | 
	
		
			
				|  |  |          activeData.model = !ev.data.state;
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      if (ev.data?.api === 'clickTempo') {
 | 
	
		
			
				|  |  | +        setModelOpen();
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  |      };
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      onMounted(() => {
 | 
	
	
		
			
				|  | @@ -279,7 +385,21 @@ export default defineComponent({
 | 
	
		
			
				|  |  |      });
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      // 切换素材
 | 
	
		
			
				|  |  | -    const toggleMaterial = (itemActive: any) => {
 | 
	
		
			
				|  |  | +    const toggleMaterial = (itemActive: any, zsdId: any, kjId: any) => {
 | 
	
		
			
				|  |  | +      // 如果切换了知识点或者切换了课件,需要加载新的
 | 
	
		
			
				|  |  | +      // if (zsdId !== data.zsdId || kjId !== data.kjId) {
 | 
	
		
			
				|  |  | +      //   data.zsdId = zsdId
 | 
	
		
			
				|  |  | +      //   data.kjId = kjId
 | 
	
		
			
				|  |  | +      //   let target = { materialInfo: [] }
 | 
	
		
			
				|  |  | +      //   // 如果是切换了知识点id
 | 
	
		
			
				|  |  | +      //   const kjIndex = data.allList.findIndex((item: any) => item.id === kjId)
 | 
	
		
			
				|  |  | +      //   target = data.allList[kjIndex].knowledgeList.find((item: any) => item.id === zsdId)
 | 
	
		
			
				|  |  | +      // } else {
 | 
	
		
			
				|  |  | +      //   const index = data.itemList.findIndex((n: any) => n.id == itemActive);
 | 
	
		
			
				|  |  | +      //   if (index > -1) {
 | 
	
		
			
				|  |  | +      //     handleSwipeChange(index);
 | 
	
		
			
				|  |  | +      //   }
 | 
	
		
			
				|  |  | +      // }
 | 
	
		
			
				|  |  |        const index = data.itemList.findIndex((n: any) => n.id == itemActive);
 | 
	
		
			
				|  |  |        if (index > -1) {
 | 
	
		
			
				|  |  |          handleSwipeChange(index);
 | 
	
	
		
			
				|  | @@ -370,7 +490,7 @@ export default defineComponent({
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |      ];
 | 
	
		
			
				|  |  |      const handleStop = () => {
 | 
	
		
			
				|  |  | -      data.videoItemRef.pause();
 | 
	
		
			
				|  |  | +      data.videoItemRef?.pause();
 | 
	
		
			
				|  |  |      };
 | 
	
		
			
				|  |  |      const acitveTimer = ref();
 | 
	
		
			
				|  |  |      // 轮播切换
 | 
	
	
		
			
				|  | @@ -383,6 +503,8 @@ export default defineComponent({
 | 
	
		
			
				|  |  |        clearTimeout(acitveTimer.value);
 | 
	
		
			
				|  |  |        activeData.model = true;
 | 
	
		
			
				|  |  |        const item = data.itemList[index];
 | 
	
		
			
				|  |  | +      data.kjId = item.kjId;
 | 
	
		
			
				|  |  | +      data.zsdId = item.zsdId;
 | 
	
		
			
				|  |  |        popupData.activeIndex = index;
 | 
	
		
			
				|  |  |        popupData.itemActive = item.id;
 | 
	
		
			
				|  |  |        popupData.itemName = item.name;
 | 
	
	
		
			
				|  | @@ -400,6 +522,7 @@ export default defineComponent({
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      // 上一个知识点, 下一个知识点
 | 
	
		
			
				|  |  |      const handlePreAndNext = async (type: string) => {
 | 
	
		
			
				|  |  | +      // 层级关系:单元〉章节〉知识点〉课件资源
 | 
	
		
			
				|  |  |        if (type === 'up') {
 | 
	
		
			
				|  |  |          // 判断上面是否还有章节
 | 
	
		
			
				|  |  |          if (popupData.activeIndex > 0) {
 | 
	
	
		
			
				|  | @@ -420,6 +543,7 @@ export default defineComponent({
 | 
	
		
			
				|  |  |          let lessonCoursewareDetailId = '';
 | 
	
		
			
				|  |  |          let coursewareDetailKnowledgeId = '';
 | 
	
		
			
				|  |  |          let coursewareDetailKnowledgeName = '';
 | 
	
		
			
				|  |  | +        let coursewareItem = {} as any;
 | 
	
		
			
				|  |  |          while (lessonIndex >= 0) {
 | 
	
		
			
				|  |  |            lessonIndex--;
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -430,6 +554,7 @@ export default defineComponent({
 | 
	
		
			
				|  |  |                  detailItem[lessonIndex].lessonCoursewareDetailId;
 | 
	
		
			
				|  |  |                coursewareDetailKnowledgeId = detailItem[lessonIndex].id;
 | 
	
		
			
				|  |  |                coursewareDetailKnowledgeName = detailItem[lessonIndex].name;
 | 
	
		
			
				|  |  | +              coursewareItem = detailItem[lessonIndex];
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |            }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -439,21 +564,29 @@ export default defineComponent({
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          // 判断当前章节下面课程是否有内容,否则往上一个章节走
 | 
	
		
			
				|  |  |          if (lessonStatus) {
 | 
	
		
			
				|  |  | -          loadingClass.value = true;
 | 
	
		
			
				|  |  | -          activeData.coursewareDetailKnowledgeId = coursewareDetailKnowledgeId;
 | 
	
		
			
				|  |  | -          activeData.lessonCoursewareDetailId = lessonCoursewareDetailId;
 | 
	
		
			
				|  |  | -          await getDetail();
 | 
	
		
			
				|  |  | -          popupData.activeIndex = data.itemList.length - 1 || 0;
 | 
	
		
			
				|  |  | -          popupData.itemActive =
 | 
	
		
			
				|  |  | -            data.knowledgePointList[data.itemList.length - 1]?.id ||
 | 
	
		
			
				|  |  | -            data.knowledgePointList[0]?.id;
 | 
	
		
			
				|  |  | -          popupData.itemPointName = coursewareDetailKnowledgeName;
 | 
	
		
			
				|  |  | -          popupData.itemName =
 | 
	
		
			
				|  |  | -            data.knowledgePointList[data.itemList.length - 1]?.name ||
 | 
	
		
			
				|  |  | -            data.knowledgePointList[0]?.name;
 | 
	
		
			
				|  |  | -          localStorage.setItem(lastTimeKey, coursewareDetailKnowledgeId);
 | 
	
		
			
				|  |  | -          popupData.chapterOpen = false;
 | 
	
		
			
				|  |  | -          loadingClass.value = false;
 | 
	
		
			
				|  |  | +          // loadingClass.value = true;
 | 
	
		
			
				|  |  | +          // activeData.coursewareDetailKnowledgeId = coursewareDetailKnowledgeId;
 | 
	
		
			
				|  |  | +          // activeData.lessonCoursewareDetailId = lessonCoursewareDetailId;
 | 
	
		
			
				|  |  | +          // await getDetail();
 | 
	
		
			
				|  |  | +          // popupData.activeIndex = data.itemList.length - 1 || 0;
 | 
	
		
			
				|  |  | +          // popupData.itemActive =
 | 
	
		
			
				|  |  | +          //   data.knowledgePointList[data.itemList.length - 1]?.id ||
 | 
	
		
			
				|  |  | +          //   data.knowledgePointList[0]?.id;
 | 
	
		
			
				|  |  | +          // popupData.itemPointName = coursewareDetailKnowledgeName;
 | 
	
		
			
				|  |  | +          // popupData.itemName =
 | 
	
		
			
				|  |  | +          //   data.knowledgePointList[data.itemList.length - 1]?.name ||
 | 
	
		
			
				|  |  | +          //   data.knowledgePointList[0]?.name;
 | 
	
		
			
				|  |  | +          // localStorage.setItem(lastTimeKey, coursewareDetailKnowledgeId);
 | 
	
		
			
				|  |  | +          // popupData.chapterOpen = false;
 | 
	
		
			
				|  |  | +          // loadingClass.value = false;
 | 
	
		
			
				|  |  | +          // console.log
 | 
	
		
			
				|  |  | +          temporaryData.zjId = coursewareDetailKnowledgeId;
 | 
	
		
			
				|  |  | +          temporaryData.dyId = lessonCoursewareDetailId;
 | 
	
		
			
				|  |  | +          // activeData.coursewareDetailKnowledgeId = coursewareDetailKnowledgeId;
 | 
	
		
			
				|  |  | +          checkCourseware({
 | 
	
		
			
				|  |  | +            ...coursewareItem,
 | 
	
		
			
				|  |  | +            itemActive: coursewareDetailKnowledgeId
 | 
	
		
			
				|  |  | +          });
 | 
	
		
			
				|  |  |            return;
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -471,6 +604,7 @@ export default defineComponent({
 | 
	
		
			
				|  |  |                coursewareDetailKnowledgeId = tempDetail[tempLessonLength - 1].id;
 | 
	
		
			
				|  |  |                coursewareDetailKnowledgeName =
 | 
	
		
			
				|  |  |                  tempDetail[tempLessonLength - 1].name;
 | 
	
		
			
				|  |  | +              coursewareItem = tempDetail[tempLessonLength - 1];
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              tempLessonLength--;
 | 
	
		
			
				|  |  |              if (prevLessonStatus) {
 | 
	
	
		
			
				|  | @@ -485,21 +619,29 @@ export default defineComponent({
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          // 判断当前章节下面课程是否有内容,否则往上一个章节走
 | 
	
		
			
				|  |  |          if (prevLessonStatus) {
 | 
	
		
			
				|  |  | -          loadingClass.value = true;
 | 
	
		
			
				|  |  | -          activeData.coursewareDetailKnowledgeId = coursewareDetailKnowledgeId;
 | 
	
		
			
				|  |  | -          activeData.lessonCoursewareDetailId = lessonCoursewareDetailId;
 | 
	
		
			
				|  |  | -          await getDetail();
 | 
	
		
			
				|  |  | -          popupData.activeIndex = data.itemList.length - 1 || 0;
 | 
	
		
			
				|  |  | -          popupData.itemActive =
 | 
	
		
			
				|  |  | -            data.knowledgePointList[data.itemList.length - 1]?.id ||
 | 
	
		
			
				|  |  | -            data.knowledgePointList[0]?.id;
 | 
	
		
			
				|  |  | -          localStorage.setItem(lastTimeKey, coursewareDetailKnowledgeId);
 | 
	
		
			
				|  |  | -          popupData.itemPointName = coursewareDetailKnowledgeName;
 | 
	
		
			
				|  |  | -          popupData.itemName =
 | 
	
		
			
				|  |  | -            data.knowledgePointList[data.itemList.length - 1]?.name ||
 | 
	
		
			
				|  |  | -            data.knowledgePointList[0]?.name;
 | 
	
		
			
				|  |  | -          popupData.chapterOpen = false;
 | 
	
		
			
				|  |  | -          loadingClass.value = false;
 | 
	
		
			
				|  |  | +          // loadingClass.value = true;
 | 
	
		
			
				|  |  | +          // activeData.coursewareDetailKnowledgeId = coursewareDetailKnowledgeId;
 | 
	
		
			
				|  |  | +          // activeData.lessonCoursewareDetailId = lessonCoursewareDetailId;
 | 
	
		
			
				|  |  | +          // await getDetail();
 | 
	
		
			
				|  |  | +          // popupData.activeIndex = data.itemList.length - 1 || 0;
 | 
	
		
			
				|  |  | +          // popupData.itemActive =
 | 
	
		
			
				|  |  | +          //   data.knowledgePointList[data.itemList.length - 1]?.id ||
 | 
	
		
			
				|  |  | +          //   data.knowledgePointList[0]?.id;
 | 
	
		
			
				|  |  | +          // localStorage.setItem(lastTimeKey, coursewareDetailKnowledgeId);
 | 
	
		
			
				|  |  | +          // popupData.itemPointName = coursewareDetailKnowledgeName;
 | 
	
		
			
				|  |  | +          // popupData.itemName =
 | 
	
		
			
				|  |  | +          //   data.knowledgePointList[data.itemList.length - 1]?.name ||
 | 
	
		
			
				|  |  | +          //   data.knowledgePointList[0]?.name;
 | 
	
		
			
				|  |  | +          // popupData.chapterOpen = false;
 | 
	
		
			
				|  |  | +          // loadingClass.value = false;
 | 
	
		
			
				|  |  | +          // console.log('2', coursewareItem, coursewareDetailKnowledgeId);
 | 
	
		
			
				|  |  | +          temporaryData.zjId = coursewareDetailKnowledgeId;
 | 
	
		
			
				|  |  | +          temporaryData.dyId = lessonCoursewareDetailId;
 | 
	
		
			
				|  |  | +          // activeData.coursewareDetailKnowledgeId = coursewareDetailKnowledgeId;
 | 
	
		
			
				|  |  | +          checkCourseware({
 | 
	
		
			
				|  |  | +            ...coursewareItem,
 | 
	
		
			
				|  |  | +            itemActive: coursewareDetailKnowledgeId
 | 
	
		
			
				|  |  | +          });
 | 
	
		
			
				|  |  |            return;
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |        } else {
 | 
	
	
		
			
				|  | @@ -508,11 +650,13 @@ export default defineComponent({
 | 
	
		
			
				|  |  |            return;
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        // 获取当前是哪个章节
 | 
	
		
			
				|  |  | +        // 获取当前是哪个单元
 | 
	
		
			
				|  |  |          let detailIndex = data.courseDetails.findIndex(
 | 
	
		
			
				|  |  |            (item: any) => item.id == activeData.lessonCoursewareDetailId
 | 
	
		
			
				|  |  |          );
 | 
	
		
			
				|  |  | +        // 当前章节列表
 | 
	
		
			
				|  |  |          const detailItem = data.courseDetails[detailIndex]?.knowledgeList || [];
 | 
	
		
			
				|  |  | +        // 获取当前是哪个章节
 | 
	
		
			
				|  |  |          let lessonIndex = detailItem.findIndex(
 | 
	
		
			
				|  |  |            (item: any) => item.id == activeData.coursewareDetailKnowledgeId
 | 
	
		
			
				|  |  |          );
 | 
	
	
		
			
				|  | @@ -521,6 +665,7 @@ export default defineComponent({
 | 
	
		
			
				|  |  |          let lessonCoursewareDetailId = '';
 | 
	
		
			
				|  |  |          let coursewareDetailKnowledgeId = '';
 | 
	
		
			
				|  |  |          let coursewareDetailKnowledgeName = '';
 | 
	
		
			
				|  |  | +        let coursewareItem = {} as any;
 | 
	
		
			
				|  |  |          while (lessonIndex < detailItem.length - 1) {
 | 
	
		
			
				|  |  |            lessonIndex++;
 | 
	
		
			
				|  |  |            if (lessonIndex >= 0) {
 | 
	
	
		
			
				|  | @@ -530,6 +675,7 @@ export default defineComponent({
 | 
	
		
			
				|  |  |                  detailItem[lessonIndex].lessonCoursewareDetailId;
 | 
	
		
			
				|  |  |                coursewareDetailKnowledgeId = detailItem[lessonIndex].id;
 | 
	
		
			
				|  |  |                coursewareDetailKnowledgeName = detailItem[lessonIndex].name;
 | 
	
		
			
				|  |  | +              coursewareItem = detailItem[lessonIndex];
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |            }
 | 
	
		
			
				|  |  |            if (lessonStatus) {
 | 
	
	
		
			
				|  | @@ -538,17 +684,25 @@ export default defineComponent({
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          // 判断当前章节下面课程是否有内容,否则往下一个章节走
 | 
	
		
			
				|  |  |          if (lessonStatus) {
 | 
	
		
			
				|  |  | -          loadingClass.value = true;
 | 
	
		
			
				|  |  | -          activeData.coursewareDetailKnowledgeId = coursewareDetailKnowledgeId;
 | 
	
		
			
				|  |  | -          activeData.lessonCoursewareDetailId = lessonCoursewareDetailId;
 | 
	
		
			
				|  |  | -          await getDetail();
 | 
	
		
			
				|  |  | -          popupData.activeIndex = 0;
 | 
	
		
			
				|  |  | -          popupData.itemActive = data.knowledgePointList[0].id;
 | 
	
		
			
				|  |  | -          popupData.itemName = data.knowledgePointList[0].name;
 | 
	
		
			
				|  |  | -          localStorage.setItem(lastTimeKey, coursewareDetailKnowledgeId);
 | 
	
		
			
				|  |  | -          popupData.itemPointName = coursewareDetailKnowledgeName;
 | 
	
		
			
				|  |  | -          popupData.chapterOpen = false;
 | 
	
		
			
				|  |  | -          loadingClass.value = false;
 | 
	
		
			
				|  |  | +          // loadingClass.value = true;
 | 
	
		
			
				|  |  | +          // activeData.coursewareDetailKnowledgeId = coursewareDetailKnowledgeId;
 | 
	
		
			
				|  |  | +          // activeData.lessonCoursewareDetailId = lessonCoursewareDetailId;
 | 
	
		
			
				|  |  | +          // await getDetail();
 | 
	
		
			
				|  |  | +          // popupData.activeIndex = 0;
 | 
	
		
			
				|  |  | +          // popupData.itemActive = data.knowledgePointList[0].id;
 | 
	
		
			
				|  |  | +          // popupData.itemName = data.knowledgePointList[0].name;
 | 
	
		
			
				|  |  | +          // localStorage.setItem(lastTimeKey, coursewareDetailKnowledgeId);
 | 
	
		
			
				|  |  | +          // popupData.itemPointName = coursewareDetailKnowledgeName;
 | 
	
		
			
				|  |  | +          // popupData.chapterOpen = false;
 | 
	
		
			
				|  |  | +          // loadingClass.value = false;
 | 
	
		
			
				|  |  | +          temporaryData.zjId = coursewareDetailKnowledgeId;
 | 
	
		
			
				|  |  | +          temporaryData.dyId = lessonCoursewareDetailId;
 | 
	
		
			
				|  |  | +          // activeData.coursewareDetailKnowledgeId = coursewareDetailKnowledgeId;
 | 
	
		
			
				|  |  | +          // console.log(coursewareItem, 'coursewareItem', temporaryData);
 | 
	
		
			
				|  |  | +          checkCourseware({
 | 
	
		
			
				|  |  | +            ...coursewareItem,
 | 
	
		
			
				|  |  | +            itemActive: coursewareDetailKnowledgeId
 | 
	
		
			
				|  |  | +          });
 | 
	
		
			
				|  |  |            return;
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -565,6 +719,7 @@ export default defineComponent({
 | 
	
		
			
				|  |  |                  tempDetail[tempLessonLength].lessonCoursewareDetailId;
 | 
	
		
			
				|  |  |                coursewareDetailKnowledgeId = tempDetail[tempLessonLength].id;
 | 
	
		
			
				|  |  |                coursewareDetailKnowledgeName = tempDetail[tempLessonLength].name;
 | 
	
		
			
				|  |  | +              coursewareItem = tempDetail[tempLessonLength];
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              tempLessonLength++;
 | 
	
		
			
				|  |  |              if (nextLessonStatus) {
 | 
	
	
		
			
				|  | @@ -577,19 +732,27 @@ export default defineComponent({
 | 
	
		
			
				|  |  |            }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        // 判断当前章节下面课程是否有内容,否则往上一个章节走
 | 
	
		
			
				|  |  | +        // 判断当前章节下面课程是否有内容,否则往下一个单元走
 | 
	
		
			
				|  |  |          if (nextLessonStatus) {
 | 
	
		
			
				|  |  | -          loadingClass.value = true;
 | 
	
		
			
				|  |  | -          activeData.coursewareDetailKnowledgeId = coursewareDetailKnowledgeId;
 | 
	
		
			
				|  |  | -          activeData.lessonCoursewareDetailId = lessonCoursewareDetailId;
 | 
	
		
			
				|  |  | -          await getDetail();
 | 
	
		
			
				|  |  | -          popupData.activeIndex = 0;
 | 
	
		
			
				|  |  | -          popupData.itemActive = data.knowledgePointList[0].id;
 | 
	
		
			
				|  |  | -          localStorage.setItem(lastTimeKey, coursewareDetailKnowledgeId);
 | 
	
		
			
				|  |  | -          popupData.itemName = data.knowledgePointList[0].name;
 | 
	
		
			
				|  |  | -          popupData.itemPointName = coursewareDetailKnowledgeName;
 | 
	
		
			
				|  |  | -          popupData.chapterOpen = false;
 | 
	
		
			
				|  |  | -          loadingClass.value = false;
 | 
	
		
			
				|  |  | +          // loadingClass.value = true;
 | 
	
		
			
				|  |  | +          // activeData.coursewareDetailKnowledgeId = coursewareDetailKnowledgeId;
 | 
	
		
			
				|  |  | +          // activeData.lessonCoursewareDetailId = lessonCoursewareDetailId;
 | 
	
		
			
				|  |  | +          // await getDetail();
 | 
	
		
			
				|  |  | +          // popupData.activeIndex = 0;
 | 
	
		
			
				|  |  | +          // popupData.itemActive = data.knowledgePointList[0].id;
 | 
	
		
			
				|  |  | +          // localStorage.setItem(lastTimeKey, coursewareDetailKnowledgeId);
 | 
	
		
			
				|  |  | +          // popupData.itemName = data.knowledgePointList[0].name;
 | 
	
		
			
				|  |  | +          // popupData.itemPointName = coursewareDetailKnowledgeName;
 | 
	
		
			
				|  |  | +          // popupData.chapterOpen = false;
 | 
	
		
			
				|  |  | +          // loadingClass.value = false;
 | 
	
		
			
				|  |  | +          temporaryData.zjId = coursewareDetailKnowledgeId;
 | 
	
		
			
				|  |  | +          temporaryData.dyId = lessonCoursewareDetailId;
 | 
	
		
			
				|  |  | +          // activeData.coursewareDetailKnowledgeId = coursewareDetailKnowledgeId;
 | 
	
		
			
				|  |  | +          // console.log(coursewareItem, 'coursewareItem', temporaryData);
 | 
	
		
			
				|  |  | +          checkCourseware({
 | 
	
		
			
				|  |  | +            ...coursewareItem,
 | 
	
		
			
				|  |  | +            itemActive: coursewareDetailKnowledgeId
 | 
	
		
			
				|  |  | +          });
 | 
	
		
			
				|  |  |            return;
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |        }
 | 
	
	
		
			
				|  | @@ -673,6 +836,7 @@ export default defineComponent({
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      // 是否允许下一页
 | 
	
		
			
				|  |  |      const isDownArrow = computed(() => {
 | 
	
		
			
				|  |  | +      console.log(22222222222)
 | 
	
		
			
				|  |  |        if (popupData.activeIndex < data.itemList.length - 1) {
 | 
	
		
			
				|  |  |          return true;
 | 
	
		
			
				|  |  |        }
 | 
	
	
		
			
				|  | @@ -703,6 +867,7 @@ export default defineComponent({
 | 
	
		
			
				|  |  |            }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |        // 判断当前章节下面课程是否有内容,否则往下一个章节走
 | 
	
		
			
				|  |  |        if (lessonStatus) {
 | 
	
		
			
				|  |  |          return true;
 | 
	
	
		
			
				|  | @@ -740,6 +905,86 @@ export default defineComponent({
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |        return {};
 | 
	
		
			
				|  |  |      });
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    // 加载新的章节里的课件
 | 
	
		
			
				|  |  | +    const loadNewCourseware = async (item: any) => {
 | 
	
		
			
				|  |  | +      if(item.id === data.kjId) {
 | 
	
		
			
				|  |  | +        showSelectCourseware.value = false;
 | 
	
		
			
				|  |  | +        return
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      if (debounceSkip.value) return;
 | 
	
		
			
				|  |  | +      debounceSkip.value = true;
 | 
	
		
			
				|  |  | +      data.itemList = [];
 | 
	
		
			
				|  |  | +      loadingClass.value = true;
 | 
	
		
			
				|  |  | +      // activeData.coursewareDetailKnowledgeId = item.coursewareDetailKnowledgeId;
 | 
	
		
			
				|  |  | +      // activeData.lessonCoursewareDetailId = item.lessonCoursewareDetailId;
 | 
	
		
			
				|  |  | +      if (route.query.tab == 'all') {
 | 
	
		
			
				|  |  | +        activeData.coursewareDetailKnowledgeId =
 | 
	
		
			
				|  |  | +          item.coursewareDetailKnowledgeId;
 | 
	
		
			
				|  |  | +        activeData.lessonCoursewareDetailId = temporaryData.dyId;
 | 
	
		
			
				|  |  | +        localStorage.setItem(lastTimeKey, item.coursewareDetailKnowledgeId);
 | 
	
		
			
				|  |  | +      } else {
 | 
	
		
			
				|  |  | +        activeData.lessonCoursewareDetailId = temporaryData.dyId;
 | 
	
		
			
				|  |  | +        activeData.coursewareDetailKnowledgeId = temporaryData.zjId;
 | 
	
		
			
				|  |  | +        localStorage.setItem(lastTimeKey, temporaryData.zjId);
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      // console.log(item, 'item', route.query.tab);
 | 
	
		
			
				|  |  | +      // console.log(activeData, temporaryData, 'active');
 | 
	
		
			
				|  |  | +      popupData.chapterOpen = false;
 | 
	
		
			
				|  |  | +      showSelectCourseware.value = false;
 | 
	
		
			
				|  |  | +      data.kjId = item.id;
 | 
	
		
			
				|  |  | +      await getDetail();
 | 
	
		
			
				|  |  | +      popupData.activeIndex = 0;
 | 
	
		
			
				|  |  | +      popupData.itemActive = data.knowledgePointList[0].id;
 | 
	
		
			
				|  |  | +      popupData.itemName = data.knowledgePointList[0].name;
 | 
	
		
			
				|  |  | +      // 匹配到当前的章节名称
 | 
	
		
			
				|  |  | +      const dyItem = data.courseDetails.find(
 | 
	
		
			
				|  |  | +        (unit: any) => unit.id === activeData.lessonCoursewareDetailId
 | 
	
		
			
				|  |  | +      );
 | 
	
		
			
				|  |  | +      const zjItem = dyItem?.knowledgeList?.find(
 | 
	
		
			
				|  |  | +        (chapter: any) => chapter.id === activeData.coursewareDetailKnowledgeId
 | 
	
		
			
				|  |  | +      );
 | 
	
		
			
				|  |  | +      zjItem && (popupData.itemPointName = zjItem.name);
 | 
	
		
			
				|  |  | +      // console.log('章节名称', popupData.itemPointName);
 | 
	
		
			
				|  |  | +      loadingClass.value = false;
 | 
	
		
			
				|  |  | +      debounceSkip.value = false;
 | 
	
		
			
				|  |  | +    };
 | 
	
		
			
				|  |  | +    // 通过章节id,检测此章节有几个课件
 | 
	
		
			
				|  |  | +    const checkCourseware = async (item: any, checkType?: any) => {
 | 
	
		
			
				|  |  | +      // 如果有多个课件,需要选择一个课件进入上课页面
 | 
	
		
			
				|  |  | +      if (item.coursewareNum || checkType) {
 | 
	
		
			
				|  |  | +        try {
 | 
	
		
			
				|  |  | +          if (checkType) {
 | 
	
		
			
				|  |  | +            // @ts-ignore
 | 
	
		
			
				|  |  | +            temporaryData.zjId = activeData.coursewareDetailKnowledgeId
 | 
	
		
			
				|  |  | +            // @ts-ignore
 | 
	
		
			
				|  |  | +            temporaryData.dyId = activeData.lessonCoursewareDetailId
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          const res =
 | 
	
		
			
				|  |  | +            route.query.tab == 'all'
 | 
	
		
			
				|  |  | +              ? await api_lessonDetailCourseware({
 | 
	
		
			
				|  |  | +                  lessonCoursewareKnowledgeDetailId: checkType ? activeData.coursewareDetailKnowledgeId : item.itemActive
 | 
	
		
			
				|  |  | +                })
 | 
	
		
			
				|  |  | +              : await api_classDetailCourseware({
 | 
	
		
			
				|  |  | +                  lessonCoursewareKnowledgeDetailId: checkType ? activeData.coursewareDetailKnowledgeId : item.itemActive
 | 
	
		
			
				|  |  | +                });
 | 
	
		
			
				|  |  | +          if (res?.code == 200 && res.data?.length) {
 | 
	
		
			
				|  |  | +            data.coursewareList = res.data;
 | 
	
		
			
				|  |  | +            // 如果只有一个课件,直接进入该课件
 | 
	
		
			
				|  |  | +            // console.log(res.data, 'data');
 | 
	
		
			
				|  |  | +            if (res.data.length == 1) {
 | 
	
		
			
				|  |  | +              loadNewCourseware({ ...res.data[0] });
 | 
	
		
			
				|  |  | +            } else {
 | 
	
		
			
				|  |  | +              // 如果有多个课件,需要选择一个课件进入上课页面
 | 
	
		
			
				|  |  | +              showSelectCourseware.value = true;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +        } catch {
 | 
	
		
			
				|  |  | +          //
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    };
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |      return () => (
 | 
	
		
			
				|  |  |        <div id="playContent" class={styles.playContent}>
 | 
	
		
			
				|  |  |          <div
 | 
	
	
		
			
				|  | @@ -906,6 +1151,50 @@ export default defineComponent({
 | 
	
		
			
				|  |  |                          )}
 | 
	
		
			
				|  |  |                        </Transition>
 | 
	
		
			
				|  |  |                      )}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                    {/* 新增:RHYTHM:节奏练习,THEORY:乐理知识,MUSIC_WIKI:名曲鉴赏 INSTRUMENT:乐器 MUSICIAN:音乐家 资源类型 */}
 | 
	
		
			
				|  |  | +                    {m.type === 'RHYTHM' && (
 | 
	
		
			
				|  |  | +                      <TempoItem
 | 
	
		
			
				|  |  | +                        key={mIndex}
 | 
	
		
			
				|  |  | +                        class={styles.tempoPracticeGroup}
 | 
	
		
			
				|  |  | +                        dataJson={m.dataJson}
 | 
	
		
			
				|  |  | +                        show={popupData.activeIndex === mIndex}
 | 
	
		
			
				|  |  | +                        pageVisibility={pageVisibility.value}
 | 
	
		
			
				|  |  | +                      />
 | 
	
		
			
				|  |  | +                      // <TempoPractice
 | 
	
		
			
				|  |  | +                      //   key={mIndex}
 | 
	
		
			
				|  |  | +                      //   class={styles.tempoPracticeGroup}
 | 
	
		
			
				|  |  | +                      //   dataJson={m?.dataJson ? JSON.parse(m?.dataJson) : {}}
 | 
	
		
			
				|  |  | +                      //   modeType={'courseware'}
 | 
	
		
			
				|  |  | +                      //   show={popupData.activeIndex === mIndex}
 | 
	
		
			
				|  |  | +                      // />
 | 
	
		
			
				|  |  | +                    )}
 | 
	
		
			
				|  |  | +                    {m.type === 'THEORY' && <Theory id={m.bizId} />}
 | 
	
		
			
				|  |  | +                    {/* {popupData.activeIndex === mIndex && ( */}
 | 
	
		
			
				|  |  | +                    <>
 | 
	
		
			
				|  |  | +                      {m.type === 'MUSIC_WIKI' && (
 | 
	
		
			
				|  |  | +                        <InstrumentInfo
 | 
	
		
			
				|  |  | +                          type={'wiki'}
 | 
	
		
			
				|  |  | +                          id={m.bizId}
 | 
	
		
			
				|  |  | +                          show={popupData.activeIndex === mIndex}
 | 
	
		
			
				|  |  | +                        />
 | 
	
		
			
				|  |  | +                      )}
 | 
	
		
			
				|  |  | +                      {m.type === 'INSTRUMENT' && (
 | 
	
		
			
				|  |  | +                        <InstrumentInfo
 | 
	
		
			
				|  |  | +                          type={'instrument'}
 | 
	
		
			
				|  |  | +                          id={m.bizId}
 | 
	
		
			
				|  |  | +                          show={popupData.activeIndex === mIndex}
 | 
	
		
			
				|  |  | +                        />
 | 
	
		
			
				|  |  | +                      )}
 | 
	
		
			
				|  |  | +                      {m.type === 'MUSICIAN' && (
 | 
	
		
			
				|  |  | +                        <InstrumentInfo
 | 
	
		
			
				|  |  | +                          type={'musician'}
 | 
	
		
			
				|  |  | +                          id={m.bizId}
 | 
	
		
			
				|  |  | +                          show={popupData.activeIndex === mIndex}
 | 
	
		
			
				|  |  | +                        />
 | 
	
		
			
				|  |  | +                      )}
 | 
	
		
			
				|  |  | +                    </>
 | 
	
		
			
				|  |  | +                    {/* )} */}
 | 
	
		
			
				|  |  |                    </div>
 | 
	
		
			
				|  |  |                  ) : (
 | 
	
		
			
				|  |  |                    <div
 | 
	
	
		
			
				|  | @@ -996,13 +1285,22 @@ export default defineComponent({
 | 
	
		
			
				|  |  |            v-model:show={popupData.open}
 | 
	
		
			
				|  |  |            onClose={handleClosePopup}>
 | 
	
		
			
				|  |  |            <Points
 | 
	
		
			
				|  |  | +            allList={data.allList}
 | 
	
		
			
				|  |  | +            currentCourse={data.currentCourse}
 | 
	
		
			
				|  |  |              data={data.knowledgePointList}
 | 
	
		
			
				|  |  |              itemActive={popupData.itemActive}
 | 
	
		
			
				|  |  |              itemName={popupData.itemPointName}
 | 
	
		
			
				|  |  | +            kjId={data.kjId}
 | 
	
		
			
				|  |  | +            zsdId={data.zsdId}
 | 
	
		
			
				|  |  | +            popShow={popupData.open}
 | 
	
		
			
				|  |  |              onHandleSelect={(res: any) => {
 | 
	
		
			
				|  |  |                popupData.open = false;
 | 
	
		
			
				|  |  | -              toggleMaterial(res.itemActive);
 | 
	
		
			
				|  |  | +              toggleMaterial(res.itemActive, res.zsdId, res.kjId);
 | 
	
		
			
				|  |  |              }}
 | 
	
		
			
				|  |  | +            onCourseSelect={ async () => {
 | 
	
		
			
				|  |  | +              popupData.open = false;
 | 
	
		
			
				|  |  | +              checkCourseware({}, 'same')
 | 
	
		
			
				|  |  | +            }}            
 | 
	
		
			
				|  |  |            />
 | 
	
		
			
				|  |  |          </Popup>
 | 
	
		
			
				|  |  |          {/* 知识点列表 */}
 | 
	
	
		
			
				|  | @@ -1018,20 +1316,24 @@ export default defineComponent({
 | 
	
		
			
				|  |  |              detail={data.courseDetails}
 | 
	
		
			
				|  |  |              itemActive={activeData.coursewareDetailKnowledgeId as any}
 | 
	
		
			
				|  |  |              active={activeData.lessonCoursewareDetailId as any}
 | 
	
		
			
				|  |  | +            popShow={popupData.chapterOpen}
 | 
	
		
			
				|  |  |              onHandleSelect={async (item: any) => {
 | 
	
		
			
				|  |  | -              loadingClass.value = true;
 | 
	
		
			
				|  |  | -              activeData.coursewareDetailKnowledgeId = item.itemActive;
 | 
	
		
			
				|  |  | -              activeData.lessonCoursewareDetailId = item.tabActive;
 | 
	
		
			
				|  |  | -              await getDetail();
 | 
	
		
			
				|  |  | -              popupData.activeIndex = 0;
 | 
	
		
			
				|  |  | -              popupData.itemActive = data.knowledgePointList[0].id;
 | 
	
		
			
				|  |  | -              popupData.itemName = data.knowledgePointList[0].name;
 | 
	
		
			
				|  |  | +              temporaryData.dyId = item.tabActive;
 | 
	
		
			
				|  |  | +              temporaryData.zjId = item.itemActive;
 | 
	
		
			
				|  |  |                popupData.itemPointName = item.itemName;
 | 
	
		
			
				|  |  | -              popupData.chapterOpen = false;
 | 
	
		
			
				|  |  | -              loadingClass.value = false;
 | 
	
		
			
				|  |  | +              checkCourseware(item);
 | 
	
		
			
				|  |  |              }}
 | 
	
		
			
				|  |  |            />
 | 
	
		
			
				|  |  |          </Popup>
 | 
	
		
			
				|  |  | +        {showSelectCourseware.value && (
 | 
	
		
			
				|  |  | +          <SelectCoursewarePop
 | 
	
		
			
				|  |  | +            list={data.coursewareList}
 | 
	
		
			
				|  |  | +            kjId={data.kjId}
 | 
	
		
			
				|  |  | +            onClose={() => {
 | 
	
		
			
				|  |  | +              showSelectCourseware.value = false;
 | 
	
		
			
				|  |  | +            }}
 | 
	
		
			
				|  |  | +            onSelect={item => loadNewCourseware(item)}></SelectCoursewarePop>
 | 
	
		
			
				|  |  | +        )}
 | 
	
		
			
				|  |  |        </div>
 | 
	
		
			
				|  |  |      );
 | 
	
		
			
				|  |  |    }
 |