mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/learning-system-portal.git
synced 2025-12-13 21:06:42 +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;
|
|
||||||
}
|
}
|
||||||
@@ -2,10 +2,10 @@
|
|||||||
<el-dialog
|
<el-dialog
|
||||||
:close-on-click-modal="false"
|
:close-on-click-modal="false"
|
||||||
:visible.sync="interestCollection"
|
:visible.sync="interestCollection"
|
||||||
:append-to-body="true"
|
:append-to-body="true"
|
||||||
min-width="770px"
|
min-width="770px"
|
||||||
max-width="950px"
|
max-width="950px"
|
||||||
|
|
||||||
>
|
>
|
||||||
<div style="margin-top:10px">
|
<div style="margin-top:10px">
|
||||||
<div class="interest" v-for="(sys,index) in sysTypeListMap" :key="sys.id">
|
<div class="interest" v-for="(sys,index) in sysTypeListMap" :key="sys.id">
|
||||||
@@ -13,7 +13,7 @@
|
|||||||
<el-checkbox-group v-model="checkboxGroup" v-if="sys.children.length > 0">
|
<el-checkbox-group v-model="checkboxGroup" v-if="sys.children.length > 0">
|
||||||
<el-checkbox size="medium" border v-for="ch in sys.children" :label="ch.id" :key="ch.id">{{ch.name}}</el-checkbox>
|
<el-checkbox size="medium" border v-for="ch in sys.children" :label="ch.id" :key="ch.id">{{ch.name}}</el-checkbox>
|
||||||
</el-checkbox-group>
|
</el-checkbox-group>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div slot="footer" class="dialog-footer">
|
<div slot="footer" class="dialog-footer">
|
||||||
<div><el-button type="primary" class="btn-one" @click="saveInterest()">生成我的兴趣偏好</el-button></div>
|
<div><el-button type="primary" class="btn-one" @click="saveInterest()">生成我的兴趣偏好</el-button></div>
|
||||||
@@ -35,27 +35,32 @@
|
|||||||
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() {
|
||||||
this.getSysTypeTree().then(rs => {
|
this.getSysTypeTree().then(rs => {
|
||||||
this.sysTypeListMap = rs;
|
this.sysTypeListMap = rs;
|
||||||
@@ -98,10 +103,10 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
watch:{
|
watch:{
|
||||||
|
|
||||||
},
|
},
|
||||||
computed:{
|
computed:{
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -112,7 +117,7 @@
|
|||||||
margin-left: 0 !important;
|
margin-left: 0 !important;
|
||||||
}
|
}
|
||||||
::v-deep .el-dialog{
|
::v-deep .el-dialog{
|
||||||
background: #fff url('/images/homeWu/interest.png') no-repeat;
|
background: #fff url('/images/homeWu/interest.png') no-repeat;
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
// height: 840px;
|
// height: 840px;
|
||||||
}
|
}
|
||||||
@@ -124,7 +129,7 @@
|
|||||||
margin-bottom: 20px;
|
margin-bottom: 20px;
|
||||||
margin-left: 0px;
|
margin-left: 0px;
|
||||||
margin-right: 23px;
|
margin-right: 23px;
|
||||||
}
|
}
|
||||||
.el-checkbox.is-bordered.is-checked{
|
.el-checkbox.is-bordered.is-checked{
|
||||||
border-color: #4677F4;
|
border-color: #4677F4;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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']),
|
||||||
|
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
<p class="personal-name">{{userInfo.name}} {{userInfo.userNo}}
|
<p class="personal-name">{{userInfo.name}} {{userInfo.userNo}}
|
||||||
<span class="grade">LV.1</span>
|
<span class="grade">LV.1</span>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p class="personal-info">{{userInfo.departName}}</p>
|
<p class="personal-info">{{userInfo.departName}}</p>
|
||||||
<!-- <a href="../study/task.vue"> -->
|
<!-- <a href="../study/task.vue"> -->
|
||||||
<div class="personal-box"><span>代办</span><span>3个待处理 <img src="/images/homeWu/Pending.png" alt=""> </span> <img class="personal-box-img"
|
<div class="personal-box"><span>代办</span><span>3个待处理 <img src="/images/homeWu/Pending.png" alt=""> </span> <img class="personal-box-img"
|
||||||
@@ -142,7 +142,7 @@
|
|||||||
<interactBar :type="1" :data="item" :couseViews="true" :shares="false" :views="false"></interactBar>
|
<interactBar :type="1" :data="item" :couseViews="true" :shares="false" :views="false"></interactBar>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
@@ -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')
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
@@ -588,7 +590,7 @@
|
|||||||
window.open('https://m.qingxuetang.com/x/?appId=qxtcorp306130', '_blank');
|
window.open('https://m.qingxuetang.com/x/?appId=qxtcorp306130', '_blank');
|
||||||
},
|
},
|
||||||
toCourseDetail(item) {
|
toCourseDetail(item) {
|
||||||
|
|
||||||
if (item.type == 10) {
|
if (item.type == 10) {
|
||||||
return this.webBaseUrl + '/course/micro?id=' + item.id;
|
return this.webBaseUrl + '/course/micro?id=' + item.id;
|
||||||
} else if (item.type == 20) {
|
} else if (item.type == 20) {
|
||||||
@@ -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