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}`,
|
);
|
}
|