feat(pl): add Excel export for inventory ledger and inbound/outbound lists

Allow filtered and selected row export on inventory and shared IO order pages.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
zlwuandCursor committed 2026-08-21 18:14:58 +08:00
1 parent 89e8d6e65c
commit 8f1f08b284
5 files changed
+241 -3

No files matched your search

+6
View File
@@ -963,6 +963,8 @@ export interface PlIoOrderListResponse {
export const inboundOrderApi = {
list: (params?: PlIoOrderQuery) =>
request.get<PlIoOrderListResponse>('/transport/inbound/', { params }),
export: (data: Record<string, any>) =>
request.post('/transport/inbound/export', data, { responseType: 'blob' }),
get: (id: string) => request.get<PlIoOrder>(`/transport/inbound/${id}`),
getByPlan: (planId: string) =>
request.get<PlIoOrder | null>(`/transport/inbound/by-plan/${planId}`),
@@ -975,6 +977,8 @@ export const inboundOrderApi = {
export const outboundOrderApi = {
list: (params?: PlIoOrderQuery) =>
request.get<PlIoOrderListResponse>('/transport/outbound/', { params }),
export: (data: Record<string, any>) =>
request.post('/transport/outbound/export', data, { responseType: 'blob' }),
get: (id: string) => request.get<PlIoOrder>(`/transport/outbound/${id}`),
getByPlan: (planId: string) =>
request.get<PlIoOrder | null>(`/transport/outbound/by-plan/${planId}`),
@@ -1288,6 +1292,8 @@ export interface InventoryLedgerResponse {
export const inventoryApi = {
ledger: (params?: InventoryLedgerQuery) =>
request.get<InventoryLedgerResponse>('/transport/inventory/ledger', { params }),
exportLedger: (data: Record<string, any>) =>
request.post('/transport/inventory/ledger/export', data, { responseType: 'blob' }),
transactions: (params?: any) =>
request.get<{ total: number; list: InventoryTransaction[] }>('/transport/inventory/transactions', { params }),
summary: (params: { groupBy: string; dateFrom: string; dateTo: string; productId?: string }) =>