feat: Implement reference data management for states, transport modes, transport types, and valuation methods
- Added server-side loading logic for states, transport modes, transport types, and valuation methods with pagination support. - Created Svelte components for displaying and managing states, transport modes, transport types, and valuation methods. - Implemented infinite scroll functionality for loading more data as the user scrolls. - Added error handling and user feedback for API interactions. - Included dialogs for creating and editing entries in each reference data category.
This commit is contained in:
@@ -0,0 +1,69 @@
|
||||
/**
|
||||
* API Client para Pedimento Codes
|
||||
* Gestiona las operaciones CRUD para las claves de pedimento
|
||||
*/
|
||||
import { api } from '$lib/api';
|
||||
|
||||
export interface PedimentoCode {
|
||||
code: string;
|
||||
description: string;
|
||||
}
|
||||
|
||||
export interface PedimentoCodeListResponse {
|
||||
items: PedimentoCode[];
|
||||
total: number;
|
||||
page: number;
|
||||
page_size: number;
|
||||
}
|
||||
|
||||
export interface CreatePedimentoCodeData {
|
||||
code: string;
|
||||
description: string;
|
||||
}
|
||||
|
||||
export interface UpdatePedimentoCodeData {
|
||||
code?: string;
|
||||
description?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* API para Pedimento Codes
|
||||
*/
|
||||
export const pedimentoCodesApi = {
|
||||
/**
|
||||
* Lista todas las claves de pedimento con paginación
|
||||
* @param page - Número de página (por defecto 1)
|
||||
* @param pageSize - Tamaño de página (por defecto 50)
|
||||
*/
|
||||
list: (page = 1, pageSize = 50) =>
|
||||
api.get<PedimentoCodeListResponse>(
|
||||
`/v1/pedimento-codes?page=${page}&page_size=${pageSize}`
|
||||
),
|
||||
|
||||
/**
|
||||
* Obtiene una clave de pedimento por code
|
||||
* @param code - Código de la clave de pedimento
|
||||
*/
|
||||
get: (code: string) => api.get<PedimentoCode>(`/v1/pedimento-codes/${code}`),
|
||||
|
||||
/**
|
||||
* Crea una nueva clave de pedimento
|
||||
* @param data - Datos de la clave de pedimento a crear
|
||||
*/
|
||||
create: (data: CreatePedimentoCodeData) =>
|
||||
api.post<PedimentoCode>('/v1/pedimento-codes', data),
|
||||
|
||||
/**
|
||||
* Actualiza una clave de pedimento existente
|
||||
* @param code - Código de la clave de pedimento a actualizar
|
||||
* @param data - Datos a actualizar
|
||||
*/
|
||||
update: (code: string, data: UpdatePedimentoCodeData) =>
|
||||
api.put<PedimentoCode>(`/v1/pedimento-codes/${code}`, data),
|
||||
|
||||
/**
|
||||
* Elimina una clave de pedimento
|
||||
* @param code - Código de la clave de pedimento a eliminar
|
||||
*/
|
||||
delete: (code: string) => api.delete(`/v1/pedimento-codes/${code}`)
|
||||
};
|
||||
Reference in New Issue
Block a user