From 14444bf0373e8fcdd4bda2f4902dffb4676ed967 Mon Sep 17 00:00:00 2001 From: Yangk Date: Wed, 11 Mar 2026 17:51:29 +0800 Subject: [PATCH] =?UTF-8?q?feat(oa):=20=E6=96=B0=E5=A2=9E=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=E5=8F=B0=E8=B4=A6=E6=8A=A5=E8=A1=A8API=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/oa/erp/projectLedgerReport.ts | 65 +++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 src/api/oa/erp/projectLedgerReport.ts diff --git a/src/api/oa/erp/projectLedgerReport.ts b/src/api/oa/erp/projectLedgerReport.ts new file mode 100644 index 0000000..5d6cb12 --- /dev/null +++ b/src/api/oa/erp/projectLedgerReport.ts @@ -0,0 +1,65 @@ +import request from '@/utils/request'; + +/** + * 项目台账报表查询参数 + */ +export interface ProjectLedgerReportQuery { + pageNum?: number; + pageSize?: number; + projectCode?: string; + projectName?: string; + businessDirection?: string; + projectStatus?: string; +} + +/** + * 项目台账报表 VO + */ +export interface ProjectLedgerReportVO { + projectId: number; + contractId: number; + projectCode: string; + customerName: string; + projectName: string; + managerName: string; + deptName: string; + typeName: string; + productAmount: number; + projectPhases: string; + projectCategory: string; + projectStatus: string; + acceptanceDate: string; + contractDate: string; + contractAmount: number; + contractManagerName: string; + paymentMethod: string; + budgetCost: number; + budgetRate: number; + reduceBudgetCost: number; + reduceBudgetRate: number; + revenue: number; + totalHours: number; +} + +/** + * 查询项目台账报表列表 + */ +export function listProjectLedgerReport(query: ProjectLedgerReportQuery) { + return request({ + url: '/oa/erp/projectLedgerReport/list', + method: 'get', + params: query + }); +} + +/** + * 导出项目台账报表 + */ +export function exportProjectLedgerReport(query: ProjectLedgerReportQuery) { + return request({ + url: '/oa/erp/projectLedgerReport/export', + method: 'post', + params: query, + responseType: 'blob' + }); +}