martial-arts/pagesB/course-detail/course-detail.vue

128 lines
4.1 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<template>
<view v-if="isLoading">
<status-container titlet="课程详情" returnc="#FFFFFF">
<view slot="content" style="margin-top: -20rpx;">
<view class="bacf">
<view class="fon32 tcenter pad-s50">{{couresDetail.name}}</view>
<view class="pad30 posir disjcac">
<image :src="couresDetail.cover" style="height: 388rpx;" mode="aspectFill" class="width100" lazy-load></image>
<image class="posia" src="/static/tabbar/icon-play.png" mode="" style="width: 70rpx;height: 70rpx;" lazy-load></image>
</view>
<view class="mar-zy30 bbot pad-x10">
<span class="fon28 bold posir pad-x10">
<text>课程介绍</text>
<view class="posia-xzy" style="height: 6rpx;background-color: #e42417;bottom: -2rpx;"></view>
</span>
</view>
<view class="mar-zy30 pad-sx20 bbot">
<view class="disjbac ae pad-x20" style="color: #262626;">
<view class="fon24">教练{{couresDetail.teacher}}</view>
<view class="fon20">{{couresDetail.published_at.slice(0,10).split('-').join('.')}}</view>
</view>
<view class="rich-text fon24" style="line-height: 1.8;">
<rich-text :nodes="couresDetail.content" style="color: #5a5a5a;"></rich-text>
</view>
</view>
<view class="disjcac pad-sx40">
<view class="disjcac fon28 radius34"
style="width: 290rpx;height: 68rpx;border: 2rpx solid #e42417;color: #e42417;"
@tap="$toolAll.tools.goPage('/pagesB/buy-now/buy-now')"></view>
</view>
</view>
<view class="pad-zy20">
<view class="disjb ae mar-s40">
<view class="fon32 bold colb">推荐课程</view>
<view class="fon20" style="color: #bbb4b3;" @tap="$toolAll.tools.goPage('/pages/tabbar/course/course')">+</view>
</view>
<list ref="refcourse" @goDetail="goDetail"></list>
</view>
<!-- start -->
<view class="posAll disjc" v-if="ifLogin">
<view class="bacf radius10 posir disjcac fc pad-zy60" style="height: 256rpx;margin-top: 304rpx;">
<image src="/static/tabbar/icon-password.png" mode="" lazy-load style="width: 86rpx;height: 102rpx;"></image>
<view class="fon28 mar-s20">请登录后查看课程<span style="color:#e42417;">去登陆</span></view>
<view class="posia-sy20" @tap="ifLogin=false"><i class="icon icon-del-white fon24" style="color: #9d9d9d;"></i></view>
</view>
</view>
<!-- 登录弹框 end -->
</view>
</status-container>
</view>
</template>
<script>
// 底部组件
import footTab from '@/components/foot-tabs/foot-tab.vue';
import list from '@/components/list.vue';
import pitera from '@/components/nothing/pitera.vue';
export default {
components:{'foot-tab' :footTab,list,pitera},
data() {
return {
richText:'', //
ifLogin:false, //是否登录
isLoading:false, //加载完成
couresDetail:{}, //课程详情
couresRecommend:[], //课程推荐
classId:'', //分类id
id:'', //课程id
page:1, //页数
size:6, //条数
}
},
onLoad(op) {
if(op.category_id){
this.classId = op.category_id
}
if(op.id){
this.id = op.id;
// 获取课程详情
this.getCouresDetail(op.id);
}
},
methods: {
// 获取课程详情
getCouresDetail(id){
uni.showLoading({
title:'加载中'
});
this.$requst.get('/api/spu/detail',{id:id}).then(res=>{
console.log(res,'课程详情')
if(res.code==0) {
this.couresDetail = res.data.detail;
// 获取课程推荐
this.getCouresRecommend();
}
uni.hideLoading();
this.isLoading = true;
})
},
// 获取课程推荐
getCouresRecommend(){
let params = {
page:this.page,
size:this.size,
category_id:this.classId,
id:this.id
}
this.$requst.get('/api/spu/course-recommend',params).then(res=>{
console.log(res,'课程推荐')
if(res.code==0) {
this.$refs.refcourse.list = res.data.list;
}
})
},
// 去课程详情
goDetail(id){
uni.navigateTo({
url:`/pagesB/course-detail/course-detail?id=${id}&category_id=${this.classId}`
})
},
}
}
</script>
<style></style>