This commit is contained in:
daihh
2022-10-18 15:19:15 +08:00
10 changed files with 198 additions and 28 deletions

View File

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

View File

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

View File

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

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

View File

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

View File

@@ -54,18 +54,13 @@
我的排名 : <span> {{currentUserRankingTotalData.rankNo}}</span> 我的排名 : <span> {{currentUserRankingTotalData.rankNo}}</span>
</div> </div>
<div class="myexperience"> <div class="myexperience">
我的经验值 : 我的经验值 : <span>{{currentUserRankingTotalData.rankValue}}</span>
<span>{{currentUserRankingTotalData.rankValue}}</span>
</div> </div>
</div> </div>
<div class="exp-bar"> <div class="exp-bar">
<h6> {{currentUserRankingData.total || currentUserRankingData.months || currentUserRankingData.years || currentUserRankingData.weeks}}/{{current.endValue}}</h6> <h6>{{currentUserRankingTotalData.rankValue}}/{{currentUserRankingTotalData.endValue}}</h6>
<div class="exp-barbox"> <div class="exp-barbox">
<el-progress :percentage="currentUserRankingData.total*100/current.endValue <el-progress :percentage="currentUserRankingTotalData.rankValue*100/currentUserRankingTotalData.endValue" color="#387DF7"></el-progress>
|| currentUserRankingData.weeks*100/current.endValue
|| currentUserRankingData.years*100/current.endValue
|| currentUserRankingData.months*100/current.endValue" color="#387DF7"></el-progress>
<!-- <div class="exp-bar-cont"></div> -->
</div> </div>
<div class="exp-barname"> <div class="exp-barname">
<span>{{current.start}}</span> <span>{{current.start}}</span>
@@ -286,7 +281,8 @@
currentUserRankingData: {}, currentUserRankingData: {},
currentUserRankingTotalData:{ currentUserRankingTotalData:{
rankNo:0, // 经验值累计排名 rankNo:0, // 经验值累计排名
rankValue:0 // 经验值累计 rankValue:0 ,// 经验值累计,
endValue:0 // 累计经验值进度条最大值
}, },
rankingData: [], rankingData: [],
uinfo: { uinfo: {
@@ -329,10 +325,8 @@
this.current = this.experienceValue(res.result.currentUserRankingData.total); this.current = this.experienceValue(res.result.currentUserRankingData.total);
this.currentUserRankingTotalData.rankNo = res.result.currentUserRankingData.rankingNo; this.currentUserRankingTotalData.rankNo = res.result.currentUserRankingData.rankingNo;
this.currentUserRankingTotalData.rankValue = res.result.currentUserRankingData.total; this.currentUserRankingTotalData.rankValue = res.result.currentUserRankingData.total;
this.currentUserRankingTotalData.endValue = this.current.endValue;
} }
if(this.cycle == 'weeks'){this.current = this.experienceValue(res.result.currentUserRankingData.weeks);}
if(this.cycle == 'months'){this.current = this.experienceValue(res.result.currentUserRankingData.months);}
if(this.cycle == 'years'){this.current = this.experienceValue(res.result.currentUserRankingData.years);}
} }
const ids = []; const ids = [];

View File

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

View File

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

View File

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