yujialong 2 years ago
parent 23b785bcbe
commit 82d0683446
  1. 11
      src/api/index.js
  2. BIN
      src/assets/images/newsProcurement/1.png
  3. BIN
      src/assets/images/newsProcurement/2.png
  4. BIN
      src/assets/images/newsProcurement/3.png
  5. BIN
      src/assets/images/page/newsProcurement.png
  6. 5
      src/const/column.js
  7. 2
      src/pages/article/add/editor.js
  8. 242
      src/pages/article/add/index.vue
  9. 18
      src/pages/column/list/index.vue
  10. 20
      src/pages/column/page/about.vue
  11. 4
      src/pages/column/page/careers.vue
  12. 4
      src/pages/column/page/edu.vue
  13. 4
      src/pages/column/page/home.vue
  14. 4
      src/pages/column/page/news.vue
  15. 42
      src/pages/column/page/newsPress.vue
  16. 232
      src/pages/column/page/newsProcurement.vue
  17. 6
      src/router/modules/column.js
  18. 3
      src/styles/common.scss

@ -56,4 +56,15 @@ export default {
savePage: `iasf/sysColumnLongPage/save`, savePage: `iasf/sysColumnLongPage/save`,
saveRedisPage: `iasf/sysColumnLongPage/saveTheCache`, saveRedisPage: `iasf/sysColumnLongPage/saveTheCache`,
updatePage: `iasf/sysColumnLongPage/update`, updatePage: `iasf/sysColumnLongPage/update`,
queryClassif: `iasf/content/classification/allTheQuery`,
delClassif: `iasf/content/classification/delete`,
checkClassif: `iasf/content/classification/checkForHeavy`,
saveClassif: `iasf/content/classification/save`,
updateClassif: `iasf/content/classification/update`,
checkLabel: `iasf/content/label/checkForHeavy`,
delLabel: `iasf/content/label/delete`,
checkLabel: `iasf/content/label/checkForHeavy`,
queryLabel: `iasf/content/label/queryAllArticleSubjectTags`,
saveLabel: `iasf/content/label/save`,
updateLabel: `iasf/content/label/update`,
} }

Binary file not shown.

After

Width:  |  Height:  |  Size: 688 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 769 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 324 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 332 KiB

@ -94,6 +94,11 @@ export default {
id: 6, id: 6,
path: 'newsPress', path: 'newsPress',
name: 'NEWS&EVENTS-PRESS ROOM' name: 'NEWS&EVENTS-PRESS ROOM'
},
{
id: 7,
path: 'newsProcurement',
name: 'NEWS&EVENTS-PROCUREMENT'
} }
], ],
} }

@ -342,7 +342,7 @@ export default {
editor.on('init', function(ed) { editor.on('init', function(ed) {
// 设置默认字体 // 设置默认字体
ed.target.editorCommands.execCommand("fontName", false, "PingFang SC") ed.target.editorCommands.execCommand("fontName", false, "PingFang SC")
ed.target.editorCommands.execCommand("fontSize", false, "19px"); ed.target.editorCommands.execCommand("fontSize", false, "19px")
}) })
}, },
} }

@ -53,6 +53,54 @@
></el-input> ></el-input>
</el-form-item> </el-form-item>
</div> </div>
<div class="item-line">
<el-form-item prop="source" label="编辑">
<el-input
placeholder="请输入编辑"
v-model.trim="form.source"
clearable
maxlength="15"
class="inline-input"
@change="nameChange"
></el-input>
</el-form-item>
<el-form-item prop="author" label="审核">
<el-input
placeholder="请输入审核"
v-model.trim="form.author"
clearable
maxlength="15"
class="inline-input"
@change="nameChange"
></el-input>
</el-form-item>
</div>
<div class="item-line">
<el-form-item prop="source" label="所属分类">
<el-select style="width: 234px;" v-model="form.typeId">
<el-option
v-for="item in classifications"
:key="item.id"
:label="item.classificationName"
:value="item.id">
</el-option>
</el-select>
<!-- <el-button class="set-btn" type="primary" @click="setClass">设置</el-button> -->
<el-button class="set-btn" type="primary">设置</el-button>
</el-form-item>
<el-form-item prop="author" label="主题标签">
<el-select style="width: 234px;" v-model="form.typeId">
<el-option
v-for="item in labels"
:key="item.id"
:label="item.labelName"
:value="item.id">
</el-option>
</el-select>
<!-- <el-button class="set-btn" type="primary" @click="setLabel">设置</el-button> -->
<el-button class="set-btn" type="primary">设置</el-button>
</el-form-item>
</div>
<el-form-item prop="summary" label="摘要"> <el-form-item prop="summary" label="摘要">
<el-input <el-input
style="width: 940px" style="width: 940px"
@ -203,6 +251,70 @@
:fixedNumber.sync="fixedNumber" :fixedNumber.sync="fixedNumber"
@upload="customUpload" /> @upload="customUpload" />
</el-dialog> </el-dialog>
<el-dialog title="所属分类设置" :visible.sync="classVisible" width="500px" :close-on-click-modal="false" class="manage-dia">
<div class="plus">
<i class="el-icon-circle-plus-outline" @click="addClass"></i>
</div>
<el-table :data="classifications" ref="table" header-align="center" row-key="id">
<el-table-column type="index" width="60" label="序号" align="center"></el-table-column>
<el-table-column prop="classificationName" label="分类名称" align="center" min-width="130">
<template slot-scope="scope">
<el-input
v-if="scope.row.edit"
placeholder="请输入分类名称"
v-model="scope.row.classificationName"
clearable
maxlength="30"
></el-input>
<span v-else>{{ scope.row.classificationName }}</span>
</template>
</el-table-column>
<el-table-column prop="updateTime1" label="是否引用" align="center" min-width="60"></el-table-column>
<el-table-column label="操作" align="center" min-width="60">
<template slot-scope="scope">
<i v-if="scope.row.edit" class="el-icon-check edit" @click="submitClass(scope.row)"></i>
<i v-else class="el-icon-edit edit" @click="editClass(scope.row)"></i>
<i class="el-icon-delete del" @click="delClass(scope.row)"></i>
</template>
</el-table-column>
</el-table>
<span slot="footer">
<el-button @click="classVisible = false">返回</el-button>
</span>
</el-dialog>
<el-dialog title="主题标签设置" :visible.sync="labelVisible" width="500px" :close-on-click-modal="false" class="manage-dia">
<div class="plus">
<i class="el-icon-circle-plus-outline" @click="addLabel"></i>
</div>
<el-table :data="labels" ref="table" header-align="center" row-key="id">
<el-table-column type="index" width="60" label="序号" align="center"></el-table-column>
<el-table-column prop="labelName" label="主题名称" align="center" min-width="130">
<template slot-scope="scope">
<el-input
v-if="scope.row.edit"
placeholder="请输入主题名称"
v-model="scope.row.labelName"
clearable
maxlength="30"
></el-input>
<span v-else>{{ scope.row.labelName }}</span>
</template>
</el-table-column>
<el-table-column prop="updateTime1" label="是否引用" align="center" min-width="60"></el-table-column>
<el-table-column label="操作" align="center" min-width="60">
<template slot-scope="scope">
<i v-if="scope.row.edit" class="el-icon-check edit" @click="submitLabel(scope.row)"></i>
<i v-else class="el-icon-edit edit" @click="editLabel(scope.row)"></i>
<i class="el-icon-delete del" @click="delLabel(scope.row)"></i>
</template>
</el-table-column>
</el-table>
<span slot="footer">
<el-button @click="labelVisible = false">返回</el-button>
</span>
</el-dialog>
</div> </div>
</template> </template>
<script> <script>
@ -217,6 +329,7 @@ export default {
data() { data() {
return { return {
site: this.$store.state.content.site, site: this.$store.state.content.site,
userId: this.$store.state.user.userId,
nameRepeat: false, nameRepeat: false,
types: ColumnConst.types, types: ColumnConst.types,
templates: ColumnConst.templates, templates: ColumnConst.templates,
@ -261,6 +374,9 @@ export default {
releaseTime: [ releaseTime: [
{ required: true, message: '请选择发布日期', trigger: 'change' } { required: true, message: '请选择发布日期', trigger: 'change' }
], ],
titleImg: [
{ required: true, message: '请上传封面图', trigger: 'change' }
],
mainBody: [ mainBody: [
{ required: true, message: '请输入正文', trigger: 'blur' } { required: true, message: '请输入正文', trigger: 'blur' }
], ],
@ -276,7 +392,11 @@ export default {
isUpload: false, isUpload: false,
fixedNumber: [1.76, 1], fixedNumber: [1.76, 1],
file: {}, // file: {}, //
isBanner: 0 isBanner: 0,
classifications: [],
classVisible: false,
labels: [],
labelVisible: false
}; };
}, },
computed: { computed: {
@ -339,6 +459,8 @@ export default {
]) ])
this.getList() this.getList()
this.form.id && this.getData() this.form.id && this.getData()
// this.getClassification()
// this.getLabel()
}, },
methods: { methods: {
// //
@ -391,6 +513,105 @@ export default {
if (file) this.fileList = [{name: file, url: file}] // if (file) this.fileList = [{name: file, url: file}] //
}).catch(err => {}) }).catch(err => {})
}, },
//
getClassification() {
this.$post(`${this.api.queryClassif}?siteId=${this.site.id}`).then(({ data }) => {
this.classifications = data
}).catch(err => {})
},
//
setClass() {
this.classVisible = true
},
//
addClass() {
this.classifications.push({
edit: true,
id: '',
classificationName: ''
})
},
//
editClass(row) {
this.$set(row, 'edit', 1)
},
//
delClass(row) {
this.$confirm('确定要删除吗?', '提示', {
type: 'warning'
}).then(() => {
this.$post(`${this.api.delClassif}?id=${row.id}`).then(res => {
util.successMsg('删除成功')
this.getClassification()
}).catch(res => {})
}).catch(() => {})
},
//
submitClass(row) {
this.$post(`${this.api.checkClassif}?classificationName=${row.classificationName}&siteId=${this.site.id}&classificationId=${row.id}`).then(res => {
this.$post(this.api[row.id ? 'updateClassif' : 'saveClassif'], {
classificationName: row.classificationName,
id: row.id,
siteId: this.site.id,
editorId: this.userId,
founderId: this.userId
}).then(res => {
util.successMsg((row.id ? '修改' : '新增') + '成功')
this.getClassification()
}).catch(res => {})
}).catch(res => {})
},
//
getLabel() {
this.$post(`${this.api.queryLabel}?siteId=${this.site.id}`).then(({ data }) => {
this.labels = data
}).catch(err => {})
},
//
setLabel() {
this.labelVisible = true
},
//
addLabel() {
this.labels.push({
edit: true,
id: '',
labelName: ''
})
},
//
editLabel(row) {
this.$set(row, 'edit', 1)
},
//
delLabel(row) {
this.$confirm('确定要删除吗?', '提示', {
type: 'warning'
}).then(() => {
this.$post(`${this.api.delLabel}?id=${row.id}`).then(res => {
util.successMsg('删除成功')
this.getLabel()
}).catch(res => {})
}).catch(() => {})
},
//
submitLabel(row) {
this.$post(`${this.api.checkLabel}?labelName=${row.labelName}&siteId=${this.site.id}&labelId=${row.id}`).then(res => {
this.$post(this.api[row.id ? 'updateLabel' : 'saveLabel'], {
labelName: row.labelName,
id: row.id,
siteId: this.site.id,
editorId: this.userId,
founderId: this.userId
}).then(res => {
util.successMsg((row.id ? '修改' : '新增') + '成功')
this.getLabel()
}).catch(res => {})
}).catch(res => {})
},
// //
nameChange(){ nameChange(){
const { title, level, id } = this.form const { title, level, id } = this.form
@ -660,4 +881,23 @@ $upload-lg-height: 102px;
left: -32px; left: -32px;
cursor: pointer; cursor: pointer;
} }
.plus {
margin-bottom: 10px;
font-size: 18px;
color: #2962FF;
text-align: right;
cursor: pointer;
}
.set-btn {
margin-left: 10px !important;
}
.manage-dia {
.edit, .del {
font-size: 14px;
cursor: pointer;
}
.edit {
margin-right: 10px;
}
}
</style> </style>

@ -32,11 +32,7 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column v-if="settings[2].show" prop="templateId" label="栏目模板" min-width="100"></el-table-column> <el-table-column v-if="settings[2].show" prop="templateId" label="栏目模板" min-width="100"></el-table-column>
<el-table-column v-if="settings[3].show" prop="listStyleId" label="列表/长页样式" min-width="100"> <el-table-column v-if="settings[3].show" prop="listStyleName" label="列表/长页样式" min-width="100"></el-table-column>
<template slot-scope="scope">
{{ listStyle.find(e => e.id == scope.row.listStyleId) && listStyle.find(e => e.id == scope.row.listStyleId).name }}
</template>
</el-table-column>
<el-table-column v-if="settings[4].show" prop="detailStyle" label="详情样式" min-width="100"> <el-table-column v-if="settings[4].show" prop="detailStyle" label="详情样式" min-width="100">
<template slot-scope="scope"> <template slot-scope="scope">
{{ detailStyle.find(e => e.id == scope.row.detailStyle) && detailStyle.find(e => e.id == scope.row.detailStyle).name }} {{ detailStyle.find(e => e.id == scope.row.detailStyle) && detailStyle.find(e => e.id == scope.row.detailStyle).name }}
@ -146,6 +142,7 @@ export default {
types: ColumnConst.types, types: ColumnConst.types,
templates: ColumnConst.templates, templates: ColumnConst.templates,
listStyle: ColumnConst.listStyle, listStyle: ColumnConst.listStyle,
pageStyle: ColumnConst.pageStyle,
detailStyle: ColumnConst.detailStyle, detailStyle: ColumnConst.detailStyle,
keyword: '', keyword: '',
searchTimer: null, searchTimer: null,
@ -238,12 +235,23 @@ export default {
typeId : '', typeId : '',
isSort: 0 isSort: 0
}).then(({ data }) => { }).then(({ data }) => {
this.handleList(data)
this.list = data this.list = data
this.listLoading = false this.listLoading = false
}).catch(err => { }).catch(err => {
this.listLoading = false this.listLoading = false
}) })
}, },
//
handleList(data) {
data.map(e => {
// /
const item = this[(e.typeId === 1 || e.typeId === 4) ? 'listStyle' : 'pageStyle'].find(n => n.id == e.listStyleId)
e.listStyleName = item.name || '--'
this.handleList(e.children)
})
},
//
initData() { initData() {
this.$refs.table.clearSelection() this.$refs.table.clearSelection()
this.page = 1 this.page = 1

@ -8,11 +8,11 @@
</div> </div>
<div class="modules"> <div class="modules">
<p class="page-name mb">页面设置</p> <p class="page-name mb">页面设置/ABOUT</p>
<div class="relative"> <div class="relative">
<el-carousel height="480px"> <el-carousel height="480px">
<template v-for="(item, i) in modules[0].list"> <template v-for="(item, i) in modules[0].list">
<el-carousel-item v-if="item.pic" :key="i"> <el-carousel-item v-if="item.pic && item.isEnable" :key="i">
<img width="100%" height="100%" :src="item.pic" alt=""> <img width="100%" height="100%" :src="item.pic" alt="">
</el-carousel-item> </el-carousel-item>
</template> </template>
@ -132,8 +132,8 @@
<li v-for="(item, i) in modules[16].list" :key="i"> <li v-for="(item, i) in modules[16].list" :key="i">
<img class="pic" :src="item.pic" alt=""> <img class="pic" :src="item.pic" alt="">
<div class="texts"> <div class="texts">
<p class="sub">{{ item.title }}</p> <p class="sub">{{ item.subTitle }}</p>
<h6>{{ item.subTitle }}</h6> <h6>{{ item.title }}</h6>
<p class="des">{{ item.des }}</p> <p class="des">{{ item.des }}</p>
<img class="arrow" src="@/assets/images/arrow.png" alt=""> <img class="arrow" src="@/assets/images/arrow.png" alt="">
</div> </div>
@ -697,8 +697,8 @@ export default {
list: [ list: [
{ {
pic: require('@/assets/images/about/6.png'), pic: require('@/assets/images/about/6.png'),
title: 'Founder and 1st PRESIDENT OF THE INSTITUTE OF ADVANCED SCIENCE FACILITIES, SHENZHEN', title: 'Sun Dongbai',
subTitle: 'Sun Dongbai', subTitle: 'Founder and 1st PRESIDENT OF THE INSTITUTE OF ADVANCED SCIENCE FACILITIES, SHENZHEN',
link: { link: {
linkName: '无', linkName: '无',
connectionType: 1, connectionType: 1,
@ -715,8 +715,8 @@ export default {
}, },
{ {
pic: require('@/assets/images/about/7.png'), pic: require('@/assets/images/about/7.png'),
title: 'Vice President of the Institute of Advanced Scienc, Shenzhen', title: 'Yang Xueming',
subTitle: 'Yang Xueming', subTitle: 'Vice President of the Institute of Advanced Scienc, Shenzhen',
link: { link: {
linkName: '无', linkName: '无',
connectionType: 1, connectionType: 1,
@ -733,8 +733,8 @@ export default {
}, },
{ {
pic: require('@/assets/images/about/8.png'), pic: require('@/assets/images/about/8.png'),
title: 'The Chairman of Science and Technology Advisory Committee', title: 'Ulf KALSSON',
subTitle: 'Ulf KALSSON', subTitle: 'The Chairman of Science and Technology Advisory Committee',
link: { link: {
linkName: '无', linkName: '无',
connectionType: 1, connectionType: 1,

@ -8,11 +8,11 @@
</div> </div>
<div class="modules"> <div class="modules">
<p class="page-name mb">页面设置</p> <p class="page-name mb">页面设置/CAREERS</p>
<div class="relative"> <div class="relative">
<el-carousel height="480px"> <el-carousel height="480px">
<template v-for="(item, i) in modules[0].list"> <template v-for="(item, i) in modules[0].list">
<el-carousel-item v-if="item.pic" :key="i"> <el-carousel-item v-if="item.pic && item.isEnable" :key="i">
<img width="100%" height="100%" :src="item.pic" alt=""> <img width="100%" height="100%" :src="item.pic" alt="">
</el-carousel-item> </el-carousel-item>
</template> </template>

@ -8,11 +8,11 @@
</div> </div>
<div class="modules"> <div class="modules">
<p class="page-name mb">页面设置</p> <p class="page-name mb">页面设置/EDUCATION & COLLABORATION</p>
<div class="relative"> <div class="relative">
<el-carousel height="480px"> <el-carousel height="480px">
<template v-for="(item, i) in modules[0].list"> <template v-for="(item, i) in modules[0].list">
<el-carousel-item v-if="item.pic" :key="i"> <el-carousel-item v-if="item.pic && item.isEnable" :key="i">
<img width="100%" height="100%" :src="item.pic" alt=""> <img width="100%" height="100%" :src="item.pic" alt="">
</el-carousel-item> </el-carousel-item>
</template> </template>

@ -8,11 +8,11 @@
</div> </div>
<div class="modules"> <div class="modules">
<p class="page-name mb">页面设置</p> <p class="page-name mb">页面设置/HOME</p>
<div class="relative"> <div class="relative">
<el-carousel height="500px"> <el-carousel height="500px">
<template v-for="(item, i) in modules[0].list"> <template v-for="(item, i) in modules[0].list">
<el-carousel-item v-if="item.pic" :key="i"> <el-carousel-item v-if="item.pic && item.isEnable" :key="i">
<img width="100%" height="100%" :src="item.pic" alt=""> <img width="100%" height="100%" :src="item.pic" alt="">
</el-carousel-item> </el-carousel-item>
</template> </template>

@ -7,11 +7,11 @@
<el-button @click="$router.back()">放弃编辑</el-button> <el-button @click="$router.back()">放弃编辑</el-button>
</div> </div>
<div class="modules"> <div class="modules">
<p class="page-name mb">页面设置</p> <p class="page-name mb">页面设置/NEWS&EVENTS</p>
<div class="relative"> <div class="relative">
<el-carousel height="480px"> <el-carousel height="480px">
<template v-for="(item, i) in modules[0].list"> <template v-for="(item, i) in modules[0].list">
<el-carousel-item v-if="item.pic" :key="i"> <el-carousel-item v-if="item.pic && item.isEnable" :key="i">
<img width="100%" height="100%" :src="item.pic" alt=""> <img width="100%" height="100%" :src="item.pic" alt="">
</el-carousel-item> </el-carousel-item>
</template> </template>

@ -8,11 +8,11 @@
</div> </div>
<div class="modules"> <div class="modules">
<p class="page-name mb">页面设置</p> <p class="page-name mb">页面设置/NEWS&EVENTS-PRESS ROOM</p>
<div class="relative"> <div class="relative">
<el-carousel height="480px"> <el-carousel height="480px">
<template v-for="(item, i) in modules[0].list"> <template v-for="(item, i) in modules[0].list">
<el-carousel-item v-if="item.pic" :key="i"> <el-carousel-item v-if="item.pic && item.isEnable" :key="i">
<img width="100%" height="100%" :src="item.pic" alt=""> <img width="100%" height="100%" :src="item.pic" alt="">
</el-carousel-item> </el-carousel-item>
</template> </template>
@ -120,7 +120,43 @@ export default {
list: [ list: [
{ {
pic: require('@/assets/images/newsPress/1.png'), pic: require('@/assets/images/newsPress/1.png'),
title: 'community service', title: 'Reports',
subTitle: 'IASF is driven to serve the Science and industry, and solve grand challenges.',
link: {
linkName: '无',
connectionType: 1,
columnId: [],
articleId: '',
linkAddress : '',
site: '',
otherColumnId: [],
otherArticleId: '',
isOpen: 1
},
des: 'Innovation centers are distributed in the bay areas, such as the San Francisco Bay area, the New York Bay area, and the Tokyo Bay area …',
isEnable: 1
},
{
pic: require('@/assets/images/newsPress/2.png'),
title: 'Brochures',
subTitle: 'IASF is driven to serve the Science and industry, and solve grand challenges.',
link: {
linkName: '无',
connectionType: 1,
columnId: [],
articleId: '',
linkAddress : '',
site: '',
otherColumnId: [],
otherArticleId: '',
isOpen: 1
},
des: 'Innovation centers are distributed in the bay areas, such as the San Francisco Bay area, the New York Bay area, and the Tokyo Bay area …',
isEnable: 1
},
{
pic: require('@/assets/images/newsPress/3.png'),
title: 'Gallery',
subTitle: 'IASF is driven to serve the Science and industry, and solve grand challenges.', subTitle: 'IASF is driven to serve the Science and industry, and solve grand challenges.',
link: { link: {
linkName: '无', linkName: '无',

@ -0,0 +1,232 @@
<template>
<div class="wrap">
<div class="actions">
<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="$router.back()">放弃编辑</el-button>
</div>
<div class="modules">
<p class="page-name mb">页面设置/NEWS&EVENTS-PROCUREMENT</p>
<div class="relative">
<el-carousel height="480px">
<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">
<div class="inner c-wrap">
<ul class="list">
<li v-for="(item, i) in modules[1].list" :key="i">
<img class="pic" :src="item.pic" alt="">
<div class="texts">
<h6>{{ item.title }}</h6>
<p class="sub">{{ item.subTitle }}</p>
<div class="des">{{ item.des }}</div>
<img src="@/assets/images/arrow.png" alt="">
</div>
</li>
</ul>
<div class="cover" @click="toSet(1)">点击更改图片标题概述与链接</div>
</div>
</div>
</div>
<Module ref="module" :data.sync="curData" :visible.sync="diaVisible" @moduleSubmit="moduleSubmit" />
</div>
</template>
<script>
import mixins from '@/mixins/page'
export default {
mixins: [mixins],
data() {
return {
modules: [
{
type: 'banner',
list: [
{
pic: require('@/assets/images/news/1.png'),
link: {
linkName: '无',
connectionType: 1,
columnId: [],
articleId: '',
linkAddress : '',
site: '',
otherColumnId: [],
otherArticleId: '',
isOpen: 1
},
isEnable: 1
}
]
},
{
type: 'introduce',
forms: [
{
type: 'upload',
prop: 'pic',
label: '图片',
required: true
},
{
type: 'input',
prop: 'title',
label: '标题',
required: true
},
{
type: 'textarea',
prop: 'subTitle',
label: '小标题'
},
{
type: 'link',
prop: 'link',
label: '链接'
},
{
type: 'textarea',
prop: 'des',
label: '描述'
}
],
form: {
pic: '',
title: '',
subTitle: '',
link: {
linkName: '无',
connectionType: 1,
columnId: [],
articleId: '',
linkAddress : '',
site: '',
otherColumnId: [],
otherArticleId: '',
isOpen: 1
},
des: ''
},
list: [
{
pic: require('@/assets/images/newsProcurement/1.png'),
title: 'Project ',
subTitle: 'IASF is driven to serve the Science and industry, and solve grand challenges.',
link: {
linkName: '无',
connectionType: 1,
columnId: [],
articleId: '',
linkAddress : '',
site: '',
otherColumnId: [],
otherArticleId: '',
isOpen: 1
},
des: 'Innovation centers are distributed in the bay areas, such as the San Francisco Bay area, the New York Bay area, and the Tokyo Bay area …',
isEnable: 1
},
{
pic: require('@/assets/images/newsProcurement/2.png'),
title: 'Goods',
subTitle: 'IASF is driven to serve the Science and industry, and solve grand challenges.',
link: {
linkName: '无',
connectionType: 1,
columnId: [],
articleId: '',
linkAddress : '',
site: '',
otherColumnId: [],
otherArticleId: '',
isOpen: 1
},
des: 'Innovation centers are distributed in the bay areas, such as the San Francisco Bay area, the New York Bay area, and the Tokyo Bay area …',
isEnable: 1
},
{
pic: require('@/assets/images/newsProcurement/3.png'),
title: 'Service',
subTitle: 'IASF is driven to serve the Science and industry, and solve grand challenges.',
link: {
linkName: '无',
connectionType: 1,
columnId: [],
articleId: '',
linkAddress : '',
site: '',
otherColumnId: [],
otherArticleId: '',
isOpen: 1
},
des: 'Innovation centers are distributed in the bay areas, such as the San Francisco Bay area, the New York Bay area, and the Tokyo Bay area …',
isEnable: 1
}
]
},
],
}
},
mounted() {
},
methods: {
}
};
</script>
<style lang="scss" scoped>
@import "../../../styles/page/page.scss";
.list {
li {
position: relative;
&:nth-child(even) {
text-align: right;
.texts {
left: 0;
text-align: left;
}
}
}
.pic {
width: 650px;
height: 730px;
}
.texts {
position: absolute;
top: 120px;
left: 610px;
width: 850px;
height: 440px;
padding: 60px 30px 30px 100px;
background: rgba(247, 247, 247, .72);
}
h6 {
font-size: 40px;
color: #3C3C3C;
}
.sub {
margin: 20px 0;
font-size: 24px;
color: #1C1C1C;
line-height: 33px;
}
.des {
margin-bottom: 20px;
font-size: 20px;
color: #3C3C3C;
line-height: 32px;
}
}
</style>

@ -60,6 +60,12 @@ export default {
path: `newsPress`, path: `newsPress`,
component: () => import('@/pages/column/page/newsPress'), component: () => import('@/pages/column/page/newsPress'),
meta: { title: 'NEWS&Events-press room' } meta: { title: 'NEWS&Events-press room' }
},
{
name: `${pre}newsProcurement`,
path: `newsProcurement`,
component: () => import('@/pages/column/page/newsProcurement'),
meta: { title: 'NEWS&Events-procurement' }
} }
] ]
} }

@ -129,6 +129,9 @@
.el-input, .el-select { .el-input, .el-select {
width: 300px; width: 300px;
} }
.el-select .el-input {
width: auto;
}
.el-textarea { .el-textarea {
width: 550px; width: 550px;
} }

Loading…
Cancel
Save