[update] 修改bug87492

This commit is contained in:
lideqin
2024-07-26 16:57:24 +08:00
parent 8957a3a6ca
commit 563abd0644
3 changed files with 33 additions and 19 deletions
+1 -9
View File
@@ -95,16 +95,8 @@ export const StandardStatus = {
// 企标状态
export const EnterpriseStandardStatus = {
DRAFT: { text: '起草', value: '1' },
SEEK_FOR_OPTIONS: { text: '征求意见', value: '2' },
EXAMINE: { text: '审查', value: '3' },
APPROVAL: { text: '报批', value: '4' },
PRE_RELEASE: { text: '预发布', value: '5' },
RELEASE: { text: '发布', value: '6' },
TRIAL_OPERATION: { text: '试运行', value: '7' },
CURRENTLY_EFFECTIVE: { text: '现行有效', value: '8' },
ABOLISH: { text: '废止', value: '9' },
ARCHIVE: { text: '封存', value: '10' }
ABOLISH: { text: '废止', value: '9' }
}
// 标准化活动类型
@@ -12,7 +12,7 @@
<template v-if="standardFields.includes(formItem.dbFieldName) && !!detailData[formItem.dbFieldName]">
<div class="div-form-content">
<template v-for="(standard, standardIndex) in detailData[formItem.dbFieldName].split(',')">
<div class="can-click" :key="'standardKey' + standardIndex" @click="toStandardDetailPage(standard)">{{ standard }}</div>
<div class="can-click" :key="'standardKey' + standardIndex" @click="toStandardDetailPage(standard.split('|')[0])">{{ standard }}</div>
<div v-if="standardIndex!==detailData[formItem.dbFieldName].split(',').length - 1">,</div>
</template>
</div>
@@ -69,17 +69,20 @@
</div>
<template v-if="detailData[formItem.dbFieldName]">
<div class="detail-page-process-manuscript-file" v-for="file in detailData[formItem.dbFieldName + 'List']" :key="file.id">
<div class="detail-page-process-manuscript-file-info">
<div class="detail-page-process-manuscript-file-info"
:class="newestManuScriptField.includes(formItem.dbFieldName) && file.id !== manuScriptNewestFileId ? 'disabled-file-info' : ''">
<a-icon type="link" />
<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, formItem)">{{ file.fileName }}</div>
</div>
<div class="detail-page-process-manuscript-file-operate">
<!-- 下载-->
<a-button type="link" icon="download" @click="handleDownload(file)" v-has="'enterpriseStandard:detail:download'">
<a-button type="link" icon="download" @click="handleDownload(file)" v-has="'enterpriseStandard:detail:download'"
:disabled="newestManuScriptField.includes(formItem.dbFieldName) && file.id !== manuScriptNewestFileId">
{{ $t('download') }}
</a-button>
<!-- 无水印下载-->
<a-button type="link" @click="downloadDraftNoWater(file)" v-has="'enterpriseStandard:detail:noWaterDownload'">
<a-button type="link" @click="downloadDraftNoWater(file)" v-has="'enterpriseStandard:detail:noWaterDownload'"
:disabled="newestManuScriptField.includes(formItem.dbFieldName) && file.id !== manuScriptNewestFileId">
<i class="iconfont icon-water-drop-slash"></i>
{{ $t('unwatermarkedDownload') }}
</a-button>
@@ -127,7 +130,7 @@
<script>
import '@assets/less/common.less'
import { DisplayAreaManagement, FieldType, StandardSource } from '@/enums/commonEnums'
import { DisplayAreaManagement, FieldType, StandardSource, EnterpriseStandardStatus } from '@/enums/commonEnums'
import { downloadFile, getFileAccessHttpUrl } from '@/api/manage'
import { getEnterpriseStandardInfoById, getEnterpriseStandardAddForm } from '@/api/enterpriseStandardLibraryApi'
import Vue from 'vue'
@@ -196,7 +199,11 @@ export default {
imageUrl: '',
showViewAllField: ['auth_dept'], // 需要显示展示查看全部按钮的字段
// 标准字段,需要跳转标准详情
standardFields: ['substitute_standard_number', 'replaced_by_standard_number', 'reference_standard', 'referenced_standard']
standardFields: ['substitute_standard_number', 'replaced_by_standard_number', 'reference_standard', 'referenced_standard'],
// 参与只允许查看最新稿件排序的字段顺序(发布稿>征求意见稿)
newestManuScriptField: ['publish_of_original', 'draft_for_comment'],
// 过程稿件中可以查看的最新文件id
manuScriptNewestFileId: ''
}
},
created () {
@@ -242,6 +249,17 @@ export default {
this.$set(this.detailData, item + 'List', fileInfoList)
}
})
// 不是废止状态的话,获取过程稿件中可以查看的最新文件id
if (this.detailData.standard_state !== EnterpriseStandardStatus.ABOLISH.value) {
for (const item of this.newestManuScriptField) {
if (this.detailData[item]) {
// 从文件列表里面获取
const sortFileIdArr = this.detailData[item].split(',').sort((a, b) => b - a) // 日期只精确到天,用id更能区分
this.manuScriptNewestFileId = sortFileIdArr[0]
break
}
}
}
} else {
this.$message.warning(res.message)
}
@@ -259,10 +277,14 @@ export default {
})
})
},
handlePreview (file) {
handlePreview (file, formItem) {
if (!file || !file.url) {
return
}
if (this.newestManuScriptField.includes(formItem.dbFieldName) && file.id !== this.manuScriptNewestFileId) {
// 参与最新稿件不预览的不是最新的稿件不能预览
return
}
if (file.pdfId) {
// 说明是onlyOffice生成的
const url = previewPdf(file.pdfId)
@@ -19,7 +19,7 @@
<template v-if="standardFields.includes(formItem.dbFieldName) && !!detailData[formItem.dbFieldName]">
<div class="div-form-content">
<template v-for="(standard, standardIndex) in detailData[formItem.dbFieldName].split(',')">
<div class="can-click" :key="'standardKey' + standardIndex" @click="toStandardDetailPage(standard)">{{ standard }}</div>
<div class="can-click" :key="'standardKey' + standardIndex" @click="toStandardDetailPage(standard.split('|')[0])">{{ standard }}</div>
<div v-if="standardIndex!==detailData[formItem.dbFieldName].split(',').length - 1">,</div>
</template>
</div>
@@ -373,7 +373,7 @@ export default {
switch (standardInfo.source) {
// 国内
case StandardSource.FOREIGN.value:
path = '/standardRegulationLibrary/ForeignStandardDetail'
path = '/standardRegulationLibrary/foreignStandardDetailPage'
break
// 企标
case StandardSource.ENTERPRISE.value: