Merge remote-tracking branch 'origin/stat' into stat

This commit is contained in:
86182
2022-10-09 19:44:28 +08:00
36 changed files with 4435 additions and 5240 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 242 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 812 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

View File

@@ -21,8 +21,14 @@ const treeList = function (query) {
const listByParent = function (parentId) {
return ajax.get('/xboe/org/list-by-parent?parentId='+parentId);
}
export default {
treeList,
listByParent
const getSimple = function (id) {
return ajax.get('/xboe/org/simple?id='+id);
}
export default {
treeList,
listByParent,
getSimple
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

View File

@@ -18,7 +18,7 @@
overflow: hidden;
text-overflow:ellipsis;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
-webkit-line-clamp:2;
}
.index-one-line-ellipsis{
display: -webkit-box;

View File

@@ -3,11 +3,10 @@
//首页版心内容区域
.xindex-content {
font-family: 'Noto Sans SC';
padding-top: 20px;
margin: 26px auto;
}
.xindex-row{
display: inline-block;
}
// 课程卡片
.xindex-course{
display: inline-block;
@@ -20,7 +19,7 @@
box-sizing: border-box;
position: relative;
background-color: #ffffff;
border-radius: 8px;
.cor-praises {
position: absolute;
right: 50px;
@@ -93,19 +92,6 @@
}
}
}
// .cor-icon {
// position: absolute;
// left: 100px;
// top: 54px;
// border-radius: 50%;
// background: rgba(88, 138, 252, 0.37);
// .el-icon-caret-right {
// font-size: 36px;
// color: #588afc;
// }
// }
.course-title {
margin: 16px 0 16px 0;
height: 44px;
@@ -155,7 +141,7 @@
}
}
}
.course-score-no {
.course-score-no {
text-align: right;
font-size: 14px;
color: #6B7C85;
@@ -165,8 +151,8 @@
-ms-user-select: none; /*IE10*/
-khtml-user-select: none; /*早期浏览器*/
user-select: none;
}
.course-score-value {
}
.course-score-value {
font-size: 14px;
// margin-top: 5px;
margin-left: 32px;
@@ -179,68 +165,65 @@
-khtml-user-select: none; /*早期浏览器*/
user-select: none;
// font-size: 30px;
}
.cardmark {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(101, 101, 101, 0.8);
pointer-events: none;
border-radius: 5px;
padding: 10px;
opacity: 0;
-webkit-transition: all 1.5s;
-moz-transition: all 1.5s;
-ms-transition: all 1.5s;
-o-transition: all 1.5s;
transition: all 1.5s;
.cardmark-name {
font-size: 18px;
}
//以下是几种右边排行内容,因为高度需要变化不同,所以需要单独宝义
.xindex-ranking-li{
cursor: pointer;
line-height: 30px;
font-weight: 600;
color: #fff;
display: flex;
position: relative;
.span {
display: flex;
}
.cardmark-info {
color: #fff;
font-size: 14px;
line-height: 20px;
}
}
.xindex-course:hover .cardmark {
opacity: 1;
}
.xindex-ranking-li:hover .list-active {
// transition: all 0.5s;
display: block;
}
.xindex-ranking{
min-width: 300px;
border-radius: 8px;
padding: 30px;
.xindex-ranking-title{
font-size: 24px;
font-family: FZLTCHJW--GB1-0, FZLTCHJW--GB1;
font-weight: 600;
color: #000000;
line-height: 28px;
}
.course-index-list{
height: 410px;
.xindex-ranking-course{
margin: 0px;
padding: 0px;
//overflow-y: auto;
}
.xindex-ranking-case{
//height: 114px;
margin: 0px;
padding: 0px;
overflow-y: auto;
}
.case-index-list{
height: 114px;
}
.xindex-ranking-article{
margin: 0px;
padding: 0px;
overflow-y: auto;
}
.anking-index-list{
height: 320px;
}
.xindex-ranking-qa{
margin: 0px;
padding: 0px;
overflow-y: auto;
}
.qa-index-qa{
height: 64px;
overflow-y: auto;
}
}
}
//每块区域
.xindex-case {
display: inline-block;
vertical-align: top;
width: 33.33%;
padding-right: 20px;
}
.xindex-qa {
display: inline-block;
vertical-align: top;
width: 25%;
padding-right: 20px;
}
.nav-bottbor{
width: 75%;
height: 4px;
@@ -249,8 +232,8 @@
position: absolute;
top: 75%;
left: 13%;
}
.current-nav {
}
.current-nav {
color: #387DF7;
font-weight: 700;
>a{
@@ -259,7 +242,7 @@
}
// background: #588afc;
// border-bottom: 4px solid;
}
}
.portal-right-text{
font-size: 24px;
font-family: JCHEadA;
@@ -355,22 +338,21 @@
.pink-three{
color: #EE4685;
}
.list-bg{
background: url('/images/qa-box.png') no-repeat 100% / 100%;
// background: linear-gradient(180deg, #C3DEF8 0%, #FFFFFF 37%);
}
.list-bg1{
background: url('/images/list-or.png') no-repeat 100% / 100%;
}
.list-bg2{
background: url('/images/list-pink.png') no-repeat 100% / 100%;
}
.art-bgimg{
background: url('/images/contribute.png') no-repeat 100% / 100%;
background-position:top;
}
// .list-bg{
// background: url('/images/qa-box.png') no-repeat 100% / 100%;
// // background: linear-gradient(180deg, #C3DEF8 0%, #FFFFFF 37%);
// }
// .list-bg1{
// background: url('/images/list-or.png') no-repeat 100% / 100%;
// }
// .list-bg2{
// background: url('/images/list-pink.png') no-repeat 100% / 100%;
// }
// .art-bgimg{
// background: url('/images/contribute.png') no-repeat top left;
// background-size: cover;
// }
.portal-images-title{
display: inline-block;
vertical-align: top;
padding: 2px 12px;
line-height: 24px;
@@ -458,10 +440,21 @@
@media screen and (max-width: 1366px){
.xindex-content{
width: 1100px;
}
.personal-panel{
width: 300px;
height: 320px;
padding: 25px 40px;
.personal-box {
margin-left: 0px;
margin-top: 0px;
margin-bottom: 0px;
}
}
//课程卡片样式
.xindex-course{
width: 240px;
width: 255px;
padding: 20px;
margin-right: 20px;
margin-bottom: 20px;
@@ -470,37 +463,49 @@
bottom: 16px;
}
.course-image-box{
width: 200px;
height: 114px;
width: 220px;
height: 123px;
::v-deep .course-image{
height: 100% !important;
}
}
}
.xindex-ranking{
width: 300px;
.xindex-ranking-li{
margin-top:15px;
}
.boe-index{
width: 235px;
padding: 20px;
margin-right: 20px;
margin-bottom: 20px;
.course-image-box{
width: 200px;
height: 114px;
::v-deep .course-image{
height: 100% !important;
.xindex-ranking-course{
height: 450px;
}
.xindex-ranking-case{
height: 170px;
}
// .course-image-box :hover .el-image{
// z-index: 999;
// position: absolute;
// top: 0px;
// left: 0px;
// width: 195px !important;
// height: 92px !important;
.xindex-ranking-article{
height: 375px;
}
.xindex-ranking-qa{
height:124px;
}
.xindex-case {
padding-right: 20px;
}
// .boe-index{
// width: 235px;
// padding: 20px;
// margin-right: 20px;
// margin-bottom: 20px;
// .course-image-box{
// width: 200px;
// height: 114px;
// ::v-deep .course-image{
// height: 100% !important;
// }
// }
// }
}
.case-inter{
left: 20px;
bottom:20px;
@@ -516,7 +521,6 @@
margin-right: 20px;
}
.boe-case-index{
width: 235px;
height: 246px;
margin-right: 20px;
.case-top{
@@ -548,7 +552,6 @@
}
}
.boe-qa-index{
width: 171px;
height: 194px;
margin-right: 20px;
padding: 17px 12px 16px 12px;
@@ -676,9 +679,19 @@
@media screen and (max-width: 1680px) and (min-width:1367px){
.xindex-content{
width: 1366px;
}
.personal-panel{
width: 356px;
height: 370px;
padding: 30px 45px;
.personal-box{
// margin-left: 16px;
margin-top: 20px;
margin-bottom: 28px;
}
}
.xindex-course{
width: 330px;
width: 320px;
padding: 25px;
margin-right: 20px;
margin-bottom: 20px;
@@ -694,38 +707,30 @@
}
}
}
.portal-right-box{
width: 344px;
.course-index-list{
height: 548px;
overflow-y: auto;
.xindex-ranking-li{
margin-top:20px;
}
.case-index-list{
height: 230px;
overflow-y: auto;
.xindex-ranking-course{
height: 535px;
}
.anking-index-list{
height: 448px;
overflow-y: auto;
.xindex-ranking-case{
height: 260px;
}
.qa-index-qa{
height: 145px;
overflow-y: auto;
}
}
.boe-index{
width: 350px;
padding: 25px;
margin-right: 20px;
margin-bottom: 20px;
.course-image-box{
width: 300px;
height: 170px;
::v-deep .course-image{
height: 100% !important;
.xindex-ranking-article{
height: 445px;
}
.xindex-ranking-qa{
height:175px;
}
.xindex-case {
padding-right: 20px;
}
.case-inter{
left: 20px;
bottom:20px;
@@ -738,12 +743,10 @@
}
}
.modules-list{
margin-right: 30px;
margin-right: 10px;
}
.boe-case-index{
width: 350px;
height: 361px;
margin-right: 36px;
.case-top{
height: 69px;
}
@@ -775,7 +778,7 @@
}
}
.boe-qa-index{
width: 254px;
height: 276px;
margin-right: 36px;
padding: 30px;
@@ -895,60 +898,58 @@
@media screen and (max-width: 1920px) and (min-width: 1681px){
.xindex-content{
width: 1640px;
width: 1690px;
}
.personal-panel{
width: 356px;
height: 370px;
padding: 30px 45px;
.personal-box{
margin-top: 20px;
margin-bottom: 28px;
}
}
.xindex-course{
width: 410px;
width: 400px;
padding: 30px;
margin-right: 36px;
margin-bottom: 36px;
margin-right: 30px;
margin-bottom: 30px;
border-radius: 8px;
.cor-praises {
right: 50px;
bottom: 26px;
}
.course-image-box{
width: 350px;
height: 196x;
width: 340px;
height: 191x;
::v-deep .course-image{
height: 100% !important;
}
}
}
.xindex-ranking-li{
margin-top:30px;
}
.xindex-ranking-course{
height: 646px;
}
.portal-right-box{
width: 410px;
.course-index-list{
height: 548px;
overflow-y: auto;
.xindex-ranking-case{
height: 300px;
}
.case-index-list{
height: 262px;
overflow-y: auto;
}
.anking-index-list{
height: 425px;
overflow-y: auto;
}
.qa-index-qa{
height: 188px;
overflow-y: auto;
}
}
.boe-index{
width: 410px;
padding: 30px;
margin-right: 36px;
margin-bottom: 36px;
border-radius: 8px;
.course-image-box{
width: 350px;
height: 196x;
::v-deep .course-image{
height: 100% !important;
.xindex-ranking-article{
height: 455px;
}
.xindex-ranking-qa{
height:220px;
}
.xindex-case {
padding-right: 30px;
}
.case-inter{
left: 20px;
bottom:20px;
@@ -963,10 +964,8 @@
.modules-list{
margin-right: 36px;
}
.boe-case-index{
width: 410px;
.boe-case-index{
height: 396px;
margin-right: 36px;
.case-top{
height: 120px;
}
@@ -997,8 +996,8 @@
}
}
.boe-qa-index{
width: 298px;
.boe-qa-index{
height: 320px;
margin-right: 36px;
padding: 30px;
@@ -1048,8 +1047,8 @@
color: #6E7B84;
}
}
}
.boe-article-index{
}
.boe-article-index{
padding: 30px;
.article-card-left{
width: 352px;
@@ -1118,7 +1117,7 @@
}
}
}
}
}
@media screen and (min-width: 1921px){
@@ -1144,39 +1143,28 @@
}
}
.portal-right-box{
width: 410px;
.course-index-list{
height: 548px;
overflow-y: auto;
.xindex-ranking-li{
margin-top:30px;
}
.case-index-list{
height: 262px;
overflow-y: auto;
.xindex-ranking-course{
height: 610px;
}
.anking-index-list{
height: 425px;
overflow-y: auto;
.xindex-ranking-case{
height: 260px;
}
.qa-index-qa{
height: 188px;
overflow-y: auto;
}
}
.boe-index{
width: 410px;
padding: 30px;
margin-right: 36px;
margin-bottom: 36px;
border-radius: 8px;
.course-image-box{
width: 350px;
height: 196x;
::v-deep .course-image{
height: 100% !important;
.xindex-ranking-article{
height: 420px;
}
.xindex-ranking-qa{
height:188px;
}
.xindex-case {
padding-right: 30px;
}
.case-inter{
left: 20px;
bottom:20px;
@@ -1191,10 +1179,8 @@
.modules-list{
margin-right: 36px;
}
.boe-case-index{
width: 410px;
.boe-case-index{
height: 396px;
margin-right: 36px;
.case-top{
height: 120px;
}
@@ -1224,9 +1210,9 @@
}
}
}
.boe-qa-index{
width: 298px;
}
.boe-qa-index{
height: 320px;
margin-right: 36px;
padding: 30px;
@@ -1276,8 +1262,8 @@
color: #6E7B84;
}
}
}
.boe-article-index{
}
.boe-article-index{
padding: 30px;
.article-card-left{
width: 352px;
@@ -1346,5 +1332,5 @@
}
}
}
}
}

View File

@@ -2,7 +2,11 @@
* 门户页面的一些通用样式定义在这里面
*/
body {margin: 0px;padding: 0px;}
//定义全局的核心区域宽度
.xcontent{
min-width: 1100px;
margin: 0px auto;
}
//[文章,案例,问答]详细页面内容部分
.xpage-detail-content{
padding: 50px;
@@ -24,6 +28,35 @@ body {margin: 0px;padding: 0px;}
color:#3d3d3d;
}
}
//课程详细页面banner部分
.xpage-coures-banner{
width: 100%;
height: 200px;
background-image: url('../../../public/images/couresdetail.png');
background-size: cover;
.bcourse-title{
color: #fff;
margin-top: 20px;
font-size: 20px;
}
.bcourse-score{
margin-left: 30px;
font-size: 16px;
}
.banner-crumbs{
color: #fff;
margin-top:40px;
.crumbs-first{
font-size: 16px;
}
.crumbs-line{
margin: 0px 10px;
}
.crumbs-last{
font-size: 18px;
}
}
}
//原样式,未修改
.portal-model-btn{// 写文章,发课程等按钮
@@ -41,6 +74,26 @@ body {margin: 0px;padding: 0px;}
}
//页面中的排行内容块
.portal-ranking{
border-radius: 8px;
padding: 30px;
// height: 544px;
// overflow-y: auto;
.ranking-title{
font-size: 24px;
font-family: FZLTCHJW--GB1-0, FZLTCHJW--GB1;
font-weight: 600;
color: #000000;
line-height: 28px;
padding-bottom:12px
}
.ranking-data{
min-height: 246px;
margin: 0px;
overflow-y: auto;
}
}
.portal-ranking-list{
border-radius: 8px;
padding: 30px;
// height: 544px;
@@ -59,6 +112,10 @@ body {margin: 0px;padding: 0px;}
// overflow-y: auto;
}
}
//排行块的背景
.ranking-bg{
background: url('/images/qa-box.png') no-repeat top left;
@@ -180,18 +237,13 @@ body {margin: 0px;padding: 0px;}
user-select: none;
}
.course-info { //图片下面的一行信息
// margin: 5px 15px;
// padding-bottom: 10px;
display: flex;
justify-content: space-between;
line-height: 30px;
.course-info-user{
font-size: 14px;
color: #6E7B84;
width: 60%;
.course-info-author{
}
flex: 1;
.course-info-studys {
margin-left: 12px;
-moz-user-select: none; /*火狐*/
@@ -203,7 +255,7 @@ body {margin: 0px;padding: 0px;}
}
.course-info-score{
display:flex;
width: 40%;
margin-left: auto;
::v-deep .cor-praises {
// position: absolute;
-moz-user-select: none; /*火狐*/
@@ -250,30 +302,45 @@ body {margin: 0px;padding: 0px;}
}
//以下是多分辨率的控制,注意,只是一些样式的高度,宽度,大小控制,非大小控制不要在这里写
@media screen and (max-width: 1366px){
.xcontent{width: 1100px;}
.xcontent2{
width: 1100px;
padding: 20px 5px;
}
.rankimg{
width:66px;
height:38px;
float: left;
}
.xcontent2-minor{
width: 234px;
width: 260px;
}
.portal-ranking{
padding: 30px 15px;
padding: 20px 15px;
.ranking-title{
font-size: 18px;
line-height: 25px;
padding-bottom:10px
}
}
.course-card {
padding:20px;
margin-right: 20px;
.course-image-box {
width: 200px;
width: 100%;
height: 114px;
}
}
}
@media screen and (max-width: 1680px) and (min-width:1367px){
.xcontent{width: 1366px;}
.xcontent2{
width: 1366px;
padding: 30px 20px;
}
.rankimg{
width:76px;
height:42px;
float: left;
}
.xcontent2-minor{
width: 300px;
@@ -292,14 +359,18 @@ body {margin: 0px;padding: 0px;}
}
@media screen and (max-width: 1920px) and (min-width: 1681px){
.xcontent{width: 1690px;}
.xcontent2{
width: 1640px;
padding: 30px 26px;
width: 1690px;
}
.rankimg{
width:86px;
height:42px;
float: left;
}
.xcontent2-minor{
width: 400px;
}
.portal-ranking{
padding: 30px 30px;
}
@@ -307,16 +378,21 @@ body {margin: 0px;padding: 0px;}
padding:25px;
margin-right: 25px;
.course-image-box {
width: 320px;
width: 100%;
height: 180px;
}
}
}
@media screen and (min-width: 1921px){
.xcontent{width: 1880px;}
.xcontent2{
width: 1880px;
padding: 30px 26px;
}
.rankimg{
width:96px;
height:52px;
float: left;
}
.xcontent2-minor{
width: 400px;

View File

@@ -1,6 +1,7 @@
/**
* 用户中心的一些通用样式,定义在这里面
*/
.uc-center-page{
font-size: 18px;
font-weight: 600;

View File

@@ -14,7 +14,7 @@
</div>
<div class="newcote-text">
<el-input type="textarea" :autofocus="true" placeholder="好记性不如烂笔头,记录些什么吧~"
v-model="mynoteData.content" maxlength="200" :autosize="{ minRows: 18, maxRows: 20}"
v-model="mynoteData.content" maxlength="200" :autosize="{ minRows: 8, maxRows: 20}"
show-word-limit>
</el-input>
</div>
@@ -66,7 +66,7 @@
<span class="sm">{{mynoteData.openType == 1?'公开':'私密'}}</span>
<svg-icon style="float:right;font-size:26px;margin-top:16px" icon-class="spot"></svg-icon>
</p>
<div class="newcote-content" style="margin-top:10px;height:436px">
<div class="newcote-content" style="margin-top:10px;min-height:236px;height: 100%;">
<div class="newcote-time" v-if="mynoteData.playTime != 0">
<img src="../../../public/images/coteplay.png" />
{{formatSeconds(mynoteData.playTime)}}
@@ -329,7 +329,6 @@ export default {
position: absolute;
bottom: 0;
right: 200px;
.box-text {
padding: 12px 16px;
width: 252px;
@@ -409,7 +408,7 @@ export default {
margin: 30px 0px;
box-sizing: border-box;
padding: 35px 30px;
height: 474px;
height: 100%;
background-color: #F5F5F5;
}
@@ -417,7 +416,7 @@ export default {
margin: 30px 0px;
box-sizing: border-box;
padding: 8px 30px;
height: 550px;
min-height: 300px;
overflow-y: auto;
background-color: #fff;
@@ -474,4 +473,3 @@ export default {
}
</style>

View File

@@ -15,7 +15,7 @@
<div class="user-content">
<div class="content-top">
<h6 content-bottom><router-link to="/homePage"> {{userData.data.name}}</router-link>
<h6 content-bottom><router-link to="/home/index"> {{userData.data.name}}</router-link>
</h6>
<div class="grade">
<div>{{userData.level}}</div>
@@ -23,7 +23,7 @@
</div>
<el-button round plain class="btn-user" size="small" v-if="pageId != userInfo.aid && !isFollowHas" @click="toFollow()">关注TA</el-button>
<el-button round plain class="btn-user" size="small" v-if="isFollowHas">已关注</el-button>
<el-button round plain class="btn-user" size="small"><router-link :to="'/homePage/leavingMessage?id='+pageId">去留言</router-link></el-button>
<el-button round plain class="btn-user" size="small"><router-link :to="'/home/leaving?id='+pageId">去留言</router-link></el-button>
</div>
<div class="content-bottom">
<p class="portal-summary-text">{{userData.data.sign}}</p>

View File

@@ -56,7 +56,7 @@
methods:{
toHome() {
// ,query:{id:item.objId || item.id}
this.$router.push({path:'/homePage?id='+this.aid})
this.$router.push({path:'/home/index?id='+this.aid})
}
},
watch:{

View File

@@ -73,7 +73,7 @@ import { userAvatarText } from "@/utils/tools.js";
methods:{
toHome() {
// ,query:{id:item.objId || item.id}
this.$router.push({path:'/homePage?id='+this.aid})
this.$router.push({path:'/home/index?id='+this.aid})
}
},
watch:{

View File

@@ -59,7 +59,7 @@
</div>
<div style="width: 90px;display: flex;justify-content: flex-end;">
<el-button @click="submit()" style="height: 52px;" type="primary">发布</el-button>
<el-button class="publish-button" @click="submit()" style="height: 30px;" type="primary">发布</el-button>
</div>
</div>
</div>
@@ -793,6 +793,11 @@
</script>
<style lang="scss" scoped>
.publish-button{
// line-height: 30px;
padding-top: 7px;
margin-top: 22px;
}
.anzhu{
font-size: 14px;
color: #999;

View File

@@ -70,14 +70,17 @@
}
},
created() {
//这里必须放在当前的Session存储中不能每次都调用
apiGuide.hasUser().then(res=>{
if(res.result) {
this.guideCollection = true;
} else {
this.guideCollection = false;
}
})
} else {
this.guideCollection = true;
//只是在显示时才调用
this.getlist();
}
});
},
mounted() {

View File

@@ -11,7 +11,7 @@
<!--列表内容-->
<div class="comments-items" v-show="listShow">
<!--一个评论-->
<div class="zan-wu" v-if="list.length == 0">暂无评论</div>
<div class="zan-wu" v-if="list.length == 0">暂无公开笔记</div>
<div class="comment" v-for="(com,comIdx) in list" :key="com.id">
<div class="comment-top">
<div class="comment-author">

View File

@@ -1,31 +1,35 @@
<template>
<div class="portal-header">
<div class="portal-top">
<div class="portal-top" :style="{color:textColor}">
<div class="portal-top-left">
<div class="portal-top-logo">
<img src="../assets/logo/logo.png" v-if="current == 'qa'" style="width:160px;height: 27px;" />
<img src="../assets/logo/logo2.png" v-else style="width:160px;height: 27px;" />
<img src="../assets/logo/logo-white.png" v-if="textColor == '#fff' || textColor == '#ffffff'" style="width:160px;height: 27px;" />
<img src="../assets/logo/logo.png" v-else style="width:160px;height: 27px;" />
</div>
<div class="portal-top-nav">
<div class="top-nav" :class="current == 'index' ? 'current-nav' : ''">
<router-link to="/index">首页
<div class="top-nav" :style="{color:textColor}" :class="current == 'index' ? activeNav : ''">
<router-link to="/index" >首页
<div :class="current == 'index' ? 'nav-bottbor' : ''"></div>
</router-link></div>
<div class="top-nav" :class="current == 'course' ? 'current-nav' : ''">
</router-link>
</div>
<div class="top-nav" :style="{color:textColor}" :class="current == 'course' ? activeNav : ''">
<router-link to="/course">课程
<div :class="current == 'course' ? 'nav-bottbor' : ''"></div>
</router-link></div>
<div class="top-nav" :class="current == 'article' ? 'current-nav' : ''">
</router-link>
</div>
<div class="top-nav" :style="{color:textColor}" :class="current == 'article' ? activeNav : ''">
<router-link to="/article">文章
<div :class="current == 'article' ? 'nav-bottbor' : ''"></div>
</router-link></div>
<div class="top-nav" :class="current == 'qa' ? 'current-nav' : ''">
<router-link to="/qa">问答
</router-link>
</div>
<div class="top-nav" :style="{color:textColor}" :class="current == 'qa' ? activeNav : ''">
<router-link to="/qa" >问答
<div :class="current == 'qa' ? 'nav-bottbor' : ''"></div>
</router-link></div>
</router-link>
</div>
<div class="top-nav">
<el-dropdown placement="bottom" @command="handleCommand">
<span class="el-dropdown-link" style="font-size:16px;cursor: pointer;">专区</span>
<span class="el-dropdown-link" style="font-size:16px;cursor: pointer;" :style="{color:textColor}">专区</span>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item command="one">BOE系列公开课</el-dropdown-item>
<el-dropdown-item command="two" divided>Grow180</el-dropdown-item>
@@ -35,12 +39,16 @@
</el-dropdown-menu>
</el-dropdown>
</div>
<div class="top-nav" :class="current == 'case' ? 'current-nav' : ''"><router-link to="/case">推荐案例
<div class="top-nav" :style="{color:textColor}" :class="current == 'case' ? activeNav : ''">
<router-link to="/case">推荐案例
<div :class="current == 'case' ? 'nav-bottbor' : ''"></div>
</router-link></div>
<div class="top-nav" :class="current == 'follow' ? 'current-nav' : ''"><router-link to="/follow">我的关注
</router-link>
</div>
<div class="top-nav" :style="{color:textColor}" :class="current == 'follow' ? activeNav : ''">
<router-link to="/follow">我的关注
<div :class="current == 'follow' ? 'nav-bottbor' : ''"></div>
</router-link></div>
</router-link>
</div>
</div>
</div>
<div class="portal-top-right">
@@ -75,8 +83,8 @@
<div class="person-action-item">
<el-dropdown class="person-action-index">
<span class="el-dropdown-link">
<span v-if="current == 'qa'" style="color: #333;">学员</span>
<span v-else style="color: #fff;">学员</span><i class="el-icon-arrow-down el-icon--right"></i>
<span :style="{color:textColor}">学员</span>
<i class="el-icon-arrow-down el-icon--right"></i>
</span>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item><router-link to="/index">学员</router-link></el-dropdown-item>
@@ -87,7 +95,7 @@
</div>
<div class="person-action-item">
<el-dropdown>
<div class="el-dropdown-link" style="display:flex">
<div class="el-dropdown-link" style="display:flex" :style="{color:textColor}">
<div class="person-action-index">
<div v-if="userInfo.avatar !== '' " class="user-avatar">
<img :src="userInfo.avatar" style="width: 30px;height: 30px;"/>
@@ -97,21 +105,21 @@
<div v-else><img src="../../public/images/Avatarwoman.png" alt=""></div>
</div>
</div>
<div v-if="current == 'qa'" style="color:#333333 ;font-size: 14px;font-weight: 600;margin-top: 10px;">{{userInfo.name}}</div>
<div v-else style="color:#fff;font-size: 14px;font-weight: 600;margin-top: 10px;">{{userInfo.name}}</div>
<div v-if="current == 'qa'" style="font-size: 14px;font-weight: 600;margin-top: 10px;">{{userInfo.name}}</div>
<div v-else style="font-size: 14px;font-weight: 600;margin-top: 10px;">{{userInfo.name}}</div>
</div>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item @click.native="setCurIdentity(1)"><a :href="`${webBaseUrl}${isTiao ? '/uc/study/task' : '/uc/study/courses'}`">个人中心</a></el-dropdown-item>
<el-dropdown-item><router-link :to="'/homePage?id='+userInfo.aid">个人主页</router-link></el-dropdown-item>
<el-dropdown-item><router-link :to="'/home/index?id='+userInfo.aid">个人主页</router-link></el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
<div class="person-action-item">
<div v-if="current == 'qa'" class="person-action-index" style="color:#333333" @click="logout()">
<div v-if="current == 'qa'" class="person-action-index" :style="{color:textColor}" @click="logout()">
<svg-icon style="margin-right: 4px;font-size:22px;" icon-class="black-out"></svg-icon>登出
</div>
<div v-else class="person-action-index" style="color:#fff" @click="logout()">
<svg-icon style="margin-right: 4px;font-size:22px;color: #333333;" icon-class="white-out"></svg-icon>登出
<div v-else class="person-action-index" :style="{color:textColor}" @click="logout()">
<svg-icon style="margin-right: 4px;font-size:22px;" icon-class="white-out"></svg-icon>登出
</div>
</div>
</div>
@@ -127,9 +135,7 @@ import apiMessage from '@/api/system/message.js';
import apiBoeCourse from '@/api/boe/course.js';
import InterestCollection from '@/components/Portal/interestCollection.vue'
import GuideBox from '@/components/Portal/guideBox.vue'
import {
userAvatarText
} from "@/utils/tools.js";
import {userAvatarText} from "@/utils/tools.js";
export default {
props: {
current: {
@@ -140,6 +146,10 @@ export default {
type: Boolean,
default: false,
},
textColor:{
type: String,
default: '',
},
goSearch:{
type: Number,
default: 0,
@@ -151,6 +161,12 @@ export default {
avatarText(){
return userAvatarText(this.userInfo.name);
},
activeNav(){
return {
'top-nav-active-blue': this.textColor=='#000000',
'top-nav-active-white': this.textColor=='#fff' || this.textColor=='#ffffff',
}
}
},
data() {
@@ -290,6 +306,33 @@ export default {
</script>
<style scoped rel="stylesheet/scss" lang="scss">
.top-nav-active-blue{
color: #387DF7;
a{color:#387DF7;}
div{
width: 75%;
height: 4px;
top: 75%;
left: 13%;
background: #387DF7;
border-radius: 5px;
position: absolute;
}
}
.top-nav-active-white{
color: #fff;
a{color:#fff;}
div{
width: 75%;
height: 4px;
top: 75%;
left: 13%;
background: #fff;
border-radius: 5px;
position: absolute;
}
}
.sear-but{
position: absolute;
bottom: 10%;

View File

@@ -1,6 +1,6 @@
<template>
<div class="uc-header xcontent">
<div class="header-box" >
<div class="uc-header">
<div class="uc-header-box" >
<div class="personalData">
<!-- <div >
<img src="../../../public/images/Avatarwoman.png" alt="">
@@ -8,8 +8,10 @@
<div class="uesr-avaer">
<img :src="userInfo.avatar" v-if="userInfo.avatar !== '' ">
<div v-else class="uavatar">
<router-link :to="'/home/index?id='+userInfo.aid">
<div v-if="sex === 1 "><img src="../../../public/images/Avatarman.png" alt=""></div>
<div v-else><img src="../../../public/images/Avatarwoman.png" alt=""></div>
</router-link>
</div>
</div>
@@ -48,7 +50,7 @@
<div class="learning-an"><span>{{uinfo.monthTotal}}</span>h</div>
</div>
<div class="learning-border" ></div>
<div class="learning-info" style="margin-left:22px">
<div class="learning-info">
<div class="learning-qus">当月学习天数</div>
<div class="learning-an"><span>{{uinfo.monthDay}}</span></div>
</div>
@@ -57,62 +59,14 @@
<div class="learning-an"><span>{{uinfo.monthTotalDay}}</span></div>
</div>
<div class="learning-border" ></div>
<div class="learning-info" style="margin-left:22px">
<div class="learning-info">
<div class="learning-qus">我的U币累计</div>
<div class="learning-an"><span>{{uinfo.uCurrency}}</span></div>
</div>
<div @click="jumrank" class="list">
BOE 排行榜 >>
<div class="learning-info">
<div @click="jumrank" style="cursor: pointer;" class="ranking-link"> BOE 排行榜 >></div>
</div>
</div>
<!-- <div style="display: flex;justify-content: flex-start;">
<div style="padding-left: 15px;">
<div style="height: 38px;padding-left: 5px;">
<span style="font-size: 20px;font-weight: 500;color: #333;">{{userInfo.name}}</span>
<span style="padding-left: 10px;color: #888888;font-size: 12px;cursor: pointer;">
<el-link @click="toPage('/user/Setting')" icon="el-icon-setting" type="info" :underline="false">个人设置</el-link>
</span>
</div>
<div style="height: 35px;padding-left: 5px;color:#7a7a7a;">
<span style="color: #7a7a7a;padding-right: 15px;" v-if="orgInfo">{{orgInfo}}</span>
目前海没有实时更新的策略暂未处理
<span>学习时长{{userInfo.studyTotalH}}小时</span>
</div>
<div>
<router-link to="/study/index"><span :class="{identity:true,active:curIdentity==1}" @click="setCurIdentity(1)">学员</span></router-link>
<router-link to="/teacher/index"><span v-if="identity == 2 || identity == 5" :class="{identity:true,active:curIdentity==2}" @click="setCurIdentity(2)">教师</span></router-link>
<router-link to="/manager/index"><span v-if="identity == 3 || identity == 5" :class="{identity:true,active:curIdentity==3}" @click="setCurIdentity(3)">管理员</span></router-link>
</div>
</div>
</div> -->
<!-- <div style="display: flex;justify-content: flex-end;padding-top: 35px;"> -->
<!-- q1没有课程表所以这里先隐藏
<div v-if="curIdentity==2" style="padding: 0px 40px 0px 0px;color: #1EA0FA;text-align: center;">
<div><i style="font-size: 40px;" class="el-icon-date"></i> <br/>授课表</div>
</div>
-->
<!---->
<!-- <div>
<div tabindex="1" class="upicon" @click="toPage('/user/myshare')">
<i class="el-icon-share"></i>
<div>我分享的</div>
</div>
</div>
<div>
<div tabindex="2" class="upicon" @click="toPage('/user/toshare')">
<i class="el-icon-s-promotion"></i>
<div>分享给我的</div>
</div>
</div>
<div>
<div tabindex="3" class="upicon" @click="toPage('/user/favorites')">
<i class="el-icon-star-on"></i>
<div>我的收藏</div>
</div>
</div> -->
<!-- </div> -->
</div>
</div>
</template>
@@ -202,19 +156,19 @@ import {userAvatarText,cutFullName} from "@/utils/tools.js";
</script>
<style lang="scss" scoped>
.list{
.ranking-link{
font-size: 16px;
font-weight: 600;
color: #333333;
margin-top: 20px;
}
.learningData{
width: 50%;
padding-top: 70px;
box-sizing: border-box;
margin-left:auto;
.learning-info{
float: left;
margin-left: 20px;
margin-right: 22px;
.learning-qus{
font-size: 14px;
@@ -265,10 +219,8 @@ import {userAvatarText,cutFullName} from "@/utils/tools.js";
}
.personalData{
flex: 1;
padding-top: 40px;
padding-left: 115px;
box-sizing: border-box;
display: flex;
.uesr-avaer{
@@ -330,21 +282,21 @@ import {userAvatarText,cutFullName} from "@/utils/tools.js";
}
}
.header-box{
.uc-header-box{
display: flex;
justify-content: space-between;
height: 210px;
background: url('../../../public/images/userbgimg.png') no-repeat;
background-size:445px 210px;
background-position: right 0;
margin: 0 auto;
}
.uc-header{
height: 210px;
margin: 0 auto;
background: #fff;
// background-color: #c9c2c2;
background-color: #fff;
background-image: url('../../../public/images/userbgimg.png') ;
background-repeat: no-repeat;
background-size:445px 210px;
background-position: right 0;
}
.upicon{
text-align: center;
@@ -386,8 +338,8 @@ import {userAvatarText,cutFullName} from "@/utils/tools.js";
padding-top: 10px;
color: #aa0000;
}
}
.uavatar{
}
.uavatar{
border-radius: 50%;
// border: 1px solid #73adfe;
// color: #73adfe;
@@ -404,8 +356,134 @@ import {userAvatarText,cutFullName} from "@/utils/tools.js";
border-radius: 50%;
width: 100px;
height: 100px;
}
}
}
@media screen and (max-width: 1366px){
.uc-header-box {
width: 1160px;
}
.learningData{
margin-left:auto;
.learning-info{
margin-left: 10px;
margin-right: 10px;
.learning-qus{
font-size: 12px;
}
.learning-an{
font-size: 12px;
}
}
}
.personalData{
.uesr-avaer{
margin-right: 10px;
}
.user-content{
.content-top{
.grade{
div{
width: 48px;
}
span{
font-size: 14px;
}
}
h6{
font-size: 26px;
}
span{
font-size: 14px;
margin-left: 5px;
margin-right: 10px;
}
.editbutt{
width: 80px;
height: 25px;
line-height: 5px;
text-align: center;
font-size: 12px;
}
}
}
}
.content-bottom{
.medalbutt{
margin-right: 20px;
}
}
}
@media screen and (max-width: 1680px) and (min-width:1367px){
.uc-header-box {
width: 1300px;
}
.learningData{
margin-left:auto;
.learning-info{
margin-left: 10px;
margin-right: 12px;
}
}
.personalData{
.uesr-avaer{
margin-right: 10px;
}
.user-content{
.content-top{
.grade{
div{
width: 48px;
}
span{
font-size: 14px;
}
}
h6{
font-size: 26px;
}
span{
font-size: 14px;
margin-left: 5px;
margin-right: 15px;
}
.editbutt{
width: 80px;
height: 25px;
line-height: 5px;
text-align: center;
font-size: 12px;
}
}
}
}
}
@media screen and (max-width: 1920px) and (min-width: 1681px){
.uc-header-box {
width: 1600px;
}
.learningData{
margin-left:auto;
.learning-info{
margin-left: 20px;
margin-right: 22px;
}
}
}
@media screen and (min-width: 1921px){
.uc-header-box {
width: 1800px;
}
.learningData{
margin-left:auto;
.learning-info{
margin-left: 30px;
margin-right: 30px;
}
}
}
</style>

View File

@@ -1,12 +1,12 @@
<template>
<section class="app-main xcontent">
<section class="app-main xuc-content">
<div style="display: flex;">
<div style="height: 100%;width: 227px;">
<div style="height: 100%;width: 210px;">
<uc-menu></uc-menu>
<!-- <div style="height: 20px;"></div> -->
</div>
<!-- width: 990px; -->
<div class="main-body" style="padding: 30px 30px;flex:1; background-color: #fff;margin-left: 32px;">
<div class="main-body" style="padding: 30px 20px;flex:1; background-color: #fff;margin-left: 32px;">
<!-- <div style="margin-bottom: 10px;padding:10px; border-bottom: 1px solid #dbdbdb;"> -->
<!-- <el-breadcrumb separator-class="el-icon-arrow-right">
<el-breadcrumb-item :to="{ path: '/uc/index' }"><i class="el-icon-arrow-right"></i>个人中心</el-breadcrumb-item>
@@ -60,7 +60,7 @@ export default {
//width: 1500px;
// width: 1000px;
// margin: 0 auto;
padding-top: 10px;
padding-top: 20px;
position: relative;
overflow: hidden;
}
@@ -98,6 +98,30 @@ export default {
display: block;
margin: 5px 10px;
}
.xuc-content{
margin: 0px auto;
}
@media screen and (max-width: 1366px){
.xuc-content {
width: 1100px;
}
}
@media screen and (max-width: 1680px) and (min-width:1367px){
.xuc-content {
width: 1300px;
}
}
@media screen and (max-width: 1920px) and (min-width: 1681px){
.xuc-content {
width: 1600px;
}
}
@media screen and (min-width: 1921px){
.xuc-content {
width: 1800px;
}
}
</style>
<style lang="scss">

View File

@@ -4,7 +4,7 @@
<div class="xtop-content">
<div class="xtop-left">
<div class="xtop-logo">
<router-link class="routerLink" to="/index"><img src="../../../assets/logo/logo2.png" style="width:240px;height: 41px;" /></router-link>
<router-link class="routerLink" to="/index"><img src="../../../assets/logo/logo-white.png" style="width:161px;height:27px;" /></router-link>
</div>
<div class="xtop-nav">
<div class="xtop-nav-item"><a :href="`${webBaseUrl}/index`">首页</a></div>
@@ -46,6 +46,7 @@
</el-link>
</el-badge>
</div>
<div>
<el-dropdown class="person-action-index" style="margin-left: 44px;">
<span class="el-dropdown-link">
<span v-if="current == 'qa'" style="color: #333;">学员</span>
@@ -58,7 +59,19 @@
<el-dropdown-item v-if="identity == 3 || identity == 5" @click.native="setCurIdentity(3)"><router-link to="/course/manage">管理员</router-link></el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
<div style="margin-left: 50px;color: #fff;"><el-avatar :src="userInfo.avatar" style="vertical-align: middle;width:40px;height:40px;margin-right:10px;"></el-avatar>{{userInfo.name}}</div>
</div>
<div>
<el-dropdown>
<div style="margin-left: 50px;color: #fff;font-size: 14px;cursor: pointer;">
<el-avatar :src="userInfo.avatar" style="vertical-align: middle;width:40px;height:40px;margin-right:10px;"></el-avatar>{{userInfo.name}}
</div>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item @click.native="setCurIdentity(1)"><a :href="`${webBaseUrl}${isTiao ? '/uc/study/task' : '/uc/study/courses'}`">个人中心</a></el-dropdown-item>
<el-dropdown-item><router-link :to="'/home/index?id='+userInfo.aid">个人主页</router-link></el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
<!-- <div style="margin-left: 5px;">
<el-dropdown @command="handleUcCommand">
<span class="el-dropdown-link">

View File

@@ -150,21 +150,21 @@ export const constantRoutes = [{
meta: { title: '我的消息', icon: 'dashboard', noCache: true, affix: false },
},
{
path: '/homePage',
path: '/home',
hidden: true,
component: (resolve) => require(['@/views/homepage/Index'], resolve),
name: 'homePage',
redirect: '/homePage/page',
redirect: '/home/index',
meta: { title: '主页', icon: 'dashboard', noCache: true, affix: false },
children: [{
path: 'page',
path: 'index',
hidden: true,
component: (resolve) => require(['@/views/homepage/page'], resolve),
name: 'page',
meta: { title: '主页', icon: 'dashboard', noCache: true, affix: true }
},
{
path: 'leavingMessage',
path: 'leaving',
hidden: true,
component: (resolve) => require(['@/views/homepage/leavingMessage'], resolve),
name: 'leavingMessage',

File diff suppressed because it is too large Load Diff

View File

@@ -1,9 +1,9 @@
<template>
<div id="article-index">
<div class="article-banner">
<portal-header current="article" :goSearch="3"></portal-header>
<portal-header current="article" textColor="#ffffff" :goSearch="3"></portal-header>
</div>
<div>
<div style="padding-top:30px">
<div class="xcontent2">
<div class="xcontent2-main" style="margin-right: 30px;" >
<div v-if="noData" >
@@ -290,7 +290,7 @@ export default {
background: url('/images/article-banner.png');
}
.course-resources{
width: 410px;
margin-top: 26px;
img{
width: 100%;

View File

@@ -1,10 +1,10 @@
2<template>
<div id="article-list-content" class="article-list-content">
<div class="article-banner">
<portal-header current="article" @emitInput="emitInput"></portal-header>
<portal-header current="article" textColor="#ffffff" @emitInput="emitInput"></portal-header>
</div>
<!--内容区域-->
<div class="">
<div style="padding-top:30px" class="">
<div class="xcontent2">
<div class="xcontent2-main" style="margin-right: 30px;background-color: #fff;padding-top: 50px;">
<div>
@@ -80,13 +80,13 @@
<ul class="ranking-data">
<li v-for="(item, index) in ankingList" :key="index" style="margin-top:30px;line-height: 22px;cursor: pointer;">
<span class="portal-right-text orange-one" v-if="index==0" style="margin-right:94px">
<img src="/images/list-01.png" alt="">
<img src="/images/listblue01.png" alt="">
</span>
<span class="portal-right-text orange-tow" v-if="index==1" style="margin-right:94px">
<img src="/images/list02.png" alt="">
<img src="/images/listblue02.png" alt="">
</span>
<span class="portal-right-text orange-three" v-if="index==2" style="margin-right:94px">
<img src="/images/list03.png" alt="">
<img src="/images/listblue03.png" alt="">
</span>
<span class="portal-right-text" v-if="index==3" style="margin-right:94px">
<img src="/images/list04.png" alt="">

View File

@@ -1,7 +1,7 @@
<template>
<div id="case-list-content">
<div class="case-banner">
<portal-header current="case" :goSearch="2"></portal-header>
<div style="margin-bottom:30px" class="case-banner">
<portal-header current="case" textColor="#fff" :goSearch="2"></portal-header>
</div>
<div class="">
<div class="xcontent2">
@@ -96,7 +96,7 @@
<el-empty :image-size="200"></el-empty>
</div>
</div>
<div :class="zoomShow?'':'xcontent2-minor'">
<div class="xcontent2-minor" :style="{display:zoomShow? '':'none'}">
<div>
<div id="fixd-box">
<div class="portal-ranking ranking-bg">
@@ -524,7 +524,6 @@ export default {
background: url('/images/case-banner.png');
}
.course-resources{
width: 410px;
margin-top: 26px;
img{
width: 100%;

View File

@@ -1,7 +1,7 @@
<template>
<div id="case-list-content">
<div class="case-banner">
<portal-header current="case" @emitInput="emitInput"></portal-header>
<portal-header current="case" textColor="#fff" @emitInput="emitInput"></portal-header>
</div>
<div class="xcontent2">
<div class="xcontent2-main" style="margin-right: 30px;">
@@ -100,7 +100,7 @@
</div>
<div style="display: flex;justify-content: flex-end;">
<div style="margin:8px 0;">
<interactBar :type="0" :shares="false" :data="item" :readonly="true"></interactBar> </div>
<interactBar :type="0" :shares="false" :data="item" :readonly="true" :views="false"></interactBar> </div>
</div>
</div>
</div>
@@ -709,7 +709,6 @@ export default {
<style scoped lang="scss">
.course-resources{
width: 410px;
margin-top: 26px;
img{
width: 100%;

View File

@@ -1,20 +1,23 @@
<template>
<div>
<portal-header current="course" :goSearch="1"></portal-header>
<div class="portal-content xcontent">
<el-breadcrumb separator-class="el-icon-arrow-right" class="breadcrumb-nav">
<el-breadcrumb-item :to="{ path: '/course' }">课程列表</el-breadcrumb-item>
<el-breadcrumb-item>课程详情</el-breadcrumb-item>
</el-breadcrumb>
<!-- <div class="course-title">
<div class="title">{{courseInfo.name}}</div>
<div class="course-title-right">
<interactBar :readonly="!stuStusts || stuStusts==0" :type="1" :data="courseInfo" :comments="false" :views="false"></interactBar>
<div class="xpage-coures-banner">
<portal-header current="course" textColor="#fff" :goSearch="1"></portal-header>
<div class="xcontent">
<div class="banner-crumbs">
<router-link to="/course"><span class="crumbs-first">课程列表</span></router-link>
<span class="crumbs-line"> &gt; </span>
<span class="crumbs-last">课程详情</span>
</div>
</div> -->
<el-row :gutter="10">
<el-col :span="24">
<el-card :body-style="{ padding: '0px' }">
<div class="bcourse-title">
<!-- <span>{{courseInfo.name}}</span> -->
<!-- <span>{{courseInfo.summary}}</span> -->
<!-- <span class="bcourse-score">{{toScore(courseInfo.score)}}</span> -->
</div>
</div>
</div>
<div class="portal-content xcontent">
<div class="detail">
<div class="image">
<course-image :course="courseInfo"></course-image>
@@ -61,7 +64,7 @@
</div>
</div>
</div>
</el-card>
<el-row :gutter="10">
<el-col :span="18">
<el-card :body-style="{ padding: '0px' }" class="info" style="margin-top: 10px;">
@@ -121,8 +124,7 @@
</el-card>
</el-col>
</el-row>
</el-col>
</el-row>
</div>
<portal-footer></portal-footer>
</div>
@@ -411,6 +413,8 @@ export default {
.detail {
display: flex;
margin-top: 20px;
background-color: #fff;
.image {
width: 500px;
height: 280px;

File diff suppressed because it is too large Load Diff

View File

@@ -1,9 +1,9 @@
<template>
<div id="couser-list-content" class="couser-list-content">
<div class="course-banner">
<portal-header current="course" @emitInput="emitInput"></portal-header>
<portal-header current="course" textColor="#fff" @emitInput="emitInput"></portal-header>
</div>
<div class="">
<div style="padding-top:30px" class="">
<div class="xcontent2">
<div class="xcontent2-main content-div">
<div class="search-div" style="margin-right:36px">
@@ -83,6 +83,7 @@
<a :href="toCourseDetail(cinfo)">
<div class="course-image-box">
<course-image :course="cinfo"></course-image>
<span v-if="cinfo.type == 20 || 10" class="course-type-left">录播课</span>
</div>
<div class="course-title two-line-ellipsis" :title="cinfo.title" v-html="cinfo.name"></div>
<div class="course-info">
@@ -121,7 +122,7 @@
上传课程
</div>
</div>
<div class="portal-ranking ranking-bg">
<div class="portal-ranking-list ranking-bg">
<div class="ranking-title">好评榜</div>
<ul class="ranking-data">
<li class="list-info" v-for="(item, index) in scorelist" :key="index" style="cursor: pointer;margin-top:24px;line-height: 30px;display: flex;">
@@ -142,14 +143,15 @@
</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 style="width:96px;height:52px" :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>
<div class="list-active">
<div class="list-content">
<div class="list-img">
<course-image :course="item"></course-image>
<!-- <course-image :course="item"></course-image> -->
<img style="width:96px;height:52px" :src="fileBaseUrl + item.images" alt=""/>
<span v-if="item.type < 21" class="course-type">录播</span>
<span v-if="item.type==30" class="course-type">线下课</span>
<span v-if="item.type==40" class="course-type">学习项目</span>
@@ -166,7 +168,7 @@
</li>
</ul>
</div>
<div style="margin-top:26px" class="portal-ranking ranking-bg1">
<div style="margin-top:26px" class="portal-ranking-list ranking-bg1">
<div class="ranking-title">人气榜</div>
<ul class="ranking-data">
<li class="list-info" v-for="(item, index) in ankingList" :key="index" style="cursor: pointer;margin-top:24px;line-height: 30px;display: flex;">
@@ -187,14 +189,15 @@
</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 style="width:96px;height:52px" :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>
<div class="list-active">
<div class="list-content">
<div class="list-img">
<course-image :course="item"></course-image>
<!-- <course-image :course="item"></course-image> -->
<img style="width:96px;height:52px" :src="fileBaseUrl + item.images" alt=""/>
<span v-if="item.type < 21" class="course-type">录播</span>
<span v-if="item.type==30" class="course-type">线下课</span>
<span v-if="item.type==40" class="course-type">学习项目</span>
@@ -211,7 +214,7 @@
</li>
</ul>
</div>
<div style="margin-top:26px" class="portal-ranking ranking-bg2">
<div style="margin-top:26px" class="portal-ranking-list ranking-bg2">
<div class="ranking-title">热度榜</div>
<ul class="ranking-data">
<li class="list-info" v-for="(item, index) in hotList" :key="index" style="cursor: pointer;margin-top:24px;line-height: 30px;display: flex;">
@@ -231,14 +234,15 @@
<img src="/images/list05.png" alt="">
</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 span" v-else style="font-size: 14px;">
<img style="width:96px;height:52px" :src="fileBaseUrl + item.images" alt=""/>
<span class="portal-title-desc " v-else style="font-size: 14px;">
<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">
<div class="list-content">
<div class="list-img">
<course-image :course="item"></course-image>
<!-- <course-image :course="item"></course-image> -->
<img style="width:96px;height:52px" :src="fileBaseUrl + item.images" alt=""/>
<span v-if="item.type < 21" class="course-type">录播</span>
<span v-if="item.type==30" class="course-type">线下课</span>
<span v-if="item.type==40" class="course-type">学习项目</span>
@@ -430,11 +434,10 @@ export default {
couresreso(){
let key = 'course';
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)
console.log(res,'lmj')
let Imageres = JSON.parse(res.result.content);
this.resonimg = Imageres[0]
// console.log(this.resonimg,'111')
})
},
jumUX() {
@@ -452,6 +455,7 @@ export default {
.clientHeight;
let outerHeight = document.documentElement.clientHeight;
let scrollTop = document.documentElement.scrollTop;
let outerWidth = document.querySelector(".xcontent2-minor").clientWidth;
if (outerHeight + scrollTop + 350 >= innerHeight) {
if (this.moreState == 1 && this.course.pageIndex < 4) {
this.loadMore();
@@ -459,7 +463,7 @@ export default {
}
if (scrollTop > 830) {
document.querySelector("#fixd-box").style.cssText =
"position: fixed;top: -914px;";
"position: fixed;top: -914px;width:"+outerWidth+"px";
} else {
document.querySelector("#fixd-box").style.cssText = "position: static";
}
@@ -833,12 +837,34 @@ export default {
</script>
<style scoped lang="scss">
.course-type-left {
position: absolute;
top: 0px;
right: 0px;
width: 60px;
height: 24px;
line-height: 24px;
text-align: center;
background-color: #f99000;
border-radius: 2px 4px 2px 14px;
font-size: 12px;
color: #ffffff;
-moz-user-select: none;
/*火狐*/
-webkit-user-select: none;
/*webkit浏览器*/
-ms-user-select: none;
/*IE10*/
-khtml-user-select: none;
/*早期浏览器*/
user-select: none;
}
.list-lidex{
display: inline-block;
display: flex;
}
.course-resources{
width: 410px;
margin-top: 24px;
img{
@@ -892,13 +918,13 @@ export default {
.course-type{
position: absolute;
left: 0;
bottom: 0;
bottom: 26%;
height: 20;
line-height: 20px;
font-size: 12px;
color: #FFFFFF;
padding: 0px 8px;
background: #387DF7;
background: #387DF7 ;
border-radius: 0px 12px 0px 0px;
}
}

View File

@@ -1,13 +1,21 @@
<template>
<div>
<portal-header current="course" :goSearch="1"></portal-header>
<div class="xpage-coures-banner">
<portal-header current="course" textColor="#fff" :goSearch="1"></portal-header>
<div class="xcontent">
<div class="banner-crumbs">
<router-link to="/course"><span class="crumbs-first">课程列表</span></router-link>
<span class="crumbs-line"> &gt; </span>
<span class="crumbs-last">课程详情</span>
</div>
<div class="bcourse-title">
<!-- <span>{{courseInfo.name}}</span> -->
<!-- <span>{{courseInfo.summary}}</span> -->
<!-- <span class="bcourse-score">{{toScore(courseInfo.score)}}</span> -->
</div>
</div>
</div>
<div class="portal-content xcontent">
<el-breadcrumb separator-class="el-icon-arrow-right" class="breadcrumb-nav">
<el-breadcrumb-item :to="{ path: '/course' }">课程列表</el-breadcrumb-item>
<el-breadcrumb-item>课程详情</el-breadcrumb-item>
</el-breadcrumb>
<el-row :gutter="10">
<el-col :span="24">
<el-card :body-style="{ padding: '0px', 'min-height': '500px' }">
<el-row class="detail">
<el-col :span="18">
@@ -217,8 +225,7 @@
</el-card>
</el-col>
</el-row>
</el-col>
</el-row>
</div>
<portal-footer></portal-footer>
</div>

View File

@@ -1,6 +1,8 @@
<template>
<div class="follow-page">
<top></top>
<div class="follow-banner">
<portal-header current="follow" textColor="#fff" @emitInput="emitInput"></portal-header>
</div>
<div>
<div class="home-page-left">
<div class="book-input">
@@ -54,7 +56,7 @@
</template>
<script>
import top from '../../../layout/components/TopNav/Index.vue'
import portalHeader from "@/components/PortalHeader.vue";
import UcHeader from '@/components/HomePage/homePage.vue'
import CaseList from '@/components/HomePage/caseList.vue'
import CourseList from '@/components/HomePage/courseList.vue'
@@ -66,7 +68,7 @@
import BookList from "@/components/HomePage/bookList.vue"
export default{
components:{top,UcHeader,CaseList,CourseList,NoteList,PutList,AnswerList,ArticleList,FollowList,BookList},
components:{portalHeader,UcHeader,CaseList,CourseList,NoteList,PutList,AnswerList,ArticleList,FollowList,BookList},
data(){
return{
input:'',
@@ -82,9 +84,11 @@
</script>
<style lang="scss" scoped>
.follow-banner{
background-color: #0078FC;
}
.follow-page{
background: #FFFFFF;
padding-top: 72px;
height: 100vh;
::v-deep .el-tabs__active-bar{
height: 4px;
@@ -221,4 +225,3 @@
// }
}
</style>

View File

@@ -1,9 +1,9 @@
<template>
<div id="answer-detail">
<div class="qa-banner">
<portal-header current="qa" :goSearch="4"></portal-header>
<portal-header current="qa" textColor="#000000" :goSearch="4"></portal-header>
</div>
<div >
<div style="padding-top:30px" >
<div class="xcontent2">
<div style="margin-right: 30px;" class="xcontent2-main">
<div v-if="noData">
@@ -31,7 +31,7 @@
</div>
</div>
<div class="content-inter">
<interactBar v-if="detailData.id" :type="4" :comments="false" :data="detailData" :views="false"> </interactBar>
<interactBar v-if="detailData.id" :type="4" :shares="false" :comments="false" :data="detailData" :answers="true" :clickAnswer="true" :views="false"> </interactBar>
</div>
</div>
@@ -887,7 +887,6 @@ export default {
background: url('/images/qa-banner.png');
}
.course-resources{
width: 410px;
margin-top: 26px;
img{
width: 100%;

View File

@@ -3,7 +3,7 @@
<div class="qa-banner">
<portal-header current="qa" :goSearch="4"></portal-header>
</div>
<div class="portal-content xcontent" >
<div style="padding-top:30px" class="portal-content xcontent" >
<div class="xrow" style="display: flex;justify-content: space-between;">
<div style="flex: 1;" class="xcol content-div">
@@ -743,7 +743,7 @@ export default {
background: url('/images/qa-banner.png');
}
.course-resources{
width: 410px;
// width: 410px;
img{
width: 100%;
height: 100%;

View File

@@ -1,10 +1,10 @@
<template>
<div id="qa-list-content" class="qa-list-content">
<div class="qa-banner">
<portal-header current="qa" class="qa-nav" @emitInput="emitInput"></portal-header>
<portal-header current="qa" textColor="#000000" class="qa-nav" @emitInput="emitInput"></portal-header>
</div>
<div class="portal-content">
<div style="padding-top:30px" class="portal-content">
<div class="xcontent2">
<div class="xcontent2-main" style="margin-right: 30px;background-color: #fff;padding-top: 50px;">
@@ -55,7 +55,7 @@
<div style="width: 120px;">
<author :avatar="qa.authorInfo.avatar" :name="qa.authorInfo.name" :sex="qa.authorInfo.sex"></author>
</div>
<div><interactBar nodeWidth="60px" :readonly="true" :type="4" :data="qa" @addAnswers="qaAnswer(qa)" :shares="true" :comments="false" :answers="true" :clickAnswer="true" :views="false"></interactBar></div>
<div><interactBar nodeWidth="60px" :readonly="true" :type="4" :data="qa" @addAnswers="qaAnswer(qa)" :shares="false" :comments="false" :answers="true" :clickAnswer="true" :views="false"></interactBar></div>
</div>
</div>
</div>
@@ -85,13 +85,13 @@
<ul class="ranking-data">
<li v-for="(item, index) in ankingList" :key="index" style="margin-top:30px;line-height: 22px;cursor: pointer;">
<span class="portal-right-text orange-one" v-if="index==0" style="margin-right:94px">
<img src="/images/list-01.png" alt="">
<img src="/images/listblue01.png" alt="">
</span>
<span class="portal-right-text orange-tow" v-if="index==1" style="margin-right:94px">
<img src="/images/list02.png" alt="">
<img src="/images/listblue02.png" alt="">
</span>
<span class="portal-right-text orange-three" v-if="index==2" style="margin-right:94px">
<img src="/images/list03.png" alt="">
<img src="/images/listblue03.png" alt="">
</span>
<span class="portal-right-text" v-if="index==3" style="margin-right:94px">
<img src="/images/list04.png" alt="">
@@ -444,7 +444,6 @@ export default {
background: #387DF7 !important;
}
.course-resources{
width: 410px;
margin-top: 26px;
img{
border-radius: 8px;

File diff suppressed because it is too large Load Diff

View File

@@ -3,7 +3,7 @@
<div class="myubi">
<div class="ubi-hear">
<h6>我的U币:{{uinfo.uCurrency}}</h6><span class="pointer" @click="dialogVisible = true">U币规则 <i class="el-icon-arrow-right"></i> </span>
<el-button @click="exportRecord()">导出记录</el-button>
<el-button icon="el-icon-document" @click="exportRecord()">导出记录</el-button>
</div>
<div style="max-height:600px;overflow-y:auto;padding-right:50px">
<div class="Ubi-hist">