|
@@ -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}
|