1、增加订单开发票功能和发票抬头添加功能

2、一个订单只能在一个开票里,不允许多开
This commit is contained in:
2026-08-10 15:39:00 +08:00
parent e77d78db1e
commit 6d30347cdb
14 changed files with 1425 additions and 35 deletions
+37
View File
@@ -460,6 +460,43 @@ export async function cancelPaymentOrder(orderNo: string): Promise<void> {
return api.post(`/payments/orders/${orderNo}/cancel`);
}
// ── Invoices ──────────────────────────────────────────────
export async function createInvoice(data: {
headerType: 'personal' | 'company';
headerName: string;
headerTaxNo?: string;
headerRegisterAddress?: string;
headerRegisterPhone?: string;
headerBankName?: string;
headerBankAccount?: string;
email: string;
orderIds: string[];
}): Promise<any> {
return api.post('/invoices', {
header_type: data.headerType,
header_name: data.headerName,
header_tax_no: data.headerTaxNo,
header_register_address: data.headerRegisterAddress,
header_register_phone: data.headerRegisterPhone,
header_bank_name: data.headerBankName,
header_bank_account: data.headerBankAccount,
email: data.email,
order_ids: data.orderIds,
});
}
export async function getInvoices(params?: { page?: number; pageSize?: number }): Promise<{ items: any[]; total: number }> {
const qs = new URLSearchParams();
if (params?.page) qs.set('page', String(params.page));
if (params?.pageSize) qs.set('page_size', String(params.pageSize));
return api.get(`/invoices?${qs.toString()}`);
}
export async function getInvoiceDetail(id: string): Promise<any> {
return api.get(`/invoices/${id}`);
}
export async function getCreditRatios(): Promise<any[]> {
return api.get('/credits/ratios');
}