feat: rol manager, arreglos de reportes (cancelacion/afluencias), credito unico, cliente enkontrol, vendedor en bitacora y actualizar afluencia existente

This commit is contained in:
2026-09-18 15:25:34 +00:00
parent 9630893974
commit 4965a4488a
35 changed files with 303 additions and 90 deletions

View File

@@ -30,13 +30,14 @@ export default function ViviendaCreditoForm({ valores, onAnterior, onSiguiente }
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [proyecto])
const alternarCredito = (valor: TipoCredito) => {
/**
* El tipo de crédito es de selección ÚNICA (Infonavit, Apoyo Infonavit,
* Cofinavit, Segundo crédito, etc.). Se guarda como arreglo de un elemento
* para no cambiar el contrato de datos; volver a tocar el elegido lo quita.
*/
const seleccionarCredito = (valor: TipoCredito) => {
const actuales = metodos.getValues('tiposCredito') ?? []
metodos.setValue(
'tiposCredito',
actuales.includes(valor) ? actuales.filter((t) => t !== valor) : [...actuales, valor],
{ shouldDirty: true },
)
metodos.setValue('tiposCredito', actuales.includes(valor) ? [] : [valor], { shouldDirty: true })
}
return (
@@ -88,10 +89,11 @@ export default function ViviendaCreditoForm({ valores, onAnterior, onSiguiente }
>
<input
id={`tipoCredito-${tc.valor}`}
type="checkbox"
type="radio"
name="tipoCreditoUnico"
className="sr-only"
checked={tiposSeleccionados.includes(tc.valor)}
onChange={() => alternarCredito(tc.valor)}
onChange={() => seleccionarCredito(tc.valor)}
/>
{tc.etiqueta}
</label>