Files
client-web/src/modules/finance/contracts.ts
T
2026-08-13 11:57:41 +08:00

55 lines
1.2 KiB
TypeScript

import type { PageResult } from '@/modules/first-leg/api/firstLeg'
export type FinanceBillStatus = 'DRAFT' | 'ISSUED' | 'PARTIALLY_PAID' | 'PAID' | 'VOIDED'
export interface FinanceBillQuery {
keyword?: string
status?: FinanceBillStatus
page?: number
size?: number
}
export interface FinanceBillSummary {
id: string
billNo: string
customerName: string
currencyCode: 'CNY'
totalAmount: string
receivedAmount: string
outstandingAmount: string
issueDate: string | null
dueDate: string | null
status: FinanceBillStatus
}
export interface FinanceBillLine {
id: string
orderId: string | null
feeNo: string | null
feeName: string
amount: string
currencyCode: 'CNY'
}
export interface FinanceReceiptRecord {
id: string
receiptNo: string
receivedAt: string
amount: string
currencyCode: 'CNY'
method: string | null
allocatedAmount: string
}
export interface FinanceBillDetail extends FinanceBillSummary {
lines: FinanceBillLine[]
receipts: FinanceReceiptRecord[]
}
export interface FinanceBillPage extends PageResult<FinanceBillSummary> {
totalBilledAmount: string
totalReceivedAmount: string
totalOutstandingAmount: string
currencyCode: 'CNY'
}