diff --git a/src/api/eam/eam_object_list.js b/src/api/eam/eam_object_list.js index 4a9e649..9163147 100644 --- a/src/api/eam/eam_object_list.js +++ b/src/api/eam/eam_object_list.js @@ -45,6 +45,8 @@ export const getInspectionFile = data => createAPI('sys/file/getInspectionFile', export const downLoadObjectFileMes = data => createAPI(`pms/eamObject/downLoadObjectFileMes?id=`+data.id,'post',777) +export const previewOssFileApi = (id, download) => createAPI(`oss/previewOssFile`, 'get', { id, download: download ? 'true' : 'false' }, 'download') + // ===================================== 设备SOP清单 ===================================== export const eamObjectSopListSearch = data => createAPI('pms/eamObject/eamObjectSopListSearch','post',data) diff --git a/src/views/modules/eam/eam_device_list.vue b/src/views/modules/eam/eam_device_list.vue index 18bc608..f12e937 100644 --- a/src/views/modules/eam/eam_device_list.vue +++ b/src/views/modules/eam/eam_device_list.vue @@ -839,7 +839,8 @@ getFaultBehaviorList, deleteEamObject, uploadEamObjectFile, - downLoadObjectFile + downLoadObjectFile, + previewOssFileApi } from '@/api/eam/eam_object_list.js'; import { getSpareSelectList, @@ -3437,6 +3438,21 @@ // 预览 previewFile (row) { + if (row.createdBy === 'OA') { + previewOssFileApi(row.id, false).then(({data, headers}) => { + const contentType = (headers && headers['content-type']) || '' + if (contentType.includes('text/html')) { + this.$message.error('登录已过期,请刷新页面重新登录') + return + } + const blob = new Blob([data], { type: contentType || 'application/octet-stream' }) + const fileURL = URL.createObjectURL(blob) + window.open(fileURL, '_blank') + }).catch(() => { + this.$message.error('文件预览失败') + }) + return + } // 预览文件 let image = ['jpg', 'jpeg', 'png', 'gif', 'bmp'] let type = '' @@ -3476,6 +3492,28 @@ // 下载 downloadFile (row) { + if (row.createdBy === 'OA') { + previewOssFileApi(row.id, true).then(({data, headers}) => { + const contentType = (headers && headers['content-type']) || '' + if (contentType.includes('text/html')) { + this.$message.error('登录已过期,请刷新页面重新登录') + return + } + const blob = new Blob([data], { type: 'application/octet-stream;charset=utf-8' }) + const fileName = row.fileName + const linkNode = document.createElement('a') + linkNode.download = fileName + linkNode.style.display = 'none' + linkNode.href = URL.createObjectURL(blob) + document.body.appendChild(linkNode) + linkNode.click() + URL.revokeObjectURL(linkNode.href) + document.body.removeChild(linkNode) + }).catch(() => { + this.$message.error('文件下载失败') + }) + return + } downLoadObjectFile(row) .then(({data}) => { // 不限制文件下载类型