This commit is contained in:
daihh
2022-09-30 16:59:49 +08:00
13 changed files with 185 additions and 94 deletions

View File

@@ -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);
}

View File

@@ -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

View File

@@ -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>

View File

@@ -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 {

View File

@@ -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}`
}
},

View File

@@ -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';