feat(8-mejoras): cancelar+motivo, brocker, etapas, calendario, modal cliente
1. Cancelar con motivo: Mis apartados y Escrituración piden motivo (modal reutilizado) 2. Origen BROCKER agregado en alta afluencia y captura rápida 3. Etapas oportunidades reordenadas: Agendo Cita → Afluencia → Cotizador 4. Cotizador: mensualidades diferibles (6, 12, 14, 18, 24 meses) 5. Calendario semanal por vendedor en Mi día 6. Hora en citas (datetime-local en vez de solo fecha) 7. Click en nombre → modal DetalleLeadModal (info + notas + historial)
This commit is contained in:
@@ -39,6 +39,9 @@ export const FASES_APARTADO_PERMITIDAS = [
|
||||
|
||||
const cambiarEstadoSchema = z.object({
|
||||
estado: z.enum(FASES_APARTADO_PERMITIDAS),
|
||||
motivo: z.string().optional(),
|
||||
subcategoria: z.string().optional(),
|
||||
comentario: z.string().optional(),
|
||||
})
|
||||
|
||||
type MondayApartados = Pick<
|
||||
@@ -84,7 +87,10 @@ export async function cambiarEstadoApartadoEndpoint(req: Request, res: Response)
|
||||
}
|
||||
}
|
||||
res.json({ itemId, estado: body.estado })
|
||||
auditoria.registrar(req.usuarioToken?.sub ?? 'sistema', 'CAMBIAR_ESTADO', 'apartado', itemId, body.estado)
|
||||
const detalle = body.motivo
|
||||
? `${body.estado} — motivo: ${body.motivo}${body.subcategoria ? ` / ${body.subcategoria}` : ''}${body.comentario ? ` (${body.comentario})` : ''}`
|
||||
: body.estado
|
||||
auditoria.registrar(req.usuarioToken?.sub ?? 'sistema', 'CAMBIAR_ESTADO', 'apartado', itemId, detalle)
|
||||
}
|
||||
|
||||
// ---------- Precarga de documentos del expediente (desde "Mis apartados") ----------
|
||||
|
||||
Reference in New Issue
Block a user