From 9754b62038a55ce65e5cdab68b13a3b5615238fe Mon Sep 17 00:00:00 2001 From: odjbin <1042039504@qq.com> Date: Fri, 17 May 2024 20:53:49 +0800 Subject: [PATCH] =?UTF-8?q?feat=20:=20=E6=96=B0=E5=A2=9E=E9=9C=80=E6=B1=82?= =?UTF-8?q?=E5=BE=81=E9=9B=86=E5=88=A0=E9=99=A4=E5=8A=9F=E8=83=BD=E5=92=8C?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E4=B8=8B=E8=BD=BD=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/project-demand/index.js | 16 ++++++++++++++++ src/components/PopoverDelete.vue | 7 ++++++- src/views/project-demand/collection/detail.vue | 16 ++++++++++++++-- src/views/project-demand/collection/index.vue | 17 ++++++++++++++++- 4 files changed, 52 insertions(+), 4 deletions(-) diff --git a/src/api/project-demand/index.js b/src/api/project-demand/index.js index 2d236b5..928514b 100644 --- a/src/api/project-demand/index.js +++ b/src/api/project-demand/index.js @@ -60,9 +60,25 @@ export const deleteFile = (fileId) => { method: "delete" }); }; +export const downloadFile = (fileId) => { + return request({ + url: '/workflow/process/file/download', + method: "get", + responseType:'blob', + params:{ + fileId:fileId + } + }); +}; export const getCompanyOption = () => { return request({ url: '/admin/mosr/sub/company/companyOption', method: "get" }); }; +export const deleteDemand = (id) => { + return request({ + url: `/workflow/mosr/requirement/${id}`, + method: "delete" + }); +}; diff --git a/src/components/PopoverDelete.vue b/src/components/PopoverDelete.vue index 3dfe4aa..8dbd829 100644 --- a/src/components/PopoverDelete.vue +++ b/src/components/PopoverDelete.vue @@ -9,7 +9,7 @@ @cancel="handleCancel" > @@ -30,6 +30,10 @@ const props = defineProps({ type: String, default: '' }, + link: { + type: Boolean, + default: true + }, btnIcon: { type: String, default: '' @@ -61,6 +65,7 @@ const handleCancel = () => { visible.value = false } const handleDelete = () => { + console.log('确认') emit("delete") } diff --git a/src/views/project-demand/collection/detail.vue b/src/views/project-demand/collection/detail.vue index 4bc541f..6a708f2 100644 --- a/src/views/project-demand/collection/detail.vue +++ b/src/views/project-demand/collection/detail.vue @@ -77,7 +77,7 @@ import OperationRender from '@/views/workflow/common/OperationRender.vue' import ProcessDiagramViewer from '@/views/workflow/common/ProcessDiagramViewer.vue' import {useProcessStore} from '@/stores/processStore.js'; -import {getInfo, agreeTask, rejectTask} from "@/api/project-demand/index.js"; +import {getInfo, agreeTask, rejectTask,downloadFile} from "@/api/project-demand/index.js"; import {getSubCompOpt} from '@/api/user/user.js' import {ElMessage} from "element-plus"; import {useRouter} from "vue-router"; @@ -129,7 +129,9 @@ const tableConfig = reactive({ label: '操作', align: 'center', currentRender: ({row, index}) => { - return (下载) + return ( + handleDownload(row)}>下载 + ) } } ] @@ -200,6 +202,16 @@ const getDataSourceOptionItem = (val) => { } return companyNameArray.value.join(','); } + +const handleDownload = (row) => { + downloadFile(row.fileId).then(res => { + const blob = new Blob([res]) + let a = document.createElement('a') + a.href=URL.createObjectURL(blob) + a.download = row.originalFileName + a.click() + }) +} const init = async () => { if (!route.query.id) return; await getCompanyOption() diff --git a/src/views/project-demand/collection/index.vue b/src/views/project-demand/collection/index.vue index bf9575c..a8ede61 100644 --- a/src/views/project-demand/collection/index.vue +++ b/src/views/project-demand/collection/index.vue @@ -10,6 +10,8 @@