fix(auditoria completa): bloqueos de Mi Dia, cobranza (saldos y fechas), captura (departamento y rol), contactos (privacidad), cotizador (QR) y validaciones de API
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
import { Fragment, useMemo, useState, useCallback } from 'react'
|
||||
import { Fragment, useEffect, useMemo, useState, useCallback } from 'react'
|
||||
import type { CampoDef, DatosCaptura } from '../services/captura'
|
||||
|
||||
// ─── Tipos ──────────────────────────────────────────────────────────
|
||||
@@ -185,6 +185,14 @@ export function TablaCaptura({
|
||||
const [dirty, setDirty] = useState<DirtyMap>({})
|
||||
const [pagina, setPagina] = useState(0)
|
||||
|
||||
// Al cambiar de departamento o de desarrollo los campos son otros: los cambios
|
||||
// pendientes de la vista anterior se descartan (antes se guardaban en el
|
||||
// departamento equivocado) y la paginación vuelve al inicio.
|
||||
useEffect(() => {
|
||||
setDirty({})
|
||||
setPagina(0)
|
||||
}, [campos])
|
||||
|
||||
/** Obtener estatus de una unidad (campo estatus en dept VENTAS, siempre disponible) */
|
||||
const estatusUnidad = useCallback(
|
||||
(unidad: string): string => {
|
||||
@@ -252,12 +260,20 @@ export function TablaCaptura({
|
||||
[datos],
|
||||
)
|
||||
|
||||
/** Enviar cambios al padre */
|
||||
/**
|
||||
* Enviar cambios al padre. NO se limpian aquí: el padre recarga los datos al
|
||||
* guardar con éxito y el efecto de abajo limpia los pendientes. Si el guardado
|
||||
* falla, lo capturado sigue en pantalla para reintentar.
|
||||
*/
|
||||
const handleSubmit = useCallback(() => {
|
||||
onGuardar(dirty)
|
||||
setDirty({})
|
||||
}, [dirty, onGuardar])
|
||||
|
||||
// Los datos guardados llegaron (recarga tras guardar): ya no hay pendientes
|
||||
useEffect(() => {
|
||||
setDirty({})
|
||||
}, [datos])
|
||||
|
||||
if (unidades.length === 0) {
|
||||
return (
|
||||
<p className="text-sm text-[#64748B] dark:text-[#94A3B8]">
|
||||
|
||||
Reference in New Issue
Block a user