parent
515dfc6d86
commit
e67e96bb63
11 changed files with 683 additions and 14 deletions
@ -0,0 +1,95 @@ |
||||
<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: i == active}" :key="i" @click="tabChange(i)">{{ item }}</li> |
||||
</template> |
||||
</ul> |
||||
|
||||
<div class="tab-content"> |
||||
<Thesis v-if="!active" /> |
||||
<Patent v-if="active === 1" /> |
||||
</div> |
||||
</div> |
||||
</template> |
||||
|
||||
<script> |
||||
import mixins from '@/mixins/page' |
||||
import WOW from 'wow.js' |
||||
import Thesis from './thesis' |
||||
import Patent from './patent' |
||||
export default { |
||||
mixins: [mixins], |
||||
data() { |
||||
return { |
||||
active: 0, |
||||
tabs: ['论文', '专利', '专著'] |
||||
} |
||||
}, |
||||
components: { |
||||
Thesis, |
||||
Patent |
||||
}, |
||||
mounted() { |
||||
new WOW().init() |
||||
}, |
||||
methods: { |
||||
// 获取文章详情 |
||||
getInfo() { |
||||
// 预览/详情 |
||||
this.$post(`${this.api[this.preview ? 'getRedisCache' : 'findPage']}?columnId=${this.id}`).then(({ data }) => { |
||||
if (data.length) { |
||||
// state:已发布(1)则取theEditedJson,草稿(0)则取jsonBeforeEditing |
||||
const json = JSON.parse(this.preview ? |
||||
data : |
||||
data[data.length - 1][data[data.length - 1].state ? 'theEditedJson' : 'jsonBeforeEditing']) |
||||
this.modules = json |
||||
console.log("🚀 ~ file: index.vue ~ line 180 ~ this.$post ~ json", json) |
||||
} |
||||
}).catch(err => {}) |
||||
}, |
||||
// tab回调 |
||||
tabChange(i) { |
||||
this.active = i |
||||
}, |
||||
} |
||||
}; |
||||
</script> |
||||
|
||||
<style lang="scss" scoped> |
||||
@import url(../../plugins/wow/animate.css); |
||||
@import "../../styles/page/page.scss"; |
||||
.wrap { |
||||
background-color: #f9f9f9; |
||||
} |
||||
.tabs { |
||||
display: flex; |
||||
justify-content: center; |
||||
box-shadow: 0px 2px 10px 0px rgba(223,223,223,0.28); |
||||
li { |
||||
padding: 25px 19px; |
||||
margin: 0 70px; |
||||
font-size: 1.1rem; |
||||
color: #333; |
||||
border-bottom: 4px solid transparent; |
||||
text-shadow: 0px 2px 14px rgba(167,167,167,0.26); |
||||
cursor: pointer; |
||||
&.active { |
||||
color: #1583FF; |
||||
border-bottom-color: #1583FF; |
||||
} |
||||
} |
||||
} |
||||
.tab-content { |
||||
width: 1000px; |
||||
padding: 20px 0; |
||||
margin: 0 auto; |
||||
} |
||||
</style> |
@ -0,0 +1,140 @@ |
||||
<template> |
||||
<div class="wrap"> |
||||
<div class="forms"> |
||||
<div class="item"> |
||||
<span class="label">专利类别:</span> |
||||
<el-select v-model="form.classificationId"> |
||||
<el-option |
||||
v-for="item in classifications" |
||||
:key="item.id" |
||||
:label="item.classificationName" |
||||
:value="item.id"> |
||||
</el-option> |
||||
</el-select> |
||||
</div> |
||||
<div class="item"> |
||||
<span class="label">申请日期:</span> |
||||
<el-select v-model="form.classificationId"> |
||||
<el-option |
||||
v-for="item in classifications" |
||||
:key="item.id" |
||||
:label="item.classificationName" |
||||
:value="item.id"> |
||||
</el-option> |
||||
</el-select> |
||||
</div> |
||||
<div class="search"> |
||||
<input type="text" placeholder="请输入专利名称/发明人姓名/申请号员" v-model="form.title"> |
||||
<i class="icon"> |
||||
<img src="@/assets/images/search-white.png" alt=""> |
||||
</i> |
||||
</div> |
||||
</div> |
||||
|
||||
<el-table :data="list" class="patent-table" ref="table" stripe header-align="center"> |
||||
<el-table-column prop="name" label="专利名称" align="center" min-width="150"></el-table-column> |
||||
<el-table-column prop="name" label="专利类别" align="center" min-width="150"></el-table-column> |
||||
<el-table-column prop="name" label="申请号" align="center" min-width="150"></el-table-column> |
||||
<el-table-column prop="name" label="申请日期" align="center" min-width="150"></el-table-column> |
||||
<el-table-column prop="name" label="授权日期" align="center" min-width="150"></el-table-column> |
||||
<el-table-column prop="name" label="发明人" align="center" min-width="150"></el-table-column> |
||||
</el-table> |
||||
<div class="pagination"> |
||||
<el-pagination background @current-change="currentChange" :current-page="page" layout="total, prev, pager, next" :total="total"></el-pagination> |
||||
</div> |
||||
</div> |
||||
</template> |
||||
|
||||
<script> |
||||
export default { |
||||
data() { |
||||
return { |
||||
form: { |
||||
|
||||
}, |
||||
classifications: [], |
||||
list: [ |
||||
{ |
||||
name: '副驾驶的路径' |
||||
}, |
||||
{ |
||||
name: '副驾驶的路径' |
||||
} |
||||
], |
||||
page: 1, |
||||
pageSize: 10, |
||||
total: 0, |
||||
} |
||||
}, |
||||
mounted() { |
||||
|
||||
}, |
||||
methods: { |
||||
currentChange(val) { |
||||
this.page = val |
||||
this.getData() |
||||
}, |
||||
} |
||||
}; |
||||
</script> |
||||
|
||||
<style lang="scss" scoped> |
||||
.forms { |
||||
display: flex; |
||||
align-items: center; |
||||
padding: 30px; |
||||
margin-bottom: 20px; |
||||
background-color: #fff; |
||||
.item { |
||||
display: inline-flex; |
||||
align-items: center; |
||||
margin-right: 30px; |
||||
} |
||||
.label { |
||||
font-size: 16px; |
||||
color: #333; |
||||
white-space: nowrap; |
||||
} |
||||
/deep/.el-input__inner { |
||||
width: 100%; |
||||
height: 48px; |
||||
line-height: 48px; |
||||
border: 0; |
||||
background: #F7F7F7; |
||||
} |
||||
.search { |
||||
display: inline-flex; |
||||
width: 34%; |
||||
input { |
||||
width: 100%; |
||||
height: 48px; |
||||
padding: 0 15px; |
||||
font-size: 14px; |
||||
color: #333; |
||||
background: #F7F7F7; |
||||
border: 0; |
||||
border-top-left-radius: 6px; |
||||
border-bottom-left-radius: 6px; |
||||
&:focus { |
||||
outline: none; |
||||
} |
||||
} |
||||
} |
||||
.icon { |
||||
display: inline-flex; |
||||
justify-content: center; |
||||
align-items: center; |
||||
width: 62px; |
||||
height: 48px; |
||||
background: #1583FF; |
||||
border-radius: 0px 6px 6px 0px; |
||||
cursor: pointer; |
||||
} |
||||
} |
||||
/deep/.patent-table { |
||||
thead tr, thead th { |
||||
color: #fff; |
||||
background-color: #1583FF; |
||||
} |
||||
} |
||||
</style> |
@ -0,0 +1,128 @@ |
||||
<template> |
||||
<div class="wrap"> |
||||
<div class="forms"> |
||||
<div class="item"> |
||||
<span class="label">发表年度:</span> |
||||
<el-select v-model="form.classificationId"> |
||||
<el-option |
||||
v-for="item in classifications" |
||||
:key="item.id" |
||||
:label="item.classificationName" |
||||
:value="item.id"> |
||||
</el-option> |
||||
</el-select> |
||||
</div> |
||||
<div class="search"> |
||||
<input type="text" placeholder="请输入论文题目/期刊名称/作者名称" v-model="form.title"> |
||||
<i class="icon"> |
||||
<img src="@/assets/images/search-white.png" alt=""> |
||||
</i> |
||||
</div> |
||||
</div> |
||||
|
||||
<ul class="list"> |
||||
<li> |
||||
<h6>新型靶向药物开发与重大疾病诊疗一代高性能、绿色、安全新能源汽车</h6> |
||||
<p class="meta">作者: Xia, Ming; Huang, Zunkai; Tian, Li; Wang, Hui; Chang, Victor; Zhu, Yongxin; Feng, Songlin</p> |
||||
<p class="meta">期刊名称: J. Syst. Architect.</p> |
||||
<p class="meta">出版年: 2021 卷: 115 文献号: 101991</p> |
||||
</li> |
||||
<li> |
||||
<h6>新型靶向药物开发与重大疾病诊疗一代高性能、绿色、安全新能源汽车</h6> |
||||
<p class="meta">作者: Xia, Ming; Huang, Zunkai; Tian, Li; Wang, Hui; Chang, Victor; Zhu, Yongxin; Feng, Songlin</p> |
||||
<p class="meta">期刊名称: J. Syst. Architect.</p> |
||||
<p class="meta">出版年: 2021 卷: 115 文献号: 101991</p> |
||||
</li> |
||||
</ul> |
||||
</div> |
||||
</template> |
||||
|
||||
<script> |
||||
export default { |
||||
data() { |
||||
return { |
||||
form: { |
||||
|
||||
}, |
||||
classifications: [] |
||||
} |
||||
}, |
||||
mounted() { |
||||
|
||||
}, |
||||
methods: { |
||||
|
||||
} |
||||
}; |
||||
</script> |
||||
|
||||
<style lang="scss" scoped> |
||||
.forms { |
||||
display: flex; |
||||
align-items: center; |
||||
padding: 30px; |
||||
margin-bottom: 20px; |
||||
background-color: #fff; |
||||
.item { |
||||
display: inline-flex; |
||||
align-items: center; |
||||
margin-right: 30px; |
||||
} |
||||
.label { |
||||
font-size: 16px; |
||||
color: #333; |
||||
white-space: nowrap; |
||||
} |
||||
/deep/.el-input__inner { |
||||
width: 100%; |
||||
height: 48px; |
||||
line-height: 48px; |
||||
border: 0; |
||||
background: #F7F7F7; |
||||
} |
||||
.search { |
||||
display: inline-flex; |
||||
width: 34%; |
||||
input { |
||||
width: 100%; |
||||
height: 48px; |
||||
padding: 0 15px; |
||||
font-size: 14px; |
||||
color: #333; |
||||
background: #F7F7F7; |
||||
border: 0; |
||||
border-top-left-radius: 6px; |
||||
border-bottom-left-radius: 6px; |
||||
&:focus { |
||||
outline: none; |
||||
} |
||||
} |
||||
} |
||||
.icon { |
||||
display: inline-flex; |
||||
justify-content: center; |
||||
align-items: center; |
||||
width: 62px; |
||||
height: 48px; |
||||
background: #1583FF; |
||||
border-radius: 0px 6px 6px 0px; |
||||
cursor: pointer; |
||||
} |
||||
} |
||||
.list { |
||||
li { |
||||
padding: 30px; |
||||
margin-bottom: 15px; |
||||
background-color: #fff; |
||||
} |
||||
h6 { |
||||
margin-bottom: 10px; |
||||
font-size: 1.2rem; |
||||
} |
||||
.meta { |
||||
font-size: 1rem; |
||||
color: #666; |
||||
line-height: 30px; |
||||
} |
||||
} |
||||
</style> |
@ -0,0 +1,286 @@ |
||||
<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> --> |
||||
<div class="content"> |
||||
<div class="article"> |
||||
<div class="left"> |
||||
<h6 class="title">有兴趣将科学转化为创新吗?在IASF建立你的职业生涯。</h6> |
||||
<div class="text"> |
||||
<p>在IASF,我们从不同的角度看待世界。我们的科学家和工程师在清洁能源、环境、技术、国家安全等方面进行世界一流的研究。我们正在寻找创造性的方法来让世界为更美好的未来做好准备。</p> |
||||
<p>通过选择您感兴趣的机会类型开始。</p> |
||||
</div> |
||||
<ul class="recruit"> |
||||
<li> |
||||
<img class="pic" src="http://10.10.11.7/images/talentCenter/1.png" alt=""> |
||||
<div class="texts"> |
||||
<div class="flex j-between a-center"> |
||||
<h6 class="c-title">校园招聘</h6> |
||||
<div class="more">查看更多 ></div> |
||||
</div> |
||||
<p class="des">在IASF,有兴趣将科学转化为创新吗?在IASF建立你的职业生我们的科学国家安全等方面进行世界…</p> |
||||
<p class="hot">热门岗位</p> |
||||
<div class="labels"> |
||||
<p class="label">实验室综合管理岗</p> |
||||
<p class="label">数据库开发</p> |
||||
<p class="label">高级电气工程师</p> |
||||
<p class="label">综合研究院</p> |
||||
<p class="label">高级数据库工程师</p> |
||||
</div> |
||||
</div> |
||||
</li> |
||||
<li> |
||||
<img class="pic" src="http://10.10.11.7/images/talentCenter/2.png" alt=""> |
||||
<div class="texts"> |
||||
<div class="flex j-between a-center"> |
||||
<h6 class="c-title">社会招聘</h6> |
||||
<div class="more">查看更多 ></div> |
||||
</div> |
||||
<p class="des">在IASF,有兴趣将科学转化为创新吗?在IASF建立你的职业生我们的科学国家安全等方面进行世界…</p> |
||||
<p class="hot">热门岗位</p> |
||||
<div class="labels"> |
||||
<p class="label">实验室综合管理岗</p> |
||||
<p class="label">数据库开发</p> |
||||
<p class="label">高级电气工程师</p> |
||||
<p class="label">综合研究院</p> |
||||
<p class="label">高级数据库工程师</p> |
||||
</div> |
||||
</div> |
||||
</li> |
||||
</ul> |
||||
<ul class="notice"> |
||||
<li> |
||||
<img class="pic" src="http://10.10.11.7/images/talentCenter/3.png" alt=""> |
||||
<p class="text">通知公告</p> |
||||
</li> |
||||
<li> |
||||
<img class="pic" src="http://10.10.11.7/images/talentCenter/4.png" alt=""> |
||||
<p class="text">人才服务</p> |
||||
</li> |
||||
</ul> |
||||
</div> |
||||
<div class="right"> |
||||
<el-tree class="column" ref="column" :data="columns" highlight-current :expand-on-click-node="false" :props="defaultProps" node-key="id" @node-click="columnTo"></el-tree> |
||||
|
||||
<p class="l-title">{{$t('column.hot')}}</p> |
||||
<ul class="list"> |
||||
<li v-for="(item, i) in hots" :key="i" :title="item.title" @click="toArtice(item)"> |
||||
<p class="text">{{ item.title }}</p> |
||||
<span class="date">{{ item.releaseTime }}</span> |
||||
</li> |
||||
</ul> |
||||
|
||||
<p class="l-title">{{$t('column.latestNews')}}</p> |
||||
<ul class="list"> |
||||
<li v-for="(item, i) in news" :key="i" :title="item.title" @click="toArtice(item)"> |
||||
<p class="text">{{ item.title }}</p> |
||||
<span class="date">{{ item.releaseTime }}</span> |
||||
</li> |
||||
</ul> |
||||
</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 { |
||||
columnId: '', |
||||
form: {}, |
||||
columns: [], |
||||
defaultProps: { |
||||
value: 'id', |
||||
label: 'columnName' |
||||
}, |
||||
news: [], |
||||
hots: [] |
||||
} |
||||
}, |
||||
mounted() { |
||||
this.getColumn() |
||||
this.getArticle() |
||||
}, |
||||
methods: { |
||||
// 资讯 |
||||
getColumn() { |
||||
this.$post(this.api.listWithTreeMenuVisible, { |
||||
siteId: this.$route.query.siteId || this.$store.state.content.site, |
||||
columnName: '', |
||||
templateId: '', |
||||
typeId : '', |
||||
isSort: 1 |
||||
}).then(({ data }) => { |
||||
this.columns = data |
||||
this.getInfo() |
||||
}).catch(err => {}) |
||||
|
||||
this.$post(`${this.api.hotContent}?siteId=${this.$route.query.siteId || this.$store.state.content.site}`).then(({ data }) => { |
||||
this.hots = Util.removeTag(data) |
||||
}).catch(err => {}) |
||||
}, |
||||
// 最新资讯 |
||||
getArticle() { |
||||
this.$post(this.api.newlyPublishedArticles, { |
||||
pageNum: 1, |
||||
pageSize: 5, |
||||
siteId: this.$route.query.siteId || this.$store.state.content.site |
||||
}).then(({ data }) => { |
||||
this.news = Util.removeTag(data.records) |
||||
}).catch(res => {}) |
||||
}, |
||||
} |
||||
}; |
||||
</script> |
||||
|
||||
<style lang="scss" scoped> |
||||
@import url(../../plugins/wow/animate.css); |
||||
@import "../../styles/page/page.scss"; |
||||
.wrap { |
||||
background-color: #F9FAFA; |
||||
} |
||||
.content { |
||||
width: 1400px; |
||||
} |
||||
.article { |
||||
display: flex; |
||||
justify-content: space-between; |
||||
.left { |
||||
width: 66%; |
||||
.title { |
||||
padding-bottom: 10px; |
||||
font-size: 1.2rem; |
||||
color: #666; |
||||
border-bottom: 1px solid #EAEEF2; |
||||
} |
||||
.text { |
||||
margin-top: 20px; |
||||
font-size: 1.1rem; |
||||
color: #333; |
||||
line-height: 28px; |
||||
p { |
||||
margin-bottom: 20px; |
||||
} |
||||
} |
||||
} |
||||
.recruit { |
||||
li { |
||||
display: flex; |
||||
padding: 20px; |
||||
margin-bottom: 24px; |
||||
background-color: #fff; |
||||
} |
||||
.pic { |
||||
width: 410px; |
||||
height: 250px; |
||||
margin-right: 20px; |
||||
} |
||||
.c-title { |
||||
font-size: 1.2rem; |
||||
columns: #333; |
||||
} |
||||
.more { |
||||
font-size: .8rem; |
||||
color: #0648A8; |
||||
cursor: pointer; |
||||
} |
||||
.des { |
||||
margin: 20px 0; |
||||
font-size: 1rem; |
||||
color: #666; |
||||
line-height: 22px; |
||||
} |
||||
.hot { |
||||
margin-bottom: 10px; |
||||
font-size: 1.1rem; |
||||
color: #333; |
||||
} |
||||
.labels { |
||||
display: flex; |
||||
flex-wrap: wrap; |
||||
} |
||||
.label { |
||||
padding: 5px 15px; |
||||
margin: 0 15px 15px 0; |
||||
font-size: 1rem; |
||||
border-radius: 22px; |
||||
border: 1px solid #666; |
||||
} |
||||
} |
||||
.notice { |
||||
display: flex; |
||||
li { |
||||
position: relative; |
||||
width: calc((100% - 20px) / 2); |
||||
height: 300px; |
||||
padding: 20px; |
||||
background-color: #fff; |
||||
} |
||||
.pic { |
||||
width: 100%; |
||||
height: 100%; |
||||
} |
||||
.text { |
||||
position: absolute; |
||||
bottom: 20px; |
||||
left: 20px; |
||||
width: calc(100% - 40px); |
||||
font-size: 1.6rem; |
||||
line-height: 66px; |
||||
text-align: center; |
||||
color: #fff; |
||||
background: rgba(32,57,81,0.68); |
||||
} |
||||
} |
||||
.right { |
||||
width: 20%; |
||||
} |
||||
.column { |
||||
width: 100%; |
||||
margin-bottom: 25px; |
||||
} |
||||
/deep/.el-tree-node__content { |
||||
height: 44px; |
||||
background-color: #E5EDF8; |
||||
border-bottom: 2px solid #fff; |
||||
} |
||||
/deep/.el-tree--highlight-current .el-tree-node.is-current > .el-tree-node__content { |
||||
color: #fff; |
||||
background-color: #0f5698; |
||||
} |
||||
.list { |
||||
margin-bottom: 20px; |
||||
li { |
||||
padding: 16px 0; |
||||
border-bottom: 1px solid #D8D8D8; |
||||
} |
||||
.text { |
||||
margin-bottom: 5px; |
||||
font-size: 14px; |
||||
cursor: pointer; |
||||
&:hover { |
||||
color: $main-color; |
||||
} |
||||
} |
||||
.date { |
||||
font-size: 12px; |
||||
color: #999; |
||||
} |
||||
} |
||||
} |
||||
@media (max-width: 1420px) { |
||||
.content { |
||||
width: 98%; |
||||
} |
||||
} |
||||
</style> |
@ -0,0 +1,14 @@ |
||||
import BasicLayout from '@/layouts/home' |
||||
const name = 'publication' |
||||
export default { |
||||
path: `/${name}`, |
||||
component: BasicLayout, |
||||
children: [ |
||||
{ |
||||
name, |
||||
path: `/${name}`, |
||||
component: () => import(`@/pages/${name}`), |
||||
meta: { title: '' } |
||||
}, |
||||
] |
||||
}; |
@ -0,0 +1,14 @@ |
||||
import BasicLayout from '@/layouts/home' |
||||
const name = 'talentCenter' |
||||
export default { |
||||
path: `/${name}`, |
||||
component: BasicLayout, |
||||
children: [ |
||||
{ |
||||
name, |
||||
path: `/${name}`, |
||||
component: () => import(`@/pages/${name}`), |
||||
meta: { title: '' } |
||||
} |
||||
] |
||||
}; |
Loading…
Reference in new issue