This commit is contained in:
daihh
2022-10-10 09:26:23 +08:00
8 changed files with 55 additions and 24 deletions

View File

@@ -55,19 +55,19 @@ const detail = function(id,preview) {
const ranking = function(data) {
return ajax.post('/xboe/m/course/portal/ranking',data);
}
/*
评分榜
/*
评分榜
@param num 要几条传几条 不传默认五条
*/
const scorelist=function(num){
return ajax.get(`/xboe/m/course/portal/score-list?num=${num}`);
}
}
/**
* 按课程IDs获取教师
* @param {课程IDs} ids
* @returns
* @param {课程IDs} ids
* @returns
*/
const getTeacherByCourseIDs = function(ids){
return ajax.postJson('/xboe/m/course/portal/query-teacher', ids);
@@ -81,6 +81,14 @@ const studyCounts=function(num){
const courseSearch=function(query){
return ajax.post('/xboe/m/course/fulltext/search',query);
}
/**
* 课程学习进度的详细信息
* @param {String} id
*/
const detailStudy = function(courseId,aid) {
return ajax.get(`/xboe/m/course/portal/detail-study?courseId=${courseId}&aid=${aid}`);
}
export default {
list,
pageList,
@@ -89,5 +97,6 @@ export default {
scorelist,
getTeacherByCourseIDs,
studyCounts,
courseSearch
courseSearch,
detailStudy
}

View File

@@ -685,7 +685,7 @@
height: 370px;
padding: 30px 45px;
.personal-box{
margin-left: 16px;
// margin-left: 16px;
margin-top: 20px;
margin-bottom: 28px;
}

View File

@@ -153,7 +153,7 @@
<el-row style="margin-bottom: 20px;">
<el-col :span="3">
<div class="grid-content bg-purple">
课程目录:
课程目录:
</div>
</el-col>
<el-col :span="5">
@@ -251,10 +251,11 @@
<div>
<!-- <div v-if="study.detailType == 10"><auditCourse1 :isDetails="true" :isShow="false" :id="study.examineId"></auditCourse1></div>
<div v-if="study.detailType == 20"><auditCourse2 :isDetails="true" :isShow="false" :id="study.examineId"></auditCourse2></div> -->
<el-table max-height="500" border :data="catalogRecordTree" style="width: 100%">
<el-table max-height="500" border :data="this.courseStudyList" style="width: 100%">
<el-table-column label="课程目录">
<template slot-scope="scope">
{{scope.row.chapterName}}{{scope.row.chapterName? '--': ''}}{{scope.row.contentName}}
<!-- {{scope.row.chapterName}}{{scope.row.chapterName? '&#45;&#45;': ''}}{{scope.row.contentName}}-->
{{scope.row.contentName}}
</template>
</el-table-column>
<el-table-column prop="status" label="状态">
@@ -262,9 +263,10 @@
<span>{{scope.row.status == 9? '已完成':'未开始'}}</span>
</template>
</el-table-column>
<el-table-column prop="duration" label="时长(分)">
<el-table-column prop="duration" label="进度">
<template slot-scope="scope">
{{scope.row.duration == 0?'0':scope.row.duration/60}}
<!-- {{scope.row.studyDuration == 0?'0':scope.row.studyDuration/60}}-->
{{scope.row.studyDuration}}
</template>
</el-table-column>
</el-table>
@@ -349,6 +351,7 @@ export default {
resOwnerListMap:[],
sysTypeListMap:[],
catalogList: [],
courseStudyList: [],
sysType: "",
// sysTypeList: sysTypeList,
treeList: [],
@@ -468,7 +471,7 @@ export default {
}
this.catalogTree = treeList;
this.catalogList = treeList;
} else {
this.$message.error(rs.message);
}
@@ -553,6 +556,15 @@ export default {
this.$message.error(rs.message);
}
});
},
getStudyDetail(courseId,aid){
apiCoursePortal.detailStudy(courseId,aid).then(res =>{
if (res.status == 200) {
this.courseStudyList=res.result;
}else {
this.courseStudyList=[];
}
});
},
loadStudyData(courseId) {
let $this=this;
@@ -636,9 +648,10 @@ export default {
status: this.signup.status, //状态
name: this.signup.name, //姓名
pageIndex: this.study.pageIndex,
pageSize: this.study.pageSize
pageSize: this.study.pageSize,
aid:this.study.aid
};
apicourseStudy.findSignup(params).then(res => {
if (res.status === 200) {
let ids = [];
@@ -703,7 +716,8 @@ export default {
// this.study.detailType = row.courseType;
// this.study.examineId = row.courseId;
this.study.detailShow = true;
this.getRecordDetail(row.courseId);
this.getStudyDetail(row.courseId,row.aid);
}
}
};

View File

@@ -935,7 +935,8 @@
position: absolute;
right: 8%;
top: 105px;
background: url('/images/homeWu/personal-bgimg.png');
// background: url('/images/homeWu/personal-bgimg.png');
background: rgba($color: #fff, $alpha: 0.2);
border-radius: 8px;
z-index: 999;
backdrop-filter: blur(10px);
@@ -946,7 +947,6 @@
width: 68px;
height: 68px;
margin: 0 auto;
::v-deep .el-avatar {
width: 68px;
height: 68px;

View File

@@ -391,11 +391,13 @@ export default {
}
},
handleScroll() {
let innerw = document.querySelector("#fixd-box");
let innerHeight = document.querySelector('#case-list-content').clientHeight
let pdfTopBox = document.querySelector('#comments-box')
let pdfPreview = document.querySelector('#pdfPreview') //pdf盒子距离顶部的高度
let contentDiv = document.querySelector('#content-div').clientWidth;
let outerHeight = document.documentElement.clientHeight
let outerHeight = document.documentElement.clientHeight;
let outerWidth = innerw.clientWidth;
let scrollTop = document.documentElement.scrollTop
if ((outerHeight + scrollTop + 350) >= innerHeight) {
if(this.moreState == 1 && this.course.pageIndex < 4) {
@@ -412,7 +414,7 @@ export default {
}
if(scrollTop > 630) {
this.isTopBoxShow = true;
document.querySelector('#fixd-box').style.cssText = "position: fixed;top: -4420px;width:245.5px";
document.querySelector('#fixd-box').style.cssText = "position: fixed;top: -442px;width:"+outerWidth+"px";
} else {
document.querySelector('#fixd-box').style.cssText = "position: static";
}

View File

@@ -1,6 +1,6 @@
<template>
<div id="case-list-content">
<div class="case-banner">
<div style="margin-bottom:30px" class="case-banner">
<portal-header current="case" textColor="#fff" @emitInput="emitInput"></portal-header>
</div>
<div class="xcontent2">
@@ -476,9 +476,11 @@ export default {
this.getCaseData();
},
handleScroll() {
let innerw = document.querySelector("#fixd-box");
let innerHeight = document.querySelector("#case-list-content")
.clientHeight;
let outerHeight = document.documentElement.clientHeight;
let outerWidth = innerw.clientWidth;
let scrollTop = document.documentElement.scrollTop;
if (outerHeight + scrollTop + 350 >= innerHeight) {
if (this.moreState == 1) {
@@ -487,7 +489,7 @@ export default {
}
if (scrollTop > 630) {
document.querySelector("#fixd-box").style.cssText =
"position: fixed;top: -442px;width:410px";
"position: fixed;top: -442px;width:"+outerWidth+"px";
} else {
document.querySelector("#fixd-box").style.cssText = "position: static";
}

View File

@@ -387,8 +387,10 @@ export default {
})
},
handleScroll() {
let innerw = document.querySelector(".qa-ranking");
let innerHeight = document.querySelector("#answer-detail").clientHeight;
let outerHeight = document.documentElement.clientHeight;
let outerWidth = innerw.clientWidth;
let scrollTop = document.documentElement.scrollTop;
if (outerHeight + scrollTop + 350 >= innerHeight) {
if (this.moreState == 1) {
@@ -397,7 +399,7 @@ export default {
}
if (scrollTop > 400) {
document.querySelector(".qa-ranking").style.cssText =
"position: fixed;top: 0;width:410px";
"position: fixed;top: 0;width:"+outerWidth+"px";
} else {
document.querySelector(".qa-ranking").style.cssText =
"position: static";

View File

@@ -263,8 +263,10 @@ export default {
this.dialogVisible = true;
},
handleScroll(){
let innerw = document.querySelector("#qa-fixd");
let innerHeight = document.querySelector('#qa-list-content').clientHeight
let outerHeight = document.documentElement.clientHeight
let outerWidth = innerw.clientWidth;
let scrollTop = document.documentElement.scrollTop
if ((outerHeight + scrollTop + 350) >= innerHeight) {
if(this.moreState == 1) {
@@ -272,7 +274,7 @@ export default {
}
}
if(scrollTop > 400) {
document.querySelector('#qa-fixd').style.cssText = "position: fixed;top: 0px;width:410px;";
document.querySelector('#qa-fixd').style.cssText = "position: fixed;top: 0px;width:"+outerWidth+"px";
} else {
document.querySelector('#qa-fixd').style.cssText = "position: static";
}