yujialong 1 year ago
parent d1c6ee4e4e
commit 9785648cd2
  1. 2
      src/components/breadcrumb/index.vue
  2. 6
      src/i18n/index.js
  3. 2
      src/layouts/footer/index.vue
  4. 4
      src/layouts/header/index.vue
  5. 16
      src/pages/column/index.vue
  6. 195
      src/pages/column/result.vue
  7. 5
      src/pages/deviceIntroBeam/index.vue
  8. 55
      src/pages/deviceIntroLayout/index.vue
  9. 10
      src/pages/deviceIntroLinear/index.vue
  10. 4
      src/pages/estate/orgSetup/index.vue
  11. 5
      src/pages/estate/survey/index.vue
  12. 3
      src/pages/iasf/index.vue
  13. 3
      src/pages/overviewIntro/index.vue
  14. 3394
      src/pages/sfel/index.vue
  15. 30
      src/pages/team/index.vue
  16. 4
      src/styles/common.scss

@ -2,7 +2,7 @@
<!-- 面包屑 --> <!-- 面包屑 -->
<div class="breadcrumb"> <div class="breadcrumb">
<span class="back" <span class="back"
@click="$router.back()">返回&emsp;></span> @click="$router.back()">{{ $t('column.back') }}&emsp;></span>
<span v-if="data[1]">{{ data[1].name }}</span> <span v-if="data[1]">{{ data[1].name }}</span>
</div> </div>
</template> </template>

@ -67,7 +67,8 @@ export const messages = {
geographicLocation: '地理位置', geographicLocation: '地理位置',
organization: '机构设置', organization: '机构设置',
introduce: '介绍', introduce: '介绍',
ActivityIntroduction: '活动简介' ActivityIntroduction: '活动简介',
back: '返回',
} }
}, },
'en': { 'en': {
@ -137,7 +138,8 @@ export const messages = {
geographicLocation: 'geographic location', geographicLocation: 'geographic location',
organization: 'Organization', organization: 'Organization',
introduce: 'Introduce', introduce: 'Introduce',
ActivityIntroduction: 'Activity Introduction' ActivityIntroduction: 'Activity Introduction',
back: 'Back',
} }
} }
}; };

@ -123,7 +123,7 @@ export default {
data () { data () {
return { return {
isIasf: false, isIasf: false,
showDefaultPath: ['/home', '/iasf'], // showDefaultPath: ['/home', '/iasf', '/estate/index'], //
showContactPath: ['/news', '/sfel', '/talent', '/about', '/careers', '/edu', '/news'], // showContactPath: ['/news', '/sfel', '/talent', '/about', '/careers', '/edu', '/news'], //
columns: [], columns: [],
modules: [] modules: []

@ -35,7 +35,7 @@
<img class="search" <img class="search"
:src="require('@/assets/images/oa' + (isHome ? '-white' : '') + '.png')" :src="require('@/assets/images/oa' + (isHome ? '-white' : '') + '.png')"
alt="" alt=""
@click.stop="toMail"> @click.stop="toOa">
</template> </template>
<template v-if="Util.isEn(site)"> <template v-if="Util.isEn(site)">
<img :src="require('@/assets/images/cn' + (isHome ? '-white' : '') + '.png')" <img :src="require('@/assets/images/cn' + (isHome ? '-white' : '') + '.png')"
@ -205,7 +205,7 @@ export default {
}, },
// oa // oa
toOa () { toOa () {
window.open('http://oa.iasf.ac.cn/sys/portal/page.jsp') window.open('http://oa.iasf.ac.cn/login.jsp')
}, },
// //
toggleLang () { toggleLang () {

@ -208,6 +208,7 @@
<el-pagination background <el-pagination background
@current-change="currentChange" @current-change="currentChange"
:current-page="page" :current-page="page"
:page-size="pageSize"
layout="total, prev, pager, next" layout="total, prev, pager, next"
:total="total"></el-pagination> :total="total"></el-pagination>
</div> </div>
@ -284,6 +285,7 @@
<el-pagination background <el-pagination background
@current-change="currentChange" @current-change="currentChange"
:current-page="page" :current-page="page"
:page-size="pageSize"
layout="total, prev, pager, next" layout="total, prev, pager, next"
:total="total"></el-pagination> :total="total"></el-pagination>
</div> </div>
@ -364,6 +366,7 @@
<el-pagination background <el-pagination background
@current-change="currentChange" @current-change="currentChange"
:current-page="page" :current-page="page"
:page-size="pageSize"
layout="total, prev, pager, next" layout="total, prev, pager, next"
:total="total"></el-pagination> :total="total"></el-pagination>
</div> </div>
@ -498,11 +501,12 @@ export default {
.then(({ data }) => { .then(({ data }) => {
this.columnClick(data); this.columnClick(data);
if (data.typeId !== 3) this.loaded = true; // if (data.typeId !== 3) this.loaded = true; //
this.info = data; this.info = data
this.showNav = this.showNavIds.includes(data.listStyleId); this.pageSize = data.pageSize || 10
this.handlePublication(); this.showNav = this.showNavIds.includes(data.listStyleId)
this.getLeftColumn(); this.handlePublication()
this.getClassification(); this.getLeftColumn()
this.getClassification()
}) })
.catch((res) => { }); .catch((res) => { });
}, },
@ -724,7 +728,7 @@ export default {
siteId: this.site, siteId: this.site,
columnIds, columnIds,
pageNum: this.page, pageNum: this.page,
pageSize: this.info.pageSize || 10, pageSize: this.pageSize,
labelName, labelName,
...this.form ...this.form
}) })

@ -3,21 +3,29 @@
<div class="articles"> <div class="articles">
<div class="top"> <div class="top">
<div class="search"> <div class="search">
<input ref="search" type="text" :placeholder="$t('column.titlePlaceholder')" v-model="title"> <input ref="search"
type="text"
:placeholder="$t('column.titlePlaceholder')"
v-model="title">
<i class="el-icon-search icon"></i> <i class="el-icon-search icon"></i>
</div> </div>
<p class="result">包含 {{ title }} 的搜索结果</p> <p class="result">包含 {{ title }} 的搜索结果</p>
</div> </div>
<ul v-if="articles.length" class="list"> <ul v-if="articles.length"
<li v-for="(item, i) in articles" :key="i"> class="list">
<li v-for="(item, i) in articles"
:key="i">
<h6 @click="toArtice(item)">{{ item.title }}</h6> <h6 @click="toArtice(item)">{{ item.title }}</h6>
<div class="des" v-html="item.mainBody"></div> <div class="des"
<Breadcrumb :data.sync="item.routes"/> v-html="item.mainBody"></div>
<Breadcrumb :data.sync="item.routes" />
</li> </li>
</ul> </ul>
<div v-else class="none"> <div v-else
<img src="@/assets/images/none.png" alt=""> class="none">
<img src="@/assets/images/none.png"
alt="">
<p class="text">没有找到您搜索的内容您可尝试搜索其他关键词</p> <p class="text">没有找到您搜索的内容您可尝试搜索其他关键词</p>
</div> </div>
</div> </div>
@ -32,7 +40,7 @@ import mixins from '@/mixins/article'
import Breadcrumb from '@/components/breadcrumb' import Breadcrumb from '@/components/breadcrumb'
export default { export default {
mixins: [mixins], mixins: [mixins],
data() { data () {
return { return {
title: this.$store.state.content.keyword, title: this.$store.state.content.keyword,
searchTimer: null, searchTimer: null,
@ -43,14 +51,14 @@ export default {
Breadcrumb Breadcrumb
}, },
watch: { watch: {
title() { title () {
clearTimeout(this.searchTimer) clearTimeout(this.searchTimer)
this.searchTimer = setTimeout(() => { this.searchTimer = setTimeout(() => {
this.getArticle() this.getArticle()
}, 500) }, 500)
} }
}, },
mounted() { mounted () {
this.getArticle() this.getArticle()
}, },
methods: { methods: {
@ -58,7 +66,7 @@ export default {
'setKeyword' 'setKeyword'
]), ]),
// //
getArticle() { getArticle () {
this.setKeyword('') this.setKeyword('')
this.$post(this.api.newlyPublishedArticles, { this.$post(this.api.newlyPublishedArticles, {
siteId: this.site, siteId: this.site,
@ -82,7 +90,7 @@ export default {
] ]
}) })
this.articles = list this.articles = list
}).catch(res => {}) }).catch(res => { })
}, },
} }
}; };
@ -90,95 +98,104 @@ export default {
<style lang="scss" scoped> <style lang="scss" scoped>
.wrap { .wrap {
background: url(../../assets/images/result-bg1.png) no-repeat, background: url(../../assets/images/result-bg1.png) no-repeat, url(../../assets/images/result-bg2.png) bottom right/auto no-repeat;
url(../../assets/images/result-bg2.png) bottom right/auto no-repeat; background-color: #fff;
background-color: #fff;
} }
.articles { .articles {
width: 100%; width: 70%;
padding-top: 47px; padding-top: 47px;
margin: 0 auto; margin: 0 auto;
} }
.top { .top {
display: flex; display: flex;
align-items: center; align-items: center;
.result { .result {
font-size: 18px; font-size: 18px;
color: #969696; color: #969696;
} }
} }
.search { .search {
position: relative; position: relative;
display: inline-flex; display: inline-flex;
height: 62px; height: 62px;
margin-right: 30px; margin-right: 30px;
border-radius: 6px; border-radius: 6px;
overflow: hidden; overflow: hidden;
input { input {
width: 510px; width: 510px;
padding: 0 20px; padding: 0 20px;
font-size: 18px; font-size: 18px;
color: #333; color: #333;
border: 0; border: 0;
outline: none; outline: none;
background: #F7F7F7; background: #f7f7f7;
} }
.icon { .icon {
position: absolute; position: absolute;
top: 17px; top: 17px;
right: 15px; right: 15px;
font-size: 26px; font-size: 26px;
color: #ccc; color: #ccc;
border-radius: 0px 6px 6px 0px; border-radius: 0px 6px 6px 0px;
} }
} }
.list { .list {
li { li {
margin-top: 30px; margin-top: 30px;
border-bottom: 1px dashed #e3e3e3; border-bottom: 1px dashed #e3e3e3;
} }
h6 { h6 {
margin-bottom: 10px; margin-bottom: 10px;
font-size: 22px; font-size: 22px;
color: #1583FF; color: #1583ff;
line-height: 30px; line-height: 30px;
cursor: pointer; cursor: pointer;
} }
.des { .des {
font-size: 18px; font-size: 18px;
line-height: 36px; line-height: 36px;
color: #333; color: #333;
@include mul-ellipsis(2); @include mul-ellipsis(2);
} }
.breadcrumb { .breadcrumb {
margin: 15px 0 30px; margin: 15px 0 30px;
} }
} }
.none { .none {
margin-top: 118px; margin-top: 118px;
text-align: center; text-align: center;
.text { .text {
margin-top: 59px; margin-top: 59px;
font-size: 18px; font-size: 18px;
color: #333; color: #333;
} }
} }
@media (min-width: 280px) and (max-width: 750px) { @media (max-width: 1100px) {
.articles{ .top {
width: 100%; flex-direction: column;
.top{ align-items: flex-start;
flex-direction: column;
.search{
width: 95%;
margin: 0 auto;
}
} }
.none{ .search {
margin-top: 50px; margin-bottom: 10px;
.text{ }
font-size: .5rem; }
}
@media (max-width: 750px) {
.articles {
width: 90%;
.top {
flex-direction: column;
.search {
width: 95%;
margin: 0 auto;
}
}
.none {
margin-top: 50px;
.text {
font-size: 0.5rem;
}
}
} }
}
} }
</style> </style>

@ -43,7 +43,8 @@
</div> </div>
<div class="unit"> <div class="unit">
<h6>{{ modules[4].form.title }}</h6> <div class="title"
v-html="modules[4].form.title"></div>
<img class="pic" <img class="pic"
:src="modules[4].form.pic" :src="modules[4].form.pic"
alt=""> alt="">
@ -218,7 +219,7 @@ export default {
width: 986px; width: 986px;
padding-bottom: 60px; padding-bottom: 60px;
margin: 0 auto; margin: 0 auto;
h6 { .title {
padding-left: 0.93rem; padding-left: 0.93rem;
margin-bottom: 0.93rem; margin-bottom: 0.93rem;
font-size: 0.88rem; font-size: 0.88rem;

@ -22,11 +22,9 @@
<p class="en">{{ modules[1].form.subTitle }}</p> <p class="en">{{ modules[1].form.subTitle }}</p>
<div class="card" <div class="card"
v-html="modules[1].form.des"></div> v-html="modules[1].form.des"></div>
<div class="flex textBox"> <div class="texts">
<div class="left"> <div class="des"
<div class="des" v-html="modules[2].form.des"></div>
v-html="modules[2].form.des"></div>
</div>
<img class="pic" <img class="pic"
:src="modules[2].form.pic" :src="modules[2].form.pic"
alt=""> alt="">
@ -44,7 +42,8 @@
</div> </div>
<div class="unit"> <div class="unit">
<h6>{{ modules[4].form.title }}</h6> <div class="title"
v-html="modules[4].form.title"></div>
<img class="pic" <img class="pic"
:src="modules[4].form.pic" :src="modules[4].form.pic"
alt=""> alt="">
@ -125,28 +124,19 @@ export default {
.inner { .inner {
width: 100%; width: 100%;
max-width: 1323px; max-width: 1323px;
.textBox {
position: absolute;
width: 85%;
right: 0;
top: 26rem;
.left {
flex-grow: 1;
}
}
h6 {
font-weight: bold;
}
} }
.left { .texts {
width: 34.187rem; position: absolute;
margin-right: 4.125rem; width: 85%;
right: 0;
top: 26rem;
display: flex;
} }
h6 { h6 {
position: relative; position: relative;
font-size: 1.76rem; font-size: 1.76rem;
font-family: PingFangSC-Medium, PingFang SC; font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500; font-weight: bold;
color: #333333; color: #333333;
} }
.en { .en {
@ -171,11 +161,12 @@ export default {
background: url(http://10.10.11.7/images/device/5.png) 0 0 /100% 100% no-repeat; background: url(http://10.10.11.7/images/device/5.png) 0 0 /100% 100% no-repeat;
} }
.des { .des {
margin-top: 25px; flex-grow: 1;
font-size: 0.98rem; margin: 25px 4rem 0 0;
font-size: 1rem;
-webkit-line-clamp: inherit; -webkit-line-clamp: inherit;
color: #333; color: #333;
line-height: 37px; line-height: 2;
overflow: visible; overflow: visible;
} }
.pic { .pic {
@ -209,7 +200,7 @@ export default {
width: 986px; width: 986px;
padding-bottom: 60px; padding-bottom: 60px;
margin: 0 auto; margin: 0 auto;
h6 { .title {
padding-left: 0.93rem; padding-left: 0.93rem;
margin-bottom: 0.93rem; margin-bottom: 0.93rem;
font-size: 0.88rem; font-size: 0.88rem;
@ -228,17 +219,15 @@ export default {
.inner { .inner {
max-width: none; max-width: none;
width: 95%; width: 95%;
.textBox { .texts {
position: static; position: static;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
align-items: flex-end; align-items: flex-end;
margin-left: 15%; margin-left: 15%;
.left { .des {
width: 100%; width: 100%;
.des { -webkit-line-clamp: 100;
-webkit-line-clamp: 100;
}
} }
} }
} }
@ -277,11 +266,11 @@ export default {
@media (max-width: 640px) { @media (max-width: 640px) {
.share { .share {
.inner { .inner {
.textBox { .texts {
margin: 0 auto; margin: 0 auto;
} }
} }
.left { .des {
margin-right: 0; margin-right: 0;
} }
} }

@ -40,12 +40,14 @@
<div class="block intro"> <div class="block intro">
<div class="inner"> <div class="inner">
<div class="left"> <div class="left">
<h5>{{ modules[3].form.title }}</h5> <div class="title1"
v-html="modules[3].form.title"></div>
<img :src="modules[3].form.pic" <img :src="modules[3].form.pic"
alt="" /> alt="" />
</div> </div>
<div class="right"> <div class="right">
<h6>{{ modules[4].form.title }}</h6> <div class="title2"
v-html="modules[4].form.title"></div>
<img :src="modules[4].form.pic" <img :src="modules[4].form.pic"
alt="" /> alt="" />
</div> </div>
@ -218,7 +220,7 @@ export default {
width: 68%; width: 68%;
margin-left: 2%; margin-left: 2%;
} }
h5 { .title1 {
margin-bottom: 0.93rem; margin-bottom: 0.93rem;
font-size: 0.88rem; font-size: 0.88rem;
font-family: PingFangSC-Medium, PingFang SC; font-family: PingFangSC-Medium, PingFang SC;
@ -226,7 +228,7 @@ export default {
color: #2a2a2a; color: #2a2a2a;
} }
h6 { .title2 {
padding-left: 0.93rem; padding-left: 0.93rem;
margin-bottom: 0.93rem; margin-bottom: 0.93rem;
font-size: 0.88rem; font-size: 0.88rem;

@ -22,8 +22,8 @@
<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" <div class="text"
v-html="modules[1].form.des"></p> v-html="modules[1].form.des"></div>
</div> </div>
<img class="pic" <img class="pic"
src="http://10.10.11.7/images/overviewSetup/1.png" src="http://10.10.11.7/images/overviewSetup/1.png"

@ -26,8 +26,8 @@
src="http://10.10.11.7/images/overviewIntro/2.png" src="http://10.10.11.7/images/overviewIntro/2.png"
alt=""> alt="">
</h6> </h6>
<p class="text" <div class="text"
v-html="modules[1].form.des"></p> v-html="modules[1].form.des"></div>
</div> </div>
<div class="lg-bg"> <div class="lg-bg">
<img width="100%" <img width="100%"
@ -89,6 +89,7 @@ export default {
font-size: 1rem; font-size: 1rem;
color: #020202; color: #020202;
line-height: 2rem; line-height: 2rem;
// @include mul-ellipsis(10);
} }
} }
.lg-bg { .lg-bg {

@ -430,6 +430,9 @@ export default {
position: absolute; position: absolute;
bottom: 20%; bottom: 20%;
left: 120px; left: 120px;
display: flex;
flex-direction: column;
align-items: flex-start;
h6, h6,
.text { .text {
padding: 20px 15px; padding: 20px 15px;

@ -92,6 +92,7 @@ export default {
padding-top: 3.85rem; padding-top: 3.85rem;
.intro { .intro {
display: flex; display: flex;
align-items: center;
margin-bottom: 5.5rem; margin-bottom: 5.5rem;
.pic { .pic {
width: 40%; width: 40%;
@ -112,7 +113,7 @@ export default {
} }
.text { .text {
margin-top: 2rem; margin-top: 2rem;
font-size: 0.99rem; font-size: 1rem;
color: #020202; color: #020202;
line-height: 2; line-height: 2;
} }

File diff suppressed because it is too large Load Diff

@ -12,20 +12,22 @@
<div class="content"> <div class="content">
<div class="left"> <div class="left">
<ul class="list"> <ul class="list">
<li v-for="(item, i) in modules[1].list" <template v-for="(item, i) in modules[1].list">
:key="i" <li v-if="item.isEnable"
:class="{'cursor-pointer': isLink(item.link.linkName)}" :key="i"
@click="openLink(item)"> :class="{'cursor-pointer': isLink(item.link.linkName)}"
<img :src="item.pic" @click="openLink(item)">
alt="" <img :src="item.pic"
class="pic"> alt=""
<div class="texts"> class="pic">
<h6>{{ item.title }}</h6> <div class="texts">
<p class="job">{{ item.subTitle }}</p> <h6>{{ item.title }}</h6>
<div class="text" <p class="job">{{ item.subTitle }}</p>
v-html="item.des"></div> <div class="text"
</div> v-html="item.des"></div>
</li> </div>
</li>
</template>
</ul> </ul>
</div> </div>

@ -5,6 +5,10 @@
font-family: PingFang; font-family: PingFang;
src: url('font/PingFang-Regular.otf'); src: url('font/PingFang-Regular.otf');
} }
@font-face {
font-family: PingFang SC;
src: url('font/PingFang-Regular.otf');
}
@font-face { @font-face {
font-family: PingFangSC-Medium; font-family: PingFangSC-Medium;
src: url('font/PingFangSC-Medium.otf'); src: url('font/PingFangSC-Medium.otf');

Loading…
Cancel
Save