diff --git a/src/app/apps/rup/mapa-camas/views/plan-indicaciones/indicacion-detalle/indicacion-detalle.component.html b/src/app/apps/rup/mapa-camas/views/plan-indicaciones/indicacion-detalle/indicacion-detalle.component.html index 90f67d8414..4ab298d2f5 100644 --- a/src/app/apps/rup/mapa-camas/views/plan-indicaciones/indicacion-detalle/indicacion-detalle.component.html +++ b/src/app/apps/rup/mapa-camas/views/plan-indicaciones/indicacion-detalle/indicacion-detalle.component.html @@ -41,6 +41,8 @@ + + {{ estado.tipo | indicacionLabel }} diff --git a/src/app/apps/rup/mapa-camas/views/plan-indicaciones/indicaciones-botonera/indicaciones-botonera.component.ts b/src/app/apps/rup/mapa-camas/views/plan-indicaciones/indicaciones-botonera/indicaciones-botonera.component.ts index dab9fb127a..fcdfc57c67 100644 --- a/src/app/apps/rup/mapa-camas/views/plan-indicaciones/indicaciones-botonera/indicaciones-botonera.component.ts +++ b/src/app/apps/rup/mapa-camas/views/plan-indicaciones/indicaciones-botonera/indicaciones-botonera.component.ts @@ -10,6 +10,7 @@ export class PlanIndicacionesBotoneraComponent implements OnChanges { @Input() indicacion; @Output() refresh = new EventEmitter(); + @Output() cancelIndicacion = new EventEmitter(); public items = []; @@ -57,7 +58,9 @@ export class PlanIndicacionesBotoneraComponent implements OnChanges { } cambiarEstado(estado: string) { - if (estado === 'deleted') { + if (estado === 'cancelled') { + this.cancelIndicacion.emit(this.indicacion); + } else if (estado === 'deleted') { this.planIndicacionesServices.delete(this.indicacion.id).subscribe(() => { this.refresh.emit(); this.plex.toast('success', 'La indicación ha sido borrada'); diff --git a/src/app/apps/rup/mapa-camas/views/plan-indicaciones/motivo-suspension/motivo-suspension.component.html b/src/app/apps/rup/mapa-camas/views/plan-indicaciones/motivo-suspension/motivo-suspension.component.html new file mode 100644 index 0000000000..d658caff0f --- /dev/null +++ b/src/app/apps/rup/mapa-camas/views/plan-indicaciones/motivo-suspension/motivo-suspension.component.html @@ -0,0 +1,10 @@ +
+ + + + + + + +
\ No newline at end of file diff --git a/src/app/apps/rup/mapa-camas/views/plan-indicaciones/motivo-suspension/motivo-suspension.component.ts b/src/app/apps/rup/mapa-camas/views/plan-indicaciones/motivo-suspension/motivo-suspension.component.ts new file mode 100644 index 0000000000..6f08942886 --- /dev/null +++ b/src/app/apps/rup/mapa-camas/views/plan-indicaciones/motivo-suspension/motivo-suspension.component.ts @@ -0,0 +1,21 @@ +import { Component, Input, Output, EventEmitter } from '@angular/core'; + +@Component({ + selector: 'suspension-indicacion', + templateUrl: 'motivo-suspension.component.html' +}) + +export class SuspensionIndicacionComponent { + + motivo; + @Output() cancelar = new EventEmitter(); + @Output() guardar = new EventEmitter(); + + guardarSuspension() { + this.guardar.emit(this.motivo); + } + + cancelarSuspension() { + this.cancelar.emit(false); + } +} diff --git a/src/app/apps/rup/mapa-camas/views/plan-indicaciones/plan-indicaciones.component.html b/src/app/apps/rup/mapa-camas/views/plan-indicaciones/plan-indicaciones.component.html index 97b0ad083b..54ae1f2667 100644 --- a/src/app/apps/rup/mapa-camas/views/plan-indicaciones/plan-indicaciones.component.html +++ b/src/app/apps/rup/mapa-camas/views/plan-indicaciones/plan-indicaciones.component.html @@ -1,4 +1,4 @@ - + @@ -147,7 +147,7 @@

+ (refresh)="actualizar()" (cancelIndicacion)="cancelIndicacion($event)">
@@ -188,5 +188,8 @@

(events)="onEventos($event)"> + + + \ No newline at end of file diff --git a/src/app/apps/rup/mapa-camas/views/plan-indicaciones/plan-indicaciones.component.ts b/src/app/apps/rup/mapa-camas/views/plan-indicaciones/plan-indicaciones.component.ts index b7e3eee3bc..9eb2332bfb 100644 --- a/src/app/apps/rup/mapa-camas/views/plan-indicaciones/plan-indicaciones.component.ts +++ b/src/app/apps/rup/mapa-camas/views/plan-indicaciones/plan-indicaciones.component.ts @@ -42,6 +42,7 @@ export class PlanIndicacionesComponent implements OnInit { private seccion = true; + public suspenderIndicacion: Boolean; public showSecciones = { }; @@ -216,6 +217,7 @@ export class PlanIndicacionesComponent implements OnInit { } onSelectedChange() { + this.suspenderIndicacion = false; this.selectedBuffer.next(this.selectedIndicacion); } @@ -234,7 +236,7 @@ export class PlanIndicacionesComponent implements OnInit { this.onSelectedChange(); } - cambiarEstado(estado: string) { + cambiarEstado(estado: string, motivo?: string) { const indicaciones = Object.keys(this.selectedIndicacion).filter(k => this.selectedIndicacion[k]).map(k => this.indicaciones.find(i => i.id === k)); if (estado === 'deleted') { const datos = indicaciones.map(ind => this.planIndicacionesServices.delete(ind.id)); @@ -247,6 +249,7 @@ export class PlanIndicacionesComponent implements OnInit { } else { const estadoParams = { tipo: estado, + motivo, fecha: new Date() }; const datos = indicaciones.map(ind => this.planIndicacionesServices.updateEstado(ind.id, estadoParams)); @@ -267,8 +270,15 @@ export class PlanIndicacionesComponent implements OnInit { this.cambiarEstado('on-hold'); } + cancelIndicacion(event) { + this.selectedIndicacion = { [event.id]: event }; + this.selectedBuffer.next(this.selectedIndicacion); + this.onDetenerClick(); + } + onDetenerClick() { - this.cambiarEstado('cancelled'); + this.indicacionView = false; + this.suspenderIndicacion = true; } onContinuarClick() { @@ -290,7 +300,6 @@ export class PlanIndicacionesComponent implements OnInit { } } - onIndicacionesCellClick(indicacion, hora) { if (indicacion.estado.tipo !== 'draft') { this.indicacionEventoSelected = indicacion; @@ -307,7 +316,6 @@ export class PlanIndicacionesComponent implements OnInit { } } - onNuevaIndicacion(seccion) { this.indicacionEventoSelected = null; this.indicacionView = null; @@ -341,6 +349,15 @@ export class PlanIndicacionesComponent implements OnInit { } } + guardarSuspension(event) { + this.suspenderIndicacion = false; + this.cambiarEstado('cancelled', event); + } + + cancelarSuspension() { + this.suspenderIndicacion = false; + } + crearPrestacion(paciente, concepto, fecha: Date) { const nuevaPrestacion = this.prestacionService.inicializarPrestacion( paciente, concepto, 'ejecucion', this.ambito, fecha diff --git a/src/app/apps/rup/mapa-camas/views/plan-indicaciones/plan-indicaciones.module.ts b/src/app/apps/rup/mapa-camas/views/plan-indicaciones/plan-indicaciones.module.ts index d470b48d85..eae479c953 100644 --- a/src/app/apps/rup/mapa-camas/views/plan-indicaciones/plan-indicaciones.module.ts +++ b/src/app/apps/rup/mapa-camas/views/plan-indicaciones/plan-indicaciones.module.ts @@ -13,6 +13,7 @@ import { PlanIndicacionEventoComponent } from './indicacion-eventos/indicacion-e import { PlanIndicacionesBotoneraComponent } from './indicaciones-botonera/indicaciones-botonera.component'; import { PlanIndicacionesNuevaIndicacionComponent } from './nueva-indicacion/nueva-indicacion.component'; import { PlanIndicacionesComponent } from './plan-indicaciones.component'; +import { SuspensionIndicacionComponent } from './motivo-suspension/motivo-suspension.component'; @NgModule({ imports: [ @@ -31,7 +32,8 @@ import { PlanIndicacionesComponent } from './plan-indicaciones.component'; IndicacionLabelPipe, PlanIndicacionesResumenComponent, PlanIndicacionesBotoneraComponent, - PlanIndicacionesNuevaIndicacionComponent + PlanIndicacionesNuevaIndicacionComponent, + SuspensionIndicacionComponent ], exports: [ IndicacionColorPipe,