|
@@ -1,44 +1,255 @@
|
|
|
<template>
|
|
|
-<div class="page">
|
|
|
- <van-nav-bar
|
|
|
+ <div class="page">
|
|
|
+ <van-nav-bar
|
|
|
:title="title"
|
|
|
left-text="返回"
|
|
|
left-arrow
|
|
|
@click-left="onClickLeft"
|
|
|
></van-nav-bar>
|
|
|
- pageDetail
|
|
|
-</div>
|
|
|
+ <div class="courseContent">
|
|
|
+ <div class="previewImg">
|
|
|
+ <img :src="courseDetail.thumb" />
|
|
|
+ </div>
|
|
|
+ <div class="title">
|
|
|
+ <p>{{ courseDetail.name }}</p>
|
|
|
+ </div>
|
|
|
+ <div class="tabs">
|
|
|
+ <scroller ref="scroller" :isInitRefresh="false" :on-infinite="onScroll">
|
|
|
+ <van-tabs v-model="activeTab" swipeable>
|
|
|
+ <van-tab title="课程目录">
|
|
|
+ <div class="catelog">
|
|
|
+ <div class="sup">
|
|
|
+ <span>{{ courseDetail.section.length }}节课</span>
|
|
|
+ </div>
|
|
|
+ <div class="logConetent">
|
|
|
+ <div
|
|
|
+ class="logLi"
|
|
|
+ v-for="(item, index) in courseDetail.section"
|
|
|
+ :key="index"
|
|
|
+ @click="toSectionVidio(item)"
|
|
|
+ >
|
|
|
+ <p>{{ index + 1 }}、{{ item.name }}</p>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </van-tab>
|
|
|
+ <van-tab title="课程介绍">
|
|
|
+ <div class="images">
|
|
|
+ <div
|
|
|
+ class="descImage"
|
|
|
+ v-for="(item, index) in courseDetail.images"
|
|
|
+ :key="index"
|
|
|
+ >
|
|
|
+ <img :src="item" />
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </van-tab>
|
|
|
+ </van-tabs>
|
|
|
+ </scroller>
|
|
|
+ </div>
|
|
|
+ <div class="getCourse">
|
|
|
+ <van-button icon="fire-o" square class="getBtn">点击领取课程名额</van-button>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
export default {
|
|
|
- name: '',
|
|
|
+ name: "",
|
|
|
components: {},
|
|
|
- props: [],
|
|
|
- data () {
|
|
|
+ props: [],
|
|
|
+ data() {
|
|
|
return {
|
|
|
- title:"课程详情",
|
|
|
-
|
|
|
- }
|
|
|
+ loading: false,
|
|
|
+ finished: false,
|
|
|
+ activeTab: 0,
|
|
|
+ title: "课程详情",
|
|
|
+ courseDetail: {
|
|
|
+ thumb: "/static/img/course.f1777cf.jpg",
|
|
|
+ name: "课程精讲",
|
|
|
+ images: [
|
|
|
+ "/static/img/course.f1777cf.jpg",
|
|
|
+ "/static/img/course.f1777cf.jpg",
|
|
|
+ "/static/img/course.f1777cf.jpg",
|
|
|
+ "/static/img/course.f1777cf.jpg"
|
|
|
+ ],
|
|
|
+ section: [
|
|
|
+ {
|
|
|
+ name: "课程精讲001",
|
|
|
+ link: "https://baidu.com"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "课程精讲002",
|
|
|
+ link: "https://baidu.com"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "课程精讲003",
|
|
|
+ link: "https://baidu.com"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "课程精讲004",
|
|
|
+ link: "https://baidu.com"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "课程精讲001",
|
|
|
+ link: "https://baidu.com"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "课程精讲002",
|
|
|
+ link: "https://baidu.com"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "课程精讲003",
|
|
|
+ link: "https://baidu.com"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "课程精讲004",
|
|
|
+ link: "https://baidu.com"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "课程精讲001",
|
|
|
+ link: "https://baidu.com"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "课程精讲002",
|
|
|
+ link: "https://baidu.com"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "课程精讲003",
|
|
|
+ link: "https://baidu.com"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "课程精讲004",
|
|
|
+ link: "https://baidu.com"
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ };
|
|
|
},
|
|
|
- created () {
|
|
|
- this.init()
|
|
|
+ created() {
|
|
|
+ this.init();
|
|
|
},
|
|
|
methods: {
|
|
|
- onClickLeft(){
|
|
|
- this.$router.go(-1)
|
|
|
+ // 下拉刷新
|
|
|
+ onScroll(done) {
|
|
|
+ console.log(12333);
|
|
|
+ setTimeout(() => {
|
|
|
+ done();
|
|
|
+ }, 1000);
|
|
|
+ // this.getInitData(done);
|
|
|
+ },
|
|
|
+ toSectionVidio(item) {
|
|
|
+ console.log(item);
|
|
|
},
|
|
|
- init(){
|
|
|
- this.courseId = this.$route.params.id
|
|
|
- console.log(courseId)
|
|
|
+ onClickLeft() {
|
|
|
+ this.$router.go(-1);
|
|
|
},
|
|
|
+ init() {
|
|
|
+ console.log(this.$route.params);
|
|
|
+ this.courseId = this.$route.params.id;
|
|
|
+ console.log(this.courseId);
|
|
|
+ }
|
|
|
},
|
|
|
computed: {}
|
|
|
-}
|
|
|
+};
|
|
|
</script>
|
|
|
-<style scoped lang='scss'>
|
|
|
- .page{
|
|
|
- padding: 0 .2rem;
|
|
|
- background-color: #FFF;
|
|
|
+<style scoped lang="scss">
|
|
|
+* {
|
|
|
+ margin: 0;
|
|
|
+ padding: 0;
|
|
|
+}
|
|
|
+img {
|
|
|
+ display: block;
|
|
|
+}
|
|
|
+.page {
|
|
|
+ background-color: #fff;
|
|
|
+ box-sizing: border-box;
|
|
|
+ .courseContent {
|
|
|
+ padding: 0 0.2rem;
|
|
|
+ margin-top: 0.3rem;
|
|
|
+ .previewImg {
|
|
|
+ border-radius: 0.1rem;
|
|
|
+ overflow: hidden;
|
|
|
+ img {
|
|
|
+ width: 100%;
|
|
|
+ height: 4rem;
|
|
|
+ }
|
|
|
}
|
|
|
+ .title {
|
|
|
+ p {
|
|
|
+ font-size: 0.32rem;
|
|
|
+ font-weight: 600;
|
|
|
+ color: #000;
|
|
|
+ line-height: 1rem;
|
|
|
+ overflow: hidden;
|
|
|
+ text-overflow: ellipsis;
|
|
|
+ white-space: nowrap;
|
|
|
+ word-break: break-all;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .tabs {
|
|
|
+ height: calc(100vh - 6.25rem);
|
|
|
+ position: relative;
|
|
|
+ .images {
|
|
|
+ margin-top: 0.1rem;
|
|
|
+ img {
|
|
|
+ width: 100%;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .catelog {
|
|
|
+ margin-top: 1px;
|
|
|
+ border-top: 1px solid #ccc;
|
|
|
+ .sup {
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-between;
|
|
|
+ align-items: center;
|
|
|
+ span {
|
|
|
+ font-size: 0.24rem;
|
|
|
+ color: #666;
|
|
|
+ line-height: 3;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .logConetent {
|
|
|
+ .logLi {
|
|
|
+ border: 1px solid #ccc;
|
|
|
+ border-radius: 0.1rem;
|
|
|
+ padding: 0 0.2rem;
|
|
|
+ margin-bottom: 0.15rem;
|
|
|
+ p {
|
|
|
+ font-size: 0.3rem;
|
|
|
+ color: #000;
|
|
|
+ line-height: 3;
|
|
|
+ overflow: hidden;
|
|
|
+ text-overflow: ellipsis;
|
|
|
+ white-space: nowrap;
|
|
|
+ word-break: break-all;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .getCourse {
|
|
|
+ position: absolute;
|
|
|
+ bottom: 0.1rem;
|
|
|
+ left: 0.1rem;
|
|
|
+ width: calc(100% - 0.2rem);
|
|
|
+ .getBtn {
|
|
|
+ width: 100%;
|
|
|
+ background-color: red;
|
|
|
+ color: #fff;
|
|
|
+ // animation: getFire 3s infinite linear;
|
|
|
+ border-radius: .1rem;
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+@keyframes getFire {
|
|
|
+ 0% {
|
|
|
+ transform: scale(0.95);
|
|
|
+ }
|
|
|
+ 100% {
|
|
|
+ transform: scale(1.05);
|
|
|
+ }
|
|
|
+}
|
|
|
</style>
|