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) { const ranking = function(data) {
return ajax.post('/xboe/m/course/portal/ranking',data); return ajax.post('/xboe/m/course/portal/ranking',data);
} }
/* /*
评分榜 评分榜
@param num 要几条传几条 不传默认五条 @param num 要几条传几条 不传默认五条
*/ */
const scorelist=function(num){ const scorelist=function(num){
return ajax.get(`/xboe/m/course/portal/score-list?num=${num}`); return ajax.get(`/xboe/m/course/portal/score-list?num=${num}`);
} }
/** /**
* 按课程IDs获取教师 * 按课程IDs获取教师
* @param {课程IDs} ids * @param {课程IDs} ids
* @returns * @returns
*/ */
const getTeacherByCourseIDs = function(ids){ const getTeacherByCourseIDs = function(ids){
return ajax.postJson('/xboe/m/course/portal/query-teacher', ids); return ajax.postJson('/xboe/m/course/portal/query-teacher', ids);
@@ -81,6 +81,14 @@ const studyCounts=function(num){
const courseSearch=function(query){ const courseSearch=function(query){
return ajax.post('/xboe/m/course/fulltext/search',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 { export default {
list, list,
pageList, pageList,
@@ -89,5 +97,6 @@ export default {
scorelist, scorelist,
getTeacherByCourseIDs, getTeacherByCourseIDs,
studyCounts, studyCounts,
courseSearch courseSearch,
detailStudy
} }

View File

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

View File

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

View File

@@ -935,7 +935,8 @@
position: absolute; position: absolute;
right: 8%; right: 8%;
top: 105px; 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; border-radius: 8px;
z-index: 999; z-index: 999;
backdrop-filter: blur(10px); backdrop-filter: blur(10px);
@@ -946,7 +947,6 @@
width: 68px; width: 68px;
height: 68px; height: 68px;
margin: 0 auto; margin: 0 auto;
::v-deep .el-avatar { ::v-deep .el-avatar {
width: 68px; width: 68px;
height: 68px; height: 68px;

View File

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

View File

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

View File

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

View File

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