代码清理

This commit is contained in:
zhaofang
2022-06-16 10:44:48 +08:00
parent 71230bf79c
commit c9562cef94
3 changed files with 5 additions and 257 deletions

View File

@@ -16,7 +16,6 @@
<div>
<div class="courseware-div" v-if="enrollStutas == 1" style="max-height: 400px;">
<course-image :course="courseInfo" class="courseware-img"></course-image>
<!-- <el-button type="warning" @click="submitEnroll" class="courseware-enroll-btn">报名后即可开始学习</el-button> -->
</div>
<div class="courseware-div" v-else>
<div v-if="coursewareInfo.content.contentType == 10" style="position: relative;">
@@ -29,19 +28,16 @@
@onFullscreen="onFullscreen"
@onPlayerEnded="onPlayerEnded">
</videoPlayer>
<!-- v-if="playerBoxShow" -->
<div class="player-box" v-if="playerBoxShow">
<div class="player-praise">
<div @click="praiseContent" style="cursor: pointer;">
<img class="icon-small" v-if="isPraise" :src="require('@/assets/images/icon/praise-active.png')" />
<img class="icon-small" v-else :src="require('@/assets/images/icon/zhan.png')" />
<!-- {{ courseInfo.praises }} -->
<div style="color:#fff;cursor: pointer;"></div>
</div>
<div style="margin-left: 15px;cursor: pointer;" @click="treadContent">
<img class="icon-small" v-if="isTrample" :src="require('@/assets/images/icon/trample-active.png')" />
<img class="icon-small" v-else :src="require('@/assets/images/icon/cai.png')" />
<!-- {{ courseInfo.trampleCount }} -->
<div style="color:#fff;cursor: pointer;"></div>
</div>
</div>
@@ -112,7 +108,6 @@
</el-tabs>
<div style="display: flex;justify-content: space-between;padding: 10px;align-items: center;">
<div class="score">
<!-- <el-rate disabled v-model="courseInfo.score" :max="5" :allow-half="true" show-score score-template="{value}"></el-rate> -->
<div v-if="enrollStutas == 1 && !scoreInfo.has">
<div v-if="courseInfo.score">
<el-rate disabled v-model="courseInfo.score"></el-rate>
@@ -155,47 +150,22 @@
<interactBar :readonly="enrollStutas==1" :type="1" :data="courseInfo" :views="false" :praises="false" :comments="false"></interactBar>
<div class="title title-index">{{courseInfo.name}}</div>
<div class="study-count"><span class="num">{{courseInfo.studys}}人学习</span></div>
<!-- <div class="course-info-tools-btns">
<span style="color: #f8a114;font-size: 36px;">{{toScore(courseInfo.score)}}</span>
<span style="font-size: 14px;color: #787878;"></span>
</div> -->
<!-- <div class="label"><el-tag class="label-item" effect="plain">了解公司</el-tag></div> -->
<div class="label"><el-tag class="label-item" effect="plain">录播课</el-tag></div>
<div class="label" v-if="tags.length >0">
<el-tag class="label-item" effect="plain" v-for="(item, index) in tags" :key="index">{{item}}</el-tag>
<!-- <el-tag class="label-item" effect="plain">中心长</el-tag> -->
</div>
<div v-if="enrollStutas != 2" class="score" style="padding-top: 135px;justify-content: flex-start;">
<!-- <el-rate style="display: inline-block; " disabled v-model="courseInfo.score" score-template="{value}" show-score text-color="#ff8e00"></el-rate>
<span style="font-size: 14px;color: #f7ba2a;"></span> -->
<div v-if="courseInfo.score">
<el-rate disabled v-model="courseInfo.score"></el-rate>
<span class="score-text">{{toScore(courseInfo.score)}}<span style="font-size: 14px;"></span></span>
</div>
<div v-else class="score-no">未评分</div>
<!-- <el-rate style="display: inline-block; " disabled v-model="courseInfo.score" text-color="#ff8e00"></el-rate>
<span style="font-size: 14px;color: #f7ba2a;">{{courseInfo.score}}</span> -->
</div>
<!-- <div class="keyword"><el-tag class="label-item" effect="plain">质量</el-tag></div> -->
<!--资源归属是一共有三级这里只显示三级-->
<!-- <div class="study-count">资源归属{{courseInfo.resOwner}}</div> -->
<!-- <div class="btn-div" style="padding-top: 70px;">
<el-button class="btn" type="primary" v-if="enrollStutas == 1" @click="submitEnroll">立即报名</el-button>
</div> -->
<!-- 二维码 -->
<!-- <div class="qr-code" style="padding-top: 10px;">
<div id="qrcode" ref="qrcode" class="qrcode" ></div>
<div>手机扫码观看</div>
</div> -->
<!-- <div style="width: 100px;height:300px" v-if="courseInfo.device == 2 || courseInfo.device == 3"> -->
<img class="detail-img" v-show="!showQrcode && (courseInfo.device == 2 || courseInfo.device == 3)" @click="showQrcode = true" src="../../../assets/images/qr.png" alt="" srcset="">
<div class="qr-code" v-show="showQrcode && ((courseInfo.device == 2 || courseInfo.device == 3))" style="padding-top: 10px;">
<div id="qrcode" ref="qrcode" class="qrcode" @click="showQrcode = false"></div>
<!-- <div style="margin-left: 27px">手机扫码观看</div> -->
</div>
<!-- </div> -->
</el-col>
<!-- 11 -->
</el-row>
</el-card>
<el-row :gutter="10">
@@ -233,12 +203,9 @@
<div class="teacher" v-for="(item, idx) in teachers" :key="idx" >
<div class="teacher-avator">
<el-avatar v-if="item.avatar !== ''" :src="item.avatar" shape="circle" :size="50"></el-avatar>
<!-- <div class="teacher-text" v-if="item.avatar !== '' "></div> -->
<!-- <el-avatar v-if="item.avatar && item.avatar!=''" icon="el-icon-user" shape="square" :size="50"></el-avatar> -->
<div class="teacher-text" v-else>
<div v-if="sex === 1 "><img src="../../../../public/images/Avatarman.png" alt=""></div>
<div v-else><img src="../../../../public/images/Avatarwoman.png" alt=""></div>
</div>
</div>
<div class="teacher-info">
@@ -264,23 +231,13 @@ import portalHeader from "@/components/PortalHeader.vue";
import comments from "@/components/Portal/comments.vue";
import portalFooter from "@/components/PortalFooter.vue";
import interactBar from "@/components/Portal/interactBar.vue";
import apiCourse from "@/api/modules/course.js";
import apiCourseFile from "@/api/modules/courseFile.js";
import apiCoursePortal from "@/api/modules/coursePortal.js";
import apiUser from '@/api/system/user.js';
import exam from '@/components/Course/exam';
import homework from '@/components/Course/homework';
import assess from '@/components/Course/assess';
import {
formatDate,
resListMap,
toScore,
courseType,
getType,
numberToLetter,
correctJudgment,
userAvatarText
} from "@/utils/tools.js";
import {toScore,courseType, getType, numberToLetter, correctJudgment,userAvatarText} from "@/utils/tools.js";
import apicourseStudy from "@/api/modules/courseStudy.js";
import apiVideoStudy from "@/api/modules/videoStudy.js";
import apiCourseGrade from "@/api/modules/courseGrade.js";
@@ -288,7 +245,6 @@ import apiPraises from "@/api/modules/praises.js";
import apiTrample from "@/api/modules/trample.js";
import FileUpload from "@/components/FileUpload/index.vue";
import pdfPreview from "@/components/PdfPreview/index.vue";
// import {resOwnerIndexName} from '@/utils/type.js';
import { setTimeout } from "timers";
import videoPlayer from '@/components/VideoPlayer/index.vue';
import audioPlayer from '@/components/AudioPlayer/index.vue';
@@ -330,7 +286,6 @@ export default {
studyId: "",
tags: [],
numberToLetter: numberToLetter,
// resOwnerListMap: resOwnerIndexName,
fileBaseUrl: this.$Constants.fileBaseUrl,
blobUrl:'',//播放的文件地址新添加采用blob方式
getType: getType,
@@ -406,16 +361,13 @@ export default {
this.showQrimage();
this.$watermark.set(this.userInfo.name+this.userInfo.loginName);
this.loadResOwners();
let $this = this;
//页面只支取一次,所以先直接写在这里面
apiCoursePortal.detail(id).then(rs => {
if (rs.status == 200) {
this.courseInfo = rs.result.course;
// this.courseInfo.score = this.toScore(rs.result.course.score);
if(rs.result.course.tags != '') this.tags = rs.result.course.tags.split(",");
this.teachers = rs.result.teachers;
if(rs.result.teachers && rs.result.teachers.length > 0){
let userIds=[];
let ctoUsers=[];
@@ -448,7 +400,6 @@ export default {
}
//对url进行加密处理
$this.createPlayUrl(con.contentRefId,this.curriculumData.url);
} else if (con.contentType == 40) {
//需要读取pdf的路径
apiCourseFile.detail($this.coursewareInfo.content.contentRefId).then(cfrs=>{
@@ -461,12 +412,10 @@ export default {
$this.coursewareInfo.content.content=cfrs.result.filePath;
$this.curCFile=2;
}
}else{
$this.$message.error('加载pdf课件文件失败');
}
});
//let url = this.fileBaseUrl + r.content;
}else if(con.contentType ==52){
if(con.content.startsWith('\{')){
this.conLink=JSON.parse(con.content);
@@ -507,9 +456,7 @@ export default {
let nowDate=new Date();
let ctime=parseInt(nowDate.getTime()/1000);
let beforeUrl=parseInt(nowDate.getTime()/1000)+'/'+fid;
//console.log(beforeUrl,'beforeUrl');
let urlSign=encodeURIComponent(encrypt(beforeUrl));
//console.log(urlSign,'urlSign');
cookies.set('PLAYSIGN_TIME', ctime);//写客户端的cookie保存
//以下判断是为了区分本地环境和服务器环境
if(process.env.NODE_ENV == 'development'){
@@ -524,7 +471,6 @@ export default {
// this.qrcode = this.webBaseUrl+'/mobile/pages/resource/microDetail?id='+this.courseInfo.id;
urlPre='https://u.boe.com/m?returnUrl=https://u.boe.com/mobile/pages/login/loading?returnUrl=';
this.qrcode =urlPre+ '/pages/resource/microDetail?id='+this.courseInfo.id;
//console.log(this.qrcode,'qrcode');
this.$nextTick(() => {
this.crateQrcode();
});
@@ -633,11 +579,9 @@ export default {
this.playerBoxShow = false;
//console.log("开始播放");
this.isAppendTime=false;
//视频类的内容,开始播放时才会记录完成情况
//2022-05-24修改判断播放的
let $this=this;
//console.log(this.curriculumData,'this.curriculumData');
//完成类型 completeSetup 0表默认打开后5秒算学完1表按进度2表按时间
//完成值(非默认情况下起作用) setupTage
if(!$this.coursewareInfo.finish){
@@ -676,7 +620,6 @@ export default {
if(!completeSecond){
completeSecond=5;//如果没有就采用默认的时间了
}
if(completeType>0 && !this.coursewareInfo.finish){ //因为1按进度2按时长都是计算时间所以这里直接大于0处理
if(completeType==1){
let finishPercent=this.curriculumData.setupTage;
@@ -690,7 +633,6 @@ export default {
this.finishStudyItem();
}
}
}
//以下是每10秒记录一次学习时长
let saveTime=Math.floor(intTime%10);
@@ -711,14 +653,12 @@ export default {
},
audioPlaying(item,currentTime){
let intTime=parseInt(currentTime);//秒
//console.log("当前播放时间="+item+',currentTime='+intTime);
//判断是否完成
let completeType=this.curriculumData.completeSetup;
let completeSecond=this.curriculumData.second;
if(!completeSecond){
completeSecond=5;//如果没有就采用默认的时间了
}
if(completeType>0 && !this.coursewareInfo.finish){ //因为1按进度2按时长都是计算时间所以这里直接大于0处理
if(completeType==1){
let finishPercent=this.curriculumData.setupTage;
@@ -770,7 +710,6 @@ export default {
},
audioEnd(){
// this.playerBoxShow = true;
//console.log("播放结束");
if(!this.coursewareInfo.finish){
this.finishStudyItem();
}
@@ -882,7 +821,6 @@ export default {
//首先从本地读取
let duration=studyUtil.getStudyDuration();
//追加学习时间
let $this = this;
if(this.appendStartTime == null) {
@@ -893,14 +831,10 @@ export default {
}
return;
}
//当前进行的时间
let now = new Date();
let m = now.getTime() - this.appendStartTime.getTime(); //相差的毫秒数
let sen = parseInt(m / 1000); //计算秒数
//console.log(duration,'duration')
//console.log(sen,'sen')
duration=duration+sen;
if(flag){
//这个时候才进行存储 ,否则只能是存储在本地
@@ -943,14 +877,12 @@ export default {
if(res.result.signup) {
//this.bootTabActive = 'commnets';//系统自动报名,这里不进行切换了
this.studyId = res.result.studyId; //设置学习id
//需要判断此内容是否已学习完成,如果已学习完成,不需要再请不说了
res.result.contents.forEach(con => {
if (con.contentId == $this.coursewareInfo.content.id) {
$this.coursewareInfo.studyItemId=con.id;
$this.coursewareInfo.status=con.status;
$this.coursewareInfo.progress=con.progress;
if(con.contentType==10 || con.contentType==20){
if(con.progress==100 || con.status==9){
$this.coursewareInfo.finish = true;
@@ -960,7 +892,6 @@ export default {
}else{
$this.coursewareInfo.finish = true; //课件已学习
}
if(con.lastStudyTime){
//如果上次课件已经播放完成,此处应该是$this.coursewareInfo.content.duration
//也就是从头开开始
@@ -1028,7 +959,6 @@ export default {
if (rs.status == 200 && rs.result) {
this.scoreInfo.has = true;
}
//console.log(rs.result,'rs.result');
});
//}
apiPraises.has(1, this.courseInfo.id).then(rs => {
@@ -1183,12 +1113,8 @@ export default {
background: none;
border: none;
}
.player-box{
position: absolute;
// top: 62px;
// left: 184px;
width: 300px;
left: 50%;
top: 50%;
@@ -1210,24 +1136,10 @@ export default {
}
}
::v-deep .el-tabs__nav-wrap::after {
// content: "";
// position: absolute;
// left: 0;
// bottom: 0;
// width: 100%;
// height: 2px;
background-color: #fff;
// z-index: 1;
}
::v-deep .el-tabs__nav-wrap::after {
// content: "";
// position: absolute;
// left: 0;
// bottom: 0;
// width: 100%;
// height: 2px;
background-color: #fff;
// z-index: 1;
}
.qrcode{
display: inline-block;
@@ -1240,16 +1152,7 @@ export default {
}
}
.ref-score{
// background: #e4e4e4;
// width: 64px;
// height: 32px;
// border-radius: 17px;
// line-height: 32px;
// // opacity: 0.24;
// color: #000;
// font-size: 14px;
// border: none;
// text-align: center;
}
.portal-content ::v-deep .el-rate__icon{
font-size: 24px !important;
@@ -1392,13 +1295,6 @@ export default {
transform: rotate(180deg);
}
}
// margin-bottom: 50px;
// line-height: 20px;
// .el-link{
// font-size: 30px;
// color: #70a5f4;
// margin: 0 30px;
// }
}
}
}
@@ -1416,9 +1312,7 @@ export default {
color: #FFB30F ;
font-family: "Arial";
margin-left: 23px;
// font-weight: 600;
}
// margin-bottom: 19px;
.score-no{
color: #FFB30F;
padding: 5px 0;