diff --git a/src/components/ShowFile/ShowFile.vue b/src/components/ShowFile/ShowFile.vue index f4d0358..65af0aa 100644 --- a/src/components/ShowFile/ShowFile.vue +++ b/src/components/ShowFile/ShowFile.vue @@ -3156,7 +3156,7 @@ export default { this.openCompressionVisible = true return } - if (row.contentType.indexOf('office') > -1 || row.suffix === 'csv' || row.suffix === 'pdf') { + if (row.contentType.indexOf('office') > -1 || ['pdf','csv','drawio'].includes(row.suffix)) { // office文件 this.officePreviewVisible = true this.officePreviewRow = row diff --git a/src/components/office/Drawio.vue b/src/components/office/Drawio.vue new file mode 100644 index 0000000..7385800 --- /dev/null +++ b/src/components/office/Drawio.vue @@ -0,0 +1,199 @@ + + + + diff --git a/src/components/preview/OfficePreview.vue b/src/components/preview/OfficePreview.vue index 4cb2be7..98f89c6 100644 --- a/src/components/preview/OfficePreview.vue +++ b/src/components/preview/OfficePreview.vue @@ -16,7 +16,8 @@
- + +
@@ -31,10 +32,11 @@ import MessageDialog from "@/components/message/MessageDialog"; import Bus from "@/assets/js/bus"; import fileConfig from "@/utils/file-config"; import PdfPreview from "@/components/office/PdfPreview"; +import Drawio from "@/components/office/Drawio"; export default { name: 'OfficePreview', - components: {PdfPreview, MessageDialog, OnlyOfficeEditor}, + components: {Drawio, PdfPreview, MessageDialog, OnlyOfficeEditor}, props: { id: { type: String, @@ -93,6 +95,7 @@ export default { this.$nextTick(() => { this.previewDocument = document.querySelector('.preview-block') }) + this.checkReadOnly(this.file.userId) // 3秒后还没加载出来视为加载失败 let that = this @@ -108,6 +111,8 @@ export default { methods: { getType(suffix) { switch (suffix) { + case 'drawio': + return 'drawio' case 'pdf': return 'pdf' default: diff --git a/src/icons/svg/file-drawio.svg b/src/icons/svg/file-drawio.svg new file mode 100644 index 0000000..d35c24b --- /dev/null +++ b/src/icons/svg/file-drawio.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/utils/file-type.js b/src/utils/file-type.js index af2d3f1..89723da 100644 --- a/src/utils/file-type.js +++ b/src/utils/file-type.js @@ -58,6 +58,7 @@ iconClass.set('docx','file-word') iconClass.set('docxf','file-docxf') iconClass.set('ppt','file-ppt') iconClass.set('pptx','file-ppt') +iconClass.set('drawio','file-drawio') iconClass.set('csv','file-csv') iconClass.set('pdf','file-pdf') iconClass.set('zip','zip') diff --git a/src/views/home/index.vue b/src/views/home/index.vue index d9408e9..eba40dd 100644 --- a/src/views/home/index.vue +++ b/src/views/home/index.vue @@ -35,6 +35,7 @@ export default { { divider: true, operation: 'divider' }, { label: '新建', operation: 'create' ,child: [ { label: '文本', operation: 'createTextFile', iconClass: 'file-txt'}, + { label: '流程图', operation: 'createDrawioFile', iconClass: 'file-drawio'}, { label: 'Word', operation: 'createWordFile', iconClass: 'file-word'}, { label: 'Excel', operation: 'createExcelFile', iconClass: 'file-excel'}, { label: 'PPT', operation: 'createPPTFile', iconClass: 'file-ppt'},