diff --git a/src/app/modules/rup/components/ejecucion/hudsBusqueda.component.ts b/src/app/modules/rup/components/ejecucion/hudsBusqueda.component.ts index 0cc875df1a..9ed178d33c 100644 --- a/src/app/modules/rup/components/ejecucion/hudsBusqueda.component.ts +++ b/src/app/modules/rup/components/ejecucion/hudsBusqueda.component.ts @@ -278,8 +278,13 @@ export class HudsBusquedaComponent implements AfterContentInit, OnInit { gtag('huds-open', tipo, registro.concepto.term, index); registro.class = getSemanticClass(registro.concepto, false); if (registro.esSolicitud) { + tipo = 'solicitud'; registro.tipo = 'solicitud'; registro.class = 'plan'; + if (!registro.solicitud) { + registro.solicitud = { tipoPrestacion: registro.concepto }; + } + registro.id = registro.idRegistro; } break; case 'rup-group': diff --git a/src/app/modules/rup/components/huds/vistaSolicitudTop.html b/src/app/modules/rup/components/huds/vistaSolicitudTop.html index 83e5e13c63..7a164f506e 100644 --- a/src/app/modules/rup/components/huds/vistaSolicitudTop.html +++ b/src/app/modules/rup/components/huds/vistaSolicitudTop.html @@ -1,11 +1,12 @@ - - + +
{{ estado }} - - {{ registro.solicitud.tipoPrestacion.semanticTag || 'solicitud' }} + + {{ registro.solicitud?.tipoPrestacion?.semanticTag || registro.concepto?.semanticTag || 'solicitud' }}
@@ -17,49 +18,72 @@ Registros - +
-
+
Tipo de Prestación Origen

- {{registro.solicitud.tipoPrestacionOrigen.term}}

+ {{ registro.solicitud?.tipoPrestacionOrigen?.term || registro.evoluciones?.[0]?.tipoPrestacion + }} +

-
+
Organización de origen

- {{registro.solicitud.organizacionOrigen.nombre}}

+ {{ registro.solicitud?.organizacionOrigen?.nombre || registro.evoluciones?.[0]?.organizacion }} +

-
Diagnóstico / Motivo -

{{registro.solicitud.registros[0].valor.solicitudPrestacion.motivo || 'Sin diagnóstico o motivo'}}

+
+ Diagnóstico / Motivo +

+ {{ (registro.solicitud?.registros?.[0]?.valor?.solicitudPrestacion?.conceptoAsociado?.term || + registro.evoluciones?.[0]?.valor?.solicitudPrestacion?.conceptoAsociado?.term) ? + ((registro.solicitud?.registros?.[0]?.valor?.solicitudPrestacion?.conceptoAsociado?.term || + registro.evoluciones?.[0]?.valor?.solicitudPrestacion?.conceptoAsociado?.term) + ' - ') : '' + }} + {{ registro.solicitud?.registros?.[0]?.valor?.solicitudPrestacion?.motivo || + registro.evoluciones?.[0]?.valor?.solicitudPrestacion?.motivo || 'Sin diagnóstico o motivo' }} +

+
+
+ Observaciones / Indicaciones +

- Observaciones -

{{observaciones || 'Sin observaciones'}}

+ Organización destino +

{{ organizacionDestino }}

-
+
Archivos adjuntos
- + - (Sin documentos - adjuntos)
-
Historial de la solicitud
- -
- + +
Historial de la solicitud
+ + + + +
+ +
+ +
- +
\ No newline at end of file diff --git a/src/app/modules/rup/components/huds/vistaSolicitudTop.ts b/src/app/modules/rup/components/huds/vistaSolicitudTop.ts index f05ff10280..d3460a3369 100644 --- a/src/app/modules/rup/components/huds/vistaSolicitudTop.ts +++ b/src/app/modules/rup/components/huds/vistaSolicitudTop.ts @@ -8,11 +8,23 @@ import { HUDSService } from '../../services/huds.service'; }) export class VistaSolicitudTopComponent implements OnInit { - @Input() registro; - turno; - estado; - observaciones = ''; + public normalizedRegistro: any; + public turno; + public estado; + public observaciones = ''; + + get isEnviadaTop() { + return this.registro.inicio === 'top'; + } + + get organizacionDestino() { + if (!this.isEnviadaTop) { + return 'Sin definir'; + } + const registros = this.registro.solicitud?.registros || this.registro.evoluciones; + return this.registro.solicitud?.organizacion?.nombre || registros?.[0]?.valor?.solicitudPrestacion?.organizacionDestino?.nombre || 'Sin definir'; + } public tipoEstado = { validada: 'success', @@ -34,27 +46,29 @@ export class VistaSolicitudTopComponent implements OnInit { ) { } ngOnInit() { - this.estado = this.registro.estados[this.registro.estados.length - 1].tipo; + const lastState = this.registro.estados?.[this.registro.estados.length - 1]; - if (this.registro.estados[this.registro.estados.length - 1].observaciones) { - this.observaciones = this.registro.estados[this.registro.estados.length - 1].observaciones; - } else if (this.registro.estados[this.registro.estados.length - 1].motivoRechazo) { // DEPRECADO - this.observaciones = this.registro.estados[this.registro.estados.length - 1].motivoRechazo; + if (lastState) { + this.estado = lastState.tipo; + this.observaciones = lastState.observaciones || lastState.motivoRechazo || ''; + } else { + // Caso RUP + this.estado = 'validada'; + const solicitudPrestacion = this.registro.evoluciones?.[0]?.valor?.solicitudPrestacion; + this.observaciones = solicitudPrestacion?.indicaciones || ''; } - if (this.registro.solicitud.turno) { - const params = { - id: this.registro.solicitud.turno - }; - this.servicioTurnos.getTurnos(params).subscribe(turnos => { - this.turno = turnos[0].bloques[0].turnos[0]; + const idTurno = this.registro.solicitud?.turno || this.registro.dataPrestacion?.solicitud?.turno; + if (idTurno) { + this.servicioTurnos.getTurnos({ id: idTurno }).subscribe(turnos => { + this.turno = turnos?.[0]?.bloques?.[0]?.turnos?.[0]; }); - } } abrirSolicitud() { const tipo = 'rup'; - this.huds.toogle(this.registro, tipo); + const registroToOpen = this.registro.dataPrestacion || (this.registro.solicitud?.id ? this.registro : { id: this.registro.idPrestacion }); + this.huds.toogle(registroToOpen, tipo); } }