mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/learning-system-portal.git
synced 2025-12-15 22:06:43 +08:00
个人主页
This commit is contained in:
@@ -2,8 +2,9 @@
|
||||
<div class="answer-list">
|
||||
<ul v-if="list.length > 0">
|
||||
<li class="answer-list-index" v-for="item in list" :key="item.id">
|
||||
<p v-if="isDynamic" class="portal-summary-text" style="margin-bottom:18px"><span v-if="!personal">{{item.aname}}</span>{{item.cusInfo}} <span style="margin-left:28px">{{item.eventTime}}</span> <span v-if="personal" class="follow-hide" style="float:right"><svg-icon style="margin-right: 10px;font-size:22px;padding-top: 4px;" icon-class="eyes"></svg-icon>隐藏</span></p>
|
||||
<h6 class="answer-title-info follow-home-title">{{item.contentInfo}}
|
||||
<span class="follow-hide" style="float:right">
|
||||
<span class="follow-hide" style="float:right" v-if="!isDynamic && personal">
|
||||
<svg-icon style="margin-right: 10px;font-size:22px;padding-top: 4px;" icon-class="eyes"></svg-icon>隐藏
|
||||
</span>
|
||||
</h6>
|
||||
@@ -39,6 +40,14 @@
|
||||
list:{
|
||||
type:Array,
|
||||
default:()=>[]
|
||||
},
|
||||
isDynamic:{
|
||||
type:Boolean,
|
||||
default:false,
|
||||
},
|
||||
personal:{
|
||||
type:Boolean,
|
||||
default:false,
|
||||
}
|
||||
},
|
||||
data(){
|
||||
|
||||
@@ -2,8 +2,9 @@
|
||||
<div class="article-list">
|
||||
<ul v-if="list.length > 0">
|
||||
<li class="article-list-index" v-for="item in list" :key="item.id">
|
||||
<p v-if="isDynamic" class="portal-summary-text" style="margin-bottom:18px"><span v-if="!personal">{{item.aname}}</span>{{item.cusInfo}} <span style="margin-left:28px">{{item.eventTime}}</span> <span v-if="personal" class="follow-hide" style="float:right"><svg-icon style="margin-right: 10px;font-size:22px;padding-top: 4px;" icon-class="eyes"></svg-icon>隐藏</span></p>
|
||||
<h6 class="article-title-info follow-home-title">{{item.info.title || item.contentInfo}}
|
||||
<span class="follow-hide" style="float:right">
|
||||
<span class="follow-hide" style="float:right" v-if="!isDynamic && personal">
|
||||
<svg-icon style="margin-right: 10px;font-size:22px;padding-top: 4px;" icon-class="eyes"></svg-icon>隐藏
|
||||
</span>
|
||||
</h6>
|
||||
@@ -43,6 +44,14 @@
|
||||
list:{
|
||||
type:Array,
|
||||
default:()=>[]
|
||||
},
|
||||
isDynamic:{
|
||||
type:Boolean,
|
||||
default:false,
|
||||
},
|
||||
personal:{
|
||||
type:Boolean,
|
||||
default:false,
|
||||
}
|
||||
},
|
||||
data(){
|
||||
|
||||
@@ -3,13 +3,14 @@
|
||||
<div class="data-content" v-if="list.length >0">
|
||||
<div :span="24" v-for="item in list" :key="item.id" class="case-list">
|
||||
<div class="case-info">
|
||||
<p v-if="isDynamic" class="portal-summary-text"><span v-if="!personal">{{item.aname}}</span>{{item.cusInfo}} <span style="margin-left:28px">{{item.eventTime}}</span> <span v-if="personal" class="follow-hide" style="float:right"><svg-icon style="margin-right: 10px;font-size:22px;padding-top: 4px;" icon-class="eyes"></svg-icon>隐藏</span></p>
|
||||
<div class="case-info-cont">
|
||||
<router-link :to="'/case/detail?id='+item.info.id">
|
||||
<div class="case-info-title">
|
||||
<div class="case-titdiv">
|
||||
<span class="case-tittext" v-html="item.info.title || item.contentInfo"></span>
|
||||
<div class="follow-hide">
|
||||
<svg-icon style="margin-right: 10px;font-size:22px;padding-top: 4px;" icon-class="eyes"></svg-icon>隐藏
|
||||
<div class="follow-hide" style="width:59px" v-if="!isDynamic && personal">
|
||||
<svg-icon style="margin-right: 10px;font-size:22px;padding-top: 4px;" icon-class="eyes"></svg-icon>隐藏
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -51,6 +52,7 @@
|
||||
<script>
|
||||
import interactBar from "@/components/Portal/interactBar.vue";
|
||||
import author from "@/components/Portal/authorInfo.vue";
|
||||
import { mapGetters,mapActions } from 'vuex';
|
||||
export default{
|
||||
name:"caselist",
|
||||
components: {
|
||||
@@ -58,10 +60,21 @@
|
||||
// timeShow,
|
||||
author
|
||||
},
|
||||
computed: {
|
||||
...mapGetters(['userInfo','majorTypeMap','orgDomainMap']),
|
||||
},
|
||||
props:{
|
||||
list:{
|
||||
type:Array,
|
||||
default:()=>[]
|
||||
},
|
||||
isDynamic:{
|
||||
type:Boolean,
|
||||
default:false,
|
||||
},
|
||||
personal:{
|
||||
type:Boolean,
|
||||
default:false,
|
||||
}
|
||||
},
|
||||
data(){
|
||||
@@ -72,6 +85,10 @@
|
||||
mounted() {
|
||||
},
|
||||
methods:{
|
||||
majorTypeTranslate(code){
|
||||
if(code==''){return '';}
|
||||
return this.majorTypeMap.get(code);
|
||||
},
|
||||
//展示全部
|
||||
displayAll(item) {
|
||||
if (!item.isAll && item.info.summary && item.info.summary.length > 180) {
|
||||
@@ -83,22 +100,9 @@
|
||||
item.isAll = !item.isAll;
|
||||
},
|
||||
orgDomainTranslate(code){ // 组织领域翻译
|
||||
if(code == '') {
|
||||
return
|
||||
}
|
||||
return '组织领域';
|
||||
if(code==''){return '';}
|
||||
return this.orgDomainMap.get(code);
|
||||
},
|
||||
majorTypeTranslate(code){ // 专业分类翻译
|
||||
let name = '';
|
||||
// let data = this.Profess.find(item => item.code == code);
|
||||
// if(data == undefined){
|
||||
// name = '';
|
||||
// } else {
|
||||
// name = data.name;
|
||||
// }
|
||||
return '专业分类';
|
||||
},
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@@ -127,6 +131,7 @@ div {
|
||||
}
|
||||
}
|
||||
.case-titdiv {
|
||||
width: 100%;
|
||||
line-height: 30px;
|
||||
display: flex;
|
||||
.case-tittext {
|
||||
@@ -134,7 +139,7 @@ div {
|
||||
font-weight: 600;
|
||||
margin-top: 16px;
|
||||
color: #333333;
|
||||
width: 95%;
|
||||
width: 100%;
|
||||
display: -webkit-box;
|
||||
overflow: hidden;
|
||||
word-break: break-all;
|
||||
@@ -156,7 +161,7 @@ div {
|
||||
}
|
||||
}
|
||||
.case-list:last-child {
|
||||
border-bottom: none;
|
||||
// border-bottom: none;
|
||||
}
|
||||
|
||||
.case-list {
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
<div class="">
|
||||
<ul class="data-info-ul" v-if="list.length > 0">
|
||||
<li class="data-info" v-for="item in list" :key="item.id">
|
||||
<p v-if="isDynamic" class="portal-summary-text" style="margin-bottom:18px"><span v-if="!personal">{{item.aname}}</span>{{item.cusInfo}} <span style="margin-left:28px">{{item.eventTime}}</span> <span v-if="personal" class="follow-hide" style="float:right"><svg-icon style="margin-right: 10px;font-size:22px;padding-top: 4px;" icon-class="eyes"></svg-icon>隐藏</span></p>
|
||||
<div style="width:254px">
|
||||
<course-image width="254px" height="144px" :course="item.info"></course-image>
|
||||
</div>
|
||||
@@ -14,7 +15,7 @@
|
||||
<p class="portal-time">最新一次学习时间:2022-5-28 22:30:28</p>
|
||||
</div>
|
||||
<div style="width:150px">
|
||||
<div class="follow-hide" style="text-align: right;">
|
||||
<div class="follow-hide" style="text-align: right;" v-if="!isDynamic && personal">
|
||||
<svg-icon style="margin-right: 10px;font-size:22px;padding-top: 4px;" icon-class="eyes"></svg-icon>隐藏
|
||||
</div>
|
||||
<div class="btn-right">
|
||||
@@ -45,6 +46,14 @@
|
||||
list:{
|
||||
type:Array,
|
||||
default:()=>[]
|
||||
},
|
||||
isDynamic:{
|
||||
type:Boolean,
|
||||
default:false,
|
||||
},
|
||||
personal:{
|
||||
type:Boolean,
|
||||
default:false,
|
||||
}
|
||||
},
|
||||
methods:{
|
||||
|
||||
@@ -19,13 +19,14 @@
|
||||
</div>
|
||||
<div v-else class="home-no-list">
|
||||
<img class="img" style="width:186px;height:160px" src="/images/homeWu/no-follow.png" alt="" srcset="">
|
||||
<p class="text">还没有笔记</p>
|
||||
<p class="text">还没有关注的人</p>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import interactBar from "@/components/Portal/interactBar.vue";
|
||||
import author from "@/components/Portal/authorInfo.vue";
|
||||
import apiFollow from "@/api/phase2/userfollow.js"
|
||||
export default{
|
||||
name:"articleList",
|
||||
components: {
|
||||
@@ -37,12 +38,43 @@ import author from "@/components/Portal/authorInfo.vue";
|
||||
return{
|
||||
followList:[],
|
||||
active:1,
|
||||
pageId:'',
|
||||
pageList:[],
|
||||
mypageList:[],
|
||||
page:{
|
||||
pageIndex:1,
|
||||
pageSize:10,
|
||||
aid:''
|
||||
}
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.pageId = this.$route.query.id;
|
||||
this.getMyPage();
|
||||
this.getPage();
|
||||
},
|
||||
methods:{
|
||||
//展示全部
|
||||
tagTab(num) {
|
||||
this.active = num;
|
||||
},
|
||||
getMyPage() {//关注我的,关注他的
|
||||
this.page.aid = this.pageId;
|
||||
apiFollow.mypage(this.page).then(res=>{
|
||||
if(res.status== 200) {
|
||||
this.count = res.result.count;
|
||||
this.mypageList = res.result.list;
|
||||
}
|
||||
})
|
||||
},
|
||||
getPage() { //我关注的,他关注的
|
||||
this.page.aid = this.pageId;
|
||||
apiFollow.page(this.page).then(res=>{
|
||||
if(res.status== 200) {
|
||||
this.count = res.result.count;
|
||||
this.pageList = res.result.list;
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
<div class="note-list">
|
||||
<ul v-if="list.length > 0">
|
||||
<li class="note-list-index" v-for="item in list" :key="item.id">
|
||||
<!-- {{item}} -->
|
||||
<p v-if="isDynamic" class="portal-summary-text" style="margin-bottom:18px"><span v-if="!personal">{{item.aname}}</span>{{item.cusInfo}} <span style="margin-left:28px">{{item.eventTime}}</span> <span v-if="personal" class="follow-hide" style="float:right"><svg-icon style="margin-right: 10px;font-size:22px;padding-top: 4px;" icon-class="eyes"></svg-icon>隐藏</span></p>
|
||||
<h6 class="note-title-info follow-home-title">{{item.contentInfo}} <span style="color: #333333;font-weight: 400;font-size: 14px;margin-left: 20px;"></span> <span class="score-info" style="margin-left:22px">4.8分</span>
|
||||
<span class="follow-hide" style="float:right">
|
||||
<span class="follow-hide" style="float:right" v-if="!isDynamic && personal">
|
||||
<svg-icon style="margin-right: 10px;font-size:22px;padding-top: 4px;" icon-class="eyes"></svg-icon>隐藏
|
||||
</span>
|
||||
</h6>
|
||||
@@ -37,6 +37,14 @@
|
||||
list:{
|
||||
type:Array,
|
||||
default:()=>[]
|
||||
},
|
||||
isDynamic:{
|
||||
type:Boolean,
|
||||
default:false,
|
||||
},
|
||||
personal:{
|
||||
type:Boolean,
|
||||
default:false,
|
||||
}
|
||||
},
|
||||
data(){
|
||||
@@ -44,6 +52,8 @@
|
||||
noteList:[]
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
},
|
||||
methods:{
|
||||
//展示全部
|
||||
changeIsAll(item) {
|
||||
|
||||
@@ -2,8 +2,9 @@
|
||||
<div class="put-list">
|
||||
<ul v-if="list.length > 0">
|
||||
<li class="put-list-index" v-for="item in list" :key="item.id">
|
||||
<p v-if="isDynamic" class="portal-summary-text" style="margin-bottom:18px;margin-top:10px"><span v-if="!personal">{{item.aname}}</span>{{item.cusInfo}} <span style="margin-left:28px">{{item.eventTime}}</span> <span v-if="personal" class="follow-hide" style="float:right"><svg-icon style="margin-right: 10px;font-size:22px;padding-top: 4px;" icon-class="eyes"></svg-icon>隐藏</span></p>
|
||||
<h6 class="put-title-info follow-home-title">{{item.info.title || item.contentInfo}}
|
||||
<span class="portal-time follow-hide" style="float:right">
|
||||
<span class="portal-time follow-hide" style="float:right" v-if="!isDynamic && personal">
|
||||
<svg-icon style="margin-right: 10px;font-size:22px;padding-top: 4px;" icon-class="eyes"></svg-icon>隐藏
|
||||
</span>
|
||||
</h6>
|
||||
@@ -34,6 +35,14 @@
|
||||
list:{
|
||||
type:Array,
|
||||
default:()=>[]
|
||||
},
|
||||
isDynamic:{
|
||||
type:Boolean,
|
||||
default:false,
|
||||
},
|
||||
personal:{
|
||||
type:Boolean,
|
||||
default:false,
|
||||
}
|
||||
},
|
||||
data(){
|
||||
|
||||
Reference in New Issue
Block a user