feiyang-web/src/views/news.vue

425 lines
9.3 KiB
Vue
Raw Normal View History

2024-04-19 17:06:28 +08:00
<template>
<div>
<div class="page_ban">
<div class="img compbg"></div>
<div class="content">
<div class="page_nav">
<div class="name">
<a style="padding: 0;" href="">新闻资讯</a> <a href="javascript:;">企业新闻</a>
</div>
<div class="list" style="bottom:-15px">
2024-05-11 14:54:48 +08:00
<el-tabs v-model="activeName" >
2024-04-19 17:06:28 +08:00
<el-tab-pane label="企业新闻" name="first"></el-tab-pane>
</el-tabs>
</div>
</div>
</div>
</div>
<div style="height: 80px;"></div>
<div style="width: 80%;margin: auto;">
2024-05-07 17:53:40 +08:00
<el-row style="display: flex;flex-wrap: wrap;">
2024-05-11 14:54:48 +08:00
<el-col :span="8" v-for="item in newshow" :key="item.id" class="colitem" style="cursor: pointer;" >
<div @click="changeto(item.id)">
<el-card :body-style="{ padding: '0px' }" >
<div class="card_img1 mark" :style="{ 'background-image': 'url(' + item.pic + ')' }" >
<div class="date">{{item.releaseTime}}</div>
2024-04-19 17:06:28 +08:00
</div>
<div>
2024-05-20 13:45:51 +08:00
<div class="news_li_con"><div class="title">{{item.name}}</div> <div class="introduction" v-html="item.content"></div> </div>
2024-04-19 17:06:28 +08:00
</div>
</el-card>
2024-05-11 14:54:48 +08:00
</div>
2024-04-19 17:06:28 +08:00
</el-col>
</el-row>
</div>
2024-05-11 14:54:48 +08:00
2024-04-19 17:06:28 +08:00
<div style="width: 80%;margin: auto;">
2024-05-17 15:50:06 +08:00
<div v-for="item in rest" class="newsitem" style="overflow: hidden; padding: 30px 0 24px;position: relative;cursor: pointer;display: flex;" @click="changeto(item.id)">
<div class="date1" style=""><img :src="item.pic" style="width: 236px;height: 157px;"></img></div>
2024-05-29 17:59:21 +08:00
<div class="" style=" width: 65%;margin-left: 35px;overflow: hidden;">
2024-05-17 15:50:06 +08:00
<div style=" font-size: 18px;
color: #000;
font-weight: bold;
margin-top: 15px;">
{{item.name}}
</div>
<div style="font-size: 14px;
margin-top: 7px;
color: #ababab;">
{{item.releaseTime}}
</div>
<div style="font-size: 14px;
color: #666666;
2024-05-29 17:59:21 +08:00
height: 79px;
-webkit-box-orient:vertical;
margin-top: 10px;" v-html="item.content">
2024-05-17 15:50:06 +08:00
</div>
</div>
2024-04-19 17:06:28 +08:00
</div>
<div style="height: 40px;"></div>
2024-05-11 14:54:48 +08:00
<div class="page_more wow fadeInUp animated" data-wow-delay=".2s" id="More" style="visibility: visible; animation-delay: 0.2s; animation-name: fadeInUp;" @click="addnews">
2024-04-19 17:06:28 +08:00
<em>更多新闻</em>
</div>
<div style="height: 60px;"></div>
</div>
</div>
</template>
<script>
import '@/assets/images/news1.png'
2024-05-07 17:53:40 +08:00
import { getnews } from '@/api';
2024-04-19 17:06:28 +08:00
export default{
data(){
return{
activeName:'first',
2024-05-11 14:54:48 +08:00
newshow:[],
rest:[],
2024-05-07 17:53:40 +08:00
newslist:[],
2024-05-20 13:45:51 +08:00
page:0,
content:''
2024-04-19 17:06:28 +08:00
}
},
2024-05-07 17:53:40 +08:00
mounted(){
2024-05-08 14:24:51 +08:00
getnews({'page':0}).then((res)=>{
2024-05-20 13:45:51 +08:00
2024-05-29 17:59:21 +08:00
// 遍历数组对每个对象的richText属性进行处理
res.data.content.forEach(item => {
2024-05-20 13:45:51 +08:00
// 去除所有标签和空格
item.content = item.content.replace(/<[^>]+>/g, '').trim();
});
2024-05-29 17:59:21 +08:00
this.newslist=res.data.content
let arr=this.newslist.slice(0,3)
2024-05-20 13:45:51 +08:00
this.newshow=arr
2024-05-07 17:53:40 +08:00
})
},
2024-04-19 17:06:28 +08:00
methods:{
handleClick(){
2024-05-11 14:54:48 +08:00
},
addnews(){
this.page=this.page+1
getnews({'page':this.page}).then((res)=>{
// console.log(res)
for(let i=0;i<res.data.content.length;i++){
2024-05-31 11:58:28 +08:00
res.data.content[i].content= res.data.content[i].content.replace(/<[^>]+>/g, '').trim();
res.data.content[i].day=res.data.content[i].releaseTime.slice(-2)
res.data.content[i].year=res.data.content[i].releaseTime.slice(0,7)
2024-05-11 14:54:48 +08:00
this.rest.push(res.data.content[i])
}
})
},
changeto(id){
this.$router.push({
path:'/detail?id='+id
})
2024-04-19 17:06:28 +08:00
}
}
2024-05-11 14:54:48 +08:00
}
2024-04-19 17:06:28 +08:00
</script>
<style scoped>
.compbg {
background-image: url('../assets/images/banner.png');
}
.page_ban {
height: 404px;
position: relative;
text-align: center;
z-index: 101;
}
.page_ban .img {
width: 100%;
height: 100%;
background-size: cover;
position: absolute;
left: 0;
top: 0;
z-index: -1;
}
.date{
font-size: 26px;
color: #dfd4c3;
line-height: 1;
position: absolute;
left: 0;
bottom: 20px;
padding: 0 30px;
width: 100%;
}
.page_ban .content {
position: relative;
height: 100%;
}
.content {
width: 80%;
margin: 0 auto;
}
.page_nav {
width: 100%;
position: absolute;
left: 0;
bottom: 0;
}
div,
li {
box-sizing: border-box;
}
.page_nav .name {
float: left;
}
.page_nav .list {
position: relative;
float: right;
margin-right: -35px;
}
.page_nav a {
float: left;
line-height: 76px;
position: relative;
font-size: 14.5px;
color: white;
font-weight: bold;
text-decoration: none;
}
.page_nav .name a {
padding-left: 30px;
/* background: url() no-repeat left 30px; */
}
.page_nav .list {
position: relative;
float: right;
margin-right: -35px;
}
.page_nav .list a {
color: #e7dfd2;
color: rgba(231, 223, 210, .7);
margin-right: 35px;
}
.page_nav a {
float: left;
line-height: 76px;
position: relative;
font-size: 14.5px;
color: rgba(255, 255, 255, 0.8);
font-weight: bold;
}
.page_nav .inner_bor {
height: 4px;
background: #f23c39;
position: absolute;
bottom: -4px;
left: 0;
display: block;
}
::v-deep .el-tabs__item {
color: rgba(255, 255, 255, 0.8);
border: none;
}
::v-deep .el-tabs__nav-wrap::after {
background-color: transparent;
}
.card_img1{
border-radius: 14px;
2024-05-07 17:53:40 +08:00
2024-04-19 17:06:28 +08:00
position: relative;
width: 100%;
height: 307px;
background-size: cover;
margin-bottom: 16px;
border-radius: 14px;
}
.card_img2{
border-radius: 14px;
background-image: url('../assets/images/news2.png');
position: relative;
width: 100%;
height: 307px;
background-size: cover;
margin-bottom: 16px;
border-radius: 14px;
}
.card_img3{
border-radius: 14px;
background-image: url('../assets/images/news3.png');
position: relative;
width: 100%;
height: 307px;
background-size: cover;
margin-bottom: 16px;
border-radius: 14px;
}
2024-05-07 17:53:40 +08:00
.colitem{
display: inline-block;
float: none;
}
2024-04-19 17:06:28 +08:00
.mark::before{
content: '';
width: 100%;
height: 100%;
background-color: #000;
position: absolute;
bottom: 0;
left: 0;
opacity: .25;
filter: alpha(opacity = 25);
-webkit-filter: alpha(opacity = 25);
border-radius: 14px;
}
::v-deep .el-card.is-always-shadow{
border-radius: 14px;
box-shadow: initial;
}
::v-deep el-card{
border:none
}
.news_li_con {
position: relative;
padding-left: 28px;
2024-05-17 15:50:06 +08:00
height: 150px;
2024-05-07 17:53:40 +08:00
overflow: hidden;
2024-04-19 17:06:28 +08:00
}
.news_li_con:before {
content: '';
width: 6px;
height: 21px;
background-color: rgb(48,113,183);
position: absolute;
top: 4px;
left: 0;
}
.title {
font-size: 22px;
color: #3c3c48;
color: rgba(60, 60, 72, .7);
line-height: 30px;
font-weight: bold;
max-width: 77%;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
transition: all .4s;
-webkit-transition: all .4s;
-moz-transition: all .4s;
-ms-transition: all .4s;
-o-transition: all .4s;
}
.introduction {
min-height: 72px;
font-size: 14.5px;
color: #848484;
color: rgba(132, 132, 132, .7);
line-height: 24px;
margin: 8px 0 14px;
display: -webkit-box;
overflow: hidden;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
}
.more {
2024-05-07 17:53:40 +08:00
position:absolute;
bottom: 0;
2024-04-19 17:06:28 +08:00
font-size: 18px;
color: #3958cd;
line-height: 1;
text-transform: uppercase;
letter-spacing: -.4px;
}
div{
box-sizing: border-box;
}
.el-col{
padding: 0px 8px;
}
.newsitem::before{
content: '';
width: 100%;
height: 2px;
background-color: #ebebeb;
position: absolute;
bottom: 0;
left: 0;
}
.newsitem .date1{
2024-05-17 15:50:06 +08:00
width: 236px;
2024-04-19 17:06:28 +08:00
float: left;
font-family: 'Rajdhani';
font-size: 26px;
color: rgb(48,113,183);
line-height: 1;
}
.title1{
font-size: 20px;
color: #3c3c48;
color: rgba(60, 60, 72, .7);
line-height: 24px;
font-weight: bold;
margin-bottom: 10px;
max-width: 77%;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
transition: all .4s;
-webkit-transition: all .4s;
-moz-transition: all .4s;
-ms-transition: all .4s;
-o-transition: all .4s;
}
.newsitem .introduction1{
font-size: 14.5px;
color: #848484;
color: rgba(132, 132, 132, .7);
line-height: 24px;
display: -webkit-box;
overflow: hidden;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
}
.page_more {
position: relative;
font-size: 18px;
color: #ffffff;
line-height: 70px;
background-color: rgb(48,113,183);
text-align: center;
cursor: pointer;
border-radius: 14px;
-webkit-border-radius: 14px;
-moz-border-radius: 14px;
-ms-border-radius: 14px;
-o-border-radius: 14px;
}
2024-04-24 09:27:53 +08:00
::v-deep .el-card{
border: none;
}
2024-04-19 17:06:28 +08:00
</style>