From a499cb57e2dbed3fe58d3e7d7ea2ef0f537f4aec Mon Sep 17 00:00:00 2001 From: Yangk Date: Tue, 24 Mar 2026 15:32:11 +0800 Subject: [PATCH] =?UTF-8?q?feat(oa/erp):=20=E6=B7=BB=E5=8A=A0=E5=90=88?= =?UTF-8?q?=E5=90=8C=E5=8F=B0=E8=B4=A6=E6=8A=A5=E8=A1=A8=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增合同台账报表API接口定义和数据模型 - 实现合同查询、筛选和分页功能 - 添加导出Excel报表功能 - 构建完整的前端页面界面和交互逻辑 --- src/api/oa/erp/contractLedgerReport/index.ts | 56 +++++ .../oa/erp/contractLedgerReport/index.vue | 228 ++++++++++++++++++ 2 files changed, 284 insertions(+) create mode 100644 src/api/oa/erp/contractLedgerReport/index.ts create mode 100644 src/views/oa/erp/contractLedgerReport/index.vue diff --git a/src/api/oa/erp/contractLedgerReport/index.ts b/src/api/oa/erp/contractLedgerReport/index.ts new file mode 100644 index 0000000..83f80ed --- /dev/null +++ b/src/api/oa/erp/contractLedgerReport/index.ts @@ -0,0 +1,56 @@ +import request from '@/utils/request'; + +export interface ContractLedgerReportQuery { + pageNum: number; + pageSize: number; + customerContractCode?: string; + internalContractCode?: string; + projectCode?: string; + businessDirection?: string; + contractIdList?: Array; + params?: any; +} + +export interface ContractLedgerReportVO { + contractId: string | number; + month: string; + internalContractCode: string; + externalContractCode: string; + customerContractCode: string; + contractDate: string; + orderContractCode: string; + projectContractCode: string; + customerName: string; + productName: string; + mesnacContractPrice: number; + totalPrice: number; + paymentMethod: string; + deliveryStart: number; + warrantyPeriod: number; + contractManagerName: string; + contractDeptName: string; + businessDirection: string; + projectCode: string; + projectName: string; + managerName: string; + typeName: string; + finalCustomerName: string; +} + +// 查询合同台账报表列表 +export function listContractLedgerReport(query: ContractLedgerReportQuery) { + return request({ + url: '/oa/erp/contractLedgerReport/list', + method: 'get', + params: query + }); +} + +// 导出合同台账报表 +export function exportContractLedgerReport(query: ContractLedgerReportQuery) { + return request({ + url: '/oa/erp/contractLedgerReport/export', + method: 'post', + data: query + }); +} diff --git a/src/views/oa/erp/contractLedgerReport/index.vue b/src/views/oa/erp/contractLedgerReport/index.vue new file mode 100644 index 0000000..8a09a6b --- /dev/null +++ b/src/views/oa/erp/contractLedgerReport/index.vue @@ -0,0 +1,228 @@ + + + + +