添加修复漏洞所需参数

master
yujialong 2 years ago
parent 16eece1b01
commit a34c73f98c
  1. 1
      src/api/index.js
  2. 2
      src/components/modules/content.vue
  3. 4
      src/components/modules/link.vue
  4. 4
      src/components/modules/module.vue
  5. 210
      src/const/modules.js
  6. 2
      src/mixins/page/index.js
  7. 17
      src/pages/article/add/index.vue
  8. 94
      src/pages/article/list/index.vue
  9. 14
      src/pages/column/add/index.vue
  10. 9
      src/pages/column/list/index.vue
  11. 78
      src/pages/column/page/deviceIntroLinear.vue
  12. 12
      src/pages/column/page/exp.vue
  13. 141
      src/pages/column/page/overviewSetup.vue
  14. 2
      src/pages/column/page/sfel.vue
  15. 6
      src/router/modules/column.js

@ -47,6 +47,7 @@ export default {
articleEnableOrDisable: `iasf/sysContent/articleEnableOrDisable`, articleEnableOrDisable: `iasf/sysContent/articleEnableOrDisable`,
saveArticle: `iasf/sysContent/save`, saveArticle: `iasf/sysContent/save`,
updateArticle: `iasf/sysContent/update`, updateArticle: `iasf/sysContent/update`,
modifiedSort: `iasf/sysContent/modifiedSort`,
longPageColumnList: `iasf/pageManagement/longPageColumnList`, longPageColumnList: `iasf/pageManagement/longPageColumnList`,
searchAllBySite: `iasf/sysNavigationStyle/searchAllBySite`, searchAllBySite: `iasf/sysNavigationStyle/searchAllBySite`,
updateStyle: `iasf/sysNavigationStyle/update`, updateStyle: `iasf/sysNavigationStyle/update`,

@ -4,7 +4,7 @@
<el-dialog title="编辑内容" :visible.sync="visible" width="600px" custom-class="module" :close-on-click-modal="false" :before-close="close"> <el-dialog title="编辑内容" :visible.sync="visible" width="600px" custom-class="module" :close-on-click-modal="false" :before-close="close">
<el-form ref="form" :model="data.form" :rules="rules" label-width="60px"> <el-form ref="form" :model="data.form" :rules="rules" label-width="60px">
<el-form-item v-for="(item, i) in data.forms" :key="i" :prop="item.prop" :label="item.label"> <el-form-item v-for="(item, i) in data.forms" :key="i" :prop="item.prop" :label="item.label">
<el-input v-if="item.type === 'input'" v-model="data.form[item.prop]" placeholder="请输入" maxlength="30"></el-input> <el-input v-if="item.type === 'input'" v-model="data.form[item.prop]" placeholder="请输入" maxlength="100"></el-input>
<el-input v-if="item.type === 'textarea'" v-model="data.form[item.prop]" type="textarea" placeholder="请输入" maxlength="300"></el-input> <el-input v-if="item.type === 'textarea'" v-model="data.form[item.prop]" type="textarea" placeholder="请输入" maxlength="300"></el-input>
<el-upload <el-upload
v-if="item.type === 'upload' && item.crop" v-if="item.type === 'upload' && item.crop"

@ -126,6 +126,8 @@ export default {
// //
getList() { getList() {
this.$post(this.api.listWithTree, { this.$post(this.api.listWithTree, {
role: 1,
isadmin: false,
siteId: this.site.id, siteId: this.site.id,
columnName: '', columnName: '',
templateId: '', templateId: '',
@ -176,6 +178,8 @@ export default {
// //
getOtherColumn() { getOtherColumn() {
this.data.site && this.$post(this.api.listWithTree, { this.data.site && this.$post(this.api.listWithTree, {
role: 1,
isadmin: false,
siteId: this.data.site, siteId: this.data.site,
columnName: '', columnName: '',
templateId: '', templateId: '',

@ -61,7 +61,7 @@
</template> </template>
<el-form v-else-if="data.type === 'form' || data.type === 'forms'" ref="form" :model="data.form" :rules="rules" label-width="60px"> <el-form v-else-if="data.type === 'form' || data.type === 'forms'" ref="form" :model="data.form" :rules="rules" label-width="60px">
<el-form-item v-for="(item, i) in data.forms" :key="i" :prop="item.prop" :label="item.label"> <el-form-item v-for="(item, i) in data.forms" :key="i" :prop="item.prop" :label="item.label">
<el-input v-if="item.type === 'input'" v-model="data.form[item.prop]" placeholder="请输入" maxlength="30"></el-input> <el-input v-if="item.type === 'input'" v-model="data.form[item.prop]" placeholder="请输入" maxlength="100"></el-input>
<el-input v-if="item.type === 'textarea'" v-model="data.form[item.prop]" type="textarea" placeholder="请输入" maxlength="300"></el-input> <el-input v-if="item.type === 'textarea'" v-model="data.form[item.prop]" type="textarea" placeholder="请输入" maxlength="300"></el-input>
<el-upload <el-upload
v-if="item.type === 'upload'" v-if="item.type === 'upload'"
@ -257,6 +257,8 @@ export default {
// //
siteChange(siteId) { siteChange(siteId) {
this.$post(this.api.listWithTree, { this.$post(this.api.listWithTree, {
role: 1,
isadmin: false,
siteId, siteId,
columnName: '', columnName: '',
templateId: '', templateId: '',

@ -4231,10 +4231,26 @@ export default {
prop: 'title', prop: 'title',
label: '标题', label: '标题',
required: true required: true
} },
{
type: 'link',
prop: 'link',
label: '链接'
},
], ],
form: { form: {
title: '量子材料' title: '量子材料',
link: {
linkName: '无',
connectionType: 1,
columnId: [],
articleId: '',
linkAddress : '',
site: '',
otherColumnId: [],
otherArticleId: '',
isOpen: 1
},
} }
}, },
{ {
@ -4245,10 +4261,26 @@ export default {
prop: 'title', prop: 'title',
label: '标题', label: '标题',
required: true required: true
} },
{
type: 'link',
prop: 'link',
label: '链接'
},
], ],
form: { form: {
title: '能源催化' title: '能源催化',
link: {
linkName: '无',
connectionType: 1,
columnId: [],
articleId: '',
linkAddress : '',
site: '',
otherColumnId: [],
otherArticleId: '',
isOpen: 1
},
} }
}, },
{ {
@ -4259,10 +4291,26 @@ export default {
prop: 'title', prop: 'title',
label: '标题', label: '标题',
required: true required: true
} },
{
type: 'link',
prop: 'link',
label: '链接'
},
], ],
form: { form: {
title: '生物医药' title: '生物医药',
link: {
linkName: '无',
connectionType: 1,
columnId: [],
articleId: '',
linkAddress : '',
site: '',
otherColumnId: [],
otherArticleId: '',
isOpen: 1
},
} }
}, },
{ {
@ -4273,10 +4321,26 @@ export default {
prop: 'title', prop: 'title',
label: '标题', label: '标题',
required: true required: true
} },
{
type: 'link',
prop: 'link',
label: '链接'
},
], ],
form: { form: {
title: '大气雾霾与团簇研究' title: '大气雾霾与团簇研究',
link: {
linkName: '无',
connectionType: 1,
columnId: [],
articleId: '',
linkAddress : '',
site: '',
otherColumnId: [],
otherArticleId: '',
isOpen: 1
},
} }
}, },
{ {
@ -4287,10 +4351,26 @@ export default {
prop: 'title', prop: 'title',
label: '标题', label: '标题',
required: true required: true
} },
{
type: 'link',
prop: 'link',
label: '链接'
},
], ],
form: { form: {
title: '星际化学' title: '星际化学',
link: {
linkName: '无',
connectionType: 1,
columnId: [],
articleId: '',
linkAddress : '',
site: '',
otherColumnId: [],
otherArticleId: '',
isOpen: 1
},
} }
}, },
{ {
@ -4301,10 +4381,26 @@ export default {
prop: 'title', prop: 'title',
label: '标题', label: '标题',
required: true required: true
} },
{
type: 'link',
prop: 'link',
label: '链接'
},
], ],
form: { form: {
title: '原子分子物理' title: '原子分子物理',
link: {
linkName: '无',
connectionType: 1,
columnId: [],
articleId: '',
linkAddress : '',
site: '',
otherColumnId: [],
otherArticleId: '',
isOpen: 1
},
} }
}, },
], ],
@ -4361,7 +4457,7 @@ export default {
required: true required: true
}, },
{ {
type: 'textarea', type: 'editor',
prop: 'des', prop: 'des',
label: '描述' label: '描述'
} }
@ -4427,7 +4523,7 @@ export default {
} }
], ],
form: { form: {
des: `<p style="margin-bottom: 20px;line-height: 1.5;"><span style="font-family: 'Microsoft Yahei'; font-size: 19px;">&nbsp; &nbsp; &nbsp; S&sup3;FEL是光明科学城大科学装置集群的重要成员,建设地点位于深圳市光明区北片区,毗邻莲塘水库,占地面积约40万平方米,其中S&sup3;FEL装置的主体建筑总长约1800米。</span></p> des: `<p style="margin-bottom: 60px;line-height: 1.5;"><span style="font-family: 'Microsoft Yahei'; font-size: 19px;">&nbsp; &nbsp; &nbsp; S&sup3;FEL是光明科学城大科学装置集群的重要成员,建设地点位于深圳市光明区北片区,毗邻莲塘水库,占地面积约40万平方米,其中S&sup3;FEL装置的主体建筑总长约1800米。</span></p>
<img src="http://10.10.11.7/images/survey/2.png" alt="" >` <img src="http://10.10.11.7/images/survey/2.png" alt="" >`
} }
@ -4761,4 +4857,90 @@ export default {
} }
}, },
], ],
deviceIntroLinear: [
{
type: 'form',
forms: [
{
type: 'input',
prop: 'title',
label: '标题',
required: true
},
{
type: 'textarea',
prop: 'des',
label: '描述'
}
],
form: {
title: 'S³FEL的光阴极注入器/电子枪利用光电效应产生高亮度电子束团,并将其加速到90 MeV。',
des: `主加速器基于超导连续波工作模式,采用三级加速、两级压缩的结构,将电子束团能量提高到2.5 GeV;同时在保持横向发射度不变的情况下,将电子束长度从几皮秒压缩到几十飞秒,峰值流强提升到800 A以上。相比基于常温加速技术的高增益FEL,超导直线加速器技术可以有效提高电子束流的重复频率,实现最高每秒106脉冲输出(常温加速技术为~102脉冲/秒),进而大幅度提高FEL激光的平均功率。`
}
},
],
overviewSetup: [
{
type: 'form',
forms: [
{
type: 'upload',
prop: 'pic',
label: '图片',
required: true
},
{
type: 'input',
prop: 'title',
label: '标题',
required: true
},
{
type: 'link',
prop: 'link',
label: '链接'
},
{
type: 'textarea',
prop: 'des',
label: '描述'
}
],
form: {
pic: 'http://10.10.11.7/images/survey/1.png',
title: 'S³FEL概况',
link: {
linkName: '无',
connectionType: 1,
columnId: [],
articleId: '',
linkAddress : '',
site: '',
otherColumnId: [],
otherArticleId: '',
isOpen: 1
}
}
},
{
type: 'form',
forms: [
{
type: 'input',
prop: 'title',
label: '标题',
required: true
},
{
type: 'textarea',
prop: 'des',
label: '描述'
}
],
form: {
title: '组织架构',
des: ` 根据《深圳综合粒子设施理事会章程》有关规定,研究院实行理事会领导下的院长负责制,理事长由市长担任,副理事长由分管发改、科创副市长,以及中山大学、南方科技大学校长担任,理事成员包括市政府秘书长、相关副秘书长及政府部门、高等院校、科研机构、龙头企业相关负责同志。`
}
},
]
} }

@ -24,7 +24,7 @@ export default {
// 页面离开的时候如果没有保存则提示 // 页面离开的时候如果没有保存则提示
beforeRouteLeave(to, from, next) { beforeRouteLeave(to, from, next) {
// 更改了信息才需要提示 // 更改了信息才需要提示
if (!this.pass && this.originModules !== JSON.stringify(this.modules)) { if (!this.pass && this.modules.length && this.originModules !== JSON.stringify(this.modules)) {
this.$confirm(`所填写内容暂未保存,是否保存?`, '提示', { this.$confirm(`所填写内容暂未保存,是否保存?`, '提示', {
type: 'warning' type: 'warning'
}).then(() => { }).then(() => {

@ -711,6 +711,8 @@ export default {
// //
getList() { getList() {
this.$post(this.api.listWithTree, { this.$post(this.api.listWithTree, {
role: 1,
isadmin: false,
siteId: this.site.id, siteId: this.site.id,
columnName: '', columnName: '',
templateId: '', templateId: '',
@ -867,6 +869,8 @@ export default {
// //
getOtherColumn(val) { getOtherColumn(val) {
this.$post(this.api.listWithTree, { this.$post(this.api.listWithTree, {
role: 1,
isadmin: false,
siteId: this.form.siteSelection, siteId: this.form.siteSelection,
columnName: '', columnName: '',
templateId: '', templateId: '',
@ -1112,10 +1116,19 @@ export default {
token: Util.local.get(Setting.tokenKey) token: Util.local.get(Setting.tokenKey)
}, },
}).then(({ data }) => { }).then(({ data }) => {
if (data.code === 401) {
Util.errorMsg(data.msg)
setTimeout(() => {
this.$store.dispatch('user/logout')
}, 1000)
return false
}
let url = this.form[this.isBanner ? 'bannerImg' : 'titleImg'] let url = this.form[this.isBanner ? 'bannerImg' : 'titleImg']
url && this.$del(this.api.delFile, [url.split('/').pop()]).then(res => {}).catch(e => {}) // url && this.$del(this.api.delFile, [url.split('/').pop()]).then(res => {}).catch(e => {}) //
this.form[this.isBanner ? 'bannerImg' : 'titleImg'] = data.url this.form[this.isBanner ? 'bannerImg' : 'titleImg'] = data.url
}).catch(res => {}) }).catch(res => {
console.log(11, res)
})
this.$refs.cropper.isDisabled = false this.$refs.cropper.isDisabled = false
this.isUpload = false this.isUpload = false
this.cropperModel = false this.cropperModel = false
@ -1184,7 +1197,7 @@ export default {
}, },
// //
preview() { preview() {
window.open((Setting.isDev ? `http://${location.hostname}:8095` : this.$store.state.content.site.domainName) + `/#/article?articleId=${this.form.id}&siteId=${this.form.siteId}&id=${this.form.columnId}`) window.open((Setting.isDev ? `http://${location.hostname}:8095` : this.$store.state.content.site.domainName) + `#/article?articleId=${this.form.id}&siteId=${this.form.siteId}&id=${this.form.columnId}`)
}, },
// //
back() { back() {

@ -39,7 +39,20 @@
<el-table-column v-if="settings[0].show" type="selection" width="55" align="center" :reserve-selection="true"></el-table-column> <el-table-column v-if="settings[0].show" type="selection" width="55" align="center" :reserve-selection="true"></el-table-column>
<el-table-column type="index" width="60" label="序号" align="center"></el-table-column> <el-table-column type="index" width="60" label="序号" align="center"></el-table-column>
<el-table-column v-if="settings[1].show" show-overflow-tooltip prop="title" label="标题" align="center" min-width="150"></el-table-column> <el-table-column v-if="settings[1].show" show-overflow-tooltip prop="title" label="标题" align="center" min-width="150"></el-table-column>
<el-table-column prop="sequence" label="文章排序" align="center" min-width="110" sortable="custom">
<template slot-scope="scope">
<el-input
v-if="scope.row.editing"
class="squ-input"
v-model="scope.row.sequence"
></el-input>
<span v-else>{{ scope.row.sequence }}</span>
<i v-if="scope.row.editing" class="el-icon-check squ-icon" @click="submitSequence(scope.row)"></i>
<i v-else class="el-icon-edit squ-icon" @click="editSequence(scope.row)"></i>
</template>
</el-table-column>
<el-table-column v-if="settings[2].show" prop="columnName" label="栏目" align="center" min-width="120"></el-table-column> <el-table-column v-if="settings[2].show" prop="columnName" label="栏目" align="center" min-width="120"></el-table-column>
<el-table-column prop="classificationName" label="所属分类" align="center" min-width="120"></el-table-column>
<el-table-column v-if="settings[3].show" prop="typeId" label="栏目类型" align="center" min-width="100"> <el-table-column v-if="settings[3].show" prop="typeId" label="栏目类型" align="center" min-width="100">
<template slot-scope="scope"> <template slot-scope="scope">
{{ types.find(e => e.id === scope.row.typeId).name }} {{ types.find(e => e.id === scope.row.typeId).name }}
@ -47,16 +60,17 @@
</el-table-column> </el-table-column>
<el-table-column v-if="settings[4].show" prop="founderName" label="录入人" align="center" min-width="80"></el-table-column> <el-table-column v-if="settings[4].show" prop="founderName" label="录入人" align="center" min-width="80"></el-table-column>
<el-table-column v-if="settings[5].show" prop="editorName" label="修改人" align="center" min-width="80"></el-table-column> <el-table-column v-if="settings[5].show" prop="editorName" label="修改人" align="center" min-width="80"></el-table-column>
<el-table-column v-if="settings[6].show" prop="updateTime" label="修改日期" align="center" min-width="140" sortable="custom"></el-table-column> <el-table-column v-if="settings[6].show" prop="updateTime" label="修改日期" align="center" min-width="150" sortable="custom"></el-table-column>
<el-table-column v-if="settings[7].show" prop="releaseTime" label="发布日期" align="center" min-width="140" sortable="custom"></el-table-column> <el-table-column v-if="settings[7].show" prop="releaseTime" label="发布日期" align="center" min-width="100" sortable="custom"></el-table-column>
<el-table-column v-if="settings[8].show" prop="totalBrowsing" label="总浏览" align="center" min-width="80"></el-table-column> <el-table-column v-if="settings[8].show" prop="totalBrowsing" label="总浏览" align="center" min-width="70"></el-table-column>
<el-table-column v-if="settings[9].show" prop="workNumber" label="状态" align="center" min-width="80"> <el-table-column v-if="settings[9].show" prop="workNumber" label="状态" align="center" min-width="80">
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.isRelease ? '已发布' : '草稿' }} {{ scope.row.isRelease ? '已发布' : '草稿' }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column v-if="settings[10].show" label="操作" align="center" width="170"> <el-table-column v-if="settings[10].show" label="操作" align="center" width="210">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button v-auth="'/site/list:' + siteName + ':内容管理:文章管理:预览'" type="text" @click="sticky(scope.row)">置顶</el-button>
<el-button v-auth="'/site/list:' + siteName + ':内容管理:文章管理:预览'" type="text" @click="preview(scope.row)">预览</el-button> <el-button v-auth="'/site/list:' + siteName + ':内容管理:文章管理:预览'" type="text" @click="preview(scope.row)">预览</el-button>
<el-button v-auth="'/site/list:' + siteName + ':内容管理:文章管理:编辑'" type="text" @click="edit(scope.row)">编辑</el-button> <el-button v-auth="'/site/list:' + siteName + ':内容管理:文章管理:编辑'" type="text" @click="edit(scope.row)">编辑</el-button>
<el-button v-auth="'/site/list:' + siteName + ':内容管理:文章管理:删除'" type="text" @click="handleDelete(scope.row)">删除</el-button> <el-button v-auth="'/site/list:' + siteName + ':内容管理:文章管理:删除'" type="text" @click="handleDelete(scope.row)">删除</el-button>
@ -117,7 +131,8 @@ export default {
pageSize: 10, pageSize: 10,
total: 0, total: 0,
modifiedTimeSort: '', modifiedTimeSort: '',
publicationTimeSort: 0, publicationTimeSort: '',
ordinalSort: 0,
multipleSelection: [], multipleSelection: [],
originSettings: [], originSettings: [],
settings: [ settings: [
@ -165,7 +180,8 @@ export default {
name: '操作', name: '操作',
show: true show: true
} }
] ],
originList: []
}; };
}, },
watch: { watch: {
@ -199,6 +215,8 @@ export default {
// //
getColumn() { getColumn() {
this.$post(this.api.listWithTree, { this.$post(this.api.listWithTree, {
role: 1,
isadmin: false,
siteId: this.$store.state.content.site.id, siteId: this.$store.state.content.site.id,
columnName: '', columnName: '',
templateId: '', templateId: '',
@ -222,6 +240,7 @@ export default {
columnIds: [id], columnIds: [id],
pageNum: this.page, pageNum: this.page,
pageSize: this.pageSize, pageSize: this.pageSize,
ordinalSort: this.ordinalSort,
title: this.field === 'title' ? keyword : '', title: this.field === 'title' ? keyword : '',
founder: this.field === 'founder' ? keyword : '', founder: this.field === 'founder' ? keyword : '',
column: this.field === 'column' ? keyword : '', column: this.field === 'column' ? keyword : '',
@ -231,8 +250,10 @@ export default {
if (this.publicationTimeSort !== '') data.publicationTimeSort = this.publicationTimeSort if (this.publicationTimeSort !== '') data.publicationTimeSort = this.publicationTimeSort
this.$post(this.api.queryArticle, data).then(({ data }) => { this.$post(this.api.queryArticle, data).then(({ data }) => {
data.records.map(e => { data.records.map(e => {
e.editing = false
e.releaseTime = e.releaseTime.split(' ')[0] e.releaseTime = e.releaseTime.split(' ')[0]
}) })
this.originList = JSON.parse(JSON.stringify(data.records))
this.list = data.records this.list = data.records
this.total = +data.total this.total = +data.total
}).catch(err => {}) }).catch(err => {})
@ -253,6 +274,22 @@ export default {
this.page = 1 this.page = 1
this.getData() this.getData()
}, },
//
submitSequence(row) {
if (!row.sequence) return Util.errorMsg('请输入排序')
this.$post(`${this.api.modifiedSort}?articleId=${row.id}&sequenceNumber=${row.sequence}`).then(res => {
this.initData()
}).catch(res => {})
},
//
editSequence(row) {
// this.originSequence = e.sequence
this.list.forEach(e => {
e.editing = false
})
// this.list = JSON.parse(JSON.stringify(this.originList))
row.editing = true
},
// //
batchDel() { batchDel() {
const list = this.multipleSelection const list = this.multipleSelection
@ -297,20 +334,42 @@ export default {
}, },
// //
sortChange(column) { sortChange(column) {
// 0 1 const { order } = column
// 1
// 0 1
if (column.prop === 'updateTime') { if (column.prop === 'updateTime') {
this.modifiedTimeSort = column.order ? column.order === 'ascending' ? 1 : 0 : '' this.modifiedTimeSort = order ? order === 'ascending' ? 1 : 0 : ''
if (column.order) this.publicationTimeSort = '' if (order) {
this.publicationTimeSort = ''
this.ordinalSort = ''
}
} }
if (column.prop === 'releaseTime') { if (column.prop === 'releaseTime') {
this.publicationTimeSort = column.order ? column.order === 'ascending' ? 1 : 0 : '' this.publicationTimeSort = order ? order === 'ascending' ? 1 : 0 : ''
if (column.order) this.modifiedTimeSort = '' if (order) {
this.modifiedTimeSort = ''
this.ordinalSort = ''
}
}
// 0 1
if (column.prop === 'sequence') {
this.ordinalSort = order ? order === 'ascending' ? 0 : 1 : ''
if (order) {
this.publicationTimeSort = ''
this.modifiedTimeSort = ''
}
} }
this.getData() this.getData()
}, },
//
sticky(row) {
this.$post(`${this.api.modifiedSort}?articleId=${row.id}&sequenceNumber=1`).then(res => {
this.initData()
}).catch(res => {})
},
// //
preview(row) { preview(row) {
window.open((Setting.isDev ? `http://${location.hostname}:8095` : this.$store.state.content.site.domainName) + `/#/article?articleId=${row.id}&siteId=${this.$refs.column.getCurrentNode().siteId}&id=${row.columnId}`) window.open((Setting.isDev ? `http://${location.hostname}:8095` : this.$store.state.content.site.domainName) + `#/article?articleId=${row.id}&siteId=${this.$refs.column.getCurrentNode().siteId}&id=${row.columnId}`)
}, },
// //
edit(row) { edit(row) {
@ -332,4 +391,15 @@ export default {
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
} }
.squ-icon {
margin-left: 5px;
cursor: pointer;
}
/deep/.squ-input {
width: auto;
.el-input__inner {
width: 60px;
padding: 0 10px;
}
}
</style> </style>

@ -373,6 +373,8 @@ export default {
// //
getList() { getList() {
this.$post(this.api.listWithTree, { this.$post(this.api.listWithTree, {
role: 1,
isadmin: false,
siteId: this.site.id, siteId: this.site.id,
columnName: '', columnName: '',
templateId: '', templateId: '',
@ -503,6 +505,8 @@ export default {
// //
getOtherColumn(val) { getOtherColumn(val) {
this.form.siteSelection && this.$post(this.api.listWithTree, { this.form.siteSelection && this.$post(this.api.listWithTree, {
role: 1,
isadmin: false,
siteId: this.form.siteSelection, siteId: this.form.siteSelection,
columnName: '', columnName: '',
templateId: '', templateId: '',
@ -624,10 +628,6 @@ export default {
size: file.size size: file.size
}) })
}) })
},
//
preview() {
}, },
// //
updateFile(form, quoteId) { updateFile(form, quoteId) {
@ -690,7 +690,7 @@ export default {
// //
savePage(columnId) { savePage(columnId) {
const { listStyleId } = this.form const { listStyleId } = this.form
const module = Modules[this.pageStyle.find(e => e.id === listStyleId)] // module.js const module = Modules[this.pageStyle.find(e => e.id == listStyleId).path] // module.js
if (module) { if (module) {
this.$post(this.api[this.id ? 'updatePage' : 'savePage'], { this.$post(this.api[this.id ? 'updatePage' : 'savePage'], {
columnId, columnId,
@ -698,8 +698,8 @@ export default {
sort: 1, sort: 1,
founderId: this.userId, founderId: this.userId,
editorId: this.userId, editorId: this.userId,
jsonBeforeEditing: module.path, jsonBeforeEditing: module,
theEditedJson: module.path, theEditedJson: module,
}).then(res => {}).catch(err => {}) }).then(res => {}).catch(err => {})
} }
} }

@ -237,6 +237,8 @@ export default {
methods: { methods: {
getData() { getData() {
this.$post(this.api.listWithTree, { this.$post(this.api.listWithTree, {
role: 1,
isadmin: false,
siteId: this.siteId, siteId: this.siteId,
columnName: this.keyword, columnName: this.keyword,
templateId: '', templateId: '',
@ -289,7 +291,7 @@ export default {
// //
preview(row) { preview(row) {
// /column // /column
window.open((Setting.isDev ? `http://${location.hostname}:8095` : this.$store.state.content.site.domainName) + `/#/${row.typeId === 3 ? row.path : 'column'}?id=${row.id}&siteId=${row.siteId}`) window.open((Setting.isDev ? `http://${location.hostname}:8095` : this.$store.state.content.site.domainName) + `#/${row.typeId === 3 ? row.path : 'column'}?id=${row.id}&siteId=${row.siteId}`)
}, },
// //
page(row) { page(row) {
@ -338,6 +340,8 @@ export default {
// //
sort() { sort() {
this.$post(this.api.listWithTree, { this.$post(this.api.listWithTree, {
role: 1,
isadmin: false,
siteId: this.siteId, siteId: this.siteId,
columnName: '', columnName: '',
templateId: '', templateId: '',
@ -351,6 +355,7 @@ export default {
// //
sortList(list, result, parent = {}) { sortList(list, result, parent = {}) {
list.map((e, i) => { list.map((e, i) => {
if (!parent.id) this.sortLevel = 1
result.push({ result.push({
id: e.id, id: e.id,
fatherId: parent.id || 0, fatherId: parent.id || 0,
@ -360,8 +365,6 @@ export default {
if (e.children.length) { if (e.children.length) {
++this.sortLevel ++this.sortLevel
this.sortList(e.children, result, e) this.sortList(e.children, result, e)
} else {
this.sortLevel = 1
} }
}) })
}, },

@ -1,48 +1,80 @@
<template> <template>
<div class="wrap"> <div class="wrap">
<div class="banner">装置介绍</div> <div class="actions">
<p class="page-name">页面设置/装置介绍</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="block history gray"> <div class="modules">
<div class="inner"> <div class="banner">装置介绍</div>
<h2 class="wow fadeInLeft">超导直线加速器-1</h2>
<p class="en">Superconducting linac -1</p> <div class="block history gray">
<div class="texts wow fadeInDown" data-wow-delay="0.5s"> <div class="inner">
<div class="left"> <h2 class="wow fadeInLeft">超导直线加速器-1</h2>
<h6>S³FEL的光阴极注入器/电子枪利用光电效应产生高亮度电子束团并将其加速到90 MeV</h6> <p class="en">Superconducting linac -1</p>
<div class="line"></div> <div class="texts wow fadeInDown" data-wow-delay="0.5s">
<div class="des">主加速器基于超导连续波工作模式采用三级加速两级压缩的结构将电子束团能量提高到2.5 GeV同时在保持横向发射度不变的情况下将电子束长度从几皮秒压缩到几十飞秒峰值流强提升到800 A以上相比基于常温加速技术的高增益FEL超导直线加速器技术可以有效提高电子束流的重复频率实现最高每秒106脉冲输出常温加速技术为~102脉冲/进而大幅度提高FEL激光的平均功率</div> <div class="left c-wrap">
<h6>{{ modules[0].form.title }}</h6>
<div class="line"></div>
<div class="des">{{ modules[0].form.des }}</div>
<div class="cover" @click="toSet(0)">点击更改标题与概述</div>
</div>
<img class="bg" src="@/assets/images/device/10.png" alt="">
</div> </div>
<img class="bg" src="@/assets/images/device/10.png" alt="">
</div> </div>
</div> </div>
</div>
<div class="block intro"> <div class="block intro">
<div class="inner"> <div class="inner">
<div class="left"> <div class="left">
<h5>S³FEL超导直线加速器示意图</h5> <h5>S³FEL超导直线加速器示意图</h5>
<img src="@/assets/images/device/11.png" alt=""> <img src="@/assets/images/device/11.png" alt="">
</div> </div>
<div class="right"> <div class="right">
<h6>S³FEL超导直线加速器性能指标</h6> <h6>S³FEL超导直线加速器性能指标</h6>
<img src="@/assets/images/device/12.png" alt=""> <img src="@/assets/images/device/12.png" alt="">
</div>
</div> </div>
</div> </div>
</div> </div>
<Module ref="module" :data.sync="curData" :visible.sync="diaVisible" @moduleSubmit="moduleSubmit" />
</div> </div>
</template> </template>
<script> <script>
import mixins from '@/mixins/page' import mixins from '@/mixins/page'
import Modules from '@/const/modules'
export default { export default {
mixins: [mixins], mixins: [mixins],
data() { data() {
return { return {
modules: Modules.deviceIntroLinear
} }
}, },
mounted() { mounted() {
this.$store.commit('user/setCrumbs', [
{
name: '站点管理',
route: '/site'
},
{
name: '内容管理',
route: '/column'
},
{
name: '栏目管理',
route: '/column'
},
{
name: '装置介绍'
}
])
}, },
methods: { methods: {

@ -36,32 +36,32 @@
<li class="item1"> <li class="item1">
<img src="@/assets/images/exp/2.png" alt=""> <img src="@/assets/images/exp/2.png" alt="">
<h6>{{ modules[2].form.title }}</h6> <h6>{{ modules[2].form.title }}</h6>
<div class="cover" @click="toSet(2)">点击更改标题</div> <div class="cover" @click="toSet(2)">点击更改标题与链接</div>
</li> </li>
<li class="item2"> <li class="item2">
<img src="@/assets/images/exp/3.png" alt=""> <img src="@/assets/images/exp/3.png" alt="">
<h6>{{ modules[3].form.title }}</h6> <h6>{{ modules[3].form.title }}</h6>
<div class="cover" @click="toSet(3)">点击更改标题</div> <div class="cover" @click="toSet(3)">点击更改标题与链接</div>
</li> </li>
<li class="item3"> <li class="item3">
<img src="@/assets/images/exp/4.png" alt=""> <img src="@/assets/images/exp/4.png" alt="">
<h6>{{ modules[4].form.title }}</h6> <h6>{{ modules[4].form.title }}</h6>
<div class="cover" @click="toSet(4)">点击更改标题</div> <div class="cover" @click="toSet(4)">点击更改标题与链接</div>
</li> </li>
<li class="item4"> <li class="item4">
<img src="@/assets/images/exp/5.png" alt=""> <img src="@/assets/images/exp/5.png" alt="">
<h6>{{ modules[5].form.title }}</h6> <h6>{{ modules[5].form.title }}</h6>
<div class="cover" @click="toSet(5)">点击更改标题</div> <div class="cover" @click="toSet(5)">点击更改标题与链接</div>
</li> </li>
<li class="item5"> <li class="item5">
<img src="@/assets/images/exp/6.png" alt=""> <img src="@/assets/images/exp/6.png" alt="">
<h6>{{ modules[6].form.title }}</h6> <h6>{{ modules[6].form.title }}</h6>
<div class="cover" @click="toSet(6)">点击更改标题</div> <div class="cover" @click="toSet(6)">点击更改标题与链接</div>
</li> </li>
<li class="item6"> <li class="item6">
<img src="@/assets/images/exp/7.png" alt=""> <img src="@/assets/images/exp/7.png" alt="">
<h6>{{ modules[7].form.title }}</h6> <h6>{{ modules[7].form.title }}</h6>
<div class="cover" @click="toSet(7)">点击更改标题</div> <div class="cover" @click="toSet(7)">点击更改标题与链接</div>
</li> </li>
</ul> </ul>
</div> </div>

@ -0,0 +1,141 @@
<template>
<div class="wrap">
<div class="actions">
<p class="page-name">页面设置/NEWS&EVENTS</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="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>
<ul class="tabs wow fadeInLeft">
<template v-for="(item, i) in tabs">
<li :class="{active: i == active}" :key="i" @click="tabChange(i)">{{ item }}</li>
</template>
</ul>
<div class="tab-content">
<div class="org">
<div class="left">
<h6>{{ modules[1].form.title }}</h6>
<p class="text">{{ modules[1].form.des }}</p>
</div>
<img class="pic" src="@/assets/images/about.png" alt="">
</div>
<div class="lg-bg">
<img width="100%" src="@/assets/images/about-bg.png" alt="">
</div>
</div>
</div>
<Module ref="module" :data.sync="curData" :visible.sync="diaVisible" @moduleSubmit="moduleSubmit" />
</div>
</template>
<script>
import mixins from '@/mixins/page'
import Modules from '@/const/modules'
export default {
mixins: [mixins],
data() {
return {
modules: Modules.overviewSetup,
active: 4,
tabs: ['S³FEL介绍', '发展历程', 'S³FEL宣传片', '地理位置', '机构设置']
}
},
mounted() {
this.$store.commit('user/setCrumbs', [
{
name: '站点管理',
route: '/site'
},
{
name: '内容管理',
route: '/column'
},
{
name: '栏目管理',
route: '/column'
},
{
name: '概况-机构设置'
}
])
},
methods: {
// tab
tabChange(i) {
this.active = i
},
}
};
</script>
<style lang="scss" scoped>
@import "../../../styles/page/page.scss";
.tabs {
display: flex;
justify-content: center;
box-shadow: 0px 2px 10px 0px rgba(223,223,223,0.28);
li {
padding: 25px 19px;
margin: 0 10px;
font-size: 1.1rem;
color: #333;
border-bottom: 4px solid transparent;
text-shadow: 0px 2px 14px rgba(167,167,167,0.26);
cursor: pointer;
&.active {
color: #1583FF;
border-bottom-color: #1583FF;
}
}
}
.tab-content {
padding: 77px 0;
}
.org {
display: flex;
justify-content: space-between;
align-items: center;
width: 1294px;
padding: 9px 86px 29px 116px;
margin: 0 auto 50px;
background: #FCFCFC;
border-radius: 160px;
.left {
width: 705px;
}
h6 {
font-size: 1.4rem;
font-family: AlimamaShuHeiTi-Bold, AlimamaShuHeiTi;
font-weight: bold;
color: #333;
}
.text {
margin-top: 10px;
font-size: 1rem;
color: #020202;
line-height: 2rem;
}
.pic {
width: 320px;
height: 282px;
}
}
.lg-bg {
width: 85%;
margin: 0 auto;
}
</style>

@ -1,7 +1,7 @@
<template> <template>
<div class="wrap"> <div class="wrap">
<div class="actions"> <div class="actions">
<p class="page-name">页面设置/RESEARCH</p> <p class="page-name">页面设置/SFEL</p>
<div> <div>
<el-button type="primary" @click="preview">预览</el-button> <el-button type="primary" @click="preview">预览</el-button>
<el-button @click="save(0)">保存为草稿</el-button> <el-button @click="save(0)">保存为草稿</el-button>

@ -133,6 +133,12 @@ export default {
component: () => import('@/pages/column/page/overviewLocation'), component: () => import('@/pages/column/page/overviewLocation'),
meta: { title: '概况-地理位置' } meta: { title: '概况-地理位置' }
}, },
{
name: `${pre}overviewSetup`,
path: `overviewSetup`,
component: () => import('@/pages/column/page/overviewSetup'),
meta: { title: '概况-机构设置' }
},
{ {
name: `${pre}sfel`, name: `${pre}sfel`,
path: `sfel`, path: `sfel`,

Loading…
Cancel
Save