diff --git a/src/app/modules/rup/components/ejecucion/prestacionValidacion.component.ts b/src/app/modules/rup/components/ejecucion/prestacionValidacion.component.ts index b8305895d4..b1e1829f7f 100644 --- a/src/app/modules/rup/components/ejecucion/prestacionValidacion.component.ts +++ b/src/app/modules/rup/components/ejecucion/prestacionValidacion.component.ts @@ -112,6 +112,27 @@ export class PrestacionValidacionComponent implements OnInit, OnDestroy { return this.prestacion && this.prestacion.estados[this.prestacion.estados.length - 1].tipo === 'validada'; } + get ultimoValidador() { + if (this.prestacion && this.prestacion.estados) { + const estados = [...this.prestacion.estados].reverse(); + return estados.find(e => e.tipo === 'validada'); + } + return null; + } + + get profesionales() { + let profesionales = [...(this.prestacion?.profesionalesRegistrantes || [])]; + if (this.ultimoValidador) { + const validador = this.ultimoValidador.createdBy; + const index = profesionales.findIndex(p => (p.id || p._id) === (validador.id || validador._id) || String(p.documento) === String(validador.documento)); + if (index > -1) { + const [v] = profesionales.splice(index, 1); + profesionales = [v, ...profesionales]; + } + } + return profesionales; + } + ngOnDestroy() { this.prestacionSubscription.unsubscribe(); } @@ -404,6 +425,14 @@ export class PrestacionValidacionComponent implements OnInit, OnDestroy { this.router.navigate(['rup/ejecucion/', this.prestacion.id]); } + esValidador(profesional) { + if (!this.ultimoValidador) { + return false; + } + const validador = this.ultimoValidador.createdBy; + return (validador.id === profesional.id || validador.id === profesional._id || String(validador.documento) === String(profesional.documento)); + } + volverInicio(ambito = 'ambulatorio', ruta = null) { let mensaje = ambito === 'ambulatorio' ? 'Punto de Inicio' : 'Mapa de Camas'; let ruteo; diff --git a/src/app/modules/rup/components/ejecucion/prestacionValidacion.html b/src/app/modules/rup/components/ejecucion/prestacionValidacion.html index dfdeea5543..f612da87d3 100644 --- a/src/app/modules/rup/components/ejecucion/prestacionValidacion.html +++ b/src/app/modules/rup/components/ejecucion/prestacionValidacion.html @@ -197,6 +197,21 @@ + + + + + + + + + + + + diff --git a/src/app/modules/rup/components/ejecucion/prestacionValidacion.scss b/src/app/modules/rup/components/ejecucion/prestacionValidacion.scss index 2249596647..c8cac28e91 100644 --- a/src/app/modules/rup/components/ejecucion/prestacionValidacion.scss +++ b/src/app/modules/rup/components/ejecucion/prestacionValidacion.scss @@ -14,6 +14,19 @@ background-color: $invert !important; } +plex-box.profesionales { + background-color: $invert !important; + height: auto !important; + flex: 0 0 auto !important; + display: block !important; + + ::ng-deep .plex-box { + height: auto !important; + flex: 0 0 auto !important; + min-height: initial !important; + } +} + .btn-orden { height: 28px; width: 28px; diff --git a/src/app/modules/rup/components/ejecucion/puntoInicio.component.ts b/src/app/modules/rup/components/ejecucion/puntoInicio.component.ts index 8fc2bdb2b4..edc7474d17 100644 --- a/src/app/modules/rup/components/ejecucion/puntoInicio.component.ts +++ b/src/app/modules/rup/components/ejecucion/puntoInicio.component.ts @@ -292,6 +292,7 @@ export class PuntoInicioComponent implements OnInit, OnDestroy { return (profesional.id === this.auth.profesional); })); }); + } // por tipo de prestación diff --git a/src/app/modules/rup/components/huds/relaciones-rup.html b/src/app/modules/rup/components/huds/relaciones-rup.html index ba933bcf2d..f64f6aa9df 100644 --- a/src/app/modules/rup/components/huds/relaciones-rup.html +++ b/src/app/modules/rup/components/huds/relaciones-rup.html @@ -3,7 +3,8 @@