From 90cfc4e7c7f659b7b6b6c48b99610e983ec21100 Mon Sep 17 00:00:00 2001 From: weicw <594098497@qq.com> Date: Fri, 30 Oct 2026 21:21:10 +0800 Subject: [PATCH] =?UTF-8?q?feat(approval):=20=E5=8D=95=E6=8D=AE=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E5=AF=BC=E5=87=BA=E6=8C=89=E9=92=AE=20(#26)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/approval/instance/index.ts | 15 ++++++++ src/api/approval/instance/model/index.ts | 12 ++++++ src/views/approval/instance/index.vue | 47 +++++++++++++++++++++++- 3 files changed, 72 insertions(+), 2 deletions(-) diff --git a/src/api/approval/instance/index.ts b/src/api/approval/instance/index.ts index 79ae7e9..7f20ac8 100644 --- a/src/api/approval/instance/index.ts +++ b/src/api/approval/instance/index.ts @@ -1,6 +1,7 @@ import request from '@/utils/request'; import type { ApiResult, PageResult } from '@/api'; import type { + ApprovalExportFile, ApprovalInstance, ApprovalItem, ApprovalQueryParam @@ -33,3 +34,17 @@ export async function getInstance(id: number) { } return Promise.reject(new Error(res.data.message)); } + +/** + * 导出单据(返回完整结果,含文件下载地址) + */ +export async function exportInstances(data: ApprovalQueryParam) { + const res = await request.post>( + THINK_API_URL + '/approval/export', + data + ); + if (res.data.code === 0) { + return res.data; + } + return Promise.reject(new Error(res.data.message)); +} diff --git a/src/api/approval/instance/model/index.ts b/src/api/approval/instance/model/index.ts index bae51da..a0397e8 100644 --- a/src/api/approval/instance/model/index.ts +++ b/src/api/approval/instance/model/index.ts @@ -170,3 +170,15 @@ export interface ApprovalUser { organizationId?: number; organizationName?: string; } + +/** + * 导出文件 + */ +export interface ApprovalExportFile { + id?: number; + name?: string; + path?: string; + length?: number; + contentType?: string; + url?: string; +} diff --git a/src/views/approval/instance/index.vue b/src/views/approval/instance/index.vue index b392c7d..5a3dc31 100644 --- a/src/views/approval/instance/index.vue +++ b/src/views/approval/instance/index.vue @@ -13,6 +13,22 @@ :scroll="{ x: 1500 }" cache-key="proApprovalInstanceTable" > +