yujialong 6 months ago
parent c85c10d515
commit 7a6823be70
  1. 4
      src/i18n/index.js
  2. 55
      src/pages/article/activity.vue
  3. 45
      src/pages/publish/show.vue

@ -71,6 +71,8 @@ export const messages = {
back: '返回', back: '返回',
comming: '暂无更多信息,敬请期待。', comming: '暂无更多信息,敬请期待。',
nothing: '没有找到您搜索的内容,您可尝试搜索其他关键词。', nothing: '没有找到您搜索的内容,您可尝试搜索其他关键词。',
source: '来源',
keyword: '关键字',
} }
}, },
'en': { 'en': {
@ -144,6 +146,8 @@ export const messages = {
back: 'Back', back: 'Back',
comming: 'coming soone', comming: 'coming soone',
nothing: `We couldn't find the content you were searching for. You can try searching for other keywords.`, nothing: `We couldn't find the content you were searching for. You can try searching for other keywords.`,
source: 'Source',
keyword: 'Keyword',
} }
} }
}; };

@ -1,42 +1,33 @@
<template> <template>
<div class="wrap"> <div class="wrap">
<div v-if="form.bannerImg" <div v-if="form.bannerImg" class="banner"
class="banner"
:style="{ backgroundImage: form.bannerImg ? ('url(' + form.bannerImg + ')') : '' }"> :style="{ backgroundImage: form.bannerImg ? ('url(' + form.bannerImg + ')') : '' }">
{{ form.columnName }} {{ form.columnName }}
</div> </div>
<div class="content"> <div class="content">
<Breadcrumb ref="breadcrumb" <Breadcrumb ref="breadcrumb" :data.sync="routes" />
:data.sync="routes" />
<div class="article"> <div class="article">
<div class="left"> <div class="left">
<h2>{{ form.title }}</h2> <h2>{{ form.title }}</h2>
<div class="meta">{{$t('column.time')}}{{ form.activityStartTime }}</div> <div class="meta">{{ $t('column.time') }}{{ form.activityStartTime }} ~ {{ form.activityEndTime }}</div>
<div v-if="form.offlineLocation" <div v-if="form.offlineLocation" class="meta">{{ $t('column.address') }}{{ form.offlineLocation }}</div>
class="meta">{{$t('column.address')}}{{ form.offlineLocation }}</div> <div v-if="form.onlineLocation" class="meta">{{ $t('column.online') }}{{ form.onlineLocation }}</div>
<div v-if="form.onlineLocation" <div v-if="form.offlineLocation" class="meta">{{ $t('column.offline') }}{{ form.offlineLocation }}</div>
class="meta">{{$t('column.online')}}{{ form.onlineLocation }}</div> <div v-if="form.keynoteSpeaker" class="meta">{{ $t('column.speaker') }}{{ form.keynoteSpeaker }}</div>
<div v-if="form.offlineLocation" <div v-if="form.lectureSeries" class="meta">{{ $t('column.series') }}{{ form.lectureSeries }}</div>
class="meta">{{$t('column.offline')}}{{ form.offlineLocation }}</div> <div v-if="form.source" class="meta">{{ $t('column.source') }}{{ form.source }}</div>
<div v-if="form.keynoteSpeaker"
class="meta">{{$t('column.speaker')}}{{ form.keynoteSpeaker }}</div>
<div v-if="form.lectureSeries"
class="meta">{{$t('column.series')}}{{ form.lectureSeries }}</div>
<h6>{{ $t('column.ActivityIntroduction') }}</h6> <h6>{{ $t('column.ActivityIntroduction') }}</h6>
<div> {{ form.eventProfile }}</div> <div> {{ form.eventProfile }}</div>
<h6>{{ $t('column.content') }}</h6> <h6>{{ $t('column.content') }}</h6>
<div v-html="form.mainBody"></div> <div v-html="form.mainBody"></div>
<div v-if="form.fileList && form.fileList.length" <div v-if="form.fileList && form.fileList.length" class="annex">
class="annex">
<h6>{{ $t('column.attachmentDownload') }}</h6> <h6>{{ $t('column.attachmentDownload') }}</h6>
<ul class="files"> <ul class="files">
<li v-for="(file, i) in form.fileList" <li v-for="(file, i) in form.fileList" :key="i">
:key="i">
<span class="name">{{ file.fileName }}</span> <span class="name">{{ file.fileName }}</span>
<span class="download" <span class="download" @click="download(file)">{{ $t('column.download') }}</span>
@click="download(file)">{{$t('column.download')}}</span>
</li> </li>
</ul> </ul>
</div> </div>
@ -48,7 +39,6 @@
</template> </template>
<script> <script>
import Setting from '@/setting'
import Util from '@/libs/util' import Util from '@/libs/util'
import Breadcrumb from '@/components/breadcrumb' import Breadcrumb from '@/components/breadcrumb'
import RightColumns from '@/components/rightColumns' import RightColumns from '@/components/rightColumns'
@ -144,9 +134,11 @@ export default {
<style lang="scss" scoped> <style lang="scss" scoped>
@import './editor.css'; @import './editor.css';
.content { .content {
width: 1200px; width: 1200px;
} }
.banner { .banner {
height: 280px; height: 280px;
padding: 123px 0 0 243px; padding: 123px 0 0 243px;
@ -155,34 +147,42 @@ export default {
background: url(../../assets/images/intro-bg.png) 0 0/100% 100% no-repeat; background: url(../../assets/images/intro-bg.png) 0 0/100% 100% no-repeat;
object-fit: cover; object-fit: cover;
} }
.article { .article {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
.left { .left {
width: 66%; width: 66%;
} }
h2 { h2 {
margin-bottom: 20px; margin-bottom: 20px;
font-size: 36px; font-size: 36px;
color: #1c1c1c; color: #1c1c1c;
} }
.meta { .meta {
margin: 10px 0; margin: 10px 0;
font-size: 18px; font-size: 18px;
font-weight: 600; font-weight: 600;
color: #333; color: #333;
} }
/deep/.des { /deep/.des {
a { a {
color: rgb(0, 0, 238); color: rgb(0, 0, 238);
word-wrap: break-word; word-wrap: break-word;
} }
img { img {
max-width: 100%; max-width: 100%;
} }
} }
.annex { .annex {
margin-top: 30px; margin-top: 30px;
h6 { h6 {
padding-left: 8px; padding-left: 8px;
margin-bottom: 20px; margin-bottom: 20px;
@ -193,20 +193,24 @@ export default {
color: #333; color: #333;
border-left: 4px solid #1583ff; border-left: 4px solid #1583ff;
} }
li { li {
display: flex; display: flex;
align-items: center; align-items: center;
margin-bottom: 10px; margin-bottom: 10px;
} }
.name { .name {
margin-right: 8px; margin-right: 8px;
font-size: 14px; font-size: 14px;
} }
.download { .download {
color: #1583ff; color: #1583ff;
cursor: pointer; cursor: pointer;
} }
} }
h6 { h6 {
margin: 30px 0 10px; margin: 30px 0 10px;
font-size: 18px; font-size: 18px;
@ -218,6 +222,7 @@ export default {
width: 98%; width: 98%;
} }
} }
@media (max-width: 1200px) { @media (max-width: 1200px) {
.article { .article {
/deep/.des { /deep/.des {
@ -227,18 +232,23 @@ export default {
} }
} }
} }
.banner { .banner {
font-size: 1.5rem; font-size: 1.5rem;
} }
.article { .article {
flex-direction: column; flex-direction: column;
.left { .left {
width: 100%; width: 100%;
h2 { h2 {
font-size: 1.5rem; font-size: 1.5rem;
} }
} }
} }
.article { .article {
.des { .des {
img { img {
@ -246,6 +256,7 @@ export default {
} }
} }
} }
.right { .right {
width: 100%; width: 100%;
} }

@ -1,8 +1,7 @@
<template> <template>
<div class="wrap"> <div class="wrap">
<div class="content"> <div class="content">
<Breadcrumb ref="breadcrumb" <Breadcrumb ref="breadcrumb" :data.sync="routes" />
:data.sync="routes" />
<div class="article"> <div class="article">
<div class="left"> <div class="left">
<h2>{{ form.title }}</h2> <h2>{{ form.title }}</h2>
@ -10,21 +9,26 @@
<p class="name">{{ $t('column.author') }}</p> <p class="name">{{ $t('column.author') }}</p>
<p class="val">{{ form.author }}</p> <p class="val">{{ form.author }}</p>
</template> </template>
<template v-if="form.source">
<p class="name">{{ $t('column.source') }}</p>
<p class="val">{{ form.source }}</p>
</template>
<template v-if="form.quote"> <template v-if="form.quote">
<p class="name">{{ $t('column.quote') }}</p> <p class="name">{{ $t('column.quote') }}</p>
<p class="val">{{ form.quote }}</p> <p class="val">{{ form.quote }}</p>
</template> </template>
<template v-if="form.keyword">
<p class="name">{{ $t('column.keyword') }}</p>
<p class="val">{{ form.keyword }}</p>
</template>
<p class="name">{{ $t('column.introduce') }}</p> <p class="name">{{ $t('column.introduce') }}</p>
<div class="flex"> <div class="flex">
<div class="des" <div class="des" v-html="form.mainBody"></div>
v-html="form.mainBody"></div>
<!-- <img v-if="form.titleImg" width="222" height="222" :src="form.titleImg" alt=""> --> <!-- <img v-if="form.titleImg" width="222" height="222" :src="form.titleImg" alt=""> -->
</div> </div>
</div> </div>
<div class="right"> <div class="right">
<img class="pic" <img class="pic" src="@/assets/images/publish3.png" alt="">
src="@/assets/images/publish3.png"
alt="">
<div class="texts"> <div class="texts">
<template v-if="form.periodicalName"> <template v-if="form.periodicalName">
<p class="name">{{ $t('column.publicationName') }}</p> <p class="name">{{ $t('column.publicationName') }}</p>
@ -33,8 +37,7 @@
<p class="name">{{ $t('column.yearOfPublication') }}</p> <p class="name">{{ $t('column.yearOfPublication') }}</p>
<p class="val">{{ form.publicationYear }}{{ $t('column.year') }}</p> <p class="val">{{ form.publicationYear }}{{ $t('column.year') }}</p>
<div class="flex"> <div class="flex">
<div v-if="form.reel" <div v-if="form.reel" class="m-r-20">
class="m-r-20">
<p class="name">{{ $t('column.rollUp') }}</p> <p class="name">{{ $t('column.rollUp') }}</p>
<p class="val">{{ form.reel }}</p> <p class="val">{{ form.reel }}</p>
</div> </div>
@ -45,7 +48,8 @@
</div> </div>
<template v-if="form.publicationTypeId"> <template v-if="form.publicationTypeId">
<p class="name">{{ $t('column.publicationType') }}</p> <p class="name">{{ $t('column.publicationType') }}</p>
<p class="val">{{ form.publicationTypeId && publicationTypes.find(e => e.id == form.publicationTypeId).name }}</p> <p class="val">{{ form.publicationTypeId && publicationTypes.find(e => e.id ==
form.publicationTypeId).name }}</p>
</template> </template>
<template v-if="form.doi"> <template v-if="form.doi">
<p class="name">DOI</p> <p class="name">DOI</p>
@ -156,22 +160,27 @@ export default {
.wrap { .wrap {
background: url(../../assets/images/publish1.png) no-repeat; background: url(../../assets/images/publish1.png) no-repeat;
} }
.content { .content {
width: 1084px; width: 1084px;
padding-top: 25px; padding-top: 25px;
background: url(../../assets/images/publish2.png) bottom right/auto no-repeat; background: url(../../assets/images/publish2.png) bottom right/auto no-repeat;
} }
.breadcrumb { .breadcrumb {
margin-bottom: 25px; margin-bottom: 25px;
} }
.article { .article {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
.left { .left {
width: 846px; width: 846px;
padding: 30px; padding: 30px;
margin-right: 16px; margin-right: 16px;
background: #fff; background: #fff;
.name { .name {
font-size: 24px; font-size: 24px;
font-family: PingFangSC-Medium, PingFang SC; font-family: PingFangSC-Medium, PingFang SC;
@ -179,17 +188,20 @@ export default {
color: #333333; color: #333333;
line-height: 33px; line-height: 33px;
} }
.val { .val {
margin-bottom: 38px; margin-bottom: 38px;
font-size: 16px; font-size: 16px;
color: #333; color: #333;
line-height: 30px; line-height: 30px;
} }
.des { .des {
width: 100%; width: 100%;
// margin-right: 49px; // margin-right: 49px;
} }
} }
h2 { h2 {
padding-bottom: 27px; padding-bottom: 27px;
margin-bottom: 40px; margin-bottom: 40px;
@ -199,18 +211,22 @@ export default {
line-height: 50px; line-height: 50px;
border-bottom: 1px solid #ddd; border-bottom: 1px solid #ddd;
} }
.right { .right {
width: 222px; width: 222px;
background: #fff; background: #fff;
.texts { .texts {
padding: 15px; padding: 15px;
} }
.name { .name {
font-size: 14px; font-size: 14px;
font-family: PingFangSC-Regular, PingFang SC; font-family: PingFangSC-Regular, PingFang SC;
line-height: 20px; line-height: 20px;
color: #666666; color: #666666;
} }
.val { .val {
margin: 5px 0 36px; margin: 5px 0 36px;
font-size: 14px; font-size: 14px;
@ -220,36 +236,45 @@ export default {
line-height: 20px; line-height: 20px;
} }
} }
.list { .list {
margin-bottom: 20px; margin-bottom: 20px;
li { li {
padding: 16px 0; padding: 16px 0;
border-bottom: 1px solid #d8d8d8; border-bottom: 1px solid #d8d8d8;
} }
.text { .text {
margin-bottom: 5px; margin-bottom: 5px;
font-size: 14px; font-size: 14px;
cursor: pointer; cursor: pointer;
&:hover { &:hover {
color: $main-color; color: $main-color;
} }
} }
.date { .date {
font-size: 12px; font-size: 12px;
color: #999; color: #999;
} }
} }
} }
@media (max-width: 1084px) { @media (max-width: 1084px) {
.content { .content {
width: 95%; width: 95%;
} }
.article { .article {
flex-direction: column; flex-direction: column;
.left, .left,
.right { .right {
width: 100%; width: 100%;
} }
.right { .right {
margin: 20px 0 0; margin: 20px 0 0;
} }

Loading…
Cancel
Save