mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/learning-system-portal.git
synced 2025-12-17 14:56:44 +08:00
Merge branch 'dev' of https://codeup.aliyun.com/6265f483e4166464dc2f9c14/boeu/portal into dev
This commit is contained in:
@@ -44,7 +44,7 @@
|
||||
</el-col>
|
||||
<el-col :span="2">
|
||||
<div class="grid-content bg-purple">
|
||||
<el-button type="primary" style="margin-left: 20px;" @click="getSignupList()" >搜索</el-button>
|
||||
<el-button type="primary" style="margin-left: 20px;" @click="getSignupList()" >搜ssz索</el-button>
|
||||
</div>
|
||||
</el-col>
|
||||
<!-- <el-col :span="2"> -->
|
||||
@@ -623,14 +623,16 @@ export default {
|
||||
pageIndex: this.study.pageIndex,
|
||||
pageSize: this.study.pageSize
|
||||
};
|
||||
|
||||
apicourseStudy.findSignup(params).then(res => {
|
||||
if (res.status === 200) {
|
||||
|
||||
let ids = [];
|
||||
res.result.list.forEach(item => {
|
||||
ids.push(item.aid);
|
||||
});
|
||||
this.getQaUserData(res.result.list, ids);
|
||||
// this.study.list = res.result.list;
|
||||
this.study.list = res.result.list;
|
||||
this.study.count = res.result.count;
|
||||
} else {
|
||||
this.$message.error(res.message);
|
||||
|
||||
@@ -144,27 +144,92 @@
|
||||
</el-row>
|
||||
</div>
|
||||
<div style="width: 245px;margin-left: 5px;">
|
||||
<div id="fixd-box">
|
||||
<el-card class="ranking-card">
|
||||
<div slot="header">
|
||||
<span>排行榜</span>
|
||||
</div>
|
||||
<div>
|
||||
<el-row class="ranking-title" v-for="(item,index) in ankingList" :key="index">
|
||||
<el-col :span="6">
|
||||
<div id="fixd-box">
|
||||
<el-card class="ranking-card" >
|
||||
<div slot="header">
|
||||
<span style="font-size: 14px;font-weight: 600;color: #333333;">好评榜</span>
|
||||
</div>
|
||||
<div style="padding-bottom:10px">
|
||||
<el-row class="ranking-title">
|
||||
<!-- <el-col :span="15" style="color: #333333;font-size: 14px;">名称</el-col> -->
|
||||
<!-- <el-col :offset="4" :span="5" class="center" style="color: #333333;font-size: 14px;">分数</el-col> -->
|
||||
</el-row>
|
||||
<el-row class="ranking-title bacolor" v-for="(item, index) in ankingList" :key="index" >
|
||||
<el-col :span="6" style="height:34px">
|
||||
<img v-if="index===0" :src="`${webBaseUrl}/images/first.png`"/>
|
||||
<img v-if="index===1" :src="`${webBaseUrl}/images/second.png`"/>
|
||||
<img v-if="index===2" :src="`${webBaseUrl}/images/third.png`"/>
|
||||
<span style="margin-left: 10px" v-if="index!=2&&index!=0&&index!=1">{{index+1}}</span>
|
||||
</el-col>
|
||||
<el-col class="center" :span="18">{{item.sysCreateUname}}</el-col>
|
||||
<!-- <el-col class="center" :span="7">{{''}}</el-col>
|
||||
<el-col class="center" :span="7">{{item.counts}}</el-col> -->
|
||||
<el-tooltip :enterable="false" @click.native="jumpRouter(item)" effect="light" :content="item.sysCreateUname" placement="top-start">
|
||||
<el-col :span="15" style="cursor: pointer;" class="title-line-ellipsis"> {{ item.sysCreateUname }}</el-col>
|
||||
</el-tooltip>
|
||||
<!-- <el-col class="center" style="color: #FF8E00;" :span="5">{{ item.score }}</el-col> -->
|
||||
</el-row>
|
||||
</div>
|
||||
</el-card>
|
||||
<div style="height: 10px;"></div>
|
||||
<el-card class="ranking-card" >
|
||||
<div slot="header">
|
||||
<span style="font-size: 14px;font-weight: 600;color: #333333;">人气榜</span>
|
||||
</div>
|
||||
<div style="padding-bottom:10px">
|
||||
<el-row class="ranking-title">
|
||||
<!-- <el-col :span="15" style="color: #333333;font-size: 14px;">名称</el-col> -->
|
||||
<!-- <el-col :offset="4" :span="5" class="center" style="color: #333333;font-size: 14px;">分数</el-col> -->
|
||||
</el-row>
|
||||
<el-row class="ranking-title bacolor" v-for="(item, index) in Popularity" :key="index" >
|
||||
<el-col :span="6" style="height:34px">
|
||||
<img v-if="index===0" :src="`${webBaseUrl}/images/first.png`"/>
|
||||
<img v-if="index===1" :src="`${webBaseUrl}/images/second.png`"/>
|
||||
<img v-if="index===2" :src="`${webBaseUrl}/images/third.png`"/>
|
||||
<span style="margin-left: 10px" v-if="index!=2&&index!=0&&index!=1">{{index+1}}</span>
|
||||
</el-col>
|
||||
<el-tooltip :enterable="false" @click.native="jumpRouter(item)" effect="light" :content="item.title" placement="top-start">
|
||||
<el-col :span="15" style="cursor: pointer;" class="title-line-ellipsis"> {{ item.title }}</el-col>
|
||||
</el-tooltip>
|
||||
<!-- <el-col class="center" style="color: #FF8E00;" :span="5">{{ item.score }}</el-col> -->
|
||||
</el-row>
|
||||
</div>
|
||||
</el-card>
|
||||
<div style="height: 10px;"></div>
|
||||
<el-card class="ranking-card" >
|
||||
<div slot="header">
|
||||
<span style="font-size: 14px;font-weight: 600;color: #333333;">人气榜</span>
|
||||
</div>
|
||||
<div style="padding-bottom:10px">
|
||||
<el-row class="ranking-title">
|
||||
<!-- <el-col :span="15" style="color: #333333;font-size: 14px;">名称</el-col> -->
|
||||
<!-- <el-col :offset="4" :span="5" class="center" style="color: #333333;font-size: 14px;">分数</el-col> -->
|
||||
</el-row>
|
||||
<el-row class="ranking-title bacolor" v-for="(item, index) in Positive" :key="index" >
|
||||
<el-col :span="6" style="height:34px">
|
||||
<img v-if="index===0" :src="`${webBaseUrl}/images/first.png`"/>
|
||||
<img v-if="index===1" :src="`${webBaseUrl}/images/second.png`"/>
|
||||
<img v-if="index===2" :src="`${webBaseUrl}/images/third.png`"/>
|
||||
<span style="margin-left: 10px" v-if="index!=2&&index!=0&&index!=1">{{index+1}}</span>
|
||||
</el-col>
|
||||
<el-tooltip :enterable="false" @click.native="jumpRouter(item)" effect="light" :content="item.title" placement="top-start">
|
||||
<el-col :span="15" style="cursor: pointer;" class="title-line-ellipsis"> {{ item.title }}</el-col>
|
||||
</el-tooltip>
|
||||
<!-- <el-col class="center" style="color: #FF8E00;" :span="5">{{ item.score }}</el-col> -->
|
||||
</el-row>
|
||||
</div>
|
||||
</el-card>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<el-row :gutter="10">
|
||||
</el-row>
|
||||
<div style="height: 50px;"></div>
|
||||
@@ -198,6 +263,7 @@ import author from '@/components/Portal/authorInfo.vue';
|
||||
import apiCase from '@/api/modules/cases.js';
|
||||
import apiUser from '@/api/system/user.js';
|
||||
import apiSearchterm from "@/api/modules/searchterm.js";
|
||||
import apiDict from "@/api/modules/dict.js";
|
||||
export default {
|
||||
name: 'index',
|
||||
components: { portalHeader, portalFooter, portalFloatTools, interactBar,timeShow ,author},
|
||||
@@ -219,6 +285,8 @@ export default {
|
||||
list:[]
|
||||
},
|
||||
ankingList:[],
|
||||
Popularity:[],
|
||||
Positive:[],
|
||||
protocolDialogVisible: false,
|
||||
protocolConfirmButton:true,
|
||||
queryCondition:{
|
||||
@@ -244,7 +312,9 @@ export default {
|
||||
}
|
||||
this.keyWord = this.$route.query.keyword;
|
||||
this.getAnkingData()
|
||||
this.getPopularity()
|
||||
this.searchterm()
|
||||
this.getPositive()
|
||||
this.getCaseData();
|
||||
window.addEventListener(
|
||||
"scroll",
|
||||
@@ -377,17 +447,78 @@ export default {
|
||||
});
|
||||
},
|
||||
getAnkingData(){
|
||||
apiCase.usernameList(10).then(res=>{
|
||||
apiCase.usernameList(5).then(res=>{
|
||||
if(res.status==200){
|
||||
this.ankingList=res.result
|
||||
// console.log(res)
|
||||
}
|
||||
})
|
||||
},
|
||||
getPopularity(){
|
||||
apiCase.queryPraises(5).then(res=>{
|
||||
if(res.status==200){
|
||||
this.Popularity=res.result
|
||||
// console.log(this.Popularity)
|
||||
}
|
||||
})
|
||||
},
|
||||
getPositive(){
|
||||
apiCase.queryComments(5).then(res=>{
|
||||
if(res.status==200){
|
||||
this.Positive=res.result
|
||||
console.log(res)
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
jumpRouter(item){
|
||||
this.$router.push(`/case/detail?id=${item.id}`);
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
.ranking-title {
|
||||
line-height: 34px;
|
||||
font-size: 15px;
|
||||
color: #333333;
|
||||
.center-titlt{
|
||||
font-size: 15px;
|
||||
color: #333333;
|
||||
}
|
||||
.center{
|
||||
text-align: right;
|
||||
}
|
||||
img{
|
||||
margin-top: 5px;
|
||||
}
|
||||
}
|
||||
::v-deep .title-line-ellipsis{
|
||||
// width: 100%;
|
||||
display: -webkit-box;
|
||||
overflow: hidden;
|
||||
text-overflow:ellipsis;
|
||||
-webkit-box-orient: vertical;
|
||||
-webkit-line-clamp: 1;
|
||||
box-sizing: border-box;
|
||||
word-break:break-all;
|
||||
}
|
||||
::v-deep .el-card__body{
|
||||
padding: 0;
|
||||
}
|
||||
::v-deep .bacolor:nth-child(odd){
|
||||
background-color: #fff;
|
||||
padding: 0 5px;
|
||||
}
|
||||
::v-deep .bacolor:nth-child(even){
|
||||
background-color: #f6f6f6;
|
||||
padding: 0 5px;
|
||||
|
||||
}
|
||||
::v-deep .el-card{
|
||||
border: none;
|
||||
border-radius: 0px;
|
||||
@@ -598,8 +729,7 @@ export default {
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
.ranking-title {
|
||||
}
|
||||
|
||||
.aligh-title{
|
||||
font-size: 14px;
|
||||
color: #333333;
|
||||
|
||||
@@ -77,6 +77,12 @@
|
||||
<img :src="fileBaseUrl+coursewareInfo.content.content" alt="图片">
|
||||
</div>
|
||||
<div v-if="coursewareInfo.content.contentType == 40">
|
||||
<div style="padding: 10px;color: #767676; " v-if="curCFile.converStatus < 2">
|
||||
<div>此课程内容无法预览,请联系管理员</div>
|
||||
</div>
|
||||
<div style="padding: 10px;color: #767676;" v-if="curCFile.converStatus == 3">
|
||||
此课程内容无法预览,请联系管理员
|
||||
</div>
|
||||
<pdfPreview :autoScroll="true" v-if="coursewareInfo.content.contentType == 40" :filePath="fileBaseUrl+coursewareInfo.content.content"></pdfPreview>
|
||||
</div>
|
||||
<div v-if="coursewareInfo.content.contentType == 41">
|
||||
@@ -305,6 +311,7 @@ export default {
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
curCFile:{},
|
||||
sex:null,
|
||||
playerBoxShow:false,
|
||||
userAvatarText,
|
||||
@@ -440,6 +447,7 @@ export default {
|
||||
if($this.coursewareInfo.content.content!='' && $this.coursewareInfo.content.content.indexOf('.pdf')==-1){
|
||||
apiCourseFile.detail($this.coursewareInfo.content.contentRefId).then(cfrs=>{
|
||||
if(cfrs.status==200){
|
||||
this.curCFile = cfrs.result;
|
||||
$this.coursewareInfo.content.content=cfrs.result.previewFilePath;
|
||||
}else{
|
||||
$this.$message.error('加载pdf课件文件失败');
|
||||
|
||||
@@ -82,7 +82,15 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="resType == 40"><pdfPreview :autoScroll="true" v-if="resType == 40" :filePath="fileBaseUrl + contentData.content"></pdfPreview></div>
|
||||
<div v-if="resType == 40">
|
||||
<div style="padding: 10px;color: #767676; " v-if="curCFile.converStatus < 2">
|
||||
<div>此课程内容无法预览,请联系管理员</div>
|
||||
</div>
|
||||
<div style="padding: 10px;color: #767676;" v-if="curCFile.converStatus == 3">
|
||||
此课程内容无法预览,请联系管理员
|
||||
</div>
|
||||
<pdfPreview :autoScroll="true" v-if="resType == 40" :filePath="fileBaseUrl + contentData.content"></pdfPreview>
|
||||
</div>
|
||||
<div v-if="resType == 41"><div style="padding: 20px;" v-html="contentData.content"></div></div>
|
||||
<div v-if="resType == 52">
|
||||
<div v-if="contentData.content != ''">
|
||||
@@ -255,6 +263,7 @@ export default {
|
||||
components: { courseImage, portalHeader, portalFooter, hyperLink, comments, homework, exam, interactBar, assess, pdfPreview, audioPlayer, videoPlayer },
|
||||
data() {
|
||||
return {
|
||||
curCFile:{},
|
||||
interactRuning:false,
|
||||
playerBoxShow:false,
|
||||
userAvatarText,
|
||||
@@ -807,17 +816,19 @@ export default {
|
||||
let url=this.fileBaseUrl+this.curriculumData.url;
|
||||
//this.createVideoBlob(url);
|
||||
} else if (r.contentType == 40) {
|
||||
//let url = this.fileBaseUrl + r.content;
|
||||
if (r.content != '' && r.content.indexOf('.pdf') == -1) {
|
||||
// if (r.content != '' && r.content.indexOf('.pdf') == -1) {
|
||||
apiCourseFile.detail(r.contentRefId).then(cfrs => {
|
||||
if (cfrs.status == 200) {
|
||||
r.content = cfrs.result.previewFilePath;
|
||||
//console.log(r.content);
|
||||
this.curCFile = cfrs.result;
|
||||
if(cfrs.result.previewFilePath == '' && cfrs.result.filePath.indexOf('pdf') > -1) {
|
||||
r.content = cfrs.result.filePath;
|
||||
}
|
||||
} else {
|
||||
$this.$message.error('加载pdf课件文件失败');
|
||||
}
|
||||
});
|
||||
}
|
||||
// }
|
||||
} else if (r.contentType == 52) {
|
||||
this.isAppendTime=false;
|
||||
if (r.content.startsWith('\{')) {
|
||||
|
||||
Reference in New Issue
Block a user