import request from '@/helpers/request' import { state } from '@/state' import { Button, Empty, Grid, GridItem, Icon, showToast } from 'vant' import { defineComponent, onMounted, reactive } from 'vue' import styles from './index.module.less' import iconLook from './image/look.svg' import { useRoute, useRouter } from 'vue-router' import { postMessage } from '@/helpers/native-message' export default defineComponent({ name: 'lessonCourseware', setup() { const route = useRoute() const router = useRouter() const data = reactive({ list: [] as any }) const getList = async () => { if (route.query.courseScheduleId) { try { const res: any = await request.post( state.platformApi + '/courseSchedule/getCoursewareDetail', { params: { courseScheduleId: route.query.courseScheduleId, coursewareId: route.query.id } } ) if (Array.isArray(res?.data)) { data.list = res.data } } catch (error) {} } else { try { const res: any = await request.post( state.platformApi + '/courseSchedule/myCoursewareDetail/' + route.query.id ) if (Array.isArray(res?.data)) { data.list = res.data } } catch (error) {} } } onMounted(() => { getList() }) const handleClick = (item: any) => { if (route.query.code === 'select') { console.log('选择课时') setCoursewareDetail(item) return } router.push({ path: '/coursewarePlay', query: { id: item.lessonCoursewareDetailId } }) } // 绑定课时 const setCoursewareDetail = async (item: any) => { try { const res: any = await request.post( state.platformApi + '/courseSchedule/setCoursewareDetail', { params: { courseScheduleId: route.query.courseScheduleId, coursewareDetailId: item.lessonCoursewareDetailId } } ) if (res.code === 200) { showToast('保存成功') postMessage({ api: 'back' }) } } catch (error) {} } return () => (
{data.list.map((item: any) => { return (
handleClick(item)} > {/* */}
{item.coursewareDetailName}
{route.query.code !== 'select' &&
已使用 {item.useNum} 次
}
{route.query.code !== 'select' ? (
查看
) : (
选择
)} {route.query.code == 'select' && !item.unlock && (
e.stopPropagation()}> 未解锁
)}
) })}
{!data.list.length && }
) } })