mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/learning-system-portal.git
synced 2025-12-21 08:46:44 +08:00
Merge branch 'stat' of https://codeup.aliyun.com/6265f483e4166464dc2f9c14/boeu/portal into stat
This commit is contained in:
@@ -32,7 +32,9 @@
|
||||
<p class="ach-title">可能感兴趣</p>
|
||||
<ul>
|
||||
<li class="ava-info" v-for="ava in interestedList" :key="ava.aid">
|
||||
<img :src="baseUrl + ava.avatar" />
|
||||
<!-- <img :src="baseUrl + ava.avatar" /> -->
|
||||
<author-img width="48px" height="48px" :avatar="ava.avatar" :aid="ava.aid" :sex="ava.sex"></author-img>
|
||||
<!-- <medal-img style="width:48px;height:48px" :item="ava"></medal-img> -->
|
||||
<div class="ava-text">
|
||||
<p style="color: #333333;">{{ava.name}}</p>
|
||||
<p style="color: #666666;">{{ava.sign}}</p>
|
||||
@@ -53,10 +55,11 @@
|
||||
import apiUserhobby from '@/api/phase2/userhobby.js';
|
||||
import apiUser from "@/api/system/user.js";
|
||||
import apiFollow from "@/api/phase2/userfollow.js";
|
||||
import authorImg from '@/components/Portal/authorImg.vue';
|
||||
import { mapGetters } from 'vuex';
|
||||
|
||||
export default{
|
||||
components:{top,UcHeader,MedalImg},
|
||||
components:{top,UcHeader,MedalImg,authorImg},
|
||||
data(){
|
||||
return{
|
||||
baseUrl:process.env.VUE_APP_FILE_BASE_URL,
|
||||
@@ -86,13 +89,14 @@
|
||||
})
|
||||
},
|
||||
userhobbyInfo() {
|
||||
apiUserhobby.info(this.pageId).then(res=>{
|
||||
apiUserhobby.list(this.pageId).then(res=>{
|
||||
if(res.status == 200) {
|
||||
let ids = res.result.map(item=>item.aid);
|
||||
const noReapetIds = [...new Set(ids)];
|
||||
apiUser.getByIds(noReapetIds).then(res => {
|
||||
if (res.status == 200) {
|
||||
this.interestedList = res.result;
|
||||
console.log(this.interestedList,'interestedList');
|
||||
} else {
|
||||
this.$message.error(res.message);
|
||||
}
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
<template>
|
||||
<div class="home-page-left">
|
||||
<div class="book-input">
|
||||
<!-- <div class="book-input">
|
||||
<span>分享书籍</span>
|
||||
<el-input style="width:130px" v-model="input" placeholder="请输入内容"></el-input>
|
||||
<i style="color: #333333" class="el-icon-search"></i>
|
||||
</div>
|
||||
</div> -->
|
||||
<el-tabs v-model="activeName" @tab-click="handleClick">
|
||||
<el-tab-pane name="">
|
||||
<span slot="label"><svg-icon icon-class="home-dynamic" style="font-size: 30px;"></svg-icon> <span class="tabs-info">动态</span></span>
|
||||
@@ -46,10 +46,10 @@
|
||||
<span slot="label"><svg-icon icon-class="home-follow" style="font-size: 30px;"></svg-icon><span class="tabs-info">关注</span></span>
|
||||
<follow-list ref="followList"></follow-list>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane name="8">
|
||||
<!-- <el-tab-pane name="8">
|
||||
<span slot="label"><svg-icon icon-class="home-book" style="font-size: 30px;"></svg-icon><span class="tabs-info">书籍</span></span>
|
||||
<book-list></book-list>
|
||||
</el-tab-pane>
|
||||
</el-tab-pane> -->
|
||||
</el-tabs>
|
||||
<div style="text-align: center; margin-top:57px;" v-show="page.count > 0">
|
||||
<el-pagination
|
||||
|
||||
@@ -16,16 +16,17 @@
|
||||
<div>
|
||||
<div style="display: flex;justify-content:space-around;padding: 12px 22px 10px 18px;">
|
||||
<!--<div style="padding: 0px 5px;"><el-cascader clearable v-model="params.type" :options="typeList"></el-cascader></div>-->
|
||||
<div class="uc-center-page" style="margin-right:30px">我的提问</div>
|
||||
<div style="padding: 0px 5px;">
|
||||
<el-select v-model="queryObj.isResolve" style="width: 110px;" clearable placeholder="状态">
|
||||
<el-select v-model="queryObj.isResolve" class="uc-select" clearable placeholder="状态">
|
||||
<el-option label="全部" value=""></el-option>
|
||||
<el-option label="待解决" :value="false"></el-option>
|
||||
<el-option label="已解决" :value="true"></el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
<div style="padding: 0px 5px;"><el-input clearable placeholder="搜索问题" v-model="queryObj.keyWord"></el-input></div>
|
||||
<div style="padding: 0px 5px;"><el-button icon="el-icon-search" @click="getList" type="primary" >搜索</el-button></div>
|
||||
<div style="padding-left:5px"><el-button type="primary" icon="el-icon-refresh-right" @click="reset">重置</el-button></div>
|
||||
<div style="padding: 0px 6px;"><el-input class="uc-input" clearable placeholder="搜索问题" v-model="queryObj.keyWord"></el-input></div>
|
||||
<div style="padding: 0px 6px;"><el-button icon="el-icon-search" class="search-btn" @click="getList" type="primary" >搜索</el-button></div>
|
||||
<div style="padding-left:5px"><el-button type="primary" class="search-btn" icon="el-icon-refresh-right" @click="reset">重置</el-button></div>
|
||||
</div>
|
||||
</div>
|
||||
<div style="padding: 12px 32px 10px 32px;"><el-button type="primary" style="width: 89px;height: 38px;" icon="el-icon-plus" @click="$refs.addQuestion.askQuestionDialog = true" size="small">提问题</el-button></div>
|
||||
@@ -46,9 +47,10 @@
|
||||
></el-pagination>
|
||||
</div>
|
||||
<div v-else>
|
||||
<div v-if="qaList.length == 0">
|
||||
<div v-if="isSearh" class="zan-wu">没有查询到相关内容</div>
|
||||
<div v-else class="zan-wu">暂无数据</div>
|
||||
<div v-if="qaList.length == 0" class="home-no-list">
|
||||
<img class="img" style="width:360px;height:226px" src="/images/homeWu/no-madel.png" alt="" srcset="">
|
||||
<p class="text" v-if="isSearh" style="color: #333333;margin-top:50px;font-size: 14px">没有查询到相关内容</p>
|
||||
<p class="text" v-else style="color: #333333;margin-top:50px;font-size: 14px">你还没有提问问题哦~</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -2,9 +2,10 @@
|
||||
<div>
|
||||
<div style="display: flex;justify-content:space-between; padding: 12px 32px 10px 22px;">
|
||||
<div style="display: flex;justify-content: flex-start;">
|
||||
<div>
|
||||
<el-select v-model="courseType" clearable placeholder="类型">
|
||||
<el-option label="全部" value='1'></el-option>
|
||||
<div class="uc-center-page">我的报名</div>
|
||||
<div style="margin-left:32px">
|
||||
<el-select v-model="courseType" class="uc-select" clearable placeholder="类型">
|
||||
<el-option label="全部类型" value='1'></el-option>
|
||||
<!-- <el-option label="微课" :value="10"></el-option> -->
|
||||
<el-option label="录播课" :value="20"></el-option>
|
||||
<!-- <el-option label="在线课" value="online-course"></el-option> -->
|
||||
@@ -14,41 +15,57 @@
|
||||
<el-option label="学习项目" :value="40"></el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
<el-select style="margin-left:10px" v-model="status" clearable placeholder="学习进度">
|
||||
<el-option label="全部" value='0'></el-option>
|
||||
<el-select style="margin-left:12px" class="uc-select" v-model="status" clearable placeholder="学习进度">
|
||||
<el-option label="所有进度" value='0'></el-option>
|
||||
<el-option label="未开始" :value="1"></el-option>
|
||||
<el-option label="进行中" :value="2"></el-option>
|
||||
<el-option label="已完成" :value="9"></el-option>
|
||||
<!-- <el-option label="已停用" :value="3"></el-option> -->
|
||||
</el-select>
|
||||
<div style="padding-left: 10px;"><el-input v-model="params.courseName" clearable placeholder="搜索名称"></el-input></div>
|
||||
<div style="padding-left: 10px;"><el-button type="primary" icon="el-icon-search" @click="searchData()">搜索</el-button></div>
|
||||
<div style="padding-left: 10px"><el-button type="primary" icon="el-icon-refresh-right" @click="reset()">重置</el-button></div>
|
||||
<div style="padding-left: 12px;"><el-input class="uc-input" v-model="params.courseName" clearable placeholder="搜索名称"></el-input></div>
|
||||
<div style="padding-left: 12px;"><el-button type="primary" class="search-btn" icon="el-icon-search" @click="searchData()">搜索</el-button></div>
|
||||
<div style="padding-left: 12px"><el-button type="primary" class="search-btn" icon="el-icon-refresh-right" @click="reset()">重置</el-button></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="uc-list" v-loading="loading">
|
||||
<div class="uc-course" v-for="(item,idx) in pageChange" @click="jumpRouter(item)" :key="idx">
|
||||
<div class="uc-course-img" style="width: 212px;height:119px">
|
||||
<div class="uc-course-img" style="width: 260px;height:144px">
|
||||
<course-image :course="item"></course-image>
|
||||
<div class="uc-type">
|
||||
<span v-if="item.courseType==10">录播</span>
|
||||
<span v-if="item.courseType==20">录播</span>
|
||||
<span v-if="item.courseType==30">线下课</span>
|
||||
<span v-if="item.courseType==40">学习项目</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="uc-course-info">
|
||||
<div class="uc-course-name" style="cursor: pointer;">
|
||||
<div>
|
||||
<span v-if="item.courseType==10" class="uc-course-type2">录播</span>
|
||||
<span v-if="item.courseType==20" class="uc-course-type2">录播</span>
|
||||
<span v-if="item.courseType==30" class="uc-course-type3">线下课</span>
|
||||
<span v-if="item.courseType==40" class="uc-course-type4">学习项目</span>
|
||||
</div>
|
||||
|
||||
<div style="flex:1;">
|
||||
<a v-html="$keywordActiveShow(item.courseName,params.courseName)" class="uc-title two-line-ellipsis"></a>
|
||||
</div>
|
||||
</div>
|
||||
<div style="width: 80%;margin-top:38px"><el-progress :percentage="item.progress"></el-progress></div>
|
||||
<div class="uc-course-text">报名时间:{{item.addTime}}</div>
|
||||
<div style="padding-top:6px" class="uc-course-text"><i class="el-icon-time" style="margin-right:4px"></i>报名时间:{{item.addTime}}</div>
|
||||
<div style="width: 80%;margin-top: 20px;display: flex;">
|
||||
<div style="color: #333333;font-size: 14px;">当前进度:</div>
|
||||
<div style="width:170px;padding-top: 5px;">
|
||||
<el-progress :percentage="item.progress" color="#FFA050"></el-progress>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="uc-course-btns">
|
||||
<div style="text-align: right;">
|
||||
<el-button class="del" @click.stop="delItem(item,idx)" type="text" icon="el-icon-delete" size="mini" title="删除"></el-button>
|
||||
<!-- <el-button class="del" @click.stop="delItem(item,idx)" type="text" icon="el-icon-delete" size="mini" title="删除"></el-button> -->
|
||||
<el-dropdown>
|
||||
<span class="el-dropdown-link">
|
||||
<svg-icon style="margin-right: 0;font-size:26px;" icon-class="spot"></svg-icon>
|
||||
</span>
|
||||
<el-dropdown-menu slot="dropdown" class="dropdown-box">
|
||||
<el-dropdown-item command="a">
|
||||
<el-button class="del" @click.stop="delItem(item,idx)" type="text" icon="el-icon-delete" size="mini" title="删除"></el-button>
|
||||
</el-dropdown-item>
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
</div>
|
||||
<span @click.stop="jumpRouter(item)">
|
||||
<el-button style="margin-top:30px" v-if="item.progress==0" type="primary" size="small">开始学习</el-button>
|
||||
@@ -73,9 +90,12 @@
|
||||
<span v-if="dataList.length==0">正在加载数据...</span>
|
||||
<span v-else>查询中...</span>
|
||||
</div>
|
||||
<div v-else >
|
||||
<span v-if="dataList.length==0">当前列表无数据</span>
|
||||
<span v-else-if="couresList.length==0" >未找到您要搜索的内容</span>
|
||||
<div v-else class="home-no-list">
|
||||
<!-- <span v-if="dataList.length==0">当前列表无数据</span>
|
||||
<span v-else-if="couresList.length==0" >未找到您要搜索的内容</span> -->
|
||||
<img v-if="dataList.length==0 || couresList.length==0" class="img" style="width:360px;height:226px" src="/images/homeWu/no-madel.png" alt="" srcset="">
|
||||
<p v-if="dataList.length==0" class="text" style="color: #333333;margin-top:50px;font-size: 14px">你还没有报名课程哦~</p>
|
||||
<p v-else-if="couresList.length==0" class="text" style="color: #333333;margin-top:50px;font-size: 14px">未找到您要搜索的内容</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -151,7 +171,7 @@ computed: {
|
||||
if(item.isOld){
|
||||
apiBoeCourse.delLearning(item.kid).then(res=>{
|
||||
if(res.status==200){
|
||||
this.$message({ type: 'success', message: '删除成功!' });
|
||||
this.$message({ type: 'success',center: true, message: '课程删除成功!' });
|
||||
this.couresList.forEach((ic,index)=>{
|
||||
if(item.kid == ic.kid) {
|
||||
this.couresList.splice(index,1);
|
||||
@@ -413,6 +433,7 @@ computed: {
|
||||
}
|
||||
.uc-list{
|
||||
padding-left: 22px;
|
||||
margin-top: 30px;
|
||||
}
|
||||
.uc-course-type1{
|
||||
width: 58px;
|
||||
@@ -467,22 +488,38 @@ computed: {
|
||||
.uc-course {
|
||||
display: flex;
|
||||
justify-content: space-around;
|
||||
border-bottom: 1px solid #E8E8E8;
|
||||
// border-bottom: 1px solid #E8E8E8;
|
||||
margin-right: 32px;
|
||||
padding: 20px 0px 15px 0px ;
|
||||
padding: 20px 0px 25px 0px ;
|
||||
cursor: pointer;
|
||||
.uc-course-img {
|
||||
width: 200px;
|
||||
img {
|
||||
width: 200px;
|
||||
border: 1px solid #f4f4f5;
|
||||
position: relative;
|
||||
width: 260px;
|
||||
::v-deep img {
|
||||
// width: 200px;
|
||||
// border: 1px solid #f4f4f5;
|
||||
border-radius: 8px;
|
||||
}
|
||||
.uc-type{
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right:0;
|
||||
width: 60px;
|
||||
height: 24px;
|
||||
line-height: 24px;
|
||||
text-align: center;
|
||||
background: #F99000;
|
||||
border-radius: 2px 4px 2px 16px;
|
||||
color: #fff;
|
||||
font-size: 12px;
|
||||
font-weight: 600;
|
||||
}
|
||||
}
|
||||
.uc-course-info {
|
||||
flex: 1;
|
||||
margin-top: -3px;
|
||||
line-height: 28px;
|
||||
padding: 0px 10px;
|
||||
padding: 0px 25px;
|
||||
.uc-course-name {
|
||||
display: flex;
|
||||
span{
|
||||
@@ -491,7 +528,7 @@ computed: {
|
||||
margin-right: 8px;
|
||||
}
|
||||
font-size: 18px;
|
||||
font-weight: 700;
|
||||
font-weight: 600;
|
||||
color: #333;
|
||||
}
|
||||
.uc-course-text {
|
||||
|
||||
@@ -339,7 +339,7 @@
|
||||
tarValue = data[i].value;
|
||||
}
|
||||
}
|
||||
let p =Math.round((tarValue/total)*100)+'%';
|
||||
let p =total!= 0?Math.round((tarValue/total)*100)+'%':0 +'%';
|
||||
return ` ${p} ${name}`
|
||||
}
|
||||
},
|
||||
|
||||
@@ -2,12 +2,13 @@
|
||||
<!-- <Remark>
|
||||
1.测评界面实例图<br/>
|
||||
</Remark> -->
|
||||
<div style="padding:10px 0px 12px 2px">
|
||||
<div style="padding:10px 0px 12px 22px">
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-input clearable placeholder="搜索名称" v-model="keyword"></el-input>
|
||||
<el-button type="primary" icon="el-icon-search" @click="getData()">搜索</el-button>
|
||||
<el-button type="primary" icon="el-icon-refresh-right" @click="reset">重置</el-button>
|
||||
<span class="uc-center-page" style="margin-right:90px">我的测评</span>
|
||||
<el-input clearable placeholder="搜索名称" class="uc-input" v-model="keyword"></el-input>
|
||||
<el-button type="primary" icon="el-icon-search" class="search-btn" @click="getData()">搜索</el-button>
|
||||
<el-button type="primary" icon="el-icon-refresh-right" class="search-btn" @click="reset">重置</el-button>
|
||||
</el-col>
|
||||
<el-col :span="8" v-for="(item,index) in testList" :key="index">
|
||||
<!-- @click="textdetail(item)" -->
|
||||
@@ -41,13 +42,12 @@
|
||||
</el-pagination>
|
||||
</div>
|
||||
<div v-else>
|
||||
<div v-if="testList.length == 0">
|
||||
<div v-if="isSearh" class="zan-wu">没有查询到相关内容</div>
|
||||
<div v-else class="zan-wu">暂无数据</div>
|
||||
</div>
|
||||
<div v-if="testList.length == 0" class="home-no-list">
|
||||
<img class="img" style="width:360px;height:226px" src="/images/homeWu/no-madel.png" alt="" srcset="">
|
||||
<p class="text" style="color: #333333;margin-top:50px;font-size: 14px">暂无课程,请优先学习其它课程吧~</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import apiBoeCourse from '@/api/boe/course.js';
|
||||
|
||||
Reference in New Issue
Block a user