Kaynağa Gözat

投屏中间页

skyblued 2 yıl önce
ebeveyn
işleme
2ebaa4b60a

+ 27 - 7
src/teacher/screen-projection/index.tsx

@@ -1,9 +1,10 @@
+import OEmpty from '@/components/o-empty'
 import OHeader from '@/components/o-header'
 import request from '@/helpers/request'
 import { state } from '@/state'
 import { Cell, CellGroup, Image, Popup } from 'vant'
 import { defineComponent, onMounted, reactive, ref } from 'vue'
-import { useRoute } from 'vue-router'
+import { useRoute, useRouter } from 'vue-router'
 import Guide from './guide'
 import { getImage } from './images'
 import styles from './index.module.less'
@@ -16,8 +17,10 @@ export default defineComponent({
       video: getImage('icon-video.png')
     }
     const route = useRoute()
+    const router = useRouter()
     const query = route.query || {}
     const data = reactive({
+      loading: true,
       guideOpen: false,
       knowledgePointList: [] as any,
       name: '',
@@ -26,9 +29,10 @@ export default defineComponent({
     console.log(query)
     // 获取课件详情
     const getDetail = async () => {
+      data.loading = true
       try {
         const res: any = await request.get(
-          state.platformApi + `/lessonCoursewareDetail/detail/${query.id}`
+          state.platformApi + `/lessonCoursewareDetail/detail/${query.lessonCoursewareDetailId}`
         )
         if (res?.data) {
           data.name = res.data.name
@@ -36,10 +40,23 @@ export default defineComponent({
           data.knowledgePointList = res.data.knowledgePointList || []
         }
       } catch (error) {}
+      data.loading = false
     }
     onMounted(() => {
       getDetail()
     })
+
+    // 去课时播放
+    const hanldeOpenPlay = (n: any) => {
+      router.push({
+        path: '/coursewarePlay',
+        query: {
+          id: query.lessonCoursewareDetailId,
+          kId: n.knowledgePointId,
+          mId: n.id
+        }
+      })
+    }
     return () => (
       <div>
         <OHeader
@@ -51,10 +68,12 @@ export default defineComponent({
           }}
         />
         <div>
-          <div class={styles.tips}>
-            <div class={styles.line}></div>
-            <div>{data.name}</div>
-          </div>
+          {data.name && (
+            <div class={styles.tips}>
+              <div class={styles.line}></div>
+              <div>{data.name}</div>
+            </div>
+          )}
           <CellGroup inset>
             {data.knowledgePointList.map((item: any) => {
               return (
@@ -62,7 +81,7 @@ export default defineComponent({
                   {Array.isArray(item.materialList) &&
                     item.materialList.map((n: any) => {
                       return (
-                        <Cell title={n.name} isLink center>
+                        <Cell title={n.name} isLink center onClick={() => hanldeOpenPlay(n)}>
                           {{
                             icon: () => (
                               <Image
@@ -81,6 +100,7 @@ export default defineComponent({
             })}
           </CellGroup>
         </div>
+        {!data.loading && !data.knowledgePointList.length && <OEmpty />}
 
         <Popup
           v-model:show={data.guideOpen}

+ 0 - 15
src/views/coursewarePlay/index.tsx

@@ -44,21 +44,6 @@ export default defineComponent({
           isVisibility: 0
         }
       })
-
-      // window.addEventListener('message', (res: any) => {
-      //   // console.log(res)
-      //   if (res?.data?.api) {
-      //     const { api } = res.data
-      //     if (api === 'touchstart') {
-      //       isTouch.value = true
-      //       console.log('🚀 ~ 父页面touchstart')
-      //     }
-      //     if (api === 'touchend') {
-      //       isTouch.value = false
-      //       console.log('🚀 ~ 父页面touchend')
-      //     }
-      //   }
-      // })
     }
 
     const route = useRoute()