mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/learning-system-portal.git
synced 2025-12-14 05:16:43 +08:00
Merge branch 'stat' of https://codeup.aliyun.com/6265f483e4166464dc2f9c14/boeu/portal into stat
This commit is contained in:
@@ -442,7 +442,6 @@
|
|||||||
.xindex-content{
|
.xindex-content{
|
||||||
width: 1100px;
|
width: 1100px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.personal-panel{
|
.personal-panel{
|
||||||
width: 300px;
|
width: 300px;
|
||||||
height: 320px;
|
height: 320px;
|
||||||
@@ -687,9 +686,6 @@
|
|||||||
@media screen and (max-width: 1680px) and (min-width:1367px){
|
@media screen and (max-width: 1680px) and (min-width:1367px){
|
||||||
.xindex-content{
|
.xindex-content{
|
||||||
width: 1366px;
|
width: 1366px;
|
||||||
}
|
|
||||||
.interestwid{
|
|
||||||
|
|
||||||
}
|
}
|
||||||
.personal-panel{
|
.personal-panel{
|
||||||
width: 356px;
|
width: 356px;
|
||||||
|
|||||||
@@ -3,12 +3,8 @@
|
|||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
}
|
}
|
||||||
.qa-solve{
|
.qa-solve{
|
||||||
color:#387DF7;
|
color:#08A890;
|
||||||
margin-left: -10px;
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
.qa-unSolve{
|
.qa-unSolve{
|
||||||
color:#333;
|
color:#333;
|
||||||
margin-left: -10px;
|
|
||||||
}
|
}
|
||||||
@@ -35,25 +35,30 @@
|
|||||||
return {
|
return {
|
||||||
checkboxGroup:[],
|
checkboxGroup:[],
|
||||||
interestCollection:false,// 兴趣采集
|
interestCollection:false,// 兴趣采集
|
||||||
sysTypeListMap:[]
|
sysTypeListMap:[],
|
||||||
|
btn_insterest_status:0,
|
||||||
|
dialog_session_show:0
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
// this.userAvatar=require("@/assets/images/user/default.png");
|
// this.userAvatar=require("@/assets/images/user/default.png");
|
||||||
apiUserhobby.has().then(res=>{
|
apiUserhobby.has().then(res=>{
|
||||||
if(res.status == 200) {
|
if(res.status != 200) {return;}
|
||||||
|
// 1. 判断用户是否选择过兴趣偏好
|
||||||
|
if(res.data == false){
|
||||||
|
this.interestCollection = true;
|
||||||
|
}
|
||||||
|
// 2. 判断用户是否点击过"暂不选择"按钮,如果用户点击过"暂不选择"按钮则判断点击"暂不选择"按钮天数是否大于15天,如果大于则弹出兴趣偏好框,否则不弹
|
||||||
let time = localStorage.getItem('notYet');
|
let time = localStorage.getItem('notYet');
|
||||||
if(time == '') {
|
if(time == '') {
|
||||||
this.interestCollection = true;
|
this.interestCollection = true;
|
||||||
} else {
|
} else {
|
||||||
let time = localStorage.getItem('notYet');
|
|
||||||
let day = (new Date() - new Date(time))/(1000*60*60*24);
|
let day = (new Date() - new Date(time))/(1000*60*60*24);
|
||||||
if(day > 15){
|
if(day > 15){this.interestCollection = true;}
|
||||||
this.interestCollection = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
// 3. 判断用户是否点击"关闭"按钮,如果点击"关闭"按钮则在当前session不在弹窗
|
||||||
|
let dialog_session_show = localStorage.getItem('dialog_session_show');
|
||||||
|
if(dialog_session_show == 1){this.interestCollection = false;}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
|
|||||||
@@ -155,7 +155,8 @@ export default {
|
|||||||
default: 0,
|
default: 0,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
components:{InterestCollection,GuideBox},
|
|
||||||
|
// components:{InterestCollection,GuideBox}, // 注释兴趣爱好弹窗显示
|
||||||
computed: {
|
computed: {
|
||||||
...mapGetters(['userInfo', 'userMsg','identity']),
|
...mapGetters(['userInfo', 'userMsg','identity']),
|
||||||
|
|
||||||
|
|||||||
@@ -180,8 +180,7 @@
|
|||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="case-inter">
|
<div class="case-inter">
|
||||||
<div class="case-inter-box">
|
<div>
|
||||||
<div class="case-inter-left">
|
|
||||||
<authorInfo :avatar="ca.authorInfo.avatar" :info="ca.authorInfo.orgInfo" :name="ca.authorInfo.name"
|
<authorInfo :avatar="ca.authorInfo.avatar" :info="ca.authorInfo.orgInfo" :name="ca.authorInfo.name"
|
||||||
:sex="ca.authorInfo.sex"></authorInfo>
|
:sex="ca.authorInfo.sex"></authorInfo>
|
||||||
</div>
|
</div>
|
||||||
@@ -190,8 +189,6 @@
|
|||||||
<interactBar :type="3" :readonly="true" :comments="false" :praises="false" :favorites="false"
|
<interactBar :type="3" :readonly="true" :comments="false" :praises="false" :favorites="false"
|
||||||
:data="ca" :shares="false" :views="true"></interactBar>人观看
|
:data="ca" :shares="false" :views="true"></interactBar>人观看
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- -->
|
<!-- -->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -215,7 +212,7 @@
|
|||||||
<!-- 推荐文章 -->
|
<!-- 推荐文章 -->
|
||||||
<div class="modules xcontent2">
|
<div class="modules xcontent2">
|
||||||
<div class="xcontent2-main">
|
<div class="xcontent2-main">
|
||||||
<div class="modules-title" style="margin-top:22px;">
|
<div class="modules-title">
|
||||||
<span class="modules-text">推荐文章</span>
|
<span class="modules-text">推荐文章</span>
|
||||||
<span class="quyer-tag">
|
<span class="quyer-tag">
|
||||||
<a :class="articleList.orderType == 2 ? 'current' : ''" @click="changeArticleOrder(2)">最热</a>
|
<a :class="articleList.orderType == 2 ? 'current' : ''" @click="changeArticleOrder(2)">最热</a>
|
||||||
@@ -322,7 +319,7 @@
|
|||||||
<div class="modules xcontent2">
|
<div class="modules xcontent2">
|
||||||
<div class="xcontent2-main">
|
<div class="xcontent2-main">
|
||||||
<!--内容块-->
|
<!--内容块-->
|
||||||
<div class="modules-title" style="margin-top:22px;">
|
<div class="modules-title">
|
||||||
<span class="modules-text">推荐问答</span>
|
<span class="modules-text">推荐问答</span>
|
||||||
<span class="quyer-tag">
|
<span class="quyer-tag">
|
||||||
<a :class="qaList.orderType == 'praises' ? 'current' : ''" @click="changeQaOrder('praises')">最热</a>
|
<a :class="qaList.orderType == 'praises' ? 'current' : ''" @click="changeQaOrder('praises')">最热</a>
|
||||||
@@ -377,13 +374,13 @@
|
|||||||
</div>
|
</div>
|
||||||
<portal-footer></portal-footer>
|
<portal-footer></portal-footer>
|
||||||
<portalFloatTools></portalFloatTools>
|
<portalFloatTools></portalFloatTools>
|
||||||
|
<interest-Collection></interest-Collection> <!-- 兴趣偏好 -->
|
||||||
|
<guide-box></guide-box> <!-- 引导页 -->
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import {
|
import { mapGetters } from 'vuex';
|
||||||
mapGetters
|
|
||||||
} from 'vuex';
|
|
||||||
import portalHeader from '@/components/PortalHeader.vue';
|
import portalHeader from '@/components/PortalHeader.vue';
|
||||||
import portalFooter from '@/components/PortalFooter.vue';
|
import portalFooter from '@/components/PortalFooter.vue';
|
||||||
import portalFloatTools from '@/components/PortalFloatTools.vue';
|
import portalFloatTools from '@/components/PortalFloatTools.vue';
|
||||||
@@ -399,6 +396,8 @@
|
|||||||
import interactRowBar from '@/components/Portal/interactRowBar.vue';
|
import interactRowBar from '@/components/Portal/interactRowBar.vue';
|
||||||
import courseImage from '@/components/Course/courseImage.vue';
|
import courseImage from '@/components/Course/courseImage.vue';
|
||||||
import articleImage from '@/components/Article/articleImage.vue';
|
import articleImage from '@/components/Article/articleImage.vue';
|
||||||
|
import InterestCollection from '@/components/Portal/interestCollection.vue'
|
||||||
|
import GuideBox from '@/components/Portal/guideBox.vue'
|
||||||
import {
|
import {
|
||||||
toScore,
|
toScore,
|
||||||
cutFullName
|
cutFullName
|
||||||
@@ -412,6 +411,8 @@
|
|||||||
import apiStart from '@/api/phase2/stat.js'
|
import apiStart from '@/api/phase2/stat.js'
|
||||||
import apiIndex from '@/api/phase2/index.js'
|
import apiIndex from '@/api/phase2/index.js'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'index',
|
name: 'index',
|
||||||
components: {
|
components: {
|
||||||
@@ -424,7 +425,9 @@
|
|||||||
authorInfo,
|
authorInfo,
|
||||||
interactRowBar,
|
interactRowBar,
|
||||||
interactBar,
|
interactBar,
|
||||||
courseImage
|
courseImage,
|
||||||
|
InterestCollection,
|
||||||
|
GuideBox
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
...mapGetters(['userInfo'])
|
...mapGetters(['userInfo'])
|
||||||
@@ -542,10 +545,9 @@
|
|||||||
|
|
||||||
},
|
},
|
||||||
getAnkingData() { // 文章排行榜
|
getAnkingData() { // 文章排行榜
|
||||||
apiIndex.articleViews(10).then(res => {
|
apiIndex.articleViews(7).then(res => {
|
||||||
if (res.status == 200) {
|
if (res.status == 200) {
|
||||||
this.ankingList = res.result;
|
this.ankingList = res.result;
|
||||||
console.log(this.ankingList,'111')
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
@@ -1225,20 +1227,13 @@
|
|||||||
|
|
||||||
.case-inter {
|
.case-inter {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
width: 100%;
|
// left: 30px;
|
||||||
.case-inter-box{
|
// bottom: 30px;
|
||||||
display: flex;
|
display: flex;
|
||||||
margin-right: 35px;
|
// ::v-deep .el-avatar--small{
|
||||||
|
// width: 32px;
|
||||||
.case-inter-left{
|
// height: 32px;
|
||||||
flex: 1;
|
// }
|
||||||
}
|
|
||||||
.interact-bar-index{
|
|
||||||
margin-left: auto;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.case-top {
|
.case-top {
|
||||||
|
|||||||
@@ -28,6 +28,7 @@
|
|||||||
</router-link>
|
</router-link>
|
||||||
<!--body-->
|
<!--body-->
|
||||||
<div class="article-body" style="display: flex;justify-content: space-between;">
|
<div class="article-body" style="display: flex;justify-content: space-between;">
|
||||||
|
|
||||||
<div style="flex: 1;">
|
<div style="flex: 1;">
|
||||||
<router-link :to="'article/detail?id=' + article.id">
|
<router-link :to="'article/detail?id=' + article.id">
|
||||||
<div style="padding-top: 5px;">
|
<div style="padding-top: 5px;">
|
||||||
@@ -47,7 +48,7 @@
|
|||||||
<author :avatar="article.authorInfo.avatar" :name="article.sysCreateBy" :sex="article.authorInfo.sex" :aid="article.authorInfo.aid"></author>
|
<author :avatar="article.authorInfo.avatar" :name="article.sysCreateBy" :sex="article.authorInfo.sex" :aid="article.authorInfo.aid"></author>
|
||||||
</div>
|
</div>
|
||||||
<div style="">
|
<div style="">
|
||||||
<interactBar nodeWidth="60px" :readonly="true" :type="2" :data="article" :shares="false" :views="false"></interactBar>
|
<interactBar nodeWidth="60px" :readonly="true" :type="2" :data="article" :views="false"></interactBar>
|
||||||
</div>
|
</div>
|
||||||
<!-- <author :avatar="article.authorInfo.avatar" :name="article.sysCreateBy" :info="article.authorInfo.orgInfo"></author> -->
|
<!-- <author :avatar="article.authorInfo.avatar" :name="article.sysCreateBy" :info="article.authorInfo.orgInfo"></author> -->
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -831,9 +831,8 @@ export default {
|
|||||||
color: #333333;
|
color: #333333;
|
||||||
}
|
}
|
||||||
.answer-content{
|
.answer-content{
|
||||||
margin-top: 20px;
|
margin-top: 27px;
|
||||||
display: flex;
|
display: flex;
|
||||||
margin-bottom: 45px;
|
|
||||||
input{
|
input{
|
||||||
flex: 1;
|
flex: 1;
|
||||||
height: 81px;
|
height: 81px;
|
||||||
@@ -993,7 +992,7 @@ export default {
|
|||||||
.answer-body {
|
.answer-body {
|
||||||
padding-left: 40px;
|
padding-left: 40px;
|
||||||
.answer-text {
|
.answer-text {
|
||||||
margin: 6px 0 0px;
|
margin: 6px 0 15px;
|
||||||
line-height: 24px;
|
line-height: 24px;
|
||||||
height: 48px;
|
height: 48px;
|
||||||
white-space: pre-wrap;
|
white-space: pre-wrap;
|
||||||
@@ -1131,9 +1130,9 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.answer-reply-box {
|
.answer-reply-box {
|
||||||
margin-top: 30px;
|
margin-top: 10px;
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
padding: 30px 40px;
|
padding: 58px 67px;
|
||||||
}
|
}
|
||||||
|
|
||||||
// ::v-deep .publishAnswer {
|
// ::v-deep .publishAnswer {
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
<div style="padding-top:30px" class="portal-content">
|
<div style="padding-top:30px" class="portal-content">
|
||||||
|
|
||||||
<div class="xcontent2">
|
<div class="xcontent2">
|
||||||
<div class="xcontent2-main" style="margin-right: 30px;background-color: #fff;">
|
<div class="xcontent2-main" style="margin-right: 30px;background-color: #fff;padding-top: 50px;">
|
||||||
<div>
|
<div>
|
||||||
<div class="left-div">
|
<div class="left-div">
|
||||||
<div class="order-div">
|
<div class="order-div">
|
||||||
@@ -36,8 +36,8 @@
|
|||||||
<div class="qa-info">
|
<div class="qa-info">
|
||||||
<div class="qa-info-title" @click="jumpDetail(qa)">
|
<div class="qa-info-title" @click="jumpDetail(qa)">
|
||||||
<div class="portal-title-tow one-line-ellipsis">
|
<div class="portal-title-tow one-line-ellipsis">
|
||||||
<span class="qa-solve" v-if="qa.isResolve == false" @click="searchData()">【待解决】</span>
|
<span v-if="qa.isResolve == false" @click="searchData()">【待解决】</span>
|
||||||
<span class="qa-basic qa-unSolve" v-if="qa.isResolve == true" @click="searchData()">【已解决】</span>
|
<span class="qa-basic qa-solve" v-if="qa.isResolve == true" @click="searchData()">【已解决】</span>
|
||||||
<span v-html="$keywordActiveShow(qa.title,queryKeyWord)"></span>
|
<span v-html="$keywordActiveShow(qa.title,queryKeyWord)"></span>
|
||||||
</div>
|
</div>
|
||||||
<div class="portal-time">
|
<div class="portal-time">
|
||||||
|
|||||||
@@ -643,6 +643,8 @@
|
|||||||
}
|
}
|
||||||
.experience{
|
.experience{
|
||||||
flex: 1;
|
flex: 1;
|
||||||
|
margin-right: 118px;
|
||||||
|
|
||||||
.exp-hear{
|
.exp-hear{
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 65px;
|
height: 65px;
|
||||||
|
|||||||
@@ -421,7 +421,7 @@
|
|||||||
margin-left: 0px;
|
margin-left: 0px;
|
||||||
margin-right: 48px;
|
margin-right: 48px;
|
||||||
}
|
}
|
||||||
::v-deep .el-checkbox+.el-checkbox.is-bordered{
|
::v-deep .el-checkbox.is-bordered+.el-checkbox.is-bordered{
|
||||||
margin-left: 0px;
|
margin-left: 0px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user