feat(mi-dia): gate de afluencia para apartar, pestana Afluencia en bitacora, cita cliente con fecha en calendario, filtros por desarrollo/origen corregidos, rangos salariales nuevos y soporte como acceso directo

This commit is contained in:
2026-09-25 10:23:24 +00:00
parent 8a5db114ec
commit 7f663208a0
19 changed files with 381 additions and 501 deletions

View File

@@ -5,6 +5,8 @@
* resuelve por el usuarioId de cada fila.
*/
import { camposAfluenciaFaltantes } from '../config/vocabulario.js'
// Estados del board Leads en los que el lead ya no es trabajo activo del vendedor
export const ESTADOS_TERMINALES_LEAD = ['DESCARTADO', 'CALIFICADO', 'ABANDONO']
@@ -133,6 +135,8 @@ export interface OportunidadMiDia {
ultimoCambio: { fechaISO: string; usuario: string | null; detalle: string } | null
/** Fecha y hora de la cita agendada (ej. '2026-09-10T14:30' o '2026-09-10') */
fechaCita?: string | undefined
/** ¿Afluencia con perfil completo? Sin esto no puede avanzar a 'Aparto' */
afluenciaCompleta: boolean
}
/** Apartado asignado al vendedor (tab "Mis apartados" de Mi día) */
@@ -339,6 +343,7 @@ export function resumenMiDiaLocal(
updatedAt: c.updatedAt.toISOString(),
ultimoCambio: ultimoCambioLocal(c, nombrePorUsuarioId.get(c.usuarioId) ?? ''),
fechaCita,
afluenciaCompleta: camposAfluenciaFaltantes(c.datosJson).length === 0,
pendienteSync: c.pendienteSync,
}
})