|
@@ -20,19 +20,22 @@
|
|
|
paddingBottom: `${videoShow?'150rpx':'0'}`
|
|
|
}"
|
|
|
style="height: 100%;overflow: scroll;padding-left: 20rpx;padding-right: 20rpx;">
|
|
|
- <view class="text-title">{{courseDetail.courseName}}</view>
|
|
|
+ <view class="text-title">{{courseDetail.title}}</view>
|
|
|
<view class="text-title">课程概述</view>
|
|
|
<view class="text-content">{{courseDetail.summary}}</view>
|
|
|
<view class="text-title">课程时间</view>
|
|
|
- <view class="text-content">{{courseDetail.courseDate ? getDateWeek(courseDetail.courseDate) : ''}}</view>
|
|
|
+ <view class="text-content">{{courseDetail.date ? getDateWeek(courseDetail.date) : ''}}</view>
|
|
|
<view class="text-title">培训地点</view>
|
|
|
<view class="text-content">{{courseDetail.loc}}</view>
|
|
|
- <view class="text-tip" v-if="!isMember">个人会员或单位会员免费,点击现在入会></view>
|
|
|
+ <view class="text-tip" v-if="!isMember && courseDetail.viewMode === '2'">个人会员或单位会员免费,点击现在入会></view>
|
|
|
|
|
|
</view>
|
|
|
<view class="section-bottom" @click="toVideo" v-show="videoShow">
|
|
|
<text>预约课程</text>
|
|
|
</view>
|
|
|
+ <view :class="['section-bottom', `${courseDetail.hasReg ? 'bg-blue' : ''}`]" v-show="regShow" @click="toReg">
|
|
|
+ <text>{{ courseDetail?.hasReg ? '报名成功' : '点击报名' }}</text>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
<view class="content" v-if="currentTab === 1" style="overflow: hidden;">
|
|
|
<view class=""
|
|
@@ -78,7 +81,8 @@
|
|
|
import {
|
|
|
loadCourseDetail,
|
|
|
loadCommentList,
|
|
|
- sendComment
|
|
|
+ sendComment,
|
|
|
+ regCourse
|
|
|
} from "@/api/edu.js"
|
|
|
import {
|
|
|
getToken
|
|
@@ -86,6 +90,8 @@
|
|
|
import {
|
|
|
useAuthStore
|
|
|
} from '@/store/authStore'
|
|
|
+ import dayjs from 'dayjs'
|
|
|
+ dayjs.locale('zh-cn')
|
|
|
const authStore = useAuthStore();
|
|
|
// const isMember = ref(false)
|
|
|
const feedShow = ref(false)
|
|
@@ -348,14 +354,14 @@
|
|
|
})
|
|
|
|
|
|
|
|
|
- // 跳转预告
|
|
|
+ // 线上-点击预约-跳转预告
|
|
|
function toVideo(){
|
|
|
wx.getChannelsLiveNoticeInfo({
|
|
|
- 'finderUserName': 'sphIfs9sYiL5RB3',
|
|
|
+ 'finderUserName': "sphIfs9sYiL5RB3",
|
|
|
success: (res)=>{
|
|
|
let noticeId = null;
|
|
|
if(res.otherInfos.length > 0){
|
|
|
- let date1 = new Date(formatDateS(courseDetail.value.courseDate))
|
|
|
+ let date1 = new Date(formatDateS(courseDetail.value.date))
|
|
|
res.otherInfos.forEach(item=>{
|
|
|
let date = new Date(item.startTime*1000);
|
|
|
// console.log(item,date1, date)
|
|
@@ -378,48 +384,69 @@
|
|
|
console.log(err)
|
|
|
}
|
|
|
})
|
|
|
+ },
|
|
|
+ fail(err) {
|
|
|
+ console.error('调用失败:', err);
|
|
|
}
|
|
|
})
|
|
|
}
|
|
|
+ // 线上课程-获取视频号回放
|
|
|
function getVideo(){
|
|
|
- const startDate = new Date(formatDateS(courseDetail.value.courseDate));
|
|
|
- // 计算 endTime(startDate 加一天)
|
|
|
- const endDate = new Date(startDate);
|
|
|
- endDate.setDate(startDate.getDate() + 1);
|
|
|
+ const startDate = dayjs(courseDetail.value.date).format("YYYY-MM-DD");
|
|
|
+ const endDate = dayjs(startDate).add(1, 'day').format("YYYY-MM-DD");
|
|
|
// 获取时间戳
|
|
|
- const startTime = startDate.getTime();
|
|
|
- const endTime = endDate.getTime();
|
|
|
+ const startTime = new Date(startDate).getTime();
|
|
|
+ const endTime = new Date(endDate).getTime();
|
|
|
wx.getChannelsLiveInfo({
|
|
|
- 'finderUserName': 'sphIfs9sYiL5RB3',
|
|
|
- 'startTime': startTime,
|
|
|
- 'endTime': endTime,
|
|
|
+ 'finderUserName': "sphIfs9sYiL5RB3",
|
|
|
+ startTime: startTime,
|
|
|
+ endTime: endTime,
|
|
|
success: (res)=>{
|
|
|
feedId.value = res.feedId;
|
|
|
- console.log("直播信息", res.feedId)
|
|
|
+ // console.log("直播信息", res)
|
|
|
feedShow.value = true
|
|
|
- // wx.openChannelsLive({
|
|
|
- // finderUserName: 'sphIfs9sYiL5RB3',
|
|
|
- // feedId: res.feedId,
|
|
|
- // nonceId: res.nonceId,
|
|
|
- // success: (resp)=>{
|
|
|
- // console.log(resp)
|
|
|
- // }
|
|
|
- // })
|
|
|
+ },
|
|
|
+ fail(err) {
|
|
|
+ console.error('调用失败:', err);
|
|
|
}
|
|
|
})
|
|
|
}
|
|
|
- // 是否显示预约按钮
|
|
|
+ // 线上课程-进来后-是否显示预约按钮
|
|
|
const videoShow = computed(()=>{
|
|
|
// regType = 1 是线上课程
|
|
|
// feedShow为true是回放
|
|
|
+ if(courseDetail.value?.status==='2' || courseDetail.value?.status==='3'){
|
|
|
+ return false;
|
|
|
+ }
|
|
|
return (courseDetail.value?.regType ==='1') && !feedShow.value
|
|
|
})
|
|
|
- // 是否显示购买按钮--暂时无用
|
|
|
- const buyShow = computed(()=>{
|
|
|
+ // 线下课程-是否显示报名按钮
|
|
|
+ const regShow = computed(()=>{
|
|
|
// regType = 0 是线上课程
|
|
|
// 缺少判断是否购买
|
|
|
- return (courseDetail.value?.regType ==='0')
|
|
|
+ return courseDetail.value?.regType ==='0'
|
|
|
})
|
|
|
+ function toReg(){
|
|
|
+ let isReg = courseDetail.value.hasReg ?? false;
|
|
|
+ let viewMode = courseDetail.value.viewMode
|
|
|
+ if(isReg){
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if(viewMode==='1' || (isMember.value && viewMode==='2')){
|
|
|
+ // 直接报名
|
|
|
+ console.log("直接报名")
|
|
|
+ regCourse(courseId.value).then(res=>{
|
|
|
+ if(res.code===0){
|
|
|
+ init(courseId.value)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ return
|
|
|
+ }
|
|
|
+ uni.navigateTo({
|
|
|
+ url: "/pages/goOnEdu/course/courseDetail/courseOrder?id=" + courseId.value
|
|
|
+ })
|
|
|
+ return
|
|
|
+ }
|
|
|
</script>
|
|
|
<style lang="scss">
|
|
|
.u-drawer-bottom {
|
|
@@ -513,6 +540,9 @@
|
|
|
box-sizing: content-box;
|
|
|
padding-bottom: env(safe-area-inset-bottom, 0);
|
|
|
}
|
|
|
+ .bg-blue{
|
|
|
+ background-color: #3097ff;
|
|
|
+ }
|
|
|
|
|
|
.comment-input-box {
|
|
|
width: 100%;
|