内外部会议、政策课题详情
This commit is contained in:
@@ -0,0 +1,440 @@
|
||||
<template>
|
||||
<div class="regulatoryMaterialsDetail">
|
||||
<div class="container">
|
||||
<div class="header">{{ form.meetingName }}</div>
|
||||
<div class="content">
|
||||
<el-collapse v-model="activeNames">
|
||||
<el-collapse-item name="1">
|
||||
<template slot="title">
|
||||
<div class="modular-header">
|
||||
<div class="modular-header-title">
|
||||
<i class="icon-modular-title"/><span>基础信息</span>
|
||||
</div>
|
||||
<div class="modular-header-btn">
|
||||
<el-button class="relation-btn"
|
||||
icon="icon-relation"
|
||||
@click.stop="relateEvent()"
|
||||
>更新记录</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<div class="modular-content">
|
||||
<p style="" class="half"><label style=" margin-right: 132px;">会议名称</label><span>{{ form.meetingName || '-' }}</span></p>
|
||||
<p style="" class="half"><label style=" margin-right: 100px;">会议主办单位</label><span>{{ form.meetingOrganizer || '-' }}</span></p>
|
||||
<p style="" class="half"><label style=" margin-right: 132px;">会议时间</label><span>{{ form.meetingTime || '-' }}</span></p>
|
||||
<p style="" class="half"><label style=" margin-right: 132px;">会议地点</label><span>{{ form.meetingAddress || '-' }}</span></p>
|
||||
<p style="" class="whole"><label style=" margin-right: 132px;">参会人员</label><span>{{ form.participants || '-' }}</span></p>
|
||||
<div class="whole" style="display: flex;border-bottom: 1px solid #E5E5E5">
|
||||
<label style=" margin-right: 132px;line-height: 44px">会议纪要</label>
|
||||
<div style="min-height: 44px;padding: 8px 0;">
|
||||
<template v-if="form.meetingMinutesList && form.meetingMinutesList.length > 0">
|
||||
<p class="file-item" v-for="file in form.meetingMinutesList">
|
||||
<a class="file-title" target="_blank" :title="file.oldFileName" @click="openFileInPdf(file.id, file.oldFileName)">{{ file.oldFileName }}</a>
|
||||
<i title="下载" class="icon-download" @click="downloadFile(file.id)"></i>
|
||||
<i title="下载带水印" class="icon-download2" @click="downloadFileByWater(file.id, file.fileSuffix)"></i>
|
||||
</p>
|
||||
</template>
|
||||
<p v-else>-</p>
|
||||
</div>
|
||||
</div>
|
||||
<p class="whole" style=""><label style=" margin-right: 100px;">会议主要内容</label><span>{{ form.meetingContent || '-' }}</span></p>
|
||||
</div>
|
||||
</el-collapse-item>
|
||||
<el-collapse-item name="2">
|
||||
<template slot="title">
|
||||
<div class="modular-header">
|
||||
<div class="modular-header-title">
|
||||
<i class="icon-modular-title"/><span>会议分类</span>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<div class="modular-content">
|
||||
<p style="" class="half"><label style="margin-right: 100px;">1级会议分类</label><span>{{ form.firstMeetingTypeName || '-' }}</span></p>
|
||||
<p style="" class="half"><label style="margin-right: 100px;">2级会议分类</label><span>{{ form.secondMeetingTypeName || '-' }}</span></p>
|
||||
</div>
|
||||
</el-collapse-item>
|
||||
<el-collapse-item v-for="(item, index) in form.meetingTopicList" :name="index">
|
||||
<template slot="title">
|
||||
<div class="modular-header">
|
||||
<div class="modular-header-title">
|
||||
<i class="icon-modular-title"/><span>会议议题</span>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<div class="modular-content">
|
||||
<p style="" class="whole"><label style=" margin-right: 132px;">议题名称</label><span>{{ item.agendaName || '-' }}</span></p>
|
||||
<div class="whole" style="display: flex;border-bottom: 1px solid #E5E5E5">
|
||||
<label style=" margin-right: 132px;line-height: 44px">议题材料</label>
|
||||
<div style="min-height: 44px;padding: 8px 0;">
|
||||
<template v-if="item.agendaMaterialsList && item.agendaMaterialsList.length > 0">
|
||||
<p class="file-item" v-for="file in item.agendaMaterialsList">
|
||||
<a class="file-title" target="_blank" :title="file.oldFileName" @click="openFileInPdf(file.id, file.oldFileName)">{{ file.oldFileName }}</a>
|
||||
<i title="下载" class="icon-download" @click="downloadFile(file.id)"></i>
|
||||
<i title="下载带水印" class="icon-download2" @click="downloadFileByWater(file.id, file.fileSuffix)"></i>
|
||||
</p>
|
||||
</template>
|
||||
<p v-else>-</p>
|
||||
</div>
|
||||
</div>
|
||||
<p style="" class="half"><label style=" margin-right: 148px;">汇报人</label><span>{{ item.reporter || '-' }}</span></p>
|
||||
<p style="" class="half"><label style=" margin-right: 116px;">汇报人单位</label><span>{{ item.reportingUnit || '-' }}</span></p>
|
||||
<p style="" class="half"><label style=" margin-right: 100px;">议题主要内容</label><span>{{ item.agendaContent || '-' }}</span></p>
|
||||
</div>
|
||||
</el-collapse-item>
|
||||
</el-collapse>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 更新LOG -->
|
||||
<el-dialog
|
||||
title="更新记录"
|
||||
:visible.sync="relateDialog"
|
||||
width="60%"
|
||||
class="relateClass"
|
||||
:before-close="relateDialogClose">
|
||||
<div
|
||||
v-for="(item, index) in relateNowList"
|
||||
:key="index"
|
||||
v-if="relateNowList"
|
||||
style="margin-bottom: 10px;line-height: 20px"
|
||||
>
|
||||
{{index+1}}. {{item.creationUserName}} {{item.creationTime}} {{item.content}}
|
||||
<div v-if="relateNowList.length >1"><el-divider></el-divider></div>
|
||||
</div>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="relateDialogClose()">关 闭</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { getBusStandFileByAttId } from 'api/process'
|
||||
|
||||
export default {
|
||||
name: "meetingDetail",
|
||||
data () {
|
||||
return {
|
||||
url: {
|
||||
getMeetingInfo: 'lawss/insideOutsideMeeting/getMeetingInfo',
|
||||
getLogList: 'lawss/sarUpdLog/getLogList', // 更新记录
|
||||
},
|
||||
form: {},
|
||||
activeNames: ['1', '2'],
|
||||
// 更新记录
|
||||
relateDialog: false,
|
||||
relateNowList: [],
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getData()
|
||||
},
|
||||
methods: {
|
||||
getData () {
|
||||
const id = this.$route.params.id
|
||||
this.$http._getData(this.url.getMeetingInfo, { meetingId: id }).then(res => {
|
||||
if (res.ok) {
|
||||
if (res.data.meetingTopicList && res.data.meetingTopicList.length > 0) {
|
||||
const activeNames = []
|
||||
res.data.meetingTopicList.forEach((item, index) => {
|
||||
activeNames.push(index)
|
||||
})
|
||||
this.activeNames = [...this.activeNames, ...activeNames]
|
||||
}
|
||||
this.$set(this, 'form', res.data)
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
// 更新LOG
|
||||
relateEvent () {
|
||||
const query = {
|
||||
sarId: this.$route.params.id,
|
||||
sarType: 'MEETING'
|
||||
}
|
||||
this.$http._getData(this.url.getLogList, query).then(res => {
|
||||
if (res.ok && res.data.length > 0) {
|
||||
this.relateDialog = true
|
||||
const relateList = res.data
|
||||
var i
|
||||
for (i = 0; i < relateList.length; i++) {
|
||||
let obj = {creationUserName: '', creationTime: '', content: ''}
|
||||
obj.creationUserName = relateList[i].creationUserName
|
||||
obj.creationTime = relateList[i].creationTime
|
||||
obj.content = relateList[i].content
|
||||
this.relateNowList.push(obj)
|
||||
}
|
||||
} else {
|
||||
this.$message.warning('暂无数据')
|
||||
}
|
||||
})
|
||||
},
|
||||
relateDialogClose () {
|
||||
this.relateDialog = false
|
||||
this.relateNowList = []
|
||||
},
|
||||
downloadFile (attId) {
|
||||
if (attId != null && attId !== '') {
|
||||
window.location.href = '/api/att/attFile/downloadFileForSarNew?fileId=' + attId
|
||||
} else {
|
||||
this.$message.error('请选择要下载的文件')
|
||||
}
|
||||
},
|
||||
downloadFileByWater (attId, fileSuffix) {
|
||||
if (fileSuffix !== 'pdf' && fileSuffix !== 'PDF') {
|
||||
this.$message.error('水印下载仅支持PDF,pdf格式文件')
|
||||
} else {
|
||||
if (attId != null && attId !== '') {
|
||||
window.location.href = '/api/att/attFile/downloadFileForSarWaterMarkNew?fileId=' + attId + '&userId=' + this.$store.getters.userInfo.userId
|
||||
} else {
|
||||
this.$message.error('请选择要下载的文件')
|
||||
}
|
||||
}
|
||||
},
|
||||
getBusStandFileByAttId(attId) {
|
||||
return new Promise((resolve, reject) => {
|
||||
getBusStandFileByAttId({
|
||||
attId
|
||||
}).then(res => {
|
||||
if (res.ok) {
|
||||
resolve(res.data)
|
||||
} else {
|
||||
reject()
|
||||
}
|
||||
}).catch(e => {
|
||||
reject(e)
|
||||
})
|
||||
})
|
||||
},
|
||||
openFileInPdf (attId, fileName) {
|
||||
// 判断是否是图片格式,图片格式不预览,直接下载
|
||||
let index1 = fileName.lastIndexOf('.')
|
||||
let index2 = fileName.length
|
||||
let fileSuffix = fileName.substring(index1, index2)
|
||||
//把后缀转大写
|
||||
if(fileSuffix !== undefined && fileSuffix !== null){
|
||||
fileSuffix = fileSuffix.toUpperCase()
|
||||
}
|
||||
// 判断上传文件格式
|
||||
if (fileSuffix === '.PNG'|| fileSuffix === '.JPG'|| fileSuffix === '.JPEG') {
|
||||
this.downloadFile(attId)
|
||||
return true
|
||||
}
|
||||
// 缺少文件
|
||||
if (this.$hasPermission('fd83032ae5f41a0021b00e93c88edbbg')) {
|
||||
if (fileSuffix === '.PDG' || fileSuffix === '.pdg') {
|
||||
this.getBusStandFileByAttId(attId)
|
||||
.then(res => {
|
||||
if(res){
|
||||
const editFileInfo = res
|
||||
if(editFileInfo.fileSuffix === 'pdg' || editFileInfo.fileSuffix === 'PDG'){
|
||||
window.open('book://ssreader/e0?url='+editFileInfo.downLoadUrl)
|
||||
}
|
||||
}
|
||||
}).catch(e => {
|
||||
this.$message.warning('文件不存在,预览失败')
|
||||
})
|
||||
}else {
|
||||
this.$http.get('lawss/sarLawsFile/queryConvertAtt', {
|
||||
attId: attId
|
||||
}, {
|
||||
_this: this
|
||||
}, res => {
|
||||
if (res.data) {
|
||||
let fileObj = {}
|
||||
fileObj.fileId = res.data.attId
|
||||
fileObj.fileName = fileName
|
||||
let fileList = []
|
||||
let repeatData = 0
|
||||
if (sessionStorage.getItem('fileInfo')) {
|
||||
fileList = JSON.parse(sessionStorage.getItem('fileInfo'))
|
||||
if (fileList != null && fileList.length > 0) {
|
||||
for (let i = 0; i < fileList.length; i++) {
|
||||
if (fileList[i].fileId === res.data.attId) {
|
||||
repeatData = 1
|
||||
break
|
||||
}
|
||||
}
|
||||
if (repeatData === 0) {
|
||||
fileList.push(fileObj)
|
||||
fileList = JSON.stringify(fileList)
|
||||
sessionStorage.setItem('fileInfo', fileList)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
fileList.push(fileObj)
|
||||
fileList = JSON.stringify(fileList)
|
||||
sessionStorage.setItem('fileInfo', fileList)
|
||||
}
|
||||
window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + res.data.attId))
|
||||
} else {
|
||||
this.$message.error('文档未转换成功或本地读取不到该文档')
|
||||
}
|
||||
}, e => {
|
||||
this.$message.error('文档未转换成功或本地读取不到该文档')
|
||||
})
|
||||
}
|
||||
} else {
|
||||
this.$message.error('没有在线预览文档权限!')
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="less">
|
||||
.regulatoryMaterialsDetail {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background: #fff;
|
||||
overflow: auto;
|
||||
.container {
|
||||
padding: 15px 30px 0;
|
||||
width: 1200px;
|
||||
margin: 0 auto;
|
||||
height: 100%;
|
||||
.header {
|
||||
padding: 34px 0;
|
||||
font-size: 20px;
|
||||
font-weight: bold;
|
||||
color: #555555;
|
||||
text-align: center;
|
||||
}
|
||||
.content {
|
||||
border-top: 2px dashed rgb(209, 209, 209);
|
||||
.modular-header {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
width: 100%;
|
||||
height: 50px;
|
||||
border-bottom: 1px solid #E5E5E5;
|
||||
.modular-header-title {
|
||||
font-size: 18px;
|
||||
font-weight: bold;
|
||||
color: #3B424C;
|
||||
> .icon-modular-title {
|
||||
display: inline-block;
|
||||
margin-left: -28px;
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
background-size: 100% 100%;
|
||||
background-position: center center;
|
||||
background-image: url("~assets/images/shangqi/standardDetails/modular-title.png");
|
||||
position: relative;
|
||||
top: 2px;
|
||||
}
|
||||
> span {
|
||||
padding-left: 10px;
|
||||
}
|
||||
}
|
||||
/deep/ .modular-header-btn{
|
||||
> button {
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
font-size: 14px;
|
||||
padding: 0 10px;
|
||||
font-family: 'Microsoft Yahei', '\5FAE\8F6F\96C5\9ED1', Arial, sans-serif !important;
|
||||
> i{
|
||||
display: inline-block;
|
||||
margin-right: 3px;
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
background-repeat: no-repeat;
|
||||
background-size: 100% 100%;
|
||||
background-position: center center;
|
||||
vertical-align: text-bottom;
|
||||
}
|
||||
}
|
||||
.collection-btn{
|
||||
padding: 0;
|
||||
border: none;
|
||||
> i {
|
||||
color: #F2CB51;
|
||||
font-size: 18px;
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
}
|
||||
> .el-icon-star-on {
|
||||
font-size: 22px;
|
||||
}
|
||||
&:hover{
|
||||
background: transparent;
|
||||
}
|
||||
}
|
||||
.relation-btn {
|
||||
color: #409EFF;
|
||||
border: 1px solid #409EFF;
|
||||
background: rgba(64, 158, 255, 0.1);
|
||||
.icon-relation{
|
||||
background-image: url("~assets/images/shangqi/standardDetails/relation.png");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.modular-content {
|
||||
color: #333;
|
||||
font-size: 16px;
|
||||
> p {
|
||||
min-height: 43px;
|
||||
line-height: 43px;
|
||||
border-bottom: 1px solid #E5E5E5;
|
||||
}
|
||||
.half {
|
||||
width: 50%;
|
||||
float: left;
|
||||
}
|
||||
.whole {
|
||||
width: 100%;
|
||||
float: left;
|
||||
}
|
||||
}
|
||||
/deep/ .el-collapse-item__wrap {
|
||||
border: none;
|
||||
}
|
||||
.file-item{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
.file-title {
|
||||
display: inline-block;
|
||||
font-size: 16px;
|
||||
color: #409EFF;
|
||||
cursor: pointer;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
max-width: 780px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
}
|
||||
/deep/ .el-collapse-item__content {
|
||||
padding: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/deep/ .icon-download {
|
||||
display: inline-block;
|
||||
margin-left: 3px;
|
||||
width: 18px;
|
||||
height: 16px;
|
||||
background-repeat: no-repeat;
|
||||
background-size: 100% 100%;
|
||||
background-position: center center;
|
||||
vertical-align: sub;
|
||||
cursor: pointer;
|
||||
background-image: url("~assets/images/shangqi/img/download.png");
|
||||
}
|
||||
|
||||
/deep/ .icon-download2 {
|
||||
display: inline-block;
|
||||
margin-left: 3px;
|
||||
width: 18px;
|
||||
height: 16px;
|
||||
background-repeat: no-repeat;
|
||||
background-size: 100% 100%;
|
||||
background-position: center center;
|
||||
vertical-align: sub;
|
||||
cursor: pointer;
|
||||
background-image: url("~assets/images/shangqi/img/download2.png");
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,597 @@
|
||||
<template>
|
||||
<div class="regulatoryMaterialsDetail">
|
||||
<div class="container">
|
||||
<div class="header">{{ form.topicName }}</div>
|
||||
<div class="content">
|
||||
<el-collapse v-model="activeNames">
|
||||
<el-collapse-item name="1">
|
||||
<template slot="title">
|
||||
<div class="modular-header">
|
||||
<div class="modular-header-title">
|
||||
<i class="icon-modular-title"/><span>基础信息</span>
|
||||
</div>
|
||||
<div class="modular-header-btn">
|
||||
<el-button class="relation-btn"
|
||||
icon="icon-relation"
|
||||
@click.stop="relateEvent()"
|
||||
>更新记录</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<div class="modular-content">
|
||||
<p style="" class="half"><label style=" margin-right: 132px;">课题名称</label><span>{{ form.topicName || '-' }}</span></p>
|
||||
<p style="" class="half"><label style=" margin-right: 100px;">课题承办单位</label><span>{{ form.organizer || '-' }}</span></p>
|
||||
<p style="" class="half"><label style=" margin-right: 100px;">课题指导单位</label><span>{{ form.guidanceUnit || '-' }}</span></p>
|
||||
<p style="" class="half"><label style=" margin-right: 100px;">课题参与单位</label><span>{{ form.participatingUnit || '-' }}</span></p>
|
||||
<p style="" class="half"><label style=" margin-right: 132px;">启动时间</label><span>{{ form.startTime || '-' }}</span></p>
|
||||
<p style="" class="half"><label style=" margin-right: 132px;">结题时间</label><span>{{ form.closeTime || '-' }}</span></p>
|
||||
<p style="" class="half"><label style=" margin-right: 132px;">课题状态</label><span>{{ form.topicStatus || '-' }}</span></p>
|
||||
<p style="" class="half"><label style=" margin-right: 68px;">课题费用(万元)</label><span>{{ form.topicCost || '-' }}</span></p>
|
||||
<div class="whole" style="display: flex;border-bottom: 1px solid #E5E5E5">
|
||||
<label style=" margin-right: 164px;line-height: 44px">协议</label>
|
||||
<div style="min-height: 44px;padding: 8px 0;">
|
||||
<template v-if="form.agreementList && form.agreementList.length > 0">
|
||||
<p class="file-item" v-for="file in form.agreementList">
|
||||
<a class="file-title" target="_blank" :title="file.oldFileName" @click="openFileInPdf(file.id, file.oldFileName)">{{ file.oldFileName }}</a>
|
||||
<i title="下载" class="icon-download" @click="downloadFile(file.id)"></i>
|
||||
<i title="下载带水印" class="icon-download2" @click="downloadFileByWater(file.id, file.fileSuffix)"></i>
|
||||
</p>
|
||||
</template>
|
||||
<p v-else>-</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</el-collapse-item>
|
||||
|
||||
<el-collapse-item v-for="(item, index) in form.meetingList" :name="'meetingList' + index">
|
||||
<template slot="title">
|
||||
<div class="modular-header">
|
||||
<div class="modular-header-title">
|
||||
<i class="icon-modular-title"/><span>课题组会议</span>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<div class="modular-content">
|
||||
<p style="" class="half"><label style=" margin-right: 132px;">会议名称</label><span>{{ item.meetingName || '-' }}</span></p>
|
||||
<p style="" class="half"><label style=" margin-right: 132px;">会议时间</label><span>{{ item.meetingTime || '-' }}</span></p>
|
||||
<p style="" class="half"><label style=" margin-right: 132px;">会议地点</label><span>{{ item.meetingAddress || '-' }}</span></p>
|
||||
<p style="" class="half"><label style=" margin-right: 68px;">参会人员(内部)</label><span>{{ item.participants || '-' }}</span></p>
|
||||
<p style="" class="half"><label style=" margin-right: 100px;">会议主要内容</label><span>{{ item.meetingContent || '-' }}</span></p>
|
||||
</div>
|
||||
</el-collapse-item>
|
||||
|
||||
<el-collapse-item name="2">
|
||||
<template slot="title">
|
||||
<div class="modular-header">
|
||||
<div class="modular-header-title">
|
||||
<i class="icon-modular-title"/><span>课题组资料</span>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<div class="modular-content">
|
||||
<div class="whole" style="display: flex;border-bottom: 1px solid #E5E5E5">
|
||||
<label style=" margin-right: 132px;line-height: 44px">研究方案</label>
|
||||
<div style="min-height: 44px;padding: 8px 0;">
|
||||
<template v-if="form.researchPlanList && form.researchPlanList.length > 0">
|
||||
<p class="file-item" v-for="file in form.researchPlanList">
|
||||
<a class="file-title" target="_blank" :title="file.oldFileName" @click="openFileInPdf(file.id, file.oldFileName)">{{ file.oldFileName }}</a>
|
||||
<i title="下载" class="icon-download" @click="downloadFile(file.id)"></i>
|
||||
<i title="下载带水印" class="icon-download2" @click="downloadFileByWater(file.id, file.fileSuffix)"></i>
|
||||
</p>
|
||||
</template>
|
||||
<p v-else>-</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="whole" style="display: flex;border-bottom: 1px solid #E5E5E5">
|
||||
<label style=" margin-right: 132px;line-height: 44px">研究成果</label>
|
||||
<div style="min-height: 44px;padding: 8px 0;">
|
||||
<template v-if="form.researchFindingsList && form.researchFindingsList.length > 0">
|
||||
<p class="file-item" v-for="file in form.researchFindingsList">
|
||||
<a class="file-title" target="_blank" :title="file.oldFileName" @click="openFileInPdf(file.id, file.oldFileName)">{{ file.oldFileName }}</a>
|
||||
<i title="下载" class="icon-download" @click="downloadFile(file.id)"></i>
|
||||
<i title="下载带水印" class="icon-download2" @click="downloadFileByWater(file.id, file.fileSuffix)"></i>
|
||||
</p>
|
||||
</template>
|
||||
<p v-else>-</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="whole" style="display: flex;border-bottom: 1px solid #E5E5E5">
|
||||
<label style=" margin-right: 164px;line-height: 44px">其他</label>
|
||||
<div style="min-height: 44px;padding: 8px 0;">
|
||||
<template v-if="form.otherList && form.otherList.length > 0">
|
||||
<p class="file-item" v-for="file in form.otherList">
|
||||
<a class="file-title" target="_blank" :title="file.oldFileName" @click="openFileInPdf(file.id, file.oldFileName)">{{ file.oldFileName }}</a>
|
||||
<i title="下载" class="icon-download" @click="downloadFile(file.id)"></i>
|
||||
<i title="下载带水印" class="icon-download2" @click="downloadFileByWater(file.id, file.fileSuffix)"></i>
|
||||
</p>
|
||||
</template>
|
||||
<p v-else>-</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="whole" style="display: flex;border-bottom: 1px solid #E5E5E5">
|
||||
<label style=" margin-right: 132px;line-height: 44px">会议资料</label>
|
||||
<div style="min-height: 44px;padding: 8px 0;">
|
||||
<template v-if="form.conferenceMaterialsList && form.conferenceMaterialsList.length > 0">
|
||||
<p class="file-item" v-for="file in form.conferenceMaterialsList">
|
||||
<a class="file-title" target="_blank" :title="file.oldFileName" @click="openFileInPdf(file.id, file.oldFileName)">{{ file.oldFileName }}</a>
|
||||
<i title="下载" class="icon-download" @click="downloadFile(file.id)"></i>
|
||||
<i title="下载带水印" class="icon-download2" @click="downloadFileByWater(file.id, file.fileSuffix)"></i>
|
||||
</p>
|
||||
</template>
|
||||
<p v-else>-</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</el-collapse-item>
|
||||
|
||||
<el-collapse-item v-for="(item, index) in form.topicContactInformationList" :name="'topicContactInformationList' + index">
|
||||
<template slot="title">
|
||||
<div class="modular-header">
|
||||
<div class="modular-header-title">
|
||||
<i class="icon-modular-title"/><span>课题组联系方式</span>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<div class="modular-content">
|
||||
<p style="" class="half"><label style=" margin-right: 164px;">姓名</label><span>{{ item.name || '-' }}</span></p>
|
||||
<p style="" class="half"><label style=" margin-right: 164px;">单位</label><span>{{ item.department || '-' }}</span></p>
|
||||
<p style="" class="half"><label style=" margin-right: 164px;">电话</label><span>{{ item.phone || '-' }}</span></p>
|
||||
<p style="" class="half"><label style=" margin-right: 164px;">邮箱</label><span>{{ item.email || '-' }}</span></p>
|
||||
<p style="" class="half"><label style=" margin-right: 164px;">身份</label><span>{{ item.identity || '-' }}</span></p>
|
||||
</div>
|
||||
</el-collapse-item>
|
||||
|
||||
<el-collapse-item name="3">
|
||||
<template slot="title">
|
||||
<div class="modular-header">
|
||||
<div class="modular-header-title">
|
||||
<i class="icon-modular-title"/><span>内部资料</span>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<div class="modular-content">
|
||||
<div class="whole" style="display: flex;border-bottom: 1px solid #E5E5E5">
|
||||
<label style=" margin-right: 132px;line-height: 44px">立项报告</label>
|
||||
<div style="min-height: 44px;padding: 8px 0;">
|
||||
<template v-if="form.insideProjectProposalReportList && form.insideProjectProposalReportList.length > 0">
|
||||
<p class="file-item" v-for="file in form.insideProjectProposalReportList">
|
||||
<a class="file-title" target="_blank" :title="file.oldFileName" @click="openFileInPdf(file.id, file.oldFileName)">{{ file.oldFileName }}</a>
|
||||
<i title="下载" class="icon-download" @click="downloadFile(file.id)"></i>
|
||||
<i title="下载带水印" class="icon-download2" @click="downloadFileByWater(file.id, file.fileSuffix)"></i>
|
||||
</p>
|
||||
</template>
|
||||
<p v-else>-</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="whole" style="display: flex;border-bottom: 1px solid #E5E5E5">
|
||||
<label style=" margin-right: 132px;line-height: 44px">研究方案</label>
|
||||
<div style="min-height: 44px;padding: 8px 0;">
|
||||
<template v-if="form.insideResearchPlanList && form.insideResearchPlanList.length > 0">
|
||||
<p class="file-item" v-for="file in form.insideResearchPlanList">
|
||||
<a class="file-title" target="_blank" :title="file.oldFileName" @click="openFileInPdf(file.id, file.oldFileName)">{{ file.oldFileName }}</a>
|
||||
<i title="下载" class="icon-download" @click="downloadFile(file.id)"></i>
|
||||
<i title="下载带水印" class="icon-download2" @click="downloadFileByWater(file.id, file.fileSuffix)"></i>
|
||||
</p>
|
||||
</template>
|
||||
<p v-else>-</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="whole" style="display: flex;border-bottom: 1px solid #E5E5E5">
|
||||
<label style=" margin-right: 132px;line-height: 44px">会议资料</label>
|
||||
<div style="min-height: 44px;padding: 8px 0;">
|
||||
<template v-if="form.insideConferenceMaterialsList && form.insideConferenceMaterialsList.length > 0">
|
||||
<p class="file-item" v-for="file in form.insideConferenceMaterialsList">
|
||||
<a class="file-title" target="_blank" :title="file.oldFileName" @click="openFileInPdf(file.id, file.oldFileName)">{{ file.oldFileName }}</a>
|
||||
<i title="下载" class="icon-download" @click="downloadFile(file.id)"></i>
|
||||
<i title="下载带水印" class="icon-download2" @click="downloadFileByWater(file.id, file.fileSuffix)"></i>
|
||||
</p>
|
||||
</template>
|
||||
<p v-else>-</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="whole" style="display: flex;border-bottom: 1px solid #E5E5E5">
|
||||
<label style=" margin-right: 132px;line-height: 44px">研究成果</label>
|
||||
<div style="min-height: 44px;padding: 8px 0;">
|
||||
<template v-if="form.insideResearchFindingsList && form.insideResearchFindingsList.length > 0">
|
||||
<p class="file-item" v-for="file in form.insideResearchFindingsList">
|
||||
<a class="file-title" target="_blank" :title="file.oldFileName" @click="openFileInPdf(file.id, file.oldFileName)">{{ file.oldFileName }}</a>
|
||||
<i title="下载" class="icon-download" @click="downloadFile(file.id)"></i>
|
||||
<i title="下载带水印" class="icon-download2" @click="downloadFileByWater(file.id, file.fileSuffix)"></i>
|
||||
</p>
|
||||
</template>
|
||||
<p v-else>-</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="whole" style="display: flex;border-bottom: 1px solid #E5E5E5">
|
||||
<label style=" margin-right: 164px;line-height: 44px">其他</label>
|
||||
<div style="min-height: 44px;padding: 8px 0;">
|
||||
<template v-if="form.insideOtherList && form.insideOtherList.length > 0">
|
||||
<p class="file-item" v-for="file in form.insideOtherList">
|
||||
<a class="file-title" target="_blank" :title="file.oldFileName" @click="openFileInPdf(file.id, file.oldFileName)">{{ file.oldFileName }}</a>
|
||||
<i title="下载" class="icon-download" @click="downloadFile(file.id)"></i>
|
||||
<i title="下载带水印" class="icon-download2" @click="downloadFileByWater(file.id, file.fileSuffix)"></i>
|
||||
</p>
|
||||
</template>
|
||||
<p v-else>-</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</el-collapse-item>
|
||||
|
||||
<el-collapse-item v-for="(item, index) in form.insideContactInformationList" :name="'insideContactInformationList' + index">
|
||||
<template slot="title">
|
||||
<div class="modular-header">
|
||||
<div class="modular-header-title">
|
||||
<i class="icon-modular-title"/><span>内部联系方式</span>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<div class="modular-content">
|
||||
<p style="" class="half"><label style=" margin-right: 164px;">姓名</label><span>{{ item.name || '-' }}</span></p>
|
||||
<p style="" class="half"><label style=" margin-right: 164px;">单位</label><span>{{ item.department || '-' }}</span></p>
|
||||
<p style="" class="half"><label style=" margin-right: 164px;">电话</label><span>{{ item.phone || '-' }}</span></p>
|
||||
<p style="" class="half"><label style=" margin-right: 164px;">邮箱</label><span>{{ item.email || '-' }}</span></p>
|
||||
<p style="" class="half"><label style=" margin-right: 164px;">身份</label><span>{{ item.identity || '-' }}</span></p>
|
||||
</div>
|
||||
</el-collapse-item>
|
||||
</el-collapse>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 更新LOG -->
|
||||
<el-dialog
|
||||
title="更新记录"
|
||||
:visible.sync="relateDialog"
|
||||
width="60%"
|
||||
class="relateClass"
|
||||
:before-close="relateDialogClose">
|
||||
<div
|
||||
v-for="(item, index) in relateNowList"
|
||||
:key="index"
|
||||
v-if="relateNowList"
|
||||
style="margin-bottom: 10px;line-height: 20px"
|
||||
>
|
||||
{{index+1}}. {{item.creationUserName}} {{item.creationTime}} {{item.content}}
|
||||
<div v-if="relateNowList.length >1"><el-divider></el-divider></div>
|
||||
</div>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="relateDialogClose()">关 闭</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { getBusStandFileByAttId } from 'api/process'
|
||||
|
||||
export default {
|
||||
name: "policyTopicsDetail",
|
||||
data () {
|
||||
return {
|
||||
url: {
|
||||
getLawsTopicInfo: 'lawss/sarLawsTopic/getLawsTopicInfo',
|
||||
getLogList: 'lawss/sarUpdLog/getLogList', // 更新记录
|
||||
},
|
||||
form: {},
|
||||
activeNames: ['1', '2', '3'],
|
||||
// 更新记录
|
||||
relateDialog: false,
|
||||
relateNowList: [],
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getData()
|
||||
},
|
||||
methods: {
|
||||
getData () {
|
||||
const id = this.$route.params.id
|
||||
this.$http._getData(this.url.getLawsTopicInfo, { id }).then(res => {
|
||||
if (res.ok) {
|
||||
const activeNames = []
|
||||
res.data.meetingList.forEach((item, index) => {
|
||||
activeNames.push('meetingList' + index)
|
||||
})
|
||||
res.data.topicContactInformationList.forEach((item, index) => {
|
||||
activeNames.push('topicContactInformationList' + index)
|
||||
})
|
||||
res.data.insideContactInformationList.forEach((item, index) => {
|
||||
activeNames.push('insideContactInformationList' + index)
|
||||
})
|
||||
this.activeNames = [...this.activeNames, ...activeNames]
|
||||
this.$set(this, 'form', res.data)
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
// 更新LOG
|
||||
relateEvent () {
|
||||
const query = {
|
||||
sarId: this.$route.params.id,
|
||||
sarType: 'POLICYTOPICS'
|
||||
}
|
||||
this.$http._getData(this.url.getLogList, query).then(res => {
|
||||
if (res.ok && res.data.length > 0) {
|
||||
this.relateDialog = true
|
||||
const relateList = res.data
|
||||
var i
|
||||
for (i = 0; i < relateList.length; i++) {
|
||||
let obj = {creationUserName: '', creationTime: '', content: ''}
|
||||
obj.creationUserName = relateList[i].creationUserName
|
||||
obj.creationTime = relateList[i].creationTime
|
||||
obj.content = relateList[i].content
|
||||
this.relateNowList.push(obj)
|
||||
}
|
||||
} else {
|
||||
this.$message.warning('暂无数据')
|
||||
}
|
||||
})
|
||||
},
|
||||
relateDialogClose () {
|
||||
this.relateDialog = false
|
||||
this.relateNowList = []
|
||||
},
|
||||
downloadFile (attId) {
|
||||
if (attId != null && attId !== '') {
|
||||
window.location.href = '/api/att/attFile/downloadFileForSarNew?fileId=' + attId
|
||||
} else {
|
||||
this.$message.error('请选择要下载的文件')
|
||||
}
|
||||
},
|
||||
downloadFileByWater (attId, fileSuffix) {
|
||||
if (fileSuffix !== 'pdf' && fileSuffix !== 'PDF') {
|
||||
this.$message.error('水印下载仅支持PDF,pdf格式文件')
|
||||
} else {
|
||||
if (attId != null && attId !== '') {
|
||||
window.location.href = '/api/att/attFile/downloadFileForSarWaterMarkNew?fileId=' + attId + '&userId=' + this.$store.getters.userInfo.userId
|
||||
} else {
|
||||
this.$message.error('请选择要下载的文件')
|
||||
}
|
||||
}
|
||||
},
|
||||
getBusStandFileByAttId(attId) {
|
||||
return new Promise((resolve, reject) => {
|
||||
getBusStandFileByAttId({
|
||||
attId
|
||||
}).then(res => {
|
||||
if (res.ok) {
|
||||
resolve(res.data)
|
||||
} else {
|
||||
reject()
|
||||
}
|
||||
}).catch(e => {
|
||||
reject(e)
|
||||
})
|
||||
})
|
||||
},
|
||||
openFileInPdf (attId, fileName) {
|
||||
// 判断是否是图片格式,图片格式不预览,直接下载
|
||||
let index1 = fileName.lastIndexOf('.')
|
||||
let index2 = fileName.length
|
||||
let fileSuffix = fileName.substring(index1, index2)
|
||||
//把后缀转大写
|
||||
if(fileSuffix !== undefined && fileSuffix !== null){
|
||||
fileSuffix = fileSuffix.toUpperCase()
|
||||
}
|
||||
// 判断上传文件格式
|
||||
if (fileSuffix === '.PNG'|| fileSuffix === '.JPG'|| fileSuffix === '.JPEG') {
|
||||
this.downloadFile(attId)
|
||||
return true
|
||||
}
|
||||
// 缺少文件
|
||||
if (this.$hasPermission('fd83032ae5f41a0021b00e93c88edbbg')) {
|
||||
if (fileSuffix === '.PDG' || fileSuffix === '.pdg') {
|
||||
this.getBusStandFileByAttId(attId)
|
||||
.then(res => {
|
||||
if(res){
|
||||
const editFileInfo = res
|
||||
if(editFileInfo.fileSuffix === 'pdg' || editFileInfo.fileSuffix === 'PDG'){
|
||||
window.open('book://ssreader/e0?url='+editFileInfo.downLoadUrl)
|
||||
}
|
||||
}
|
||||
}).catch(e => {
|
||||
this.$message.warning('文件不存在,预览失败')
|
||||
})
|
||||
}else {
|
||||
this.$http.get('lawss/sarLawsFile/queryConvertAtt', {
|
||||
attId: attId
|
||||
}, {
|
||||
_this: this
|
||||
}, res => {
|
||||
if (res.data) {
|
||||
let fileObj = {}
|
||||
fileObj.fileId = res.data.attId
|
||||
fileObj.fileName = fileName
|
||||
let fileList = []
|
||||
let repeatData = 0
|
||||
if (sessionStorage.getItem('fileInfo')) {
|
||||
fileList = JSON.parse(sessionStorage.getItem('fileInfo'))
|
||||
if (fileList != null && fileList.length > 0) {
|
||||
for (let i = 0; i < fileList.length; i++) {
|
||||
if (fileList[i].fileId === res.data.attId) {
|
||||
repeatData = 1
|
||||
break
|
||||
}
|
||||
}
|
||||
if (repeatData === 0) {
|
||||
fileList.push(fileObj)
|
||||
fileList = JSON.stringify(fileList)
|
||||
sessionStorage.setItem('fileInfo', fileList)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
fileList.push(fileObj)
|
||||
fileList = JSON.stringify(fileList)
|
||||
sessionStorage.setItem('fileInfo', fileList)
|
||||
}
|
||||
window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + res.data.attId))
|
||||
} else {
|
||||
this.$message.error('文档未转换成功或本地读取不到该文档')
|
||||
}
|
||||
}, e => {
|
||||
this.$message.error('文档未转换成功或本地读取不到该文档')
|
||||
})
|
||||
}
|
||||
} else {
|
||||
this.$message.error('没有在线预览文档权限!')
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="less">
|
||||
.regulatoryMaterialsDetail {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background: #fff;
|
||||
overflow: auto;
|
||||
.container {
|
||||
padding: 15px 30px 0;
|
||||
width: 1200px;
|
||||
margin: 0 auto;
|
||||
height: 100%;
|
||||
.header {
|
||||
padding: 34px 0;
|
||||
font-size: 20px;
|
||||
font-weight: bold;
|
||||
color: #555555;
|
||||
text-align: center;
|
||||
}
|
||||
.content {
|
||||
border-top: 2px dashed rgb(209, 209, 209);
|
||||
.modular-header {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
width: 100%;
|
||||
height: 50px;
|
||||
border-bottom: 1px solid #E5E5E5;
|
||||
.modular-header-title {
|
||||
font-size: 18px;
|
||||
font-weight: bold;
|
||||
color: #3B424C;
|
||||
> .icon-modular-title {
|
||||
display: inline-block;
|
||||
margin-left: -28px;
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
background-size: 100% 100%;
|
||||
background-position: center center;
|
||||
background-image: url("~assets/images/shangqi/standardDetails/modular-title.png");
|
||||
position: relative;
|
||||
top: 2px;
|
||||
}
|
||||
> span {
|
||||
padding-left: 10px;
|
||||
}
|
||||
}
|
||||
/deep/ .modular-header-btn{
|
||||
> button {
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
font-size: 14px;
|
||||
padding: 0 10px;
|
||||
font-family: 'Microsoft Yahei', '\5FAE\8F6F\96C5\9ED1', Arial, sans-serif !important;
|
||||
> i{
|
||||
display: inline-block;
|
||||
margin-right: 3px;
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
background-repeat: no-repeat;
|
||||
background-size: 100% 100%;
|
||||
background-position: center center;
|
||||
vertical-align: text-bottom;
|
||||
}
|
||||
}
|
||||
.collection-btn{
|
||||
padding: 0;
|
||||
border: none;
|
||||
> i {
|
||||
color: #F2CB51;
|
||||
font-size: 18px;
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
}
|
||||
> .el-icon-star-on {
|
||||
font-size: 22px;
|
||||
}
|
||||
&:hover{
|
||||
background: transparent;
|
||||
}
|
||||
}
|
||||
.relation-btn {
|
||||
color: #409EFF;
|
||||
border: 1px solid #409EFF;
|
||||
background: rgba(64, 158, 255, 0.1);
|
||||
.icon-relation{
|
||||
background-image: url("~assets/images/shangqi/standardDetails/relation.png");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.modular-content {
|
||||
color: #333;
|
||||
font-size: 16px;
|
||||
> p {
|
||||
min-height: 43px;
|
||||
line-height: 43px;
|
||||
border-bottom: 1px solid #E5E5E5;
|
||||
}
|
||||
.half {
|
||||
width: 50%;
|
||||
float: left;
|
||||
}
|
||||
.whole {
|
||||
width: 100%;
|
||||
float: left;
|
||||
}
|
||||
}
|
||||
/deep/ .el-collapse-item__wrap {
|
||||
border: none;
|
||||
}
|
||||
.file-item{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
.file-title {
|
||||
display: inline-block;
|
||||
font-size: 16px;
|
||||
color: #409EFF;
|
||||
cursor: pointer;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
max-width: 780px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
}
|
||||
/deep/ .el-collapse-item__content {
|
||||
padding: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/deep/ .icon-download {
|
||||
display: inline-block;
|
||||
margin-left: 3px;
|
||||
width: 18px;
|
||||
height: 16px;
|
||||
background-repeat: no-repeat;
|
||||
background-size: 100% 100%;
|
||||
background-position: center center;
|
||||
vertical-align: sub;
|
||||
cursor: pointer;
|
||||
background-image: url("~assets/images/shangqi/img/download.png");
|
||||
}
|
||||
|
||||
/deep/ .icon-download2 {
|
||||
display: inline-block;
|
||||
margin-left: 3px;
|
||||
width: 18px;
|
||||
height: 16px;
|
||||
background-repeat: no-repeat;
|
||||
background-size: 100% 100%;
|
||||
background-position: center center;
|
||||
vertical-align: sub;
|
||||
cursor: pointer;
|
||||
background-image: url("~assets/images/shangqi/img/download2.png");
|
||||
}
|
||||
</style>
|
||||
@@ -45,13 +45,14 @@
|
||||
<div style="display: flex;border-bottom: 1px solid #E5E5E5">
|
||||
<label style=" margin-right: 156px;line-height: 44px">资料文件</label>
|
||||
<div style="min-height: 44px;padding: 8px 0;">
|
||||
<template v-for="file in form.information">
|
||||
<p class="file-item">
|
||||
<a class="file-title" target="_blank" :title="file.name" @click="openFileInPdf(file.id, file.name)">{{ file.name }}</a>
|
||||
<template v-if="form.informationFileList && form.informationFileList.length > 0">
|
||||
<p class="file-item" v-for="file in form.informationFileList">
|
||||
<a class="file-title" target="_blank" :title="file.oldFileName" @click="openFileInPdf(file.id, file.oldFileName)">{{ file.oldFileName }}</a>
|
||||
<i v-if="hasDownLoadPermission()" title="下载" class="icon-download" @click="downloadFile(file.id)"></i>
|
||||
<i v-if="hasDownLoadPermission()" title="下载带水印" class="icon-download2" @click="downloadFileByWater(file.id, file.fileSuffix)"></i>
|
||||
</p>
|
||||
</template>
|
||||
<p v-else>-</p>
|
||||
</div>
|
||||
</div>
|
||||
<p style=""><label style=" margin-right: 156px;">可查看者</label><span>{{ form.viewableBy || '-' }}</span></p>
|
||||
@@ -134,19 +135,7 @@ export default {
|
||||
const id = this.$route.params.id
|
||||
this.$http._getData(this.url.getLawsInformationInfo, { id }).then(res => {
|
||||
if (res.ok) {
|
||||
let ids = ''
|
||||
let names = ''
|
||||
let information = []
|
||||
if (res.data.informationFile && res.data.informationFile !== '') {
|
||||
ids = this.removeCommasAtStartAndEnd(res.data.informationFile).split(',')
|
||||
names = this.removeCommasAtStartAndEnd(res.data.informationFileName).split(',')
|
||||
information = ids.map((id, index) => ({
|
||||
id,
|
||||
name: names[index]
|
||||
}))
|
||||
}
|
||||
this.$set(this, 'form', res.data)
|
||||
this.$set(this.form, 'information', information)
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
@@ -98,6 +98,9 @@
|
||||
align="center"
|
||||
sortable="custom"
|
||||
>
|
||||
<template slot-scope="{row, column, $index}">
|
||||
<a class="table-jump" style="color: #2d8cf0" @click="handlePreview(row.id)">{{ row.meetingName }}</a>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="meetingOrganizer"
|
||||
@@ -199,6 +202,14 @@ export default {
|
||||
this.getData()
|
||||
},
|
||||
methods: {
|
||||
// 点击查看
|
||||
handlePreview(id) {
|
||||
let routeUrl = this.$router.resolve({
|
||||
name: 'meetingDetail',
|
||||
params: { id }
|
||||
})
|
||||
window.open(routeUrl.href, '_blank')
|
||||
},
|
||||
isPermission (value) {
|
||||
let hasCount = 0
|
||||
let set =new Set( value.split(","))
|
||||
|
||||
@@ -282,7 +282,7 @@
|
||||
<template v-for="(item, index) in form.insideContactInformationList">
|
||||
<el-col :span="24">
|
||||
<div class="divider-line">
|
||||
课题组联系方式
|
||||
内部联系方式
|
||||
<el-button type="primary" size="mini" icon="el-icon-plus" @click="add('insideContactInformationList')"
|
||||
:style="{visibility: (index === form.insideContactInformationList.length - 1) ? 'visible' : 'collapse'}"></el-button>
|
||||
<el-button type="primary" size="mini" icon="el-icon-minus" @click="remove('insideContactInformationList', index)"
|
||||
|
||||
@@ -111,6 +111,9 @@
|
||||
align="center"
|
||||
sortable="custom"
|
||||
>
|
||||
<template slot-scope="{row, column, $index}">
|
||||
<a class="table-jump" style="color: #2d8cf0" @click="handlePreview(row.id)">{{ row.topicName }}</a>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="organizer"
|
||||
@@ -213,6 +216,14 @@ export default {
|
||||
this.getData()
|
||||
},
|
||||
methods: {
|
||||
// 点击查看
|
||||
handlePreview(id) {
|
||||
let routeUrl = this.$router.resolve({
|
||||
name: 'policyTopicsDetail',
|
||||
params: { id }
|
||||
})
|
||||
window.open(routeUrl.href, '_blank')
|
||||
},
|
||||
isPermission (value) {
|
||||
let hasCount = 0
|
||||
let set =new Set( value.split(","))
|
||||
|
||||
@@ -4523,6 +4523,28 @@ const routes = [
|
||||
isBoolean: true
|
||||
}
|
||||
},
|
||||
{
|
||||
path: '/meetingDetail/:id',
|
||||
name: 'meetingDetail',
|
||||
component: () =>
|
||||
import('@/pages/details/meetingDetail'),
|
||||
meta: {
|
||||
requireAuth: true,
|
||||
title: '内外部会议详情',
|
||||
isBoolean: true
|
||||
}
|
||||
},
|
||||
{
|
||||
path: '/policyTopicsDetail/:id',
|
||||
name: 'policyTopicsDetail',
|
||||
component: () =>
|
||||
import('@/pages/details/policyTopicsDetail'),
|
||||
meta: {
|
||||
requireAuth: true,
|
||||
title: '政策课题详情',
|
||||
isBoolean: true
|
||||
}
|
||||
},
|
||||
// ************************** 搜索中心 ******************************* //
|
||||
{
|
||||
path: '/searchCenter/:selectKey?/:selectValue?',
|
||||
|
||||
Reference in New Issue
Block a user