yujialong 2 years ago
parent aeba41b8cc
commit 4f25a12574
  1. 3
      src/components/modules/link.vue
  2. 15
      src/components/modules/module.vue
  3. 195
      src/const/modules.js
  4. 9
      src/mixins/page/index.js
  5. 5
      src/pages/article/add/index.vue
  6. 7
      src/pages/column/add/index.vue
  7. 870
      src/pages/column/page/sfel.vue
  8. 2
      src/pages/column/page/survey.vue
  9. 4
      src/setting.js

@ -174,8 +174,7 @@ export default {
}, },
// //
getOtherColumn() { getOtherColumn() {
console.log(55, this.data) this.data.site && this.$post(this.api.listWithTree, {
this.$post(this.api.listWithTree, {
siteId: this.data.site, siteId: this.data.site,
columnName: '', columnName: '',
templateId: '', templateId: '',

@ -161,6 +161,7 @@ export default {
}, },
data() { data() {
return { return {
site: this.$store.state.content.site,
headers: { headers: {
token: Util.local.get(Setting.tokenKey) token: Util.local.get(Setting.tokenKey)
}, },
@ -297,7 +298,6 @@ export default {
// //
uploadSuccess(res, row, item = {}) { uploadSuccess(res, row, item = {}) {
this.$set(row, item.type === 'video' ? 'video' : 'pic', res.url) this.$set(row, item.type === 'video' ? 'video' : 'pic', res.url)
console.log("🚀 ~ file: module.vue:299 ~ uploadSuccess ~ res, row", res, row, item)
}, },
// //
delRow(list, i) { delRow(list, i) {
@ -309,6 +309,19 @@ export default {
}, },
// //
toLink(row, i = 0) { toLink(row, i = 0) {
if (!row.link.linkName) {
row.link = {
linkName: '无',
connectionType: 1,
columnId: [],
articleId: '',
linkAddress : '',
site: this.site.id,
otherColumnId: [],
otherArticleId: '',
isOpen: 1
}
}
this.curIndex = i this.curIndex = i
this.linkForm = row.link this.linkForm = row.link
this.linkVisible = true this.linkVisible = true

@ -3531,7 +3531,7 @@ export default {
list: [ list: [
{ {
pic: 'http://10.10.11.7/images/edu/1.png', pic: 'http://10.10.11.7/images/edu/1.png',
title: 'EDUCATION & COLLABORATION', title: '科普之窗',
link: { link: {
linkName: '无', linkName: '无',
connectionType: 1, connectionType: 1,
@ -3698,7 +3698,7 @@ export default {
list: [ list: [
{ {
pic: 'http://10.10.11.7/images/talent/1.png', pic: 'http://10.10.11.7/images/talent/1.png',
title: 'EDUCATION & COLLABORATION', title: '人才队伍',
link: { link: {
linkName: '无', linkName: '无',
connectionType: 1, connectionType: 1,
@ -4046,7 +4046,7 @@ export default {
list: [ list: [
{ {
pic: 'http://10.10.11.7/images/talent/1.png', pic: 'http://10.10.11.7/images/talent/1.png',
title: 'EDUCATION & COLLABORATION', title: '用户共享',
link: { link: {
linkName: '无', linkName: '无',
connectionType: 1, connectionType: 1,
@ -4226,8 +4226,8 @@ export default {
}, },
list: [ list: [
{ {
pic: 'http://10.10.11.7/images/talent/1.png', pic: 'http://10.10.11.7/images/exp/1.png',
title: 'EDUCATION & COLLABORATION', title: '装置介绍',
link: { link: {
linkName: '无', linkName: '无',
connectionType: 1, connectionType: 1,
@ -4391,8 +4391,8 @@ export default {
}, },
list: [ list: [
{ {
pic: 'http://10.10.11.7/images/talent/1.png', pic: 'http://10.10.11.7/images/survey/1.png',
title: 'EDUCATION & COLLABORATION', title: 'S³FEL概况',
link: { link: {
linkName: '无', linkName: '无',
connectionType: 1, connectionType: 1,
@ -4487,4 +4487,185 @@ export default {
} }
}, },
], ],
sfel: [
{
type: 'introduce',
forms: [
{
type: 'upload',
prop: 'pic',
label: '图片',
required: true,
crop: false
},
{
type: 'input',
prop: 'title',
label: '标题',
required: true
},
{
type: 'link',
prop: 'link',
label: '链接'
}
],
form: {
pic: '',
title: '',
link: {
linkName: '无',
connectionType: 1,
columnId: [],
articleId: '',
linkAddress : '',
site: '',
otherColumnId: [],
otherArticleId: '',
isOpen: 1
},
isEnable: 1
},
list: [
{
pic: 'http://10.10.11.7/images/news/1.png',
title: '',
link: {
linkName: '无',
connectionType: 1,
columnId: [],
articleId: '',
linkAddress : '',
site: '',
otherColumnId: [],
otherArticleId: '',
isOpen: 1
},
isEnable: 1
}
]
},
{
type: 'columns',
form: {
columnName: '',
site: '',
column: '',
articleNum: '',
columnTitle: 1,
columnTitleCustom: ''
},
list: [
{
columnName: 'General news',
site: '',
column: '',
articleNum: '',
columnTitle: 1,
columnTitleCustom: ''
},
{
columnName: 'Research news',
site: '',
column: '',
articleNum: '',
columnTitle: 1,
columnTitleCustom: ''
},
{
columnName: 'General news',
site: '',
column: '',
articleNum: '',
columnTitle: 1,
columnTitleCustom: ''
},
{
columnName: 'General news',
site: '',
column: '',
articleNum: '',
columnTitle: 1,
columnTitleCustom: ''
},
{
columnName: 'Research news',
site: '',
column: '',
articleNum: '',
columnTitle: 1,
columnTitleCustom: ''
},
{
columnName: 'Journal covers',
site: '',
column: '',
articleNum: '',
columnTitle: 1,
columnTitleCustom: ''
},
]
},
{
type: 'form',
forms: [
{
type: 'input',
prop: 'title',
label: '标题',
required: true
},
{
type: 'textarea',
prop: 'des',
label: '概述'
}
],
form: {
title: 'Seminars & Workshops',
des: 'What makes a ligh chinese bay chaser'
}
},
{
type: 'column',
form: {
site: '',
column: '',
articleNum: '',
columnTitle: 1,
columnTitleCustom: ''
}
},
{
type: 'form',
forms: [
{
type: 'input',
prop: 'title',
label: '标题',
required: true
},
{
type: 'textarea',
prop: 'des',
label: '概述'
}
],
form: {
title: 'Conference',
des: 'What makes a ligh chinese bay chaser'
}
},
{
type: 'column',
form: {
site: '',
column: '',
articleNum: '',
articleNumOpt: 8,
columnTitle: 1,
columnTitleCustom: ''
}
},
],
} }

@ -61,14 +61,21 @@ export default {
if (form && form.link && !form.link.site) form.link.site = siteId if (form && form.link && !form.link.site) form.link.site = siteId
if (form && type === 'column' && !form.site) form.site = siteId if (form && type === 'column' && !form.site) form.site = siteId
}) })
const { modules } = this
// 查询页面详情 // 查询页面详情
this.$post(`${this.api.findPage}?columnId=${this.columnId}`).then(({ data }) => { this.$post(`${this.api.findPage}?columnId=${this.columnId}`).then(({ data }) => {
if (data.length) { if (data.length) {
const json = data[0] const json = data[0]
this.id = json.id this.id = json.id
const str = json[json.state ? 'theEditedJson' : 'jsonBeforeEditing'] const str = json[json.state ? 'theEditedJson' : 'jsonBeforeEditing']
const list = JSON.parse(str)
this.originModules = str // 原始json,用以页面离开的时候判断是否需要提示保存 this.originModules = str // 原始json,用以页面离开的时候判断是否需要提示保存
this.modules = JSON.parse(str) list.map((e, i) => {
if ((e.type === 'banner' || e.type === 'introduce') && !e.originForm) {
e.originForm = modules[i].originForm
}
})
this.modules = list
console.log("🚀 ~ file: index.js ~ line 53 ~ this.$post ~ this.modules", this.modules) console.log("🚀 ~ file: index.js ~ line 53 ~ this.$post ~ this.modules", this.modules)
} }
}).catch(err => {}) }).catch(err => {})

@ -539,7 +539,7 @@ export default {
titleImg: '', titleImg: '',
connectionType : 1, connectionType : 1,
linkAddress: '', linkAddress: '',
siteSelection: 1, siteSelection: '',
fileList: [], fileList: [],
isOpen: 1 isOpen: 1
}, },
@ -804,6 +804,7 @@ export default {
limit: 1000, limit: 1000,
siteName: '' siteName: ''
}).then(({ data }) => { }).then(({ data }) => {
data.records.splice(data.records.findIndex(e => e.id == this.site.id), 1) //
this.sites = data.records this.sites = data.records
}).catch(e => {}) }).catch(e => {})
}, },
@ -1313,7 +1314,7 @@ $upload-lg-height: 102px;
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
width: 955px; width: 955px;
height: 320px; // height: 320px;
margin-top: 20px; margin-top: 20px;
overflow: auto; overflow: auto;
li { li {

@ -186,7 +186,7 @@
</el-form-item> </el-form-item>
<el-form-item prop="listStyleId" label="列表样式"> <el-form-item prop="listStyleId" label="列表样式">
<ul class="styles"> <ul class="styles">
<li v-for="(item, i) in pageStyle" :key="i"> <li v-for="(item, i) in pageStyle" :key="i" @click="form.listStyleId = item.id">
<div class="review"> <div class="review">
<img :src="require('@/assets/images/page/' + item.path + '.png')" alt=""> <img :src="require('@/assets/images/page/' + item.path + '.png')" alt="">
</div> </div>
@ -272,7 +272,7 @@ export default {
connectionType: 1, connectionType: 1,
linkAddress : '', linkAddress : '',
showWithDetails: 0, showWithDetails: 0,
siteSelection: 1, siteSelection: '',
status: 1, status: 1,
sort: 1, sort: 1,
isOpen: 1 isOpen: 1
@ -494,12 +494,13 @@ export default {
limit: 1000, limit: 1000,
siteName: '' siteName: ''
}).then(({ data }) => { }).then(({ data }) => {
data.records.splice(data.records.findIndex(e => e.id == this.site.id), 1) //
this.sites = data.records this.sites = data.records
}).catch(e => {}) }).catch(e => {})
}, },
// //
getOtherColumn(val) { getOtherColumn(val) {
this.$post(this.api.listWithTree, { this.form.siteSelection && this.$post(this.api.listWithTree, {
siteId: this.form.siteSelection, siteId: this.form.siteSelection,
columnName: '', columnName: '',
templateId: '', templateId: '',

@ -0,0 +1,870 @@
<template>
<div class="wrap">
<div class="actions">
<p class="page-name">页面设置/RESEARCH</p>
<div>
<el-button type="primary" @click="preview">预览</el-button>
<el-button @click="save(0)">保存为草稿</el-button>
<el-button type="primary" @click="save(1)">发布</el-button>
<el-button @click="back">放弃编辑</el-button>
</div>
</div>
<div class="modules">
<div class="relative">
<el-carousel height="480px" :indicator-position="modules[0].list.filter(e => e.isEnable).length > 1 ? '' : 'none'">
<template v-for="(item, i) in modules[0].list">
<el-carousel-item v-if="item.pic && item.isEnable" :key="i">
<img width="100%" height="100%" :src="item.pic" alt="">
</el-carousel-item>
</template>
</el-carousel>
<div class="cover" @click="toSet(0)">点击更换banner与链接</div>
</div>
<div class="block banner-block">
<div class="inner" v-if="modules[1].list[curColumn].articles.length">
<div class="title">
<h5>
新闻动态
<span class="sub"> NEWS CENTER</span>
</h5>
<span class="more">MORE</span>
</div>
<div class="banner wow fadeInDown" data-wow-delay="0.5s" @click="toArtice(curArticle, modules[1].list[curColumn])">
<img width="50%" height="410" :src="curArticle.titleImg" alt="">
<div class="right">
<h6>{{ curArticle.title }}</h6>
<div class="des" v-html="curArticle.mainBody"></div>
<p class="meta">{{ curArticle.createTime }} {{ curArticle.author && ' | ' + curArticle.author }}</p>
<ul class="inds">
<li v-for="i in 3" :key="i" :class="{active: curInd == i - 1}" @click.stop="switchCarousel(i - 1)"></li>
</ul>
</div>
</div>
<ul class="card">
<template v-for="(item, i) in modules[1].list[curColumn].articles">
<li v-if="i > 2" :key="i" class="wow fadeInDown" :data-wow-delay="(0.1 * i).toFixed(1) + 's'">
<img class="pic" :src="item.titleImg" alt="">
<div class="texts">
<p class="meta">{{ item.createTime }} {{ item.author && ' | ' + item.author }}</p>
<div class="des">{{ item.title }}</div>
<img class="arrow" src="@/assets/images/arrow.png" alt="" @click="toArtice(item, modules[1].list[curColumn])">
</div>
</li>
</template>
</ul>
</div>
</div>
<div class="block notice">
<div class="inner lg">
<div class="title">
<h5>
通知公告
<span class="sub"> ANNOUNCEMENTS</span>
</h5>
<span class="more">MORE</span>
</div>
<div class="shop-shows" v-if="articles.length">
<div class="left wow fadeInLeft" data-wow-delay="0.5s" @click="toArtice(articles[0], modules[3].form)">
<el-carousel height="432px">
<el-carousel-item>
<div class="item">
<img src="@/assets/images/survey3.png" alt="">
<p class="text">关于2021年度深圳综合粒子设施研究院采购意向公开表</p>
</div>
</el-carousel-item>
<el-carousel-item>
<div class="item">
<img src="@/assets/images/survey3.png" alt="">
<p class="text">关于2021年度深圳综合粒子设施研究院采购意向公开表</p>
</div>
</el-carousel-item>
<el-carousel-item>
<div class="item">
<img src="@/assets/images/survey3.png" alt="">
<p class="text">关于2021年度深圳综合粒子设施研究院采购意向公开表</p>
</div>
</el-carousel-item>
</el-carousel>
<div class="cards" style="margin-top: 18px;">
<h6>关于2021年度深圳综合粒子设施研究院采购意向公开表</h6>
<div class="sum">把一个基因切成两段分别翻译成两段蛋白片段还会有原来的功能吗实多数蛋白片段会</div>
<p class="date">2022/02/26</p>
</div>
<div class="card-wrap">
<div class="cards" style="margin-right: 18px">
<h6>关于2021年度深圳综合粒子设施研究院采购意向公开表</h6>
<p class="date">2022/02/26</p>
</div>
<div class="cards">
<h6>关于2021年度深圳综合粒子设施研究院采购意向公开表</h6>
<p class="date">2022/02/26</p>
</div>
</div>
</div>
<div class="right wow fadeInRight" data-wow-delay="0.5s">
<ul class="card-list">
<template v-for="(item, i) in articles">
<li v-if="i > 2" :key="i">
<img class="pic" :src="item.titleImg" alt="">
<div class="texts">
<h6>{{ item.title }}</h6>
<div class="des" v-html="item.mainBody"></div>
</div>
</li>
</template>
</ul>
<div class="slide">
<img src="@/assets/images/survey3.png" alt="">
<p class="text">深圳综合粒子设施研究院与中国科学院</p>
</div>
</div>
</div>
</div>
</div>
<div class="block conference">
<div class="inner lg">
<div class="title">
<h5>
学术活动
<span class="sub"> ACADEMIC ACTIVITIES</span>
</h5>
<span class="more">MORE</span>
</div>
<div class="shows" v-if="articles1.length">
<div class="left wow fadeInLeft" data-wow-delay="0.5s" @click="toArtice(articles1[0], modules[5].form)">
<img width="100%" height="100%" :src="articles1[0].titleImg" alt="">
<div class="text">关于2021年度深圳综合粒子设施研究院采购意向公开表</div>
</div>
<ul class="card-list wow fadeInRight" data-wow-delay="0.5s">
<template v-for="(item, i) in articles1">
<li v-if="i" :key="i" @click="toArtice(item, modules[5].form)">
<img class="pic" :src="item.titleImg" alt="">
<div class="texts">
<h6>{{ item.title }}</h6>
<p class="sum">加速器总体-直线加速器总体-高重频电子枪组</p>
<p v-if="item.keynoteSpeaker" class="text">
<img class="icon" src="@/assets/images/mine.png" alt="">
{{ item.keynoteSpeaker }}
</p>
<p v-if="item.activityStartTime" class="text">
<img class="icon" src="@/assets/images/time.png" alt="">
Time: {{ item.activityStartTime + ' ~ ' + item.activityEndTime }}
</p>
<p v-if="item.onlineLocation" class="text">
<img class="icon" src="@/assets/images/online.png" alt="">
Address: {{ item.onlineLocation }}
</p>
</div>
</li>
</template>
</ul>
</div>
</div>
</div>
<div class="block media">
<div class="inner">
<div class="title">
<h5>
媒体采风
<span class="sub"> MEDIA COVERAGE</span>
</h5>
<span class="more">MORE</span>
</div>
<div class="media-wrap">
<div class="left">
<div class="slides">
<div class="item wow fadeInLeft" data-wow-delay="0.5s" style="margin-right: 20px">
<img width="100%" height="100%" :src="articles1[0].titleImg" alt="">
<div class="text">关于2021年度深圳综合粒子设施研究院采购意向公开表</div>
</div>
<div class="item wow fadeInLeft" data-wow-delay="0.5s">
<img width="100%" height="100%" :src="articles1[0].titleImg" alt="">
<div class="text">关于2021年度深圳综合粒子设施研究院采购意向公开表</div>
</div>
</div>
<ul class="list">
<li>
<h6>对话未来科学奖得主杨学明真正自立自强要靠在实验科学先进仪器</h6>
<div class="des">6月12日上午深圳综合粒子设施研究院与深圳大学签署战略合作框架协议深圳大学党委书记校长李清泉深大学签署圳大学党委</div>
</li>
<li>
<h6>对话未来科学奖得主杨学明真正自立自强要靠在实验科学先进仪器</h6>
<div class="des">6月12日上午深圳综合粒子设施研究院与深圳大学签署战略合作框架协议深圳大学党委书记校长李清泉深大学签署圳大学党委</div>
</li>
<li>
<h6>对话未来科学奖得主杨学明真正自立自强要靠在实验科学先进仪器</h6>
<div class="des">6月12日上午深圳综合粒子设施研究院与深圳大学签署战略合作框架协议深圳大学党委书记校长李清泉深大学签署圳大学党委</div>
</li>
</ul>
</div>
<div class="right">
<img src="@/assets/images/survey3.png" alt="">
<div class="texts">
<h6>关于2021年度深圳综合粒子设施研究院采购公开表</h6>
<div class="des">把一个基因切成两段分别翻译成两段蛋白片段还会有原来的功能吗实多数蛋白片段会</div>
</div>
</div>
</div>
</div>
</div>
<div class="block news">
<div class="inner">
<div class="title">
<h5>
出版物
<span class="sub"> PUBLICATIONS</span>
</h5>
<span class="more">MORE</span>
</div>
<ul class="news">
<!-- <li v-for="(item, i) in modules[6].list" :key="i" class="wow fadeInDown" :data-wow-delay="(0.2 * i).toFixed(1) + 's'" :class="{'cursor-pointer': item.link.linkName !== '无'}" @click="openLink(item)">
<img :src="item.pic" alt="">
<div class="texts">
<h6>{{ item.title }}</h6>
<div class="des">{{ item.des }}</div>
</div>
</li> -->
</ul>
</div>
</div>
<div class="block program">
<div class="inner">
<div class="title">
<h5>
工程进展
<span class="sub">PRROJECT PROGRESS</span>
</h5>
<span class="more">MORE</span>
</div>
<div class="slide">
<div class="texts">
<h6>超快自由电子激光脉冲特性诊断研究方面取得重要进展</h6>
<div class="des">X射线自由电子激光已经成为了化学生物物理等领域不可或缺的研究手段对于绝大多数自由电子激研究院紧密围绕高水平建设综合性国家科学中心战略目标面向国民经济主战场和世界科技前沿</div>
<div class="meta">发表日期2022.01.10 &emsp;浏览量备份</div>
</div>
<img class="pic" src="@/assets/images/survey3.png" alt="">
</div>
<ul class="list">
<li>
<div class="des">X射线自由电子激光是基于国际最先进的超导加速器技术研发的装置对于未来产业发展和基础科学应用有重要作用</div>
<p class="date">2022.10.10</p>
</li>
<li>
<div class="des">X射线自由电子激光是基于国际最先进的超导加速器技术研发的装置对于未来产业发展和基础科学应用有重要作用</div>
<p class="date">2022.10.10</p>
</li>
<li>
<div class="des">X射线自由电子激光是基于国际最先进的超导加速器技术研发的装置对于未来产业发展和基础科学应用有重要作用</div>
<p class="date">2022.10.10</p>
</li>
</ul>
</div>
</div>
</div>
<div class="tools">
<div class="logo">
<img src="@/assets/images/logo.png" alt="">
</div>
<ul class="nav">
<li v-for="(item, i) in columns" :key="i" class="column">{{ item.columnName }}</li>
</ul>
</div>
</div>
</template>
<script>
import mixins from '@/mixins/page'
import Modules from '@/const/modules'
export default {
mixins: [mixins],
data() {
return {
modules: Modules.sfel
}
},
mounted() {
this.$store.commit('user/setCrumbs', [
{
name: '站点管理',
route: '/site'
},
{
name: '内容管理',
route: '/column'
},
{
name: '栏目管理',
route: '/column'
},
{
name: 'SFEL'
}
])
},
methods: {
}
};
</script>
<style lang="scss" scoped>
@import "../../../styles/page/page.scss";
.title {
display: flex;
justify-content: space-between;
align-items: flex-end;
padding-bottom: 25px;
margin-bottom: 30px;
border-bottom: 1px solid #ddd;
h5 {
padding-left: 16px;
font-size: 36px;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #333333;
line-height: 1;
border-left: 6px solid #2B96EF;
}
.sub {
font-size: 22px;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #AFB7BF;
}
.more {
font-size: 14px;
color: #666;
cursor: pointer;
}
}
.lg {
width: 1505px;
}
/deep/.articles {
width: 50%;
.el-carousel__indicators--horizontal {
bottom: 20px;
left: 804px;
}
}
.banner-block {
background: url(../../assets/images/sfel/2.png) 0 0/cover no-repeat;
}
.banner {
display: flex;
cursor: pointer;
.pic {
width: 700px;
height: 380px;
}
.right {
position: relative;
width: 50%;
padding: 50px 50px 30px;
background: #1583FF;
color: #fff;
&:hover {
background: #465f85;
h6, .des, .meta {
color: #fff;
transform: translateY(15px);
}
}
}
.inds {
position: absolute;
bottom: 40px;
left: 60px;
display: flex;
li {
width: 10px;
height: 10px;
margin-right: 12px;
background: #FFFFFF;
border-radius: 50%;
transition: .2s;
&.active {
width: 30px;
background: rgba(255,255,255,0.3);
border-radius: 5px;
}
}
}
h6 {
font-size: 24px;
transition: .3s;
}
.des {
margin: 30px 0;
font-size: 16px;
line-height: 24px;
transition: .3s;
}
.meta {
font-size: 16px;
transition: .3s;
}
}
.card {
display: flex;
flex-wrap: wrap;
margin-top: 40px;
li {
width: calc((100% - 56px) / 3);
margin-right: 28px;
box-shadow: 0px 0px 20px 0px rgba(176,176,176,0.21);
border-radius: 6px;
transition: .3s;
&:hover {
transform: scale(1.05);
}
&:last-child {
margin-right: 0;
}
}
.pic {
width: 100%;
height: 240px;
}
.texts {
padding: 40px 30px;
}
.meta {
font-size: 16px;
color: #666;
}
.des {
margin: 10px 0;
font-size: 20px;
font-family: SFProDisplay;
font-weight: 500;
color: #333;
line-height: 28px;
}
.arrow {
width: 36px;
}
}
.notice {
background: url(../../assets/images/sfel/3.png) 0 0/cover no-repeat;
}
.shop-shows {
display: flex;
.left {
width: 660px;
margin-right: 20px;
.item {
position: relative;
height: 100%;
img {
width: 100%;
height: 100%;
}
.text {
position: absolute;
bottom: 0;
left: 0;
width: 100%;
padding: 0 20px;
font-size: 18px;
color: #fff;
line-height: 59px;
background-color: rgba(0, 0, 0, 0.57);
}
}
.card-wrap {
display: flex;
margin-top: 18px;
}
.cards {
padding: 20px;
background-color: #fff;
h6 {
margin-bottom: 10px;
font-size: 18px;
color: #48525E;
}
.sum {
font-size: 14px;
color: #6D7C8E;
}
.date {
margin-top: 24px;
font-size: 14px;
color: #C4CCD7;
}
}
h6 {
font-size: 24px;
color: #272727;
}
.des {
margin-top: 10px;
font-size: 16px;
color: #666;
line-height: 30px;
}
}
.right {
width: 824px;
}
.card-list {
li {
display: flex;
align-items: center;
padding: 24px;
margin-bottom: 18px;
background-color: #fff;
transition: .3s;
&:hover {
transform: scale(1.05);
}
}
.pic {
width: 116px;
height: 85px;
margin-right: 28px;
}
.texts {
width: 504px;
margin-right: 60px;
}
h6 {
margin-bottom: 10px;
font-size: 18px;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #1583FF;
}
.des {
font-size: 16px;
color: #666;
line-height: 26px;
-webkit-line-clamp: 2;
}
}
.slide {
position: relative;
height: 284px;
img {
width: 100%;
height: 100%;
}
.text {
position: absolute;
bottom: 0;
left: 0;
width: 100%;
padding: 0 12px;
line-height: 59px;
font-size: 18px;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #FFFFFF;
background-color: rgba(0, 0, 0, 0.57);
}
}
}
.conference {
background: url(../../assets/images/sfel/4.png) 0 0/cover no-repeat;
.shows {
display: flex;
}
.left {
position: relative;
width: 688px;
height: 688px;
margin-right: 20px;
cursor: pointer;
.text {
position: absolute;
bottom: 0;
left: 0;
width: 100%;
padding: 0 12px;
line-height: 59px;
font-size: 18px;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #FFFFFF;
background-color: rgba(0, 0, 0, 0.57);
}
}
.card-list {
width: 784px;
li {
display: flex;
align-items: center;
padding: 14px;
margin-bottom: 21px;
background-color: #fff;
cursor: pointer;
transition: .3s;
&:last-child {
margin-bottom: 0;
}
&:hover {
transform: translateX(20px);
}
}
.pic {
width: 188px;
height: 188px;
margin-right: 36px;
}
h6 {
margin-bottom: 10px;
font-size: 20px;
color: #333;
}
.sum {
font-size: 16px;
color: #666;
}
.text {
display: flex;
align-items: center;
margin: 10px 0;
}
.icon {
margin-right: 5px;
}
}
}
.media {
background: #fff;
.media-wrap {
display: flex;
}
.left {
width: 55%;
margin-right: 1%;
.slides {
display: flex;
margin-bottom: 20px;
}
.item {
position: relative;
width: 366px;
height: 197px;
img {
width: 100%;
height: 100%;
}
.text {
position: absolute;
bottom: 0;
left: 0;
width: 100%;
padding: 0 27px;
line-height: 48px;
font-size: 16px;
color: #FFFFFF;
@include ellipsis;
background-color: rgba(0, 0, 0, 0.49);
}
}
.list {
padding: 34px 36px;
background: #fff;
box-shadow: 0px 0px 30px 0px rgba(48,48,48,0.08);
li {
margin-bottom: 41px;
&:last-child {
margin-bottom: 0;
}
}
h6 {
margin-bottom: 17px;
font-size: 20px;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #272727;
line-height: 20px;
text-shadow: 0px 0px 30px rgba(48,48,48,0.08);
}
.des {
font-size: 14px;
color: #666;
}
}
}
.right {
width: 44%;
box-shadow: 0px 0px 30px 0px rgba(48,48,48,0.08);
img {
width: 100%;
height: 422px;
}
.texts {
padding: 40px 28px;
background: #fff;
}
h6 {
font-size: 24px;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #272727;
line-height: 39px;
text-shadow: 0px 0px 30px rgba(48,48,48,0.08);
}
.des {
margin-top: 16px;
font-size: 16px;
color: #666;
}
}
}
.news {
background: url(../../assets/images/sfel/5.png) (0 504px)/auto no-repeat,
url(../../assets/images/sfel/6.png) (bottom right)/auto no-repeat;
.inner {
width: 1400px;
}
}
.news {
display: flex;
justify-content: center;
flex-wrap: wrap;
li {
position: relative;
width: calc((100% - 56px) / 3);
padding: 11px;
margin-right: 28px;
color: #333;
background-color: #fff;
box-shadow: 0px 5px 20px 0px rgba(98,117,163,0.08);
border-radius: 10px;
transition: .3s;
&:hover {
transform: translateY(20px);
}
&:nth-child(3n) {
margin-right: 0;
}
&:hover {
color: #fff;
background-color: #0252D9;
}
}
img {
width: 100%;
height: 481px;
}
.texts {
padding: 0 18px 50px;
}
h6 {
margin: 35px 0 12px;
font-size: 24px;
line-height: 33px;
}
.des {
font-size: 18px;
line-height: 26px;
}
}
.program {
background: #fff;
.slide {
display: flex;
margin-bottom: 14px;
}
.texts {
width: 51%;
padding: 56px;
background: #FBFBFB;
h6 {
font-size: 24px;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #333333;
}
.des {
margin: 35px 0 25px;
font-size: 16px;
color: #666;
line-height: 32px;
}
.meta {
font-size: 14px;
color: #666;
}
}
.pic {
width: 49%;
height: 430px;
}
.list {
display: flex;
li {
width: calc((100% - 44px) / 3);
padding: 36px 22px;
margin-right: 14px;
background: url(../../assets/images/sfel/7.png) 0 0/cover no-repeat;
&:nth-child(2) {
background-image: url(../../assets/images/sfel/8.png);
}
&:nth-child(3) {
margin-right: 0;
background-image: url(../../assets/images/sfel/9.png);
}
}
.des {
margin-bottom: 30px;
font-size: 18px;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #FFFFFF;
line-height: 30px;
}
.date {
font-size: 16px;
font-family: LaoSangamMN;
color: #FFFFFF;
}
}
}
.tools {
position: absolute;
top: 600px;
left: 0;
width: 226px;
text-align: center;
.logo {
padding: 44px 0;
background: #0C60BE;
box-shadow: 0px 0px 20px 0px rgba(184,191,200,0.3);
}
.nav {
li {
padding: 0 10px;
font-size: 24px;
line-height: 83px;
color: #fff;
background-color: #1D1D1D;
cursor: pointer;
@include ellipsis;
&.active {
background-color: #1583FF;
}
}
}
}
@media (max-width: 1520px) {
.lg {
width: 98%;
}
}
</style>

@ -39,7 +39,7 @@
</div> </div>
<div v-if="active === 3" class="c-wrap"> <div v-if="active === 3" class="c-wrap">
<div v-html="modules[4].form.des"></div> <div v-html="modules[4].form.des"></div>
<div class="cover" @click="toSet(4)">点击更换描述</div> <div class="cover" style="min-height: 300px;" @click="toSet(4)">点击更换描述</div>
</div> </div>
</div> </div>
</div> </div>

@ -6,8 +6,8 @@ const isDev = process.env.NODE_ENV === 'development' // 开发环境
let host = `${location.origin}/` let host = `${location.origin}/`
if (isDev) { if (isDev) {
host = 'http://192.168.31.136:10000/' // 测试服 host = 'http://192.168.31.136:10000/' // 测试服
// host = 'http://192.168.31.51:10000/' // 榕 host = 'http://192.168.31.51:10000/' // 榕
host = 'http://192.168.31.116:10000/' // 赓 // host = 'http://192.168.31.116:10000/' // 赓
} }
const Setting = { const Setting = {

Loading…
Cancel
Save