mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/learning-system-portal.git
synced 2025-12-13 12:56:43 +08:00
我的收藏笔记tab
This commit is contained in:
@@ -17,7 +17,7 @@
|
|||||||
<!-- <span>收藏时间:{{ item.time || item.favoritesTime | timeFilter }}</span> -->
|
<!-- <span>收藏时间:{{ item.time || item.favoritesTime | timeFilter }}</span> -->
|
||||||
</div>
|
</div>
|
||||||
<div class="article-info-summary two-line-ellipsis">{{ item.summary || item.content}}</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>
|
</div>
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
<router-link :to="'/case/detail?id='+item.cases.id" > {{item.cases.summary}}</router-link>
|
<router-link :to="'/case/detail?id='+item.cases.id" > {{item.cases.summary}}</router-link>
|
||||||
</div>
|
</div>
|
||||||
<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>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -48,7 +48,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import interactBar from '@/components/Portal/interactBar.vue';
|
// import interactBar from '@/components/Portal/interactBar.vue';
|
||||||
import courseImage from '@/components/Course/courseImage.vue';
|
import courseImage from '@/components/Course/courseImage.vue';
|
||||||
export default {
|
export default {
|
||||||
name: 'comStudyItem',
|
name: 'comStudyItem',
|
||||||
@@ -75,9 +75,12 @@ export default {
|
|||||||
};
|
};
|
||||||
},
|
},
|
||||||
components: {
|
components: {
|
||||||
interactBar,
|
// interactBar,
|
||||||
courseImage
|
courseImage
|
||||||
},
|
},
|
||||||
|
mounted() {
|
||||||
|
console.log(this.items,'items');
|
||||||
|
},
|
||||||
methods: {
|
methods: {
|
||||||
coudetail(item) {
|
coudetail(item) {
|
||||||
// let routeData = this.$router.resolve({ path: '/course/detail?id=' + item.objId });
|
// let routeData = this.$router.resolve({ path: '/course/detail?id=' + item.objId });
|
||||||
@@ -103,27 +106,27 @@ export default {
|
|||||||
contentTypeFilter(value) {
|
contentTypeFilter(value) {
|
||||||
let obj = {};
|
let obj = {};
|
||||||
switch (value) {
|
switch (value) {
|
||||||
case '10': {
|
case 10: {
|
||||||
obj.class = 'uc-course-type2';
|
obj.class = 'uc-course-type2';
|
||||||
obj.text = '录播';
|
obj.text = '录播';
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case '21': {
|
case 21: {
|
||||||
obj.class = 'uc-course-type2';
|
obj.class = 'uc-course-type2';
|
||||||
obj.text = '直播';
|
obj.text = '直播';
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case '20': {
|
case 20: {
|
||||||
obj.class = 'uc-course-type2';
|
obj.class = 'uc-course-type2';
|
||||||
obj.text = '录播';
|
obj.text = '录播';
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case '30': {
|
case 30: {
|
||||||
obj.class = 'uc-course-type2';
|
obj.class = 'uc-course-type2';
|
||||||
obj.text = '面授';
|
obj.text = '面授';
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case '90': {
|
case 90: {
|
||||||
obj.class = 'uc-course-type2';
|
obj.class = 'uc-course-type2';
|
||||||
obj.text = '混合';
|
obj.text = '混合';
|
||||||
break;
|
break;
|
||||||
|
|||||||
109
src/components/HomePage/favoritesNote.vue
Normal file
109
src/components/HomePage/favoritesNote.vue
Normal 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>
|
||||||
|
|
||||||
@@ -15,7 +15,7 @@
|
|||||||
|
|
||||||
<div class="one-line-ellipsis" style="color: #333330;font-size: 14px;padding-top:1px">{{ item.question.bestAnswer }}</div>
|
<div class="one-line-ellipsis" style="color: #333330;font-size: 14px;padding-top:1px">{{ item.question.bestAnswer }}</div>
|
||||||
</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"> -->
|
<!-- <div class="article-info-tools"> -->
|
||||||
<!-- <authorInfo :avatar="item.avatar" :name="item.name" :info="item.orgInfo" :sex="item.sex"></authorInfo> -->
|
<!-- <authorInfo :avatar="item.avatar" :name="item.name" :info="item.orgInfo" :sex="item.sex"></authorInfo> -->
|
||||||
|
|||||||
@@ -9,6 +9,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<img class="banner-img" style=" margin: 0 auto;" :src=" fileBaseUrl + item.image" alt="">
|
<img class="banner-img" style=" margin: 0 auto;" :src=" fileBaseUrl + item.image" alt="">
|
||||||
</swiper-slide>
|
</swiper-slide>
|
||||||
|
<div class="swiper-pagination" slot="pagination"></div>
|
||||||
</swiper>
|
</swiper>
|
||||||
</div>
|
</div>
|
||||||
<div class="personal-panel">
|
<div class="personal-panel">
|
||||||
@@ -969,7 +970,7 @@
|
|||||||
right: 8%;
|
right: 8%;
|
||||||
top: 105px;
|
top: 105px;
|
||||||
// background: url('/images/homeWu/personal-bgimg.png');
|
// background: url('/images/homeWu/personal-bgimg.png');
|
||||||
background: rgba($color: #fff, $alpha: 0.2);
|
background: rgba($color: #fff, $alpha: 0.46);
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
z-index: 999;
|
z-index: 999;
|
||||||
backdrop-filter: blur(10px);
|
backdrop-filter: blur(10px);
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8" v-for="(item,index) in testList" :key="index">
|
<el-col :span="8" v-for="(item,index) in testList" :key="index">
|
||||||
<!-- @click="textdetail(item)" -->
|
<!-- @click="textdetail(item)" -->
|
||||||
<div>
|
<div style="text-align: center;">
|
||||||
<!-- @click="jumpRouter(item)" -->
|
<!-- @click="jumpRouter(item)" -->
|
||||||
<section>
|
<section>
|
||||||
<!-- <div @click="hasPermission(item)">
|
<!-- <div @click="hasPermission(item)">
|
||||||
|
|||||||
@@ -99,6 +99,23 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</el-tab-pane>
|
</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">
|
<el-tab-pane label="案例" name="case">
|
||||||
<div>
|
<div>
|
||||||
<case-items @confirm="confirm" :items="caseList.list"></case-items>
|
<case-items @confirm="confirm" :items="caseList.list"></case-items>
|
||||||
@@ -199,15 +216,17 @@
|
|||||||
import articleItems from '@/components/Article/collectList.vue';
|
import articleItems from '@/components/Article/collectList.vue';
|
||||||
import courseItems from '@/components/Course/collectItem.vue';
|
import courseItems from '@/components/Course/collectItem.vue';
|
||||||
import caseItems from '@/components/Case/collectList.vue';
|
import caseItems from '@/components/Case/collectList.vue';
|
||||||
|
import noteList from '@/components/HomePage/favoritesNote.vue'
|
||||||
import qaItems from '@/components/Qa/favoritesQaList.vue';
|
import qaItems from '@/components/Qa/favoritesQaList.vue';
|
||||||
import apiFavorite from '@/api/modules/favorites.js';
|
import apiFavorite from '@/api/modules/favorites.js';
|
||||||
import apiUser from '@/api/system/user.js';
|
import apiUser from '@/api/system/user.js';
|
||||||
|
import apiNote from '@/api/phase2/note.js';
|
||||||
import apiCourse from "@/api/modules/coursePortal.js";
|
import apiCourse from "@/api/modules/coursePortal.js";
|
||||||
import courseImage from '@/components/Course/courseImage.vue';
|
import courseImage from '@/components/Course/courseImage.vue';
|
||||||
import {cutFullName} from "@/utils/tools.js";
|
import {cutFullName} from "@/utils/tools.js";
|
||||||
export default {
|
export default {
|
||||||
name: 'myShareIndex',
|
name: 'myShareIndex',
|
||||||
components: { articleItems, courseItems, qaItems, courseImage,caseItems },
|
components: { articleItems, courseItems, qaItems, courseImage,caseItems,noteList},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
isSearh:false,
|
isSearh:false,
|
||||||
@@ -239,6 +258,12 @@ export default {
|
|||||||
count: 0,
|
count: 0,
|
||||||
list: []
|
list: []
|
||||||
},
|
},
|
||||||
|
noteList:{
|
||||||
|
pageIndex: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
count: 0,
|
||||||
|
list: []
|
||||||
|
},
|
||||||
articleList: {
|
articleList: {
|
||||||
type: '',
|
type: '',
|
||||||
pageIndex: 1,
|
pageIndex: 1,
|
||||||
@@ -270,6 +295,9 @@ export default {
|
|||||||
if (this.tabName == 'case') {
|
if (this.tabName == 'case') {
|
||||||
this.findCase();
|
this.findCase();
|
||||||
}
|
}
|
||||||
|
if (this.tabName == 'note') {
|
||||||
|
this.findNote();
|
||||||
|
}
|
||||||
if (this.tabName == 'article') {
|
if (this.tabName == 'article') {
|
||||||
this.findArticle();
|
this.findArticle();
|
||||||
}
|
}
|
||||||
@@ -294,6 +322,9 @@ export default {
|
|||||||
if (this.tabName == 'case') {
|
if (this.tabName == 'case') {
|
||||||
this.findCase();
|
this.findCase();
|
||||||
}
|
}
|
||||||
|
if (this.tabName == 'note') {
|
||||||
|
this.findNote();
|
||||||
|
}
|
||||||
if (this.tabName == 'article') {
|
if (this.tabName == 'article') {
|
||||||
this.findArticle();
|
this.findArticle();
|
||||||
}
|
}
|
||||||
@@ -325,6 +356,9 @@ export default {
|
|||||||
if (tab.name == 'case') {
|
if (tab.name == 'case') {
|
||||||
this.findCase();
|
this.findCase();
|
||||||
}
|
}
|
||||||
|
if (this.tabName == 'note') {
|
||||||
|
this.findNote();
|
||||||
|
}
|
||||||
if (tab.name == 'article') {
|
if (tab.name == 'article') {
|
||||||
this.findArticle();
|
this.findArticle();
|
||||||
}
|
}
|
||||||
@@ -345,6 +379,9 @@ export default {
|
|||||||
this.caseList.pageSize = value;
|
this.caseList.pageSize = value;
|
||||||
this.findCase();
|
this.findCase();
|
||||||
}
|
}
|
||||||
|
if (this.tabName == 'note') {
|
||||||
|
this.findNote();
|
||||||
|
}
|
||||||
if (this.tabName == 'article') {
|
if (this.tabName == 'article') {
|
||||||
this.articleList.pageSize = value;
|
this.articleList.pageSize = value;
|
||||||
this.findArticle();
|
this.findArticle();
|
||||||
@@ -368,6 +405,10 @@ export default {
|
|||||||
this.caseList.pageIndex = value;
|
this.caseList.pageIndex = value;
|
||||||
this.findCase();
|
this.findCase();
|
||||||
}
|
}
|
||||||
|
if (this.tabName == 'note') {
|
||||||
|
this.noteList.pageIndex = value;
|
||||||
|
this.findNote();
|
||||||
|
}
|
||||||
if (this.tabName == 'article') {
|
if (this.tabName == 'article') {
|
||||||
this.articleList.pageIndex = value;
|
this.articleList.pageIndex = value;
|
||||||
this.findArticle();
|
this.findArticle();
|
||||||
@@ -381,6 +422,25 @@ export default {
|
|||||||
this.findAll();
|
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() {
|
findAll() {
|
||||||
let query = {
|
let query = {
|
||||||
pageIndex: this.dataList.pageIndex,
|
pageIndex: this.dataList.pageIndex,
|
||||||
@@ -389,7 +449,7 @@ export default {
|
|||||||
};
|
};
|
||||||
apiFavorite.queryAll(query).then(res=>{
|
apiFavorite.queryAll(query).then(res=>{
|
||||||
if(res.status==200){
|
if(res.status==200){
|
||||||
this.dataList.count=res.result.count
|
this.dataList.count=res.result.count;
|
||||||
if(res.result.length!=0){
|
if(res.result.length!=0){
|
||||||
let courseIds=[];
|
let courseIds=[];
|
||||||
res.result.list.map(item=>{
|
res.result.list.map(item=>{
|
||||||
@@ -692,6 +752,9 @@ export default {
|
|||||||
if (this.tabName == 'case') {
|
if (this.tabName == 'case') {
|
||||||
this.findCase();
|
this.findCase();
|
||||||
}
|
}
|
||||||
|
if (this.tabName == 'note') {
|
||||||
|
this.findNote();
|
||||||
|
}
|
||||||
if (this.tabName == 'article') {
|
if (this.tabName == 'article') {
|
||||||
this.findArticle();
|
this.findArticle();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -45,7 +45,7 @@
|
|||||||
<span>{{current.end}}</span>
|
<span>{{current.end}}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="exp-table">
|
<div class="exp-table" style="margin-top:36px">
|
||||||
<div class="table-hear">
|
<div class="table-hear">
|
||||||
<div style="margin-left:5px">排名</div>
|
<div style="margin-left:5px">排名</div>
|
||||||
<div style="margin-left:5px">姓名</div>
|
<div style="margin-left:5px">姓名</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user