mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/learning-system-portal.git
synced 2025-12-11 03:46:44 +08:00
Merge branch 'stat' of https://codeup.aliyun.com/6265f483e4166464dc2f9c14/boeu/portal into stat
This commit is contained in:
@@ -347,11 +347,26 @@ const deleteSignUp=function(id,courseId){
|
||||
}
|
||||
|
||||
/**
|
||||
* 二次查询
|
||||
* 二次查询 用于个人主页/他人主页
|
||||
* {
|
||||
* ids [] 数组,是那个动态列表的contentId
|
||||
* aid 个人主页可以不传 他人主页传
|
||||
* }
|
||||
* */
|
||||
const ids=function (data){
|
||||
return ajax.postJson('/xboe/school/study/course/ids',data);
|
||||
}
|
||||
|
||||
/**
|
||||
* 二次查询 用于我的关注
|
||||
* {
|
||||
* ids [] 数组,是那个动态列表的contentId
|
||||
* aids 我关注的人的id 调完接口查询出的followId
|
||||
* }
|
||||
* */
|
||||
const followIds=function (data){
|
||||
return ajax.postJson('/xboe/school/study/course/follow-ids',data);
|
||||
}
|
||||
export default {
|
||||
hasSignup,
|
||||
signup,
|
||||
@@ -381,5 +396,6 @@ export default {
|
||||
myExamList2,
|
||||
myCourseStudy,
|
||||
deleteSignUp,
|
||||
ids
|
||||
ids,
|
||||
followIds
|
||||
}
|
||||
|
||||
@@ -512,11 +512,11 @@
|
||||
}
|
||||
|
||||
.xindex-ranking-article{
|
||||
height: 375px;
|
||||
height: 367px;
|
||||
}
|
||||
|
||||
.xindex-ranking-qa{
|
||||
height:124px;
|
||||
height:121px;
|
||||
}
|
||||
|
||||
.xindex-case {
|
||||
@@ -1008,7 +1008,8 @@
|
||||
margin-right: 30px;
|
||||
margin-bottom: 30px;
|
||||
border-radius: 8px;
|
||||
|
||||
background-color: #000000;
|
||||
|
||||
.xindex-course-image{
|
||||
width: 340px;
|
||||
height: 191px;
|
||||
@@ -1021,19 +1022,19 @@
|
||||
margin-top:30px;
|
||||
}
|
||||
.xindex-ranking-course{
|
||||
height: 616px;
|
||||
height: 612px;
|
||||
}
|
||||
|
||||
.xindex-ranking-case{
|
||||
height: 300px;
|
||||
height: 395.5px;
|
||||
}
|
||||
|
||||
.xindex-ranking-article{
|
||||
height: 455px;
|
||||
height: 452px;
|
||||
}
|
||||
|
||||
.xindex-ranking-qa{
|
||||
height:220px;
|
||||
height:222px;
|
||||
}
|
||||
|
||||
.xindex-case {
|
||||
@@ -1232,7 +1233,15 @@
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
.personal-panel{
|
||||
width: 356px;
|
||||
height: 370px;
|
||||
padding: 30px 45px;
|
||||
.personal-box{
|
||||
margin-top: 20px;
|
||||
margin-bottom: 28px;
|
||||
}
|
||||
}
|
||||
.medal-index{ // 勋章规则控制
|
||||
margin: 40px 60px 0 60px;
|
||||
}
|
||||
@@ -1261,19 +1270,20 @@
|
||||
margin-top:30px;
|
||||
}
|
||||
.xindex-ranking-course{
|
||||
height: 610px;
|
||||
|
||||
height: 630px;
|
||||
}
|
||||
|
||||
.xindex-ranking-case{
|
||||
height: 260px;
|
||||
height: 295.5px;
|
||||
}
|
||||
|
||||
.xindex-ranking-article{
|
||||
height: 420px;
|
||||
height: 452px;
|
||||
}
|
||||
|
||||
.xindex-ranking-qa{
|
||||
height:188px;
|
||||
height:222px;
|
||||
}
|
||||
.xindex-case {
|
||||
// padding-right: 30px;
|
||||
|
||||
@@ -12,7 +12,8 @@
|
||||
</div>
|
||||
</div>
|
||||
<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" :sign="item.sign"></authorInfo>
|
||||
<span class="userbq">{{ item.sign }}</span>
|
||||
<!-- <span style="margin-top:2px">发布时间:{{ item.cases.sysCreateTime || item.publishTime | timeFilter }}</span> -->
|
||||
<!-- <span style="margin-top:2px">收藏时间:{{ item.time || item.favoritesTime | timeFilter }}</span> -->
|
||||
<!-- <interactBar :type="0" :data="item.cases" :shares="false" :views="false"></interactBar> -->
|
||||
@@ -66,6 +67,11 @@
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.userbq{
|
||||
font-size: 14px;
|
||||
color: #666666;
|
||||
line-height: 35px;
|
||||
}
|
||||
.case-tit{
|
||||
color: #333333;
|
||||
font-size: 18px;
|
||||
|
||||
@@ -369,7 +369,7 @@ export default {
|
||||
content: "编辑了笔记",//this.mynoteData.content,//事件的内容
|
||||
objId: res.result.id,//关联的id
|
||||
objType: "6",//关联的类型
|
||||
objInfo: this.data.name +'&'+ this.score,
|
||||
objInfo: this.data.name,
|
||||
aid: this.userInfo.aid, //当前登录人的id
|
||||
aname: this.userInfo.name,//当前人的姓名
|
||||
status: 1 //状态,直接写1
|
||||
|
||||
@@ -9,8 +9,8 @@
|
||||
<svg-icon style="margin-right: 10px;font-size:22px;padding-top: 4px;" icon-class="eyes"></svg-icon>隐藏
|
||||
</span>
|
||||
</p>
|
||||
<h6 class="article-title-info follow-home-title" @click="jumpDetail(item)">{{item.info.title || item.contentInfo}}
|
||||
<span class="follow-hide" style="float:right" v-if="!isDynamic && personal && !item.hidden" @click="emitHide(item.id)">
|
||||
<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 && !item.hidden" @click="emitHide(item.id)">
|
||||
<svg-icon style="margin-right: 10px;font-size:22px;padding-top: 4px;" icon-class="eyes"></svg-icon>隐藏
|
||||
</span>
|
||||
</h6>
|
||||
@@ -31,7 +31,7 @@
|
||||
</ul>
|
||||
<div v-else class="home-no-list">
|
||||
<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>
|
||||
</template>
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
<router-link :to="'/case/detail?id='+item.info.id">
|
||||
<span class="case-tittext" v-html="item.info.title || item.contentInfo"></span>
|
||||
</router-link>
|
||||
<span class="follow-hide" v-if="!isDynamic && personal && !item.hidden" @click="emitHide(item.id)">
|
||||
<span class="follow-hide pointer" v-if="!isDynamic && personal && !item.hidden" @click="emitHide(item.id)">
|
||||
<svg-icon style="margin-right: 10px;font-size:22px;padding-top: 4px;" icon-class="eyes"></svg-icon>隐藏
|
||||
</span>
|
||||
</div>
|
||||
@@ -191,10 +191,11 @@ div {
|
||||
|
||||
.case-list {
|
||||
border-bottom: 1px solid rgba(153, 153, 153,.2);
|
||||
margin: 8px 0px;
|
||||
padding-top: 30px;
|
||||
// margin: 8px 0px;
|
||||
padding-bottom: 15px;
|
||||
padding-left: 5px;
|
||||
padding-right: 5px;
|
||||
// padding-left: 5px;
|
||||
// padding-right: 5px;
|
||||
}
|
||||
.case-image {
|
||||
width: 230px;
|
||||
|
||||
@@ -22,11 +22,11 @@
|
||||
<p class="portal-time">最新一次学习时间:{{item.eventTime}}</p>
|
||||
</div>
|
||||
<div style="width:150px">
|
||||
<div class="follow-hide" style="text-align: right;" v-if="!isDynamic && personal && !item.hidden" @click="emitHide(item.id)">
|
||||
<div class="follow-hide pointer" style="text-align: right;" v-if="!isDynamic && personal && !item.hidden" @click="emitHide(item.id)">
|
||||
<svg-icon style="margin-right: 10px;font-size:22px;padding-top: 4px;" icon-class="eyes"></svg-icon>隐藏
|
||||
</div>
|
||||
<div class="btn-right">
|
||||
<el-button class="btn" type="primary" @click="jumpDetail(item.info)">继续学习</el-button>
|
||||
<el-button class="btn" type="primary" @click="jumpDetail(item.info)">{{pageId == userInfo.aid || isFollow? '继续学习' : '我也去学'}}</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -43,13 +43,18 @@
|
||||
<script>
|
||||
import { toScore} from '@/utils/tools.js';
|
||||
import courseImage from "@/components/Course/courseImage.vue";
|
||||
import { mapGetters } from 'vuex'
|
||||
export default{
|
||||
data(){
|
||||
return{
|
||||
pageId:'',
|
||||
toScore,
|
||||
courseList:[]
|
||||
}
|
||||
},
|
||||
computed:{
|
||||
...mapGetters(['curIdentity','identity','userInfo']),
|
||||
},
|
||||
components: {
|
||||
courseImage,
|
||||
},
|
||||
@@ -71,6 +76,9 @@
|
||||
default:false,
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.pageId = this.$xpage.getHomeId(this.$route);
|
||||
},
|
||||
methods:{
|
||||
emitHide(id) {
|
||||
this.$emit('hideIndex',id)
|
||||
@@ -88,12 +96,12 @@
|
||||
<style lang="scss" scoped>
|
||||
.data-info-ul{
|
||||
margin: 0;
|
||||
padding-top: 32px;
|
||||
// padding-top: 32px;
|
||||
}
|
||||
.data-info{
|
||||
border-bottom: 1px solid rgba($color: #999999, $alpha: 0.2);
|
||||
padding-bottom: 38px;
|
||||
margin-bottom: 32px;
|
||||
padding-top: 32px;
|
||||
.data-cen{
|
||||
flex: 100%;
|
||||
margin: 0 28px;
|
||||
|
||||
@@ -142,6 +142,9 @@ import apiUser from "@/api/system/user.js";
|
||||
},
|
||||
mounted() {
|
||||
this.pageId = this.$xpage.getHomeId(this.$route);
|
||||
this.$bus.$on('followIndex',(num)=>{
|
||||
this.active = num;
|
||||
})
|
||||
},
|
||||
methods:{
|
||||
resetActive(){
|
||||
|
||||
@@ -51,7 +51,7 @@
|
||||
<div class="learning-qus">我的U币(累计)</div>
|
||||
<div class="learning-an"><span>{{statData.uvalue}}</span></div>
|
||||
</div>
|
||||
<div class="learning-info">
|
||||
<div class="learning-info" v-if="userInfo.aid == pageId">
|
||||
<div @click="jumrank" style="cursor: pointer;" class="ranking-link"> BOE 排行榜 >></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
<svg-icon style="margin-right: 10px;font-size:22px;padding-top: 4px;" icon-class="eyes"></svg-icon>隐藏
|
||||
</span>
|
||||
</p>
|
||||
<h6 class="note-title-info follow-home-title pointer"><span @click="jumpDetail(item)">{{processNoteTitles(item.contentInfo, 1)}}</span> <span style="color: #333333;font-weight: 400;font-size: 14px;margin-left: 20px;"></span> <span class="score-info" @click="jumpDetail(item)" style="margin-left:22px">{{processNoteTitles(item.contentInfo, 2)}}分</span>
|
||||
<h6 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="!isDynamic && personal && !item.hidden" @click="emitHide(item.id)">
|
||||
<svg-icon style="margin-right: 10px;font-size:22px;padding-top: 4px;" icon-class="eyes"></svg-icon>隐藏
|
||||
</span>
|
||||
@@ -66,20 +66,6 @@
|
||||
mounted() {
|
||||
},
|
||||
methods:{
|
||||
processNoteTitles(info,num) {
|
||||
if(info == null){
|
||||
return
|
||||
}
|
||||
if(info.indexOf('&')<0) {
|
||||
return 0;
|
||||
}
|
||||
let data = info.split('&');
|
||||
if(num ==1) {
|
||||
return data[0];
|
||||
} else {
|
||||
return this.toScore(Number(data[1]));
|
||||
}
|
||||
},
|
||||
jumpDetail(item){
|
||||
this.$router.push('/course/detail?id='+item.info.courseId)
|
||||
},
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
</span>
|
||||
</p>
|
||||
<h6 class="put-title-info follow-home-title">{{item.info.title || item.contentInfo}}
|
||||
<span class="portal-time follow-hide" style="float:right" v-if="!isDynamic && personal && !item.hidden" @click="emitHide(item.id)">
|
||||
<span class="portal-time follow-hide pointer" style="float:right" v-if="!isDynamic && personal && !item.hidden" @click="emitHide(item.id)">
|
||||
<svg-icon style="margin-right: 10px;font-size:22px;padding-top: 4px;" icon-class="eyes"></svg-icon>隐藏
|
||||
</span>
|
||||
</h6>
|
||||
|
||||
@@ -327,7 +327,9 @@ export default {
|
||||
}
|
||||
if(this.type==1){
|
||||
postData.title=this.data.name;
|
||||
}else{
|
||||
}else if(this.type == 5){
|
||||
postData.title=this.data.content;
|
||||
} else {
|
||||
postData.title=this.data.title;
|
||||
}
|
||||
if(this.loading) {
|
||||
@@ -350,7 +352,7 @@ export default {
|
||||
key: "cancelPraise",//
|
||||
title: "取消点赞",//事件的标题
|
||||
parameters:"author:"+this.data.sysCreateAid,//用户自定义参数 name:value,name:value
|
||||
content: "取消点赞"+this.data.title,//事件的内容
|
||||
content: "取消点赞"+postData.title,//事件的内容
|
||||
objId: this.data.id,//关联的id
|
||||
objType: this.type,//关联的类型
|
||||
objInfo: this.data.title,
|
||||
@@ -387,7 +389,7 @@ export default {
|
||||
key: "Praise",//后台的事件key 发布文章且审核通过
|
||||
title: "点赞",//事件的标题
|
||||
parameters:"author:"+this.data.sysCreateAid,//用户自定义参数 name:value,name:value
|
||||
content: "点赞"+this.data.title,//事件的内容
|
||||
content: "点赞"+postData.title,//事件的内容
|
||||
objId: this.data.id,//关联的id
|
||||
objType: this.type,//关联的类型
|
||||
objInfo: this.data.title,
|
||||
|
||||
@@ -77,7 +77,7 @@
|
||||
<el-badge class="person-action-index" :value="userMsg" :hidden="userMsg == 0">
|
||||
<el-tooltip content="消息" placement="bottom" effect="light" :visible-arrow="false" popper-class="text-tooltip">
|
||||
<el-link type="primary" :href="`${webBaseUrl}/message/center/index`" :underline="false">
|
||||
<svg-icon :style="{color:textColor}" style="margin-right: 0;font-size:26px;" icon-class="messfff"></svg-icon>
|
||||
<svg-icon :style="{color:textColor}" style="margin-right: 0;font-size:22px;" icon-class="messfff"></svg-icon>
|
||||
</el-link>
|
||||
</el-tooltip>
|
||||
</el-badge>
|
||||
|
||||
@@ -1,23 +1 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="26px" height="26px" viewBox="0 0 26 26" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<title>编组 2</title>
|
||||
<defs>
|
||||
<polygon id="path-1" points="5.0748738e-17 0 16 0 16 16 5.0748738e-17 16"></polygon>
|
||||
</defs>
|
||||
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<g id="1.首页备份" transform="translate(-1501.000000, -23.000000)">
|
||||
<g id="编组-17" transform="translate(1501.000000, 23.000000)">
|
||||
<g id="编组-2" opacity="0.222153437" fill="#4B4C51">
|
||||
<rect id="矩形备份" opacity="0.554573422" x="0" y="0" width="26" height="26" rx="13"></rect>
|
||||
</g>
|
||||
<g id="编组-12" transform="translate(5.000000, 5.000000)">
|
||||
<mask id="mask-2" fill="white">
|
||||
<use xlink:href="#path-1"></use>
|
||||
</mask>
|
||||
<g id="Clip-2"></g>
|
||||
<path d="M12.8940698,6.91998844 C12.8940698,4.7096267 11.2903046,2.85915676 9.12938721,2.36963668 L9.12938721,1.88001156 C9.12938721,1.28239788 8.62492049,0.8 7.99996704,0.8 C7.37507951,0.8 6.87061279,1.28239788 6.87061279,1.88001156 L6.87061279,2.36963668 C4.7096075,2.85915676 3.10593017,4.7096267 3.10593017,6.91998844 L3.10593017,10.8800168 L1.6,12.3199832 L1.6,13.0399559 L14.4,13.0399559 L14.4,12.3199832 L12.8940698,10.8800168 L12.8940698,6.91998844 Z M7.99996704,15.2 C8.10542588,15.2 8.20326092,15.1927728 8.30120581,15.1711961 C8.79055677,15.077557 9.19718845,14.7536333 9.38538853,14.3216161 C9.46074765,14.1487924 9.50589722,13.9615982 9.50589722,13.7599496 L6.49412476,13.7599496 C6.49412476,14.5519847 7.17176367,15.2 7.99996704,15.2 Z" id="Fill-1" fill="#333333" mask="url(#mask-2)"></path>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
<svg t="1665718817453" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="19903" width="64" height="64"><path d="M609.578667 806.826667a36.693333 36.693333 0 0 0-36.181334 37.12c0 34.816-27.434667 63.061333-61.269333 63.061333-33.834667 0-61.312-28.245333-61.312-63.018667a36.693333 36.693333 0 0 0-36.181333-37.162666 36.693333 36.693333 0 0 0-36.181334 37.12c0 75.776 59.946667 137.386667 133.674667 137.386666 73.685333 0 133.632-61.610667 133.632-137.386666a36.693333 36.693333 0 0 0-36.181333-37.12z m242.901333-125.013334c-53.034667-40.917333-84.736-105.984-84.736-174.08V371.285333c-2.858667-122.624-82.944-227.157333-194.986667-254.421333-3.797333-0.853333-7.594667-1.749333-11.434666-2.389333 1.92-5.546667 3.2-11.562667 3.2-17.92C564.48 66.901333 541.013333 42.666667 512 42.666667c-29.013333 0-52.522667 24.106667-52.522667 53.973333 0 6.314667 1.28 12.288 3.157334 17.962667a251.306667 251.306667 0 0 0-108.928 51.584 264.192 264.192 0 0 0-97.365334 205.781333v135.509333c0 68.138667-31.701333 133.205333-84.736 174.08-19.2 14.848-27.050667 40.533333-19.413333 64s28.842667 39.125333 52.821333 39.125334H285.44c0.853333 0.128 1.706667 0.128 2.432 0.128h530.773333c24.064 0 45.269333-15.701333 52.906667-39.168a57.258667 57.258667 0 0 0-19.072-63.872z" p-id="19904"></path></svg>
|
||||
|
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.3 KiB |
@@ -11,7 +11,6 @@ const getters = {
|
||||
orgId: state => state.user.orgId,
|
||||
permissions: state => state.user.permissions,
|
||||
identity: state => state.user.identity,
|
||||
attention: state => state.user.attention,
|
||||
intTimeNote: state => state.user.intTimeNote,
|
||||
curIdentity: state => state.user.curIdentity,
|
||||
permission_routes: state => state.permission.routes,
|
||||
|
||||
@@ -17,7 +17,6 @@ const user = {
|
||||
curIdentity: sessionStorage.getItem("curIdentity") == null ? 1 : sessionStorage.getItem("curIdentity"), // 用户当前选择的身份 1学员 2教师 3管理员
|
||||
permissions: [],
|
||||
intTimeNote:0,
|
||||
attention:false,
|
||||
},
|
||||
mutations: {
|
||||
SET_IntTimeNote: (state, u) => {
|
||||
@@ -45,15 +44,8 @@ const user = {
|
||||
SET_PERMISSIONS: (state, permissions) => {
|
||||
state.permissions = permissions
|
||||
},
|
||||
SET_Attention: (state, m)=>{
|
||||
state.attention = m
|
||||
}
|
||||
},
|
||||
actions: {
|
||||
// /用户触发事件
|
||||
setAttention({ commit }, iden) {
|
||||
commit('SET_Attention', iden);
|
||||
},
|
||||
// /用户触发事件
|
||||
userTrigger({ commit }, event) {
|
||||
event.source='page';
|
||||
|
||||
@@ -26,26 +26,30 @@
|
||||
<p class="personal-info">{{cutOrgNamePath(userInfo.departFullName)}}</p>
|
||||
<a href="uc/study/task">
|
||||
<div class="personal-box">
|
||||
<span>待 办</span>
|
||||
<span style="display:flex;">{{studyTaskCount? studyTaskCount:0 }} 个待处理
|
||||
<span>学习任务</span>
|
||||
<span style="display:flex;">{{studyTaskCount? studyTaskCount:0 }}个待学习
|
||||
<div class="tobe-icon">
|
||||
<img :src="`${webBaseUrl}/images/homeWu/Pending.png`" alt=""> </div>
|
||||
</span>
|
||||
<img class="personal-box-img" :src="`${webBaseUrl}/images/homeWu/agency.png`" alt="" srcset="">
|
||||
<!-- <img class="personal-box-img" :src="`${webBaseUrl}/images/homeWu/agency.png`" alt="" srcset=""> -->
|
||||
</div>
|
||||
</a>
|
||||
<ul class="personal-ul">
|
||||
<li>
|
||||
<span class="label"><router-link to="/user/ranking">累计学习</router-link></span>
|
||||
<router-link to="/user/ranking">
|
||||
<span class="label">累计学习</span>
|
||||
<p><span>{{userData.totalStudyHour}}</span>h</p>
|
||||
</router-link>
|
||||
</li>
|
||||
<!-- <li>
|
||||
<span class="label">经验值等级</span>
|
||||
<p><span>{{userData.level}}</span></p>
|
||||
</li> -->
|
||||
<li>
|
||||
<span class="label"><router-link to="/user/ucurrency">我的U币</router-link></span>
|
||||
<router-link to="/user/ucurrency">
|
||||
<span class="label">我的U币</span>
|
||||
<p><span>{{userData.uvalue}}</span>个</p>
|
||||
</router-link>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -67,7 +71,7 @@
|
||||
</span>
|
||||
</span>
|
||||
<span class="more">
|
||||
<router-link to="/course">查看更多</router-link>
|
||||
<router-link to="/course">查看更多>></router-link>
|
||||
</span>
|
||||
</div>
|
||||
<div class="modules-list">
|
||||
@@ -172,7 +176,7 @@
|
||||
<a :class="caseList.orderType==1?'current':''" @click="changeCaseOrder(1)">最新</a>
|
||||
</span>
|
||||
<span class="more">
|
||||
<router-link to="/case">查看更多</router-link>
|
||||
<router-link to="/case">查看更多>></router-link>
|
||||
</span>
|
||||
</div>
|
||||
<div class="modules-list">
|
||||
@@ -235,7 +239,7 @@
|
||||
<a :class="articleList.orderType == 1 ? 'current' : ''" @click="changeArticleOrder(1)">最新</a>
|
||||
</span>
|
||||
<span class="more">
|
||||
<router-link to="/article">查看更多</router-link>
|
||||
<router-link to="/article">查看更多>></router-link>
|
||||
</span>
|
||||
</div>
|
||||
<div class="modules-list">
|
||||
@@ -315,7 +319,7 @@
|
||||
</div>
|
||||
<!--内容块-->
|
||||
<div class="xcontent2-minor">
|
||||
<div style="margin-top:80px;padding-right:17px" class="portal-ranking ranking-bg">
|
||||
<div style="margin-top:82px;padding-right:17px" class="portal-ranking ranking-bg">
|
||||
<!-- 排行榜位置 -->
|
||||
<p class="ranking-title">文章排行榜</p>
|
||||
<ul class="xindex-ranking-article">
|
||||
@@ -342,7 +346,7 @@
|
||||
<a :class="qaList.orderType == '' ? 'current' : ''" @click="changeQaOrder('')">最新</a>
|
||||
</span>
|
||||
<span class="more">
|
||||
<router-link to="/qa">查看更多</router-link>
|
||||
<router-link to="/qa">查看更多>></router-link>
|
||||
</span>
|
||||
</div>
|
||||
<div class="modules-list">
|
||||
|
||||
@@ -7,11 +7,11 @@
|
||||
<router-view />
|
||||
<div class="home-page-right">
|
||||
<ul class="total-per">
|
||||
<li class="per-li pointer" @click="jumpAttention()">
|
||||
<li class="per-li pointer" @click="jumpAttention(2)">
|
||||
<span class="per-info">{{follow.passive}}</span>
|
||||
<span class="per-text">关注{{self?'我':'他'}}的人</span>
|
||||
</li>
|
||||
<li class="per-li pointer" @click="jumpAttention()">
|
||||
<li class="per-li pointer" @click="jumpAttention(1)">
|
||||
<span class="per-info">{{follow.initiative}}</span>
|
||||
<span class="per-text">{{self?'我':'他'}}关注的人</span>
|
||||
</li>
|
||||
@@ -30,10 +30,10 @@
|
||||
<div style="padding-top:16px">
|
||||
<p class="ach-title">您可能想关注的人</p>
|
||||
<ul>
|
||||
<li class="ava-info" v-for="ava in interestedList" :key="ava.aid">
|
||||
<li class="ava-info pointer" v-for="ava in interestedList" :key="ava.aid">
|
||||
<!-- <img :src="baseUrl + ava.avatar" style="width: 48px;height: 480x;border-radius: 50%;" /> -->
|
||||
<author v-if="ava.aid" :avatar="ava.avatar" :aid="ava.aid" :sex="ava.sex"></author>
|
||||
<div class="ava-text">
|
||||
<div class="ava-text pointer" @click="toHome(ava)">
|
||||
<p style="color: #333333;">{{ava.name}}</p>
|
||||
<p style="color: #666666;">{{ava.sign}}</p>
|
||||
</div>
|
||||
@@ -91,8 +91,12 @@
|
||||
}
|
||||
},
|
||||
methods:{
|
||||
jumpAttention() {// 点击事件跳转关注
|
||||
this.$store.dispatch("setAttention", true);
|
||||
toHome(ava) {
|
||||
this.$router.push({path:this.$xpage.getHomePath(ava.aid)})
|
||||
},
|
||||
jumpAttention(num) {// 点击事件跳转关注
|
||||
// this.$store.dispatch("setAttention", true);
|
||||
this.$bus.$emit('followIndex',num)
|
||||
},
|
||||
init(){
|
||||
this.getMedal();
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
<answer-list v-if="item.contentType == 5" :list="[item]" :isDynamic="true" :personal="personal" @hideIndex="dynamicHide"></answer-list>
|
||||
<article-list v-if="item.contentType == 2" :list="[item]" :isDynamic="true" :personal="personal" @hideIndex="dynamicHide"></article-list>
|
||||
</template>
|
||||
|
||||
</el-tab-pane>
|
||||
<el-tab-pane name="1">
|
||||
<span slot="label"><svg-icon icon-class="home-course" style="font-size: 30px;"></svg-icon><span class="tabs-info">课程</span></span>
|
||||
@@ -80,6 +79,7 @@
|
||||
import BookList from "@/components/HomePage/bookList.vue"
|
||||
import apiStat from '@/api/phase2/stat.js';
|
||||
import apiCourse from '@/api/modules/course.js'
|
||||
import apiCourseStudy from '@/api/modules/courseStudy.js'
|
||||
import apiArticle from '@/api/modules/article.js'
|
||||
import apiCases from '@/api/modules/cases.js'
|
||||
import apiQa from '@/api/modules/qa.js'
|
||||
@@ -93,7 +93,7 @@
|
||||
export default{
|
||||
components:{top,UcHeader,CaseList,CourseList,NoteList,PutList,AnswerList,ArticleList,FollowList,BookList},
|
||||
computed: {
|
||||
...mapGetters(['userInfo','majorTypeMap','orgDomainMap','attention']),
|
||||
...mapGetters(['userInfo','majorTypeMap','orgDomainMap']),
|
||||
},
|
||||
data(){
|
||||
return{
|
||||
@@ -137,12 +137,11 @@
|
||||
location.href=urlPre+process.env.VUE_APP_PUBLIC_PATH+this.$xpage.getHomePath(this.pageId);
|
||||
}
|
||||
},
|
||||
attention(val) {
|
||||
this.activeName = "7";
|
||||
},
|
||||
},
|
||||
mounted() {
|
||||
|
||||
this.$bus.$on('followIndex',(num)=>{
|
||||
this.activeName = "7";
|
||||
})
|
||||
},
|
||||
methods:{
|
||||
init(){
|
||||
@@ -157,6 +156,7 @@
|
||||
apiStat.dynamicHide(id).then(res=>{
|
||||
if(res.status == 200){
|
||||
this.$message.success('动态隐藏成功')
|
||||
this.getList();
|
||||
} else {
|
||||
this.$message.error(res.message);
|
||||
}
|
||||
@@ -189,6 +189,8 @@
|
||||
let ids = res.result.list.map(item=>item.contentId);
|
||||
const noReapetIds = [...new Set(ids)];
|
||||
res.result.list.forEach(item=>{
|
||||
item.lastTime = '';
|
||||
item.progress = null;
|
||||
item.info = {};
|
||||
item.authorInfo = {
|
||||
aid: "",
|
||||
@@ -205,6 +207,7 @@
|
||||
if(this.activeName == 1){
|
||||
this.cousrePageList = res.result.list
|
||||
this.getCourse(noReapetIds,res.result.list);
|
||||
this.getCourseProgress(noReapetIds,res.result.list);
|
||||
}
|
||||
if(this.activeName == 2) {
|
||||
this.articlePageList = res.result.list;
|
||||
@@ -302,6 +305,21 @@
|
||||
return val1 < val2 ? rev * -1 : rev * 1;
|
||||
};
|
||||
},
|
||||
getCourseProgress(ids,list) {
|
||||
apiCourseStudy.ids(ids).then((res)=>{
|
||||
console.log(res,'res');
|
||||
// list.forEach((item, index) => {
|
||||
// res.result.some(con => {
|
||||
// if (con.id == item.contentId) {
|
||||
// item.info = con;
|
||||
// return true;
|
||||
// } else {
|
||||
// return false;
|
||||
// }
|
||||
// });
|
||||
// });
|
||||
})
|
||||
},
|
||||
getAnswer(ids,list){
|
||||
if(ids.length == 0){
|
||||
return
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
<img class="img" style="width:360px;height:226px" :src="`${webBaseUrl}/images/homeWu/no-madel.png`" alt="" srcset="">
|
||||
<p class="text" style="color: #333333;margin-top:50px;font-size: 14px">您目前还没有勋章哦~</p>
|
||||
</div>
|
||||
<el-dialog class="medal-dialog" title="提示" :visible.sync="dialogVisible" width="657px" top="200px">
|
||||
<el-dialog class="medal-dialog" title="提示" :visible.sync="dialogVisible" width="657px" top="13%">
|
||||
<div class="medal-box">
|
||||
<div class="medal-top">
|
||||
<div>
|
||||
|
||||
@@ -250,11 +250,9 @@ export default {
|
||||
couresreso(){
|
||||
let key = 'case';
|
||||
apiPlace.detail(key).then(res=>{
|
||||
console.log(res)
|
||||
let lmj = JSON.parse(res.result.content)
|
||||
// console.log(lmj)
|
||||
this.resonimg = lmj[0]
|
||||
console.log(this.resonimg.image)
|
||||
})
|
||||
},
|
||||
retest(){
|
||||
|
||||
@@ -773,7 +773,7 @@ export default {
|
||||
line-height: 30px;
|
||||
display: flex;
|
||||
.case-tittext {
|
||||
font-size: 18px;
|
||||
font-size: 18px;
|
||||
font-weight: 600;
|
||||
color: #333333;
|
||||
width: 67%;
|
||||
|
||||
@@ -121,7 +121,7 @@
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
...mapGetters(['userInfo','majorTypeMap','orgDomainMap','attention']),
|
||||
...mapGetters(['userInfo','majorTypeMap','orgDomainMap']),
|
||||
},
|
||||
created() {
|
||||
apiFollow.list().then(res=>{
|
||||
|
||||
@@ -63,6 +63,8 @@
|
||||
我的经验值 : <span>{{currentUserRankingTotalData.rankValue}}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 注释经验值等级进度条
|
||||
<div class="exp-bar">
|
||||
<h6>{{currentUserRankingTotalData.rankValue}}/{{currentUserRankingTotalData.endValue}}</h6>
|
||||
<div class="exp-barbox">
|
||||
@@ -73,6 +75,8 @@
|
||||
<span>{{current.end}}</span>
|
||||
</div>
|
||||
</div>
|
||||
-->
|
||||
|
||||
<div class="exp-table" style="height:550px;overflow-y:auto">
|
||||
<div class="table-hear">
|
||||
<div style="margin-left:5px">排名</div>
|
||||
@@ -130,7 +134,7 @@
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<el-dialog :visible.sync="dialogVisible" :show-close="false" width="716px">
|
||||
<el-dialog :visible.sync="dialogVisible" :show-close="false" width="716px" top="13%">
|
||||
<div class="dialog-box">
|
||||
<div class="box-top">
|
||||
<p style="font-size: 26px;font-weight: 600;margin-bottom: 4px;">U币规则</p>
|
||||
@@ -179,9 +183,11 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!--
|
||||
<div class="dialog-close" @click="dialogVisible=false">
|
||||
<img style="width:86px;height:86px" :src="`${webBaseUrl}/images/homeWu/u-close.png`" alt="">
|
||||
</div>
|
||||
-->
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
<el-option label="已解决" :value="3"></el-option>
|
||||
</el-select>
|
||||
</el-col> -->
|
||||
<el-col :span="2"><span class="uc-center-page">我的收藏</span></el-col>
|
||||
<el-col :span="3"><span class="uc-center-page">我的收藏</span></el-col>
|
||||
<el-col :span="6"><el-input placeholder="标题查询" clearable v-model="keyword" style="margin-right: 20px"></el-input></el-col>
|
||||
<el-col :span="6">
|
||||
<el-button type="primary" icon="el-icon-search" @click="queryData" style="padding: 10px 15px;">搜索</el-button>
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<el-dropdown style="margin-left:15px" @command="exportCommand">
|
||||
<el-button>导出<i class="el-icon-arrow-down el-icon--right"></i></el-button>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<!--
|
||||
<!--
|
||||
<el-dropdown-item command="1">PDF</el-dropdown-item>
|
||||
-->
|
||||
<el-dropdown-item command="2">Excel</el-dropdown-item>
|
||||
@@ -63,8 +63,8 @@
|
||||
<div class="note-all-info" v-for="(item,idx) in datalist" :key="idx">
|
||||
<div class="all-title">
|
||||
<h3 :class="item.courseId != ''?'pointer':''" @click="routerTo(item)"> {{ item.courseName }} </h3>
|
||||
<div v-if="item.type==2">导入</div>
|
||||
<div v-if="item.playTime != ''"><img :src="`${webBaseUrl}/images/coteplay.png`" alt=""> {{ getHMS(item.playTime) }} </div>
|
||||
<div class="drbut" v-if="item.type==2">导入</div>
|
||||
<div class="butbox" v-if="item.playTime != ''"><img :src="`${webBaseUrl}/images/coteplay.png`" alt=""> {{ getHMS(item.playTime) }} </div>
|
||||
<span style="margin-left:14px">{{item.openType == 9?'公开':'私密'}}</span>
|
||||
<h6>{{ item.sysUpdateTime }}</h6>
|
||||
</div>
|
||||
@@ -72,7 +72,7 @@
|
||||
<span v-if="item.contentType != 3">{{ item.content }}</span>
|
||||
<div v-else>
|
||||
<template v-for="img in item.content">
|
||||
<img :src="fileBaseUrl + img" alt=""/>
|
||||
<img @click="showBigImg(fileBaseUrl + img)" :src="fileBaseUrl + img" alt=""/>
|
||||
</template>
|
||||
</div>
|
||||
</div>
|
||||
@@ -167,6 +167,14 @@
|
||||
</span>
|
||||
</el-dialog>
|
||||
|
||||
<!-- 图片放大框 -->
|
||||
<el-dialog
|
||||
:visible.sync="dialogVisibleBigImage"
|
||||
:close-on-click-modal="true"
|
||||
width="30%">
|
||||
<img :src="currentImagePath" style="width: 100%;" />
|
||||
</el-dialog>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -186,6 +194,8 @@ export default {
|
||||
},
|
||||
data(){
|
||||
return{
|
||||
dialogVisibleBigImage:false, // 显示图片放大框 true-显示弹框;false-隐藏弹框
|
||||
currentImagePath:'',
|
||||
userData:{},
|
||||
formatDate,
|
||||
formatDateShort,
|
||||
@@ -254,6 +264,12 @@ export default {
|
||||
});
|
||||
},
|
||||
methods: {
|
||||
// 笔记图片放大
|
||||
showBigImg(path){
|
||||
this.currentImagePath = path;
|
||||
this.dialogVisibleBigImage = true;
|
||||
},
|
||||
|
||||
routerTo(item) {
|
||||
if(item.courseId) {
|
||||
this.$router.push('/course/studyindex?id='+item.courseId);
|
||||
@@ -550,6 +566,19 @@ export default {
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.drbut{
|
||||
width: 80px;
|
||||
height: 30px;
|
||||
border-radius: 4px;
|
||||
border: 1px solid #3379FB;
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
color: #387DF7;
|
||||
line-height: 30px;
|
||||
text-align: center;
|
||||
float: left;
|
||||
margin: 0 20px;
|
||||
}
|
||||
::v-deep .el-dropdown-menu__item:not(.is-disabled):hover{
|
||||
background-color: #fff !important;
|
||||
color: #0059FF !important;
|
||||
@@ -714,7 +743,7 @@ export default {
|
||||
margin-top: 2px;
|
||||
display: inline-block;
|
||||
}
|
||||
div{
|
||||
.butbox{
|
||||
width: 120px;
|
||||
height: 30px;
|
||||
border-radius: 4px;
|
||||
|
||||
Reference in New Issue
Block a user