feat: ecosistema FRASA — apps Cotizador, Alta Clientes, Cobranza y Landing
- Cotizador (/quote): 4 propuestas con formulas validadas del Excel, comparador, combobox de unidades, vigencia, PDF ANEXO A - Alta Clientes (/client): wizard 8 pasos, validacion CURP RENAPO, OCR de INE, checklist de expediente, firma digital, 5 PDFs legales - Cobranza (/pay): planes de enganche, mora, vista cobranza del dia, recibos PDF, bitacora, dashboard con filtros - Landing (/): entrada al ecosistema - Design system StudioBlank (monocromo, acento #1B4332) en las 4 apps - 123 tests vitest
This commit is contained in:
21
apps/alta-clientes/src/services/api.ts
Normal file
21
apps/alta-clientes/src/services/api.ts
Normal file
@@ -0,0 +1,21 @@
|
||||
import type { AltaCliente } from '../types'
|
||||
import { uuid } from '../lib/uuid'
|
||||
|
||||
export interface AltaClienteCreada {
|
||||
id: string
|
||||
}
|
||||
|
||||
/** Registra el alta de cliente en el backend */
|
||||
export async function crearAltaCliente(payload: AltaCliente): Promise<AltaClienteCreada> {
|
||||
// TODO: POST /api/clientes
|
||||
await new Promise((resolve) => setTimeout(resolve, 400))
|
||||
console.log('[api] crearAltaCliente (stub):', payload.datosGenerales.nombreCompleto)
|
||||
return { id: uuid() }
|
||||
}
|
||||
|
||||
/** Sube los documentos del expediente del cliente */
|
||||
export async function subirDocumentos(clienteId: string, payload: AltaCliente): Promise<void> {
|
||||
// TODO: POST multipart a /api/clientes/:id/documentos
|
||||
await new Promise((resolve) => setTimeout(resolve, 200))
|
||||
console.log(`[api] subirDocumentos (stub) cliente=${clienteId}:`, payload.documentos.length, 'archivos')
|
||||
}
|
||||
12
apps/alta-clientes/src/services/monday.ts
Normal file
12
apps/alta-clientes/src/services/monday.ts
Normal file
@@ -0,0 +1,12 @@
|
||||
import type { AltaCliente } from '../types'
|
||||
|
||||
/** Envía el alta al tablero de Monday (Contactos + Apartado) */
|
||||
export async function enviarAMonday(payload: AltaCliente): Promise<void> {
|
||||
// TODO: integración Monday — crear item en tablero "Contactos" y "Apartado"
|
||||
// con nombre, teléfono, correo, proyecto y ubicación del cliente
|
||||
console.log('[monday] enviarAMonday (stub):', {
|
||||
nombre: payload.datosGenerales.nombreCompleto,
|
||||
proyecto: payload.viviendaCredito.proyecto,
|
||||
ubicacion: payload.viviendaCredito.ubicacion,
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user