wangchenguang 2 years ago
commit f9980183e0
  1. 7
      src/mixins/article/index.js
  2. 2
      src/mixins/overview/index.js
  3. 6
      src/pages/article/activity.vue
  4. 6
      src/pages/article/index.vue
  5. 127
      src/pages/column/index.vue
  6. 4
      src/pages/column/result.vue
  7. 2
      src/pages/newsPress/index.vue
  8. 2
      src/pages/newsProcurement/index.vue
  9. 2
      src/pages/overviewSetup/index.vue
  10. 1
      src/pages/publication/index.vue
  11. 12
      src/pages/publication/monograph.vue
  12. 9
      src/pages/publication/patent.vue
  13. 29
      src/pages/publication/thesis.vue
  14. 106
      src/pages/talentCenter/index.vue

@ -1,6 +1,5 @@
import Setting from '@/setting'
import Util from '@/libs/util'
import { mapState } from 'vuex'
export default {
data() {
return {
@ -8,9 +7,9 @@ export default {
}
},
computed: {
...mapState('content', [
'site'
])
site() {
return this.$route.query.siteId || this.$store.state.content.site
}
},
mounted() {

@ -27,7 +27,7 @@ export default {
if (i == 1) path = '/overviewDevHistory?id=214'
if (i == 2) path = '/overviewTrailer?id=215'
if (i == 3) path = '/overviewLocation?id=216'
if (i == 4) path = '/overviewSetup?id=217'
if (i == 4) path = '/overviewSetup?id=229'
this.$router.push(path + '&siteId=3')
},
}

@ -125,7 +125,7 @@ export default {
//
getColumn() {
this.$post(this.api.listWithTreeMenuVisible, {
siteId: this.$route.query.siteId || this.$store.state.content.site,
siteId: this.site,
columnName: '',
templateId: '',
typeId : '',
@ -135,7 +135,7 @@ export default {
this.getInfo()
}).catch(err => {})
this.$post(`${this.api.hotContent}?siteId=${this.$route.query.siteId || this.$store.state.content.site}`).then(({ data }) => {
this.$post(`${this.api.hotContent}?siteId=${this.site}`).then(({ data }) => {
this.hots = Util.removeTag(data)
}).catch(err => {})
},
@ -144,7 +144,7 @@ export default {
this.$post(this.api.newlyPublishedArticles, {
pageNum: 1,
pageSize: 5,
siteId: this.$route.query.siteId || this.$store.state.content.site
siteId: this.site
}).then(({ data }) => {
this.news = Util.removeTag(data.records)
}).catch(res => {})

@ -140,7 +140,7 @@ export default {
//
getColumn() {
this.$post(this.api.listWithTreeMenuVisible, {
siteId: this.$route.query.siteId || this.$store.state.content.site,
siteId: this.site,
columnName: '',
templateId: '',
typeId : '',
@ -150,7 +150,7 @@ export default {
this.getInfo()
}).catch(err => {})
this.$post(`${this.api.hotContent}?siteId=${this.$route.query.siteId || this.$store.state.content.site}`).then(({ data }) => {
this.$post(`${this.api.hotContent}?siteId=${this.site}`).then(({ data }) => {
this.hots = Util.removeTag(data)
}).catch(err => {})
},
@ -159,7 +159,7 @@ export default {
this.$post(this.api.newlyPublishedArticles, {
pageNum: 1,
pageSize: 5,
siteId: this.$route.query.siteId || this.$store.state.content.site
siteId: this.site
}).then(({ data }) => {
this.news = Util.removeTag(data.records)
}).catch(res => {})

@ -63,36 +63,45 @@
<div class="article-wrap">
<ul class="articles">
<li v-for="(item, i) in articles" :key="i" @click="toArtice(item)">
<div class="texts">
<p v-if="(item.listStyleId === 10 || item.listStyleId === 15) && item.classificationName"
class="type">
{{ item.classificationName }}
</p>
<h6>{{ item.title }}</h6>
<template v-if="item.listStyleId === 11">
<span class="meta">{{ item.releaseTime }}</span>
<div class="des" v-html="item.mainBody"></div>
</template>
<span v-if="item.listStyleId === 10" class="meta">{{ item.releaseTime }} {{ item.labelName && ' | ' +
item.labelName }}</span>
<template v-if="item.listStyleId === 15 || item.listStyleId === 16">
<div v-if="item.keynoteSpeaker" class="meta m-b-10">
<img class="icon" src="@/assets/images/mine.png" alt="" /> {{ item.keynoteSpeaker }}
</div>
<div v-if="item.activityStartTime" class="meta m-b-10">
<img class="icon" src="@/assets/images/time.png" alt="" />
{{ item.activityStartTime + ' ~ ' + item.activityEndTime }}
</div>
<div v-if="item.offlineLocation" class="meta m-b-10">
<img class="icon" src="@/assets/images/location.png" alt="" /> {{ item.offlineLocation }}
</div>
<div v-if="item.onlineLocation" class="meta">
<img class="icon" src="@/assets/images/online.png" alt="" /> {{ item.onlineLocation }}
</div>
</template>
</div>
<img class="pic" :src="item.titleImg" alt="" onerror="javascript:this.src='./images/1.png';" />
<li v-for="(item, i) in articles" :key="i" :class="{'news-notice': info.listStyleId === 55}" @click="toArtice(item)">
<template v-if="info.listStyleId === 55">
<div class="releaseTime">
<p class="d">{{ item.date }}</p>
<p class="m">{{ item.month }}</p>
</div>
<div class="news-title">{{ item.title }}</div>
</template>
<template v-else>
<div class="texts">
<p v-if="(item.listStyleId === 10 || item.listStyleId === 15) && item.classificationName"
class="type">
{{ item.classificationName }}
</p>
<h6>{{ item.title }}</h6>
<template v-if="item.listStyleId === 11">
<span class="meta">{{ item.releaseTime }}</span>
<div class="des" v-html="item.mainBody"></div>
</template>
<span v-if="item.listStyleId === 10" class="meta">{{ item.releaseTime }} {{ item.labelName && ' | ' +
item.labelName }}</span>
<template v-if="item.listStyleId === 15 || item.listStyleId === 16">
<div v-if="item.keynoteSpeaker" class="meta m-b-10">
<img class="icon" src="@/assets/images/mine.png" alt="" /> {{ item.keynoteSpeaker }}
</div>
<div v-if="item.activityStartTime" class="meta m-b-10">
<img class="icon" src="@/assets/images/time.png" alt="" />
{{ item.activityStartTime + ' ~ ' + item.activityEndTime }}
</div>
<div v-if="item.offlineLocation" class="meta m-b-10">
<img class="icon" src="@/assets/images/location.png" alt="" /> {{ item.offlineLocation }}
</div>
<div v-if="item.onlineLocation" class="meta">
<img class="icon" src="@/assets/images/online.png" alt="" /> {{ item.onlineLocation }}
</div>
</template>
</div>
<img class="pic" :src="item.titleImg" alt="" onerror="javascript:this.src='./images/1.png';" />
</template>
</li>
</ul>
<div v-if="articles.length" class="pagination">
@ -154,7 +163,7 @@ export default {
sameStyle: 1,
allColumnId: [],
showNav: false,
showNavIds: [10, 11, 12, 16], // id
showNavIds: [10, 11, 12, 16, 55], // id
isFilter: false,
page: 1,
pageSize: 10,
@ -260,7 +269,7 @@ export default {
},
//
getLabel() {
this.$post(`${this.api.queryLabel}?siteId=${this.$route.query.siteId || this.site}`)
this.$post(`${this.api.queryLabel}?siteId=${this.site}`)
.then(({ data }) => {
this.labels = data;
// placeholder
@ -334,7 +343,7 @@ export default {
//
getColumn() {
this.$post(this.api.listWithTreeMenuVisible, {
siteId: this.$route.query.siteId || this.$store.state.content.site,
siteId: this.site,
columnName: '',
templateId: '',
typeId: '',
@ -345,7 +354,7 @@ export default {
})
.catch((err) => { });
this.$post(`${this.api.hotContent}?siteId=${this.$route.query.siteId || this.$store.state.content.site}`)
this.$post(`${this.api.hotContent}?siteId=${this.site}`)
.then(({ data }) => {
this.hots = Util.removeTag(data);
})
@ -356,7 +365,7 @@ export default {
this.$post(this.api.newlyPublishedArticles, {
pageNum: 1,
pageSize: 5,
siteId: this.$route.query.siteId || this.$store.state.content.site
siteId: this.site
})
.then(({ data }) => {
this.news = Util.removeTag(data.records);
@ -375,7 +384,7 @@ export default {
if (left && to.level === 1 && (typeId === 2 || typeId === 3)) return false;
//
if (to.templateId === 8) {
this.$router.replace(`/publish?id=${this.id}&siteId=${this.$route.query.siteId || this.site}`);
this.$router.replace(`/publish?id=${this.id}&siteId=${this.site}`);
return;
}
//
@ -427,7 +436,7 @@ export default {
if (this.lableId.includes(e.id)) labelName.push(e.labelName);
});
this.$post(this.api.newlyPublishedArticles, {
siteId: this.$route.query.siteId || this.site,
siteId: this.site,
columnIds,
pageNum: this.page,
pageSize: this.info.pageSize,
@ -435,7 +444,16 @@ export default {
...this.form
})
.then(({ data }) => {
this.articles = Util.removeTag(data.records);
const articles = Util.removeTag(data.records);
articles.forEach(e => {
// -
if (e.releaseTime) {
const date = e.releaseTime.split('-')
e.date = date[2]
e.month = date[0] + '/' + date[1]
}
})
this.articles = articles
this.total = +data.total;
//
// this.total == 1 && this.info.showWithDetails && this.$router.push(`/article?articleId=${this.articles[0].id}&id=${this.articles[0].columnId}`)
@ -751,7 +769,34 @@ export default {
height: 244px;
}
}
.news-notice {
.releaseTime {
width: 88px;
height: 88px;
padding: 10px 0 16px;
margin-right: 24px;
color: #fff;
text-align: center;
background: #0B5086;
}
.d {
font-size: 2rem;
font-family: DINCondensed-Bold, DINCondensed;
font-weight: bold;
line-height: 43px;
}
.m {
font-size: .9rem;
line-height: 20px;
}
.news-title {
width: calc(100% - 110px);
font-size: 1.1rem;
color: #333;
line-height: 1.6;
@include mul-ellipsis(2);
}
}
.right {
width: 14%;
min-width: 240px;
@ -909,7 +954,7 @@ export default {
.contents {
.articles {
li {
li:not(.news-notice) {
flex-direction: column;
.texts {
@ -969,7 +1014,7 @@ export default {
.contents {
.articles {
li {
li:not(.news-notice) {
flex-direction: column;

@ -61,9 +61,7 @@ export default {
getArticle() {
this.setKeyword('')
this.$post(this.api.newlyPublishedArticles, {
siteId: this.$route.query.siteId || this.site,
siteId: this.site,
pageNum: 1,
pageSize: 1000,
title: this.title

@ -89,7 +89,7 @@ export default {
},
//
getColumn() {
this.$post(`${this.api.oneLevelChecksThemAll}?id=${this.id}&isSort=1`).then(({ data }) => {
this.$post(`${this.api.oneLevelChecksThemAll}?id=${this.id}&isSort=1&siteId=${this.site}`).then(({ data }) => {
this.getParent(data, this.id)
}).catch(err => {})
},

@ -89,7 +89,7 @@ export default {
},
//
getColumn() {
this.$post(`${this.api.oneLevelChecksThemAll}?id=${this.id}&isSort=1`).then(({ data }) => {
this.$post(`${this.api.oneLevelChecksThemAll}?id=${this.id}&isSort=1&siteId=${this.site}`).then(({ data }) => {
this.getParent(data, this.id)
}).catch(err => {})
},

@ -22,7 +22,7 @@
<img class="pic" src="http://10.10.11.7/images/overviewSetup/1.png" alt="">
</div>
<div class="lg-bg">
<img width="100%" src="http://10.10.11.7/images/overviewSetup/2.png" alt="">
<img width="100%" :src="modules[2].form.pic" alt="">
</div>
</div>

@ -112,6 +112,7 @@ export default {
margin: 0 70px;
font-size: 1.1rem;
color: #333;
white-space: nowrap;
border-bottom: 4px solid transparent;
text-shadow: 0px 2px 14px rgba(167,167,167,0.26);
cursor: pointer;

@ -5,7 +5,7 @@
<span class="label">出版时间</span>
<el-date-picker
style="width: 300px"
v-model="form.publicationYear"
v-model="form.publicationTime"
type="year"
placeholder="请选择出版时间"
format="yyyy"
@ -14,7 +14,7 @@
</el-date-picker>
</div>
<div class="search">
<input type="text" placeholder="请输入著作名称/出版社名称/编写人员" v-model="form.title">
<input type="text" placeholder="请输入著作名称/出版社名称/编写人员" v-model="form.monographQueryKeyWord">
<i class="icon">
<img src="@/assets/images/search-white.png" alt="">
</i>
@ -43,8 +43,8 @@ export default {
patentClasses: ColumnConst.patentClasses,
searchTimer: null,
form: {
patentClassId: '',
applicationDate: ''
monographQueryKeyWord: '',
publicationTime: ''
},
classifications: [],
list: [],
@ -57,7 +57,7 @@ export default {
id() {
this.id && this.initData()
},
'form.title': function (val) {
'form.monographQueryKeyWord': function (val) {
clearTimeout(this.searchTimer);
this.searchTimer = setTimeout(() => {
this.initData();
@ -99,7 +99,7 @@ export default {
.forms {
display: flex;
align-items: center;
padding: 30px;
padding: 15px;
margin-bottom: 20px;
background-color: #fff;
.item {

@ -3,7 +3,7 @@
<div class="forms">
<div class="item">
<span class="label">专利类别</span>
<el-select v-model="form.patentClassId">
<el-select v-model="form.patentClassId" @change="initData">
<el-option
v-for="item in patentClasses"
:key="item.id"
@ -25,7 +25,7 @@
</el-date-picker>
</div>
<div class="search">
<input type="text" placeholder="请输入专利名称/发明人姓名/申请号员" v-model="form.title">
<input type="text" placeholder="请输入专利名称/发明人姓名/申请号员" v-model="form.patentQueryKeyWord">
<i class="icon">
<img src="@/assets/images/search-white.png" alt="">
</i>
@ -60,6 +60,7 @@ export default {
patentClasses: ColumnConst.patentClasses,
searchTimer: null,
form: {
patentQueryKeyWord: '',
patentClassId: '',
applicationDate: ''
},
@ -74,7 +75,7 @@ export default {
id() {
this.id && this.initData()
},
'form.title': function (val) {
'form.patentQueryKeyWord': function (val) {
clearTimeout(this.searchTimer);
this.searchTimer = setTimeout(() => {
this.initData();
@ -116,7 +117,7 @@ export default {
.forms {
display: flex;
align-items: center;
padding: 30px;
padding: 15px;
margin-bottom: 20px;
background-color: #fff;
.item {

@ -3,17 +3,18 @@
<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>
<el-date-picker
style="width: 300px"
v-model="form.publicationYear"
type="year"
placeholder="请选择出版时间"
format="yyyy"
value-format="yyyy"
@change="initData">
</el-date-picker>
</div>
<div class="search">
<input type="text" placeholder="请输入论文题目/期刊名称/作者名称" v-model="form.title">
<input type="text" placeholder="请输入论文题目/期刊名称/作者名称" v-model="form.paperQueryKeyWord">
<i class="icon">
<img src="@/assets/images/search-white.png" alt="">
</i>
@ -21,7 +22,7 @@
</div>
<ul class="list">
<li v-for="(item, i) in articles" :key="i">
<li v-for="(item, i) in articles" :key="i" @click="$parent.toArtice(item)">
<h6>{{ item.title }}</h6>
<p class="meta">作者: {{ item.author }}</p>
<p class="meta">期刊名称: {{ item.periodicalName }}</p>
@ -39,7 +40,8 @@ export default {
return {
searchTimer: null,
form: {
paperQueryKeyWord: '',
publicationYear: ''
},
classifications: [],
articles: [],
@ -52,7 +54,7 @@ export default {
id() {
this.id && this.initData()
},
'form.title': function (val) {
'form.paperQueryKeyWord': function (val) {
clearTimeout(this.searchTimer);
this.searchTimer = setTimeout(() => {
this.initData();
@ -90,7 +92,7 @@ export default {
.forms {
display: flex;
align-items: center;
padding: 30px;
padding: 15px;
margin-bottom: 20px;
background-color: #fff;
.item {
@ -144,6 +146,7 @@ export default {
padding: 30px;
margin-bottom: 15px;
background-color: #fff;
cursor: pointer;
}
h6 {
margin-bottom: 10px;

@ -1,65 +1,58 @@
<template>
<div class="wrap">
<!-- <div class="single-banner single-banner-overview">
<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>
<div class="content">
<div class="article">
<div class="left">
<h6 class="title">有兴趣将科学转化为创新吗在IASF建立你的职业生涯</h6>
<div class="text">
<p>在IASF我们从不同的角度看待世界我们的科学家和工程师在清洁能源环境技术国家安全等方面进行世界一流的研究我们正在寻找创造性的方法来让世界为更美好的未来做好准备</p>
<p>通过选择您感兴趣的机会类型开始</p>
</div>
<h6 class="talent-title">{{ modules[1].form.title }}</h6>
<div class="talent-text" v-html="modules[1].form.des"></div>
<ul class="recruit">
<li>
<img class="pic" src="http://10.10.11.7/images/talentCenter/1.png" alt="">
<img class="pic" :src="modules[2].form.pic" alt="">
<div class="texts">
<div class="flex j-between a-center">
<h6 class="c-title">校园招聘</h6>
<div class="more">查看更多 ></div>
<h6 class="c-title">{{ modules[3].form.title }}</h6>
<div v-if="isLink(modules[3].form.link.linkName)" class="more" @click="openLink(modules[3].form)">查看更多 ></div>
</div>
<p class="des">在IASF有兴趣将科学转化为创新吗在IASF建立你的职业生我们的科学国家安全等方面进行世界</p>
<div class="des" v-html="modules[3].form.des"></div>
<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>
<p v-for="(item, i) in modules[4].list" :key="i" class="label">{{ item.title }}</p>
</div>
</div>
</li>
<li>
<img class="pic" src="http://10.10.11.7/images/talentCenter/2.png" alt="">
<img class="pic" :src="modules[5].form.pic" alt="">
<div class="texts">
<div class="flex j-between a-center">
<h6 class="c-title">社会招聘</h6>
<div class="more">查看更多 ></div>
<h6 class="c-title">{{ modules[6].form.title }}</h6>
<div v-if="isLink(modules[6].form.link.linkName)" class="more" @click="openLink(modules[6].form)">查看更多 ></div>
</div>
<p class="des">在IASF有兴趣将科学转化为创新吗在IASF建立你的职业生我们的科学国家安全等方面进行世界</p>
<div class="des" v-html="modules[6].form.des"></div>
<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>
<p v-for="(item, i) in modules[7].list" :key="i" class="label">{{ item.title }}</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
:class="{ 'cursor-pointer': isLink(modules[8].form.link.linkName) }"
@click="openLink(modules[8].form)">
<img class="pic" :src="modules[8].form.pic" alt="">
<p class="text">{{ modules[8].form.title }}</p>
</li>
<li>
<img class="pic" src="http://10.10.11.7/images/talentCenter/4.png" alt="">
<p class="text">人才服务</p>
<li
:class="{ 'cursor-pointer': isLink(modules[9].form.link.linkName) }"
@click="openLink(modules[8].form)">
<img class="pic" :src="modules[9].form.pic" alt="">
<p class="text">{{ modules[9].form.title }}</p>
</li>
</ul>
</div>
@ -112,6 +105,20 @@ export default {
this.getArticle()
},
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 => {})
},
//
getColumn() {
this.$post(this.api.listWithTreeMenuVisible, {
@ -157,14 +164,14 @@ export default {
justify-content: space-between;
.left {
width: 66%;
.title {
.talent-title {
padding-bottom: 10px;
font-size: 1.2rem;
color: #666;
border-bottom: 1px solid #EAEEF2;
}
.text {
margin-top: 20px;
.talent-text {
margin: 20px 0;
font-size: 1.1rem;
color: #333;
line-height: 28px;
@ -278,10 +285,39 @@ export default {
}
}
}
@media (max-width: 1420px) {
@media (max-width: 1200px) {
.content {
width: 98%;
}
.article {
flex-direction: column;
.left, .right {
width: 100%;
}
.left {
margin-bottom: 30px;
}
}
}
@media (min-width: 280px) and (max-width: 750px) {
.article {
.recruit {
li {
flex-direction: column;
}
.pic {
width: 100%;
margin-bottom: 10px;
}
}
.notice {
flex-direction: column;
li {
width: 100%;
}
}
}
}
@media (max-width: 1200px) {
.content {

Loading…
Cancel
Save