parent
83baa3805b
commit
0f24516e71
9 changed files with 1651 additions and 11 deletions
@ -0,0 +1,519 @@ |
|||||||
|
<template> |
||||||
|
<div class="wrap" |
||||||
|
v-if="modules.length>=1"> |
||||||
|
<el-carousel height="24rem" |
||||||
|
:interval="6000" |
||||||
|
:arrow="(modules[0] && modules[0].list.filter(e => e.isEnable).length > 1) ? 'hover' : 'never'" |
||||||
|
:indicator-position="modules[0].list.filter(e => e.isEnable).length > 1 ? '' : 'none'"> |
||||||
|
<template v-for="(item, i) in modules[0].list"> |
||||||
|
<el-carousel-item v-if="item.pic && item.isEnable" |
||||||
|
:key="i"> |
||||||
|
<div :class="['banner-item', {'cursor-pointer': isLink(item.link.linkName)}]" |
||||||
|
@click="openLink(item)"> |
||||||
|
<img :src="item.pic" |
||||||
|
alt=""> |
||||||
|
<p class="banner-name">{{ item.title }}</p> |
||||||
|
</div> |
||||||
|
</el-carousel-item> |
||||||
|
</template> |
||||||
|
</el-carousel> |
||||||
|
|
||||||
|
<div class="block history gray"> |
||||||
|
<div :class="['inner', {'cursor-pointer': isLink(modules[1].form.link.linkName)}]" |
||||||
|
@click="openLink(modules[1].form)"> |
||||||
|
<h2 class="wow fadeInLeft" |
||||||
|
style="margin-left: 3.56rem">{{ modules[1].form.title }}</h2> |
||||||
|
<div class="texts wow fadeInDown" |
||||||
|
data-wow-delay="0.5s"> |
||||||
|
<div class="left"> |
||||||
|
<h2>{{ modules[1].form.subTitle }}</h2> |
||||||
|
<div class="line"></div> |
||||||
|
<div class="des">{{ modules[1].form.des }}</div> |
||||||
|
</div> |
||||||
|
<img class="bg" |
||||||
|
width="562" |
||||||
|
height="506" |
||||||
|
:src="modules[1].form.pic" |
||||||
|
alt=""> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
|
||||||
|
<div class="block gray"> |
||||||
|
<div class="inner"> |
||||||
|
<h2 class="b-title wow fadeInUp">{{ modules[7].form.title }}</h2> |
||||||
|
<p class="intro wow fadeInUp" |
||||||
|
data-wow-delay="0.5s">{{ modules[7].form.des }}</p> |
||||||
|
<ul class="stat"> |
||||||
|
<li class="wow fadeInLeft" |
||||||
|
data-wow-delay="0.2s"> |
||||||
|
<p class="num">{{ modules[8].form.title }}</p> |
||||||
|
<p class="text">{{ modules[8].form.des }}</p> |
||||||
|
</li> |
||||||
|
<li class="wow fadeInLeft" |
||||||
|
data-wow-delay="0.4s"> |
||||||
|
<p class="num">{{ modules[9].form.title }}</p> |
||||||
|
<p class="text">{{ modules[9].form.des }}</p> |
||||||
|
</li> |
||||||
|
<li class="wow fadeInLeft" |
||||||
|
data-wow-delay="0.6s"> |
||||||
|
<p class="num">{{ modules[10].form.title }}</p> |
||||||
|
<p class="text">{{ modules[10].form.des }}</p> |
||||||
|
</li> |
||||||
|
<li class="wow fadeInLeft" |
||||||
|
data-wow-delay="0.9s"> |
||||||
|
<p class="num">{{ modules[11].form.title }}</p> |
||||||
|
<p class="text">{{ modules[11].form.des }}</p> |
||||||
|
</li> |
||||||
|
<li class="wow fadeInLeft" |
||||||
|
data-wow-delay="1.1s"> |
||||||
|
<p class="num">{{ modules[12].form.title }}</p> |
||||||
|
<p class="text">{{ modules[12].form.des }}</p> |
||||||
|
</li> |
||||||
|
<li class="wow fadeInLeft" |
||||||
|
data-wow-delay="1.3s"> |
||||||
|
<p class="num">{{ modules[13].form.title }}</p> |
||||||
|
<p class="text">{{ modules[13].form.des }}</p> |
||||||
|
</li> |
||||||
|
</ul> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
|
||||||
|
<div class="plan"> |
||||||
|
<div :class="['inner', {'cursor-pointer': isLink(modules[14].form.link.linkName)}]" |
||||||
|
@click="openLink(modules[14].form)"> |
||||||
|
<img class="pic wow fadeInLeft" |
||||||
|
:src="modules[14].form.pic" |
||||||
|
alt=""> |
||||||
|
<div class="texts wow fadeInRight"> |
||||||
|
<h6>{{ modules[14].form.title }}</h6> |
||||||
|
<div class="des">{{ modules[14].form.des }}</div> |
||||||
|
<img src="@/assets/images/arrow-white.png" |
||||||
|
alt=""> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
|
||||||
|
<div class="block"> |
||||||
|
<div class="inner"> |
||||||
|
<h2 class="b-title wow fadeInUp">{{ modules[15].form.title }}</h2> |
||||||
|
<p class="intro wow fadeInUp" |
||||||
|
data-wow-delay="0.5s">{{ modules[15].form.des }}</p> |
||||||
|
<ul class="people"> |
||||||
|
<template v-for="(item, i) in modules[16].list"> |
||||||
|
<li v-if="item.isEnable" |
||||||
|
:key="i" |
||||||
|
class="wow fadeInDown" |
||||||
|
data-wow-delay="0.5s"> |
||||||
|
<img class="pic" |
||||||
|
:src="item.pic" |
||||||
|
alt=""> |
||||||
|
<div class="texts"> |
||||||
|
<p class="sub">{{ item.subTitle }}</p> |
||||||
|
<h6>{{ item.title }}</h6> |
||||||
|
<p class="des">{{ item.des }}</p> |
||||||
|
<img :class="{'arrow': isLink(item.link.linkName)}" |
||||||
|
src="@/assets/images/arrow.png" |
||||||
|
alt="" |
||||||
|
@click="openLink(item)"> |
||||||
|
</div> |
||||||
|
</li> |
||||||
|
</template> |
||||||
|
</ul> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
|
||||||
|
<div class="block list-block gray"> |
||||||
|
<div class="inner"> |
||||||
|
<h2 class="b-title wow fadeInUp">{{ modules[17].form.title }}</h2> |
||||||
|
<p class="intro wow fadeInUp" |
||||||
|
data-wow-delay="0.5s">{{ modules[17].form.des }}</p> |
||||||
|
<ul class="list"> |
||||||
|
<li class="wow fadeInDown" |
||||||
|
data-wow-delay="0.6s" |
||||||
|
:class="{'cursor-pointer': isLink(modules[18].form.link.linkName)}" |
||||||
|
@click="openLink(modules[18].form)"> |
||||||
|
<img class="pic" |
||||||
|
:src="modules[18].form.pic" |
||||||
|
alt=""> |
||||||
|
<h6>{{ modules[18].form.title }}</h6> |
||||||
|
<p class="des">{{ modules[18].form.des }}</p> |
||||||
|
</li> |
||||||
|
<li class="wow fadeInDown" |
||||||
|
data-wow-delay="0.8s" |
||||||
|
:class="{'cursor-pointer': isLink(modules[19].form.link.linkName)}" |
||||||
|
@click="openLink(modules[19].form)"> |
||||||
|
<img class="pic" |
||||||
|
:src="modules[19].form.pic" |
||||||
|
alt=""> |
||||||
|
<h6>{{ modules[19].form.title }}</h6> |
||||||
|
<p class="des">{{ modules[19].form.des }}</p> |
||||||
|
</li> |
||||||
|
<li class="wow fadeInDown" |
||||||
|
data-wow-delay="1s" |
||||||
|
:class="{'cursor-pointer': isLink(modules[20].form.link.linkName)}" |
||||||
|
@click="openLink(modules[20].form)"> |
||||||
|
<img class="pic" |
||||||
|
:src="modules[20].form.pic" |
||||||
|
alt=""> |
||||||
|
<h6>{{ modules[20].form.title }}</h6> |
||||||
|
<p class="des">{{ modules[20].form.des }}</p> |
||||||
|
</li> |
||||||
|
</ul> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
|
||||||
|
<div class="block"> |
||||||
|
<div class="inner staff-inner"> |
||||||
|
<h2 class="b-title wow fadeInUp">{{ modules[21].form.title }}</h2> |
||||||
|
<p class="intro wow fadeInUp" |
||||||
|
data-wow-delay="0.5s">{{ modules[21].form.des }}</p> |
||||||
|
<div :class="['staff wow fadeInDown', {'cursor-pointer': isLink(modules[22].form.link.linkName)}]" |
||||||
|
data-wow-delay="0.7s" |
||||||
|
@click="openLink(modules[22].form)"> |
||||||
|
<div class="left"> |
||||||
|
<h6>{{ modules[22].form.title }}</h6> |
||||||
|
<div class="des">{{ modules[22].form.des }}</div> |
||||||
|
</div> |
||||||
|
<img class="pic" |
||||||
|
:src="modules[22].form.pic" |
||||||
|
alt=""> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</template> |
||||||
|
|
||||||
|
<script> |
||||||
|
import mixins from '@/mixins/page' |
||||||
|
import Setting from '@/setting' |
||||||
|
import Util from '@/libs/util' |
||||||
|
import WOW from 'wow.js' |
||||||
|
export default { |
||||||
|
mixins: [mixins], |
||||||
|
data () { |
||||||
|
return { |
||||||
|
|
||||||
|
} |
||||||
|
}, |
||||||
|
mounted () { |
||||||
|
new WOW().init() |
||||||
|
}, |
||||||
|
methods: { |
||||||
|
// 获取文章详情 |
||||||
|
getInfo () { |
||||||
|
// 预览/详情 |
||||||
|
this.$post(`${this.api[this.preview ? 'getRedisCache' : 'findPage']}?columnId=${this.id}`).then(({ data }) => { |
||||||
|
if (data.length) { |
||||||
|
// state:已发布(1)则取theEditedJson,草稿(0)则取jsonBeforeEditing |
||||||
|
const json = JSON.parse(this.preview ? |
||||||
|
data : |
||||||
|
data[data.length - 1][data[data.length - 1].state ? 'theEditedJson' : 'jsonBeforeEditing']) |
||||||
|
this.modules = json |
||||||
|
console.log("🚀 ~ file: index.vue ~ line 180 ~ this.$post ~ json", json) |
||||||
|
} |
||||||
|
}).catch(err => { }) |
||||||
|
}, |
||||||
|
} |
||||||
|
}; |
||||||
|
</script> |
||||||
|
|
||||||
|
<style lang="scss" scoped> |
||||||
|
@import url(../../plugins/wow/animate.css); |
||||||
|
@import '../../styles/page/page.scss'; |
||||||
|
.banner-item { |
||||||
|
.banner-name { |
||||||
|
font-size: 2.16rem; |
||||||
|
} |
||||||
|
} |
||||||
|
.block { |
||||||
|
padding: 3.85rem 0; |
||||||
|
.inner { |
||||||
|
.wow { |
||||||
|
font-size: 1.921rem; |
||||||
|
} |
||||||
|
.texts { |
||||||
|
padding: 4.1rem 2.85rem 1.5rem; |
||||||
|
.left { |
||||||
|
width: 58%; |
||||||
|
margin-right: 2.8rem; |
||||||
|
h2 { |
||||||
|
font-size: 1.721rem; |
||||||
|
} |
||||||
|
.line { |
||||||
|
margin: 1rem; |
||||||
|
} |
||||||
|
.des { |
||||||
|
font-size: 1.256rem; |
||||||
|
} |
||||||
|
} |
||||||
|
.bg { |
||||||
|
width: 38%; |
||||||
|
height: 25.3rem; |
||||||
|
} |
||||||
|
} |
||||||
|
.b-title { |
||||||
|
margin-bottom: 2.5rem; |
||||||
|
font-size: 2.8rem; |
||||||
|
} |
||||||
|
.intro { |
||||||
|
margin-bottom: 4rem; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
.history { |
||||||
|
h2 { |
||||||
|
font-size: 2.14rem; |
||||||
|
color: #333; |
||||||
|
} |
||||||
|
.texts { |
||||||
|
display: flex; |
||||||
|
justify-content: space-between; |
||||||
|
padding: 5.125rem 3.5625rem 1.875rem; |
||||||
|
margin-top: 20px; |
||||||
|
background-color: #fff; |
||||||
|
border-radius: 6.25rem 0px 0px 0px; |
||||||
|
transition: 0.3s; |
||||||
|
&:hover { |
||||||
|
transform: scale(1.05); |
||||||
|
} |
||||||
|
} |
||||||
|
.left { |
||||||
|
width: 43.4375rem; |
||||||
|
} |
||||||
|
.line { |
||||||
|
width: 8.5rem; |
||||||
|
height: 2px; |
||||||
|
margin: 1.25rem 0; |
||||||
|
background: #d7d7d7; |
||||||
|
} |
||||||
|
.des { |
||||||
|
font-size: 1.57rem; |
||||||
|
color: #181818; |
||||||
|
line-height: 31px; |
||||||
|
-webkit-line-clamp: 6; |
||||||
|
} |
||||||
|
.bg { |
||||||
|
margin: -122px 0 0 0; |
||||||
|
border-top-right-radius: 40px; |
||||||
|
} |
||||||
|
} |
||||||
|
.card { |
||||||
|
display: flex; |
||||||
|
flex-wrap: wrap; |
||||||
|
li { |
||||||
|
width: calc((100% - 28px) / 2); |
||||||
|
// height: 13.85rem; |
||||||
|
padding: 3.5rem 3.344rem; |
||||||
|
margin-bottom: 1.4rem; |
||||||
|
color: #fff; |
||||||
|
transition: 0.3s; |
||||||
|
&:hover { |
||||||
|
transform: scale(1.05); |
||||||
|
} |
||||||
|
&:nth-child(odd) { |
||||||
|
margin-right: 1.75rem; |
||||||
|
} |
||||||
|
} |
||||||
|
.item1 { |
||||||
|
background: url(../../assets/images/about/3.png) 0 0/100% 100% no-repeat; |
||||||
|
} |
||||||
|
.item2 { |
||||||
|
background-color: #4984b6; |
||||||
|
} |
||||||
|
.item3 { |
||||||
|
background-color: #567180; |
||||||
|
} |
||||||
|
.item4 { |
||||||
|
background: url(../../assets/images/about/4.png) 0 0/100% 100% no-repeat; |
||||||
|
} |
||||||
|
h6 { |
||||||
|
margin-bottom: 10px; |
||||||
|
font-size: 2.28rem; |
||||||
|
font-family: toppan; |
||||||
|
} |
||||||
|
.des { |
||||||
|
font-size: 1.024rem; |
||||||
|
} |
||||||
|
} |
||||||
|
.plan { |
||||||
|
padding: 3.65rem 0; |
||||||
|
background: #072947; |
||||||
|
.inner { |
||||||
|
display: flex; |
||||||
|
justify-content: space-between; |
||||||
|
width: 85.7142rem; |
||||||
|
} |
||||||
|
.pic { |
||||||
|
width: 33.2rem; |
||||||
|
height: 24.4rem; |
||||||
|
margin-bottom: -4.8rem; |
||||||
|
transition: 0.3s; |
||||||
|
&:hover { |
||||||
|
transform: scale(1.05); |
||||||
|
} |
||||||
|
} |
||||||
|
.texts { |
||||||
|
width: 51%; |
||||||
|
margin-top: 4.25rem; |
||||||
|
color: #fff; |
||||||
|
transition: 0.3s; |
||||||
|
&:hover { |
||||||
|
transform: translateY(20px); |
||||||
|
} |
||||||
|
img { |
||||||
|
width: 3.5rem; |
||||||
|
height: 3.5rem; |
||||||
|
} |
||||||
|
} |
||||||
|
h6 { |
||||||
|
font-size: 2.056rem; |
||||||
|
} |
||||||
|
.des { |
||||||
|
margin: 2rem 0; |
||||||
|
font-size: 1.1424rem; |
||||||
|
} |
||||||
|
} |
||||||
|
.people { |
||||||
|
li { |
||||||
|
display: flex; |
||||||
|
justify-content: space-between; |
||||||
|
margin-bottom: 6.296rem; |
||||||
|
transition: 0.3s; |
||||||
|
&:hover { |
||||||
|
transform: scale(1.05); |
||||||
|
} |
||||||
|
&:nth-child(even) { |
||||||
|
flex-direction: row-reverse; |
||||||
|
} |
||||||
|
} |
||||||
|
.pic { |
||||||
|
width: 47%; |
||||||
|
height: auto; |
||||||
|
} |
||||||
|
.texts { |
||||||
|
width: 49%; |
||||||
|
padding-top: 4.45rem; |
||||||
|
} |
||||||
|
h6 { |
||||||
|
margin: 1rem 0; |
||||||
|
font-size: 2.28rem; |
||||||
|
font-weight: 600; |
||||||
|
} |
||||||
|
.sub { |
||||||
|
font-size: 1.1424rem; |
||||||
|
color: #020202; |
||||||
|
} |
||||||
|
.des { |
||||||
|
font-size: 1.024rem; |
||||||
|
color: #020202; |
||||||
|
line-height: 30px; |
||||||
|
} |
||||||
|
.arrow { |
||||||
|
height: 3.7rem; |
||||||
|
width: 3.7rem; |
||||||
|
} |
||||||
|
} |
||||||
|
.list-block { |
||||||
|
.inner { |
||||||
|
width: 80%; |
||||||
|
padding: 5.625rem 0; |
||||||
|
background-color: #fff; |
||||||
|
} |
||||||
|
} |
||||||
|
.list { |
||||||
|
display: flex; |
||||||
|
justify-content: center; |
||||||
|
li { |
||||||
|
flex: 1; |
||||||
|
padding-bottom: 1.875rem; |
||||||
|
margin-right: 1.75rem; |
||||||
|
text-align: center; |
||||||
|
background-color: #f5f5f5; |
||||||
|
transition: 0.3s; |
||||||
|
&:hover { |
||||||
|
background-color: #1f5793; |
||||||
|
h6, |
||||||
|
.des { |
||||||
|
color: #fff; |
||||||
|
} |
||||||
|
} |
||||||
|
&:last-child { |
||||||
|
margin-right: 0; |
||||||
|
} |
||||||
|
} |
||||||
|
.pic { |
||||||
|
width: 100%; |
||||||
|
} |
||||||
|
h6 { |
||||||
|
margin: 1.75rem 0 5px; |
||||||
|
font-size: 1.368rem; |
||||||
|
color: #272727; |
||||||
|
transition: 0.3s; |
||||||
|
} |
||||||
|
.des { |
||||||
|
font-size: 0.912rem; |
||||||
|
color: #757575; |
||||||
|
transition: 0.3s; |
||||||
|
} |
||||||
|
} |
||||||
|
.staff { |
||||||
|
display: flex; |
||||||
|
justify-content: space-between; |
||||||
|
background: #f8f8f8; |
||||||
|
transition: 0.3s; |
||||||
|
&:hover { |
||||||
|
transform: scale(1.05); |
||||||
|
background-color: #165191; |
||||||
|
h6, |
||||||
|
.des { |
||||||
|
color: #fff; |
||||||
|
} |
||||||
|
} |
||||||
|
.staff-inner { |
||||||
|
width: 98.8125rem; |
||||||
|
} |
||||||
|
.left { |
||||||
|
width: 50%; |
||||||
|
padding: 5.4rem 2.15rem 0 2.3rem; |
||||||
|
} |
||||||
|
h6 { |
||||||
|
margin-bottom: 1.5rem; |
||||||
|
font-size: 1.712rem; |
||||||
|
color: #333; |
||||||
|
transition: 0.3s; |
||||||
|
@include mul-ellipsis(3); |
||||||
|
} |
||||||
|
.des { |
||||||
|
font-size: 1.42rem; |
||||||
|
color: #333; |
||||||
|
line-height: 1.94rem; |
||||||
|
transition: 0.3s; |
||||||
|
} |
||||||
|
.pic { |
||||||
|
width: 53%; |
||||||
|
height: auto; |
||||||
|
} |
||||||
|
} |
||||||
|
.stat { |
||||||
|
display: flex; |
||||||
|
justify-content: space-around; |
||||||
|
flex-wrap: wrap; |
||||||
|
margin-top: 3rem; |
||||||
|
li { |
||||||
|
width: 27%; |
||||||
|
margin-bottom: 2.5rem; |
||||||
|
} |
||||||
|
.num { |
||||||
|
margin-bottom: 10px; |
||||||
|
font-size: 2.7rem; |
||||||
|
font-weight: 800; |
||||||
|
font-family: toppan; |
||||||
|
color: #035ce1; |
||||||
|
line-height: 2.45rem; |
||||||
|
} |
||||||
|
.text { |
||||||
|
font-size: 1.08rem; |
||||||
|
} |
||||||
|
} |
||||||
|
</style> |
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,14 @@ |
|||||||
|
import BasicLayout from '@/layouts/home' |
||||||
|
const name = 'aboutNew' |
||||||
|
export default { |
||||||
|
path: `/${name}`, |
||||||
|
component: BasicLayout, |
||||||
|
children: [ |
||||||
|
{ |
||||||
|
name, |
||||||
|
path: `/${name}`, |
||||||
|
component: () => import(`@/pages/${name}`), |
||||||
|
meta: { title: '' } |
||||||
|
} |
||||||
|
] |
||||||
|
}; |
@ -0,0 +1,14 @@ |
|||||||
|
import BasicLayout from '@/layouts/home' |
||||||
|
const name = 'sfelNew' |
||||||
|
export default { |
||||||
|
path: `/${name}`, |
||||||
|
component: BasicLayout, |
||||||
|
children: [ |
||||||
|
{ |
||||||
|
name, |
||||||
|
path: `/${name}`, |
||||||
|
component: () => import(`@/pages/${name}`), |
||||||
|
meta: { title: '' } |
||||||
|
} |
||||||
|
] |
||||||
|
}; |
Loading…
Reference in new issue