mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/learning-system-portal.git
synced 2025-12-10 11:26:43 +08:00
Merge branch 'stat' of https://codeup.aliyun.com/6265f483e4166464dc2f9c14/boeu/portal into stat
This commit is contained in:
@@ -106,8 +106,8 @@ const ids=function (data){
|
||||
* }
|
||||
* */
|
||||
const exportExcel=function (data){
|
||||
// return ajax.postJsonToFile(baseURL,'/xboe/subgroup/m/noteinfo/exportExcel',data);
|
||||
return ajax.post(baseURL,'/xboe/subgroup/m/noteinfo/exportExcel',data);
|
||||
return ajax.postJsonToFile(baseURL,'/xboe/subgroup/m/noteinfo/exportExcel',data);
|
||||
// return ajax.post(baseURL,'/xboe/subgroup/m/noteinfo/exportExcel',data);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -48,6 +48,20 @@ const userDynamicList = function(data) {
|
||||
return ajax.post(baseURL,'/xboe/m/stat/userdynamic/list',data);
|
||||
}
|
||||
|
||||
/**
|
||||
* 用户动态,分页查询
|
||||
*
|
||||
* @param {
|
||||
pageIndex,
|
||||
pageSize,
|
||||
contentType:'',内容类型
|
||||
aid 数组
|
||||
} data
|
||||
*/
|
||||
const userDynamicfollows = function(data) {
|
||||
return ajax.postJson(baseURL,'/xboe/m/stat/userdynamic/follows',data);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取用户全部勋章
|
||||
* @param {String} aid 用户的id
|
||||
@@ -131,6 +145,7 @@ const getRanking = function(queryData) {
|
||||
}
|
||||
|
||||
|
||||
|
||||
export default {
|
||||
sendEvent,
|
||||
userTotal,
|
||||
@@ -142,5 +157,6 @@ export default {
|
||||
dynamicHide,
|
||||
exportUserCoinRecord,
|
||||
getRanking,
|
||||
getUserStatTotalInfo
|
||||
getUserStatTotalInfo,
|
||||
userDynamicfollows
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<el-row class="article-add">
|
||||
<el-form ref="form" :rules="rules" :model="addForm" label-position="right" label-width="80px">
|
||||
<el-form-item prop="title" label="标题">
|
||||
<el-input class="title-input" v-model.trim="addForm.title" placeholder="请输入文章标题,长度在 1 到 100 个字符" show-word-limit maxlength="100"></el-input>
|
||||
<el-input class="title-input" v-model.trim="addForm.title" placeholder="请输入文章标题,长度在 1 到 50 个字符" show-word-limit maxlength="50"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item class="imgInstructions" label="封面">
|
||||
<div class="el-form-item__content">
|
||||
|
||||
@@ -119,6 +119,7 @@
|
||||
apiFollow.remove(this.pageId).then(res=>{
|
||||
if(res.status == 200) {
|
||||
this.isFollowHas = false;
|
||||
this.$message.success("取消关注成功");
|
||||
} else {
|
||||
this.$message.error(res.message);
|
||||
}
|
||||
@@ -157,7 +158,7 @@
|
||||
toFollow() {
|
||||
apiFollow.save(this.pageId).then(res=>{
|
||||
if(res.status == 200) {
|
||||
this.$message.success(res.message);
|
||||
this.$message.success("关注成功");
|
||||
this.followHas();
|
||||
} else {
|
||||
this.$message.error(res.message);
|
||||
|
||||
@@ -57,7 +57,7 @@
|
||||
disableOnInteraction: false ,
|
||||
delay: 2000,
|
||||
},
|
||||
speed: 1000, //切换速度,即slider自动滑动开始到结束的时间(单位ms)
|
||||
speed: 2000, //切换速度,即slider自动滑动开始到结束的时间(单位ms)
|
||||
loop:true, //循环切换
|
||||
observe:true,
|
||||
peed: 300,//循环速度
|
||||
|
||||
@@ -362,7 +362,8 @@ text-align: center;
|
||||
// margin: 0 87px;
|
||||
height: 72px;
|
||||
display: flex;
|
||||
background: rgba(255,255,255,0.12);
|
||||
background: rgba(255,255,255,0.1);
|
||||
border: 1px solid rgba(61,61,61,0.15);
|
||||
backdrop-filter: blur(10px);
|
||||
}
|
||||
.portal-top{
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
<el-dialog :close-on-click-modal='false' title="提问题" label-width="80px" :visible.sync="askQuestionDialog">
|
||||
<!-- <el-form ref="askForm" :model="askForm" :rules="askFormRules" label-position="right" > -->
|
||||
<el-form-item label="标题:" prop="title">
|
||||
<el-input class="title-input" v-model="askForm.title" show-word-limit placeholder="请输入问题标题,字符长度不能高于100" maxlength="100"></el-input>
|
||||
<el-input class="title-input" v-model="askForm.title" show-word-limit placeholder="请输入问题标题,字符长度不能高于50" maxlength="50"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="封面">
|
||||
<imageUpload :value="imageShowUrl" dir="qa" width="410px" height="168px" @success="handleUploadSuccess" @remove="handleRemoveSuccess"></imageUpload>
|
||||
|
||||
@@ -1298,24 +1298,26 @@
|
||||
::v-deep .swiper-pagination{
|
||||
line-height: 25px;
|
||||
height: 32px;
|
||||
background: rgba(0,0,0,0.5);
|
||||
border-radius: 19px;
|
||||
// background: rgba($color: #000000, $alpha: 0.1);
|
||||
width: auto;
|
||||
left:48%;
|
||||
left:45%;
|
||||
padding: 0 20px;
|
||||
border-radius: 19px;
|
||||
.swiper-pagination-bullet{
|
||||
background: #000;
|
||||
width: 24px;
|
||||
height: 2px;
|
||||
background: rgba($color: #fff, $alpha: 0.5);
|
||||
background: #fff;
|
||||
opacity: 1 !important;
|
||||
// background: rgba($color: #fff, $alpha: 0.5);
|
||||
border-radius: 2px;
|
||||
}
|
||||
.swiper-pagination-bullet-active{
|
||||
height: 2px;
|
||||
opacity: 1 !important;
|
||||
width: 24px;
|
||||
background: rgba($color: #fff, $alpha: 0.8);
|
||||
background: #387DF7;
|
||||
// background: rgba($color: #fff, $alpha: 0.8);
|
||||
border-radius: 2px;
|
||||
}
|
||||
.swiper-container{
|
||||
|
||||
@@ -80,10 +80,10 @@
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="course-resources">
|
||||
<!-- <div class="course-resources"> -->
|
||||
<!-- 资源位 -->
|
||||
<img :src="fileBaseUrl + resonimg.image" alt="">
|
||||
</div>
|
||||
<!-- <img :src="fileBaseUrl + resonimg.image" alt=""> -->
|
||||
<!-- </div> -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -100,10 +100,10 @@
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="course-resources">
|
||||
<!-- <div class="course-resources"> -->
|
||||
<!-- 资源位 -->
|
||||
<img :src="fileBaseUrl + resonimg.image" alt="">
|
||||
</div>
|
||||
<!-- <img :src="fileBaseUrl + resonimg.image" alt=""> -->
|
||||
<!-- </div> -->
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
@@ -151,10 +151,10 @@
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="course-resources">
|
||||
<!-- <div class="course-resources"> -->
|
||||
<!-- 资源位 -->
|
||||
<img :src="fileBaseUrl + resonimg.image" alt="">
|
||||
</div>
|
||||
<!-- <img :src="fileBaseUrl + resonimg.image" alt=""> -->
|
||||
<!-- </div> -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
<div class="search-item">
|
||||
<div style="margin-top:10px; display: flex;">
|
||||
<div style="line-height: 25px;padding-right: 10px;">
|
||||
<img class="orgaicon" :src="`${webBaseUrl}/images/orgaimg.png`" alt="">
|
||||
<!-- <img class="orgaicon" :src="`${webBaseUrl}/images/orgaimg.png`" alt=""> -->
|
||||
<span class="item-title" >组织领域</span>
|
||||
<span class="item-line"></span>
|
||||
</div>
|
||||
@@ -33,7 +33,7 @@
|
||||
|
||||
<div style="margin-top:10px; display: flex;">
|
||||
<div style="line-height: 25px;padding-right: 10px;">
|
||||
<img class="orgaicon" :src="`${webBaseUrl}/images/specimg.png`" alt="">
|
||||
<!-- <img class="orgaicon" :src="`${webBaseUrl}/images/specimg.png`" alt=""> -->
|
||||
<span class="item-title" >专业分类</span>
|
||||
<span class="item-line"></span>
|
||||
</div>
|
||||
@@ -174,10 +174,10 @@
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="course-resources">
|
||||
<!-- <div class="course-resources"> -->
|
||||
<!-- 资源位 -->
|
||||
<img :src="fileBaseUrl + resonimg.image" alt="">
|
||||
</div>
|
||||
<!-- <img :src="fileBaseUrl + resonimg.image" alt=""> -->
|
||||
<!-- </div> -->
|
||||
</div>
|
||||
</div>
|
||||
<div style="height: 50px;"></div>
|
||||
@@ -776,7 +776,7 @@ export default {
|
||||
font-size: 18px;
|
||||
font-weight: 600;
|
||||
color: #333333;
|
||||
width: 73%;
|
||||
width: 67%;
|
||||
display: -webkit-box;
|
||||
overflow: hidden;
|
||||
word-break: break-all;
|
||||
|
||||
@@ -23,7 +23,8 @@
|
||||
<el-radio-group v-model="category" size="mini" @change="searchData">
|
||||
<el-radio-button :label="null">全部</el-radio-button>
|
||||
<el-radio-button :label="20">录播课</el-radio-button>
|
||||
<el-radio-button :label="30">线下课</el-radio-button>
|
||||
<el-radio-button :label="30">线下课 </el-radio-button>
|
||||
<el-radio-button class="couderbox"> <div class="coures-border"></div> </el-radio-button>
|
||||
<el-radio-button :label="40">学习项目</el-radio-button>
|
||||
</el-radio-group>
|
||||
</div>
|
||||
@@ -39,6 +40,7 @@
|
||||
<el-radio-group v-model="types.sysTypes" size="mini" @change="changeType">
|
||||
<el-radio-button :label="null">全部</el-radio-button>
|
||||
<el-radio-button v-for="item in optionsList" :key="item.id" :label="item.id">{{item.name}}</el-radio-button>
|
||||
<el-radio-button class="couderbox"> <div class="coures-border"></div> </el-radio-button>
|
||||
</el-radio-group>
|
||||
<span @click="jumUX()" class="Uxtext" style=""> U选小课堂
|
||||
<span class="uxicon">
|
||||
@@ -148,7 +150,7 @@
|
||||
</span>
|
||||
<span class="portal-title-desc title-line-ellipsis" v-if="item.images == ''" style="font-size: 14px;">{{ item.name }}</span>
|
||||
<span class="portal-title-desc" v-else style="font-size: 14px;">
|
||||
<img v-if="index == 0" class="rankimg" :src="fileBaseUrl + item.images" alt=""/>
|
||||
<!-- <img v-if="index == 0" class="rankimg" :src="fileBaseUrl + item.images" alt=""/> -->
|
||||
<span class="portal-images-title two-line-ellipsis">{{ item.name }}</span>
|
||||
</span>
|
||||
|
||||
@@ -195,7 +197,7 @@
|
||||
</span>
|
||||
<span class="portal-title-desc title-line-ellipsis" v-if="item.images == ''" style="font-size: 14px;">{{ item.name }}</span>
|
||||
<span class="portal-title-desc" v-else style="font-size: 14px;">
|
||||
<img v-if="index == 0" class="rankimg" :src="fileBaseUrl + item.images" alt=""/>
|
||||
<!-- <img v-if="index == 0" class="rankimg" :src="fileBaseUrl + item.images" alt=""/> -->
|
||||
<span class="portal-images-title two-line-ellipsis">{{ item.name }}</span>
|
||||
</span>
|
||||
|
||||
@@ -242,7 +244,7 @@
|
||||
</span>
|
||||
<span class="portal-title-desc title-line-ellipsis list-lidex" v-if="item.images == ''" style="font-size: 14px;">{{ item.courseName }}</span>
|
||||
<span class="portal-title-desc " v-else style="font-size: 14px;">
|
||||
<img v-if="index == 0" class="rankimg" :src="fileBaseUrl + item.images" alt=""/>
|
||||
<!-- <img v-if="index == 0" class="rankimg" :src="fileBaseUrl + item.images" alt=""/> -->
|
||||
<span class="portal-images-title two-line-ellipsis">{{ item.courseName }}</span>
|
||||
</span>
|
||||
<div class="list-active">
|
||||
@@ -267,10 +269,10 @@
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="course-resources">
|
||||
<!-- <div class="course-resources"> -->
|
||||
<!-- 资源位 -->
|
||||
<img :src="fileBaseUrl + resonimg.image" alt="">
|
||||
</div>
|
||||
<!-- <img :src="fileBaseUrl + resonimg.image" alt=""> -->
|
||||
<!-- </div> -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -874,6 +876,18 @@ export default {
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
.couderbox{
|
||||
// width: 5px;
|
||||
// padding: 0;
|
||||
// display: inline-block;
|
||||
// text-align: center;
|
||||
}
|
||||
.coures-border{
|
||||
width: 2px;
|
||||
height: 15px;
|
||||
border-radius: 20%;
|
||||
background: #666;
|
||||
}
|
||||
.notcoures{
|
||||
text-align: center;
|
||||
img{
|
||||
|
||||
@@ -165,7 +165,7 @@
|
||||
:class="rowIdx === con.answers.length - 1 ? 'comment-last' : ''">
|
||||
<div class="comment-top">
|
||||
<div class="comment-author">
|
||||
<author :aid="row.sysCreateAid" :avatar="row.avatar" :name="row.sysCreateBy" :sex="row.sex"></author>
|
||||
<author :aid="row.sysCreateAid" :avatar="row.avatar" :name="row.sysCreateBy" :sex="row.sex" :sign="row.sign"></author>
|
||||
<span class="comment-author-text">回复</span>
|
||||
<span style="margin-left: 10px; font-size:14px">{{ row.replayName }}</span>
|
||||
</div>
|
||||
@@ -257,10 +257,10 @@
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="course-resources">
|
||||
<!-- <div class="course-resources"> -->
|
||||
<!-- 资源位 -->
|
||||
<img :src="fileBaseUrl + resonimg.image" alt="">
|
||||
</div>
|
||||
<!-- <img :src="fileBaseUrl + resonimg.image" alt=""> -->
|
||||
<!-- </div> -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -520,6 +520,7 @@ export default {
|
||||
res.result.list.forEach(item => {
|
||||
item.avatar = "";
|
||||
item.sex = null;
|
||||
item.sign = " ";
|
||||
item.isAll = false;//字数过大时,显示隐藏控制
|
||||
allList.push(item);
|
||||
ids.push(item.sysCreateAid);
|
||||
@@ -527,6 +528,7 @@ export default {
|
||||
item.answers.forEach(answers => {
|
||||
answers.avatar = "";
|
||||
answers.sex = null;
|
||||
answers.sign = " ";
|
||||
answers.isAll = false;
|
||||
allList.push(answers);
|
||||
level3ParentIds.push(answers.id);
|
||||
@@ -934,8 +936,9 @@ export default {
|
||||
|
||||
.ranking-title {
|
||||
line-height: 34px;
|
||||
font-size: 15px;
|
||||
color: #333333;
|
||||
font-size: 24px;
|
||||
font-weight: 500;
|
||||
color: #000;
|
||||
|
||||
.center-titlt {
|
||||
font-size: 15px;
|
||||
|
||||
@@ -184,10 +184,10 @@
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="course-resources">
|
||||
<!-- <div class="course-resources"> -->
|
||||
资源位
|
||||
<img :src="fileBaseUrl + resonimg.image" alt="">
|
||||
</div>
|
||||
<!-- <img :src="fileBaseUrl + resonimg.image" alt=""> -->
|
||||
<!-- </div> -->
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
@@ -103,10 +103,10 @@
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="course-resources">
|
||||
<!-- <div class="course-resources"> -->
|
||||
<!-- 资源位 -->
|
||||
<img :src="fileBaseUrl + resonimg.image" alt="">
|
||||
</div>
|
||||
<!-- <img :src="fileBaseUrl + resonimg.image" alt=""> -->
|
||||
<!-- </div> -->
|
||||
</div>
|
||||
<!-- </div> -->
|
||||
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
<div v-else class="home-no-list" style="margin-top:150px">
|
||||
<img class="img" style="width:76px;height:76px" :src="`${webBaseUrl}/images/homeWu/u-wu.png`" alt=""
|
||||
srcset="">
|
||||
<p class="text">最近7天你可能太忙了,快开始 努力获得U币吧</p>
|
||||
<p class="text">最近7天你可能太忙了,快开始努力获得U币吧</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -110,8 +110,7 @@
|
||||
<div>.</div>
|
||||
<div>.</div>
|
||||
</div>
|
||||
<div class="table-hear" style="margin-top:40px;border-bottom: 1px solid #ddd;padding-bottom:20px"
|
||||
v-if="currentUserRankingData.authorInfo && currentUserRankingData.authorInfo.aid && currentUserRankingData.rankingNo>4">
|
||||
<div v-if="currentUserRankingData.rankingNo>4" class="table-hear" style="margin-top:40px;border-bottom: 1px solid #ddd;padding-bottom:20px">
|
||||
<div style="color: #0059FF;line-height: 40px;padding-left:15px;font-size: 16px;" class="tab-rank">
|
||||
{{currentUserRankingData.rankingNo}}</div>
|
||||
<div class="tab-name">
|
||||
|
||||
@@ -68,7 +68,7 @@
|
||||
<span style="margin-left:14px">{{item.openType == 9?'公开':'私密'}}</span>
|
||||
<h6>{{ item.sysUpdateTime }}</h6>
|
||||
</div>
|
||||
<div class="all-content">
|
||||
<div class="all-content" style="word-break:break-all;">
|
||||
<span v-if="item.contentType != 3">{{ item.content }}</span>
|
||||
<div v-else>
|
||||
<template v-for="img in item.content">
|
||||
|
||||
@@ -177,11 +177,11 @@ export default {
|
||||
},10000*2)
|
||||
} else {
|
||||
this.notedetail()
|
||||
this.$message({
|
||||
message: '笔记保存成功',
|
||||
type: 'success',
|
||||
center: true
|
||||
});
|
||||
this.$message({message: '笔记保存成功',type: 'success',center: true});
|
||||
// 跳转到笔记列表
|
||||
clearInterval(this.timer);
|
||||
this.timer = null;
|
||||
this.$router.go(-1);
|
||||
}
|
||||
} else {
|
||||
this.isShowTip = '当前网络异常,内容已离线保存,请尝试连接网络后重新自动上传!';
|
||||
|
||||
@@ -32,6 +32,8 @@
|
||||
我的经验值 : <span>{{currentUserRankingTotalData.rankValue}}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!--
|
||||
<div class="exp-bar">
|
||||
<h6> {{currentUserRankingTotalData.rankValue}}/{{currentUserRankingTotalData.endValue}}</h6>
|
||||
<div class="exp-barbox">
|
||||
@@ -42,7 +44,9 @@
|
||||
<span>{{current.end}}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="exp-table" style="margin-top:36px;height:500px;overflow-y:auto">
|
||||
-->
|
||||
|
||||
<div class="exp-table" style="margin-top:20px;height:600px;overflow-y:auto">
|
||||
<div class="table-hear">
|
||||
<div style="margin-left:5px">排名</div>
|
||||
<div style="margin-left:5px">姓名</div>
|
||||
@@ -72,10 +76,10 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="experience.data.rankingNo>4" class="omit">
|
||||
<div v-if="experience.data.rankingNo>5" class="omit">
|
||||
<div>.</div> <div>.</div> <div>.</div>
|
||||
</div>
|
||||
<div v-if="experience.data.rankingNo>4" class="table-hear" style="margin-top:40px;border-bottom: 1px solid #ddd;padding-bottom:20px">
|
||||
<div v-if="experience.data.rankingNo>5" class="table-hear" style="margin-top:40px;border-bottom: 1px solid #ddd;padding-bottom:20px">
|
||||
<div style="color: #0059FF;line-height: 40px;padding-left:15px;font-size: 16px;" class="tab-rank" >{{experience.data.rankingNo}}</div>
|
||||
<div class="tab-name" v-if="experience.data.authorInfo && experience.data.authorInfo.aid">
|
||||
<author-img :avatar="userInfo.avatar" :aid="experience.data.authorInfo.aid" :sex="experience.data.authorInfo.sex"></author-img>
|
||||
@@ -125,15 +129,14 @@
|
||||
我的排名 : <span> {{learningDurationTotalData.rankNo}}</span>
|
||||
</div>
|
||||
<div class="myexperience">
|
||||
我的学习时长: <span> {{formatSecondToHour(learningDurationTotalData.rankValue)}}</span> h
|
||||
我的学习时长: <span> {{formatSecondToHour(learningDurationTotalData.rankValue)}}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="exp-table" style="margin-top:20px;height:600px;overflow-y:auto">
|
||||
<div class="table-hear">
|
||||
<div style="margin-left:5px">排名</div>
|
||||
<div style="margin-left:5px">姓名</div>
|
||||
<!-- <div class="bm">学习时长:小时</div> -->
|
||||
<div style="margin-left:36%;">学习时长:小时</div>
|
||||
<div style="margin-left:36%;">学习时长</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="table-hear" style="margin-top:40px;border-bottom: 1px solid #ddd;padding-bottom:20px" v-for="(lan,idx) in learningDuration.list" :key="lan.id">
|
||||
@@ -361,7 +364,7 @@ export default {
|
||||
aid:this.userInfo.aid,// #用户id
|
||||
statType:20, // #统计类型 10学习时长 11 学习天数 20表经验值 30表u币 40表获取天数
|
||||
field:this.experience.field,// #统计周期 todays-当天,weeks-周,months-月,years-年 total-总计
|
||||
num:4,// #显示的条数
|
||||
num:5,// #显示的条数
|
||||
}
|
||||
apiStat.getRanking(data).then(res=>{
|
||||
if(res.status==200){
|
||||
|
||||
Reference in New Issue
Block a user