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 @@