feat(captura): módulo de captura por departamentos
Backend: tabla CapturaDepartamento, 5 departamentos, 7 desarrollos, service CRUD + importador Excel + 6 endpoints. Frontend: tabla editable inline, tabs por dept, resumen avance, paginación, filtro estatus, permisos por rol, dark mode. 746 API tests + 42 landing tests.
This commit is contained in:
49
api-gateway/src/config/campos-departamento.ts
Normal file
49
api-gateway/src/config/campos-departamento.ts
Normal file
@@ -0,0 +1,49 @@
|
||||
export const DEPARTAMENTOS = ['OBRA', 'VENTAS', 'ESCRITURACION', 'FINANZAS', 'POSTVENTA'] as const
|
||||
|
||||
export const CAMPOS_POR_DEPARTAMENTO: Record<string, { campo: string; tipo: string; label: string; options?: string[] }[]> = {
|
||||
OBRA: [
|
||||
{ campo: 'certificacion_gas', tipo: 'boolean', label: 'Certificación Gas' },
|
||||
{ campo: 'to_c4_fianza', tipo: 'boolean', label: 'TO y C4-Fianza' },
|
||||
{ campo: 'regimen_inscrito', tipo: 'boolean', label: 'Régimen Inscrito' },
|
||||
{ campo: 'no_oficial', tipo: 'boolean', label: 'No. Oficial' },
|
||||
{ campo: 'clave_catastral', tipo: 'boolean', label: 'Clave Catastral' },
|
||||
{ campo: 'listas_avaluo', tipo: 'boolean', label: 'Listas para Avaluo' },
|
||||
{ campo: 'habitabilidad', tipo: 'date', label: 'Habitabilidad a partir de' },
|
||||
{ campo: 'comentarios_obra', tipo: 'text', label: 'Comentarios' },
|
||||
],
|
||||
VENTAS: [
|
||||
{ campo: 'cliente_id', tipo: 'text', label: 'Cliente ID' },
|
||||
{ campo: 'nombre_cliente', tipo: 'text', label: 'Nombre Cliente' },
|
||||
{ campo: 'ubicacion', tipo: 'text', label: 'Ubicación/Unidad' },
|
||||
{ campo: 'modelo', tipo: 'text', label: 'Modelo' },
|
||||
{ campo: 'tipo_credito', tipo: 'select', label: 'Tipo Crédito', options: ['BANCARIO', 'COFINAVIT', 'INFONAVIT', 'SANTANDER', 'HSBC', 'BBVA', 'FOVISSSTE', 'CONTADO'] },
|
||||
{ campo: 'estatus', tipo: 'select', label: 'Estatus', options: ['DISPONIBLE', 'APARTADO', 'VENDIDO', 'ESCRITURADO'] },
|
||||
{ campo: 'fecha_apartado', tipo: 'date', label: 'Fecha Apartado' },
|
||||
{ campo: 'fecha_venta', tipo: 'date', label: 'Fecha Venta' },
|
||||
{ campo: 'fecha_vencimiento', tipo: 'date', label: 'Fecha Vencimiento Contrato' },
|
||||
{ campo: 'precio_venta', tipo: 'number', label: 'Precio Venta' },
|
||||
],
|
||||
ESCRITURACION: [
|
||||
{ campo: 'fecha_autorizacion', tipo: 'date', label: 'Fecha Autorización' },
|
||||
{ campo: 'fecha_firma', tipo: 'date', label: 'Fecha Firma' },
|
||||
{ campo: 'notaria', tipo: 'text', label: 'Notaría' },
|
||||
{ campo: 'fecha_pago_banco', tipo: 'date', label: 'Fecha Pago Banco' },
|
||||
{ campo: 'fecha_pago_infonavit', tipo: 'date', label: 'Fecha Pago Infonavit' },
|
||||
{ campo: 'fecha_pago_fovissste', tipo: 'date', label: 'Fecha Pago Fovissste' },
|
||||
],
|
||||
FINANZAS: [
|
||||
{ campo: 'otros_ingresos', tipo: 'number', label: 'Otros Ingresos' },
|
||||
{ campo: 'pagado_transferencia', tipo: 'number', label: 'Pagado Transferencia' },
|
||||
{ campo: 'infonavit', tipo: 'number', label: 'Infonavit' },
|
||||
{ campo: 'bancario', tipo: 'number', label: 'Bancario' },
|
||||
{ campo: 'fovissste', tipo: 'number', label: 'Fovissste' },
|
||||
{ campo: 'credito_puente', tipo: 'number', label: 'Crédito Puente' },
|
||||
{ campo: 'saldo_favor', tipo: 'number', label: 'Saldo a Favor' },
|
||||
],
|
||||
POSTVENTA: [
|
||||
{ campo: 'entrega_sac', tipo: 'boolean', label: 'Entrega a SAC' },
|
||||
{ campo: 'comentarios_entrega', tipo: 'text', label: 'Comentarios' },
|
||||
],
|
||||
}
|
||||
|
||||
export const DESARROLLOS = ['SENDA', 'ATELIER', 'ESTANZA', 'DIAGONAL', 'SOLANA', 'SOLE', 'MUTUO'] as const
|
||||
Reference in New Issue
Block a user