fix(catalogos): SOLE y MUTUO en desarrollos de alta lead/afluencia/cliente y filtros
This commit is contained in:
@@ -57,8 +57,9 @@ export const VOCABULARIO = {
|
|||||||
// Labels de la columna 'Origen' (board Leads) / 'Origen del Lead'
|
// Labels de la columna 'Origen' (board Leads) / 'Origen del Lead'
|
||||||
// (afluencia), verificados y sembrados el 2026-09-04
|
// (afluencia), verificados y sembrados el 2026-09-04
|
||||||
ORIGENES: ['PASE', 'PROSPECCION ASESOR', 'ACTIVACION', 'FACEBOOK FRASA', 'REFERIDO', 'BROCKER', 'OTRO'],
|
ORIGENES: ['PASE', 'PROSPECCION ASESOR', 'ACTIVACION', 'FACEBOOK FRASA', 'REFERIDO', 'BROCKER', 'OTRO'],
|
||||||
// Labels oficiales de desarrollo (verificados el 2026-09-04)
|
// Labels oficiales de desarrollo (verificados el 2026-09-04; SOLE y MUTUO
|
||||||
DESARROLLOS: ['ATELIER', 'DIAGONAL', 'ESTANZA', 'SENDA', 'SOLANA'],
|
// agregados 2026-09 — existen en captura e inventario)
|
||||||
|
DESARROLLOS: ['ATELIER', 'DIAGONAL', 'ESTANZA', 'SENDA', 'SOLANA', 'SOLE', 'MUTUO'],
|
||||||
} as const
|
} as const
|
||||||
|
|
||||||
export type FaseLead = (typeof VOCABULARIO.FASES_LEAD)[number]
|
export type FaseLead = (typeof VOCABULARIO.FASES_LEAD)[number]
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* Espejo del vocabulario del API (api-gateway/src/config/vocabulario.ts):
|
* Espejo del vocabulario del API (api-gateway/src/config/vocabulario.ts):
|
||||||
* DESARROLLOS es la lista canónica de desarrollos FRASA. Mantener sincronizado.
|
* DESARROLLOS es la lista canónica de desarrollos FRASA. Mantener sincronizado.
|
||||||
*/
|
*/
|
||||||
export const DESARROLLOS = ['ATELIER', 'DIAGONAL', 'ESTANZA', 'SENDA', 'SOLANA'] as const
|
export const DESARROLLOS = ['ATELIER', 'DIAGONAL', 'ESTANZA', 'SENDA', 'SOLANA', 'SOLE', 'MUTUO'] as const
|
||||||
|
|
||||||
/** Plantillas de preguntas sugeridas, parametrizadas por desarrollo */
|
/** Plantillas de preguntas sugeridas, parametrizadas por desarrollo */
|
||||||
const PLANTILLAS: ((desarrollo: string) => string)[] = [
|
const PLANTILLAS: ((desarrollo: string) => string)[] = [
|
||||||
|
|||||||
@@ -18,17 +18,20 @@ export const PROYECTOS = [
|
|||||||
'ATELIER',
|
'ATELIER',
|
||||||
'ESTANZA',
|
'ESTANZA',
|
||||||
'SOLANA',
|
'SOLANA',
|
||||||
|
'SOLE',
|
||||||
|
'MUTUO',
|
||||||
'OTRO',
|
'OTRO',
|
||||||
] as const
|
] as const
|
||||||
|
|
||||||
// Modelos por proyecto (inventario real, ago-2026). Los proyectos sin lista
|
// Modelos por proyecto (inventario real, ago-2026). Los proyectos sin lista
|
||||||
// (RESIDENCIAL MONTEBELLO histórico, OTRO) capturan el modelo en texto libre.
|
// (RESIDENCIAL MONTEBELLO histórico, MUTUO, OTRO) capturan el modelo en texto libre.
|
||||||
export const MODELOS_POR_PROYECTO: Partial<Record<(typeof PROYECTOS)[number], string[]>> = {
|
export const MODELOS_POR_PROYECTO: Partial<Record<(typeof PROYECTOS)[number], string[]>> = {
|
||||||
DIAGONAL: ['1R', '2RA', '2RB', '2RC'],
|
DIAGONAL: ['1R', '2RA', '2RB', '2RC'],
|
||||||
SENDA: ['HIMALAYA', 'SANTIAGO', 'ESMERALDA PA', 'ESMERALDA PB', 'SANTA CRUZ'],
|
SENDA: ['HIMALAYA', 'SANTIAGO', 'ESMERALDA PA', 'ESMERALDA PB', 'SANTA CRUZ'],
|
||||||
ATELIER: ['TRIBECA', 'SOHO'],
|
ATELIER: ['TRIBECA', 'SOHO'],
|
||||||
ESTANZA: ['DUPLO A', 'DUPLO B'],
|
ESTANZA: ['DUPLO A', 'DUPLO B'],
|
||||||
SOLANA: ['MIRADOR', 'PANORAMA'],
|
SOLANA: ['MIRADOR', 'PANORAMA'],
|
||||||
|
SOLE: ['ALBA', 'HORIZONTE', 'OCASO'],
|
||||||
}
|
}
|
||||||
|
|
||||||
export const ESTADOS_CIVILES: { valor: EstadoCivil; etiqueta: string }[] = [
|
export const ESTADOS_CIVILES: { valor: EstadoCivil; etiqueta: string }[] = [
|
||||||
@@ -97,7 +100,7 @@ export const TAMANO_MAX_DOCUMENTO = 10 * 1024 * 1024 // 10 MB
|
|||||||
// Catálogos (labels exactos). Origen: vocabulario FRASA sembrado en
|
// Catálogos (labels exactos). Origen: vocabulario FRASA sembrado en
|
||||||
// los tableros Leads y Oportunidades el 2026-09-04 (reemplaza al set anterior)
|
// los tableros Leads y Oportunidades el 2026-09-04 (reemplaza al set anterior)
|
||||||
export const ORIGENES_LEAD = ['PASE', 'PROSPECCION ASESOR', 'ACTIVACION', 'FACEBOOK FRASA', 'REFERIDO', 'BROCKER', 'OTRO'] as const
|
export const ORIGENES_LEAD = ['PASE', 'PROSPECCION ASESOR', 'ACTIVACION', 'FACEBOOK FRASA', 'REFERIDO', 'BROCKER', 'OTRO'] as const
|
||||||
export const DESARROLLOS_LEAD = ['ATELIER', 'DIAGONAL', 'ESTANZA', 'SENDA', 'SOLANA'] as const
|
export const DESARROLLOS_LEAD = ['ATELIER', 'DIAGONAL', 'ESTANZA', 'SENDA', 'SOLANA', 'SOLE', 'MUTUO'] as const
|
||||||
|
|
||||||
// Label de la columna status 'Califica' del tablero Leads (captura de afluencia).
|
// Label de la columna status 'Califica' del tablero Leads (captura de afluencia).
|
||||||
// El modelo de interés sale de MODELOS_POR_PROYECTO según el desarrollo elegido.
|
// El modelo de interés sale de MODELOS_POR_PROYECTO según el desarrollo elegido.
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ describe('catálogos', () => {
|
|||||||
})
|
})
|
||||||
|
|
||||||
it('desarrollos = labels reales de la columna Desarrollo del board Leads', () => {
|
it('desarrollos = labels reales de la columna Desarrollo del board Leads', () => {
|
||||||
expect([...DESARROLLOS_LEAD]).toEqual(['ATELIER', 'DIAGONAL', 'ESTANZA', 'SENDA', 'SOLANA'])
|
expect([...DESARROLLOS_LEAD]).toEqual(['ATELIER', 'DIAGONAL', 'ESTANZA', 'SENDA', 'SOLANA', 'SOLE', 'MUTUO'])
|
||||||
})
|
})
|
||||||
|
|
||||||
it('motivos de descarte = vocabulario CRM (igual que el API)', () => {
|
it('motivos de descarte = vocabulario CRM (igual que el API)', () => {
|
||||||
|
|||||||
@@ -139,7 +139,7 @@ export const VOCABULARIO = {
|
|||||||
// Labels de origen (captura ligera y afluencia), verificados el 2026-09-04
|
// Labels de origen (captura ligera y afluencia), verificados el 2026-09-04
|
||||||
ORIGENES: ['PASE', 'PROSPECCION ASESOR', 'ACTIVACION', 'FACEBOOK FRASA', 'REFERIDO', 'BROCKER', 'OTRO'],
|
ORIGENES: ['PASE', 'PROSPECCION ASESOR', 'ACTIVACION', 'FACEBOOK FRASA', 'REFERIDO', 'BROCKER', 'OTRO'],
|
||||||
// Labels oficiales de desarrollo
|
// Labels oficiales de desarrollo
|
||||||
DESARROLLOS: ['ATELIER', 'DIAGONAL', 'ESTANZA', 'SENDA', 'SOLANA'],
|
DESARROLLOS: ['ATELIER', 'DIAGONAL', 'ESTANZA', 'SENDA', 'SOLANA', 'SOLE', 'MUTUO'],
|
||||||
} as const
|
} as const
|
||||||
|
|
||||||
// Constantes derivadas (nombres estables que consume el resto de la app)
|
// Constantes derivadas (nombres estables que consume el resto de la app)
|
||||||
|
|||||||
Reference in New Issue
Block a user