diff --git a/src/components/ProcessDetailList.vue b/src/components/ProcessDetailList.vue index e3604d98..6e1dccdc 100644 --- a/src/components/ProcessDetailList.vue +++ b/src/components/ProcessDetailList.vue @@ -100,6 +100,7 @@ import { Base64 } from 'js-base64' import FlowChartModal from './FlowChartModal.vue' import UploadFile from './UploadFile' import { filterObj } from '../utils/util' +import { kkFilePreview } from '../utils/kkFilePreview' // 支持预览的文件后缀 const CAN_PREVIEW_FILE_SUFFIX = ['jpg', 'jpeg', 'png', 'pdf', 'doc', 'docx', 'xls', 'xlsx', 'ppt', 'pptx'] @@ -319,8 +320,7 @@ export default { } // word用KKfile预览 if (canPreview && (fileSuffix === 'doc' || fileSuffix === 'docx')) { - const url = `${window._CONFIG.onlinePreviewDomainURL}?url=${encodeURIComponent(Base64.encode(fileFullUrl))}` - window.open(url) + kkFilePreview(fileFullUrl) return } // 如果都不能预览就下载 diff --git a/src/utils/kkFilePreview.js b/src/utils/kkFilePreview.js index d4560b5e..ce83d9cf 100644 --- a/src/utils/kkFilePreview.js +++ b/src/utils/kkFilePreview.js @@ -3,14 +3,33 @@ import { USER_INFO } from '../store/mutation-types' import { Base64 } from 'js-base64' import md5 from 'md5' +function fillZero (str) { + let realNum + if (str < 10) { + realNum = '0' + str + } else { + realNum = str + } + return realNum +} + /** * kkFile预览文件并添加水印 * @param fileUrl */ export const kkFilePreview = (fileUrl) => { const userInfo = Vue.ls.get(USER_INFO) + // 获取当前时间 + const date = new Date() + const year = date.getFullYear() + const month = date.getMonth() + 1 + const day = date.getDate() + const hour = date.getHours() + const minute = date.getMinutes() + const second = date.getSeconds() + const time = `${year}${fillZero(month)}${fillZero(day)}${fillZero(hour)}${fillZero(minute)}${fillZero(second)}` // 水印内容 - const watermarkTxt = `${userInfo.username} ${userInfo.realname}` + const watermarkTxt = `${userInfo.username} ${userInfo.realname} ${time}` // 客户环境预览需要加的加密参数 const watermarkSign = md5(watermarkTxt + 'cnhtc') const url = `${window._CONFIG.onlinePreviewDomainURL}?url=${encodeURIComponent(Base64.encode(fileUrl))}&watermarkTxt=${encodeURIComponent(watermarkTxt)}&watermarkSign=${watermarkSign}` diff --git a/src/views/businessSupport/questionAnswerLibrary/QuestionAnswerList.vue b/src/views/businessSupport/questionAnswerLibrary/QuestionAnswerList.vue index 325658c2..d4755e28 100644 --- a/src/views/businessSupport/questionAnswerLibrary/QuestionAnswerList.vue +++ b/src/views/businessSupport/questionAnswerLibrary/QuestionAnswerList.vue @@ -122,12 +122,12 @@ import JTable from '@/components/jero/JTable' import Vue from 'vue' import { ACCESS_TOKEN, USER_INFO } from '@/store/mutation-types' import { previewPdf } from '@/utils/previewPdf' -import { getFileAccessHttpUrl } from '@/api/manage' +import { getFileAccessHttpUrl, downloadFile } from '@/api/manage' import QuizModal from './modules/QuizModal' +import { kkFilePreview } from '@/utils/kkFilePreview' const FILE_TYPE_IMGS = ['jpg', 'jpeg', 'png', 'raw'] const FILE_TYPE_PDF = 'pdf' -const Base64 = require('js-base64').Base64 export default { name: 'QuestionAnswerList', @@ -240,9 +240,13 @@ export default { window.open(url) return } - // 其余可预览文件仍使用KKFile进行预览 - const url = `${window._CONFIG.onlinePreviewDomainURL}?url=${encodeURIComponent(Base64.encode(fileFullUrl))}` - window.open(url) + // word用KKfile预览 + if (fileSuffix === 'doc' || fileSuffix === 'docx') { + kkFilePreview(fileFullUrl) + return + } + // 如果都不能预览就下载 + downloadFile(`/sys/common/download/${record.declareFile}`, record.declareFileName) }, // 查看 handleDetail (record) { diff --git a/src/views/businessSupport/questionAnswerLibrary/page/AnswerPage.vue b/src/views/businessSupport/questionAnswerLibrary/page/AnswerPage.vue index cc331ae7..efa31fe0 100644 --- a/src/views/businessSupport/questionAnswerLibrary/page/AnswerPage.vue +++ b/src/views/businessSupport/questionAnswerLibrary/page/AnswerPage.vue @@ -116,6 +116,7 @@ import { getQuizById, answerQuiz, setOrCancelTop, deleteAnswer } from '@/api/bus import { getFileInfo } from '@/api/api' import { previewPdf } from '@/utils/previewPdf' import InternalDetailPage from '@/components/InternalDetailPage' +import { kkFilePreview } from '@/utils/kkFilePreview' // 支持预览的文件后缀 const CAN_PREVIEW_FILE_SUFFIX = ['jpg', 'jpeg', 'png', 'pdf', 'doc', 'docx', 'xls', 'xlsx', 'ppt', 'pptx'] @@ -229,9 +230,13 @@ export default { window.open(url) return } - // 其余可预览文件仍使用KKFile进行预览 - const url = `${window._CONFIG.onlinePreviewDomainURL}?url=${encodeURIComponent(Base64.encode(fileFullUrl))}` - window.open(url) + // word用KKfile预览 + if (canPreview && (fileSuffix === 'doc' || fileSuffix === 'docx')) { + kkFilePreview(fileFullUrl) + return + } + // 如果都不能预览就下载 + downloadFile(`/sys/common/download/${file.id}`, file.fileName) }, handleDownload (file) { // 下载文件 diff --git a/src/views/enterpriseStandardLibrary/check/modules/CheckReportModal.vue b/src/views/enterpriseStandardLibrary/check/modules/CheckReportModal.vue index 5afa4785..ed847ec7 100644 --- a/src/views/enterpriseStandardLibrary/check/modules/CheckReportModal.vue +++ b/src/views/enterpriseStandardLibrary/check/modules/CheckReportModal.vue @@ -45,14 +45,14 @@