yujialong 1 year ago
parent f1197e03d1
commit 3612e6d8e9
  1. 2
      src/mixins/article/index.js
  2. 2
      src/pages/article/index.vue
  3. 475
      src/pages/column/index.vue
  4. 35
      src/pages/iasf/index.vue
  5. 17
      src/pages/lightSources/index.vue
  6. 15
      src/pages/mission/index.vue
  7. 4
      src/pages/researchTeam/index.vue
  8. 1
      src/pages/speech/index.vue

@ -86,7 +86,7 @@ export default {
location.href = href
}
} else {
this.$router.push(`/article?articleId=${item.id}&site=${this.site}&id=${item.columnId}`)
this.$router.push(`/article?articleId=${item.id}&siteId=${this.site}&id=${item.columnId}`)
}
}
}

@ -13,7 +13,7 @@
<div class="left">
<template v-if="!isPeople">
<h2>{{ form.title }}</h2>
<div class="meta">{{ form.source && form.source + ' | ' }} {{ form.author && form.author + ' | ' }} {{ form.totalBrowsing }} {{$t('column.views')}} | {{ form.releaseTime }}</div>
<div class="meta">{{ form.source && form.source + ' | ' }} {{ form.author && form.author + ' | ' }} {{ form.releaseTime }}</div>
<div class="meta">{{ form.edit && $t('column.edit') + ':' + form.edit }} {{ form.audit && ' | ' + $t('column.auditor') + ':' + form.audit }} {{ form.label && ' | ' + $t('column.label') + ':' + form.label }}</div>
</template>
<p v-if="form.summary"

@ -134,240 +134,248 @@
</span>
</el-tree>
<template v-if="info.listStyleId === 12">
<div class="article-wrap">
<ul class="articles">
<li v-for="(item, i) in articles"
:key="i"
:class="{'news-notice': info.listStyleId === 55}"
class="readDetail"
@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>
<img class="pic"
:src="item.titleImg"
alt=""
onerror="javascript:this.src='./images/1.png';" />
<div class="texts">
<p v-if="(item.listStyleId === 10 || item.listStyleId === 15) && item.classificationName"
class="type">
{{ item.classificationName }}
</p>
<h6 class="titleDes">{{ item.title }}</h6>
<template v-if="item.listStyleId === 11 || item.listStyleId == 12">
<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 && ' | ' +
<template v-if="articles.length">
<template v-if="info.listStyleId === 12">
<div class="article-wrap">
<ul class="articles">
<li v-for="(item, i) in articles"
:key="i"
:class="{'news-notice': info.listStyleId === 55}"
class="readDetail"
@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>
<img class="pic"
:src="item.titleImg"
alt=""
onerror="javascript:this.src='./images/1.png';" />
<div class="texts">
<p v-if="(item.listStyleId === 10 || item.listStyleId === 15) && item.classificationName"
class="type">
{{ item.classificationName }}
</p>
<h6 class="titleDes">{{ item.title }}</h6>
<template v-if="item.listStyleId === 11 || item.listStyleId == 12">
<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>
<el-button type="primary"
class="readDetailBtn">{{ $t('column.readDetail') }}</el-button>
</div>
</template>
</li>
</ul>
<div v-if="articles.length"
class="pagination">
<el-pagination background
@current-change="currentChange"
:current-page="page"
layout="total, prev, pager, next"
:total="total"></el-pagination>
<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>
<el-button type="primary"
class="readDetailBtn">{{ $t('column.readDetail') }}</el-button>
</div>
</template>
</li>
</ul>
<div v-if="articles.length"
class="pagination">
<el-pagination background
@current-change="currentChange"
:current-page="page"
layout="total, prev, pager, next"
:total="total"></el-pagination>
</div>
</div>
</div>
</template>
<template v-else-if="info.listStyleId === 11 || info.listStyleId === 15 || info.listStyleId === 10">
<div class="article-wrap">
<ul class="articles">
<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 leftBox">
<p v-if="(item.listStyleId === 10 || item.listStyleId === 15|| item.listStyleId === 11) && item.classificationName"
class="type">
{{ item.classificationName }}
</p>
<h6 class="titleDes">{{ item.title }}</h6>
<template v-if="item.listStyleId === 11 || item.listStyleId == 12">
<span class="meta">{{ item.releaseTime }}
<template v-if="item.labelName != ''">
| {{ item.labelName }}
</template>
</span>
</template>
<span v-if="item.listStyleId === 10 "
class="meta">{{ item.releaseTime }} {{ item.labelName && ' | ' +
</template>
<template v-else-if="info.listStyleId === 11 || info.listStyleId === 15 || info.listStyleId === 10">
<div class="article-wrap">
<ul class="articles">
<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 leftBox">
<p v-if="(item.listStyleId === 10 || item.listStyleId === 15|| item.listStyleId === 11) && item.classificationName"
class="type">
{{ item.classificationName }}
</p>
<h6 class="titleDes">{{ item.title }}</h6>
<template v-if="item.listStyleId === 11 || item.listStyleId == 12">
<span class="meta">{{ item.releaseTime }}
<template v-if="item.labelName != ''">
| {{ item.labelName }}
</template>
</span>
</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">
<el-pagination background
@current-change="currentChange"
:current-page="page"
layout="total, prev, pager, next"
:total="total"></el-pagination>
<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">
<el-pagination background
@current-change="currentChange"
:current-page="page"
layout="total, prev, pager, next"
:total="total"></el-pagination>
</div>
</div>
</div>
</template>
<template v-else>
<div class="article-wrap">
<ul class="articles">
<li v-for="(item, i) in articles"
:key="i"
:class="{'news-notice': info.listStyleId === 55, 'org': info.listStyleId === 68}"
class="overDetail"
@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>
<img class="pic"
:src="item.titleImg"
alt=""
onerror="javascript:this.src='./images/1.png';" />
<div class="texts">
<p v-if="(item.listStyleId === 10 || item.listStyleId === 15) && item.classificationName"
class="type">
{{ item.classificationName }}
</p>
<h6 class="titleDes">{{ item.title }}</h6>
<template v-if="item.listStyleId === 11 || item.listStyleId == 12 || item.listStyleId == 68">
<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 && ' | ' +
</template>
<template v-else>
<div class="article-wrap">
<ul class="articles">
<li v-for="(item, i) in articles"
:key="i"
:class="{'news-notice': info.listStyleId === 55, 'org': info.listStyleId === 68}"
class="overDetail"
@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>
<img class="pic"
:src="item.titleImg"
alt=""
onerror="javascript:this.src='./images/1.png';" />
<div class="texts">
<p v-if="(item.listStyleId === 10 || item.listStyleId === 15) && item.classificationName"
class="type">
{{ item.classificationName }}
</p>
<h6 class="titleDes">{{ item.title }}</h6>
<template v-if="item.listStyleId === 11 || item.listStyleId == 12 || item.listStyleId == 68">
<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>
<el-button v-if="item.listStyleId === 15 || item.listStyleId == 68"
type="primary"
class="readDetailBtn">{{ $t('column.readDetail') }}</el-button>
</div>
</template>
</li>
</ul>
<div v-if="articles.length"
class="pagination">
<el-pagination background
@current-change="currentChange"
:current-page="page"
layout="total, prev, pager, next"
:total="total"></el-pagination>
<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>
<el-button v-if="item.listStyleId === 15 || item.listStyleId == 68"
type="primary"
class="readDetailBtn">{{ $t('column.readDetail') }}</el-button>
</div>
</template>
</li>
</ul>
<div v-if="articles.length"
class="pagination">
<el-pagination background
@current-change="currentChange"
:current-page="page"
layout="total, prev, pager, next"
:total="total"></el-pagination>
</div>
</div>
</div>
</template>
</template>
<div v-else
class="none">
<img src="@/assets/images/none.png"
alt="">
<p class="text">暂无更多信息敬请期待</p>
</div>
</div>
</div>
<div class="right">
@ -1195,6 +1203,19 @@ export default {
background-color: $partyTheme !important;
}
}
.none {
display: inline-flex;
flex-direction: column;
justify-content: center;
align-items: center;
flex: 1;
text-align: center;
.text {
margin-top: 20px;
font-size: 0.9rem;
color: #333;
}
}
@media (max-width: 1200px) {
.banner {
height: 15rem !important;

@ -250,7 +250,8 @@
</div>
<img :src="modules[12].form.pic"
alt=""
class="pic">
class="pic wow fadeInRight"
data-wow-delay="0.5s">
</div>
</div>
</div>
@ -275,14 +276,11 @@
</div>
<ul class="tools">
<li v-for="(item, i) in modules[19].list"
:key="i"
@click="toLink(item, i)">
<!-- <img :src="'http://10.10.11.7/images/iasf/icon' + (i < 4 ? i + 1 : 1) + '.png'"
alt=""
class="icon"> -->
{{ item.title }}
</li>
<template v-for="(item, i) in modules[19].list">
<li v-if="item.isEnable"
:key="i"
@click="toLink(item, i)">{{ item.title }}</li>
</template>
</ul>
</div>
</template>
@ -373,15 +371,15 @@ export default {
clearInterval(this.timer)
this.timer = setInterval(() => {
this.curInd1++
if (this.curInd1 > 3) this.curInd1 = 0
if (this.curInd1 > this.articles1.length - 1) this.curInd1 = 0
if (this.articles1[this.curInd1]) this.curArticle1 = this.articles1[this.curInd1] || {}
this.curInd2++
if (this.curInd2 > 3) this.curInd2 = 0
if (this.curInd2 > this.articles2.length - 1) this.curInd2 = 0
if (this.articles2[this.curInd2]) this.curArticle2 = this.articles2[this.curInd2] || {}
this.curInd3++
if (this.curInd3 > 3) this.curInd3 = 0
if (this.curInd3 > this.articles3.length - 1) this.curInd3 = 0
if (this.articles3[this.curInd3]) this.curArticle3 = this.articles3[this.curInd3] || {}
}, 5000)
},
@ -717,27 +715,26 @@ export default {
.action {
position: absolute;
bottom: 20px;
right: 20px;
left: 50%;
display: flex;
align-items: center;
font-size: 14px;
color: rgba(255, 255, 255, 0.65);
transform: translateX(-50%);
}
.inds {
display: inline-flex;
margin: 0 5px;
margin: 0 15px;
li {
width: 10px;
height: 10px;
margin-right: 6px;
background: rgba(255, 255, 255, 0.65);
background: rgba(255, 255, 255, 1);
border-radius: 50%;
transition: 0.2s;
cursor: pointer;
&.active {
width: 20px;
background: rgba(255, 255, 255, 0.3);
border-radius: 5px;
background: #1583ff;
}
&:last-child {
margin-right: 0;
@ -745,6 +742,8 @@ export default {
}
}
.dir {
font-size: 1.2rem;
color: #fff;
line-height: 1;
cursor: pointer;
}

@ -15,14 +15,20 @@
<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"
<el-image class="block-pic br wow fadeInLeft"
data-wow-delay="0.8s"
style="width: 100%; height: 536px"
:src="modules[1].form.pic"
:preview-src-list="[modules[1].form.pic]">
</el-image>
<!-- <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)">
@click="openLink(modules[1].form)"> -->
</div>
</div>
@ -101,6 +107,7 @@
colspan="11">暂无数据</td>
</tr>
</table>
<div class="copyright">全球先进光源页面所刊载内容包括图片文字数据源自相关设施官方网站宣传手册以及国际原子能机构IAEA网站公开数据由深圳综合粒子设施研究院及中国科学学与科技政策研究会科技基础设施专业委员会共同汇总整理而来相关内容供访问者学习研究如需转载或引用须声明内容来源</div>
</div>
</div>
</div>
@ -198,6 +205,12 @@ export default {
text-align: left;
}
}
.copyright {
margin-top: 10px;
font-size: 0.7rem;
line-height: 1.6;
color: #8d8d8d;
}
@media (max-width: 1200px) {
.table-wrap {
width: 100%;

@ -120,22 +120,23 @@ export default {
width: 100%;
height: 400px;
}
&:nth-child(2) .texts {
left: auto;
right: -36px;
color: #fff;
background: rgba(40, 179, 255, 0.54);
}
.texts {
position: absolute;
top: 79px;
left: -34px;
width: 532px;
padding: 70px 38px;
padding: 70px 38px 70px 55px;
color: #333;
background: rgba(255, 241, 231, 0.84);
transition: 0.5s;
}
&:nth-child(2) .texts {
left: auto;
right: -36px;
padding-left: 38px;
color: #fff;
background: rgba(40, 179, 255, 0.54);
}
h6 {
margin-bottom: 14px;
font-size: 2rem;

@ -108,7 +108,7 @@ export default {
console.log("🚀 ~ file: index.vue ~ line 180 ~ this.$post ~ json", json)
//
const { column, articleNum } = json[1].form
const { column } = json[1].form
if (column.length) {
this.$post(`${this.api.queryArticlesByColumnType}?columnId=${column[column.length - 1]}`).then(({ data }) => {
const articles = Util.removeTag(data)
@ -131,7 +131,7 @@ export default {
list.forEach(e => {
e.sortTitle = pinyin(e.title, { toneType: 'none' })[0].toUpperCase()
})
this.letters = ['全部', ...this.letters.filter(e => list.find(n => n.sortTitle == e))]
return list.sort((a, b) => a.sortTitle.charCodeAt(0) - b.sortTitle.charCodeAt(0))
},
//

@ -21,7 +21,6 @@
<div class="text"
v-html="modules[1].form.des"></div>
<div class="sign">
签名
<img :src="modules[2].form.pic"
alt="">
</div>

Loading…
Cancel
Save