From cc805dd0229f87fd0647af687641080a1acbabf7 Mon Sep 17 00:00:00 2001 From: wangxiang <1827945911@qq.com> Date: Fri, 29 Sep 2023 01:01:18 +0800 Subject: [PATCH] chore: bpmn import --- src/api/platform/workflow/controller/model.ts | 2 +- src/utils/file/download.ts | 2 +- src/views/workflow/model/index.vue | 6 ++++-- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/api/platform/workflow/controller/model.ts b/src/api/platform/workflow/controller/model.ts index 8b4d58a..b418e94 100644 --- a/src/api/platform/workflow/controller/model.ts +++ b/src/api/platform/workflow/controller/model.ts @@ -25,4 +25,4 @@ export const delModel = (ids: string) => defHttp.delete({ url: `${Api.del}/${ids export const copyModel = (modelId: string)=> defHttp.post({ url: `${Api.copy}/${modelId}` }); export const deployModel = (modelId: string, category: string)=> defHttp.post({ url: Api.deploy, params: { id: modelId, category } }); export const saveModel = (modelId: string, params: Recordable)=> defHttp.post({url: `${Api.save}/${modelId}`, data: params}); -export const bpmnXmlDownload = (modelId: string, fileName?: string) => Promise.resolve(downloadByUrl({ url: `${apiUrl}${Api.bpmnXmlDownload}/${modelId}`, fileName: fileName })); +export const bpmnXmlDownload = (modelId: string) => defHttp.get({url: `${Api.bpmnXmlDownload}/${modelId}` }); diff --git a/src/utils/file/download.ts b/src/utils/file/download.ts index 27f6729..b51707b 100644 --- a/src/utils/file/download.ts +++ b/src/utils/file/download.ts @@ -59,7 +59,7 @@ export function downloadByData(data: BlobPart, filename: string, mime?: string, } /** - * 根据文件地址下载文件 + * 根据文件地址下载文件,需要后端公开api * @param {*} sUrl */ export function downloadByUrl({ diff --git a/src/views/workflow/model/index.vue b/src/views/workflow/model/index.vue index 698a54f..0522da3 100644 --- a/src/views/workflow/model/index.vue +++ b/src/views/workflow/model/index.vue @@ -88,6 +88,7 @@ import { useMessage } from '/@/hooks/web/useMessage'; import WorkflowModelDesign from './helper/WorkflowModelDesign.vue'; import ProcessCategoryModal from './helper/ProcessCategoryModal.vue'; + import { downloadByData } from '/@/utils/file/download'; interface TableState { ids: string[]; @@ -205,8 +206,9 @@ }); } - function handleExportXml(record?: Recordable) { - bpmnXmlDownload(record?.id); + async function handleExportXml(record?: Recordable) { + const blobData = await bpmnXmlDownload(record?.id); + downloadByData(blobData, `${record?.name}.bpmn20.xml`, 'application/xml'); } function handleCopy(record?: Recordable) {