feat(pl): add Excel export for vehicle, personnel, driver and address lists
Wire backend /export endpoints and ListExportDropdown on master-data list pages. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
1 parent
85c96f0a5d
commit
b06fb6ac56
8 files changed
+467
-1
No files matched your search
@@ -138,6 +138,8 @@ export interface VehicleQuery {
|
||||
|
||||
export const vehicleApi = {
|
||||
list: (params?: VehicleQuery) =>
|
||||
export: (data: Record<string, any>) =>
|
||||
request.post('/transport/vehicle/export', data, { responseType: 'blob' }),
|
||||
request.get<PlListResponse<Vehicle>>('/transport/vehicle', { params }),
|
||||
get: (id: string) => request.get<VehicleDetail>(`/transport/vehicle/${id}`),
|
||||
create: (data: VehiclePayload) => request.post<VehicleDetail>('/transport/vehicle', data),
|
||||
@@ -192,6 +194,8 @@ export interface PersonnelQuery {
|
||||
|
||||
export const personnelApi = {
|
||||
list: (params?: PersonnelQuery) =>
|
||||
export: (data: Record<string, any>) =>
|
||||
request.post('/transport/personnel/export', data, { responseType: 'blob' }),
|
||||
request.get<PlListResponse<Personnel>>('/transport/personnel', { params }),
|
||||
get: (id: string) => request.get<PersonnelDetail>(`/transport/personnel/${id}`),
|
||||
create: (data: PersonnelPayload) => request.post<PersonnelDetail>('/transport/personnel', data),
|
||||
@@ -293,6 +297,8 @@ export interface TransportAddressPayload {
|
||||
export const transportAddressApi = {
|
||||
list: (params?: TransportAddressQuery) =>
|
||||
request.get<PlListResponse<TransportAddress>>('/transport/address', { params }),
|
||||
export: (data: Record<string, any>) =>
|
||||
request.post('/transport/address/export', data, { responseType: 'blob' }),
|
||||
listAll: (params?: { q?: string }) =>
|
||||
/** 选择器:仅按地址名称、详细地址模糊检索(不含联系人/电话) */
|
||||
request.get<PlListResponse<TransportAddress>>('/transport/address/all', { params }),
|
||||
@@ -348,6 +354,8 @@ function driverToPersonnelPayload(data: Partial<Driver>): PersonnelPayload {
|
||||
}
|
||||
|
||||
export const driverApi = {
|
||||
export: (data: Record<string, any>) =>
|
||||
request.post('/transport/driver/export', data, { responseType: 'blob' }),
|
||||
list: async (params?: DriverQuery) => {
|
||||
const res = await personnelApi.list({
|
||||
q: params?.q,
|
||||
|
||||
Reference in new issue
Block a user