[update] 修改bug87715

This commit is contained in:
lideqin
2024-07-30 15:12:20 +08:00
parent c78811fb55
commit ea90f75b3b
2 changed files with 11 additions and 63 deletions
@@ -119,11 +119,8 @@
<!-- 附件 --> <!-- 附件 -->
<template v-slot:file="{text, record}"> <template v-slot:file="{text, record}">
<a-tooltip overlay-class-name="tooltip-style"> <a v-if="text" class="link-a" @click="handleLookFile(record)">{{ $t('view') }}</a>
<template slot="title">{{ record.file_dictText || record.file_dictText === 0 ? record.file_dictText : global.emptyLine }}</template>
<a v-if="text" class="link-a" @click="previewFile(record)">{{ record.file_dictText }}</a>
<div v-else class="table-text">{{ global.emptyLine }}</div> <div v-else class="table-text">{{ global.emptyLine }}</div>
</a-tooltip>
</template> </template>
</j-table> </j-table>
@@ -134,37 +131,23 @@
<nonmatch-item-close-modal ref="nonmatchItemCloseModal" @ok="modalFormOk"/> <nonmatch-item-close-modal ref="nonmatchItemCloseModal" @ok="modalFormOk"/>
<!-- 查看弹框 --> <!-- 查看弹框 -->
<nonmatch-item-look-modal ref="nonmatchItemLookModal"/> <nonmatch-item-look-modal ref="nonmatchItemLookModal"/>
<!-- 预览图片 --> <!-- 文件查看弹框 -->
<div id="images"> <upload-file ref="uploadFile" disabled></upload-file>
<div class="image" v-viewer="{movable: false}">
<img v-show="image" :src="imageUrl">
</div>
</div>
</a-card> </a-card>
</template> </template>
<script> <script>
import { JeroListMixin } from '@/mixins/JeroListMixin' import { JeroListMixin } from '@/mixins/JeroListMixin'
import Vue from 'vue'
import { previewPdf } from '@/utils/previewPdf'
import { kkFilePreview } from '@/utils/kkFilePreview'
import { downloadFile, getFileAccessHttpUrl } from '@/api/manage'
import JTable from '@/components/jero/JTable' import JTable from '@/components/jero/JTable'
import { ACCESS_TOKEN } from '@/store/mutation-types'
import { RectificationState } from '../../../enums/commonEnums' import { RectificationState } from '../../../enums/commonEnums'
import NonmatchItemCloseModal from './modules/NonmatchItemCloseModal' import NonmatchItemCloseModal from './modules/NonmatchItemCloseModal'
import NonmatchItemLookModal from './modules/NonmatchItemLookModal' import NonmatchItemLookModal from './modules/NonmatchItemLookModal'
import { queryDepartTreeList } from '../../../api/api' import { queryDepartTreeList } from '../../../api/api'
import UploadFile from '@/components/UploadFile'
// 支持预览的文件后缀
const CAN_PREVIEW_FILE_SUFFIX = ['jpg', 'jpeg', 'png', 'pdf', 'doc', 'docx', 'xls', 'xlsx', 'ppt', 'pptx']
const FILE_TYPE_IMGS = ['jpg', 'jpeg', 'png', 'raw']
const FILE_TYPE_PDF = 'pdf'
export default { export default {
name: 'NonmatchItemList', name: 'NonmatchItemList',
components: { JTable, NonmatchItemCloseModal, NonmatchItemLookModal }, components: { JTable, NonmatchItemCloseModal, NonmatchItemLookModal, UploadFile },
mixins: [JeroListMixin], mixins: [JeroListMixin],
data () { data () {
return { return {
@@ -290,9 +273,7 @@ export default {
url: { url: {
list: '/assessment/lawsEvaluationNotMet/page', list: '/assessment/lawsEvaluationNotMet/page',
exportXlsUrl: '/assessment/lawsEvaluationNotMet/exportXls' exportXlsUrl: '/assessment/lawsEvaluationNotMet/exportXls'
}, }
image: false,
imageUrl: ''
} }
}, },
mounted () { mounted () {
@@ -354,41 +335,9 @@ export default {
} }
this.$refs.nonmatchItemCloseModal.open(this.selectedRowKeys.join(',')) this.$refs.nonmatchItemCloseModal.open(this.selectedRowKeys.join(','))
}, },
previewFile (record) { // 文件查看点击
// 截取文件后缀名 handleLookFile (record) {
const fileSuffix = record.file_dictText ? record.file_dictText.split('.')[record.file_dictText.split('.').length - 1].toLowerCase() : '' this.$refs.uploadFile.open(record.file)
const canPreview = CAN_PREVIEW_FILE_SUFFIX.some(tt => fileSuffix.toLowerCase() === tt)
// 判断是否为可预览格式的文件
if (!canPreview) {
this.$message.loading('该文件类型不支持预览,正在为您准备下载...').then(() => {
this.handleDownload(record)
})
return
}
const fileFullUrl = `${window._CONFIG.domianWebSocketURL}/sys/common/view/${record.file}?at=${Vue.ls.get(ACCESS_TOKEN)}&fullfilename=${record.file_dictText}`
// 图片预览,使用自己添加的组件
if (canPreview && FILE_TYPE_IMGS.includes(fileSuffix)) {
this.imageUrl = getFileAccessHttpUrl(record.file)
// 获取viewer实例
const viewer = this.$el.querySelector('.image').$viewer
// 调用show方法进行显示预览图
viewer.show()
// this.$refs.imagePreviewModal.open(file)
return
}
// pdf预览
if (canPreview && FILE_TYPE_PDF.includes(fileSuffix)) {
const url = previewPdf(record.file)
window.open(url)
return
}
// 其余可预览文件仍使用KKFile进行预览
kkFilePreview(fileFullUrl)
},
// 下载
handleDownload (record) {
// 下载文件
downloadFile(`/sys/common/download/${record.file}`, record.file_dictText)
}, },
// 查看 // 查看
handleLook (record) { handleLook (record) {
@@ -30,8 +30,7 @@
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" :label="$t('attach')"> <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" :label="$t('attach')">
<j-upload <j-upload
return-id return-id
:multiple="false" :multiple="true"
:number="1"
v-decorator.trim="[ 'file', validatorRules.file]"/> v-decorator.trim="[ 'file', validatorRules.file]"/>
</a-form-item> </a-form-item>
</a-form> </a-form>