删掉无用页面

master
yujialong 1 year ago
parent ad09649d6b
commit 4047cb6933
  1. BIN
      src/assets/images/about/1.png
  2. BIN
      src/assets/images/about/10.png
  3. BIN
      src/assets/images/about/11.png
  4. BIN
      src/assets/images/about/12.png
  5. BIN
      src/assets/images/about/2.png
  6. BIN
      src/assets/images/about/3.png
  7. BIN
      src/assets/images/about/4.png
  8. BIN
      src/assets/images/about/5.png
  9. BIN
      src/assets/images/about/6.png
  10. BIN
      src/assets/images/about/7.png
  11. BIN
      src/assets/images/about/8.png
  12. BIN
      src/assets/images/about/9.png
  13. BIN
      src/assets/images/application/1.png
  14. BIN
      src/assets/images/application/app1-1.png
  15. BIN
      src/assets/images/application/app1.png
  16. BIN
      src/assets/images/application/app10-1.png
  17. BIN
      src/assets/images/application/app10.png
  18. BIN
      src/assets/images/application/app2-1.png
  19. BIN
      src/assets/images/application/app2.png
  20. BIN
      src/assets/images/application/app3-1.png
  21. BIN
      src/assets/images/application/app3.png
  22. BIN
      src/assets/images/application/app4-1.png
  23. BIN
      src/assets/images/application/app4.png
  24. BIN
      src/assets/images/application/app5-1.png
  25. BIN
      src/assets/images/application/app5.png
  26. BIN
      src/assets/images/application/app6-1.png
  27. BIN
      src/assets/images/application/app6.png
  28. BIN
      src/assets/images/application/app7-1.png
  29. BIN
      src/assets/images/application/app7.png
  30. BIN
      src/assets/images/application/app8-1.png
  31. BIN
      src/assets/images/application/app8.png
  32. BIN
      src/assets/images/application/app9-1.png
  33. BIN
      src/assets/images/application/app9.png
  34. BIN
      src/assets/images/industrial/app1-1.png
  35. BIN
      src/assets/images/industrial/app1.png
  36. BIN
      src/assets/images/industrial/app10-1.png
  37. BIN
      src/assets/images/industrial/app10.png
  38. BIN
      src/assets/images/industrial/app11-1.png
  39. BIN
      src/assets/images/industrial/app11.png
  40. BIN
      src/assets/images/industrial/app12-1.png
  41. BIN
      src/assets/images/industrial/app12.png
  42. BIN
      src/assets/images/industrial/app13-1.png
  43. BIN
      src/assets/images/industrial/app13.png
  44. BIN
      src/assets/images/industrial/app14-1.png
  45. BIN
      src/assets/images/industrial/app14.png
  46. BIN
      src/assets/images/industrial/app15-1.png
  47. BIN
      src/assets/images/industrial/app15.png
  48. BIN
      src/assets/images/industrial/app16-1.png
  49. BIN
      src/assets/images/industrial/app16.png
  50. BIN
      src/assets/images/industrial/app2-1.png
  51. BIN
      src/assets/images/industrial/app2.png
  52. BIN
      src/assets/images/industrial/app3-1.png
  53. BIN
      src/assets/images/industrial/app3.png
  54. BIN
      src/assets/images/industrial/app4-1.png
  55. BIN
      src/assets/images/industrial/app4.png
  56. BIN
      src/assets/images/industrial/app5-1.png
  57. BIN
      src/assets/images/industrial/app5.png
  58. BIN
      src/assets/images/industrial/app6-1.png
  59. BIN
      src/assets/images/industrial/app6.png
  60. BIN
      src/assets/images/industrial/app7-1.png
  61. BIN
      src/assets/images/industrial/app7.png
  62. BIN
      src/assets/images/industrial/app8-1.png
  63. BIN
      src/assets/images/industrial/app8.png
  64. BIN
      src/assets/images/industrial/app9-1.png
  65. BIN
      src/assets/images/industrial/app9.png
  66. BIN
      src/assets/images/publication-bg.png
  67. BIN
      src/assets/images/publish-bg.png
  68. BIN
      src/assets/images/publish3.png
  69. BIN
      src/assets/images/science/1.png
  70. BIN
      src/assets/images/science/2.png
  71. BIN
      src/assets/images/science/3.png
  72. BIN
      src/assets/images/sfel/1.png
  73. BIN
      src/assets/images/sfel/2.png
  74. BIN
      src/assets/images/sfel/3.png
  75. BIN
      src/assets/images/sfel/4.png
  76. BIN
      src/assets/images/sfel/5.png
  77. BIN
      src/assets/images/sfel/6.png
  78. BIN
      src/assets/images/sfel/7.png
  79. BIN
      src/assets/images/sfel/8.png
  80. BIN
      src/assets/images/sfel/9.png
  81. BIN
      src/assets/images/survey1.png
  82. BIN
      src/assets/images/survey2.png
  83. BIN
      src/assets/images/survey3.png
  84. BIN
      src/assets/images/userSharing/1.png
  85. BIN
      src/assets/images/userSharing/2.png
  86. BIN
      src/assets/images/userSharing/3.png
  87. BIN
      src/assets/images/userSharing/4.png
  88. 1575
      src/pages/about/index.vue
  89. 938
      src/pages/application/index.vue
  90. 825
      src/pages/careers/index.vue
  91. 208
      src/pages/contactUs/index.vue
  92. 102
      src/pages/devHistory/index.vue
  93. 289
      src/pages/deviceIntroBeam/index.vue
  94. 298
      src/pages/deviceIntroLayout/index.vue
  95. 358
      src/pages/deviceIntroLinear/index.vue
  96. 679
      src/pages/edu/index.vue
  97. 239
      src/pages/estate/event/index.vue
  98. 821
      src/pages/estate/index/index.vue
  99. 160
      src/pages/estate/location/index.vue
  100. 117
      src/pages/estate/orgSetup/index.vue
  101. Some files were not shown because too many files have changed in this diff Show More

Binary file not shown.

Before

Width:  |  Height:  |  Size: 673 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 182 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 304 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 551 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 495 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 100 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 318 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 206 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 332 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 336 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 245 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 683 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 230 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 683 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 136 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 103 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 103 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 639 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 126 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 105 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 127 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 164 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 118 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 623 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 87 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 95 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 230 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 122 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 149 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 106 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 139 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 915 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 140 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 136 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 105 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 130 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 132 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 139 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 111 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 653 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 989 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 406 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 582 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 116 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 962 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 198 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 187 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 224 KiB

File diff suppressed because it is too large Load Diff

@ -1,938 +0,0 @@
<template>
<div class="wrap" v-if="modules.length>=1">
<el-carousel :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">
<h2 class="wow fadeInLeft" style="margin-left: 57px">{{ 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>
<img :class="{'arrow': isLink(modules[1].form.link.linkName)}" src="@/assets/images/arrow.png" alt="" @click="openLink(modules[1].form)">
</div>
<img class="bg" width="562" height="506" :src="modules[1].form.pic" alt="">
</div>
</div>
</div>
<div class="block">
<div class="inner app-inner">
<h2 class="b-title wow fadeInUp">{{ modules[2].form.title }}</h2>
<p class="intro wow fadeInUp" data-wow-delay="0.5s">{{ modules[2].form.des }}</p>
<ul class="app">
<li v-for="(item, i) in modules[3].list" :key="i" class="wow fadeInDown" :data-wow-delay="(0.2 * i).toFixed(1) + 's'" :class="{'cursor-pointer': isLink(item.link.linkName)}" @click="openLink(item)">
<img class="bg" :src="require('@/assets/images/application/app' + (i + 1) + '.png')" alt="">
<img class="icon" :src="require('@/assets/images/application/app' + (i + 1) + '-1.png')" alt="">
<p class="text">{{ item.title }}</p>
</li>
</ul>
</div>
</div>
<div class="block gray">
<div class="inner">
<h2 class="b-title wow fadeInUp">{{ modules[4].form.title }}</h2>
<p class="intro wow fadeInUp" data-wow-delay="0.5s">{{ modules[4].form.des }}</p>
<ul class="group">
<li v-for="(item, i) in modules[5].list" :key="i" class="wow fadeInDown" :data-wow-delay="(0.2 * i).toFixed(1) + 's'" :class="{'cursor-pointer': isLink(item.link.linkName)}" @click="openLink(item)">
<img :src="item.pic" alt="">
<p class="text">{{ item.title }}</p>
</li>
</ul>
</div>
</div>
<div class="block news-block">
<div class="inner">
<h2 class="b-title wow fadeInUp">{{ modules[6].form.title }}</h2>
<p class="intro wow fadeInUp" data-wow-delay="0.5s">{{ modules[6].form.des }}</p>
<ul class="news">
<li v-for="(item, i) in articles" :key="i" class="wow fadeInDown" :data-wow-delay="(0.2 * i).toFixed(1) + 's'" @click="toArtice(item, modules[7].form)">
<img :src="item.titleImg" alt="">
<div class="texts">
<h6>{{ item.title }}</h6>
<div class="des" v-html="item.mainBody"></div>
<span class="meta">{{ item.releaseTime }}</span>
</div>
</li>
</ul>
<div class="all-link" @click="toAll(modules[7].form)">
<span>{{$t('column.all')}} <img class="icon" src="@/assets/images/arrow.png" alt=""></span>
</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 {
articles: []
}
},
mounted() {
new WOW().init()
},
methods: {
//
getInfo() {
// /
this.$post(`${this.api[this.preview ? 'getRedisCache' : 'findPage']}?columnId=${this.id}`).then(({ data }) => {
if (data.length) {
// state1theEditedJson稿0jsonBeforeEditing
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)
//
const { column, site, articleNum } = json[7].form
if (column.length) {
this.$post(`${this.api.queryArticlesByColumnType}?columnId=${column[column.length - 1]}`).then(({ data }) => {
this.articles = Util.removeTag(data.slice(0, articleNum || 6))
}).catch(err => {})
}
}
}).catch(err => {})
},
}
};
</script>
<style lang="scss" scoped>
@import url(../../plugins/wow/animate.css);
@import "../../styles/page/page.scss";
.wrap{
/deep/ .el-carousel {
height: 21.6rem;
.el-carousel__container{
height: 21.6rem;
}
img{
height: 21.6rem;
}
}
}
.banner-item {
.banner-name {
font-size: 2.16rem;
}
}
.block {
padding: 3.15rem 0;
.inner {
.b-title {
font-size: 2.25rem;
margin-bottom: 2.25rem;
}
.intro {
margin-bottom: 2.25rem;
}
}
}
.history {
h2 {
font-size: 1.35rem;
color: #333;
}
.texts {
display: flex;
justify-content: space-between;
padding: 2.7rem 2.56rem 2.7rem;
margin-top: 20px;
background-color: #fff;
border-radius: 100px 0px 0px 0px;
transition: .3s;
position: relative;
&:hover {
transform: scale(1.05);
}
// .line {
// padding: 2.7rem 0;
// }
.des {
margin: 2.7rem 0;
}
}
.left {
width: 50%;
}
.des {
margin: 20px 0;
font-size: 1.2rem;
color: #181818;
line-height: 31px;
}
.bg {
width: 32.88rem;
height: auto;
position: absolute;
right: -1rem;
bottom: 2.9rem;
}
}
.app-inner {
width: 1558px;
}
.app {
display: flex;
flex-wrap: wrap;
li {
position: relative;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
width: 368px;
height: 252px;
margin: 0 14px 14px 0;
transition: .3s;
&:hover {
transform: scale(1.05);
.icon {
transform: rotateY(180deg);
}
}
&:first-child {
width: 750px;
}
&:nth-child(3), &:nth-child(7), &:nth-child(10) {
margin-right: 0;
}
&:nth-child(9) {
width: 563px;
}
&:nth-child(10) {
width: 555px;
}
}
.bg {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.icon {
position: relative;
transition: .3s;
}
.text {
position: relative;
margin-top: 20px;
font-size: 2rem;
color: #fff;
}
}
.group {
display: flex;
flex-wrap: wrap;
li {
position: relative;
width: calc((100% - 56px) / 3);
margin: 0 28px 39px 0;
transition: .3s;
&:hover {
transform: scale(1.05);
.text {
color: #fff;
background-color: #394f6d;
}
}
&:nth-child(3n) {
margin-right: 0;
}
}
img {
width: 100%;
height: auto;
}
.text {
display: flex;
justify-content: center;
align-items: center;
height: 6.43rem;
font-size: 1.44rem;
font-family: SFProDisplay-Bold, SFProDisplay;
font-weight: bold;
line-height: 6.43rem;
text-align: center;
color: #272727;
background-color: #F5F5F5;
transition: .3s;
}
}
.news-block {
background: url(../../assets/images/info-bg.png) 0 0/100% 100% no-repeat;
}
.news {
position: relative;
display: flex;
justify-content: space-between;
flex-wrap: wrap;
li {
display: inline-flex;
width: calc((100% - 28px) / 2);
padding: 1.53rem;
margin-bottom: 1.26rem;
background-color: #fff;
cursor: pointer;
transition: .3s;
&:hover {
transform: scale(1.05);
}
}
img {
width: 10.66rem;
height: auto;
}
.texts {
margin-left: 34px;
}
h6 {
font-size: 1.1rem;
color: #0648A8;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
text-overflow: ellipsis;
overflow: hidden;
}
.des {
margin: 2px 0;
font-size: .9rem;
color: #333;
line-height: 22px;
-webkit-line-clamp: 2;
}
.meta {
font-size: .8rem;
color: #999;
}
}
@media (max-width: 1520px) {
.app-inner {
width: 1558px;
}
}
@media (min-width: 280px) and (max-width: 1200px) {
.wrap{
/deep/ .el-carousel {
height: 15rem;
.el-carousel__container{
height: 15rem;
}
img{
height: 15rem;
}
}
}
.banner-item .banner-name {
font-size: 1.5rem;
bottom: 2.25rem;
left: 16.125rem
}
.block{
padding: 50px 0;
.inner{
width: 95%;
margin: 0 auto;
.texts{
flex-direction: column;
.left {
width: 100%;
}
.bg{
margin: 0;
width: 100%;
height: 20rem !important;
}
}
}
.app{
li {
width: 100%;
}
}
.intro {
margin-bottom: 30px;
}
.group{
flex-direction: column;
li {
width: 100%;
img {
height: 20rem;
}
}
}
.news{
flex-direction: column;
li {
width: 95%;
margin: 0 auto;
flex-direction: column;
img{
width: 100%;
height: 12rem;
}
.texts{
margin-left: 0;
margin-top: 20px;
}
}
}
}
}
@media (max-width: 1200px) {
.block{
padding: 50px 0;
.inner{
width: 95%;
margin: 0 auto;
.texts{
flex-direction: column;
.left {
width: 100%;
}
.bg{
margin: 0;
width: 100%;
height: 450px;
}
}
}
.app{
li {
width: 100%;
}
}
.intro {
margin-bottom: 30px;
}
.group{
flex-direction: column;
li {
width: 100%;
}
}
.news{
flex-direction: column;
li {
width: 95%;
margin: 0 auto;
flex-direction: column;
img{
width: 100%;
height: 200px;
}
.texts{
margin-left: 0;
margin-top: 20px;
}
}
}
}
}
@media (max-width: 320px) {
.wrap {
/deep/ .el-carousel{
height: 12rem !important;
}
/deep/ .el-carousel__container{
height: 12rem !important;
}
/deep/ .el-carousel__item {
height: 12rem !important;
}
}
.banner-item{
img {
height: 12rem !important;
}
.banner-name {
font-size: 1.5rem;
line-height: 1rem;
left: 2rem;
bottom: 2rem;
}
}
.block {
padding: 1.25rem 0 ;
.inner {
h2 {
margin-left: 1.5rem !important;
}
.b-title {
font-size: 1.5rem;
}
.texts {
padding: 5rem 1.25rem;
h2{
margin-left: 0 !important;
}
.bg {
height: auto !important;
}
}
.group{
li {
img {
height: auto;
}
}
}
.news {
li {
padding: 1.25rem;
img{
height: auto;
}
.texts {
padding: 1.25rem;
}
}
}
}
}
}
@media (min-width: 320px) and (max-width: 375px) {
.wrap {
/deep/ .el-carousel{
height: 12rem !important;
}
/deep/ .el-carousel__container{
height: 12rem !important;
}
/deep/ .el-carousel__item {
height: 12rem !important;
}
}
.banner-item{
img {
height: 12rem !important;
}
.banner-name {
font-size: 1.5rem;
line-height: 1rem;
left: 2rem;
bottom: 2rem;
}
}
.block {
padding: 1.25rem 0 ;
.inner {
h2 {
margin-left: 1.5rem !important;
}
.b-title {
font-size: 1.5rem;
}
.texts {
padding: 5rem 1.25rem;
h2{
margin-left: 0 !important;
}
.bg {
height: auto !important;
}
}
.group{
li {
img {
height: auto;
}
}
}
.news {
li {
padding: 1.25rem;
img{
height: auto;
}
.texts {
padding: 1.25rem;
}
}
}
}
}
}
@media (min-width: 375px) and (max-width: 480px) {
.wrap {
/deep/ .el-carousel{
height: 12rem !important;
}
/deep/ .el-carousel__container{
height: 12rem !important;
}
/deep/ .el-carousel__item {
height: 12rem !important;
}
}
.banner-item{
img {
height: 12rem !important;
}
.banner-name {
font-size: 1.5rem;
line-height: 1rem;
left: 2rem;
bottom: 2rem;
}
}
.block {
padding: 1.25rem 0 ;
.inner {
h2 {
margin-left: 1.5rem !important;
}
.b-title {
font-size: 1.5rem;
}
.texts {
padding: 5rem 1.25rem;
h2{
margin-left: 0 !important;
}
.bg {
height: auto !important;
}
}
.group{
li {
img {
height: auto;
}
}
}
.news {
li {
padding: 1.25rem;
img{
height: auto;
}
.texts {
padding: 1.25rem;
}
}
}
}
}
}
@media (min-width: 480px) and (max-width: 640px) {
.wrap {
/deep/ .el-carousel{
height: 12rem !important;
}
/deep/ .el-carousel__container{
height: 12rem !important;
}
/deep/ .el-carousel__item {
height: 12rem !important;
}
}
.banner-item{
img {
height: 12rem !important;
}
.banner-name {
font-size: 1.5rem;
line-height: 1rem;
left: 2rem;
bottom: 2rem;
}
}
.block {
padding: 1.25rem 0 ;
.inner {
h2 {
margin-left: 1.5rem !important;
}
.b-title {
font-size: 1.5rem;
}
.texts {
padding: 5rem 1.25rem;
h2{
margin-left: 0 !important;
}
.bg {
height: auto !important;
}
}
.group{
li {
img {
height: auto;
}
}
}
.news {
li {
padding: 1.25rem;
img{
height: auto;
}
.texts {
padding: 1.25rem;
}
}
}
}
}
}
@media (min-width: 640px) and (max-width: 768px) {
.wrap {
/deep/ .el-carousel{
height: 12rem !important;
}
/deep/ .el-carousel__container{
height: 12rem !important;
}
/deep/ .el-carousel__item {
height: 12rem !important;
}
}
.banner-item{
img {
height: 12rem !important;
}
.banner-name {
font-size: 1.5rem;
line-height: 1rem;
left: 2rem;
bottom: 2rem;
}
}
.block {
padding: 1.25rem 0 ;
.inner {
h2 {
margin-left: 1.5rem !important;
}
.b-title {
font-size: 1.5rem;
}
.texts {
padding: 5rem 1.25rem;
h2{
margin-left: 0 !important;
}
.bg {
height: auto !important;
}
}
.group{
li {
img {
height: auto;
}
}
}
.news {
li {
padding: 1.25rem;
img{
height: auto;
}
.texts {
padding: 1.25rem;
}
}
}
}
}
}
@media (min-width: 768px) and (max-width: 980px) {
.wrap {
/deep/ .el-carousel{
height: 12rem !important;
}
/deep/ .el-carousel__container{
height: 12rem !important;
}
/deep/ .el-carousel__item {
height: 12rem !important;
}
}
.banner-item{
img {
height: 12rem !important;
}
.banner-name {
font-size: 1.5rem;
line-height: 1rem;
left: 2rem;
bottom: 2rem;
}
}
.block {
padding: 1.25rem 0 ;
.inner {
h2 {
margin-left: 1.5rem !important;
}
.b-title {
font-size: 1.5rem;
}
.texts {
flex-direction: row;
padding: 3rem 1.25rem;
.left {
width: 50%;
}
h2{
margin-left: 0 !important;
}
.bg {
width: 50%;
margin: -3rem 0 0 0;
height: auto !important;
}
}
.group{
flex-direction: row;
li {
width: calc((100% - 56px) / 3);
img {
height: auto;
}
.text {
line-height: 1.5rem;
}
}
}
.news {
flex-direction: row;
li {
width: calc((100% - 28px) / 2);
padding: 1.25rem;
img{
height: auto;
}
.texts {
padding: 1.25rem;
}
}
}
.app {
flex-direction: row;
li {
width: 45%;
&:nth-child(2n+1) {
margin-right: 1rem;
}
}
}
}
}
}
@media (min-width: 980px) and (max-width: 1200px) {
.wrap {
/deep/ .el-carousel{
height: 12rem !important;
}
/deep/ .el-carousel__container{
height: 12rem !important;
}
/deep/ .el-carousel__item {
height: 12rem !important;
}
}
.banner-item{
img {
height: 12rem !important;
}
.banner-name {
font-size: 1.5rem;
line-height: 1rem;
left: 2rem;
bottom: 2rem;
}
}
.block {
padding: 1.25rem 0 ;
.inner {
h2 {
margin-left: 1.5rem !important;
}
.b-title {
font-size: 1.5rem;
}
.texts {
flex-direction: row;
padding: 3rem 1.25rem;
.left {
width: 50%;
}
h2{
margin-left: 0 !important;
}
.bg {
width: 50%;
margin: -3rem 0 0 0;
height: auto !important;
}
}
.group{
flex-direction: row;
li {
width: calc((100% - 56px) / 3);
img {
height: auto;
}
.text {
line-height: 1.5rem;
}
}
}
.news {
flex-direction: row;
li {
width: calc((100% - 28px) / 2);
padding: 1.25rem;
img{
height: auto;
}
.texts {
padding: 1.25rem;
}
}
}
.app {
flex-direction: row;
li {
width: 45%;
&:nth-child(2n+1) {
margin-right: 1rem;
}
}
}
}
}
}
</style>

@ -1,825 +0,0 @@
<template>
<div class="wrap">
<el-carousel :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">
<div class="inner">
<ul class="card">
<li class="wow fadeInDown" data-wow-delay="0.1s">
<img class="pic" :src="modules[1].form.pic" alt="">
<div class="texts">
<h6>{{ modules[1].form.title }}</h6>
<p class="text">{{ modules[1].form.des }}</p>
</div>
<div class="arrow">
<img src="@/assets/images/arrow-white.png" alt="" :class="{'cursor-pointer': isLink(modules[1].form.link.linkName)}" @click="openLink(modules[1].form)">
</div>
</li>
<li class="wow fadeInDown" data-wow-delay="0.3s">
<img class="pic" :src="modules[2].form.pic" alt="">
<div class="texts">
<h6>{{ modules[2].form.title }}</h6>
<p class="text">{{ modules[2].form.des }}</p>
</div>
<div class="arrow">
<img src="@/assets/images/arrow-white.png" alt="" :class="{'cursor-pointer': isLink(modules[2].form.link.linkName)}" @click="openLink(modules[2].form)">
</div>
</li>
<li class="wow fadeInDown" data-wow-delay="0.5s">
<img class="pic" :src="modules[3].form.pic" alt="">
<div class="texts">
<h6>{{ modules[3].form.title }}</h6>
<p class="text">{{ modules[3].form.des }}</p>
</div>
<div class="arrow">
<img src="@/assets/images/arrow-white.png" alt="" :class="{'cursor-pointer': isLink(modules[3].form.link.linkName)}" @click="openLink(modules[3].form)">
</div>
</li>
<li class="wow fadeInDown" data-wow-delay="0.7s">
<img class="pic" :src="modules[4].form.pic" alt="">
<div class="texts">
<h6>{{ modules[4].form.title }}</h6>
<p class="text">{{ modules[4].form.des }}</p>
</div>
<div class="arrow">
<img src="@/assets/images/arrow-white.png" alt="" :class="{'cursor-pointer': isLink(modules[4].form.link.linkName)}" @click="openLink(modules[4].form)">
</div>
</li>
</ul>
</div>
</div>
<div class="block gray">
<div class="inner">
<h2 class="b-title wow fadeInUp">{{ modules[5].form.title }}</h2>
<p class="intro wow fadeInUp" data-wow-delay="0.5s">{{ modules[5].form.des }}</p>
<ul class="people">
<template v-for="(item, i) in modules[6].list">
<li v-if="item.isEnable" :key="i" class="wow fadeInDown" data-wow-delay="0.5s" :class="{'cursor-pointer': isLink(item.link.linkName)}" @click="openLink(item)">
<img class="comma" src="@/assets/images/comma.png" alt="">
<div class="left">
<h6>{{ item.title }}</h6>
<div class="des">{{ item.des }}</div>
</div>
<img class="pic" :src="item.pic" alt="">
</li>
</template>
</ul>
</div>
</div>
<ul class="shows">
<template v-for="(item, i) in modules[7].list">
<li v-if="item.isEnable" :key="i" class="wow fadeInDown" data-wow-delay="0.3s">
<div class="left">
<h6>{{ item.title }}</h6>
<div class="sub">{{ item.subTitle }}</div>
<div class="des">{{ item.des }}</div>
<img src="@/assets/images/arrow-white.png" alt="" class="icon" :class="{'arrow': isLink(item.link.linkName)}" @click="openLink(item)">
</div>
<img class="pic" :src="item.pic" alt="">
</li>
</template>
</ul>
</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) {
// state1theEditedJson稿0jsonBeforeEditing
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";
.wrap{
/deep/ .el-carousel {
height: 21.6rem;
.el-carousel__container{
height: 21.6rem;
}
img{
height: 21.6rem;
}
}
}
.banner-item {
.banner-name {
font-size: 2.16rem;
}
}
.block {
padding: 3.15rem 0;
.inner {
.b-title {
font-size: 2.25rem;
margin-bottom: 2.25rem;
}
.intro {
margin-bottom: 6.9rem;
}
}
}
.card {
display: flex;
justify-content: center;
li {
position: relative;
display: inline-flex;
justify-content: center;
align-items: center;
flex-direction: column;
flex: 1;
height: 23.67rem;
color: #fff;
&:hover {
.arrow {
opacity: 1;
}
}
.pic {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.texts {
position: relative;
}
h6 {
margin-bottom: 10px;
font-size: 1.57rem;
}
.text {
font-size: 1.08rem;
text-align: center;
}
.arrow {
position: absolute;
bottom: 0;
width: 100%;
height: 7.9rem;
text-align: center;
background: #36404A;
opacity: 0;
transition: .3s;
cursor: default;
display: flex;
align-items: center;
justify-content: center;
}
}
}
.people {
position: relative;
li {
position: relative;
padding: 4.5rem 3.15rem 4.5rem 2.565rem;
margin-bottom: 100px;
background-color: #fff;
transition: .3s;
&:hover {
transform: scale(1.05);
}
&:nth-child(even) {
display: flex;
justify-content: flex-end;
.comma {
left: 70%;
}
.pic {
left: 0;
right: auto;
}
}
}
.comma {
position: absolute;
top: -22px;
left: 57px;
}
.left {
width: 50%;
}
h6 {
font-size: 1.4rem;
color: #333;
}
.des {
margin-top: 20px;
font-size: 1.2rem;
color: #666;
line-height: 32px;
}
.pic {
position: absolute;
top: -60px;
right: 43px;
width: 40%;
height: auto;
}
}
.shows {
position: relative;
li {
position: relative;
display: flex;
align-items: center;
width: 100%;
height: auto;
margin-bottom: 40px;
color: #fff;
&:hover .left {
h6, .sub, .des, .icon {
transform: translateY(20px);
}
}
&:nth-child(even) {
flex-direction: row-reverse;
}
&:nth-child(2) {
.left {
background-color: rgba(47, 79, 23, .65);
}
}
&:nth-child(3) {
.left {
width: 43%;
background-color: rgba(91, 58, 35, .65);
}
}
}
.left {
position: relative;
z-index: 1;
width: 43.333%;
height: 100%;
padding: 138px 30px 130px 103px;
background-color: rgba(54, 54, 54, .65);
}
.pic {
position: absolute;
top: 0;
right: 0;
width: 100%;
height: 100%;
}
h6 {
font-size: 2.07rem;
transition: .3s;
}
.sub {
margin: 20px 0 20px 0;
font-size: 1.35rem;
transition: .3s;
}
.des {
margin-bottom: 40px;
font-size: 1.08rem;
transition: .3s;
}
.icon {
transition: .3s;
}
}
@media (min-width: 280px) and (max-width: 1200px) {
.wrap{
/deep/ .el-carousel {
height: 15rem;
.el-carousel__container{
height: 15rem;
}
img{
height: 15rem;
}
}
}
.block{
padding: 50px 0;
.inner {
width: 95%;margin: 0 auto;
.card{
flex-direction: column;
li{
margin-top: 20px;
width: 100%;
height: 27rem;
}
}
.people{
li {
padding: 200px 20px 30px;
.left {
width: 100%;
}
.pic{
top: -60px;
right: 13px;
width: 60%;
height: 12.5rem;
}
}
}
}
}
.shows{
li {
flex-direction: column;
align-items:flex-start;
height: 16rem;
.left {
padding: 10px ;
h6{
font-size: 1.5rem ;
}
.sub {
margin: .5rem;
font-size: 1rem;
}
.des{
margin-bottom: 1.25rem;
}
.icon {
width: 3.5rem;
height: 3.5rem;
}
}
}
}
}
@media (max-width: 320px) {
.wrap {
/deep/ .el-carousel{
height: 12rem !important;
}
/deep/ .el-carousel__container{
height: 12rem !important;
}
/deep/ .el-carousel__item {
height: 12rem !important;
}
}
.banner-item{
img {
height: 12rem !important;
}
.banner-name {
font-size: 1.5rem;
line-height: 1rem;
left: 2rem;
bottom: 2rem;
}
}
.block {
padding: 1.25rem 0;
.inner {
.card {
li {
flex: none;
height: 25rem;
.pic {
height: 25rem;
}
}
}
.people {
li {
padding: 10rem 1.25rem 1.5rem;
.pic {
top: -40px;
height: auto;
}
}
}
}
}
.shows {
li {
height: auto;
.left {
h6 {
font-size: 1rem;
}
.sub {
font-size: .9rem;
}
.des {
font-size: .88rem;
margin-bottom: .5rem;
}
.icon {
width: 2rem;height: 2rem;
}
}
}
}
}
@media (min-width: 320px) and (max-width: 375px) {
.wrap {
/deep/ .el-carousel{
height: 12rem !important;
}
/deep/ .el-carousel__container{
height: 12rem !important;
}
/deep/ .el-carousel__item {
height: 12rem !important;
}
}
.banner-item{
img {
height: 12rem !important;
}
.banner-name {
font-size: 1.5rem;
line-height: 1rem;
left: 2rem;
bottom: 2rem;
}
}
.block {
padding: 1.25rem 0;
.inner {
.card {
li {
flex: none;
height: 25rem;
.pic {
height: 25rem;
}
}
}
.people {
li {
padding: 10rem 1.25rem 1.5rem;
.pic {
top: -40px;
height: auto;
}
}
}
}
}
.shows {
li {
height: auto;
.left {
h6 {
font-size: 1rem;
}
.sub {
font-size: .9rem;
}
.des {
font-size: .88rem;
margin-bottom: .5rem;
}
.icon {
width: 2rem;height: 2rem;
}
}
}
}
}
@media (min-width: 375px) and (max-width: 480px) {
.wrap {
/deep/ .el-carousel{
height: 12rem !important;
}
/deep/ .el-carousel__container{
height: 12rem !important;
}
/deep/ .el-carousel__item {
height: 12rem !important;
}
}
.banner-item{
img {
height: 12rem !important;
}
.banner-name {
font-size: 1.5rem;
line-height: 1rem;
left: 2rem;
bottom: 2rem;
}
}
.block {
padding: 1.25rem 0;
.inner {
.card {
li {
flex: none;
height: 25rem;
.pic {
height: 25rem;
}
}
}
.people {
li {
padding: 10rem 1.25rem 1.5rem;
.pic {
top: -40px;
height: auto;
}
}
}
}
}
.shows {
li {
height: auto;
.left {
h6 {
font-size: 1rem;
}
.sub {
font-size: .9rem;
}
.des {
font-size: .88rem;
margin-bottom: .5rem;
}
.icon {
width: 2rem;height: 2rem;
}
}
}
}
}
@media (min-width: 480px) and (max-width: 640px) {
.wrap {
/deep/ .el-carousel{
height: 12rem !important;
}
/deep/ .el-carousel__container{
height: 12rem !important;
}
/deep/ .el-carousel__item {
height: 12rem !important;
}
}
.banner-item{
img {
height: 12rem !important;
}
.banner-name {
font-size: 1.5rem;
line-height: 1rem;
left: 2rem;
bottom: 2rem;
}
}
.block {
padding: 1.25rem 0;
.inner {
.card {
li {
flex: none;
height: 25rem;
.pic {
height: 25rem;
}
}
}
.people {
li {
margin-bottom: 15rem;
padding: 10rem 1.25rem 1.5rem;
.pic {
top: -40%;
height: auto;
}
}
}
}
}
.shows {
li {
height: auto;
.left {
padding: 2rem 2rem;
}
}
}
}
@media (min-width: 640px) and (max-width: 768px) {
.wrap {
/deep/ .el-carousel{
height: 12rem !important;
}
/deep/ .el-carousel__container{
height: 12rem !important;
}
/deep/ .el-carousel__item {
height: 12rem !important;
}
}
.banner-item{
img {
height: 12rem !important;
}
.banner-name {
font-size: 1.5rem;
line-height: 1rem;
left: 2rem;
bottom: 2rem;
}
}
.block {
padding: 1.25rem 0;
.inner {
.card {
li {
flex: none;
height: 25rem;
.pic {
height: 25rem;
}
}
}
.people {
li {
padding: 10rem 1.25rem 1.5rem;
margin-bottom: 15rem;
.pic {
top: -60%;
height: auto;
}
}
}
}
}
.shows {
li {
height: auto;
.left {
padding: 3rem 2rem;
}
}
}
}
@media (min-width: 768px) and (max-width: 980px) {
.wrap {
/deep/ .el-carousel{
height: 12rem !important;
}
/deep/ .el-carousel__container{
height: 12rem !important;
}
/deep/ .el-carousel__item {
height: 12rem !important;
}
}
.banner-item{
img {
height: 12rem !important;
}
.banner-name {
font-size: 1.5rem;
line-height: 1rem;
left: 2rem;
bottom: 2rem;
}
}
.block {
padding: 1.25rem 0;
.inner {
.card {
li {
flex: none;
height: 25rem;
.pic {
height: 25rem;
}
}
}
.people {
li {
margin-bottom: 20rem;
padding: 10rem 1.25rem 1.5rem;
.pic {
top: -85%;
height: auto;
}
}
}
}
}
.shows {
li {
height: auto;
.left {
padding: 4rem 2rem;
}
}
}
}
@media (min-width: 980px) and (max-width: 1200px) {
.wrap {
/deep/ .el-carousel{
height: 12rem !important;
}
/deep/ .el-carousel__container{
height: 12rem !important;
}
/deep/ .el-carousel__item {
height: 12rem !important;
}
}
.banner-item{
img {
height: 12rem !important;
}
.banner-name {
font-size: 1.5rem;
line-height: 1rem;
left: 2rem;
bottom: 2rem;
}
}
.block {
padding: 1.25rem 0;
.inner {
.card {
li {
flex: none;
height: 25rem;
.pic {
height: 25rem;
}
}
}
.people {
li {
margin-bottom: 30rem;
padding: 10rem 1.25rem 1.5rem;
.pic {
top: -115%;
height: auto;
}
}
}
}
}
.shows {
li {
height: auto;
.left {
padding: 4rem 2rem;
}
}
}
}
</style>

@ -1,208 +0,0 @@
<template>
<!-- 联系我们 -->
<div class="wrap">
<div class="single-banner">
<img class="banner-img"
:src="modules[0].form.pic"
alt="" />
<div class="texts">
<h6 class="banner-title">{{ modules[0].form.title }}</h6>
</div>
</div>
<div class="block">
<div class="inner">
<Breadcrumb ref="breadcrumb"
:data.sync="routes" />
<div class="contact">
<div class="fields">
<h6>{{ modules[1].form.title }}</h6>
<p class="text">{{ modules[1].form.address }}</p>
<p class="text">{{ modules[1].form.phone }}</p>
<p class="text">{{ modules[1].form.email }}</p>
</div>
<img :src="modules[2].form.pic"
alt=""
class="pic">
<el-table :data="modules[3].list"
class="patent-table"
ref="table"
stripe
header-align="center">
<el-table-column prop="dep"
label="部门"
align="center"
min-width="250"></el-table-column>
<el-table-column prop="contacts"
label="联系人"
align="center"
min-width="100"></el-table-column>
<el-table-column prop="phone"
label="电话"
align="center"
min-width="150"></el-table-column>
<el-table-column prop="email"
label="邮箱"
align="center"
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>
</div>
</div>
</div>
</div>
</template>
<script>
import mixins from '@/mixins/page'
import Setting from '@/setting'
import Util from '@/libs/util'
import Breadcrumb from '@/components/breadcrumb'
import WOW from 'wow.js'
export default {
mixins: [mixins],
data () {
return {
routes: [],
list: []
};
},
components: {
Breadcrumb
},
mounted () {
new WOW().init();
this.getColumn()
},
methods: {
//
getInfo () {
// /
this.$post(
`${this.api[this.preview ? "getRedisCache" : "findPage"]}?columnId=${this.id}`
)
.then(({ data }) => {
if (data.length) {
// state1theEditedJson稿0jsonBeforeEditing
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) => { });
},
// id
getParent (data, id) {
for (const e of data) {
if (e.id == id) {
this.routes.push({
name: e.columnName,
query: {
id: e.id
}
})
break
} else if (e.children.length) {
this.routes.push({
name: e.columnName,
query: {
id: e.id
}
})
this.getParent(e.children, id)
}
}
},
//
getColumn () {
this.$post(`${this.api.oneLevelChecksThemAll}?id=${this.id}&isSort=1&siteId=${this.site}`).then(({ data }) => {
this.getParent(data, this.id)
}).catch(err => { })
},
},
};
</script>
<style lang="scss" scoped>
@import url(../../plugins/wow/animate.css);
@import '../../styles/page/page.scss';
.single-banner {
.banner-img {
height: 21.6rem;
}
.texts {
h6 {
font-size: 2.16rem;
margin-bottom: 0.95rem;
}
.banner-des {
font-size: 0.96rem;
}
}
}
.block {
padding: 2rem 0;
background: url(http://10.10.11.7/images/contactUs/3.png) 0 130px no-repeat,
url(http://10.10.11.7/images/contactUs/4.png) bottom right no-repeat;
background-color: #f7f8fa;
}
.inner {
.contact {
padding: 3rem 6rem;
background-color: #fff;
}
.fields {
position: relative;
padding: 2rem;
border: 4px solid #f9f9f9;
h6 {
position: absolute;
top: -16px;
left: 60px;
font-size: 1.1rem;
font-family: PingFangSC-Medium, PingFang SC;
color: #333;
background-color: #fff;
}
.text {
font-size: 1rem;
color: #333;
line-height: 1.6;
}
}
.pic {
width: 100%;
margin: 2rem 0 1.5rem;
}
}
/deep/.patent-table {
thead tr,
thead th {
color: #fff;
background-color: #1583ff;
}
}
@media (max-width: 1200px) {
.inner {
.contact {
padding: 3rem 1rem;
}
}
}
</style>

@ -1,102 +0,0 @@
<template>
<div class="wrap">
<div class="single-banner">
<img class="banner-img"
:src="modules[0].form.pic"
alt="" />
<div class="texts">
<h6 class="banner-title">{{ modules[0].form.title }}</h6>
</div>
</div>
<div class="block history">
<div class="inner">
<h6 v-html="modules[1].form.title"></h6>
<p class="en">{{ modules[1].form.subTitle }}</p>
<div class="text"
v-html="modules[1].form.des"></div>
<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>
<div class="text"
v-html="modules[2].form.des"></div>
</div>
</div>
</div>
</template>
<script>
import mixins from "@/mixins/page";
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) {
// state1theEditedJson稿0jsonBeforeEditing
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';
.history {
.inner {
width: 1000px;
}
h6 {
position: relative;
font-size: 2.2rem;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #333333;
}
.en {
margin-top: -25px;
font-size: 2.2rem;
font-family: PingFangSC-Light, PingFang SC;
font-weight: 300;
color: #e3e3e3;
}
.text {
max-width: 1200px;
margin: 30px 0;
overflow: auto;
}
}
@media (max-width: 1000px) {
.history {
.inner {
width: 90%;
}
}
}
</style>

@ -1,289 +0,0 @@
<template>
<div class="wrap">
<el-carousel :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 share">
<h6 v-html="modules[1].form.title"></h6>
<p class="en"
v-html="modules[1].form.des"></p>
<div class="sum">{{ modules[2].form.title }}</div>
<div class="flex beamBox">
<div class="left">
<div class="des"
v-html="modules[2].form.des"></div>
</div>
<img class="pic"
:src="modules[2].form.pic"
alt="">
</div>
</div>
<div class="intro">
<div class="intro-inner">
<img class="pic"
:src="modules[3].form.pic"
alt="">
<div class="des"
v-html="modules[3].form.des"></div>
</div>
</div>
<div class="unit">
<h6>{{ modules[4].form.title }}</h6>
<img class="pic"
:src="modules[4].form.pic"
alt="">
</div>
</div>
</template>
<script>
import mixins from '@/mixins/page'
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) {
// state1theEditedJson稿0jsonBeforeEditing
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';
.wrap {
background: url(http://10.10.11.7/images/device/4.png) bottom right/auto no-repeat;
/deep/ .el-carousel {
height: 12.6rem;
.el-carousel__container {
height: 12.6rem;
}
img {
height: 12.6rem;
}
}
}
.banner-item {
.banner-name {
font-size: 2.16rem;
left: 17%;
bottom: 20%;
}
}
.block {
padding: 3.85rem 0;
.inner {
h6 {
font-size: 1.76rem;
}
.en {
font-size: 1.76rem;
margin: 0px 0 2rem;
}
.sum {
margin-top: 3rem;
font-size: 0.96rem;
}
}
}
.beamBox {
position: relative;
.imgText {
position: absolute;
right: 2rem;
bottom: 2.25rem;
display: flex;
font-size: 0.9rem;
font-weight: 400;
.readio {
width: 7px;
height: 7px;
background-color: #2a2a2a;
border-radius: 50%;
margin-right: 10px;
margin-top: 8px;
}
}
}
.share {
position: relative;
width: 80%;
padding-left: 14%;
.beamBox {
align-items: center;
}
.left {
width: 50%;
padding-right: 66px;
}
h6 {
position: relative;
font-size: 1.92rem;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: bold;
color: #333333;
}
.en {
margin-top: -25px;
font-size: 2.4rem;
font-family: PingFangSC-Light, PingFang SC;
font-weight: 300;
color: #e3e3e3;
}
.sum {
margin-top: 60px;
font-size: 1.2rem;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #333333;
line-height: 44px;
}
.des {
margin-top: 1.25rem;
font-size: 0.88rem;
color: #333;
line-height: 1.85rem;
-webkit-line-clamp: inherit;
overflow: visible;
}
.pic {
width: 50%;
margin-top: 10px;
border-top-left-radius: 20px;
}
}
.intro {
width: 80%;
height: 19.65rem;
padding-left: 14%;
margin-bottom: 67px;
background-color: #2e4984;
.intro-inner {
display: flex;
align-items: center;
height: 100%;
}
.pic {
width: 50%;
height: 100%;
}
.des {
width: 50%;
height: 19.65rem;
padding: 2.85rem 3rem 1rem 3rem;
font-size: 0.96rem;
color: #fff;
line-height: 2rem;
-webkit-line-clamp: 7; //3
}
}
.unit {
width: 986px;
padding-bottom: 60px;
margin: 0 auto;
h6 {
padding-left: 0.93rem;
margin-bottom: 0.93rem;
font-size: 0.88rem;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #2a2a2a;
border-left: 4px solid #1583ff;
}
}
@media (max-width: 1200px) {
.banner {
height: 12rem;
padding: 6rem 0 0 2rem;
}
.beamBox {
.imgText {
bottom: 4rem;
right: 4rem;
}
}
.share {
width: 90%;
padding-left: 0;
margin: 0 auto;
}
.beamBox {
display: flex;
flex-direction: column;
position: relative;
.left {
width: 100%;
}
.des {
-webkit-line-clamp: 100;
}
.pic {
margin-top: 10px;
width: 100%;
height: auto;
}
}
.intro {
width: 90%;
padding: 1rem 0;
height: auto;
.intro-inner {
flex-direction: column;
}
.pic {
width: 80%;
}
.des {
width: 80%;
height: auto;
padding: 2rem 0 0;
-webkit-line-clamp: 100;
}
}
.unit {
width: 95%;
img {
width: 100%;
}
}
}
</style>

@ -1,298 +0,0 @@
<template>
<div class="wrap">
<el-carousel :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 share">
<div class="inner">
<h6 v-html="modules[1].form.title"></h6>
<p class="en">{{ modules[1].form.subTitle }}</p>
<div class="card"
v-html="modules[1].form.des"></div>
<div class="flex textBox">
<div class="left">
<div class="des"
v-html="modules[2].form.des"></div>
</div>
<img class="pic"
:src="modules[2].form.pic"
alt="">
</div>
</div>
</div>
<div class="intro">
<img class="bg"
src="http://10.10.11.7/images/device/7.png"
alt="">
<img class="pic"
:src="modules[3].form.pic"
alt="">
</div>
<div class="unit">
<h6>{{ modules[4].form.title }}</h6>
<img class="pic"
:src="modules[4].form.pic"
alt="">
</div>
</div>
</template>
<script>
import mixins from '@/mixins/page'
import WOW from 'wow.js'
export default {
mixins: [mixins],
data () {
return {
routes: []
}
},
mounted () {
new WOW().init()
},
methods: {
//
getInfo () {
// /
this.$post(`${this.api[this.preview ? 'getRedisCache' : 'findPage']}?columnId=${this.id}`)
.then(({ data }) => {
if (data.length) {
// state1theEditedJson稿0jsonBeforeEditing
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';
.wrap {
background: url(http://10.10.11.7/images/device/4.png) bottom right/auto no-repeat;
/deep/ .el-carousel {
height: 12.6rem;
.el-carousel__container {
height: 12.6rem;
}
img {
height: 12.6rem;
}
}
}
.banner-item {
.banner-name {
font-size: 2.16rem;
left: 17%;
bottom: 20%;
}
}
.block {
padding: 3.85rem 0;
.inner {
h6 {
font-size: 2.16rem;
}
.en {
font-size: 1.76rem;
margin: 0px 0 2rem;
}
}
}
.share {
position: relative;
.inner {
width: 100%;
max-width: 1323px;
.textBox {
position: absolute;
width: 85%;
right: 0;
top: 26rem;
.left {
flex-grow: 1;
}
}
h6 {
font-weight: bold;
}
}
.left {
width: 34.187rem;
margin-right: 4.125rem;
}
h6 {
position: relative;
font-size: 1.76rem;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #333333;
}
.en {
margin: -25px 0 40px;
font-size: 2.2rem;
font-family: PingFangSC-Light, PingFang SC;
font-weight: 300;
color: #e3e3e3;
}
.card {
position: absolute;
left: 0;
max-width: 1671px;
width: 85%;
padding: 1.6rem 2.9rem 1.6rem 14%;
font-size: 1.06rem;
font-family: PingFangSC-Medium, PingFang SC;
border-radius: 0 6rem 0 0;
font-weight: 500;
color: #ffffff;
line-height: 2.375rem;
background: url(http://10.10.11.7/images/device/5.png) 0 0 /100% 100% no-repeat;
}
.des {
margin-top: 25px;
font-size: 0.98rem;
-webkit-line-clamp: inherit;
color: #333;
line-height: 37px;
overflow: visible;
}
.pic {
width: 44.375rem;
height: auto;
border-top-left-radius: 20px;
}
}
.intro {
position: relative;
height: 42.625rem;
margin-bottom: 2.3rem;
margin-top: 50rem;
width: 85%;
.bg {
position: absolute;
top: 0;
left: 0;
width: 65%;
height: 35.73rem;
}
.pic {
position: absolute;
top: 3.015rem;
left: 30%;
width: 71%;
height: 29.74rem;
}
}
.unit {
width: 986px;
padding-bottom: 60px;
margin: 0 auto;
h6 {
padding-left: 0.93rem;
margin-bottom: 0.93rem;
font-size: 0.88rem;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #2a2a2a;
border-left: 4px solid #1583ff;
}
}
@media (max-width: 1400px) {
.share {
.card {
position: relative;
margin-left: -2.5%;
}
.inner {
max-width: none;
width: 95%;
.textBox {
position: static;
display: flex;
flex-direction: column;
align-items: flex-end;
margin-left: 15%;
.left {
width: 100%;
.des {
-webkit-line-clamp: 100;
}
}
}
}
.pic {
width: 50%;
margin-top: 20px;
}
}
.bg {
width: 100%;
}
.intro {
height: 36rem;
margin-top: 0;
.pic {
width: 100%;
left: 0;
top: 6%;
}
}
.unit {
width: 95%;
img {
width: 100%;
}
}
}
@media (max-width: 980px) {
.share {
.pic {
width: 80%;
}
}
}
@media (max-width: 640px) {
.share {
.inner {
.textBox {
margin: 0 auto;
}
}
.left {
margin-right: 0;
}
}
.intro {
height: auto;
.bg,
.pic {
position: static;
width: 100%;
height: auto;
}
}
}
</style>

@ -1,358 +0,0 @@
<template>
<div class="wrap">
<el-carousel :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">
<h2 class="wow fadeInLeft"
v-html="modules[1].form.title"></h2>
<p class="en"
v-html="modules[1].form.des"></p>
<div class="texts wow fadeInDown"
data-wow-delay="0.5s">
<div class="left">
<h6>{{ modules[2].form.title }}</h6>
<div class="line"></div>
<div class="text"
v-html="modules[2].form.des"></div>
</div>
<img class="bg"
src="http://10.10.11.7/images/device/10.png"
alt="" />
</div>
</div>
</div>
<div class="block intro">
<div class="inner">
<div class="left">
<h5>{{ modules[3].form.title }}</h5>
<img :src="modules[3].form.pic"
alt="" />
</div>
<div class="right">
<h6>{{ modules[4].form.title }}</h6>
<img :src="modules[4].form.pic"
alt="" />
</div>
</div>
</div>
</div>
</template>
<script>
import mixins from '@/mixins/page';
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) {
// state1theEditedJson稿0jsonBeforeEditing
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';
.wrap {
/deep/ .el-carousel {
height: 12.6rem;
.el-carousel__container {
height: 12.6rem;
}
img {
height: 12.6rem;
}
}
}
.banner-item {
.banner-name {
font-size: 2.16rem;
left: 17%;
bottom: 20%;
}
}
.block {
padding: 3.85rem 0;
.inner {
h2 {
font-size: 1.76rem;
}
.en {
font-size: 1.76rem;
margin: 0px 0 2rem;
}
}
}
.history {
.inner {
width: 1200px;
max-width: 1504px;
}
h2 {
position: relative;
font-size: 1.76rem;
font-family: PingFangSC-Semibold, PingFang SC;
font-weight: 600;
color: #1c1c1c;
}
.en {
margin: -25px 0 40px;
font-size: 2.2rem;
font-family: PingFangSC-Light, PingFang SC;
font-weight: 300;
color: #e3e3e3;
}
.texts {
display: flex;
justify-content: space-between;
padding: 5.125rem 0 1.875rem 2.375rem;
margin-top: 20px;
background: #1583ff;
border-radius: 65px 100px 0px 0px;
transition: 0.3s;
position: relative;
.imgText {
position: absolute;
right: 0rem;
bottom: 4.25rem;
display: flex;
font-size: 0.9rem;
color: #ffffff;
font-weight: 400;
.readio {
width: 7px;
height: 7px;
background-color: #ffffff;
border-radius: 50%;
margin-right: 10px;
margin-top: 8px;
}
}
&:hover {
transform: scale(1.05);
}
}
.left {
width: 50%;
}
h6 {
font-size: 1.4rem;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #ffffff;
}
.line {
width: 214px;
height: 5px;
margin: 54px 0 44px;
background: #ffffff;
opacity: 0.52;
}
.text {
font-size: 1.1rem;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #ffffff;
line-height: 1.6;
}
.bg {
width: 50%;
margin: -8.875rem -3.125rem 0 0;
border-top-left-radius: 30px;
}
}
.intro {
.inner {
display: flex;
}
.left {
width: 30%;
}
.right {
width: 68%;
margin-left: 2%;
}
h5 {
margin-bottom: 0.93rem;
font-size: 0.88rem;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #2a2a2a;
}
h6 {
padding-left: 0.93rem;
margin-bottom: 0.93rem;
font-size: 0.88rem;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #2a2a2a;
border-left: 4px solid #1583ff;
}
img {
width: 100%;
height: 85%;
}
}
@media (min-width: 280px) and (max-width: 620px) {
.inner {
flex-direction: column;
.left,
.right {
width: 50%;
margin: 20px auto;
}
}
.history {
.left {
.line {
width: 100%;
}
}
}
.block {
padding: 50px 0;
.inner {
.texts {
.bg {
width: 100%;
height: 200px;
margin: -50px 0px 0 0;
}
}
}
}
}
@media (max-width: 1200px) {
body {
width: 100% !important;
}
.history {
.inner {
width: 95%;
}
.texts {
flex-direction: column;
}
.bg {
margin: 0 auto;
}
}
.inner {
flex-direction: column;
width: 95%;
.left,
.right {
width: 95%;
margin: 20px auto;
}
}
.intro {
img {
height: auto;
}
}
}
@media (max-width: 980px) {
.history {
.bg {
width: 100%;
}
}
}
@media (max-width: 320px) {
.banner {
height: 12rem;
padding: 6rem 0 0 2rem;
}
}
@media (min-width: 320px) and (max-width: 375px) {
.banner {
height: 12rem;
padding: 6rem 0 0 2rem;
}
}
@media (min-width: 375px) and (max-width: 480px) {
.banner {
height: 12rem;
padding: 6rem 0 0 2rem;
}
}
@media (min-width: 480px) and (max-width: 640px) {
.banner {
height: 12rem;
padding: 6rem 0 0 2rem;
}
}
@media (min-width: 640px) and (max-width: 768px) {
.banner {
height: 12rem;
padding: 6rem 0 0 2rem;
}
}
@media (min-width: 768px) and (max-width: 980px) {
.banner {
height: 12rem;
padding: 6rem 0 0 2rem;
}
}
@media (min-width: 980px) and (max-width: 1200px) {
.banner {
height: 12rem;
padding: 6rem 0 0 2rem;
}
}
</style>

@ -1,679 +0,0 @@
<template>
<div class="wrap">
<el-carousel :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 gray">
<div class="inner">
<h2 class="b-title wow fadeInUp">{{ modules[1].form.title }}</h2>
<p class="intro wow fadeInUp" data-wow-delay="0.8s">{{ modules[1].form.des }}</p>
<img class="block-pic br wow fadeInLeft" data-wow-delay="0.8s" :class="{'cursor-pointer': isLink(modules[1].form.link.linkName)}" width="100%" height="536" :src="modules[1].form.pic" alt="" @click="openLink(modules[1].form)">
</div>
</div>
<div class="block">
<div class="inner">
<h2 class="b-title wow fadeInUp">{{ modules[2].form.title }}</h2>
<p class="intro wow fadeInUp" data-wow-delay="0.8s">{{ modules[2].form.des }}</p>
<img class="block-pic wow fadeInRight" data-wow-delay="0.8s" :class="{'cursor-pointer': isLink(modules[2].form.link.linkName)}" width="100%" height="536" :src="modules[2].form.pic" alt="" @click="openLink(modules[2].form)">
</div>
</div>
<div class="block gray">
<div class="inner">
<h2 class="b-title wow fadeInUp">{{ modules[3].form.title }}</h2>
<p class="intro wow fadeInUp" data-wow-delay="0.5s">{{ modules[3].form.des }}</p>
<ul class="list">
<template v-for="(item, i) in modules[4].list">
<li v-if="item.isEnable" :key="i" class="wow fadeInUp" data-wow-delay="0.5s">
<img class="pic" :src="item.pic" alt="" :class="{'cursor-pointer': isLink(item.link.linkName)}" @click="openLink(item)">
<div class="texts">
<h6>{{ item.title }}</h6>
<p class="sub">{{ item.subTitle }}</p>
<div class="des">{{ item.des }}</div>
</div>
</li>
</template>
</ul>
</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) {
// state1theEditedJson稿0jsonBeforeEditing
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";
.wrap{
/deep/ .el-carousel {
height: 21.6rem;
.el-carousel__container{
height: 21.6rem;
}
img{
height: 21.6rem;
}
}
}
.banner-item {
.banner-name {
font-size: 2.16rem;
}
}
.block {
padding: 3.15rem 0;
.inner {
.b-title {
font-size: 2.25rem;
margin-bottom: 2.25rem;
}
.intro {
margin-bottom: 2.25rem;
}
}
}
.block-pic {
transition: .3s;
height: auto;
&.br {
border-radius: 270px;
}
&:hover {
transform: scale(1.05);
}
}
.list {
li {
position: relative;
&:nth-child(even) {
text-align: right;
.texts {
left: 0;
text-align: left;
}
}
}
.pic {
width: 45%;
height: auto;
}
.texts {
position: absolute;
top: 7.59rem;
left: 40%;
width: 60%;
padding: 2.7rem 1.35rem ;
background-color: #fff;
overflow: hidden;
transition: .3s;
&:hover {
transform: scale(1.05);
}
}
h6 {
font-size: 1.8rem;
color: #3C3C3C;
}
.sub {
margin-top: 1.48rem;
font-size: 1.08rem;
color: #1C1C1C;
line-height: 33px;
}
.des {
margin-top: 1.2rem;
font-size: 1rem;
color: #3C3C3C;
line-height: 32px;
}
}
@media (max-width: 1520px) {
.list {
.pic {
width: 45%;
}
li:nth-child(odd) {
.texts {
width: 50%;
}
}
}
}
@media (min-width: 280px) and (max-width: 1200px) {
.wrap{
/deep/ .el-carousel {
height: 18rem;
.el-carousel__container{
height: 18rem;
}
img{
height: 18rem;
}
}
}
.banner-item .banner-name {
font-size: 1.5rem;
bottom: 5.25rem;
left: 14.125rem;
line-height: 2rem
}
.block{
padding: 50px 0;
.inner {
width: 95%;margin: 0 auto;
.b-title{
margin-bottom: 30px;
}
.intro {
margin-bottom: 30px;
}
.block-pic{
height: 15rem;
}
}
.list{
li {
margin-top: 20px;
.pic{
width: 100%;height: 25rem;
}
.texts{
padding: 10px;
width: 70%;
top: 2rem;
height: auto;
left: 24%;
}
}
}
}
}
@media (max-width: 320px) {
.wrap {
/deep/ .el-carousel{
height: 12rem !important;
}
/deep/ .el-carousel__container{
height: 12rem !important;
}
/deep/ .el-carousel__item {
height: 12rem !important;
}
}
.banner-item{
img {
height: 12rem !important;
}
.banner-name {
font-size: 1rem;
line-height: 1.5rem;
left: 2rem;
bottom: 2rem;
}
}
.block {
padding: 1.25rem 0;
.inner {
.intro {
margin-bottom: 1rem;
}
.b-title {
font-size: 1.5rem;
}
.block-pic {
height: auto;
}
.list {
.wow {
.pic {
height: auto;
}
.texts {
h6 {
font-size: 1rem;
}
.sub {
font-size: .85rem;
line-height: .85rem;
margin-top: .5rem;
}
.des {
font-size: .85rem;
line-height: .85rem;
margin-top: .5rem;
}
}
}
}
}
}
}
@media (min-width: 320px) and (max-width: 375px) {
.wrap {
/deep/ .el-carousel{
height: 12rem !important;
}
/deep/ .el-carousel__container{
height: 12rem !important;
}
/deep/ .el-carousel__item {
height: 12rem !important;
}
}
.banner-item{
img {
height: 12rem !important;
}
.banner-name {
font-size: 1rem;
line-height: 1.5rem;
left: 2rem;
bottom: 2rem;
}
}
.block {
padding: 1.25rem 0;
.inner {
.intro {
margin-bottom: 1rem;
}
.b-title {
font-size: 1.5rem;
}
.block-pic {
height: auto;
}
.list {
.wow {
.pic {
height: auto;
}
.texts {
top: 5rem;
h6 {
font-size: 1.5rem;
}
.sub {
font-size: 1.05rem;
line-height: 1.05rem;
margin-top: .5rem;
}
.des {
font-size: 1.05rem;
line-height: 1.05rem;
margin-top: .5rem;
}
}
}
}
}
}
}
@media (min-width: 375px) and (max-width: 480px) {
.wrap {
/deep/ .el-carousel{
height: 12rem !important;
}
/deep/ .el-carousel__container{
height: 12rem !important;
}
/deep/ .el-carousel__item {
height: 12rem !important;
}
}
.banner-item{
img {
height: 12rem !important;
}
.banner-name {
font-size: 1rem;
line-height: 1.5rem;
left: 2rem;
bottom: 2rem;
}
}
.block {
padding: 1.25rem 0;
.inner {
.intro {
margin-bottom: 1rem;
}
.b-title {
font-size: 1.5rem;
}
.block-pic {
height: auto;
}
.list {
.wow {
.pic {
height: auto;
}
.texts {
top: 5rem;
h6 {
font-size: 1.8rem;
}
.sub {
font-size: 1.25rem;
line-height: 1.25rem;
margin-top: .5rem;
}
.des {
font-size: 1.25rem;
line-height: 1.25rem;
margin-top: .5rem;
}
}
}
}
}
}
}
@media (min-width: 480px) and (max-width: 640px) {
.wrap {
/deep/ .el-carousel{
height: 12rem !important;
}
/deep/ .el-carousel__container{
height: 12rem !important;
}
/deep/ .el-carousel__item {
height: 12rem !important;
}
}
.banner-item{
img {
height: 12rem !important;
}
.banner-name {
font-size: 1rem;
line-height: 1.5rem;
left: 2rem;
bottom: 2rem;
}
}
.block {
padding: 1.25rem 0;
.inner {
.intro {
margin-bottom: 1rem;
}
.b-title {
font-size: 1.5rem;
}
.block-pic {
height: auto;
}
.list {
.wow {
.pic {
height: auto;
}
.texts {
top: 5rem;
padding: 2rem;
h6 {
font-size: 2rem;
}
.sub {
font-size: 1.55rem;
line-height: 1.55rem;
margin-top: .5rem;
}
.des {
font-size: 1.55rem;
line-height: 1.55rem;
margin-top: .5rem;
}
}
}
}
}
}
}
@media (min-width: 640px) and (max-width: 768px) {
.wrap {
/deep/ .el-carousel{
height: 12rem !important;
}
/deep/ .el-carousel__container{
height: 12rem !important;
}
/deep/ .el-carousel__item {
height: 12rem !important;
}
}
.banner-item{
img {
height: 12rem !important;
}
.banner-name {
font-size: 1rem;
line-height: 1.5rem;
left: 2rem;
bottom: 2rem;
}
}
.block {
padding: 1.25rem 0;
.inner {
.intro {
margin-bottom: 1rem;
}
.b-title {
font-size: 1.5rem;
}
.block-pic {
height: auto;
}
.list {
.wow {
.pic {
width: 50%;
height: auto;
}
.texts {
top: 2rem;
left: 30%;
padding: 1.5rem;
h6 {
font-size: 2rem;
}
.sub {
font-size: 1.55rem;
line-height: 1.55rem;
margin-top: .5rem;
}
.des {
font-size: 1.55rem;
line-height: 1.55rem;
margin-top: .5rem;
}
}
}
}
}
}
}
@media (min-width: 768px) and (max-width: 980px) {
.wrap {
/deep/ .el-carousel{
height: 12rem !important;
}
/deep/ .el-carousel__container{
height: 12rem !important;
}
/deep/ .el-carousel__item {
height: 12rem !important;
}
}
.banner-item{
img {
height: 12rem !important;
}
.banner-name {
font-size: 1rem;
line-height: 1.5rem;
left: 2rem;
bottom: 2rem;
}
}
.block {
padding: 1.25rem 0;
.inner {
.intro {
margin-bottom: 1rem;
}
.b-title {
font-size: 1.5rem;
}
.block-pic {
height: auto;
}
.list {
.wow {
.pic {
width: 50%;
height: auto;
}
.texts {
top: 5rem;
left: 30%;
padding: 1.5rem;
h6 {
font-size: 2rem;
}
.sub {
font-size: 1.55rem;
line-height: 1.55rem;
margin-top: .5rem;
}
.des {
font-size: 1.55rem;
line-height: 1.55rem;
margin-top: .5rem;
}
}
}
}
}
}
}
@media (min-width: 980px) and (max-width: 1200px) {
.wrap {
/deep/ .el-carousel{
height: 12rem !important;
}
/deep/ .el-carousel__container{
height: 12rem !important;
}
/deep/ .el-carousel__item {
height: 12rem !important;
}
}
.banner-item{
img {
height: 12rem !important;
}
.banner-name {
font-size: 1rem;
line-height: 1.5rem;
left: 2rem;
bottom: 2rem;
}
}
.block {
padding: 1.25rem 0;
.inner {
.intro {
margin-bottom: 1rem;
}
.b-title {
font-size: 1.5rem;
}
.block-pic {
height: auto;
}
.list {
.wow {
.pic {
width: 50%;
height: auto;
}
.texts {
top: 5rem;
left: 30%;
padding: 1.5rem;
h6 {
font-size: 2rem;
}
.sub {
font-size: 1.55rem;
line-height: 1.55rem;
margin-top: .5rem;
}
.des {
font-size: 1.55rem;
line-height: 1.55rem;
margin-top: .5rem;
}
}
}
}
}
}
}
</style>

@ -1,239 +0,0 @@
<template>
<!-- 产业光源-大事记 -->
<div class="wrap">
<div class="single-banner single-banner-overview">
<img class="banner-img"
:src="modules[0].form.pic"
alt="">
<div class="texts">
<h6 class="banner-title">{{ modules[0].form.title }}</h6>
</div>
</div>
<ul class="tabs wow fadeInLeft">
<template v-for="(item, i) in tabs">
<li :class="{active: item.id == active}"
:key="i"
@click="tabChange(item)">{{ item.columnName }}</li>
</template>
</ul>
<div class="block history">
<div class="inner">
<h2 class="wow fadeInLeft">大事记</h2>
<p class="en">DEVELOPMENT HISTORY</p>
<div v-if="modules[1].list.length"
class="event">
<ul class="time">
<template v-for="(item, i) in modules[1].list">
<li v-if="item.isEnable"
:key="i"
:class="{active: curYear == i}"
@click="yearClick(i)">{{ item.title }}</li>
</template>
</ul>
<div class="right">
<h6 class="year">{{ modules[1].list[curYear].title }}</h6>
<ul class="list">
<template v-for="(e, j) in modules[1].list[curYear].list">
<li v-if="e.isEnable"
:key="j"
:class="{'cursor-pointer': isLink(e.link.linkName)}"
@click="openLink(e)">
<div class="texts">
<p class="date">{{ e.title }}</p>
<p class="text">{{ e.des }}</p>
</div>
<img v-if="e.pic"
:src="e.pic"
alt=""
class="pic">
</li>
</template>
</ul>
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import mixins from '@/mixins/page'
import overview from '@/mixins/estate'
import WOW from 'wow.js'
export default {
mixins: [mixins, overview],
data () {
return {
curYear: 0
}
},
mounted () {
new WOW().init()
},
methods: {
//
yearClick (i) {
this.curYear = i
}
}
};
</script>
<style lang="scss" scoped>
@import url(../../../plugins/wow/animate.css);
@import '../../../styles/page/page.scss';
.wrap {
background: url(http://10.10.11.7/images/overviewDevHistory/1.png) (right 505px) / auto no-repeat,
url(http://10.10.11.7/images/overviewDevHistory/2.png) (left bottom) / auto no-repeat;
}
.history {
h2 {
position: relative;
font-size: 2rem;
font-family: PingFangSC-Semibold, PingFang SC;
font-weight: 600;
color: #1c1c1c;
}
.en {
margin: -15px 0 40px;
font-size: 2rem;
font-family: PingFangSC-Light, PingFang SC;
font-weight: 300;
color: #e3e3e3;
}
}
.event {
display: flex;
justify-content: center;
.time {
width: 200px;
padding-right: 10px;
margin-right: 20px;
border-right: 1px solid #ddd;
li {
display: flex;
justify-content: flex-end;
align-items: center;
width: 190px;
padding-right: 45px;
line-height: 60px;
font-size: 1.4rem;
font-weight: 600;
font-family: SFProDisplay-Semibold, SFProDisplay;
color: #666;
box-shadow: inset 0px -1px 0px 0px #dddddd;
cursor: pointer;
&.active {
font-weight: 800;
color: #1a81f4;
background: linear-gradient(90deg, #ffffff 0%, #f3f8ff 100%);
&:before {
content: '';
width: 18px;
height: 18px;
background: url(http://10.10.11.7/images/overviewDevHistory/3.png) no-repeat;
margin-right: 20px;
}
}
}
}
.right {
width: 1000px;
}
.year {
margin: 0 0 20px 20px;
font-size: 3.2rem;
font-family: ToppanBunkyuMidashiGothicStdN-ExtraBold, ToppanBunkyuMidashiGothicStdN;
font-weight: 800;
color: #1a81f4;
}
.list {
border-top: 1px solid #ddd;
li {
display: flex;
justify-content: space-between;
align-items: center;
padding: 30px;
border-bottom: 1px solid #ddd;
}
.texts {
width: 500px;
}
.date {
margin-bottom: 15px;
font-size: 1.2rem;
font-family: PingFangSC-Semibold, PingFang SC;
font-weight: 600;
color: #333;
}
.text {
font-size: 1.1rem;
color: #333;
@include mul-ellipsis(3);
&:before {
content: '';
display: inline-block;
width: 7px;
height: 7px;
margin: 0 10px;
background-color: #666;
transform: rotate(45deg);
}
}
.pic {
width: 300px;
height: 195px;
}
}
}
@media (max-width: 1200px) {
.tab-content {
padding: 20px 0;
.org {
width: 100%;
padding: 15px;
flex-direction: column;
.left {
width: 100%;
}
}
}
.block {
padding: 2rem 0;
.inner {
width: 90%;
.event {
flex-direction: column;
.time {
width: 100%;
li {
width: 100%;
justify-content: flex-start;
}
}
.right {
width: 100%;
.list {
li {
padding: 1.25rem;
flex-direction: column;
.texts {
width: 100%;
}
.pic {
width: 100%;
height: auto;
margin-top: 1rem;
}
}
}
}
}
}
}
}
</style>

@ -1,821 +0,0 @@
<template>
<div class="wrap">
<el-carousel :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">
<img :class="[{'cursor-pointer': isLink(item.link.linkName)}]"
width="100%"
:src="item.pic"
alt=""
@click="openLink(item)">
</el-carousel-item>
</template>
</el-carousel>
<div class="block banner-block"
id="part1">
<div class="inner">
<div class="title wow fadeInUp">
<h5>
{{ modules[1].form.title }}
<span class="sub">{{ modules[1].form.subTitle }}</span>
</h5>
<span class="more"
@click="toAll(modules[2].form)">MORE</span>
</div>
<template v-if="articles.length">
<div class="sfel-banner wow fadeInDown"
data-wow-delay="0.5s"
@click="toArtice(curArticle, modules[2].form)">
<div style="width: 50%;overflow: hidden;"
class="newBox">
<img class="pic"
width="100%"
height="100%"
:src="curArticle.titleImg"
alt="">
</div>
<div class="right">
<h6>{{ curArticle.title }}</h6>
<div class="des"
v-html="curArticle.mainBody"></div>
<p class="meta">{{ curArticle.releaseTime }} {{ curArticle.classificationName && ' | ' + curArticle.classificationName }}</p>
<ul class="inds">
<li v-for="i in articles.length > 3 ? 4 : articles.length"
:key="i"
:class="{active: curInd == i - 1}"
@click.stop="switchCarousel(i - 1)"></li>
</ul>
</div>
</div>
<ul class="card">
<template v-for="(item, i) in articles">
<li v-if="i > 3 && i < 7"
:key="i"
class="wow fadeInDown"
:data-wow-delay="(0.1 * i).toFixed(1) + 's'">
<img class="pic"
:src="item.titleImg"
alt="">
<div class="texts">
<p class="meta">{{ item.releaseTime }} {{ item.classificationName && ' | ' + item.classificationName }}</p>
<div class="des">{{ item.title }}</div>
<img class="arrow"
src="@/assets/images/arrow.png"
alt=""
@click="toArtice(item, modules[2].form)">
</div>
</li>
</template>
</ul>
</template>
</div>
</div>
<div class="block talent"
id="part2">
<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>
<div class="shows">
<div class="left wow fadeInLeft"
data-wow-delay="0.5s">
<h6>{{ modules[4].form.title }}</h6>
<div class="text"
v-html="modules[4].form.des"></div>
<el-button v-if="isLink(modules[4].form.link.linkName)"
type="primary"
round
@click="openLink(modules[4].form)">这里跳转</el-button>
</div>
<img :src="modules[4].form.pic"
alt=""
class="pic">
</div>
</div>
</div>
<div class="block conference"
id="part3">
<div class="inner">
<div class="title wow fadeInUp">
<h5>
{{ modules[5].form.title }}
<span class="sub">{{ modules[5].form.subTitle }}</span>
</h5>
<span class="more"
@click="toAll(modules[6].form)">MORE</span>
</div>
<div class="shows"
v-if="articles2.length">
<div class="left wow fadeInLeft"
data-wow-delay="0.5s"
@click="toArtice(articles2[0], modules[6].form)">
<img class="pic"
width="100%"
height="100%"
:src="articles2[0].titleImg"
alt="">
<div class="text">{{ articles2[0].title }}</div>
</div>
<ul class="card-list wow fadeInRight"
data-wow-delay="0.5s">
<template v-for="(item, i) in articles2">
<li v-if="i && i < 4"
:key="i"
@click="toArtice(item, modules[6].form)">
<img class="pic"
:src="item.titleImg"
alt="">
<div class="texts">
<h6>{{ item.title }}</h6>
<p class="sum">{{ item.mainBody }}</p>
<p v-if="item.keynoteSpeaker"
class="text">
<img class="icon"
src="@/assets/images/mine.png"
alt="">
{{ item.keynoteSpeaker }}
</p>
<p v-if="item.activityStartTime"
class="text">
<img class="icon"
src="@/assets/images/time.png"
alt="">
会议时间: {{ item.activityStartTime + ' ~ ' + item.activityEndTime }}
</p>
<p v-if="item.onlineLocation"
class="text">
<img class="icon"
src="@/assets/images/online.png"
alt="">
{{ item.onlineLocation }}
</p>
<p v-if="item.offlineLocation"
class="text">
<img class="icon"
src="@/assets/images/location.png"
alt="">
{{ item.offlineLocation }}
</p>
</div>
</li>
</template>
</ul>
</div>
</div>
</div>
<div class="block program"
id="part4">
<div class="inner">
<div class="title wow fadeInUp">
<h5>
{{ modules[7].form.title }}
<span class="sub">{{ modules[7].form.subTitle }}</span>
</h5>
<span class="more"
@click="toAll(modules[8].form)">MORE</span>
</div>
<template v-if="articles3.length">
<div class="slide"
@click="toArtice(articles3[0], modules[8].form)">
<div class="texts">
<h6>{{ articles3[0].title }}</h6>
<div class="des">{{ articles3[0].mainBody }}</div>
<div class="meta">发表日期{{ articles3[0].releaseTime }} &emsp;浏览量{{ articles3[0].totalBrowsing }}</div>
</div>
<div class="img-wrap">
<img class="pic"
:src="articles3[0].titleImg"
alt="">
</div>
</div>
<ul class="list">
<template v-for="(item, i) in articles3">
<li v-if="i && i < 4"
:key="i"
class="wow fadeInDown"
:data-wow-delay="(0.1 * i).toFixed(1) + 's'"
@click="toArtice(item, modules[8].form)">
<div class="des">{{ item.title }}</div>
<p class="date">{{ item.releaseTime }}</p>
</li>
</template>
</ul>
</template>
</div>
</div>
<div class="tools">
<div class="logo">
<img src="@/assets/images/logo.png"
alt="">
</div>
<ul class="nav">
<li v-for="(item, i) in navs"
:key="i"
class="column"
@click="toAnchor(item)">{{ item.name }}</li>
</ul>
</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 {
navs: [],
articles: [],
articles1: [],
articles2: [],
articles3: [],
curInd: 0,
curArticle: {},
}
},
mounted () {
new WOW().init()
},
methods: {
//
getInfo () {
// /
this.$post(`${this.api[this.preview ? 'getRedisCache' : 'findPage']}?columnId=${this.id}`).then(({ data }) => {
if (data.length) {
// state1theEditedJson稿0jsonBeforeEditing
const json = JSON.parse(this.preview ?
data :
data[data.length - 1][data[data.length - 1].state ? 'theEditedJson' : 'jsonBeforeEditing'])
console.log("🚀 ~ file: index.vue ~ line 138 ~ this.$post ~ this.modules", json)
//
if (json[2].form.column.length) {
const { column, articleNum } = json[2].form
this.$post(`${this.api.queryArticlesByColumnType}?columnId=${column[column.length - 1]}`).then(({ data }) => {
this.articles = Util.removeTag(data.slice(0, articleNum || 7))
this.curArticle = this.articles[0]
this.carouselInterval()
}).catch(err => { })
}
if (json[6].form.column.length) {
const { column, articleNum } = json[6].form
this.$post(`${this.api.queryArticlesByColumnType}?columnId=${column[column.length - 1]}`).then(({ data }) => {
this.articles2 = Util.removeTag(data.slice(0, articleNum || 4))
}).catch(err => { })
}
if (json[8].form.column.length) {
const { column, articleNum } = json[8].form
this.$post(`${this.api.queryArticlesByColumnType}?columnId=${column[column.length - 1]}`).then(({ data }) => {
this.articles3 = Util.removeTag(data.slice(0, articleNum || 4))
}).catch(err => { })
}
//
const navs = []
let id = 0
json.forEach((e, i) => {
if (i % 2 && e.form.title) navs.push({
id: ++id,
name: e.form.title
})
})
this.navs = navs
this.modules = json
}
}).catch(err => { })
},
//
carouselInterval () {
const len = this.articles.length > 3 ? 4 : this.articles.length
console.log("🚀 ~ file: index.vue:309 ~ carouselInterval ~ len:", len)
clearInterval(this.timer)
this.timer = setInterval(() => {
this.curInd++
if (this.curInd > len) this.curInd = 0
this.curArticle = this.articles[this.curInd] || {}
}, 5000)
},
//
switchCarousel (i) {
if (this.curInd !== i) {
this.curInd = i
this.curArticle = this.articles[this.curInd] || {}
}
},
//
toAnchor (e) {
const el = document.querySelector(`#part${e.id}`)
el && el.scrollIntoView()
}
}
};
</script>
<style lang="scss" scoped>
@import url(../../../plugins/wow/animate.css);
@import '../../../styles/page/page.scss';
/deep/ .el-carousel {
height: 991px;
.el-carousel__container,
.el-carousel__item,
img {
height: 100%;
}
}
.title {
display: flex;
justify-content: space-between;
align-items: flex-end;
padding-bottom: 25px;
margin-bottom: 30px;
border-bottom: 1px solid #ddd;
h5 {
padding-left: 16px;
font-size: 1.6rem;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #333333;
line-height: 1;
border-left: 6px solid #2b96ef;
}
.sub {
font-size: 1.1rem;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #afb7bf;
}
.more {
font-size: 0.8rem;
color: #666;
cursor: pointer;
}
}
/deep/.articles {
width: 50%;
.el-carousel__indicators--horizontal {
bottom: 20px;
left: 804px;
}
}
.banner-block {
background: url(../../../assets/images/sfel/2.png) 0 0 / cover no-repeat;
}
.sfel-banner {
display: flex;
cursor: pointer;
.pic {
transition: 0.5s;
&:hover {
transform: scale(1.3);
}
}
.right {
position: relative;
width: 50%;
padding: 50px 50px 30px;
background: #1583ff;
color: #fff;
&:hover {
background: #465f85;
h6,
.des,
.meta {
color: #fff;
transform: translateY(15px);
}
}
}
.inds {
position: absolute;
bottom: 40px;
left: 60px;
display: flex;
li {
width: 10px;
height: 10px;
margin-right: 12px;
background: #ffffff;
border-radius: 50%;
transition: 0.2s;
&.active {
width: 30px;
background: rgba(255, 255, 255, 0.3);
border-radius: 5px;
}
}
}
h6 {
font-size: 1.3rem;
transition: 0.3s;
}
.des {
margin: 30px 0;
font-size: 0.9rem;
line-height: 24px;
transition: 0.3s;
}
.meta {
font-size: 0.8rem;
transition: 0.3s;
}
}
.card {
display: flex;
flex-wrap: wrap;
margin-top: 40px;
li {
width: calc((100% - 56px) / 3);
margin-right: 28px;
box-shadow: 0px 0px 20px 0px rgba(176, 176, 176, 0.21);
border-radius: 6px;
transition: 0.3s;
background-color: #fff;
&:hover {
transform: scale(1.05);
}
&:last-child {
margin-right: 0;
}
}
.pic {
width: 100%;
// height: 259px;
}
.texts {
padding: 40px 30px;
}
.meta {
font-size: 0.9rem;
color: #666;
}
.des {
height: 60px;
margin: 10px 0;
font-size: 1rem;
font-family: SFProDisplay;
font-weight: 500;
color: #333;
line-height: 28px;
-webkit-line-clamp: 2;
}
.arrow {
width: 36px;
}
}
.talent {
.shows {
display: flex;
color: #fff;
background: #1a2844;
border-radius: 0px 100px 0px 100px;
.left {
width: 50%;
padding: 120px 0 0 5%;
}
h6 {
font-size: 1.6rem;
}
.text {
margin: 20px 0;
font-size: 1rem;
line-height: 2;
}
.pic {
width: 50%;
min-height: 465px;
}
}
}
.conference {
background: url(../../../assets/images/sfel/4.png) 0 0 / cover no-repeat;
.shows {
display: flex;
}
.left {
position: relative;
width: 550px;
// min-width: 550px;
height: 550px;
margin-right: 20px;
cursor: pointer;
overflow: hidden;
.text {
position: absolute;
bottom: 0;
left: 0;
width: 100%;
padding: 0 12px;
line-height: 3rem;
font-size: 1rem;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #ffffff;
background-color: rgba(0, 0, 0, 0.57);
}
.pic {
transition: 0.5s;
}
&:hover {
.pic {
transform: scale(1.3);
}
}
}
.card-list {
width: 600px;
li {
display: flex;
align-items: center;
padding: 6px;
margin-bottom: 7px;
background-color: #fff;
cursor: pointer;
transition: 0.3s;
&:last-child {
margin-bottom: 0;
}
&:hover {
transform: translateX(20px);
}
}
.pic {
width: 167px;
height: 167px;
margin-right: 36px;
}
.texts {
width: calc(100% - 210px);
}
h6 {
margin-bottom: 10px;
font-size: 1.2rem;
color: #333;
@include ellipsis;
}
.sum {
margin-bottom: 6px;
font-size: 1rem;
color: #666;
@include ellipsis;
}
.text {
display: flex;
align-items: center;
margin: 10px 0;
font-size: 0.9rem;
@include ellipsis;
}
.icon {
margin-right: 5px;
}
}
}
.program {
background: #fff;
.slide {
display: flex;
margin-bottom: 14px;
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 {
margin: 35px 0 25px;
font-size: 1rem;
color: #666;
line-height: 32px;
}
.meta {
font-size: 0.9rem;
color: #666;
}
}
.img-wrap {
width: 49%;
min-height: 334px;
overflow: hidden;
}
.pic {
width: 100%;
height: 100%;
transition: 0.5s;
}
&:hover {
.pic {
transform: scale(1.3);
}
}
.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;
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;
}
}
}
.tools {
z-index: 9;
position: fixed;
top: 200px;
left: 0;
width: 180px;
text-align: center;
.logo {
padding: 15px 0;
background: #0c60be;
box-shadow: 0px 0px 20px 0px rgba(184, 191, 200, 0.3);
}
.nav {
li {
padding: 0 10px;
font-size: 1.1rem;
line-height: 50px;
color: #fff;
background-color: #1d1d1d;
cursor: pointer;
@include ellipsis;
&.active {
background-color: #1583ff;
}
&:hover {
background-color: #1583ff;
}
}
}
}
@media (max-width: 1520px) {
}
@media (max-width: 1200px) {
.sfel-banner {
flex-direction: column;
.newBox {
width: 100% !important;
}
.right {
margin-top: 10px;
width: 100%;
height: 410px;
}
}
.card {
flex-direction: column;
li {
width: 100%;
margin-top: 20px;
}
}
.shop-shows {
flex-direction: column;
.left {
width: 100%;
}
.right {
width: 100%;
margin-top: 20px;
}
}
.shows {
flex-direction: column;
.left {
width: 100%;
}
.card-list {
width: 100%;
margin-top: 20px;
li {
flex-direction: column;
.pic {
width: 100% !important;
margin-right: 0;
}
.texts {
margin-top: 20px;
width: 100%;
}
}
}
}
.talent {
.shows {
.left {
width: 100%;
margin-bottom: 20px;
}
.pic {
width: 100%;
min-height: 0;
}
}
}
.media-wrap {
flex-direction: column;
.left {
width: 100%;
}
.right {
width: 100%;
margin-top: 20px;
}
}
.news {
flex-direction: column;
li {
margin-top: 30px;
width: 100%;
}
}
.slide,
.list {
flex-direction: column;
.texts,
.img-wrap {
width: 100%;
}
}
.list {
li {
width: 100% !important;
margin-top: 20px;
}
}
.slides {
div {
flex: 1;
}
}
.program {
.list {
li {
background-size: cover;
}
}
}
#part6 {
.slide {
.texts {
height: 430px;
}
}
}
}
@media (max-width: 980px) {
/deep/ .el-carousel {
height: 600px;
}
}
</style>

@ -1,160 +0,0 @@
<template>
<!-- 产业光源-地理位置 -->
<div class="wrap">
<div class="single-banner single-banner-overview">
<img class="banner-img"
:src="modules[0].form.pic"
alt="">
<div class="texts">
<h6 class="banner-title">{{ modules[0].form.title }}</h6>
</div>
</div>
<ul class="tabs wow fadeInLeft">
<template v-for="(item, i) in tabs">
<li :class="{active: item.id == active}"
:key="i"
@click="tabChange(item)">{{ item.columnName }}</li>
</template>
</ul>
<div class="tab-content">
<div class="item wow bounceInLeft"
data-wow-delay="0.5s"
:class="{'cursor-pointer': isLink(modules[1].form.link.linkName)}"
@click="openLink(modules[1].form)">
<div class="img-wrap">
<img class="pic"
:src="modules[1].form.pic"
alt="">
</div>
<div class="texts">
<h6>{{ modules[1].form.title }}</h6>
<div class="des">{{ modules[1].form.des }}</div>
</div>
</div>
<div class="item wow bounceInRight"
data-wow-delay="0.6s"
:class="{'cursor-pointer': isLink(modules[2].form.link.linkName)}"
@click="openLink(modules[2].form)">
<div class="img-wrap">
<img class="pic"
:src="modules[2].form.pic"
alt="">
</div>
<div class="texts">
<h6>{{ modules[2].form.title }}</h6>
<div class="des">{{ modules[2].form.des }}</div>
</div>
</div>
<div class="item wow bounceInLeft"
data-wow-delay="0.5s"
:class="{'cursor-pointer': isLink(modules[3].form.link.linkName)}"
@click="openLink(modules[3].form)">
<div class="img-wrap">
<img class="pic"
:src="modules[3].form.pic"
alt="">
</div>
<div class="texts">
<h6>{{ modules[3].form.title }}</h6>
<div class="des">{{ modules[3].form.des }}</div>
</div>
</div>
</div>
</div>
</template>
<script>
import mixins from '@/mixins/page'
import overview from '@/mixins/estate'
import WOW from 'wow.js'
export default {
mixins: [mixins, overview],
data () {
return {
}
},
mounted () {
new WOW().init()
},
methods: {
}
};
</script>
<style lang="scss" scoped>
@import url(../../../plugins/wow/animate.css);
@import '../../../styles/page/page.scss';
.tab-content {
width: 70%;
max-width: 1504px;
padding-bottom: 100px;
margin: 30px auto 0;
.item {
display: flex;
padding: 42px;
margin-bottom: 36px;
color: #333;
background: #f5f5f5 url(http://10.10.11.7/images/overviewSetup/1.png) right bottom/auto no-repeat;
transition: 0.5s;
&:nth-child(even) {
justify-content: space-between;
flex-direction: row-reverse;
background-position: 30% 100%;
.texts {
padding-left: 0;
}
}
&:hover {
.pic {
transform: scale(1.1);
}
}
}
.img-wrap {
height: 383px;
overflow: hidden;
}
.pic {
width: 100%;
height: 100%;
transition: 0.5s;
}
.texts {
width: 707px;
padding: 98px 72px 30px 80px;
}
h6 {
margin-bottom: 24px;
font-size: 2rem;
font-family: PingFangSC-Light, PingFang SC;
font-weight: 300;
}
.des {
font-size: 1rem;
line-height: 33px;
-webkit-line-clamp: 8;
}
}
@media (max-width: 1200px) {
.tab-content {
width: 80%;
padding: 1.25rem 0;
.item {
padding: 0.85rem;
flex-direction: column !important;
.texts {
margin-top: 0.5rem;
width: 100%;
padding: 0;
}
}
.img-wrap {
height: auto;
}
}
}
</style>

@ -1,117 +0,0 @@
<template>
<!-- 产业光源-机构设置 -->
<div class="wrap">
<div class="single-banner single-banner-overview">
<img class="banner-img"
:src="modules[0].form.pic"
alt="">
<div class="texts">
<h6 class="banner-title">{{ modules[0].form.title }}</h6>
</div>
</div>
<ul class="tabs wow fadeInLeft">
<template v-for="(item, i) in tabs">
<li :class="{active: item.id == active}"
:key="i"
@click="tabChange(item)">{{ item.columnName }}</li>
</template>
</ul>
<div class="tab-content">
<div class="org">
<div class="left">
<h6>{{ modules[1].form.title }}</h6>
<p class="text"
v-html="modules[1].form.des"></p>
</div>
<img class="pic"
src="http://10.10.11.7/images/overviewSetup/1.png"
alt="">
</div>
<div class="lg-bg">
<img :src="modules[2].form.pic"
alt="">
</div>
</div>
</div>
</template>
<script>
import mixins from '@/mixins/page'
import overview from '@/mixins/estate'
import WOW from 'wow.js'
export default {
mixins: [mixins, overview],
data () {
return {
}
},
mounted () {
new WOW().init()
},
methods: {
}
};
</script>
<style lang="scss" scoped>
@import url(../../../plugins/wow/animate.css);
@import '../../../styles/page/page.scss';
.tab-content {
padding: 77px 0;
}
.org {
display: flex;
justify-content: space-between;
align-items: center;
width: 1294px;
padding: 9px 86px 29px 116px;
margin: 0 auto 50px;
background: #fcfcfc;
border-radius: 160px;
.left {
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 {
max-width: 85%;
margin: 0 auto;
text-align: center;
}
@media (max-width: 1200px) {
.tab-content {
padding: 20px 0;
.org {
width: 100%;
padding: 15px;
flex-direction: column;
.left {
width: 100%;
}
img {
width: 100%;
height: auto;
}
}
}
}
</style>

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save