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) {