diff --git a/package.json b/package.json index e59a278..7067494 100644 --- a/package.json +++ b/package.json @@ -32,36 +32,42 @@ ], "dependencies": { "@riophae/vue-treeselect": "0.4.0", + "@vue-office/docx": "1.6.1", + "@vue-office/pdf": "1.6.5", "axios": "0.24.0", "clipboard": "2.0.8", "core-js": "3.37.1", + "docxtemplater": "3.50.0", + "docxtemplater-image-module-free": "1.1.1", "echarts": "5.4.0", "element-ui": "2.15.14", + "file-save": "0.2.0", "file-saver": "2.0.5", "fuse.js": "6.4.3", "highlight.js": "9.18.5", "js-base64": "^3.7.7", "js-cookie": "3.0.1", "jsencrypt": "3.0.0-rc.1", + "jszip": "3.10.1", + "jszip-utils": "0.1.0", "nprogress": "0.2.0", + "pizzip": "3.1.7", "quill": "1.3.7", "screenfull": "5.0.2", "sockjs-client": "^1.6.1", "sortablejs": "1.10.2", + "v-viewer": "1.6.4", "vue": "2.6.12", "vue-count-to": "1.0.13", "vue-cropper": "0.5.5", + "vue-demi": "^0.14.10", "vue-iframe": "0.0.0", + "vue-json-viewer": "2.2.22", "vue-meta": "2.4.0", "vue-router": "3.4.9", + "vue-video-player": "5.0.1", "vuex": "3.6.0", - "websocket": "^1.0.35", - "jszip": "3.10.1", - "jszip-utils": "0.1.0", - "file-save": "0.2.0", - "pizzip": "3.1.7", - "docxtemplater": "3.50.0", - "docxtemplater-image-module-free": "1.1.1" + "websocket": "^1.0.35" }, "devDependencies": { "@vue/cli-plugin-babel": "4.4.6", @@ -80,6 +86,7 @@ "sass-loader": "10.1.1", "script-ext-html-webpack-plugin": "2.1.5", "svg-sprite-loader": "5.1.1", + "@vue/composition-api": "1.7.2", "vue-template-compiler": "2.6.12" }, "engines": { diff --git a/src/api/document/document.js b/src/api/document/document.js index 65ca21b..5974d65 100644 --- a/src/api/document/document.js +++ b/src/api/document/document.js @@ -65,9 +65,9 @@ export function getStatistics(query) { // 查询【请填写功能名称】列表 -export function listAllDoc(query) { +export function getExportWordList(query) { return request({ - url: '/document/all/list', + url: '/document/export/word/list', method: 'get', params: query }) diff --git a/src/api/tool/tool.js b/src/api/tool/tool.js index 5fde9c7..9cc30f0 100644 --- a/src/api/tool/tool.js +++ b/src/api/tool/tool.js @@ -74,7 +74,7 @@ export function getStatistics(query) { export function exportWordList(query) { return request({ url: '/tool/export/word/list', - method: 'get', - params: query + method: 'post', + data: query }) } diff --git a/src/components/FileUpload/optimizeToolUpload.vue b/src/components/FileUpload/optimizeToolUpload.vue index 6429d53..4c51a22 100644 --- a/src/components/FileUpload/optimizeToolUpload.vue +++ b/src/components/FileUpload/optimizeToolUpload.vue @@ -339,7 +339,7 @@ export default { const data = { fileName: file.name, fileSize: file.size, - fileUrl: res.data.filePath, + fileUrl: res.data.url, filePath: res.data.filePath, fileOldName: res.data.originalFilename, fileNewName: res.data.newFileName, diff --git a/src/components/PreviewUtil/previewUtil.vue b/src/components/PreviewUtil/previewUtil.vue new file mode 100644 index 0000000..b5a18dc --- /dev/null +++ b/src/components/PreviewUtil/previewUtil.vue @@ -0,0 +1,232 @@ + + + diff --git a/src/components/user-selector/src/user-selector.vue b/src/components/user-selector/src/user-selector.vue index dbf3109..208ef3a 100644 --- a/src/components/user-selector/src/user-selector.vue +++ b/src/components/user-selector/src/user-selector.vue @@ -6,6 +6,9 @@ :width="width || '900px'" :height="height || '650px'" :before-close="handleClose" + :show-close="false" + :close-on-press-escape="false" + :close-on-click-modal="false" append-to-body > @@ -230,11 +233,7 @@ }, methods: { handleClose(done) { - this.$confirm('确认关闭?') - .then(_ => { - this.cancel(); - }) - .catch(_ => {}); + this.cancel(); }, handleClick(tab, event) { console.log(tab, event); diff --git a/src/main.js b/src/main.js index 4a5b32b..f6ac096 100644 --- a/src/main.js +++ b/src/main.js @@ -42,6 +42,15 @@ import DictData from '@/components/DictData' // 图形监控组件 import MonitorDrawer from "@/components/MonitorDrawer" +//引入VueOfficeDocx组件 +import VueOfficeDocx from '@vue-office/docx' +//引入相关样式 +import '@vue-office/docx/lib/index.css' +import VueOfficePdf from '@vue-office/pdf' +//视频组件 +import 'video.js/dist/video-js.css' +import 'vue-video-player/src/custom-theme.css' + // 全局方法挂载 Vue.prototype.getDicts = getDicts Vue.prototype.getConfigKey = getConfigKey @@ -52,6 +61,9 @@ Vue.prototype.selectDictLabel = selectDictLabel Vue.prototype.selectDictLabels = selectDictLabels Vue.prototype.download = download Vue.prototype.handleTree = handleTree +import 'viewerjs/dist/viewer.css' +import Viewer from 'v-viewer' + // 全局组件挂载 Vue.component('DictTag', DictTag) @@ -62,7 +74,14 @@ Vue.component('FileUpload', FileUpload) Vue.component('ImageUpload', ImageUpload) Vue.component('ImagePreview', ImagePreview) Vue.component('MonitorDrawer', MonitorDrawer) +Vue.component('VueOfficeDocx', VueOfficeDocx) +Vue.component('VueOfficePdf', VueOfficePdf) +Vue.use(Viewer, { + defaultOptions: { + zIndex: 9999 + } +}) Vue.use(directive) Vue.use(plugins) Vue.use(VueMeta) diff --git a/src/views/document/downloadFileDetail.vue b/src/views/document/downloadFileDetail.vue new file mode 100644 index 0000000..63027ba --- /dev/null +++ b/src/views/document/downloadFileDetail.vue @@ -0,0 +1,148 @@ + + + + + diff --git a/src/views/document/editDocument.vue b/src/views/document/editDocument.vue index 0860683..bb9c9c8 100644 --- a/src/views/document/editDocument.vue +++ b/src/views/document/editDocument.vue @@ -57,7 +57,23 @@ - + + + + + + + + + {{userInfo.dept.deptName}} + + + + + + @@ -120,6 +123,58 @@ + +
+
+
关联附件
+
+
+
+ + + +
+ + + + + + + + +
@@ -174,27 +229,33 @@
+ + + + diff --git a/src/views/document/index.vue b/src/views/document/index.vue index ed37fd8..46bb70a 100644 --- a/src/views/document/index.vue +++ b/src/views/document/index.vue @@ -115,10 +115,12 @@ 发布 批量删除 导出 + 批量导出 + - + @@ -126,14 +128,14 @@ · - + - + - + + + + +