Merge branch 'master' of codeup.aliyun.com:6265f483e4166464dc2f9c14/boeu/portal

This commit is contained in:
dongruihua
2022-11-14 15:26:16 +08:00
27 changed files with 652 additions and 242 deletions

View File

@@ -42,11 +42,24 @@ const isRead=function(){
const updateIsRead=function(ids){ const updateIsRead=function(ids){
return ajax.postJson('/xboe/sys/message/updateIsRead',ids) return ajax.postJson('/xboe/sys/message/updateIsRead',ids)
} }
/**把当前人所有未读消息设置为已读*/
const readAll=function(){
return ajax.postJson('/xboe/sys/message/readall')
}
/**清空当前人的接收到的所有的消息*/
const cleanAll=function(){
return ajax.postJson('/xboe/sys/message/clearall')
}
export default{ export default{
list, list,
del, del,
detail, detail,
save, save,
isRead, isRead,
updateIsRead updateIsRead,
readAll,
cleanAll
} }

View File

@@ -272,12 +272,12 @@
color: #333333; color: #333333;
line-height: 22px; line-height: 22px;
} }
.portal-index-title{ // .portal-index-title{
font-size: 16px; // font-size: 16px;
font-weight: 500; // font-weight: 500;
color: #00253E; // color: #00253E;
line-height: 22px; // line-height: 22px;
} // }
.portal-index-summary{ .portal-index-summary{
font-size: 14px; font-size: 14px;
font-weight: 400; font-weight: 400;
@@ -359,21 +359,9 @@
// padding: 2px 12px; // padding: 2px 12px;
line-height: 24px; line-height: 24px;
} }
/**滚动条的宽度*/
::-webkit-scrollbar {
width: 5px;
height: 5px;
}
/*滚动条的滑块*/
::-webkit-scrollbar-thumb {
background-color: #D8D8D8;
border-radius: 5px;
}
::-webkit-scrollbar-thumb:hover {
background: #D8D8D8;
}
@keyframes ubAddBlock { @keyframes ubAddBlock {
// from { // from {
// bottom: 0; // bottom: 0;
@@ -449,6 +437,13 @@
} }
// boe-index // boe-index
@media screen and (max-width: 1366px){ @media screen and (max-width: 1366px){
.portal-index-title{
font-size: 14px;
font-weight: 500;
color: #00253E;
margin-bottom: 4px;
// line-height: 22px;
}
.portal-input{ .portal-input{
width: 260px; width: 260px;
} }
@@ -592,6 +587,7 @@
line-height: 14px; line-height: 14px;
} }
.qa-views{ .qa-views{
font-size: 12px !important;
left: 10px; left: 10px;
bottom: 6px; bottom: 6px;
} }
@@ -717,7 +713,12 @@
.case-inter-orgin{ .case-inter-orgin{
width: 47%; width: 47%;
} }
.portal-index-title{
font-size: 16px;
font-weight: 500;
color: #00253E;
line-height: 22px;
}
.portal-input{ .portal-input{
width: 280px; width: 280px;
} }
@@ -856,6 +857,7 @@
.qa-views{ .qa-views{
left: 18px; left: 18px;
bottom: 18px; bottom: 18px;
font-size: 14px;
} }
} }
.qa-char{ .qa-char{
@@ -986,7 +988,12 @@
} }
@media screen and (max-width: 1920px) and (min-width: 1681px){ @media screen and (max-width: 1920px) and (min-width: 1681px){
.portal-index-title{
font-size: 16px;
font-weight: 500;
color: #00253E;
line-height: 22px;
}
.case-inter-orgin{ .case-inter-orgin{
width: 60%; width: 60%;
} }
@@ -1138,6 +1145,7 @@
.qa-views{ .qa-views{
left: 20px; left: 20px;
bottom: 20px; bottom: 20px;
font-size: 14px;
} }
} }
.qa-char{ .qa-char{
@@ -1246,6 +1254,12 @@
} }
@media screen and (min-width: 1921px){ @media screen and (min-width: 1921px){
.portal-index-title{
font-size: 16px;
font-weight: 500;
color: #00253E;
line-height: 22px;
}
.case-inter-orgin{ .case-inter-orgin{
width: 60%; width: 60%;
} }
@@ -1393,6 +1407,7 @@
.qa-views{ .qa-views{
left: 20px; left: 20px;
bottom: 20px; bottom: 20px;
font-size: 14px;
} }
} }
.qa-char{ .qa-char{

View File

@@ -2,6 +2,29 @@
* 门户页面的一些通用样式定义在这里面 * 门户页面的一些通用样式定义在这里面
*/ */
body {margin: 0px;padding: 0px;} body {margin: 0px;padding: 0px;}
/**滚动条的宽度*/
::-webkit-scrollbar {
width: 8px;
height: 10px;
scrollbar-color: #009cea #f7f7f9; /* 滑块颜色 滚动条背景颜色 */
scrollbar-width: thin; /* 滚动条宽度有三种thin、auto、none */
}
/*滚动条的滑块*/
::-webkit-scrollbar-thumb {
//background-color: #D8D8D8;
border-radius: 3px;
background-color: rgb(103, 197, 255);
}
::-webkit-scrollbar-thumb:hover {
background: #D8D8D8;
height: 12px;
width: 12px;
}
//定义全局的核心区域宽度 //定义全局的核心区域宽度
.xcontent{ .xcontent{
min-width: 1100px; min-width: 1100px;

View File

@@ -737,7 +737,6 @@
this.homework.info.id=''; this.homework.info.id='';
this.exam.content={id:'',contentType:61,sortIndex:3}; this.exam.content={id:'',contentType:61,sortIndex:3};
this.exam.show=1; this.exam.show=1;
this.exam.content='';
this.exam.paperJson={items:[]}; this.exam.paperJson={items:[]};
this.exam.info.id=''; this.exam.info.id='';
this.exam.info.paperContent=''; this.exam.info.paperContent='';

View File

@@ -11,10 +11,10 @@
</p> </p>
<h6 class="answer-title-info follow-home-title"> <h6 class="answer-title-info follow-home-title">
<span class="pointer" @click="jumpDetail(item)">{{item.contentInfo}}</span> <span class="pointer" @click="jumpDetail(item)">{{item.contentInfo}}</span>
<span class="follow-hide" style="float:right" v-if="!isDynamic && personal"> <!-- <span class="follow-hide" style="float:right" v-if="!isDynamic && personal">
<span v-if="item.hidden">已隐藏</span> <span v-if="item.hidden">已隐藏</span>
<span v-else @click="emitHide(item.id)"> <svg-icon style="margin-right: 10px;font-size:22px;padding-top: 4px;" icon-class="eyes"></svg-icon>隐藏 </span> <span v-else @click="emitHide(item.id)"> <svg-icon style="margin-right: 10px;font-size:22px;padding-top: 4px;" icon-class="eyes"></svg-icon>隐藏 </span>
</span> </span> -->
</h6> </h6>
<p class="answer-text"> <p class="answer-text">
{{displayAll(item)}} {{displayAll(item)}}

View File

@@ -11,10 +11,10 @@
</span> </span>
</p> </p>
<h6 class="article-title-info follow-home-title"><span @click="jumpDetail(item)">{{item.info.title || item.contentInfo}}</span> <h6 class="article-title-info follow-home-title"><span @click="jumpDetail(item)">{{item.info.title || item.contentInfo}}</span>
<span class="follow-hide pointer" style="float:right" v-if="!isDynamic && personal"> <!-- <span class="follow-hide pointer" style="float:right" v-if="!isDynamic && personal">
<span v-if="item.hidden">已隐藏</span> <span v-if="item.hidden">已隐藏</span>
<span v-else @click="emitHide(item.id)"> <svg-icon style="margin-right: 10px;font-size:22px;padding-top: 4px;" icon-class="eyes"></svg-icon>隐藏 </span> <span v-else @click="emitHide(item.id)"> <svg-icon style="margin-right: 10px;font-size:22px;padding-top: 4px;" icon-class="eyes"></svg-icon>隐藏 </span>
</span> </span> -->
</h6> </h6>
<div style="height:58px;padding-top:14px "> <div style="height:58px;padding-top:14px ">
<author :avatar="item.authorInfo.avatar" :name="item.authorInfo.name" :info="item.authorInfo.orgInfo" :sex="item.authorInfo.sex" :aid="item.authorInfo.aid"></author> <author :avatar="item.authorInfo.avatar" :name="item.authorInfo.name" :info="item.authorInfo.orgInfo" :sex="item.authorInfo.sex" :aid="item.authorInfo.aid"></author>

View File

@@ -17,10 +17,10 @@
<router-link :to="'/case/detail?id='+item.info.id"> <router-link :to="'/case/detail?id='+item.info.id">
<span class="case-tittext" v-html="item.info.title || item.contentInfo"></span> <span class="case-tittext" v-html="item.info.title || item.contentInfo"></span>
</router-link> </router-link>
<span class="follow-hide pointer" v-if="!isDynamic && personal"> <!-- <span class="follow-hide pointer" v-if="!isDynamic && personal">
<span v-if="item.hidden">已隐藏</span> <span v-if="item.hidden">已隐藏</span>
<span v-else @click="emitHide(item.id)"> <svg-icon style="margin-right: 10px;font-size:22px;padding-top: 4px;" icon-class="eyes"></svg-icon>隐藏 </span> <span v-else @click="emitHide(item.id)"> <svg-icon style="margin-right: 10px;font-size:22px;padding-top: 4px;" icon-class="eyes"></svg-icon>隐藏 </span>
</span> </span> -->
</div> </div>
</div> </div>
<router-link :to="'/case/detail?id='+item.info.id"> <router-link :to="'/case/detail?id='+item.info.id">

View File

@@ -26,10 +26,10 @@
<p class="portal-time">最新一次学习时间{{item.eventTime}}</p> <p class="portal-time">最新一次学习时间{{item.eventTime}}</p>
</div> </div>
<div style="width:150px"> <div style="width:150px">
<div class="follow-hide pointer" style="text-align: right;" v-if="!isDynamic && personal"> <!-- <div class="follow-hide pointer" style="text-align: right;" v-if="!isDynamic && personal">
<span v-if="item.hidden">已隐藏</span> <span v-if="item.hidden">已隐藏</span>
<span v-else @click="emitHide(item.id)"> <svg-icon style="margin-right: 10px;font-size:22px;padding-top: 4px;" icon-class="eyes"></svg-icon>隐藏 </span> <span v-else @click="emitHide(item.id)"> <svg-icon style="margin-right: 10px;font-size:22px;padding-top: 4px;" icon-class="eyes"></svg-icon>隐藏 </span>
</div> </div> -->
<div class="btn-right"> <div class="btn-right">
<!-- <el-button class="btn" type="primary" @click="jumpDetail(item)">{{item.eventKey == 'Praise' ? '我也去学' : item.aid == userInfo.aid? '继续学习' : '我也去学'}}</el-button> --> <!-- <el-button class="btn" type="primary" @click="jumpDetail(item)">{{item.eventKey == 'Praise' ? '我也去学' : item.aid == userInfo.aid? '继续学习' : '我也去学'}}</el-button> -->
<el-button class="btn" type="primary" @click="jumpDetail(item)">{{personal? '继续学习' : '我也去学'}}</el-button> <el-button class="btn" type="primary" @click="jumpDetail(item)">{{personal? '继续学习' : '我也去学'}}</el-button>

View File

@@ -14,7 +14,7 @@
<div style="display: flex;justify-content: start;margin-left:25px"> <div style="display: flex;justify-content: start;margin-left:25px">
<div style="min-width: 240px;"> <div style="min-width: 240px;">
<div class="content-top"> <div class="content-top">
<h6> {{userData.name}}<span style="margin-left:8px;color: #999999;font-weight: 400;">{{orgInfo}}</span> </h6> <h6> {{userData.name}}<span style="margin-left:8px;color: #999999;font-weight: 400;">{{userData.orgInfo}}</span> </h6>
</div> </div>
<div class="grade" style="margin-top:5px"> <div class="grade" style="margin-top:5px">
<div class="level" style="margin-top:4px">{{statData.level}}</div> <div class="level" style="margin-top:4px">{{statData.level}}</div>
@@ -147,6 +147,7 @@
apiUser.getByIds([this.pageId]).then(res => { apiUser.getByIds([this.pageId]).then(res => {
if (res.status == 200) { if (res.status == 200) {
this.userData = res.result[0]; this.userData = res.result[0];
this.userData.orgInfo=cutFullName(this.userData.orgInfo);
} else { } else {
this.$message.error(res.message); this.$message.error(res.message);
} }

View File

@@ -11,10 +11,10 @@
</span> </span>
</p> </p>
<h6 style="word-break:break-all;" class="note-title-info follow-home-title pointer"><span @click="jumpDetail(item)">{{item.contentInfo}}</span> <span style="color: #333333;font-weight: 400;font-size: 14px;margin-left: 20px;"></span> <h6 style="word-break:break-all;" class="note-title-info follow-home-title pointer"><span @click="jumpDetail(item)">{{item.contentInfo}}</span> <span style="color: #333333;font-weight: 400;font-size: 14px;margin-left: 20px;"></span>
<span class="follow-hide pointer" style="float:right" v-if="(item.aid == userInfo.aid) && !isDynamic"> <!-- <span class="follow-hide pointer" style="float:right" v-if="(item.aid == userInfo.aid) && !isDynamic">
<span v-if="item.hidden">已隐藏</span> <span v-if="item.hidden">已隐藏</span>
<span v-else @click="emitHide(item.id)"> <svg-icon style="margin-right: 10px;font-size:22px;padding-top: 4px;" icon-class="eyes"></svg-icon>隐藏 </span> <span v-else @click="emitHide(item.id)"> <svg-icon style="margin-right: 10px;font-size:22px;padding-top: 4px;" icon-class="eyes"></svg-icon>隐藏 </span>
</span> </span> -->
</h6> </h6>
<p class="note-text" style="word-break:break-all;word-wrap:break-word;margin-bottom:18px"> <p class="note-text" style="word-break:break-all;word-wrap:break-word;margin-bottom:18px">
{{item.info.content}} {{item.info.content}}

View File

@@ -12,10 +12,10 @@
</p> </p>
<h6 class="put-title-info follow-home-title"> <h6 class="put-title-info follow-home-title">
<span class="pointer" @click="jumpDetail(item.info)">{{item.info.title || item.contentInfo}}</span> <span class="pointer" @click="jumpDetail(item.info)">{{item.info.title || item.contentInfo}}</span>
<span class="portal-time follow-hide pointer" style="float:right" v-if="!isDynamic && personal"> <!-- <span class="portal-time follow-hide pointer" style="float:right" v-if="!isDynamic && personal">
<span v-if="item.hidden">已隐藏</span> <span v-if="item.hidden">已隐藏</span>
<span v-else @click="emitHide(item.id)"> <svg-icon style="margin-right: 10px;font-size:22px;padding-top: 4px;" icon-class="eyes"></svg-icon>隐藏 </span> <span v-else @click="emitHide(item.id)"> <svg-icon style="margin-right: 10px;font-size:22px;padding-top: 4px;" icon-class="eyes"></svg-icon>隐藏 </span>
</span> </span> -->
</h6> </h6>
<div class="put-footer"> <div class="put-footer">
<div style="margin-top:20px;font-size: 14px;color: #666666;">{{item.info.answers}}个回答</div> <div style="margin-top:20px;font-size: 14px;color: #666666;">{{item.info.answers}}个回答</div>

View File

@@ -50,7 +50,7 @@
</div> </div>
<div v-if="views" style="cursor: default;" :style="`min-width: ${nodeWidth};margin-left:${data.views>1000? '40px':'20px'}`" class="interact-bar-btn" :class="{cursor:!readonly}"> <div v-if="views" style="cursor: default;" :style="`min-width: ${nodeWidth};margin-left:${data.views>1000? '40px':'20px'}`" class="interact-bar-btn" :class="{cursor:!readonly}">
<el-tooltip effect="light" content="浏览量" placement="top" :visible-arrow="false" popper-class="text-tooltip"> <el-tooltip effect="light" content="浏览量" placement="top" :visible-arrow="false" popper-class="text-tooltip">
<svg-icon style="margin-right: 0;font-size:22px;padding-top: 4px;" icon-class="eyes"></svg-icon> <svg-icon style="margin-right: 0;font-size:22px;" icon-class="eyes"></svg-icon>
</el-tooltip> </el-tooltip>
<span class="interact-bar-value"> {{ formatNum(data.views)}}</span> <span class="interact-bar-value"> {{ formatNum(data.views)}}</span>
</div> </div>
@@ -235,7 +235,6 @@ export default {
// if(type=='praise'){ // if(type=='praise'){
// typeText='点赞了我的' // typeText='点赞了我的'
// } // }
let content; let content;
let conType; let conType;
if(this.type==1){ if(this.type==1){
@@ -283,6 +282,9 @@ export default {
content, content,
refId, refId,
refType:this.type, refType:this.type,
source:1,
pageUrl:location.href,
sendAid:this.userInfo.aid,
sendName, sendName,
acceptName, acceptName,
acceptId, acceptId,
@@ -291,9 +293,7 @@ export default {
conType, conType,
} }
apiMessage.save(message).then(res=>{ apiMessage.save(message).then(res=>{
if(res.status==200){ if(res.status!=200){ console.log('发送消息失败') }
}
}) })
}, },
checkHas(){ checkHas(){

View File

@@ -1,7 +1,7 @@
<template> <template>
<!--机构树--> <!--机构树-->
<div> <div>
<el-dialog title="择组织机构" :append-to-body="true" :visible.sync="dlgShow" :before-close="handleClose" :close-on-click-modal="false" width="500px" custom-class="g-dialog"> <el-dialog title="择组织机构" :append-to-body="true" :visible.sync="dlgShow" :before-close="handleClose" :close-on-click-modal="false" width="500px" custom-class="g-dialog">
<div> <div>
<!-- <!--
<el-input placeholder="" v-model="orgName"> <el-input placeholder="" v-model="orgName">

View File

@@ -313,7 +313,7 @@ export function getUType(type) {
return name; return name;
} }
/**此方法的义,需要一起讨论*/ /**此方法的义,后期需要云掉*/
export function experienceValue(total) { export function experienceValue(total) {
let data = { let data = {
start:'', start:'',

View File

@@ -2188,7 +2188,7 @@
.qa-views { .qa-views {
position: absolute; position: absolute;
color: #6E7B84; color: #6E7B84;
font-size: 14px; // font-size: 14px;
// left: 20px; // left: 20px;
// bottom: 20px; // bottom: 20px;

View File

@@ -6,7 +6,7 @@
<i style="color: #333333" class="el-icon-search"></i> <i style="color: #333333" class="el-icon-search"></i>
</div> --> </div> -->
<el-tabs v-model="activeName" @tab-click="handleClick"> <el-tabs v-model="activeName" @tab-click="handleClick">
<el-tab-pane name="" v-loading="loading"> <el-tab-pane name="0" v-loading="loading">
<span slot="label"><svg-icon icon-class="home-dynamic" style="font-size: 30px;"></svg-icon> <span class="tabs-info">动态</span></span> <span slot="label"><svg-icon icon-class="home-dynamic" style="font-size: 30px;"></svg-icon> <span class="tabs-info">动态</span></span>
<template v-for="item in allPageList"> <template v-for="item in allPageList">
<course-list v-if="item.contentType == 1" :list="[item]" :isDynamic="true" :personal="personal" @hideIndex="dynamicHide"></course-list> <course-list v-if="item.contentType == 1" :list="[item]" :isDynamic="true" :personal="personal" @hideIndex="dynamicHide"></course-list>
@@ -20,6 +20,18 @@
<img class="img" :src="`${webBaseUrl}/images/homeWu/no-course.png`" alt="" srcset=""> <img class="img" :src="`${webBaseUrl}/images/homeWu/no-course.png`" alt="" srcset="">
<p class="text">还没有动态</p> <p class="text">还没有动态</p>
</div> </div>
<div class="div-pagination" v-show="allPage.count > 0">
<el-pagination
background
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="allPage.pageIndex"
:page-sizes="[10, 20, 30, 40]"
:page-size="allPage.pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="allPage.count">
</el-pagination>
</div>
</el-tab-pane> </el-tab-pane>
<el-tab-pane name="1" v-loading="loading1"> <el-tab-pane name="1" v-loading="loading1">
<span slot="label"><svg-icon icon-class="home-course" style="font-size: 30px;"></svg-icon><span class="tabs-info">课程</span></span> <span slot="label"><svg-icon icon-class="home-course" style="font-size: 30px;"></svg-icon><span class="tabs-info">课程</span></span>
@@ -28,6 +40,18 @@
<img class="img" :src="`${webBaseUrl}/images/homeWu/no-course.png`" alt="" srcset=""> <img class="img" :src="`${webBaseUrl}/images/homeWu/no-course.png`" alt="" srcset="">
<p class="text">还没有课程</p> <p class="text">还没有课程</p>
</div> </div>
<div class="div-pagination" v-show="cousrePage.count > 0">
<el-pagination
background
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="cousrePage.pageIndex"
:page-sizes="[10, 20, 30, 40]"
:page-size="cousrePage.pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="cousrePage.count">
</el-pagination>
</div>
</el-tab-pane> </el-tab-pane>
<el-tab-pane name="3" v-loading="loading3"> <el-tab-pane name="3" v-loading="loading3">
<span slot="label"><svg-icon icon-class="home-case" style="font-size: 30px;"></svg-icon><span class="tabs-info">案例</span></span> <span slot="label"><svg-icon icon-class="home-case" style="font-size: 30px;"></svg-icon><span class="tabs-info">案例</span></span>
@@ -36,6 +60,18 @@
<img class="img" :src="`${webBaseUrl}/images/homeWu/no-case.png`" alt="" srcset=""> <img class="img" :src="`${webBaseUrl}/images/homeWu/no-case.png`" alt="" srcset="">
<p class="text">还没有案例</p> <p class="text">还没有案例</p>
</div> </div>
<div class="div-pagination" v-show="casePage.count > 0">
<el-pagination
background
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="casePage.pageIndex"
:page-sizes="[10, 20, 30, 40]"
:page-size="casePage.pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="casePage.count">
</el-pagination>
</div>
</el-tab-pane> </el-tab-pane>
<el-tab-pane name="6" v-loading="loading6"> <el-tab-pane name="6" v-loading="loading6">
<span slot="label"><svg-icon icon-class="home-note" style="font-size: 30px;"></svg-icon><span class="tabs-info">笔记</span></span> <span slot="label"><svg-icon icon-class="home-note" style="font-size: 30px;"></svg-icon><span class="tabs-info">笔记</span></span>
@@ -44,6 +80,18 @@
<img class="img" :src="`${webBaseUrl}/images/homeWu/no-note.png`" alt="" srcset=""> <img class="img" :src="`${webBaseUrl}/images/homeWu/no-note.png`" alt="" srcset="">
<p class="text">还没有笔记</p> <p class="text">还没有笔记</p>
</div> </div>
<div class="div-pagination" v-show="notePage.count > 0">
<el-pagination
background
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="notePage.pageIndex"
:page-sizes="[10, 20, 30, 40]"
:page-size="notePage.pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="notePage.count">
</el-pagination>
</div>
</el-tab-pane> </el-tab-pane>
<el-tab-pane name="4" v-loading="loading4"> <el-tab-pane name="4" v-loading="loading4">
<span slot="label"><svg-icon icon-class="home-qa" style="font-size: 30px;"></svg-icon><span class="tabs-info">提问</span></span> <span slot="label"><svg-icon icon-class="home-qa" style="font-size: 30px;"></svg-icon><span class="tabs-info">提问</span></span>
@@ -52,6 +100,18 @@
<img class="img" style="width:204px;height:160px" :src="`${webBaseUrl}/images/homeWu/no-put.png`" alt="" srcset=""> <img class="img" style="width:204px;height:160px" :src="`${webBaseUrl}/images/homeWu/no-put.png`" alt="" srcset="">
<p class="text">还没有提问</p> <p class="text">还没有提问</p>
</div> </div>
<div class="div-pagination" v-show="qaPage.count > 0">
<el-pagination
background
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="qaPage.pageIndex"
:page-sizes="[10, 20, 30, 40]"
:page-size="qaPage.pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="qaPage.count">
</el-pagination>
</div>
</el-tab-pane> </el-tab-pane>
<el-tab-pane name="5" v-loading="loading5"> <el-tab-pane name="5" v-loading="loading5">
<span slot="label"><svg-icon icon-class="home-answer" style="font-size: 30px;"></svg-icon><span class="tabs-info">回答</span></span> <span slot="label"><svg-icon icon-class="home-answer" style="font-size: 30px;"></svg-icon><span class="tabs-info">回答</span></span>
@@ -60,6 +120,18 @@
<img class="img" :src="`${webBaseUrl}/images/homeWu/no-answer.png`" alt="" srcset=""> <img class="img" :src="`${webBaseUrl}/images/homeWu/no-answer.png`" alt="" srcset="">
<p class="text">还没有回答</p> <p class="text">还没有回答</p>
</div> </div>
<div class="div-pagination" v-show="answerPage.count > 0">
<el-pagination
background
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="answerPage.pageIndex"
:page-sizes="[10, 20, 30, 40]"
:page-size="answerPage.pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="answerPage.count">
</el-pagination>
</div>
</el-tab-pane> </el-tab-pane>
<el-tab-pane name="2" v-loading="loading2"> <el-tab-pane name="2" v-loading="loading2">
<span slot="label"><svg-icon icon-class="home-article" style="font-size: 30px;"></svg-icon><span class="tabs-info">文章</span></span> <span slot="label"><svg-icon icon-class="home-article" style="font-size: 30px;"></svg-icon><span class="tabs-info">文章</span></span>
@@ -68,6 +140,18 @@
<img class="img" style="width:150px;height:160px" :src="`${webBaseUrl}/images/homeWu/no-article.png`" alt="" srcset=""> <img class="img" style="width:150px;height:160px" :src="`${webBaseUrl}/images/homeWu/no-article.png`" alt="" srcset="">
<p class="text">还没有文章</p> <p class="text">还没有文章</p>
</div> </div>
<div class="div-pagination" v-show="articlePage.count > 0">
<el-pagination
background
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="articlePage.pageIndex"
:page-sizes="[10, 20, 30, 40]"
:page-size="articlePage.pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="articlePage.count">
</el-pagination>
</div>
</el-tab-pane> </el-tab-pane>
<el-tab-pane name="7"> <el-tab-pane name="7">
<span slot="label"><svg-icon icon-class="home-follow" style="font-size: 30px;"></svg-icon><span class="tabs-info">关注</span></span> <span slot="label"><svg-icon icon-class="home-follow" style="font-size: 30px;"></svg-icon><span class="tabs-info">关注</span></span>
@@ -78,18 +162,6 @@
<book-list></book-list> <book-list></book-list>
</el-tab-pane> --> </el-tab-pane> -->
</el-tabs> </el-tabs>
<div style="text-align: center; margin-top:57px;" v-show="page.count > 0 && activeName!='7'">
<el-pagination
background
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="page.pageIndex"
:page-sizes="[10, 20, 30, 40]"
:page-size="page.pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="page.count">
</el-pagination>
</div>
<div style="height:200px"></div> <div style="height:200px"></div>
</div> </div>
</template> </template>
@@ -125,6 +197,7 @@
}, },
data(){ data(){
return{ return{
pageId:'',
loading:false, loading:false,
loading1:false, loading1:false,
loading2:false, loading2:false,
@@ -133,22 +206,30 @@
loading5:false, loading5:false,
loading6:false, loading6:false,
intTabIndex:-1,//初始化显示哪个tab,71我关注的人72关注我的人 intTabIndex:-1,//初始化显示哪个tab,71我关注的人72关注我的人
page:{
pageIndex:1,
pageSize:10,
count:0
},
input:'', input:'',
activeName:'', activeName:'0',
pageId:'',
// pageList:[], // pageList:[],
casePageList:[], casePageList:[],
casePage:{count:0,pageSize:10, pageIndex:1},
notePageList:[], notePageList:[],
notePage:{count:0,pageSize:10,pageIndex:1},
articlePageList:[], articlePageList:[],
articlePage:{count:0,pageSize:10,pageIndex:1},
qaPageList:[], qaPageList:[],
qaPage:{count:0,pageSize:10,pageIndex:1},
answerPageList:[], answerPageList:[],
answerPage:{count:0,pageSize:10,pageIndex:1},
cousrePageList:[], cousrePageList:[],
cousrePage:{count:0,pageSize:10,pageIndex:1},
allPageList:[], allPageList:[],
allPage:{count:0,pageSize:10,pageIndex:1},
personal:false, personal:false,
orgData:[], orgData:[],
Profess:[] Profess:[]
@@ -211,19 +292,40 @@
loadMajorType:'majorType/loadMajorTypes', loadMajorType:'majorType/loadMajorTypes',
loadOrgDomain:'orgDomain/loadOrgDomains' loadOrgDomain:'orgDomain/loadOrgDomains'
}), }),
getPagerData(){
if(this.activeName == '0') {
return this.allPage;
} else if(this.activeName == '1') {
return this.cousrePage;
} else if(this.activeName == '2') {
return this.articlePage;
} else if(this.activeName == '3') {
return this.casePage;
} else if(this.activeName == '4') {
return this.qaPage;
} else if(this.activeName == '5') {
return this.answerPage;
} else if(this.activeName == '6') {
return this.notePage;
}
return null;
},
handleSizeChange(val) { handleSizeChange(val) {
this.page.pageSize = val; let curPageData=this.getPagerData();
this.page.pageIndex = 1; curPageData.pageIndex=1;
curPageData.pageSize=val;
this.getList(); this.getList();
}, },
handleCurrentChange(val) { handleCurrentChange(val) {
this.page.pageIndex = val; let curPageData=this.getPagerData();
curPageData.pageIndex=val;
this.getList(); this.getList();
}, },
getList() { getList() {
let curPageData=this.getPagerData();
let data = { let data = {
pageIndex:this.page.pageIndex, pageIndex:curPageData.pageIndex,
pageSize:this.page.pageSize, pageSize:curPageData.pageSize,
contentType:this.activeName == 0? '':this.activeName,//内容类型 contentType:this.activeName == 0? '':this.activeName,//内容类型
aid:this.pageId, //指定用户的动态, aid:this.pageId, //指定用户的动态,
hidden:this.pageId == this.userInfo.aid?'':false,//是否隐藏,不指定,查询全部 hidden:this.pageId == this.userInfo.aid?'':false,//是否隐藏,不指定,查询全部
@@ -253,7 +355,7 @@
this.loading5 = false; this.loading5 = false;
this.loading6 = false; this.loading6 = false;
if(res.status == 200) { if(res.status == 200) {
this.page.count = res.result.count; curPageData.count = res.result.count;
let ids = res.result.list.map(item=>item.contentId); let ids = res.result.list.map(item=>item.contentId);
const noReapetIds = [...new Set(ids)]; const noReapetIds = [...new Set(ids)];
res.result.list.forEach(item=>{ res.result.list.forEach(item=>{
@@ -542,17 +644,43 @@
}) })
}, },
handleClick() { handleClick() {
if(this.activeName == '7') {
if(this.activeName == '0') {
if(this.allPageList.length>0){
return;
}
} else if(this.activeName == '1') {
if(this.cousrePageList.length>0){
return;
}
} else if(this.activeName == '2') {
if(this.articlePageList.length>0){
return;
}
} else if(this.activeName == '3') {
if(this.casePageList.length>0){
return;
}
} else if(this.activeName == '4') {
if(this.qaPageList.length>0){
return;
}
} else if(this.activeName == '5') {
if(this.answerPageList.length>0){
return;
}
} else if(this.activeName == '6') {
if(this.notePageList.length>0){
return;
}
}else if(this.activeName == '7'){
//单独的分页,所以这里不与当前页面的分页共用 //单独的分页,所以这里不与当前页面的分页共用
this.$refs.followList.resetActive(); this.$refs.followList.resetActive();
this.$refs.followList.getPage(); this.$refs.followList.getPage();
return return
} }
this.page.count = 0
if(this.activeName == '8') { if(this.activeName == '8') {
this.page.count = 0; // 书箱没有了
// console.log(this.$refs.followList,'this.$refs.followList');
// this.$refs.followList.getPage();
return return
} }
this.getList(); this.getList();
@@ -562,6 +690,10 @@
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.div-pagination{
text-align: center;
margin-top:50px;
}
.home-page{ .home-page{
::v-deep .el-tabs__active-bar{ ::v-deep .el-tabs__active-bar{
height: 4px; height: 4px;

View File

@@ -299,7 +299,19 @@ export default {
}, },
success(value){ success(value){
let content=this.userInfo.name+'评论了我的文章'+'-'+this.articleDetailData.title; let content=this.userInfo.name+'评论了我的文章'+'-'+this.articleDetailData.title;
let query={refId:this.articleDetailData.id,sendType:1,title:'系统消息',refType:2,content:content,sendName:this.userInfo.name,acceptId:this.articleDetailData.sysCreateAid,acceptName:this.articleDetailData.sysCreateBy} let query={
refId:this.articleDetailData.id,
sendType:1,
title:'系统消息',
source:1,
pageUrl:location.href,
sendAid:this.userInfo.aid,
refType:2,
content:content,
sendName:this.userInfo.name,
acceptId:this.articleDetailData.sysCreateAid,
acceptName:this.articleDetailData.sysCreateBy,
}
apiMessage.save(query).then(res=>{ apiMessage.save(query).then(res=>{
if(res.status==200){ if(res.status==200){

View File

@@ -523,7 +523,19 @@ export default {
}, },
success(value){ success(value){
let content=this.userInfo.name+'评论了我的案例'+'-'+this.caseDetail.title; let content=this.userInfo.name+'评论了我的案例'+'-'+this.caseDetail.title;
let query={refId:this.caseDetail.id,sendType:1,title:'系统消息',refType:3,content:content,sendName:this.userInfo.name,accpetId:this.caseDetail.sysCreateAid,acceptName:this.caseDetail.sysCreateBy} let query={
refId:this.caseDetail.id,
sendType:1,
title:'系统消息',
refType:3,
source:1,
pageUrl:location.href,
sendAid:this.userInfo.aid,
content:content,
sendName:this.userInfo.name,
accpetId:this.caseDetail.sysCreateAid,
acceptName:this.caseDetail.sysCreateBy,
}
apiMessage.save(query).then(res=>{ apiMessage.save(query).then(res=>{
if(res.status==200){ if(res.status==200){

View File

@@ -13,8 +13,8 @@
</div> </div>
--> -->
<el-tabs v-model="activeName" @tab-click="handleClick"> <el-tabs v-model="activeName" @tab-click="handleClick">
<el-tab-pane name="" label="全部" v-loading="loading"> <el-tab-pane name="0" label="全部" v-loading="loading">
<template v-for="item in allPageList"> <template v-show="activeName==0" v-for="item in allPageList">
<course-list v-if="item.contentType == 1" :list="[item]" :isDynamic="true" :personal="true" :isFollow="true" @hideIndex="dynamicHide"></course-list> <course-list v-if="item.contentType == 1" :list="[item]" :isDynamic="true" :personal="true" :isFollow="true" @hideIndex="dynamicHide"></course-list>
<case-list v-if="item.contentType == 3" :list="[item]" :isDynamic="true" :personal="true" :isFollow="true" @hideIndex="dynamicHide"></case-list> <case-list v-if="item.contentType == 3" :list="[item]" :isDynamic="true" :personal="true" :isFollow="true" @hideIndex="dynamicHide"></case-list>
<note-list v-if="item.contentType == 6" :list="[item]" :isDynamic="true" :personal="true" :isFollow="true" @hideIndex="dynamicHide"></note-list> <note-list v-if="item.contentType == 6" :list="[item]" :isDynamic="true" :personal="true" :isFollow="true" @hideIndex="dynamicHide"></note-list>
@@ -26,34 +26,94 @@
<img class="img" :src="`${webBaseUrl}/images/homeWu/no-course.png`" alt="" srcset=""> <img class="img" :src="`${webBaseUrl}/images/homeWu/no-course.png`" alt="" srcset="">
<p class="text">暂时没有动态</p> <p class="text">暂时没有动态</p>
</div> </div>
<div class="div-pagination" v-show="allPage.count > 0">
<el-pagination
background
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="allPage.pageIndex"
:page-sizes="[10, 20, 30, 40]"
:page-size="allPage.pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="allPage.count">
</el-pagination>
</div>
</el-tab-pane> </el-tab-pane>
<el-tab-pane name="1" label="课程" v-loading="loading1"> <el-tab-pane name="1" label="课程" v-loading="loading1">
<course-list :list="cousrePageList" :isDynamic="true" :personal="true" :isFollow="true" @hideIndex="dynamicHide"></course-list> <course-list v-show="activeName==1" :list="cousrePageList" :isDynamic="true" :personal="true" :isFollow="true" @hideIndex="dynamicHide"></course-list>
<div v-if="!loading1 && cousrePageList.length==0" class="home-no-list"> <div v-if="!loading1 && cousrePageList.length==0" class="home-no-list">
<img class="img" :src="`${webBaseUrl}/images/homeWu/no-course.png`" alt="" srcset=""> <img class="img" :src="`${webBaseUrl}/images/homeWu/no-course.png`" alt="" srcset="">
<p class="text">暂时没有动态</p> <p class="text">暂时没有动态</p>
</div> </div>
<div class="div-pagination" v-show="cousrePage.count > 0">
<el-pagination
background
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="cousrePage.pageIndex"
:page-sizes="[10, 20, 30, 40]"
:page-size="cousrePage.pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="cousrePage.count">
</el-pagination>
</div>
</el-tab-pane> </el-tab-pane>
<el-tab-pane name="6" label="笔记" v-loading="loading6"> <el-tab-pane name="6" label="笔记" v-loading="loading6">
<note-list :list="notePageList" :isDynamic="true" :personal="true" :isFollow="true" @hideIndex="dynamicHide"></note-list> <note-list v-show="activeName==6" :list="notePageList" :isDynamic="true" :personal="true" :isFollow="true" @hideIndex="dynamicHide"></note-list>
<div v-if="!loading6 && notePageList.length==0" class="home-no-list"> <div v-if="!loading6 && notePageList.length==0" class="home-no-list">
<img class="img" :src="`${webBaseUrl}/images/homeWu/no-note.png`" alt="" srcset=""> <img class="img" :src="`${webBaseUrl}/images/homeWu/no-note.png`" alt="" srcset="">
<p class="text">暂时没有动态</p> <p class="text">暂时没有动态</p>
</div> </div>
<div class="div-pagination" v-show="notePage.count > 0">
<el-pagination
background
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="notePage.pageIndex"
:page-sizes="[10, 20, 30, 40]"
:page-size="notePage.pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="notePage.count">
</el-pagination>
</div>
</el-tab-pane> </el-tab-pane>
<el-tab-pane name="3" label="案例" v-loading="loading3"> <el-tab-pane name="3" label="案例" v-loading="loading3">
<case-list :list="casePageList" :isDynamic="true" :personal="true" :isFollow="true" @hideIndex="dynamicHide"></case-list> <case-list v-show="activeName==3" :list="casePageList" :isDynamic="true" :personal="true" :isFollow="true" @hideIndex="dynamicHide"></case-list>
<div v-if="!loading3 && casePageList.length==0" class="home-no-list"> <div v-if="!loading3 && casePageList.length==0" class="home-no-list">
<img class="img" :src="`${webBaseUrl}/images/homeWu/no-case.png`" alt="" srcset=""> <img class="img" :src="`${webBaseUrl}/images/homeWu/no-case.png`" alt="" srcset="">
<p class="text">暂时没有动态</p> <p class="text">暂时没有动态</p>
</div> </div>
<div class="div-pagination" v-show="casePage.count > 0">
<el-pagination
background
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="casePage.pageIndex"
:page-sizes="[10, 20, 30, 40]"
:page-size="casePage.pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="casePage.count">
</el-pagination>
</div>
</el-tab-pane> </el-tab-pane>
<el-tab-pane name="2" label="文章" v-loading="loading2"> <el-tab-pane name="2" label="文章" v-loading="loading2">
<article-list :list="articlePageList" :isDynamic="true" :personal="true" :isFollow="true" @hideIndex="dynamicHide"></article-list> <article-list v-show="activeName==2" :list="articlePageList" :isDynamic="true" :personal="true" :isFollow="true" @hideIndex="dynamicHide"></article-list>
<div v-if="!loading2 && articlePageList.length==0" class="home-no-list"> <div v-if="!loading2 && articlePageList.length==0" class="home-no-list">
<img class="img" style="width:150px;height:160px" :src="`${webBaseUrl}/images/homeWu/no-article.png`" alt="" srcset=""> <img class="img" style="width:150px;height:160px" :src="`${webBaseUrl}/images/homeWu/no-article.png`" alt="" srcset="">
<p class="text">暂时没有动态</p> <p class="text">暂时没有动态</p>
</div> </div>
<div class="div-pagination" v-show="articlePage.count > 0">
<el-pagination
background
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="articlePage.pageIndex"
:page-sizes="[10, 20, 30, 40]"
:page-size="articlePage.pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="articlePage.count">
</el-pagination>
</div>
</el-tab-pane> </el-tab-pane>
<el-tab-pane name="4" label="提问" v-loading="loading4"> <el-tab-pane name="4" label="提问" v-loading="loading4">
<put-list :list="qaPageList" :isDynamic="true" :personal="true" :isFollow="true" @hideIndex="dynamicHide"></put-list> <put-list :list="qaPageList" :isDynamic="true" :personal="true" :isFollow="true" @hideIndex="dynamicHide"></put-list>
@@ -61,6 +121,18 @@
<img class="img" style="width:204px;height:160px" :src="`${webBaseUrl}/images/homeWu/no-put.png`" alt="" srcset=""> <img class="img" style="width:204px;height:160px" :src="`${webBaseUrl}/images/homeWu/no-put.png`" alt="" srcset="">
<p class="text">暂时没有动态</p> <p class="text">暂时没有动态</p>
</div> </div>
<div class="div-pagination" v-show="qaPage.count > 0">
<el-pagination
background
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="qaPage.pageIndex"
:page-sizes="[10, 20, 30, 40]"
:page-size="qaPage.pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="qaPage.count">
</el-pagination>
</div>
</el-tab-pane> </el-tab-pane>
<el-tab-pane name="5" label="回答" v-loading="loading5"> <el-tab-pane name="5" label="回答" v-loading="loading5">
<answer-list :list="answerPageList" :isDynamic="true" :personal="true" :isFollow="true" @hideIndex="dynamicHide"></answer-list> <answer-list :list="answerPageList" :isDynamic="true" :personal="true" :isFollow="true" @hideIndex="dynamicHide"></answer-list>
@@ -68,6 +140,18 @@
<img class="img" :src="`${webBaseUrl}/images/homeWu/no-answer.png`" alt="" srcset=""> <img class="img" :src="`${webBaseUrl}/images/homeWu/no-answer.png`" alt="" srcset="">
<p class="text">暂时没有动态</p> <p class="text">暂时没有动态</p>
</div> </div>
<div class="div-pagination" v-show="answerPage.count > 0">
<el-pagination
background
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="answerPage.pageIndex"
:page-sizes="[10, 20, 30, 40]"
:page-size="answerPage.pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="answerPage.count">
</el-pagination>
</div>
</el-tab-pane> </el-tab-pane>
<!-- <el-tab-pane name="7" label="关注"> <!-- <el-tab-pane name="7" label="关注">
@@ -80,18 +164,7 @@
</el-tab-pane> </el-tab-pane>
--> -->
</el-tabs> </el-tabs>
<div style="text-align: center; margin-top:57px;" v-show="page.count > 0">
<el-pagination
background
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="page.pageIndex"
:page-sizes="[10, 20, 30, 40]"
:page-size="page.pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="page.count">
</el-pagination>
</div>
<div style="height:200px"></div> <div style="height:200px"></div>
</div> </div>
</div> </div>
@@ -125,6 +198,7 @@
components:{portalHeader,UcHeader,CaseList,CourseList,NoteList,PutList,AnswerList,ArticleList,FollowList,BookList}, components:{portalHeader,UcHeader,CaseList,CourseList,NoteList,PutList,AnswerList,ArticleList,FollowList,BookList},
data(){ data(){
return{ return{
pageId:'',
loading:false, loading:false,
loading1:false, loading1:false,
loading2:false, loading2:false,
@@ -132,25 +206,31 @@
loading4:false, loading4:false,
loading5:false, loading5:false,
loading6:false, loading6:false,
input:'',
// loading:0,//加载中
activeName:'first',
page:{
pageIndex:1,
pageSize:10, pageSize:10,
count:0
},
input:'', input:'',
activeName:'', activeName:'0',
pageId:'',
// pageList:[], // pageList:[],
casePageList:[], casePageList:[],
casePage:{count:0,pageSize:10, pageIndex:1},
notePageList:[], notePageList:[],
notePage:{count:0,pageSize:10,pageIndex:1},
articlePageList:[], articlePageList:[],
articlePage:{count:0,pageSize:10,pageIndex:1},
qaPageList:[], qaPageList:[],
qaPage:{count:0,pageSize:10,pageIndex:1},
answerPageList:[], answerPageList:[],
answerPage:{count:0,pageSize:10,pageIndex:1},
cousrePageList:[], cousrePageList:[],
cousrePage:{count:0,pageSize:10,pageIndex:1},
allPageList:[], allPageList:[],
allPage:{count:0,pageSize:10,pageIndex:1},
personal:true, personal:true,
orgData:[], orgData:[],
Profess:[], Profess:[],
@@ -190,22 +270,47 @@
}) })
}, },
handleSizeChange(val) { handleSizeChange(val) {
this.page.pageSize = val; let curPageData=this.getPagerData();
this.page.pageIndex = 1; curPageData.pageIndex=1;
curPageData.pageSize=val;
this.getList(); this.getList();
}, },
getPagerData(){
if(this.activeName == '0') {
return this.allPage;
} else if(this.activeName == '1') {
return this.cousrePage;
} else if(this.activeName == '2') {
return this.articlePage;
} else if(this.activeName == '3') {
return this.casePage;
} else if(this.activeName == '4') {
return this.qaPage;
} else if(this.activeName == '5') {
return this.answerPage;
} else if(this.activeName == '6') {
return this.notePage;
}
return null;
},
handleCurrentChange(val) { handleCurrentChange(val) {
this.page.pageIndex = val; let curPageData=this.getPagerData();
curPageData.pageIndex=val;
this.getList(); this.getList();
}, },
getList() { getList() {
let data = { let curPageData=this.getPagerData();
pageIndex:this.page.pageIndex, let qdata = {
pageSize:this.page.pageSize, pageIndex:curPageData.pageIndex,
pageSize:curPageData.pageSize,
contentType:this.activeName == 0? '':this.activeName,//内容类型 contentType:this.activeName == 0? '':this.activeName,//内容类型
aids:this.followIds // 数组 aids:this.followIds // 数组
} }
if(this.activeName == '1') {
if(this.activeName == '0') {
this.loading = true;
} else if(this.activeName == '1') {
this.loading1 = true; this.loading1 = true;
} else if(this.activeName == '2') { } else if(this.activeName == '2') {
this.loading2 = true; this.loading2 = true;
@@ -220,7 +325,7 @@
} else { } else {
this.loading = true; this.loading = true;
} }
apiStat.userDynamicfollows(data).then(res=>{ apiStat.userDynamicfollows(qdata).then(res=>{
this.loading = false; this.loading = false;
this.loading1 = false; this.loading1 = false;
this.loading2 = false; this.loading2 = false;
@@ -229,7 +334,7 @@
this.loading5 = false; this.loading5 = false;
this.loading6 = false; this.loading6 = false;
if(res.status == 200) { if(res.status == 200) {
this.page.count = res.result.count; curPageData.count = res.result.count;
if(res.result.count==0){ if(res.result.count==0){
return; return;
} }
@@ -520,7 +625,35 @@
}) })
}, },
handleClick() { handleClick() {
this.page.count = 0; if(this.activeName == '0') {
if(this.allPageList.length>0){
return;
}
} else if(this.activeName == '1') {
if(this.cousrePageList.length>0){
return;
}
} else if(this.activeName == '2') {
if(this.articlePageList.length>0){
return;
}
} else if(this.activeName == '3') {
if(this.casePageList.length>0){
return;
}
} else if(this.activeName == '4') {
if(this.qaPageList.length>0){
return;
}
} else if(this.activeName == '5') {
if(this.answerPageList.length>0){
return;
}
} else if(this.activeName == '6') {
if(this.notePageList.length>0){
return;
}
}
this.getList(); this.getList();
} }
} }
@@ -528,6 +661,10 @@
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.div-pagination{
text-align: center;
margin-top:50px;
}
.follow-banner{ .follow-banner{
background-color: #0078FC; background-color: #0078FC;
} }

View File

@@ -449,6 +449,9 @@ export default {
let message = { let message = {
refId: this.detailData.id, refId: this.detailData.id,
title: "系统消息", title: "系统消息",
source:1,
pageUrl:location.href,
sendAid:this.userInfo.aid,
sendName: this.userInfo.name, sendName: this.userInfo.name,
acceptName: this.detailData.sysCreateBy, acceptName: this.detailData.sysCreateBy,
acceptId: this.detailData.sysCreateAid, acceptId: this.detailData.sysCreateAid,

View File

@@ -349,6 +349,9 @@ export default {
let message = { let message = {
refId: this.detailData.id, refId: this.detailData.id,
title: "系统消息", title: "系统消息",
source:1,
pageUrl:location.href,
sendAid:this.userInfo.aid,
sendName: this.userInfo.name, sendName: this.userInfo.name,
acceptName: this.detailData.sysCreateBy, acceptName: this.detailData.sysCreateBy,
acceptId: this.detailData.sysCreateAid, acceptId: this.detailData.sysCreateAid,

View File

@@ -17,7 +17,7 @@
</el-radio-group> --> </el-radio-group> -->
</div> </div>
<div> <div>
<el-button class="navbut" type="text" @click="isReadChooseList">设置已读</el-button> <el-button style="margin-left: 25px;" :disabled="disabledReadAll" :class="{navbut:!disabledReadAll}" type="text" @click="isReadChooseList">设置已读</el-button>
<el-button class="navbut" type="text" @click="delChooseList">删除所选</el-button> <el-button class="navbut" type="text" @click="delChooseList">删除所选</el-button>
</div> </div>
</div> </div>
@@ -50,9 +50,7 @@
<span style="padding-right: 10px;"><el-checkbox v-model="item.checked" @change="setCheckAll(item)"></el-checkbox></span> <span style="padding-right: 10px;"><el-checkbox v-model="item.checked" @change="setCheckAll(item)"></el-checkbox></span>
<span v-if="!item.isRead" style="font-size:12px;padding:5px 7px; border-radius: 2px;background: #FF6562;color: #fff;margin-right: 5px">未读</span> <span v-if="!item.isRead" style="font-size:12px;padding:5px 7px; border-radius: 2px;background: #FF6562;color: #fff;margin-right: 5px">未读</span>
<span v-else style="font-size:14px;padding:5px 7px; background: #eee; border-radius: 2px; color: #666666;margin-right: 5px">已读</span> <span v-else style="font-size:14px;padding:5px 7px; background: #eee; border-radius: 2px; color: #666666;margin-right: 5px">已读</span>
<a :href="returnRouter(item)"> <a :href="returnRouter(item)"><span>{{ item.title }}</span></a>
<span>{{ item.title }}</span>
</a>
</div> </div>
</div> </div>
<div class="msg-body"> <div class="msg-body">
@@ -109,6 +107,7 @@ export default {
pageSize: 6, pageSize: 6,
isRead: null isRead: null
}, },
disabledReadAll:false,
total: 0, total: 0,
checkAll: false, checkAll: false,
data: [], data: [],
@@ -144,18 +143,26 @@ export default {
this.checkAll = false; this.checkAll = false;
this.isIndeterminate = false; this.isIndeterminate = false;
} }
this.disabledReadAll=false;
apiMessage.list(this.queryData).then(res => { apiMessage.list(this.queryData).then(res => {
if (res.status == 200) { if (res.status == 200) {
this.totalPages = res.result.totalPages; this.totalPages = res.result.totalPages;
this.total = res.result.count; this.total = res.result.count;
let allRead=true;
res.result.list.forEach(item => { res.result.list.forEach(item => {
let name = this.filterContent(item.content); let name = this.filterContent(item.content);
let num = name.slice(1,name.length); let num = name.slice(1,name.length);
item.tip = name[0]; item.tip = name[0];
item.content = num.join('-'); item.content = num.join('-');
item.checked = false; item.checked = false;
if(!item.isRead){
allRead=false;
}
this.data.push(item); this.data.push(item);
}); });
if(allRead){
this.disabledReadAll=true;
}
if(this.total == 0){this.showMessage = '暂无消息';} if(this.total == 0){this.showMessage = '暂无消息';}
this.showMessage = this.total <= 0 ? '暂无消息' : ''; this.showMessage = this.total <= 0 ? '暂无消息' : '';
} else { } else {
@@ -284,9 +291,11 @@ export default {
this.$refs.guide.guideCollection = true; this.$refs.guide.guideCollection = true;
}, },
// 跳转详情事件11 // 跳转详情事件11
returnRouter(item) { returnRouter(item) {
if(item.pageUrl && item.pageUrl.length>10){
return item.pageUrl;
}else{
if (item.refType == 2) { if (item.refType == 2) {
return this.webBaseUrl + '/article/detail?id=' + item.refId; return this.webBaseUrl + '/article/detail?id=' + item.refId;
} else if (item.refType == 4||item.refType == 5) { } else if (item.refType == 4||item.refType == 5) {
@@ -299,6 +308,8 @@ export default {
// } // }
} }
} }
}
} }
}; };
</script> </script>

View File

@@ -28,8 +28,8 @@
</div> </div>
</div> </div>
<div class="uc-list" v-loading="loading"> <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" v-for="(item,idx) in pageChange" :key="idx">
<div class="uc-course-img" style="width: 260px;height:144px"> <div class="uc-course-img" style="width: 260px;height:144px" @click="jumpRouter(item)">
<course-image :course="item"></course-image> <course-image :course="item"></course-image>
<div class="uc-type"> <div class="uc-type">
<span v-if="item.courseType==10">录播</span> <span v-if="item.courseType==10">录播</span>
@@ -38,7 +38,7 @@
<span v-if="item.courseType==40">学习项目</span> <span v-if="item.courseType==40">学习项目</span>
</div> </div>
</div> </div>
<div class="uc-course-info"> <div class="uc-course-info" @click="jumpRouter(item)">
<div class="uc-course-name" style="cursor: pointer;"> <div class="uc-course-name" style="cursor: pointer;">
<div style="flex:1;"> <div style="flex:1;">
@@ -56,7 +56,7 @@
<div class="uc-course-btns"> <div class="uc-course-btns">
<div style="text-align: right;"> <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> <el-dropdown trigger="click">
<span class="el-dropdown-link"> <span class="el-dropdown-link">
<svg-icon style="margin-right: 0;font-size:26px;" icon-class="spot"></svg-icon> <svg-icon style="margin-right: 0;font-size:26px;" icon-class="spot"></svg-icon>
</span> </span>

View File

@@ -292,6 +292,7 @@
import assess from '@/components/Course/assess'; import assess from '@/components/Course/assess';
import myNote from '../../components/Course/myNote.vue'; import myNote from '../../components/Course/myNote.vue';
import apiFollow from "@/api/phase2/userfollow.js"; import apiFollow from "@/api/phase2/userfollow.js";
import apiMessage from '@/api/system/message.js'
// import Vue from 'vue'; // import Vue from 'vue';
// Vue.forceUpdate(); // Vue.forceUpdate();
export default { export default {
@@ -800,6 +801,25 @@
status: 1 //状态直接写1 status: 1 //状态直接写1
} }
this.$store.dispatch("userTrigger", event); this.$store.dispatch("userTrigger", event);
//发送点赞消息
let firstTeacher=this.teachers[0];
let message={
content:this.userInfo.name+'点赞了我的课程-'+this.courseInfo.name,
refId:this.courseInfo.id,
refType:1,
source:1,
pageUrl:location.href,
sendAid:this.userInfo.aid,
sendName:this.userInfo.name,
acceptName:firstTeacher.teacherName,
acceptId:firstTeacher.teacherId,
title:'系统消息',
sendType:1,
conType:this.courseInfo.type,
}
apiMessage.save(message).then(res=>{
if(res.status!=200){ console.log('发送消息失败') }
})
} else { } else {
this.$message.error('点赞失败,请稍后再试'); this.$message.error('点赞失败,请稍后再试');
} }

View File

@@ -167,40 +167,40 @@
<div class="box-table"> <div class="box-table">
<p class="table-title portal-title-tow"><span></span>学习</p> <p class="table-title portal-title-tow"><span></span>学习</p>
<el-table :data="tableData" style=""> <el-table :data="tableData" style="">
<el-table-column prop="name" label="分类" width="180"></el-table-column> <el-table-column prop="name" label="分类" width="180" align="center"></el-table-column>
<el-table-column prop="name" label="描述" width="180"> <el-table-column prop="name" label="描述" width="180" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<p v-for="(rem,index) in scope.row.hear" :key="index">{{rem}}</p> <p v-for="(rem,index) in scope.row.hear" :key="index">{{rem}}</p>
<p style="font-size:12px;color: #999999;" v-if="scope.row.label">{{scope.row.label}}</p> <p style="font-size:12px;color: #999999;" v-if="scope.row.label">{{scope.row.label}}</p>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="right" label="经验值/U币"> <el-table-column label="经验值/U币" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<p style="font-size:16px;color: #333333;font-weight: 600;" v-for="(val,index) in scope.row.value" :key="index">{{val}} <p style="font-size:16px;color: #333333;font-weight: 600;" v-for="(val,index) in scope.row.value" :key="index">{{val}}
</p> </p>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="upperlimit" align="right" label="每日上限"> <el-table-column prop="upperlimit" label="每日上限" align="center">
</el-table-column> </el-table-column>
</el-table> </el-table>
</div> </div>
<div class="box-table"> <div class="box-table">
<p class="table-title portal-title-tow"><span></span>知识贡献</p> <p class="table-title portal-title-tow"><span></span>知识贡献</p>
<el-table :data="tableList" style=""> <el-table :data="tableList" style="">
<el-table-column prop="name" label="分类" width="180"> <el-table-column prop="name" label="分类" width="180" align="center">
</el-table-column> </el-table-column>
<el-table-column prop="name" label="描述" width="180"> <el-table-column prop="name" label="描述" width="180" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<p v-for="(rem,index) in scope.row.hear" :key="index">{{rem}}</p> <p v-for="(rem,index) in scope.row.hear" :key="index">{{rem}}</p>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="right" label="经验值/U币"> <el-table-column label="经验值/U币" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<p style="font-size:16px;color: #333333;font-weight: 600;" v-for="(val,index) in scope.row.value" <p style="font-size:16px;color: #333333;font-weight: 600;" v-for="(val,index) in scope.row.value"
:key="index">{{val}}</p> :key="index">{{val}}</p>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="upperlimit" align="right" label="每日上限"> <el-table-column prop="upperlimit" align="center" label="每日上限">
</el-table-column> </el-table-column>
</el-table> </el-table>
</div> </div>

View File

@@ -4,37 +4,37 @@
</Remark> --> </Remark> -->
<div style="padding:10px 0px 12px 22px"> <div style="padding:10px 0px 12px 22px">
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24" style="margin-bottom:20px">
<span class="uc-center-page" style="margin-right:90px">我的测评</span> <span class="uc-center-page" style="margin-right:90px">我的测评</span>
<el-input clearable placeholder="搜索名称" class="uc-input" v-model="keyword"></el-input> <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-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-button type="primary" icon="el-icon-refresh-right" class="search-btn" @click="reset">重置</el-button>
</el-col> </el-col>
<el-col :span="8" v-for="(item,index) in testList" :key="index"> <el-col :span="6" v-for="(item,index) in testList" :key="index">
<!-- @click="textdetail(item)" --> <!-- @click="textdetail(item)" -->
<div style="text-align: center;"> <div style="text-align: center;margin-top: 40px;">
<!-- @click="jumpRouter(item)" --> <!-- @click="jumpRouter(item)" -->
<section> <!-- <section> -->
<!-- <div @click="hasPermission(item)"> <!-- <div @click="hasPermission(item)">
</div> --> </div> -->
<a :href="hasPermission(item)" target="_blank"> <a :href="hasPermission(item)" target="_blank">
<img :src="getItem(item)" /> <img style="width: 150px;height: 200px;" :src="getItem(item)" />
<h5 class="ceping-tit one-line-ellipsis" v-html="$keywordActiveShow(item.title,keyword)"></h5> <p class="ceping-tit one-line-ellipsis" v-html="$keywordActiveShow(item.title,keyword)"></p>
<span class="ceping-conent">完成时间{{item.date}}</span> <p class="ceping-conent">完成时间{{item.date}}</p>
</a> </a>
</section> <!-- </section> -->
</div> </div>
</el-col> </el-col>
</el-row> </el-row>
<div v-if="testList.length > 0 " style="height:150px; text-align: center; margin-top: 10px; " > <div v-if="testList.length > 0 " style="height:150px; text-align: center; margin-top: 50px; " >
<el-pagination <el-pagination
background background
@size-change="handleSizeChange" @size-change="handleSizeChange"
@current-change="handleCurrentChange" @current-change="handleCurrentChange"
:page-sizes="[9, 18, 27, 36]" :page-sizes="[8, 16, 24, 36]"
:current-page="page" :current-page="page"
:page-size="size" :page-size="size"
layout="total, sizes, prev, pager, next, jumper" layout="total, sizes, prev, pager, next, jumper"
@@ -61,7 +61,7 @@
testList:'', testList:'',
total:0, total:0,
chaturl:'', chaturl:'',
size:9, size:8,
page:1, page:1,
} }
}, },
@@ -144,13 +144,16 @@
} }
.ceping-tit{ .ceping-tit{
color: #333; margin-top: 19px;
font-size: 17px; font-size: 18px;
line-height: 40px; font-weight: 600;
color: #333333;
} }
.ceping-conent{ .ceping-conent{
font-size: #666; font-size: #666;
font-size: 13px; font-size: 14px;
margin-top: 10px;
} }
.fenye{ .fenye{
@@ -175,47 +178,47 @@
.el-col:nth-of-type(){ .el-col:nth-of-type(){
} }
.el-col:not(:first-child){ // .el-col:not(:first-child){
position: relative; // position: relative;
padding: 20px; // padding: 20px;
padding-left: 40px; // padding-left: 40px;
border-radius: 4px; // border-radius: 4px;
>div{ // >div{
// width: 85%; // // width: 85%;
padding-bottom:100%; // padding-bottom:100%;
cursor: pointer; // cursor: pointer;
position: relative; // position: relative;
// box-shadow: 2px 2px 2px #888888; // // box-shadow: 2px 2px 2px #888888;
// box-shadow:0px 0px 2px #888888; // // box-shadow:0px 0px 2px #888888;
border-radius: 4px; // border-radius: 4px;
section{ // section{
border-radius: 4px; // border-radius: 4px;
position: absolute; // position: absolute;
left: 40%; // left: 40%;
top: 50%; // top: 50%;
// width: 96%; // // width: 96%;
// height: 78%; // // height: 78%;
transform: translate(-50%,-50%); // transform: translate(-50%,-50%);
// background: #f1f5fc; // // background: #f1f5fc;
// marin:0 auto; // // marin:0 auto;
// padding: 10px; // // padding: 10px;
border-box: box-sizing; // border-box: box-sizing;
display: flex; // display: flex;
flex-direction: column; // flex-direction: column;
justify-content: space-between; // justify-content: space-between;
img{ // img{
width: 194px; // width: 194px;
height: 109px; // height: 109px;
} // }
span{ // span{
// color:#303133; // // color:#303133;
// font-size: 12px; // // font-size: 12px;
} // }
h5{ // h5{
margin: 0; // margin: 0;
} // }
} // }
} // }
} // }
} }
</style> </style>

View File

@@ -84,24 +84,44 @@ export default {
histdata:[], histdata:[],
id:'', id:'',
timer:null, timer:null,
localStorageKey:'note-local-key',
localStorageJson:'',
rowNum:16 rowNum:16
}; };
}, },
mounted(){ mounted(){
this.id = this.$route.query.id; this.id = this.$route.query.id;
this.notedetail(); this.notedetail();
this.timer = setInterval(()=>{
this.savedata(1);
},30000);
let screenWidth = window.screen.availWidth; let screenWidth = window.screen.availWidth;
if (screenWidth <= 1440) { if (screenWidth <= 1440) {
this.editContent = 'edit-content-low'; this.editContent = 'edit-content-low';
this.rowNum = 11; this.rowNum = 11;
} }
//检查是事本地存在
this.localStorageJson= localStorage.getItem(this.localStorageKey);
if(this.localStorageJson){ //存在本地数据
this.loadLocalJson();
}
this.timer = setInterval(()=>{this.savedata(1);},30000);
}, },
methods:{ methods:{
loadLocalJson(){ //加载本地的数据
let $this=this;
this.$confirm('您有未保存的笔记,是否加载?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
let entity=JSON.parse($this.localStorageJson);
$this.editdata = entity;
$this.editdata.openTypeBackups = entity.openType;
$this.histId = entity.id;
}).catch(() => {
localStorage.removeItem(this.localStorageKey);
});
},
toCoursePage(){ toCoursePage(){
if(this.editdata.type==1){ if(this.editdata.type==1){
this.$router.push('/course/detail?id='+this.editdata.courseId); this.$router.push('/course/detail?id='+this.editdata.courseId);
@@ -126,7 +146,6 @@ export default {
this.editdata = res.result; this.editdata = res.result;
this.editdata.openTypeBackups = res.result.openType; this.editdata.openTypeBackups = res.result.openType;
this.histId = res.result.id; this.histId = res.result.id;
this.hist(); this.hist();
}) })
}, },
@@ -170,41 +189,45 @@ export default {
}, },
savedata(num){ savedata(num){
if(this.editdata.openTypeBackups == 1 && this.editdata.openType == 9) { if(this.editdata.openTypeBackups == 1 && this.editdata.openType == 9) {
this.$message({ this.$message({ message: '仅支持公开笔记转私密笔记!', type: 'warning' });
message: '仅支持公开笔记转私密笔记!',
type: 'warning'
});
this.editdata.openType == 1; this.editdata.openType == 1;
} }
if(num == 1) { if(num == 1) {
this.editdata.isAuto = true; this.editdata.isAuto = true;
} }
if(this.imgContent.length > 0) { if(this.imgContent.length > 0) {
this.editdata.content = this.imgContent.join(); this.editdata.content = this.imgContent.join();
} }
apiNote.update(this.editdata).then(res=>{ apiNote.update(this.editdata).then(res=>{
if(res.status == 200) { if(res.status == 200) {
sessionStorage.setItem('isShowTip',''); localStorage.removeItem(this.localStorageKey); //清空本地缓存
if(num ==1) {//自动保存 if(num ==1) {//自动保存
this.editdata.sysVersion += 1; this.editdata.sysVersion += 1;
this.isShowTip = '笔记自动保存成功'; this.isShowTip = '笔记自动保存成功';
setTimeout(()=>{ setTimeout(()=>{ this.isShowTip = ''; },10000*2)
this.isShowTip = '';
},10000*2)
} else { } else {
this.notedetail() this.notedetail()
this.$message({message: '笔记保存成功',type: 'success',center: true}); this.$message({message: '笔记保存成功',type: 'success',center: true});
// 跳转到笔记列表 //跳转到笔记列表
clearInterval(this.timer); clearInterval(this.timer);
this.timer = null; this.timer = null;
this.$router.go(-1); this.$router.go(-1);
} }
}else{
if(num ==1){
console.log('笔记保存失败:'+res.message);
}else{
this.$message({message: '笔记保存失败:'+res.message,type: 'error',center: true});
}
} }
}).catch(()=>{ }).catch(()=>{
let saveJsonStr = JSON.stringify(this.editdata);
//本地保存
localStorage.setItem(this.localStorageKey,saveJsonStr);
this.isShowTip = '当前网络异常,内容已离线保存,请尝试连接网络后重新保存!'; this.isShowTip = '当前网络异常,内容已离线保存,请尝试连接网络后重新保存!';
setTimeout(()=>{ this.isShowTip = ''; },10000 * 2) //this.$message({message: '当前网络异常,内容已离线保存,请尝试连接网络后重新保存!',type: 'warning',center: true});
sessionStorage.setItem('isShowTip',this.editdata.content); setTimeout(()=>{ this.isShowTip = ''; },10000 * 2);
}) })
} }
}, },
@@ -215,10 +238,13 @@ export default {
this.timer = null this.timer = null
}, },
destroyed(){ destroyed(){
if(this.timer!=null){
clearInterval(this.timer) clearInterval(this.timer)
this.timer = null this.timer = null
} }
}
} }
</script> </script>