我的收藏笔记tab

This commit is contained in:
zhaofang
2022-10-18 15:10:36 +08:00
parent e5ffb85bc4
commit c06abdab67
9 changed files with 191 additions and 15 deletions

View File

@@ -17,7 +17,7 @@
<!-- <span>收藏时间{{ item.time || item.favoritesTime | timeFilter }}</span> -->
</div>
<div class="article-info-summary two-line-ellipsis">{{ item.summary || item.content}}</div>
<interactBar :type="2" :readonly="true" :data="items" :views="false" :shares="false"></interactBar>
<interactBar :type="2" :readonly="true" :data="item" :views="false" :shares="false"></interactBar>
</div>

View File

@@ -21,7 +21,7 @@
<router-link :to="'/case/detail?id='+item.cases.id" > {{item.cases.summary}}</router-link>
</div>
<div>
<interactBar :type="3" :readonly="true" :data="items" :views="false" :shares="false"></interactBar>
<interactBar :type="3" :readonly="true" :data="item" :views="false" :shares="false"></interactBar>
</div>

View File

@@ -48,7 +48,7 @@
</template>
<script>
import interactBar from '@/components/Portal/interactBar.vue';
// import interactBar from '@/components/Portal/interactBar.vue';
import courseImage from '@/components/Course/courseImage.vue';
export default {
name: 'comStudyItem',
@@ -75,9 +75,12 @@ export default {
};
},
components: {
interactBar,
// interactBar,
courseImage
},
mounted() {
console.log(this.items,'items');
},
methods: {
coudetail(item) {
// let routeData = this.$router.resolve({ path: '/course/detail?id=' + item.objId });
@@ -103,27 +106,27 @@ export default {
contentTypeFilter(value) {
let obj = {};
switch (value) {
case '10': {
case 10: {
obj.class = 'uc-course-type2';
obj.text = '录播';
break;
}
case '21': {
case 21: {
obj.class = 'uc-course-type2';
obj.text = '直播';
break;
}
case '20': {
case 20: {
obj.class = 'uc-course-type2';
obj.text = '录播';
break;
}
case '30': {
case 30: {
obj.class = 'uc-course-type2';
obj.text = '面授';
break;
}
case '90': {
case 90: {
obj.class = 'uc-course-type2';
obj.text = '混合';
break;

View File

@@ -0,0 +1,109 @@
<template>
<div class="note-list">
<ul v-if="list.length > 0">
<li class="note-list-index" v-for="item in list" :key="item.id">
<p style="margin-bottom:18px;">
<span style="font-size: 16px;font-weight: 600;color: #333;">{{item.courseName}}</span> <span class="qa-bq">#笔记#</span>
<span class="follow-hide" style="float:right">
<el-button @click.stop="delCollectItem(item)" type="text" icon="el-icon-star-on" style="color:#8590A6">取消收藏</el-button>
</span>
</p>
<!-- <h6 class="note-title-info follow-home-title">
</h6> -->
<p class="note-text">
{{item.content}}
</p>
<div>
<interactBar :type="6" :data="item" :shares="false" :views="false" :readonly="true"></interactBar>
</div>
</li>
</ul>
<div v-else class="home-no-list">
<img class="img" :src="`${webBaseUrl}/images/homeWu/no-note.png`" alt="" srcset="">
<p class="text">还没有笔记</p>
</div>
</div>
</template>
<script>
import interactBar from "@/components/Portal/interactBar.vue";
// import author from "@/components/Portal/authorInfo.vue";
export default{
name:"NoteList",
components: {
interactBar,
// timeShow,
// author
},
props:{
list:{
type:Array,
default:()=>[]
},
isDynamic:{
type:Boolean,
default:false,
},
personal:{
type:Boolean,
default:false,
}
},
data(){
return{
noteList:[]
}
},
mounted() {
},
methods:{
delCollectItem(item) {
this.$confirm('您确定要取消收藏吗?', '取消提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
})
.then(() => {
this.$emit('confirm', item);
// apiFavorites.del(item){
// console.log(this.$parent,"我拿到的父组件")
// }
})
.catch(() => {});
},
emitHide(id) {
this.$emit('hideIndex',id)
},
//展示全部
changeIsAll(item) {
item.isAll = !item.isAll;
},
}
}
</script>
<style lang="scss" scoped>
.note-list{
ul{
margin: 0;
}
.note-list-index{
padding: 30px 0;
border-bottom: 1px solid rgba($color: #999999, $alpha: 0.2) !important;
}
.note-title-info{
margin: 0;
margin-bottom: 16px;
}
.note-text{
margin-bottom: 18px;
font-size: 14px;
color: #333330;
line-height: 20px;
}
}
</style>

View File

@@ -15,7 +15,7 @@
<div class="one-line-ellipsis" style="color: #333330;font-size: 14px;padding-top:1px">{{ item.question.bestAnswer }}</div>
</div>
<interactBar :type="4" :readonly="true" :data="items" :views="false" :shares="false"></interactBar>
<interactBar :type="4" :readonly="true" :data="item" :views="false" :shares="false"></interactBar>
<!-- <div class="article-info-tools"> -->
<!-- <authorInfo :avatar="item.avatar" :name="item.name" :info="item.orgInfo" :sex="item.sex"></authorInfo> -->

View File

@@ -9,6 +9,7 @@
</div>
<img class="banner-img" style=" margin: 0 auto;" :src=" fileBaseUrl + item.image" alt="">
</swiper-slide>
<div class="swiper-pagination" slot="pagination"></div>
</swiper>
</div>
<div class="personal-panel">
@@ -969,7 +970,7 @@
right: 8%;
top: 105px;
// background: url('/images/homeWu/personal-bgimg.png');
background: rgba($color: #fff, $alpha: 0.2);
background: rgba($color: #fff, $alpha: 0.46);
border-radius: 8px;
z-index: 999;
backdrop-filter: blur(10px);

View File

@@ -12,7 +12,7 @@
</el-col>
<el-col :span="8" v-for="(item,index) in testList" :key="index">
<!-- @click="textdetail(item)" -->
<div>
<div style="text-align: center;">
<!-- @click="jumpRouter(item)" -->
<section>
<!-- <div @click="hasPermission(item)">

View File

@@ -99,6 +99,23 @@
</div>
</div>
</el-tab-pane>
<el-tab-pane label="笔记" name="note">
<div>
<note-list @confirm="confirm" :list="noteList.list"></note-list>
</div>
<div style="text-align: center;margin-top:50px;" v-if="caseList.list.length > 0">
<el-pagination
background
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="noteList.pageIndex"
:page-sizes="[10, 20, 30, 40]"
:page-size="noteList.pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="noteList.count"
></el-pagination>
</div>
</el-tab-pane>
<el-tab-pane label="案例" name="case">
<div>
<case-items @confirm="confirm" :items="caseList.list"></case-items>
@@ -199,15 +216,17 @@
import articleItems from '@/components/Article/collectList.vue';
import courseItems from '@/components/Course/collectItem.vue';
import caseItems from '@/components/Case/collectList.vue';
import noteList from '@/components/HomePage/favoritesNote.vue'
import qaItems from '@/components/Qa/favoritesQaList.vue';
import apiFavorite from '@/api/modules/favorites.js';
import apiUser from '@/api/system/user.js';
import apiNote from '@/api/phase2/note.js';
import apiCourse from "@/api/modules/coursePortal.js";
import courseImage from '@/components/Course/courseImage.vue';
import {cutFullName} from "@/utils/tools.js";
export default {
name: 'myShareIndex',
components: { articleItems, courseItems, qaItems, courseImage,caseItems },
components: { articleItems, courseItems, qaItems, courseImage,caseItems,noteList},
data() {
return {
isSearh:false,
@@ -239,6 +258,12 @@ export default {
count: 0,
list: []
},
noteList:{
pageIndex: 1,
pageSize: 10,
count: 0,
list: []
},
articleList: {
type: '',
pageIndex: 1,
@@ -270,6 +295,9 @@ export default {
if (this.tabName == 'case') {
this.findCase();
}
if (this.tabName == 'note') {
this.findNote();
}
if (this.tabName == 'article') {
this.findArticle();
}
@@ -294,6 +322,9 @@ export default {
if (this.tabName == 'case') {
this.findCase();
}
if (this.tabName == 'note') {
this.findNote();
}
if (this.tabName == 'article') {
this.findArticle();
}
@@ -325,6 +356,9 @@ export default {
if (tab.name == 'case') {
this.findCase();
}
if (this.tabName == 'note') {
this.findNote();
}
if (tab.name == 'article') {
this.findArticle();
}
@@ -345,6 +379,9 @@ export default {
this.caseList.pageSize = value;
this.findCase();
}
if (this.tabName == 'note') {
this.findNote();
}
if (this.tabName == 'article') {
this.articleList.pageSize = value;
this.findArticle();
@@ -368,6 +405,10 @@ export default {
this.caseList.pageIndex = value;
this.findCase();
}
if (this.tabName == 'note') {
this.noteList.pageIndex = value;
this.findNote();
}
if (this.tabName == 'article') {
this.articleList.pageIndex = value;
this.findArticle();
@@ -381,6 +422,25 @@ export default {
this.findAll();
}
},
findNote() {
let query = {
paegIndex:this.noteList.pageIndex,
pageSize:this.noteList.pageSize,
dataType:1,
// orderType 排序顺序 顺序倒叙
// orderField 排序字段
keyword: this.keyword.trim()
}
apiNote.pagelist(query).then(res=>{
if(res.status==200){
console.log(res,'res');
this.noteList.count = res.result.count;
this.noteList.list = res.result.list;
console.log(this.noteList.list,'this.noteList.list ');
}
})
},
findAll() {
let query = {
pageIndex: this.dataList.pageIndex,
@@ -389,7 +449,7 @@ export default {
};
apiFavorite.queryAll(query).then(res=>{
if(res.status==200){
this.dataList.count=res.result.count
this.dataList.count=res.result.count;
if(res.result.length!=0){
let courseIds=[];
res.result.list.map(item=>{
@@ -692,6 +752,9 @@ export default {
if (this.tabName == 'case') {
this.findCase();
}
if (this.tabName == 'note') {
this.findNote();
}
if (this.tabName == 'article') {
this.findArticle();
}

View File

@@ -45,7 +45,7 @@
<span>{{current.end}}</span>
</div>
</div>
<div class="exp-table">
<div class="exp-table" style="margin-top:36px">
<div class="table-hear">
<div style="margin-left:5px">排名</div>
<div style="margin-left:5px">姓名</div>