yujialong 1 year ago
parent f89cc9b2a9
commit 2edf4cf9f0
  1. BIN
      src/assets/images/mall1.png
  2. 4
      src/components/rightColumns/index.vue
  3. 16
      src/pages/article/index.vue
  4. 10
      src/pages/column/index.vue
  5. 40
      src/pages/contactUs/index.vue
  6. 75
      src/pages/devHistory/index.vue
  7. 311
      src/pages/governance/index.vue
  8. 99
      src/pages/lightSources/index.vue
  9. 32
      src/pages/mission/index.vue
  10. 283
      src/pages/org/index.vue
  11. 196
      src/pages/publish/show.vue
  12. 501
      src/pages/scientific/index.vue
  13. 2
      src/pages/talentCentre/index.vue
  14. 20
      src/styles/page/page.scss

Binary file not shown.

After

Width:  |  Height:  |  Size: 572 B

@ -1,5 +1,5 @@
<template> <template>
<div class="right party"> <div :class="['right', {party}]">
<el-tree class="column" <el-tree class="column"
ref="column" ref="column"
:data="columns" :data="columns"
@ -37,7 +37,7 @@
import Util from '@/libs/util' import Util from '@/libs/util'
import mixins from '@/mixins/article' import mixins from '@/mixins/article'
export default { export default {
props: {}, props: ['party'],
mixins: [mixins], mixins: [mixins],
data () { data () {
return { return {

@ -30,7 +30,8 @@
</ul> </ul>
</div> </div>
</div> </div>
<RightColumns ref="right" /> <RightColumns ref="right"
:party="isParty" />
</div> </div>
</div> </div>
</div> </div>
@ -47,11 +48,12 @@ export default {
data () { data () {
return { return {
id: this.$route.query.articleId, id: this.$route.query.articleId,
columnId: +this.$route.query.id,
loaded: false, loaded: false,
routes: [], routes: [],
columnId: '',
form: {}, form: {},
columnBanner: '', columnBanner: '',
isParty: 0
} }
}, },
components: { components: {
@ -65,7 +67,7 @@ export default {
} }
}, },
mounted () { mounted () {
this.getColumnInfo()
}, },
methods: { methods: {
// //
@ -110,6 +112,14 @@ export default {
// +1 // +1
this.$post(`${this.api.articlePreview}?contentId=${this.id}`).then(({ data }) => { }).catch(err => { }) this.$post(`${this.api.articlePreview}?contentId=${this.id}`).then(({ data }) => { }).catch(err => { })
}, },
//
getColumnInfo () {
this.columnId && this.$post(`${this.api.findColumn}?id=${this.columnId}`)
.then(({ data }) => {
if (data.detailStyleId == 69) this.isParty = 1
})
.catch((res) => { });
},
// banner // banner
getBanner (data) { getBanner (data) {
for (const e of data) { for (const e of data) {

@ -1,7 +1,6 @@
<template> <template>
<div class="party" <div v-show="loaded"
v-show="loaded" :class="['wrap', { activity: info.listStyleId === 15, party: info.listStyleId === 68 }]">
:class="['wrap', { activity: info.listStyleId === 15 }]">
<div class="banner"> <div class="banner">
<img width="100%" <img width="100%"
height="280" height="280"
@ -1026,6 +1025,11 @@ export default {
flex-grow: 1; flex-grow: 1;
} }
} }
.overDetail {
.texts {
width: 70%;
}
}
li { li {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;

@ -1,4 +1,5 @@
<template> <template>
<!-- 联系我们 -->
<div class="wrap"> <div class="wrap">
<div class="single-banner"> <div class="single-banner">
<img class="banner-img" <img class="banner-img"
@ -15,35 +16,45 @@
:data.sync="routes" /> :data.sync="routes" />
<div class="contact"> <div class="contact">
<div class="fields"> <div class="fields">
<h6>Contact us</h6> <h6>{{ modules[1].form.title }}</h6>
<p class="text">发圣诞节快乐副驾驶打卡了分速度快了父级圣诞快乐</p> <p class="text">{{ modules[1].form.address }}</p>
<p class="text">发圣诞节快乐副驾驶打卡了分速度快了父级圣诞快乐</p> <p class="text">{{ modules[1].form.phone }}</p>
<p class="text">发圣诞节快乐副驾驶打卡了分速度快了父级圣诞快乐</p> <p class="text">{{ modules[1].form.email }}</p>
</div> </div>
<img src="http://10.10.11.7/images/contactUs/2.png" <img :src="modules[2].form.pic"
alt="" alt=""
class="pic"> class="pic">
<el-table :data="list" <el-table :data="modules[3].list"
class="patent-table" class="patent-table"
ref="table" ref="table"
stripe stripe
header-align="center"> header-align="center">
<el-table-column prop="title" <el-table-column prop="dep"
label="部门" label="部门"
align="center" align="center"
min-width="250"></el-table-column> min-width="250"></el-table-column>
<el-table-column prop="publishingHouse" <el-table-column prop="contacts"
label="联系人" label="联系人"
align="center" align="center"
min-width="100"></el-table-column> min-width="100"></el-table-column>
<el-table-column prop="writersAndEditors" <el-table-column prop="phone"
label="电话" label="电话"
align="center" align="center"
min-width="150"></el-table-column> min-width="150"></el-table-column>
<el-table-column prop="publicationYear" <el-table-column prop="email"
label="邮箱" label="邮箱"
align="center" align="center"
min-width="150"></el-table-column> min-width="150">
<template slot-scope="scope">
<div class="flex j-center a-center">
<img class="m-r-5"
src="@/assets/images/mall1.png"
alt="">
{{ scope.row.email }}
</div>
</template>
</el-table-column>
</el-table> </el-table>
</div> </div>
</div> </div>
@ -180,4 +191,11 @@ export default {
margin: 2rem 0 1.5rem; margin: 2rem 0 1.5rem;
} }
} }
/deep/.patent-table {
thead tr,
thead th {
color: #fff;
background-color: #1583ff;
}
}
</style> </style>

@ -1,7 +1,9 @@
<template> <template>
<div class="wrap"> <div class="wrap">
<div class="single-banner"> <div class="single-banner">
<img class="banner-img" :src="modules[0].form.pic" alt="" /> <img class="banner-img"
:src="modules[0].form.pic"
alt="" />
<div class="texts"> <div class="texts">
<h6 class="banner-title">{{ modules[0].form.title }}</h6> <h6 class="banner-title">{{ modules[0].form.title }}</h6>
</div> </div>
@ -11,10 +13,13 @@
<div class="inner"> <div class="inner">
<h6>{{ modules[1].form.title }}</h6> <h6>{{ modules[1].form.title }}</h6>
<p class="en">{{ modules[1].form.subTitle }}</p> <p class="en">{{ modules[1].form.subTitle }}</p>
<div class="text" v-html="modules[1].form.des"></div> <div class="text"
v-html="modules[1].form.des"></div>
<h6 style="font-size: 1.6rem">{{ modules[2].form.title }}</h6> <h6 style="font-size: 1.6rem">{{ modules[2].form.title }}</h6>
<p class="en" style="margin-top: -15px;font-size: 1.6rem">{{ modules[2].form.subTitle }}</p> <p class="en"
<div class="text" v-html="modules[2].form.des"></div> style="margin-top: -15px;font-size: 1.6rem">{{ modules[2].form.subTitle }}</p>
<div class="text"
v-html="modules[2].form.des"></div>
</div> </div>
</div> </div>
</div> </div>
@ -25,17 +30,17 @@ import mixins from "@/mixins/page";
import WOW from "wow.js"; import WOW from "wow.js";
export default { export default {
mixins: [mixins], mixins: [mixins],
data() { data () {
return { return {
}; };
}, },
mounted() { mounted () {
new WOW().init(); new WOW().init();
}, },
methods: { methods: {
// //
getInfo() { getInfo () {
// / // /
this.$post( this.$post(
`${this.api[this.preview ? "getRedisCache" : "findPage"]}?columnId=${this.id}` `${this.api[this.preview ? "getRedisCache" : "findPage"]}?columnId=${this.id}`
@ -47,14 +52,14 @@ export default {
this.preview this.preview
? data ? data
: data[data.length - 1][ : data[data.length - 1][
data[data.length - 1].state ? "theEditedJson" : "jsonBeforeEditing" data[data.length - 1].state ? "theEditedJson" : "jsonBeforeEditing"
] ]
); );
this.modules = json; this.modules = json;
console.log("🚀 ~ file: index.vue ~ line 180 ~ this.$post ~ json", json); console.log("🚀 ~ file: index.vue ~ line 180 ~ this.$post ~ json", json);
} }
}) })
.catch((err) => {}); .catch((err) => { });
}, },
}, },
}; };
@ -62,26 +67,36 @@ export default {
<style lang="scss" scoped> <style lang="scss" scoped>
@import url(../../plugins/wow/animate.css); @import url(../../plugins/wow/animate.css);
@import "../../styles/page/page.scss"; @import '../../styles/page/page.scss';
.history { .history {
h6 { .inner {
position: relative; width: 1000px;
font-size: 2.2rem; }
font-family: PingFangSC-Medium, PingFang SC; h6 {
font-weight: 500; position: relative;
color: #333333; font-size: 2.2rem;
} font-family: PingFangSC-Medium, PingFang SC;
.en { font-weight: 500;
margin-top: -25px; color: #333333;
font-size: 2.2rem; }
font-family: PingFangSC-Light, PingFang SC; .en {
font-weight: 300; margin-top: -25px;
color: #E3E3E3; font-size: 2.2rem;
} font-family: PingFangSC-Light, PingFang SC;
.text { font-weight: 300;
max-width: 1200px; color: #e3e3e3;
margin: 30px 0; }
overflow: auto; .text {
} max-width: 1200px;
margin: 30px 0;
overflow: auto;
}
}
@media (max-width: 1000px) {
.history {
.inner {
width: 90%;
}
}
} }
</style> </style>

@ -1,7 +1,9 @@
<template> <template>
<div class="wrap"> <div class="wrap">
<div class="single-banner"> <div class="single-banner">
<img class="banner-img" :src="modules[0].form.pic" alt="" /> <img class="banner-img"
:src="modules[0].form.pic"
alt="" />
<div class="texts"> <div class="texts">
<h6 class="banner-title">{{ modules[0].form.title }}</h6> <h6 class="banner-title">{{ modules[0].form.title }}</h6>
</div> </div>
@ -9,29 +11,42 @@
<div class="block history gray"> <div class="block history gray">
<div class="inner"> <div class="inner">
<div class="texts wow fadeInDown" data-wow-delay="0.5s"> <div class="texts wow fadeInDown"
data-wow-delay="0.5s">
<div class="left"> <div class="left">
<h2>{{ modules[1].form.title }}</h2> <h2>{{ modules[1].form.title }}</h2>
<div class="text" v-html="modules[1].form.des"></div> <div class="text"
v-html="modules[1].form.des"></div>
</div> </div>
<img class="bg" width="562" height="506" :src="modules[1].form.pic" alt=""> <img class="bg"
width="562"
height="506"
:src="modules[1].form.pic"
alt="">
</div> </div>
</div> </div>
</div> </div>
<div class="cards"> <div class="cards">
<ul> <ul>
<li v-for="(item, i) in modules[2].list" :key="i">{{ item.title }}</li> <li v-for="(item, i) in modules[2].list"
:key="i"
:class="{active: curYear == i}"
@click="depClick(i)">{{ item.title }}</li>
</ul> </ul>
</div> </div>
<div class="block committee gray"> <div class="block committee gray">
<div class="inner"> <div v-if="modules[2].list[curYear].list[0]"
class="inner">
<div class="left"> <div class="left">
<h2>{{ modules[3].form.title }}</h2> <h2>{{ modules[2].list[curYear].list[0].title }}</h2>
<div class="text" v-html="modules[3].form.des"></div> <div class="text"
v-html="modules[2].list[curYear].list[0].des"></div>
</div> </div>
<img class="pic" :src="modules[3].form.pic" alt=""> <img class="pic"
:src="modules[2].list[curYear].list[0].pic"
alt="">
</div> </div>
</div> </div>
</div> </div>
@ -42,17 +57,17 @@ import mixins from "@/mixins/page";
import WOW from "wow.js"; import WOW from "wow.js";
export default { export default {
mixins: [mixins], mixins: [mixins],
data() { data () {
return { return {
curYear: 0,
}; };
}, },
mounted() { mounted () {
new WOW().init(); new WOW().init();
}, },
methods: { methods: {
// //
getInfo() { getInfo () {
// / // /
this.$post( this.$post(
`${this.api[this.preview ? "getRedisCache" : "findPage"]}?columnId=${this.id}` `${this.api[this.preview ? "getRedisCache" : "findPage"]}?columnId=${this.id}`
@ -64,166 +79,174 @@ export default {
this.preview this.preview
? data ? data
: data[data.length - 1][ : data[data.length - 1][
data[data.length - 1].state ? "theEditedJson" : "jsonBeforeEditing" data[data.length - 1].state ? "theEditedJson" : "jsonBeforeEditing"
] ]
); );
this.modules = json; this.modules = json;
console.log("🚀 ~ file: index.vue ~ line 180 ~ this.$post ~ json", json); console.log("🚀 ~ file: index.vue ~ line 180 ~ this.$post ~ json", json);
} }
}) })
.catch((err) => {}); .catch((err) => { });
}, },
//
depClick (i) {
this.curYear = i
}
}, },
}; };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
@import url(../../plugins/wow/animate.css); @import url(../../plugins/wow/animate.css);
@import "../../styles/page/page.scss"; @import '../../styles/page/page.scss';
.history { .history {
h2 { h2 {
padding-bottom: 15px; padding-bottom: 15px;
font-size: 1.2rem; font-size: 1.2rem;
color: #333; color: #333;
&:after { &:after {
content: ''; content: '';
display: block; display: block;
width: 65px; width: 65px;
height: 3px; height: 3px;
margin-top: 20px; margin-top: 20px;
background: #0280F1; background: #0280f1;
} }
} }
.texts {
display: flex;
justify-content: space-between;
padding: 82px 0 50px 30px;
margin-top: 20px;
background-color: #fff;
border-radius: 100px 0px 0px 0px;
transition: .3s;
&:hover {
transform: scale(1.05);
}
}
.left {
width: 600px;
padding-right: 20px;
}
.text {
margin: 20px 0;
font-size: 1.2rem;
color: #181818;
line-height: 31px;
@include mul-ellipsis(10);
}
.bg {
margin: -122px 0 0 0;
}
}
.cards {
padding: 60px 0;
ul {
display: flex;
justify-content: center;
flex-wrap: wrap;
width: 1200px;
margin: 0 auto;
}
li {
width: 260px;
margin: 0 30px 50px 0;
line-height: 84px;
font-size: 1.2rem;
color: #333;
text-align: center;
@include ellipsis();
background: url(http://10.10.11.7/images/governance/3.png) 0 0/cover no-repeat;
cursor: pointer;
&:nth-child(2) {
background-image: url(http://10.10.11.7/images/governance/4.png);
}
&:nth-child(3) {
background-image: url(http://10.10.11.7/images/governance/5.png);
}
&:nth-child(4) {
background-image: url(http://10.10.11.7/images/governance/4.png);
}
&:nth-child(5) {
background-image: url(http://10.10.11.7/images/governance/7.png);
}
&:nth-child(6) {
background-image: url(http://10.10.11.7/images/governance/6.png);
}
&:nth-child(8) {
background-image: url(http://10.10.11.7/images/governance/6.png);
}
&:hover {
color: #fff;
background: #0D84F2;
}
}
}
.committee {
.inner {
display: flex;
align-items: center;
}
.left {
width: 50%;
margin-right: 2%;
}
h2 {
margin-bottom: 20px;
font-size: 1.2rem;
font-family: PingFangSC-Medium, PingFang SC;
color: #333;
}
.text {
font-size: 1rem;
font-family: PingFangSC-Regular, PingFang SC;
line-height: 1.5;
color: #333;
}
.pic {
width: 48%;
height: 300px;
}
}
@media (max-width: 1200px) {
.history {
.texts { .texts {
flex-direction: column; display: flex;
justify-content: space-between;
padding: 82px 0 50px 30px;
margin-top: 20px;
background-color: #fff;
border-radius: 100px 0px 0px 0px;
transition: 0.3s;
&:hover {
transform: scale(1.05);
}
} }
.left { .left {
width: 90%; width: 600px;
padding-right: 20px;
}
.text {
margin: 20px 0;
font-size: 1.2rem;
color: #181818;
line-height: 31px;
@include mul-ellipsis(10);
} }
.bg { .bg {
width: 100%; margin: -122px 0 0 0;
margin-top: 2rem;
} }
} }
.cards { .cards {
padding: 60px 0;
ul { ul {
width: 100%; display: flex;
justify-content: center;
flex-wrap: wrap;
width: 1200px;
margin: 0 auto;
} }
li { li {
width: 30%; width: 368px;
margin: 0 30px 50px 0;
line-height: 84px;
font-size: 1.2rem;
color: #333;
text-align: center;
@include ellipsis();
background: url(http://10.10.11.7/images/governance/3.png) 0 0 / cover no-repeat;
cursor: pointer;
&:nth-child(2) {
background-image: url(http://10.10.11.7/images/governance/4.png);
}
&:nth-child(3) {
background-image: url(http://10.10.11.7/images/governance/5.png);
}
&:nth-child(4) {
background-image: url(http://10.10.11.7/images/governance/4.png);
}
&:nth-child(5) {
background-image: url(http://10.10.11.7/images/governance/7.png);
}
&:nth-child(6) {
background-image: url(http://10.10.11.7/images/governance/6.png);
}
&:nth-child(8) {
background-image: url(http://10.10.11.7/images/governance/6.png);
}
&:nth-child(3n) {
margin-right: 0;
}
&:hover,
&.active {
color: #fff;
background: #0d84f2;
}
} }
}
} }
@media (max-width: 640px) { .committee {
.committee {
.inner { .inner {
flex-direction: column; display: flex;
align-items: center;
} }
.left { .left {
width: 100%; width: 50%;
margin-right: 2%;
}
h2 {
margin-bottom: 20px;
font-size: 1.2rem;
font-family: PingFangSC-Medium, PingFang SC;
color: #333;
}
.text {
font-size: 1rem;
font-family: PingFangSC-Regular, PingFang SC;
line-height: 1.5;
color: #333;
} }
.pic { .pic {
width: 100%; width: 48%;
margin-top: 2rem; height: 300px;
}
}
@media (max-width: 1200px) {
.history {
.texts {
flex-direction: column;
}
.left {
width: 90%;
}
.bg {
width: 100%;
margin-top: 2rem;
}
}
.cards {
ul {
width: 100%;
}
li {
width: 30%;
}
}
}
@media (max-width: 640px) {
.committee {
.inner {
flex-direction: column;
}
.left {
width: 100%;
}
.pic {
width: 100%;
margin-top: 2rem;
}
} }
}
} }
</style> </style>

@ -10,7 +10,7 @@
</div> </div>
</div> </div>
<!-- <div class="block gray"> <div class="block gray">
<div class="inner"> <div class="inner">
<h2 class="b-title wow fadeInUp">{{ modules[1].form.title }}</h2> <h2 class="b-title wow fadeInUp">{{ modules[1].form.title }}</h2>
<p class="intro wow fadeInUp" <p class="intro wow fadeInUp"
@ -24,18 +24,84 @@
alt="" alt=""
@click="openLink(modules[1].form)"> @click="openLink(modules[1].form)">
</div> </div>
</div> --> </div>
<div class="block sources"> <div class="block sources">
<div class="inner"> <div class="inner">
<ul class="tabs wow fadeInLeft"> <ul class="tabs wow fadeInLeft">
<template v-for="(item, i) in tabs"> <li v-for="(item, i) in tabs"
<li :class="{active: item.id == active}" :class="{active: item.id == active}"
:key="i" :key="i"
@click="tabChange(item)">{{ item.name }}</li> @click="tabChange(item)">{{ item.name }}</li>
</template>
</ul> </ul>
<table v-if="!active"
class="table">
<thead>
<tr>
<th>序号</th>
<th>光源名称</th>
<th>国家</th>
<th>电子束能量GeV</th>
<th>储存环周长(m)</th>
<th>实验站数量</th>
<th>代际</th>
<th>建成/改造时间</th>
<th>发射度(nm.rad)</th>
<th>状态</th>
</tr>
</thead>
<tr v-for="(item, i) in modules[2].list"
:key="i">
<td>{{ item.name }}</td>
<td>{{ item.country }}</td>
<td>{{ item.gev }}</td>
<td>{{ item.storage }}</td>
<td>{{ item.stations }}</td>
<td>{{ item.intergenerational }}</td>
<td>{{ item.time }}</td>
<td>{{ item.name }}</td>
<td>{{ item.emittance }}</td>
<td>{{ item.status }}</td>
</tr>
</table>
<table v-else
class="table">
<thead>
<tr>
<th>序号</th>
<th>光源名称</th>
<th>国家</th>
<th>地点</th>
<th>加速器技术</th>
<th>能量/GeV</th>
<th>波长范围/nm</th>
<th>重复频率/Hz Repetition rate</th>
<th>设施长度/m Overall length</th>
<th>线站数量</th>
<th>出光时间</th>
</tr>
</thead>
<template v-if="modules[3].list.length">
<tr v-for="(item, i) in modules[3].list"
:key="i">
<td>{{ item.name }}</td>
<td>{{ item.country }}</td>
<td>{{ item.address }}</td>
<td>{{ item.accelerator }}</td>
<td>{{ item.gev }}</td>
<td>{{ item.wavelength }}</td>
<td>{{ item.repetitive }}</td>
<td>{{ item.facility }}</td>
<td>{{ item.stations }}</td>
<td>{{ item.status }}</td>
<td>{{ item.time }}</td>
</tr>
</template>
<tr v-else>
<td class="none"
colspan="11">暂无数据</td>
</tr>
</table>
</div> </div>
</div> </div>
</div> </div>
@ -81,6 +147,10 @@ export default {
} }
}).catch(err => { }) }).catch(err => { })
}, },
// tab
tabChange ({ id }) {
this.active = id
},
} }
}; };
</script> </script>
@ -88,7 +158,6 @@ export default {
<style lang="scss" scoped> <style lang="scss" scoped>
@import url(../../plugins/wow/animate.css); @import url(../../plugins/wow/animate.css);
@import '../../styles/page/page.scss'; @import '../../styles/page/page.scss';
.block { .block {
padding: 3.15rem 0; padding: 3.15rem 0;
.inner { .inner {
@ -113,5 +182,17 @@ export default {
} }
.tabs { .tabs {
justify-content: flex-start; justify-content: flex-start;
box-shadow: none;
}
.table {
width: 100%;
margin-top: 20px;
border-collapse: collapse;
th,
td {
padding: 10px 10px;
font-size: 0.9rem;
text-align: left;
}
} }
</style> </style>

@ -16,11 +16,11 @@
data-wow-delay="0.5s" data-wow-delay="0.5s"
:class="{ 'cursor-pointer': isLink(modules[1].form.link.linkName) }" :class="{ 'cursor-pointer': isLink(modules[1].form.link.linkName) }"
@click="openLink(modules[1].form)"> @click="openLink(modules[1].form)">
<img src="http://10.10.11.7/images/mission/2.png" <img :src="modules[1].form.pic"
alt="" /> alt="" />
<div class="texts"> <div class="texts">
<h6>{{ modules[1].form.title }}</h6> <h6>{{ modules[1].form.title }}</h6>
<div class="des" <div class="text"
v-html="modules[1].form.des"></div> v-html="modules[1].form.des"></div>
</div> </div>
</div> </div>
@ -28,11 +28,11 @@
data-wow-delay="0.8s" data-wow-delay="0.8s"
:class="{ 'cursor-pointer': isLink(modules[2].form.link.linkName) }" :class="{ 'cursor-pointer': isLink(modules[2].form.link.linkName) }"
@click="openLink(modules[2].form)"> @click="openLink(modules[2].form)">
<img src="http://10.10.11.7/images/mission/3.png" <img :src="modules[2].form.pic"
alt="" /> alt="" />
<div class="texts rightText"> <div class="texts rightText">
<h6>{{ modules[2].form.title }}</h6> <h6>{{ modules[2].form.title }}</h6>
<div class="des" <div class="text"
v-html="modules[2].form.des"></div> v-html="modules[2].form.des"></div>
</div> </div>
</div> </div>
@ -53,7 +53,7 @@
class="pic"> class="pic">
<div class="texts"> <div class="texts">
<h6>{{ item.title }}</h6> <h6>{{ item.title }}</h6>
<div class="des" <div class="text"
v-html="item.des"></div> v-html="item.des"></div>
</div> </div>
</li> </li>
@ -115,27 +115,20 @@ export default {
.item { .item {
position: relative; position: relative;
margin-bottom: 58px; margin-bottom: 58px;
&:hover {
.texts {
color: #fff;
transform: scale(1.05);
background: #32b6e9 !important;
}
}
img { img {
width: 90%; width: 100%;
height: 400px; height: 400px;
} }
&:nth-child(2) .texts { &:nth-child(2) .texts {
left: auto; left: auto;
right: 0; right: -36px;
color: #fff; color: #fff;
background: rgba(40, 179, 255, 0.34); background: rgba(40, 179, 255, 0.54);
} }
.texts { .texts {
position: absolute; position: absolute;
top: 79px; top: 79px;
left: -28px; left: -34px;
width: 532px; width: 532px;
padding: 70px 38px; padding: 70px 38px;
color: #333; color: #333;
@ -148,7 +141,7 @@ export default {
font-family: PingFangSC-Medium, PingFang SC; font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500; font-weight: 500;
} }
.des { .text {
font-size: 1rem; font-size: 1rem;
} }
} }
@ -186,7 +179,7 @@ export default {
color: #272727; color: #272727;
@include ellipsis(); @include ellipsis();
} }
.des { .text {
font-size: 1rem; font-size: 1rem;
color: #666; color: #666;
line-height: 1.5; line-height: 1.5;
@ -208,9 +201,6 @@ export default {
width: 85%; width: 85%;
box-sizing: border-box; box-sizing: border-box;
left: 12px; left: 12px;
.des {
-webkit-line-clamp: inherit;
}
} }
} }
} }

@ -1,7 +1,9 @@
<template> <template>
<div class="wrap p-b-30"> <div class="wrap p-b-30">
<div class="single-banner single-banner-overview"> <div class="single-banner single-banner-overview">
<img class="banner-img" :src="modules[0].form.pic" alt=""> <img class="banner-img"
:src="modules[0].form.pic"
alt="">
<div class="texts"> <div class="texts">
<h6 class="banner-title">{{ modules[0].form.title }}</h6> <h6 class="banner-title">{{ modules[0].form.title }}</h6>
</div> </div>
@ -10,12 +12,17 @@
<div class="org"> <div class="org">
<div class="left"> <div class="left">
<h6>{{ modules[1].form.title }}</h6> <h6>{{ modules[1].form.title }}</h6>
<p class="text" v-html="modules[1].form.des"></p> <p class="text"
v-html="modules[1].form.des"></p>
</div> </div>
<img class="pic" src="http://10.10.11.7/images/overviewSetup/1.png" alt=""> <img class="pic"
src="http://10.10.11.7/images/overviewSetup/1.png"
alt="">
</div> </div>
<div class="lg-bg"> <div class="lg-bg">
<img width="100%" :src="modules[2].form.pic" alt=""> <img width="100%"
:src="modules[2].form.pic"
alt="">
</div> </div>
</div> </div>
</template> </template>
@ -25,17 +32,17 @@ import mixins from '@/mixins/page'
import WOW from 'wow.js' import WOW from 'wow.js'
export default { export default {
mixins: [mixins], mixins: [mixins],
data() { data () {
return { return {
} }
}, },
mounted() { mounted () {
new WOW().init() new WOW().init()
}, },
methods: { methods: {
// //
getInfo() { getInfo () {
// / // /
this.$post( this.$post(
`${this.api[this.preview ? "getRedisCache" : "findPage"]}?columnId=${this.id}` `${this.api[this.preview ? "getRedisCache" : "findPage"]}?columnId=${this.id}`
@ -47,14 +54,14 @@ export default {
this.preview this.preview
? data ? data
: data[data.length - 1][ : data[data.length - 1][
data[data.length - 1].state ? "theEditedJson" : "jsonBeforeEditing" data[data.length - 1].state ? "theEditedJson" : "jsonBeforeEditing"
] ]
); );
this.modules = json; this.modules = json;
console.log("🚀 ~ file: index.vue ~ line 180 ~ this.$post ~ json", json); console.log("🚀 ~ file: index.vue ~ line 180 ~ this.$post ~ json", json);
} }
}) })
.catch((err) => {}); .catch((err) => { });
}, },
} }
}; };
@ -62,223 +69,65 @@ export default {
<style lang="scss" scoped> <style lang="scss" scoped>
@import url(../../plugins/wow/animate.css); @import url(../../plugins/wow/animate.css);
@import "../../styles/page/page.scss"; @import '../../styles/page/page.scss';
.org { .org {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
align-items: center; align-items: center;
width: 1294px; width: 1294px;
padding: 9px 86px 29px 116px; padding: 9px 86px 29px 116px;
margin: 0 auto 50px; margin: 0 auto 50px;
background: #FCFCFC; background: #fcfcfc;
border-radius: 160px; border-radius: 160px;
.left { .left {
width: 705px; width: 705px;
}
h6 {
font-size: 1.4rem;
font-family: AlimamaShuHeiTi-Bold, AlimamaShuHeiTi;
font-weight: bold;
color: #333;
}
.text {
margin-top: 10px;
font-size: 1rem;
color: #020202;
line-height: 2rem;
}
.pic {
width: 320px;
height: 282px;
}
}
.lg-bg {
width: 65%;
margin: 0 auto;
}
@media (max-width: 1200px) {
.org{
width: 100%;
padding:15px;
flex-direction: column;
.pic {
width: 100%;
}
.left{
width: 100%;
}
}
}
@media (min-width: 280px) and (max-width: 1200px) {
.single-banner {
.banner-img {
height: 15rem;
}
.texts{
top: 8rem !important;
left: 22rem !important;
}
}
}
@media (max-width: 320px) {
.single-banner {
.banner-img {
height: auto;
}
.texts {
bottom: 0 !important;
left: 1rem !important;
top: auto !important;
.banner-title {
font-size: 1.5rem;
}
}
}
.org{
.pic {
width: 80%;
height: auto;
}
}
}
@media (min-width: 320px) and (max-width: 375px) {
.single-banner {
.banner-img {
height: auto;
}
.texts {
bottom: 0 !important;
left: 1rem !important;
top: auto !important;
.banner-title {
font-size: 1.5rem;
}
}
}
.org{
.pic {
width: 80%;
height: auto;
}
}
}
@media (min-width: 375px) and (max-width: 480px) {
.single-banner {
.banner-img {
height: auto;
}
.texts {
bottom: 0 !important;
left: 1rem !important;
top: auto !important;
.banner-title {
font-size: 1.5rem;
}
}
}
.org{
.pic {
width: 80%;
height: auto;
} }
} h6 {
} font-size: 1.4rem;
@media (min-width: 480px) and (max-width: 640px) { font-family: AlimamaShuHeiTi-Bold, AlimamaShuHeiTi;
.single-banner { font-weight: bold;
.banner-img { color: #333;
height: auto;
} }
.texts { .text {
bottom: 0 !important; margin-top: 10px;
left: 1rem !important; font-size: 1rem;
top: auto !important; color: #020202;
.banner-title { line-height: 2rem;
font-size: 1.5rem;
}
} }
}
.org{
.pic { .pic {
width: 80%; width: 320px;
height: auto; height: 282px;
} }
}
} }
@media (min-width: 640px) and (max-width: 768px) { .lg-bg {
.single-banner { width: 65%;
.banner-img { margin: 0 auto;
height: auto;
}
.texts {
bottom: 0 !important;
left: 1rem !important;
top: auto !important;
.banner-title {
font-size: 1.5rem;
}
}
}
.org{
flex-direction: row;
.left {
width: 60%;
}
.pic {
width: 30%;
height: auto;
}
}
} }
@media (min-width: 768px) and (max-width: 980px) { @media (max-width: 1300px) {
.single-banner { .org {
.banner-img { width: 100%;
height: auto; padding: 15px;
} .left {
.texts { width: 60%;
bottom: 0 !important; }
left: 1rem !important; .pic {
top: auto !important; width: 30%;
.banner-title { height: auto;
font-size: 1.5rem; }
} }
} .lg-bg {
} width: 85%;
.org{
flex-direction: row;
.left {
width: 60%;
}
.pic {
width: 30%;
height: auto;
} }
}
} }
@media (min-width: 980px) and (max-width: 1200px) { @media (max-width: 980px) {
.single-banner { .org {
.banner-img { flex-direction: column;
height: auto; .pic {
} width: 100%;
.texts { }
bottom: 0 !important; .left {
left: 1rem !important; width: 100%;
top: auto !important; }
.banner-title {
font-size: 1.5rem;
}
}
}
.org{
flex-direction: row;
.left {
width: 60%;
}
.pic {
width: 30%;
height: auto;
} }
}
} }
</style> </style>

@ -1,7 +1,8 @@
<template> <template>
<div class="wrap"> <div class="wrap">
<div class="content"> <div class="content">
<Breadcrumb ref="breadcrumb" :data.sync="routes"/> <Breadcrumb ref="breadcrumb"
:data.sync="routes" />
<div class="article"> <div class="article">
<div class="left"> <div class="left">
<h2>{{ form.title }}</h2> <h2>{{ form.title }}</h2>
@ -15,12 +16,15 @@
</template> </template>
<p class="name">{{ $t('column.introduce') }}</p> <p class="name">{{ $t('column.introduce') }}</p>
<div class="flex"> <div class="flex">
<div class="des" v-html="form.mainBody"></div> <div class="des"
v-html="form.mainBody"></div>
<!-- <img v-if="form.titleImg" width="222" height="222" :src="form.titleImg" alt=""> --> <!-- <img v-if="form.titleImg" width="222" height="222" :src="form.titleImg" alt=""> -->
</div> </div>
</div> </div>
<div class="right"> <div class="right">
<img class="pic" src="@/assets/images/publish3.png" alt=""> <img class="pic"
src="@/assets/images/publish3.png"
alt="">
<div class="texts"> <div class="texts">
<template v-if="form.periodicalName"> <template v-if="form.periodicalName">
<p class="name">{{ $t('column.publicationName') }}</p> <p class="name">{{ $t('column.publicationName') }}</p>
@ -29,7 +33,8 @@
<p class="name">{{ $t('column.yearOfPublication') }}</p> <p class="name">{{ $t('column.yearOfPublication') }}</p>
<p class="val">{{ form.publicationYear }}{{ $t('column.year') }}</p> <p class="val">{{ form.publicationYear }}{{ $t('column.year') }}</p>
<div class="flex"> <div class="flex">
<div v-if="form.reel" class="m-r-20"> <div v-if="form.reel"
class="m-r-20">
<p class="name">{{ $t('column.rollUp') }}</p> <p class="name">{{ $t('column.rollUp') }}</p>
<p class="val">{{ form.reel }}</p> <p class="val">{{ form.reel }}</p>
</div> </div>
@ -49,7 +54,10 @@
<p class="l-title">{{$t('column.hot')}}</p> <p class="l-title">{{$t('column.hot')}}</p>
<ul class="list"> <ul class="list">
<li v-for="(item, i) in hots" :key="i" :title="item.title" @click="toArtice(item)"> <li v-for="(item, i) in hots"
:key="i"
:title="item.title"
@click="toArtice(item)">
<p class="text">{{ item.title }}</p> <p class="text">{{ item.title }}</p>
<span class="date">{{ item.releaseTime }}</span> <span class="date">{{ item.releaseTime }}</span>
</li> </li>
@ -57,7 +65,9 @@
<p class="l-title">{{$t('column.latestNews')}}</p> <p class="l-title">{{$t('column.latestNews')}}</p>
<ul class="list"> <ul class="list">
<li v-for="(item, i) in news" :key="i" @click="toArtice(item)"> <li v-for="(item, i) in news"
:key="i"
@click="toArtice(item)">
<p class="text">{{ item.title }}</p> <p class="text">{{ item.title }}</p>
<span class="date">{{ item.releaseTime }}</span> <span class="date">{{ item.releaseTime }}</span>
</li> </li>
@ -77,7 +87,7 @@ import mixins from '@/mixins/article'
import ColumnConst from '@/const/column' import ColumnConst from '@/const/column'
export default { export default {
mixins: [mixins], mixins: [mixins],
data() { data () {
return { return {
id: this.$route.query.articleId, id: this.$route.query.articleId,
publicationTypes: ColumnConst.publicationTypes, publicationTypes: ColumnConst.publicationTypes,
@ -93,18 +103,18 @@ export default {
Breadcrumb Breadcrumb
}, },
watch: { watch: {
'$route'() { '$route' () {
this.id = this.$route.query.id this.id = this.$route.query.id
this.getInfo() this.getInfo()
} }
}, },
mounted() { mounted () {
this.getInfo() this.getInfo()
this.getArticle() this.getArticle()
}, },
methods: { methods: {
// //
getInfo() { getInfo () {
this.$post(`${this.api.findArticle}?id=${this.id}`).then(({ data }) => { this.$post(`${this.api.findArticle}?id=${this.id}`).then(({ data }) => {
// //
const { columnName, path, id } = this.$route.query const { columnName, path, id } = this.$route.query
@ -127,13 +137,13 @@ export default {
this.getBanner(this.columns) this.getBanner(this.columns)
this.form.bannerImg = this.columnBanner || require('@/assets/images/article-banner.png') this.form.bannerImg = this.columnBanner || require('@/assets/images/article-banner.png')
} }
}).catch(err => {}) }).catch(err => { })
// +1 // +1
// this.$post(`${this.api.articlePreview}?contentId=${this.id}`).then(({ data }) => {}).catch(err => {}) // this.$post(`${this.api.articlePreview}?contentId=${this.id}`).then(({ data }) => {}).catch(err => {})
}, },
// banner // banner
getBanner(data) { getBanner (data) {
for (const e of data) { for (const e of data) {
if (e.columnBanner) this.columnBanner = e.columnBanner if (e.columnBanner) this.columnBanner = e.columnBanner
if (e.id == this.columnId) { if (e.id == this.columnId) {
@ -144,10 +154,10 @@ export default {
} }
}, },
// //
getArticle() { getArticle () {
this.$post(`${this.api.hotContent}?siteId=${this.$route.query.siteId || this.$store.state.content.site}`).then(({ data }) => { this.$post(`${this.api.hotContent}?siteId=${this.$route.query.siteId || this.$store.state.content.site}`).then(({ data }) => {
this.hots = Util.removeTag(data) this.hots = Util.removeTag(data)
}).catch(err => {}) }).catch(err => { })
this.$post(this.api.newlyPublishedArticles, { this.$post(this.api.newlyPublishedArticles, {
@ -157,7 +167,7 @@ export default {
siteId: this.$route.query.siteId || this.$store.state.content.site siteId: this.$route.query.siteId || this.$store.state.content.site
}).then(({ data }) => { }).then(({ data }) => {
this.news = Util.removeTag(data.records) this.news = Util.removeTag(data.records)
}).catch(res => {}) }).catch(res => { })
}, },
} }
}; };
@ -165,95 +175,95 @@ export default {
<style lang="scss" scoped> <style lang="scss" scoped>
.wrap { .wrap {
background: url(../../assets/images/publish1.png) no-repeat; background: url(../../assets/images/publish1.png) no-repeat;
} }
.content { .content {
width: 1084px; width: 1084px;
padding-top: 25px; padding-top: 25px;
background: url(../../assets/images/publish2.png) bottom right/auto no-repeat; background: url(../../assets/images/publish2.png) bottom right/auto no-repeat;
} }
.breadcrumb { .breadcrumb {
margin-bottom: 25px; margin-bottom: 25px;
} }
.article { .article {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
.left { .left {
width: 846px; width: 846px;
padding: 30px; padding: 30px;
margin-right: 16px; margin-right: 16px;
background: #fff; background: #fff;
.name { .name {
font-size: 24px; font-size: 24px;
font-family: PingFangSC-Medium, PingFang SC; font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500; font-weight: 500;
color: #333333; color: #333333;
line-height: 33px; line-height: 33px;
} }
.val { .val {
margin-bottom: 38px; margin-bottom: 38px;
font-size: 16px; font-size: 16px;
color: #333; color: #333;
line-height: 30px; line-height: 30px;
} }
.des { .des {
width: 100%; width: 100%;
// margin-right: 49px; // margin-right: 49px;
} }
}
h2 {
padding-bottom: 27px;
margin-bottom: 40px;
font-size: 36px;
font-family: PingFangSC-Medium, PingFang SC;
color: #333;
line-height: 50px;
border-bottom: 1px solid #ddd;
}
.right {
width: 222px;
background: #fff;
.texts {
padding: 15px;
}
.name {
font-size: 14px;
font-family: PingFangSC-Regular, PingFang SC;
line-height: 20px;
color: #666666;
}
.val {
margin: 5px 0 36px;
font-size: 14px;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #333333;
line-height: 20px;
} }
} h2 {
.list { padding-bottom: 27px;
margin-bottom: 20px; margin-bottom: 40px;
li { font-size: 36px;
padding: 16px 0; font-family: PingFangSC-Medium, PingFang SC;
border-bottom: 1px solid #D8D8D8; color: #333;
line-height: 50px;
border-bottom: 1px solid #ddd;
} }
.text { .right {
margin-bottom: 5px; width: 222px;
font-size: 14px; background: #fff;
cursor: pointer; .texts {
&:hover { padding: 15px;
color: $main-color; }
} .name {
font-size: 14px;
font-family: PingFangSC-Regular, PingFang SC;
line-height: 20px;
color: #666666;
}
.val {
margin: 5px 0 36px;
font-size: 14px;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #333333;
line-height: 20px;
}
} }
.date { .list {
font-size: 12px; margin-bottom: 20px;
color: #999; li {
padding: 16px 0;
border-bottom: 1px solid #d8d8d8;
}
.text {
margin-bottom: 5px;
font-size: 14px;
cursor: pointer;
&:hover {
color: $main-color;
}
}
.date {
font-size: 12px;
color: #999;
}
} }
}
} }
@media (max-width: 1420px) { @media (max-width: 1420px) {
.content { .content {
width: 98%; width: 98%;
} }
} }
</style> </style>

@ -1,76 +1,68 @@
<template> <template>
<div class="wrap"> <div class="wrap">
<div class="single-banner"> <div class="single-banner">
<img class="banner-img" :src="modules[0].form.pic" alt="" /> <img class="banner-img"
:src="modules[0].form.pic"
alt="" />
<div class="texts"> <div class="texts">
<h6 class="banner-title">{{ modules[0].form.title }}</h6> <h6 class="banner-title">{{ modules[0].form.title }}</h6>
<p class="banner-des des">{{ modules[0].form.des }}</p> <p class="banner-des des">{{ modules[0].form.des }}</p>
</div> </div>
</div> </div>
<div class="block gray" style="padding: 2rem 0;"> <div class="block gray"
style="padding: 2rem 0;">
<div class="inner"> <div class="inner">
<Breadcrumb ref="breadcrumb" :data.sync="routes"/> <Breadcrumb ref="breadcrumb"
:data.sync="routes" />
<ul class="items"> <ul class="items">
<li> <li>
<img class="pic" :src="modules[1].form.pic" alt=""> <img class="pic"
:src="modules[1].form.pic"
alt="">
<div class="texts"> <div class="texts">
<h6>{{ modules[1].form.title }}</h6> <h6>{{ modules[1].form.title }}</h6>
<div class="text" v-html="modules[1].form.des"></div> <div class="text"
<img src="@/assets/images/arrow.png" alt="" :class="{'arrow': isLink(modules[1].form.link.linkName)}" @click="openLink(modules[1].form)"> v-html="modules[1].form.des"></div>
<img src="@/assets/images/arrow.png"
alt=""
:class="{'arrow': isLink(modules[1].form.link.linkName)}"
@click="openLink(modules[1].form)">
</div> </div>
</li> </li>
<li> <li>
<img class="pic" :src="modules[2].form.pic" alt=""> <img class="pic"
:src="modules[2].form.pic"
alt="">
<div class="texts"> <div class="texts">
<h6>{{ modules[2].form.title }}</h6> <h6>{{ modules[2].form.title }}</h6>
<div class="text" v-html="modules[2].form.des"></div> <div class="text"
<img src="@/assets/images/arrow.png" alt="" :class="{'arrow': isLink(modules[2].form.link.linkName)}" @click="openLink(modules[2].form)"> v-html="modules[2].form.des"></div>
<img src="@/assets/images/arrow.png"
alt=""
:class="{'arrow': isLink(modules[2].form.link.linkName)}"
@click="openLink(modules[2].form)">
</div> </div>
</li> </li>
</ul> </ul>
</div> </div>
</div> </div>
<div class="block program">
<div class="inner">
<div class="title wow fadeInUp">
<h5>
{{ modules[3].form.title }}
<span class="sub">{{ modules[3].form.subTitle }}</span>
</h5>
<span class="more" @click="toAll(modules[4].form)">MORE</span>
</div>
<template v-if="articles.length">
<div class="slide" @click="toArtice(articles[0], modules[4].form)">
<div class="texts">
<h6>{{ articles[0].title }}</h6>
<div class="des">{{ articles[0].mainBody }}</div>
<div class="meta">发表日期{{ articles[0].releaseTime }} &emsp;浏览量{{ articles[0].totalBrowsing }}</div>
</div>
<div class="img-wrap">
<img class="pic" :src="articles[0].titleImg" alt="">
</div>
</div>
<ul class="list">
<template v-for="(item, i) in articles">
<li v-if="i && i < 4" :key="i" class="wow fadeInDown" :data-wow-delay="(0.1 * i).toFixed(1) + 's'" @click="toArtice(item, modules[4].form)">
<div class="des">{{ item.title }}</div>
<p class="date">{{ item.releaseTime }}</p>
</li>
</template>
</ul>
</template>
</div>
</div>
<div class="about"> <div class="about">
<div class="inner"> <div class="inner">
<div class="texts"> <div class="texts">
<div class="title wow fadeInUp" data-wow-delay="0.7s">{{ modules[5].form.title }}</div> <div class="title wow fadeInUp"
<div class="des wow fadeInDown" data-wow-delay="1s" v-html="modules[5].form.des"></div> data-wow-delay="0.7s">{{ modules[3].form.title }}</div>
<div class="des wow fadeInDown"
data-wow-delay="1s"
v-html="modules[3].form.des"></div>
<img class="m-t-10"
width="42"
src="@/assets/images/arrow-white.png"
alt=""
:class="{'arrow': isLink(modules[3].form.link.linkName)}"
@click="openLink(modules[3].form)">
</div> </div>
<img src="@/assets/images/arrow-white.png" alt="" :class="{'arrow': isLink(modules[5].form.link.linkName)}" @click="openLink(modules[5].form)">
</div> </div>
</div> </div>
</div> </div>
@ -83,22 +75,21 @@ import Breadcrumb from '@/components/breadcrumb'
import Util from '@/libs/util' import Util from '@/libs/util'
export default { export default {
mixins: [mixins], mixins: [mixins],
data() { data () {
return { return {
routes: [], routes: [],
articles: []
}; };
}, },
components: { components: {
Breadcrumb Breadcrumb
}, },
mounted() { mounted () {
new WOW().init(); new WOW().init();
this.getColumn() this.getColumn()
}, },
methods: { methods: {
// //
getInfo() { getInfo () {
// / // /
this.$post( this.$post(
`${this.api[this.preview ? "getRedisCache" : "findPage"]}?columnId=${this.id}` `${this.api[this.preview ? "getRedisCache" : "findPage"]}?columnId=${this.id}`
@ -110,25 +101,17 @@ export default {
this.preview this.preview
? data ? data
: data[data.length - 1][ : data[data.length - 1][
data[data.length - 1].state ? "theEditedJson" : "jsonBeforeEditing" data[data.length - 1].state ? "theEditedJson" : "jsonBeforeEditing"
] ]
); );
this.modules = json; this.modules = json;
console.log("🚀 ~ file: index.vue ~ line 180 ~ this.$post ~ json", json); console.log("🚀 ~ file: index.vue ~ line 180 ~ this.$post ~ json", json);
//
if (json[4].form.column.length) {
const { column, articleNum } = json[4].form
this.$post(`${this.api.queryArticlesByColumnType}?columnId=${column[column.length - 1]}`).then(({ data }) => {
this.articles = Util.removeTag(data.slice(0, articleNum || 7))
}).catch(err => {})
}
} }
}) })
.catch((err) => {}); .catch((err) => { });
}, },
// id // id
getParent(data, id) { getParent (data, id) {
for (const e of data) { for (const e of data) {
if (e.id == id) { if (e.id == id) {
this.routes.push({ this.routes.push({
@ -150,10 +133,10 @@ export default {
} }
}, },
// //
getColumn() { getColumn () {
this.$post(`${this.api.oneLevelChecksThemAll}?id=${this.id}&isSort=1&siteId=${this.site}`).then(({ data }) => { this.$post(`${this.api.oneLevelChecksThemAll}?id=${this.id}&isSort=1&siteId=${this.site}`).then(({ data }) => {
this.getParent(data, this.id) this.getParent(data, this.id)
}).catch(err => {}) }).catch(err => { })
}, },
}, },
}; };
@ -161,224 +144,224 @@ export default {
<style lang="scss" scoped> <style lang="scss" scoped>
@import url(../../plugins/wow/animate.css); @import url(../../plugins/wow/animate.css);
@import "../../styles/page/page.scss"; @import '../../styles/page/page.scss';
.items { .items {
margin-top: 2rem; margin-top: 2rem;
li { li {
position: relative; position: relative;
height: 600px; height: 600px;
margin-bottom: 60px; margin-bottom: 60px;
&:nth-child(even) { &:nth-child(even) {
.texts { .texts {
left: auto; left: auto;
right: 100px; right: 100px;
} }
} }
.pic { .pic {
width: 100%; width: 100%;
height: 100%; height: 100%;
} }
.texts { .texts {
position: absolute; position: absolute;
top: 100px; top: 100px;
left: 80px; left: 80px;
width: 500px; width: 500px;
padding: 30px; padding: 30px;
color: #333; color: #333;
background-color: rgba(255, 255, 255, .85); background-color: rgba(255, 255, 255, 0.85);
border-radius: 0px 0px 100px 0px; border-radius: 0px 0px 100px 0px;
border-top: 4px solid #0280F1; border-top: 4px solid #0280f1;
} }
h6 { h6 {
font-size: 1.2rem; font-size: 1.2rem;
font-family: PingFangSC-Medium, PingFang SC; font-family: PingFangSC-Medium, PingFang SC;
} }
.text { .text {
margin: 1rem 0; margin: 1rem 0;
font-size: 1rem; font-size: 1rem;
line-height: 1.6; line-height: 1.6;
} }
.icon { .icon {
width: 40px; width: 40px;
}
} }
}
} }
.program { .program {
background: #fff; background: #fff;
.title { .title {
position: relative; position: relative;
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
align-items: flex-end; align-items: flex-end;
padding-bottom: 25px; padding-bottom: 25px;
margin-bottom: 30px; margin-bottom: 30px;
border-bottom: 1px solid #ddd; border-bottom: 1px solid #ddd;
align-items: center; align-items: center;
h5 { h5 {
padding-left: 16px; padding-left: 16px;
font-size: 1.6rem; font-size: 1.6rem;
font-family: PingFangSC-Medium, PingFang SC; font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500; font-weight: 500;
color: #333333; color: #333333;
line-height: 1; line-height: 1;
border-left: 6px solid #2B96EF; border-left: 6px solid #2b96ef;
} }
.sub { .sub {
font-size: 1.1rem; font-size: 1.1rem;
font-family: PingFangSC-Medium, PingFang SC; font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500; font-weight: 500;
color: #AFB7BF; color: #afb7bf;
} }
.more { .more {
font-size: .8rem; font-size: 0.8rem;
color: #666; color: #666;
cursor: pointer; cursor: pointer;
}
} }
} .slide {
.slide { display: flex;
display: flex; margin-bottom: 14px;
margin-bottom: 14px; cursor: pointer;
cursor: pointer;
}
.texts {
width: 51%;
padding: 56px;
background: #FBFBFB;
h6 {
font-size: 1.3rem;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #333333;
} }
.des { .texts {
margin: 35px 0 25px; width: 51%;
font-size: 1rem; padding: 56px;
color: #666; background: #fbfbfb;
line-height: 32px; h6 {
font-size: 1.3rem;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #333333;
}
.des {
margin: 35px 0 25px;
font-size: 1rem;
color: #666;
line-height: 32px;
}
.meta {
font-size: 0.9rem;
color: #666;
}
} }
.meta { .img-wrap {
font-size: .9rem; width: 49%;
color: #666; height: 430px;
overflow: hidden;
} }
}
.img-wrap {
width: 49%;
height: 430px;
overflow: hidden;
}
.pic {
width: 100%;
height: 100%;
transition: .5s;
}
&:hover {
.pic { .pic {
transform: scale(1.3); width: 100%;
} height: 100%;
} transition: 0.5s;
.list {
display: flex;
li {
width: calc((100% - 28px) / 3);
height: 204px;
padding: 36px 22px;
margin-right: 14px;
background: url(../../assets/images/sfel/7.png) no-repeat center;
background-size: 100% 100%;
transition: .5s;
cursor: pointer;
&:nth-child(2) {
background-image: url(../../assets/images/sfel/8.png);
}
&:nth-child(3) {
margin-right: 0;
background-image: url(../../assets/images/sfel/9.png);
}
&:hover {
transform: translateY(20px);
}
} }
.des { &:hover {
height: 90px; .pic {
margin-bottom: 30px; transform: scale(1.3);
font-size: 1rem; }
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #FFFFFF;
line-height: 30px;
} }
.date { .list {
font-size: .9rem; display: flex;
font-family: LaoSangamMN; li {
color: #FFFFFF; width: calc((100% - 28px) / 3);
height: 204px;
padding: 36px 22px;
margin-right: 14px;
background: url(../../assets/images/sfel/7.png) no-repeat center;
background-size: 100% 100%;
transition: 0.5s;
cursor: pointer;
&:nth-child(2) {
background-image: url(../../assets/images/sfel/8.png);
}
&:nth-child(3) {
margin-right: 0;
background-image: url(../../assets/images/sfel/9.png);
}
&:hover {
transform: translateY(20px);
}
}
.des {
height: 90px;
margin-bottom: 30px;
font-size: 1rem;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #ffffff;
line-height: 30px;
}
.date {
font-size: 0.9rem;
font-family: LaoSangamMN;
color: #ffffff;
}
} }
}
} }
.about { .about {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
justify-content: center; justify-content: center;
height: 840px; height: 840px;
text-align: center; text-align: center;
background: url(../../assets/images/about-bg.png) no-repeat center center; background: url(../../assets/images/about-bg.png) no-repeat center center;
background-size: 100% 100%; background-size: 100% 100%;
.texts { .texts {
padding: 2.375rem 3.75rem; padding: 2.375rem 3.75rem;
color: #fff; color: #fff;
background: rgba(111, 69, 36, .56); background: rgba(111, 69, 36, 0.56);
border-radius: 17px; border-radius: 17px;
transition: .3s; transition: 0.3s;
&:hover { &:hover {
background: rgba(239, 126, 10, .56); background: rgba(239, 126, 10, 0.56);
transform: translateY(10px); transform: translateY(10px);
}
}
.title {
margin-bottom: 1rem;
font-size: 1.8rem;
}
.des {
font-size: 1rem;
line-height: 1.6;
} }
}
.title {
margin-bottom: 1rem;
font-size: 1.8rem;
}
.des {
font-size: 1rem;
line-height: 1.6;
}
} }
@media (max-width: 1200px) { @media (max-width: 1200px) {
.items { .items {
li { li {
.texts { .texts {
left: 0; left: 0;
width: 98%; width: 98%;
} }
&:nth-child(even) { &:nth-child(even) {
.texts { .texts {
right: auto; right: auto;
}
}
} }
}
} }
} .about {
.about { height: 30rem;
height: 30rem; }
}
} }
@media (max-width: 780px) { @media (max-width: 780px) {
.program { .program {
.slide { .slide {
flex-direction: column; flex-direction: column;
} }
.texts { .texts {
width: 100%; width: 100%;
} }
.img-wrap { .img-wrap {
width: 100%; width: 100%;
height: 250px; height: 250px;
} }
.list { .list {
flex-direction: column; flex-direction: column;
li { li {
width: 100%; width: 100%;
margin-bottom: 1rem; margin-bottom: 1rem;
} }
}
} }
}
} }
</style> </style>

@ -26,6 +26,7 @@
<div class="text" <div class="text"
v-html="modules[2].form.des"></div> v-html="modules[2].form.des"></div>
<img v-if="isLink(modules[2].form.link.linkName)" <img v-if="isLink(modules[2].form.link.linkName)"
class="arrow"
src="@/assets/images/arrow.png" src="@/assets/images/arrow.png"
alt="" alt=""
@click="openLink(modules[2].form)"> @click="openLink(modules[2].form)">
@ -41,6 +42,7 @@
<div class="text" <div class="text"
v-html="modules[3].form.des"></div> v-html="modules[3].form.des"></div>
<img v-if="isLink(modules[3].form.link.linkName)" <img v-if="isLink(modules[3].form.link.linkName)"
class="arrow"
src="@/assets/images/arrow.png" src="@/assets/images/arrow.png"
alt="" alt=""
@click="openLink(modules[3].form)"> @click="openLink(modules[3].form)">

@ -74,7 +74,7 @@
left: 267px; left: 267px;
} }
&.single-banner-overview .texts { &.single-banner-overview .texts {
top: 332px; top: 250px;
left: 278px; left: 278px;
} }
.banner-title { .banner-title {
@ -171,9 +171,14 @@
} }
} }
} }
.tabs {
li {
font-size: 0.8rem;
}
}
} }
@media (min-width: 768px) and (max-width: 980px) { @media (max-width: 980px) {
.wrap { .wrap {
.single-banner { .single-banner {
.banner-img { .banner-img {
@ -186,7 +191,7 @@
} }
} }
} }
@media (min-width: 640px) and (max-width: 768px) { @media (max-width: 768px) {
.wrap { .wrap {
.single-banner { .single-banner {
.banner-img { .banner-img {
@ -198,8 +203,15 @@
} }
} }
} }
.tabs {
li {
padding: 1rem 10px;
margin: 0;
}
}
} }
@media (min-width: 480px) and (max-width: 640px) { @media (max-width: 640px) {
.wrap { .wrap {
.single-banner { .single-banner {
.banner-img { .banner-img {

Loading…
Cancel
Save