From c77086ad2d7949ab36dd0c4e0b59907e672dd64f Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期五, 18 九月 2026 15:04:42 +0800
Subject: [PATCH] Merge remote-tracking branch 'refs/remotes/origin/dev_pro2.0' into dev_宁夏_九泓化工

---
 src/api/erp/purchase/invoice/index.ts |  100 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 100 insertions(+), 0 deletions(-)

diff --git a/src/api/erp/purchase/invoice/index.ts b/src/api/erp/purchase/invoice/index.ts
new file mode 100644
index 0000000..305230c
--- /dev/null
+++ b/src/api/erp/purchase/invoice/index.ts
@@ -0,0 +1,100 @@
+import type { PageParam, PageResult } from '@vben/request';
+
+import { requestClient } from '#/api/request';
+
+export namespace ErpPurchaseInvoiceApi {
+  /** 閲囪喘璁㈠崟淇℃伅锛堟潵绁ㄥ叧鑱旓級 */
+  export interface PurchaseOrder {
+    id?: number;
+    no?: string;
+    supplierId?: number;
+    supplierName?: string;
+    orderTime?: Date | string;
+    totalPrice?: number;
+    status?: number;
+  }
+
+  /** 鏉ョエ淇℃伅 */
+  export interface PurchaseInvoice {
+    id?: number;
+    no?: string;
+    supplierId?: number;
+    supplierName?: string;
+    purchaseOrderId?: number;
+    order?: PurchaseOrder;
+    invoiceNo?: string;
+    invoiceTitle?: string;
+    price?: number;
+    invoiceTime?: string;
+    remark?: string;
+    attachmentList?: { id: number; name?: string; url?: string }[];
+    blobIds?: number[];
+    hasAttachment?: boolean;
+    remainingInvoicePrice?: number;
+    creator?: string;
+    creatorName?: string;
+    createTime?: string;
+    updateTime?: string;
+  }
+
+  /** 鏉ョエ绠�瑕佷俊鎭紙鐢ㄤ簬浠樻鍏宠仈閫夋嫨锛� */
+  export interface PurchaseInvoiceSimple {
+    id: number;
+    no: string;
+    invoiceNo?: string;
+    invoiceTitle?: string;
+    price?: number;
+    supplierId?: number;
+    purchaseOrderId?: number;
+    hasAttachment?: boolean;
+    remainingInvoicePrice?: number;
+  }
+}
+
+/** 鏌ヨ鏉ョエ鍒嗛〉 */
+export function getPurchaseInvoicePage(params: PageParam) {
+  return requestClient.get<PageResult<ErpPurchaseInvoiceApi.PurchaseInvoice>>(
+    '/erp/purchase-invoice/page',
+    { params },
+  );
+}
+
+/** 鏌ヨ鏉ョエ璇︽儏 */
+export function getPurchaseInvoice(id: number) {
+  return requestClient.get<ErpPurchaseInvoiceApi.PurchaseInvoice>(
+    `/erp/purchase-invoice/get?id=${id}`,
+  );
+}
+
+/** 鏂板鏉ョエ */
+export function createPurchaseInvoice(data: ErpPurchaseInvoiceApi.PurchaseInvoice) {
+  return requestClient.post('/erp/purchase-invoice/create', data);
+}
+
+/** 淇敼鏉ョエ */
+export function updatePurchaseInvoice(data: ErpPurchaseInvoiceApi.PurchaseInvoice) {
+  return requestClient.put('/erp/purchase-invoice/update', data);
+}
+
+/** 鍒犻櫎鏉ョエ */
+export function deletePurchaseInvoice(id: number) {
+  return requestClient.delete(`/erp/purchase-invoice/delete?id=${id}`);
+}
+
+/** 瀵煎嚭鏉ョエ */
+export function exportPurchaseInvoice(params: Record<string, unknown>) {
+  return requestClient.download('/erp/purchase-invoice/export-excel', { params });
+}
+
+/** 鏌ヨ鏉ョエ涓嬫媺鍒楄〃锛堟寜渚涘簲鍟嗗彲閫夋潵绁紝宸蹭笂浼犲彂绁ㄩ檮浠朵笖鍓╀綑鍙粯閲戦澶т簬 0锛� */
+export function getPurchaseInvoiceSimpleList(
+  supplierId: number,
+  purchaseOrderId?: number,
+) {
+  const params = `supplierId=${supplierId}${
+    purchaseOrderId ? `&purchaseOrderId=${purchaseOrderId}` : ''
+  }`;
+  return requestClient.get<ErpPurchaseInvoiceApi.PurchaseInvoiceSimple[]>(
+    `/erp/purchase-invoice/simple-list?${params}`,
+  );
+}

--
Gitblit v1.9.3