diff --git a/src/pages/Expedientes.jsx b/src/pages/Expedientes.jsx
index 00eadf0..3305799 100644
--- a/src/pages/Expedientes.jsx
+++ b/src/pages/Expedientes.jsx
@@ -80,7 +80,7 @@ export default function Documents() {
// Construir objeto de filtros
const filters = {
search: searchFilter || undefined,
- pedimento_app: pedimentoFilter || undefined,
+ pedimento_app: pedimentoFilter || undefined,
existe_expediente: expedienteFilter === 'all' ? undefined : expedienteFilter,
contribuyente: contribuyenteFilter || undefined,
curp_apoderado: curpApoderadoFilter || undefined,
@@ -235,7 +235,7 @@ export default function Documents() {
className="w-full border border-gray-300 rounded-xl px-3 py-2.5 text-sm focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500 bg-white shadow-sm transition-all duration-200 hover:shadow-md"
/>
- {/* Pedimento */}
+ {/* Pedimento_app */}
Fecha de pago
Contribuyente |
CURP Apoderado |
-
Importe total |
+
Partidas |
Saldo disponible |
-
Importe pedimento_app |
+
Importe pedimento |
Expediente |
@@ -455,13 +455,13 @@ export default function Documents() {
to={`/expedientes/pedimento/${ped.id}`}
className="text-blue-600 hover:text-blue-800 font-semibold transition-colors duration-200 group-hover:underline"
>
- {ped.pedimento}
+ {ped.pedimento_app}
{ped.fecha_pago} |
{ped.contribuyente} |
{ped.curp_apoderado} |
-
${ped.importe_total} |
+
{ped.numero_partidas} |
${ped.saldo_disponible} |
${ped.importe_pedimento_app} |
@@ -540,7 +540,7 @@ export default function Documents() {
to={`/expedientes/pedimento/${ped.id}`}
className="text-lg font-semibold text-blue-600 hover:text-blue-800 transition-colors duration-200"
>
- {ped.pedimento}
+ {ped.pedimento_app}
{ped.fechapago}
@@ -569,15 +569,15 @@ export default function Documents() {
)}
- Importe total:
- ${ped.importe_total}
+ Partidas
+ ${ped.numero_partidas}
Saldo disponible:
${ped.saldo_disponible}
- Importe pedimento_app:
+ Importe pedimento:
${ped.importe_pedimento_app}
diff --git a/src/pages/PedimentoDetail.jsx b/src/pages/PedimentoDetail.jsx
index 2bbad4f..5425a7d 100644
--- a/src/pages/PedimentoDetail.jsx
+++ b/src/pages/PedimentoDetail.jsx
@@ -326,6 +326,21 @@ const [docsPrev, setDocsPrev] = useState(null);
setPreviewXmlHtml('');
};
+ // Lógica para botones numerados de paginación
+ const totalPages = Math.max(1, Math.ceil(docsCount / pageSize));
+ let pageNumbers = [];
+ if (totalPages <= 7) {
+ pageNumbers = Array.from({ length: totalPages }, (_, i) => i + 1);
+ } else {
+ if (page <= 4) {
+ pageNumbers = [1, 2, 3, 4, 5, '...', totalPages];
+ } else if (page >= totalPages - 3) {
+ pageNumbers = [1, '...', totalPages - 4, totalPages - 3, totalPages - 2, totalPages - 1, totalPages];
+ } else {
+ pageNumbers = [1, '...', page - 1, page, page + 1, '...', totalPages];
+ }
+ }
+
return (
@@ -481,7 +496,7 @@ const [docsPrev, setDocsPrev] = useState(null);
Pedimento
- {pedimento.pedimento}
+ {pedimento.pedimento_app}
@@ -706,10 +721,10 @@ const [docsPrev, setDocsPrev] = useState(null);
{/* Vista Desktop - Tabla */}
-
-
+
+
- |
+ |
|
- {
+ | {
setOrderBy('archivo');
setOrderDir(orderBy === 'archivo' && orderDir === 'asc' ? 'desc' : 'asc');
}}>
Archivo {orderBy === 'archivo' && ({orderDir === 'asc' ? '▲' : '▼'})}
|
- {
+ | {
setOrderBy('document_type');
setOrderDir(orderBy === 'document_type' && orderDir === 'asc' ? 'desc' : 'asc');
}}>
Tipo {orderBy === 'document_type' && ({orderDir === 'asc' ? '▲' : '▼'})}
|
- {
+ | {
setOrderBy('extension');
setOrderDir(orderBy === 'extension' && orderDir === 'asc' ? 'desc' : 'asc');
}}>
Extensión {orderBy === 'extension' && ({orderDir === 'asc' ? '▲' : '▼'})}
|
- {
+ | {
setOrderBy('size');
setOrderDir(orderBy === 'size' && orderDir === 'asc' ? 'desc' : 'asc');
}}>
Tamaño {orderBy === 'size' && ({orderDir === 'asc' ? '▲' : '▼'})}
|
- {
+ | {
setOrderBy('created_at');
setOrderDir(orderBy === 'created_at' && orderDir === 'asc' ? 'desc' : 'asc');
}}>
Fecha {orderBy === 'created_at' && ({orderDir === 'asc' ? '▲' : '▼'})}
|
-
+ |
Acciones
|
-
+
{documents
.filter(doc => {
if (!documentTypeFilter) return true;
@@ -798,8 +813,8 @@ const [docsPrev, setDocsPrev] = useState(null);
return 0;
})
.map((doc, index) => (
-
- |
+ |
+ |
|
-
+ |
{doc.archivo ? doc.archivo.split('/').pop() : 'Sin nombre'}
|
-
+ |
{getDocumentTypeName(doc.document_type)}
|
-
+ |
{doc.extension || 'N/A'}
|
-
+ |
{doc.size || 'N/A'}
|
-
+ |
{doc.created_at ? new Date(doc.created_at).toLocaleDateString('es-ES', {
year: 'numeric',
month: 'short',
day: 'numeric'
}) : 'N/A'}
|
-
+ |
|
+ {/* Paginación Desktop */}
+
+ {/* Izquierda: Selector de registros por página */}
+
+ Registros por página
+
+
+ {/* Centro: Paginación numerada */}
+
+
+
+ {pageNumbers.map((num, idx) =>
+ num === '...'
+ ? …
+ :
+ )}
+
+
+
+ {/* Derecha: Rango de registros */}
+
+ {docsCount > 0
+ ? `Mostrando ${((page - 1) * pageSize) + 1} a ${Math.min(page * pageSize, docsCount)} de ${docsCount} registros`
+ : 'Mostrando 0 de 0 registros'}
+
+
@@ -958,6 +1032,65 @@ const [docsPrev, setDocsPrev] = useState(null);
))}
+ {/* Controles de paginación móvil */}
+
+ {/* Izquierda: Selector de registros por página */}
+
+ Registros por página
+
+
+ {/* Centro: Paginación numerada */}
+
+
+
+ {pageNumbers.map((num, idx) =>
+ num === '...'
+ ? …
+ :
+ )}
+
+
+
+ {/* Derecha: Rango de registros */}
+
+ {docsCount > 0
+ ? `Mostrando ${((page - 1) * pageSize) + 1} a ${Math.min(page * pageSize, docsCount)} de ${docsCount} registros`
+ : 'Mostrando 0 de 0 registros'}
+
+
>
)}
diff --git a/src/pages/Procesos.jsx b/src/pages/Procesos.jsx
index 7268130..3c52115 100644
--- a/src/pages/Procesos.jsx
+++ b/src/pages/Procesos.jsx
@@ -695,7 +695,7 @@ export default function Procesos() {
try {
// Construir filtros
const filters = {};
- if (pedimentoPedimentoFilter) filters['pedimento__pedimento'] = pedimentoPedimentoFilter;
+ if (pedimentoPedimentoFilter) filters['pedimento__pedimento_app'] = pedimentoPedimentoFilter;
if (estadoFilter) filters['estado'] = estadoFilter;
if (servicioFilter) filters['servicio'] = servicioFilter;
if (sortField) {
@@ -1158,7 +1158,7 @@ export default function Procesos() {
{typeof proc.pedimento === 'object' && proc.pedimento !== null
- ? proc.pedimento.pedimento || JSON.stringify(proc.pedimento)
+ ? proc.pedimento.pedimento_app || proc.pedimento.pedimento || JSON.stringify(proc.pedimento)
: proc.pedimento}
|
| |