Se modifico Pedimento detail se empezaron a agregar elementos del auditor y detalle completo del pedimento
This commit is contained in:
109
src/api/procesos.js
Normal file
109
src/api/procesos.js
Normal file
@@ -0,0 +1,109 @@
|
||||
import { fetchWithAuth } from '../fetchWithAuth';
|
||||
|
||||
const API_BASE_URL = process.env.NODE_ENV === 'production'
|
||||
? 'https://your-production-api.com/api/v1'
|
||||
: 'http://192.168.1.79:8000/api/v1';
|
||||
|
||||
export const fetchPedimentoProcesos = async (pedimentoId, page = 1, pageSize = 10, filters = {}) => {
|
||||
try {
|
||||
const params = new URLSearchParams({
|
||||
pedimento: pedimentoId,
|
||||
page: page.toString(),
|
||||
page_size: pageSize.toString(),
|
||||
});
|
||||
|
||||
// Agregar filtros si existen
|
||||
if (filters.estado !== undefined && filters.estado !== '') {
|
||||
params.append('estado', filters.estado);
|
||||
}
|
||||
if (filters.servicio !== undefined && filters.servicio !== '') {
|
||||
params.append('servicio', filters.servicio);
|
||||
}
|
||||
if (filters.organizacion_name) {
|
||||
params.append('organizacion_name__icontains', filters.organizacion_name);
|
||||
}
|
||||
if (filters.date_from) {
|
||||
params.append('created_at__gte', filters.date_from);
|
||||
}
|
||||
if (filters.date_to) {
|
||||
params.append('created_at__lte', filters.date_to);
|
||||
}
|
||||
if (filters.updated_from) {
|
||||
params.append('updated_at__gte', filters.updated_from);
|
||||
}
|
||||
if (filters.updated_to) {
|
||||
params.append('updated_at__lte', filters.updated_to);
|
||||
}
|
||||
|
||||
const response = await fetchWithAuth(`${API_BASE_URL}/customs/procesamientopedimentos/?${params}`);
|
||||
|
||||
if (!response.ok) {
|
||||
throw new Error(`Error ${response.status}: ${response.statusText}`);
|
||||
}
|
||||
|
||||
const data = await response.json();
|
||||
return {
|
||||
results: data.results,
|
||||
count: data.count,
|
||||
next: data.next,
|
||||
previous: data.previous
|
||||
};
|
||||
} catch (error) {
|
||||
console.error('Error fetching Procesos:', error);
|
||||
throw error;
|
||||
}
|
||||
};
|
||||
|
||||
// Mapeo de estados
|
||||
export const getEstadoLabel = (estado) => {
|
||||
const estados = {
|
||||
1: 'Pendiente',
|
||||
2: 'En Proceso',
|
||||
3: 'Completado',
|
||||
4: 'Error',
|
||||
5: 'Cancelado'
|
||||
};
|
||||
return estados[estado] || `Estado ${estado}`;
|
||||
};
|
||||
|
||||
export const getEstadoColor = (estado) => {
|
||||
const colores = {
|
||||
1: 'bg-yellow-100 text-yellow-800',
|
||||
2: 'bg-blue-100 text-blue-800',
|
||||
3: 'bg-green-100 text-green-800',
|
||||
4: 'bg-red-100 text-red-800',
|
||||
5: 'bg-gray-100 text-gray-800'
|
||||
};
|
||||
return colores[estado] || 'bg-gray-100 text-gray-800';
|
||||
};
|
||||
|
||||
// Mapeo de servicios
|
||||
export const getServicioLabel = (servicio) => {
|
||||
const servicios = {
|
||||
1: 'Digitalización',
|
||||
2: 'Validación',
|
||||
3: 'Procesamiento SAT',
|
||||
4: 'Generación COVEs',
|
||||
5: 'Generación EDocs',
|
||||
6: 'Envío VUCEM',
|
||||
7: 'Clasificación',
|
||||
8: 'Archivo Digital',
|
||||
9: 'Notificaciones'
|
||||
};
|
||||
return servicios[servicio] || `Servicio ${servicio}`;
|
||||
};
|
||||
|
||||
export const getServicioColor = (servicio) => {
|
||||
const colores = {
|
||||
1: 'bg-purple-100 text-purple-800',
|
||||
2: 'bg-indigo-100 text-indigo-800',
|
||||
3: 'bg-blue-100 text-blue-800',
|
||||
4: 'bg-cyan-100 text-cyan-800',
|
||||
5: 'bg-teal-100 text-teal-800',
|
||||
6: 'bg-green-100 text-green-800',
|
||||
7: 'bg-yellow-100 text-yellow-800',
|
||||
8: 'bg-orange-100 text-orange-800',
|
||||
9: 'bg-pink-100 text-pink-800'
|
||||
};
|
||||
return colores[servicio] || 'bg-gray-100 text-gray-800';
|
||||
};
|
||||
Reference in New Issue
Block a user