From 386b99a97bc5fe858612937360c0c43e264845c0 Mon Sep 17 00:00:00 2001 From: lideqin <694785430@qq.com> Date: Wed, 24 Apr 2024 15:09:46 +0800 Subject: [PATCH] =?UTF-8?q?[update]=20=E4=BC=81=E6=A0=87=E5=88=B6=E4=BF=AE?= =?UTF-8?q?=E8=AE=A2=E5=92=8C=E4=BC=81=E6=A0=87=E6=9B=B4=E6=94=B9=E6=B5=81?= =?UTF-8?q?=E7=A8=8B=E5=B7=A6=E4=BE=A7=E9=A2=84=E8=A7=88=E6=94=B9=E6=88=90?= =?UTF-8?q?=E5=9C=A8=E7=BA=BF=E7=BC=96=E8=BE=91=E9=A2=84=E8=A7=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/utils/onlyOfficeUtils.js | 17 +++++++++ .../modules/CheckContentProcessModal.vue | 33 +++++------------ .../modules/CommentModal.vue | 35 +++++-------------- 3 files changed, 34 insertions(+), 51 deletions(-) diff --git a/src/utils/onlyOfficeUtils.js b/src/utils/onlyOfficeUtils.js index 0aff7b10..bb063de6 100644 --- a/src/utils/onlyOfficeUtils.js +++ b/src/utils/onlyOfficeUtils.js @@ -98,3 +98,20 @@ export const onlineEditorView = async (fileId) => { const url = `${window._CONFIG.onlyOfficeUrl}/previewHistoryPage?filePath=${fileInfo.editFilePath}&fileName=${fileInfo.fileName}&fileType=${fileSuffix}&fileId=${fileInfo.id}&key=${fileInfo.id}&userId=${userInfo.id}&userName=${userInfo.realname}&fileInfo={}` window.open(url, '_blank') } + +// 根据文件id获取在线编辑查看路径 +export const onlineEditorGetUrl = async (fileId) => { + let fileInfo + if (fileId) { + fileInfo = await queryFileInfo(fileId) + } + if (!fileInfo) { + return false + } + // 获取用户信息 + const userInfo = Vue.ls.get(USER_INFO) + // 截取文件后缀名 + const fileSuffix = (fileInfo.fileName ? fileInfo.fileName.split('.')[fileInfo.fileName.split('.').length - 1] : '').toLowerCase() + const url = `${window._CONFIG.onlyOfficeUrl}/previewHistoryPage?filePath=${fileInfo.editFilePath}&fileName=${fileInfo.fileName}&fileType=${fileSuffix}&fileId=${fileInfo.id}&key=${fileInfo.id}&userId=${userInfo.id}&userName=${userInfo.realname}&fileInfo={}` + return url +} diff --git a/src/views/workCenter/enterpriseStandardRevision/modules/CheckContentProcessModal.vue b/src/views/workCenter/enterpriseStandardRevision/modules/CheckContentProcessModal.vue index 1e86a843..ff15145d 100644 --- a/src/views/workCenter/enterpriseStandardRevision/modules/CheckContentProcessModal.vue +++ b/src/views/workCenter/enterpriseStandardRevision/modules/CheckContentProcessModal.vue @@ -45,6 +45,7 @@ import { previewPdf } from '@/utils/previewPdf' import Vue from 'vue' import { ACCESS_TOKEN } from '@/store/mutation-types' import { queryFileInfoByEditId } from '../../../../api/workCenter' +import { onlineEditorGetUrl, onlineEditorView } from '../../../../utils/onlyOfficeUtils' const Base64 = require('js-base64').Base64 @@ -85,17 +86,17 @@ export default { } }, methods: { - add (fileId) { - this.getFileInfo(fileId).then(res => { - this.handlePreview(res) - }) + async add (fileId) { + if (fileId) { + this.iframeSrc = await onlineEditorGetUrl(fileId) + } this.visible = true this.form.resetFields() }, edit (fileId, record, index) { - this.getFileInfo(fileId).then(res => { - this.handlePreview(res) - }) + if (fileId) { + this.iframeSrc = onlineEditorGetUrl(fileId) + } this.visible = true this.index = index this.form.resetFields() @@ -104,24 +105,6 @@ export default { this.form.setFieldsValue(pick(this.model, 'clause', 'requirement')) }) }, - getFileInfo (fileId) { - return new Promise(resolve => { - let fileInfo - queryFileInfoByEditId({ id: fileId }).then(res => { - if (res.success) { - fileInfo = res.result - } - }).finally(() => { - resolve(fileInfo) - }) - }) - }, - handlePreview (file) { - const filePaths = file.editFilePath.split('/') - const fileName = filePaths[filePaths.length - 1] - const url = `${window._CONFIG.onlinePreviewDomainURL}?url=${encodeURIComponent(Base64.encode(this.documentUrl + file.editFilePath + '&fullfilename=' + fileName))}` - this.iframeSrc = url - }, close () { this.visible = false this.model = {} diff --git a/src/views/workCenter/enterpriseStandardRevision/modules/CommentModal.vue b/src/views/workCenter/enterpriseStandardRevision/modules/CommentModal.vue index 62f740db..2d27551f 100644 --- a/src/views/workCenter/enterpriseStandardRevision/modules/CommentModal.vue +++ b/src/views/workCenter/enterpriseStandardRevision/modules/CommentModal.vue @@ -64,6 +64,7 @@ import Vue from 'vue' import { ACCESS_TOKEN } from '@/store/mutation-types' import { USER_INFO } from '../../../../store/mutation-types' import { queryFileInfoByEditId } from '../../../../api/workCenter' +import { onlineEditorGetUrl } from '../../../../utils/onlyOfficeUtils' const Base64 = require('js-base64').Base64 @@ -124,18 +125,18 @@ export default { } }, methods: { - add (file) { - this.getFileInfo(file).then(res => { - this.handlePreview(res) - }) + async add (file) { + if (file) { + this.iframeSrc = await onlineEditorGetUrl(file) + } this.isAdd = true this.visible = true this.form.resetFields() }, - edit (file, record, index) { - this.getFileInfo(file).then(res => { - this.handlePreview(res) - }) + async edit (file, record, index) { + if (file) { + this.iframeSrc = await onlineEditorGetUrl(file) + } this.visible = true this.index = index this.form.resetFields() @@ -144,24 +145,6 @@ export default { this.form.setFieldsValue(pick(this.model, 'clauseNum', 'clauseName', 'editAdvice')) }) }, - getFileInfo (fileId) { - return new Promise(resolve => { - let fileInfo - queryFileInfoByEditId({ id: fileId }).then(res => { - if (res.success) { - fileInfo = res.result - } - }).finally(() => { - resolve(fileInfo) - }) - }) - }, - handlePreview (file) { - const filePaths = file.editFilePath.split('/') - const fileName = filePaths[filePaths.length - 1] - const url = `${window._CONFIG.onlinePreviewDomainURL}?url=${encodeURIComponent(Base64.encode(this.documentUrl + file.editFilePath + '&fullfilename=' + fileName))}` - this.iframeSrc = url - }, close () { this.visible = false this.model = {}