213 lines
5.1 KiB
Vue
213 lines
5.1 KiB
Vue
<template>
|
|
<view>
|
|
<!-- <cu-custom bgColor="bg-gradual-blueness" :isBack="true">-->
|
|
<!-- <block slot="backText">返回</block>-->
|
|
<!-- <block slot="content">加强学习</block>-->
|
|
<!-- </cu-custom>-->
|
|
<view class="container">
|
|
<view class="fixed">
|
|
<view v-if="videoSrc">
|
|
<video
|
|
id="video"
|
|
:src="videoSrc"
|
|
:poster="videoPoster"
|
|
autoplay
|
|
controls
|
|
style="width: 100vw"
|
|
/>
|
|
</view>
|
|
</view>
|
|
<scroll-view scroll-y :style="{ height: `calc(100vh - 450upx)` }">
|
|
<view class="video_container">
|
|
<view
|
|
v-for="(item, index) in videoList"
|
|
:key="index"
|
|
class="video_list_main_wrap"
|
|
@click="fnGetPlayInfo(item.VIDEOCOURSEWARE_ID)"
|
|
>
|
|
<view class="video_list_main_wrap_tit">
|
|
{{ item.COURSEWARENAME }}
|
|
</view>
|
|
<view class="video_list_main_wrap_info">
|
|
<text class="ml5">{{ secondsCount(item.VIDEOTIME) }}</text>
|
|
<image src="/static/study/play.png"/>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</scroll-view>
|
|
<view class="footer">
|
|
<button class="cu-btn bg-blue" @click="fnNavigationExamination">
|
|
效果评估考试
|
|
</button>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
import {basePath} from "@/common/tool";
|
|
|
|
export default {
|
|
data() {
|
|
return {
|
|
CLASS_ID: '',
|
|
POST_ID: '',
|
|
STUDENT_ID: '',
|
|
videoSrc: '',
|
|
videoPoster: '',
|
|
videoList: [],
|
|
info: {}
|
|
}
|
|
},
|
|
onLoad(options) {
|
|
this.CLASS_ID = options.CLASS_ID;
|
|
this.POST_ID = options.POST_ID;
|
|
this.STUDENT_ID = options.STUDENT_ID;
|
|
this.fnGetData()
|
|
},
|
|
methods: {
|
|
fnGetData() {
|
|
uni.showLoading({
|
|
title: '请稍候'
|
|
})
|
|
uni.request({
|
|
url: basePath + '/app/stagestudentrelation/listStrengthenVideo',
|
|
method: 'POST',
|
|
dataType: 'json',
|
|
header: {
|
|
'Content-type': 'application/x-www-form-urlencoded'
|
|
},
|
|
data: {
|
|
CLASS_ID: this.CLASS_ID,
|
|
STUDENT_ID: this.STUDENT_ID,
|
|
TYPE: "APP",
|
|
},
|
|
success: (res) => {
|
|
uni.hideLoading(); //结束加载中动画
|
|
var resData = res.data;
|
|
if ("success" == resData.result) {
|
|
this.info = resData.relation;
|
|
this.videoList = resData.videoList;
|
|
}
|
|
}
|
|
});
|
|
},
|
|
// 视频秒数转换时分秒
|
|
secondsCount(second) {
|
|
if (!second) return 0;
|
|
const h = parseInt((second / 60 / 60) % 24, 10);
|
|
const m = parseInt((second / 60) % 60, 10);
|
|
const s = parseInt(second % 60, 10);
|
|
return (
|
|
(h < 10 ? "0" + h : h) +
|
|
":" +
|
|
(m < 10 ? "0" + m : m) +
|
|
":" +
|
|
(s < 10 ? "0" + s : s)
|
|
);
|
|
},
|
|
fnGetPlayInfo(VIDEOCOURSEWARE_ID) {
|
|
uni.showLoading({
|
|
title: '请稍候'
|
|
})
|
|
uni.request({
|
|
url: basePath + '/app/audioOrVideo/getPlatPlayInfo',
|
|
method: 'POST',
|
|
dataType: 'json',
|
|
header: {
|
|
'Content-type': 'application/x-www-form-urlencoded'
|
|
},
|
|
data: {
|
|
VIDEOCOURSEWARE_ID,
|
|
},
|
|
success: (res) => {
|
|
uni.hideLoading(); //结束加载中动画
|
|
var resData = res.data;
|
|
if ("success" == resData.result) {
|
|
if (resData.PLAYURL) {
|
|
this.videoSrc = resData.PLAYURL;
|
|
this.videoPoster = resData.COVERURL;
|
|
} else {
|
|
uni.showToast({
|
|
title: resData.msg,
|
|
icon: 'none'
|
|
})
|
|
}
|
|
}
|
|
}
|
|
})
|
|
},
|
|
fnNavigationExamination() {
|
|
uni.navigateTo({
|
|
url: '/pages/application/onlinexxks/course_exam?STAGEEXAMPAPERINPUT_ID=' + this.info.STRENGTHEN_STAGEEXAMPAPER_INPUT_ID + '&STAGEEXAMPAPER_ID=' + this.info.STRENGTHEN_STAGEEXAMPAPER_INPUT_ID + '&CLASS_ID=' + this.CLASS_ID + '&POST_ID=' + this.POST_ID + '&STUDENT_ID=' + this.STUDENT_ID + '&entrySite=strengththen'
|
|
})
|
|
}
|
|
},
|
|
}
|
|
</script>
|
|
|
|
<style scoped lang="scss">
|
|
.video_container {
|
|
width: 100%;
|
|
background: #ffffff;
|
|
padding: 40upx;
|
|
margin-top: 20upx;
|
|
box-sizing: border-box;
|
|
|
|
.video_list_title {
|
|
display: flex;
|
|
align-items: center;
|
|
margin-left: -10upx;
|
|
}
|
|
|
|
.video_list_main_wrap {
|
|
width: 100%;
|
|
background: #fafafa;
|
|
padding: 20upx;
|
|
border-radius: 10upx;
|
|
font-size: 26upx;
|
|
display: flex;
|
|
justify-content: space-between;
|
|
box-sizing: border-box;
|
|
color: #666666;
|
|
margin-bottom: 20upx;
|
|
|
|
.video_list_main_wrap_info {
|
|
display: flex;
|
|
|
|
image {
|
|
width: 28upx;
|
|
height: 28upx;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.footer {
|
|
display: flex;
|
|
position: fixed;
|
|
bottom: 0;
|
|
justify-content: space-between;
|
|
width: 100%;
|
|
left: 0;
|
|
padding: 20upx;
|
|
box-sizing: border-box;
|
|
background: #fff;
|
|
|
|
button {
|
|
width: 100%;
|
|
border-radius: 10upx;
|
|
}
|
|
}
|
|
|
|
.video_bg, #video {
|
|
width: 100%;
|
|
height: 450upx;
|
|
}
|
|
|
|
.ml5 {
|
|
margin-left: 10upx;
|
|
margin-right: 10upx;
|
|
}
|
|
</style>
|