This commit is contained in:
zhaofang
2022-09-27 13:46:41 +08:00
parent 041c7ab7bd
commit 2c2505087c
2 changed files with 173 additions and 83 deletions

View File

@@ -13,7 +13,7 @@ body {
} }
.course-index{ .course-index{
width: 33.34%; // width: 33.34%;
} }
.xrow{ .xrow{
@@ -57,11 +57,11 @@ body {
} }
.index-course{ .index-course{
// width: 20%; // width: 20%;
width: 33.3333%; // width: 33.3333%;
} }
.course-index{ .course-index{
// width: 25%; // width: 25%;
width: 33.3333%; // width: 33.3333%;
} }
} }

View File

@@ -55,7 +55,7 @@
<router-link to="/course">查看更多</router-link> <router-link to="/course">查看更多</router-link>
</span> </span>
</div> </div>
<div class="modules-list xrow" style="height: 485px;overflow: hidden;"> <div class="modules-list xrow" style="margin-right:0px">
<!--一个固定内容--> <!--一个固定内容-->
<div class="xrow-course index-course"> <div class="xrow-course index-course">
<div class="course-card"> <div class="course-card">
@@ -64,10 +64,10 @@
<el-image class="course-image" style="height: 200px;" :src="this.webBaseUrl+'/ad/index_course.png'" fit="fit"></el-image> <el-image class="course-image" style="height: 200px;" :src="this.webBaseUrl+'/ad/index_course.png'" fit="fit"></el-image>
<span class="course-type">录播课</span> <span class="course-type">录播课</span>
</div> </div>
<div title="高效谈判系列课" class="course-title one-line-ellipsis">高效谈判系列课</div> <div title="高效谈判系列课" class="course-title portal-title-tow two-line-ellipsis">高效谈判系列课</div>
<div class="course-author"> <div class="course-author">
<div class="course-author-left" > </div> <!-- <div class="course-author-left" > </div> -->
<div style="flex:1; text-align: center; "> <div>
<span class="study-num">2581人学习</span> <span class="study-num">2581人学习</span>
</div> </div>
<div style="padding-left:15px"> <div style="padding-left:15px">
@@ -87,13 +87,10 @@
<course-image height="200px" :course="course"></course-image> <course-image height="200px" :course="course"></course-image>
<span v-if="course.type == 20 || 10" class="course-type">录播课</span> <span v-if="course.type == 20 || 10" class="course-type">录播课</span>
</div> </div>
<div :title="course.name" class="course-title one-line-ellipsis" >{{ course.name }}</div> <div :title="course.name" class="course-title portal-title-tow two-line-ellipsis" >{{ course.name }}</div>
<div class="course-author"> <div class="course-author">
<div class="course-author-left" > <div class="course-author-left" >
{{ course.authorInfo.name }} {{ course.authorInfo.name }} <span class="study-num">{{ course.studys }}人学习</span>
</div>
<div style="flex:1; text-align: center; ">
<span class="study-num">{{ course.studys }}人学习</span>
</div> </div>
<div style="padding-left:15px"> <div style="padding-left:15px">
<div v-if="course.score"> <div v-if="course.score">
@@ -109,8 +106,8 @@
</div> </div>
</div> </div>
<div> <div style="margin-top:60px">
<div class="ranking-card portal-right-box list-bg"> <div class="ranking-card portal-right-box course-ran-bg">
<p class="portal-title-one" style="padding-bottom:12px">课程排行榜</p> <p class="portal-title-one" style="padding-bottom:12px">课程排行榜</p>
<ul> <ul>
<li class="list-info" v-for="(item, index) in scorelist" :key="index" style="cursor: pointer;margin-top:24px;line-height: 30px;display: flex;"> <li class="list-info" v-for="(item, index) in scorelist" :key="index" style="cursor: pointer;margin-top:24px;line-height: 30px;display: flex;">
@@ -162,7 +159,7 @@
<div class="case-conent"> <div class="case-conent">
<p class="cast-time"> <p class="cast-time">
<span class="time-one" v-if="caseList.orderType==2"><svg-icon style="margin-right: 0;font-size:16px;" icon-class="crown"></svg-icon>人气榜NO.{{ind+1}}</span> <span class="time-one" v-if="caseList.orderType==2"><svg-icon style="margin-right: 0;font-size:16px;" icon-class="crown"></svg-icon>人气榜NO.{{ind+1}}</span>
<span style="float: right;">2022-05-19</span> <span style="float: right;">{{ca.sysCreateTime.substring(0, 10)}}</span>
</p> </p>
<p :title="ca.title" class="two-line-ellipsis case-title">{{ca.title}}</p> <p :title="ca.title" class="two-line-ellipsis case-title">{{ca.title}}</p>
<p class="case-text three-line-ellipsis">{{ca.summary}}</p> <p class="case-text three-line-ellipsis">{{ca.summary}}</p>
@@ -177,7 +174,7 @@
</div> </div>
</div> </div>
<div> <div>
<div style="margin-top:46px" class="ranking-card portal-right-box list-bg"> <div style="margin-top:60px" class="ranking-card portal-right-box list-bg">
<p class="portal-title-one" style="padding-bottom:12px">案例排行榜</p> <p class="portal-title-one" style="padding-bottom:12px">案例排行榜</p>
<ul> <ul>
<li v-for="(item, index) in Popularity" :key="index" class="title-line-ellipsis" style="cursor: pointer;margin-top:30px;line-height: 22px;"> <li v-for="(item, index) in Popularity" :key="index" class="title-line-ellipsis" style="cursor: pointer;margin-top:30px;line-height: 22px;">
@@ -216,7 +213,7 @@
<span style="font-weight: 600;font-size: 16px;word-break:break-all;color: #00253E;">{{ articleList.first.title }}</span> <span style="font-weight: 600;font-size: 16px;word-break:break-all;color: #00253E;">{{ articleList.first.title }}</span>
</div> </div>
</div> </div>
<div class="article-info-summary two-line-ellipsis" style="margin-top:14px;word-break:break-all;">{{ articleList.first.summary }}</div> <div class="article-info-summary two-line-ellipsis" style="font-weight: 400;margin-top:14px;word-break:break-all;">{{ articleList.first.summary }}</div>
</div> </div>
</div> </div>
</a> </a>
@@ -235,39 +232,62 @@
<!--内容列表内容--> <!--内容列表内容-->
<div class="article-card-right" style="flex: 1;"> <div class="article-card-right" style="flex: 1;">
<div class="article-card-box" v-for="article in articleList.list" :key="article.id"> <div class="article-card-box" v-for="article in articleList.list" :key="article.id">
<div class="article-info-box"> <div class="article-li">
<div class="article-img" v-if="article.coverurl != ''">
<a :href="`${webBaseUrl}/article/detail?id=${article.id}`" style="font-weight: 700;font-size: 20px;">
<el-image style="width:100%;height:100%" :src="fileBaseUrl + article.coverurl"></el-image>
</a>
</div>
<div class="article-right">
<a :href="`${webBaseUrl}/article/detail?id=${article.id}`" style="font-weight: 700;font-size: 20px;">
<p class="article-info-title one-line-ellipsis">{{ article.title }}</p>
<p class="article-info-summary two-line-ellipsis">{{ article.summary }}</p>
</a>
<div class="article-bottom">
<div style="display:flex">
<author-img :avatar="article.authorInfo.avatar" :aid="article.authorInfo.aid" :sex="article.authorInfo.sex"></author-img>
<span style="color: #6E7B84;font-size: 14px;margin:6px 13px 0 10px;">{{article.authorInfo.name}}</span>
<interactBar :type="2" :readonly="true" :data="article" :views="false"></interactBar>
</div>
<div><span class="article-info-time">{{ article.sysCreateTime.substring(0, 10) }}</span></div>
</div>
</div>
</div>
<!-- <div class="article-info-box">
<div class="article-info"> <div class="article-info">
<div class="article-body" style="display:flex;"> <div class="article-body" style="display:flex;">
<div style="flex: 1;"> <div style="flex: 1;">
<a :href="`${webBaseUrl}/article/detail?id=${article.id}`" style="font-weight: 700;font-size: 20px;"> <a :href="`${webBaseUrl}/article/detail?id=${article.id}`" style="font-weight: 700;font-size: 20px;">
<div class="article-info-title" style="display:flex"> <div class="article-info-title">
<div class="two-line-ellipsis" style="flex:1;"> <div class="two-line-ellipsis">
<span style="font-weight: 700;font-size: 20px;">{{ article.title }}</span> <span style="font-weight: 600;font-size: 16px;word-break:break-all;color: #00253E;">{{ article.title }}</span>
</div> </div> -->
<div> <!-- <div> -->
<span class="article-info-time">{{ article.sysCreateTime.substring(0, 10) }}</span> <!-- <span class="article-info-time">{{ article.sysCreateTime.substring(0, 10) }}</span> -->
</div> <!-- </div> -->
<!-- </div>
<div>
<div class="two-line-ellipsis" style="font-weight: 400;font-size: 14px;color: #6E7B84;word-break:break-all;">{{ article.summary }}</div>
</div> </div>
<div style="display:flex;justify-content: space-between;"> </a> -->
<div class="article-info-summary two-line-ellipsis">{{ article.summary }}</div> <!-- <div class="article-other-info" style="margin-top:15px">
</div>
</a>
<div class="article-other-info">
<div><authorInfo :avatar="article.authorInfo.avatar" :name="article.authorInfo.name" :sex="article.authorInfo.sex"></authorInfo></div> <div><authorInfo :avatar="article.authorInfo.avatar" :name="article.authorInfo.name" :sex="article.authorInfo.sex"></authorInfo></div>
<div><interactBar :type="2" :readonly="true" :data="article" :views="false"></interactBar></div> <div><interactBar :type="2" :readonly="true" :data="article" :views="false"></interactBar></div>
</div> </div>
</div> </div> -->
<div v-if="article.coverurl != ''" class="article-image"><el-image style="width:100%;height:100%" :src="fileBaseUrl + article.coverurl"></el-image></div> <!-- <div v-if="article.coverurl != ''" class="article-image"><el-image style="width:100%;height:100%" :src="fileBaseUrl + article.coverurl"></el-image></div>
</div> </div> -->
</div> <!-- </div> -->
</div> <!-- </div> -->
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<!--内容块--> <!--内容块-->
<div style="margin-top:46px"> <div style="margin-top:60px">
<!-- 排行榜位置 --> <!-- 排行榜位置 -->
<div class="portal-right-box art-bgimg" style="background-color:#fff;" > <div class="portal-right-box art-bgimg" style="background-color:#fff;" >
<p class="portal-title-one" style="padding-bottom:12px" >文章排行榜</p> <p class="portal-title-one" style="padding-bottom:12px" >文章排行榜</p>
@@ -316,7 +336,7 @@
</ul> </ul>
</el-row> </el-row>
</div> </div>
<div style="margin-top:60px"> <div style="margin-top:74px">
<!-- 排行榜 --> <!-- 排行榜 -->
<div class="portal-right-box list-bg"> <div class="portal-right-box list-bg">
<p class="portal-title-one" style="padding-bottom:12px">问答排行榜</p> <p class="portal-title-one" style="padding-bottom:12px">问答排行榜</p>
@@ -539,7 +559,7 @@ export default {
this.isNext = false; this.isNext = false;
let { orderType, num } = this.courseList; let { orderType, num } = this.courseList;
let course = { let course = {
pageSize: num, pageSize: 5,
device:1, device:1,
orderField: orderType == 1 ? '' : 'studys', orderField: orderType == 1 ? '' : 'studys',
orderAsc: false, orderAsc: false,
@@ -776,6 +796,66 @@ export default {
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
.article-li{
display: flex;
width: 100%;
.article-img{
// flex: 1;
width: 252px;
height: 142px;
border-radius: 4px;
margin-right: 20px;
img{
width: 252px;
height: 142px;
border-radius: 4px;
}
}
.article-right{
// width: 100%;
.article-info-title{
font-size: 16px;
font-weight: 600;
color: #00253E;
margin-bottom: 9px;
}
.article-info-summary{
font-size: 14px;
font-weight: 400;
color: #6E7B84;
margin-bottom: 15px;
}
.article-bottom{
display: flex;
justify-content: space-between;
::v-deep .uavatar{
width: 32px;
height: 32px;
}
}
.article-info-time{
font-size: 12px;
font-weight: 400;
color: #6E7B84;
}
}
}
::v-deep .course-image-box :hover .el-image{
// transition: all 0.5s;
z-index: 999;
position: absolute;
top: -50px;
left: -35px;
width: 420px !important;
height: 236px !important;
}
.course-ran-bg{
background: linear-gradient(180deg, #d7eaff 1%, #FAFAFA 24%);
}
.personal-panel{ .personal-panel{
position: absolute; position: absolute;
right: 172px; right: 172px;
@@ -884,7 +964,7 @@ export default {
font-size: 12px; font-size: 12px;
color: #FFFFFF; color: #FFFFFF;
padding: 0px 8px; padding: 0px 8px;
background: #387DF7; background: #f99000;
border-radius: 0px 12px 0px 0px; border-radius: 0px 12px 0px 0px;
} }
} }
@@ -975,6 +1055,7 @@ export default {
} }
.case-box{ .case-box{
display: flex; display: flex;
.case-index{ .case-index{
position: relative; position: relative;
width: 408px; width: 408px;
@@ -983,7 +1064,15 @@ export default {
border-radius: 8px; border-radius: 8px;
box-sizing: border-box; box-sizing: border-box;
margin-right: 36px; margin-right: 36px;
&:nth-child(2){
.case-top{
background: linear-gradient(333deg, #D2DEF3 0%, #B4C4E0 100%);
}
}
&:last-child{ &:last-child{
.case-top{
background: linear-gradient(153deg, #A4D3DF 0%, #B4DCE6 100%);
}
margin-right: 0; margin-right: 0;
} }
@@ -999,7 +1088,7 @@ export default {
} }
.case-top{ .case-top{
height: 120px; height: 120px;
background: linear-gradient(70deg, #82A8D1 20%, #A4C5E8 60%); background: linear-gradient(153deg, #82A8D1 0%, #A4C5E8 100%);
border-radius: 8px 8px 0px 0px; border-radius: 8px 8px 0px 0px;
} }
.case-conent{ .case-conent{
@@ -1035,6 +1124,7 @@ export default {
line-height: 24px; line-height: 24px;
} }
.case-text{ .case-text{
height: 60px;
font-size: 14px; font-size: 14px;
color: #6E7B84; color: #6E7B84;
line-height: 20px; line-height: 20px;
@@ -1124,21 +1214,23 @@ export default {
} }
.course-card { .course-card {
padding: 30px; padding: 30px;
// width: 290px; padding-bottom: 22px;
width: 410px;
margin-bottom: 30px; margin-bottom: 30px;
margin-right: 36px; margin-right: 36px;
box-sizing: border-box; box-sizing: border-box;
position: relative; position: relative;
background-color: #ffffff; background-color: #ffffff;
::v-deep .cor-praises { ::v-deep .cor-praises {
position: absolute; position: absolute;
left: 0; right: 52px;
top: 0; bottom: 24px;
-moz-user-select: none; /*火狐*/ // -moz-user-select: none; /*火狐*/
-webkit-user-select: none; /*webkit浏览器*/ // -webkit-user-select: none; /*webkit浏览器*/
-ms-user-select: none; /*IE10*/ // -ms-user-select: none; /*IE10*/
-khtml-user-select: none; /*早期浏览器*/ // -khtml-user-select: none; /*早期浏览器*/
user-select: none; // user-select: none;
.interact-bar-btn{ .interact-bar-btn{
.interact-bar-value{ .interact-bar-value{
display: none; display: none;
@@ -1170,16 +1262,15 @@ export default {
} }
.course-type { .course-type {
position: absolute; position: absolute;
top: 5px; top: 0px;
right: 0px; right: 0px;
width: 90px; width: 60px;
height: 30px; height: 24px;
line-height: 30px; line-height: 24px;
text-align: center; text-align: center;
background-color: #292828; background-color: #f99000;
opacity: 0.4; border-radius: 2px 4px 2px 14px;
border-top-left-radius: 15px; font-size: 12px;
border-bottom-left-radius: 15px;
color: #ffffff; color: #ffffff;
-moz-user-select: none; /*火狐*/ -moz-user-select: none; /*火狐*/
-webkit-user-select: none; /*webkit浏览器*/ -webkit-user-select: none; /*webkit浏览器*/
@@ -1225,10 +1316,8 @@ export default {
} }
} }
.course-title { .course-title {
padding: 10px 15px; margin: 16px 0 16px 0;
font-size: 18px; height: 44px;
font-weight: 600;
color: #343434;
-moz-user-select: none; /*火狐*/ -moz-user-select: none; /*火狐*/
-webkit-user-select: none; /*webkit浏览器*/ -webkit-user-select: none; /*webkit浏览器*/
-ms-user-select: none; /*IE10*/ -ms-user-select: none; /*IE10*/
@@ -1236,28 +1325,26 @@ export default {
user-select: none; user-select: none;
} }
.course-author { .course-author {
margin: 5px 15px; // margin: 5px 15px;
padding-bottom: 10px; // padding-bottom: 10px;
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
.course-author-left { .course-author-left {
font-size: 12px; font-size: 14px;
line-height: 30px; color: #6E7B84;
color: #666;
-moz-user-select: none; /*火狐*/ -moz-user-select: none; /*火狐*/
-webkit-user-select: none; /*webkit浏览器*/ -webkit-user-select: none; /*webkit浏览器*/
-ms-user-select: none; /*IE10*/ -ms-user-select: none; /*IE10*/
-khtml-user-select: none; /*早期浏览器*/ -khtml-user-select: none; /*早期浏览器*/
user-select: none; user-select: none;
// flex: 1;
} }
} }
.study-num { .study-num {
line-height: 30px; font-size: 14px;
font-size: 12px; color: #6E7B84;
color: #8590a6; margin-left: 12px;
-moz-user-select: none; /*火狐*/ -moz-user-select: none; /*火狐*/
-webkit-user-select: none; /*webkit浏览器*/ -webkit-user-select: none; /*webkit浏览器*/
-ms-user-select: none; /*IE10*/ -ms-user-select: none; /*IE10*/
@@ -1279,8 +1366,8 @@ export default {
} }
.course-score-no { .course-score-no {
text-align: right; text-align: right;
font-size: 12px; font-size: 14px;
color: #ffb30f; color: #6B7C85;
line-height: 30px; line-height: 30px;
-moz-user-select: none; /*火狐*/ -moz-user-select: none; /*火狐*/
-webkit-user-select: none; /*webkit浏览器*/ -webkit-user-select: none; /*webkit浏览器*/
@@ -1293,7 +1380,7 @@ export default {
// margin-top: 5px; // margin-top: 5px;
margin-left: 32px; margin-left: 32px;
line-height: 30px; line-height: 30px;
color: #ffb30f; color: #FA6400;
font-family: 'Arial'; font-family: 'Arial';
-moz-user-select: none; /*火狐*/ -moz-user-select: none; /*火狐*/
-webkit-user-select: none; /*webkit浏览器*/ -webkit-user-select: none; /*webkit浏览器*/
@@ -1387,8 +1474,8 @@ export default {
} }
.modules-list { .modules-list {
margin-top: 15px; margin-top: 30px;
margin-bottom: 15px; // margin-bottom: 15px;
margin-right: 36px; margin-right: 36px;
.case-card { .case-card {
// width: 593px; // width: 593px;
@@ -1460,22 +1547,21 @@ export default {
.article-card-left { .article-card-left {
float: left; float: left;
.article-card-box { .article-card-box {
.article-info-image-box { .article-info-image-box {
.article-info { .article-info {
.article-info-title { .article-info-title {
font-size: 20px; font-size: 16px;
color: #343434; color: #00253E;
font-weight: 500;
margin-bottom: 5px; margin-bottom: 5px;
margin-top: 5px; margin-top: 5px;
} }
.article-info-summary { .article-info-summary {
font-size: 14px; font-size: 14px;
color: #6E7B84; color: #6E7B84;
height: 160px; height: 160px;
line-height: 20px; line-height: 22px;
font-weight: 400;
} }
} }
img { img {
@@ -1492,11 +1578,15 @@ export default {
// float: right; // float: right;
// width: 68%; // width: 68%;
flex: 1; flex: 1;
margin-left: 20px; margin-left: 28px;
.article-card-box { .article-card-box {
// height: 160px; // height: 160px;
margin-bottom: 8px; margin-bottom: 16px;
padding-bottom: 8px; padding-bottom: 16px;
&:last-child{
margin-bottom: 0px;
padding-bottom: 0px;
}
.article-info-box { .article-info-box {
.article-info { .article-info {
display: flex; display: flex;