|
@@ -10,10 +10,11 @@ import {
|
|
|
// import classes from './index.module.less'
|
|
|
import detaile from '@/components/videoDetailItem/images/detaile.png'
|
|
|
import videoCourseItem from './modals/videoCourseItem'
|
|
|
-import courseIcon from './images/courseIcon.png'
|
|
|
+// from './images/courseIcon.png'
|
|
|
+import courseIcon from '@/views/home/images/titleDot.png'
|
|
|
import peopleIcon from './images/peopleIcon.png'
|
|
|
import teacherIcon from './images/teacherIcon.png'
|
|
|
-import player from './images/player.png'
|
|
|
+import player from '@/components/albumItem/images/player.png'
|
|
|
import teacher from './images/teacher.png'
|
|
|
import teacherHeader from '@/common/images/icon_teacher.png'
|
|
|
import musiceIcon from './images/musiceIcon.png'
|
|
@@ -26,6 +27,8 @@ import pagination from '@/components/pagination'
|
|
|
import { useRoute } from 'vue-router'
|
|
|
import { getUserInfo, getUserType, getAuth } from '@/helpers/utils'
|
|
|
import showVideoDetail from './modals/showVideoDetail'
|
|
|
+import bookIcon from './images/bookIcon.png'
|
|
|
+import tree from './images/tree.png'
|
|
|
import { ElDialog } from 'element-plus'
|
|
|
export default defineComponent({
|
|
|
name: 'videoDetailList',
|
|
@@ -83,7 +86,8 @@ export default defineComponent({
|
|
|
},
|
|
|
userType: '',
|
|
|
showVideoDetail: false,
|
|
|
- activeItem: null as any
|
|
|
+ activeItem: null as any,
|
|
|
+ styleList:[]as any
|
|
|
})
|
|
|
|
|
|
const route = useRoute()
|
|
@@ -117,10 +121,12 @@ export default defineComponent({
|
|
|
}
|
|
|
)
|
|
|
state.videoDetail = { ...res.data.lessonGroup }
|
|
|
+ // state.styleList = {...res.data.detailList}
|
|
|
const teacherRes = await request.get(
|
|
|
`/api-website/open/teacher/detail/${res.data.lessonGroup.teacherId}`
|
|
|
)
|
|
|
state.teacherDetail = { ...teacherRes.data }
|
|
|
+ state.teacherDetail.styleList = [...res.data.detailList]
|
|
|
} catch (e) {}
|
|
|
}
|
|
|
|
|
@@ -182,7 +188,7 @@ export default defineComponent({
|
|
|
})
|
|
|
return () => (
|
|
|
<>
|
|
|
- <div>
|
|
|
+ <div class={styles.allWrap}>
|
|
|
<div class="wall" style={{ height: '70px' }}></div>
|
|
|
<div class={[styles.w1200, styles.detailWrap]}>
|
|
|
<div class={styles.detailLeft}>
|
|
@@ -195,11 +201,24 @@ export default defineComponent({
|
|
|
class={styles.detailTopImg}
|
|
|
alt=""
|
|
|
/>
|
|
|
+ <div class={styles.courseDetailWrap}>
|
|
|
+ <p class={styles.courseDetailTitle}>
|
|
|
+ <span>{state.videoDetail.lessonName}</span>{' '}
|
|
|
+ <div class={styles.courseTitleR}>
|
|
|
+ <img src={bookIcon} alt="" />
|
|
|
+ <span>{state.videoDetail.countStudent}人在学</span>
|
|
|
+ </div>
|
|
|
+ </p>
|
|
|
+ </div>
|
|
|
+ <div class={styles.tag}>
|
|
|
+ {state.videoDetail.lessonSubjectName}
|
|
|
+ </div>
|
|
|
<div class={styles.courseWrap}>
|
|
|
<div class={styles.courseTitle}>
|
|
|
- <img src={courseIcon} alt="" />
|
|
|
<span>课程介绍</span>
|
|
|
+ <img src={courseIcon} alt="" />
|
|
|
</div>
|
|
|
+
|
|
|
<div class={styles.courseInfo}>
|
|
|
<p>{state.videoDetail.lessonDesc}</p>
|
|
|
</div>
|
|
@@ -207,12 +226,13 @@ export default defineComponent({
|
|
|
<div class={styles.courseListWrap}>
|
|
|
<div class={styles.courseTitle}>
|
|
|
<div class={styles.courseTitleLeft}>
|
|
|
- <img src={TimetableIcon} alt="" />
|
|
|
<span>课程列表</span>
|
|
|
+ <img src={courseIcon} alt="" />
|
|
|
</div>
|
|
|
- <span class={styles.courseTitlTimer}>
|
|
|
- 共{state.videoDetail.lessonCount}课时
|
|
|
- </span>
|
|
|
+ <p class={styles.courseTitlTimer}>
|
|
|
+ <img src={tree} alt="" />
|
|
|
+ <span> 共{state.videoDetail.lessonCount}课时</span>
|
|
|
+ </p>
|
|
|
</div>
|
|
|
{state.videoList.map(item => {
|
|
|
return <videoCourseItem item={item}></videoCourseItem>
|
|
@@ -229,74 +249,55 @@ export default defineComponent({
|
|
|
</div>
|
|
|
<div class={styles.detailRight}>
|
|
|
<div class={styles.teacherInfo}>
|
|
|
- <div class={styles.teacherHeadWrap}>
|
|
|
- <div class={styles.teacherHeadLeft}>
|
|
|
- <img
|
|
|
- src={
|
|
|
- state.videoDetail.avatar
|
|
|
- ? state.videoDetail.avatar
|
|
|
- : teacherHeader
|
|
|
- }
|
|
|
- alt=""
|
|
|
- class={styles.teacherHeader}
|
|
|
- />
|
|
|
- <div class={styles.teacherHeadInfo}>
|
|
|
- <div class={styles.teacherHeadName}>
|
|
|
- <span>{state.videoDetail.username}</span>
|
|
|
- {/* {state.teacherDetail.teacherType &&
|
|
|
- state.teacherDetail.teacherType.indexOf('ENTRY') ==
|
|
|
- -1 ? (
|
|
|
- ''
|
|
|
- ) : (
|
|
|
- <img
|
|
|
- src={teacher}
|
|
|
- class={styles.teacherIcon}
|
|
|
- alt=""
|
|
|
- />
|
|
|
- )}
|
|
|
- {state.teacherDetail.teacherType &&
|
|
|
- state.teacherDetail.teacherType.indexOf('MUSICIAN') ==
|
|
|
- -1 ? (
|
|
|
- ''
|
|
|
- ) : (
|
|
|
- <img
|
|
|
- src={musiceIcon}
|
|
|
- class={styles.teacherIcon}
|
|
|
- alt=""
|
|
|
- />
|
|
|
- )} */}
|
|
|
+ <div class={styles.teacherTopInfo}>
|
|
|
+ <div class={styles.teacherHeadWrap}>
|
|
|
+ <div class={styles.teacherHeadLeft}>
|
|
|
+ <img
|
|
|
+ src={
|
|
|
+ state.videoDetail.avatar
|
|
|
+ ? state.videoDetail.avatar
|
|
|
+ : teacherHeader
|
|
|
+ }
|
|
|
+ alt=""
|
|
|
+ class={styles.teacherHeader}
|
|
|
+ />
|
|
|
+ <div class={styles.teacherHeadInfo}>
|
|
|
+ <div class={styles.teacherHeadName}>
|
|
|
+ <span>{state.videoDetail.username}</span>
|
|
|
+ {state.userType == 'STUDENT' ? (
|
|
|
+ <div
|
|
|
+ class={[
|
|
|
+ styles.teacherHeadRight,
|
|
|
+ state.teacherDetail.isStar ? styles.isStart : ''
|
|
|
+ ]}
|
|
|
+ onClick={() => followVideo()}
|
|
|
+ >
|
|
|
+ {state.teacherDetail.isStar ? '已关注' : '+ 关注'}
|
|
|
+ </div>
|
|
|
+ ) : null}
|
|
|
+ </div>
|
|
|
</div>
|
|
|
- <p class={styles.fens}>
|
|
|
- 粉丝 <span>{state.teacherDetail.fansNum}</span>
|
|
|
- </p>
|
|
|
</div>
|
|
|
</div>
|
|
|
- {state.userType == 'STUDENT' ? (
|
|
|
- <div
|
|
|
- class={[
|
|
|
- styles.teacherHeadRight,
|
|
|
- state.teacherDetail.isStar ? styles.isStart : ''
|
|
|
- ]}
|
|
|
- onClick={() => followVideo()}
|
|
|
- >
|
|
|
- {state.teacherDetail.isStar ? '已关注' : '关注'}
|
|
|
- </div>
|
|
|
- ) : null}
|
|
|
+ <div>
|
|
|
+ <p class={styles.fensNum}>{state.teacherDetail.fansNum}</p>
|
|
|
+ <p class={styles.fens}>粉丝数</p>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
<div class={styles.titleWrap}>
|
|
|
- <img src={peopleIcon} alt="" />
|
|
|
+ {/* <img src={peopleIcon} alt="" /> */}
|
|
|
<span>个人介绍</span>
|
|
|
</div>
|
|
|
<p class={styles.teacherDetail}>
|
|
|
{state.teacherDetail.introduction}
|
|
|
</p>
|
|
|
<div class={styles.titleWrap}>
|
|
|
- <img src={teacherIcon} alt="" />
|
|
|
+ {/* <img src={teacherIcon} alt="" /> */}
|
|
|
<span>老师风采</span>
|
|
|
</div>
|
|
|
<div class={styles.teacherVideoList}>
|
|
|
- {state.teacherDetail.styleVideo &&
|
|
|
- state.teacherDetail.styleVideo.map((item: any) => {
|
|
|
+ {state.teacherDetail.styleList &&
|
|
|
+ state.teacherDetail.styleList.map((item: any) => {
|
|
|
return (
|
|
|
<div
|
|
|
class={styles.videoItem}
|
|
@@ -308,11 +309,12 @@ export default defineComponent({
|
|
|
src={item.videoUrl}
|
|
|
class={styles.videoItemVideo}
|
|
|
/> */}
|
|
|
- <video
|
|
|
+ {/* <video
|
|
|
class={styles.videoItemVideo}
|
|
|
src={item.videoUrl}
|
|
|
controls={false}
|
|
|
- ></video>
|
|
|
+ ></video> */}
|
|
|
+ <img class={styles.videoItemVideo} src={item.coverUrl} alt="" />
|
|
|
<img src={player} alt="" class={styles.player} />
|
|
|
</div>
|
|
|
)
|
|
@@ -345,7 +347,7 @@ export default defineComponent({
|
|
|
</div>
|
|
|
</div>
|
|
|
<ElDialog
|
|
|
- title='个人风采'
|
|
|
+ title="个人风采"
|
|
|
modelValue={state.showVideoDetail}
|
|
|
onUpdate:modelValue={val => (state.showVideoDetail = val)}
|
|
|
closeOnClickModal={true}
|