fix(6-mejoras): subcategoría+apartado libre+PDF+coacreditado+docs+dedup
1. Subcategoría en modal descarte (catálogo completo + select) 2. Apartado sin monto mínimo (eliminada validación de 0,000) 3. PDF solo con propuesta elegida (no las 4) 4. Co-acreditado: checkbox 'no tiene' valida sin campos obligatorios 5. Documentos apartado: previsualizar + descargar (endpoint + frontend) 6. Oportunidades: sin duplicados, orden Confirmar→Afluencia→Cotizar→Aparto(verde)→Descartar
This commit is contained in:
@@ -48,7 +48,7 @@ import {
|
||||
cambiarEtapaOportunidadEndpoint,
|
||||
perderOportunidadEndpoint,
|
||||
} from '../controllers/oportunidades.controller.js'
|
||||
import { cambiarEstadoApartadoEndpoint, listarDocumentosApartado, subirDocumentosApartado, uploadDocumentosApartado } from '../controllers/apartados.controller.js'
|
||||
import { cambiarEstadoApartadoEndpoint, listarDocumentosApartado, subirDocumentosApartado, descargarDocumentoApartado, uploadDocumentosApartado } from '../controllers/apartados.controller.js'
|
||||
import { correrRecordatorios, listarRecordatorios } from '../controllers/recordatorios.controller.js'
|
||||
import {
|
||||
cambiarEstadoLeadEndpoint,
|
||||
@@ -214,6 +214,8 @@ apiRouter.post('/apartados/:itemId/estado', cambiarEstadoApartadoEndpoint)
|
||||
// el cliente ligado al apartado (se crea la ficha mínima si aún no existe)
|
||||
apiRouter.get('/apartados/:itemId/documentos', listarDocumentosApartado)
|
||||
apiRouter.post('/apartados/:itemId/documentos', uploadDocumentosApartado.array('archivos', 10), subirDocumentosApartado)
|
||||
// Archivo de un documento (previsualizar / descargar desde "Mis apartados")
|
||||
apiRouter.get('/apartados/:itemId/documentos/:docId/archivo', descargarDocumentoApartado)
|
||||
// Notas del apartado
|
||||
apiRouter.post('/apartados/:id/notas', crearNotaEndpoint)
|
||||
apiRouter.get('/apartados/:id/notas', listarNotasEndpoint)
|
||||
|
||||
Reference in New Issue
Block a user