fix(apartados): rename firma→alta enkontrol + campo usuario + bloqueo unidad

- Firma Cliente (Venta) renombrada a Alta Enkontrol (mismo redirect a alta cliente)
- Campo 'Usuario Enkontrol' añadido en Datos Generales del alta cliente
- Unidad se bloquea (APARTADA) al pasar cliente a etapa Aparto
- Backend y frontend actualizados
This commit is contained in:
2026-09-08 06:31:41 +00:00
parent f297aabc1a
commit 5063ffe281
16 changed files with 76 additions and 27 deletions

View File

@@ -32,6 +32,7 @@ export const crearClienteSchema = z
estadoCivil: z.string().optional(),
tipoVivienda: z.string().optional(),
tipoCompra: z.string().optional(),
usuarioEnkontrol: z.string().optional(),
})
.passthrough(),
empleo: z.object({ tipoEmpleo: z.string().optional() }).passthrough().optional(),
@@ -312,7 +313,7 @@ async function encolarReplicasPendientesCliente(
/**
* Apartado Monday del alta: con apartadoMondayId (alta arrancada desde un
* apartado existente, botón "Firma Cliente (Venta)" de Mis apartados) se
* apartado existente, botón "Alta Enkontrol" de Mis apartados) se
* LIGA y enriquece ese item; sin él, se crea uno nuevo como siempre.
*/
async function apartadoDeAlta(
@@ -444,6 +445,7 @@ export const iniciarProgresoSchema = z
estadoCivil: z.string().optional(),
tipoVivienda: z.string().optional(),
tipoCompra: z.string().optional(),
usuarioEnkontrol: z.string().optional(),
})
.passthrough(),
leadMondayId: z.string().optional(),
@@ -767,8 +769,8 @@ export async function listarDocumentos(req: Request, res: Response): Promise<voi
/**
* GET /api/altas/prefill-apartado/:itemId — todo lo ya recolectado de un
* apartado de Monday para prellenar el alta de cliente (botón "Firma Cliente
* (Venta)" de Mis apartados): ficha del apartado, contacto relacionado
* apartado de Monday para prellenar el alta de cliente (botón "Alta Enkontrol"
* de Mis apartados): ficha del apartado, contacto relacionado
* (perfil completo), oportunidad relacionada (perfil de la afluencia) y la
* cotización más reciente vinculada. Las relaciones se arman por teléfono
* (últimos 10 dígitos) o email.