Merge remote-tracking branch 'origin/master'

This commit is contained in:
danshihao
2024-07-29 14:47:15 +08:00
2 changed files with 86 additions and 43 deletions
@@ -7,6 +7,8 @@
</div> </div>
<div class="detail-page-part-form" v-if="part !== DisplayAreaManagement.PROCESS_DOCUMENTATION.text && part !== DisplayAreaManagement.PROCESS_DOCUMENTATION.textEn"> <div class="detail-page-part-form" v-if="part !== DisplayAreaManagement.PROCESS_DOCUMENTATION.text && part !== DisplayAreaManagement.PROCESS_DOCUMENTATION.textEn">
<div class="detail-page-part-form-item" v-for="formItem in form[part]" :key="formItem.id"> <div class="detail-page-part-form-item" v-for="formItem in form[part]" :key="formItem.id">
<!-- 查看文件有的有权限控制企标的关联文件 -->
<template v-if="fileField.includes(formItem.dbFieldName) ? fileVisibility(formItem.dbFieldName) : true">
<label>{{ formItem.dbFieldTxt }}</label> <label>{{ formItem.dbFieldTxt }}</label>
<!--标准需要跳转是标准字段且有内容的情况下在这处理--> <!--标准需要跳转是标准字段且有内容的情况下在这处理-->
<template v-if="standardFields.includes(formItem.dbFieldName) && !!detailData[formItem.dbFieldName]"> <template v-if="standardFields.includes(formItem.dbFieldName) && !!detailData[formItem.dbFieldName]">
@@ -25,7 +27,7 @@
<div class="detail-page-process-manuscript-file-name" @click="handlePreview(file)">{{ file.fileName }}</div> <div class="detail-page-process-manuscript-file-name" @click="handlePreview(file)">{{ file.fileName }}</div>
</div> </div>
<!-- 下载--> <!-- 下载-->
<a-button type="link" icon="download" class="file-btn" @click="handleDownload(file)"> <a-button v-if="fileIsDownload(formItem.dbFieldName)" type="link" icon="download" class="file-btn" @click="handleDownload(file)">
{{ $t('download') }} {{ $t('download') }}
</a-button> </a-button>
<!-- 无水印下载--> <!-- 无水印下载-->
@@ -50,6 +52,7 @@
<span v-else-if="detailData[formItem.dbFieldName] && formItem.dbFieldName === 'standard_scope'" v-html="detailData[formItem.dbFieldName]"></span> <span v-else-if="detailData[formItem.dbFieldName] && formItem.dbFieldName === 'standard_scope'" v-html="detailData[formItem.dbFieldName]"></span>
<span v-else-if="detailData[formItem.dbFieldName]">{{ detailData[formItem.dbFieldName] }}</span> <span v-else-if="detailData[formItem.dbFieldName]">{{ detailData[formItem.dbFieldName] }}</span>
<span v-else>—</span> <span v-else>—</span>
</template>
</div> </div>
</div> </div>
<!-- 过程稿件特殊处理--> <!-- 过程稿件特殊处理-->
@@ -129,6 +132,8 @@ import { getFileInfo } from '../../../../api/api'
import { kkFilePreview } from '@/utils/kkFilePreview' import { kkFilePreview } from '@/utils/kkFilePreview'
import TextContentModal from './module/TextContentModal' import TextContentModal from './module/TextContentModal'
import { queryStandardInfoByStandardNumber } from '@/utils/util' import { queryStandardInfoByStandardNumber } from '@/utils/util'
import { mapGetters } from 'vuex'
import { isHasPermission } from '../../../../utils/hasPermission'
// 支持预览的文件后缀 // 支持预览的文件后缀
const CAN_PREVIEW_FILE_SUFFIX = ['jpg', 'jpeg', 'png', 'pdf', 'doc', 'docx', 'xls', 'xlsx', 'ppt', 'pptx'] const CAN_PREVIEW_FILE_SUFFIX = ['jpg', 'jpeg', 'png', 'pdf', 'doc', 'docx', 'xls', 'xlsx', 'ppt', 'pptx']
@@ -191,7 +196,19 @@ export default {
// 参与只允许查看最新稿件排序的字段顺序(发布稿>征求意见稿) // 参与只允许查看最新稿件排序的字段顺序(发布稿>征求意见稿)
newestManuScriptField: ['publish_of_original', 'draft_for_comment'], newestManuScriptField: ['publish_of_original', 'draft_for_comment'],
// 过程稿件中可以查看的最新文件id // 过程稿件中可以查看的最新文件id
manuScriptNewestFileId: '' manuScriptNewestFileId: '',
filePerm: { // 上传文件根据权限控制只能查看,没有权限的除了系统管理员外不可见不可下载
associated_file: 'enterpriseStandard:associatedFile:look' // 关联文件
}
}
},
computed: {
...mapGetters(['userInfo']),
// 是否是系统管理员
isSystemAdmin () {
const roleList = window._CONFIG.systemAdminRoleCode.split(',')
const userRoleList = this.userInfo.roleCode.split(',')
return userRoleList.some(tt => roleList.includes(tt))
} }
}, },
created () { created () {
@@ -199,6 +216,32 @@ export default {
this.initData() this.initData()
}, },
methods: { methods: {
fileIsDownload (fieldName) { // 文件是否可下载
if (Object.keys(this.filePerm).includes(fieldName)) {
// 系统管理员可下载
if (this.isSystemAdmin) {
return true
} else {
return false
}
} else {
// 不是需要特殊判断的字段正常可下载
return true
}
},
fileVisibility (fieldName) { // 文件是否可见,有授权的和系统管理员可下载
if (Object.keys(this.filePerm).includes(fieldName)) {
// 系统管理员和有权限的角色可见
if (this.isSystemAdmin || isHasPermission(this.filePerm[fieldName])) {
return true
} else {
return false
}
} else {
// 不是需要特殊判断的字段正常可见
return true
}
},
initForm () { initForm () {
const params = {} const params = {}
params.type = 1 params.type = 1
@@ -269,7 +312,7 @@ export default {
if (!file || !file.url) { if (!file || !file.url) {
return return
} }
if (this.newestManuScriptField.includes(formItem.dbFieldName) && file.id !== this.manuScriptNewestFileId) { if (formItem && this.newestManuScriptField.includes(formItem.dbFieldName) && file.id !== this.manuScriptNewestFileId) {
// 参与最新稿件不预览的不是最新的稿件不能预览 // 参与最新稿件不预览的不是最新的稿件不能预览
return return
} }
@@ -313,7 +313,7 @@ export default {
if (!file || !file.url) { if (!file || !file.url) {
return return
} }
if (this.newestManuScriptField.includes(formItem.dbFieldName) && file.id !== this.manuScriptNewestFileId) { if (formItem && this.newestManuScriptField.includes(formItem.dbFieldName) && file.id !== this.manuScriptNewestFileId) {
// 参与最新稿件不预览的不是最新的稿件不能预览 // 参与最新稿件不预览的不是最新的稿件不能预览
return return
} }