diff --git a/src/app/modules/perinatal/components/listado-perinatal.component.html b/src/app/modules/perinatal/components/listado-perinatal.component.html index 137f204e36..d9c94a1c34 100644 --- a/src/app/modules/perinatal/components/listado-perinatal.component.html +++ b/src/app/modules/perinatal/components/listado-perinatal.component.html @@ -34,7 +34,9 @@ - + + @@ -46,34 +48,36 @@ - {{ carnet.fecha | fecha }} - {{ carnet.paciente.apellido + ', ' + carnet.paciente.nombre }} - {{ carnet.paciente.documento }} - {{ carnet.paciente | edad }} - - AUSENTE - - - - - - {{ carnet.fechaProximoControl | fecha }} - - - No indica - - - - {{ carnet.fechaUltimoControl | fecha }} - - - - {{ carnet.primeriza? - 'Primer Embarazo': (carnet.cantidadEmbarazos)? carnet.embarazo.term + ' - ('+carnet.cantidadEmbarazos+') ' : carnet.embarazo.term}} - + [class.selected]="carnet?.id===carnetSelected?.id" [class.selectable]="selectable"> + + {{ carnet.fecha | fecha }} + {{ carnet.paciente.apellido + ', ' + carnet.paciente.nombre }} + {{ carnet.paciente.documento }} + {{ carnet.paciente | edad }} + + AUSENTE + + + + + + {{ carnet.fechaProximoControl | fecha }} + + + No indica + + + + {{ carnet.fechaUltimoControl | fecha }} + + + + {{ carnet.primeriza? + 'Primer Embarazo': (carnet.cantidadEmbarazos)? carnet.embarazo.term + ' + ('+carnet.cantidadEmbarazos+') ' : carnet.embarazo.term}} + + diff --git a/src/app/modules/perinatal/components/listado-perinatal.component.ts b/src/app/modules/perinatal/components/listado-perinatal.component.ts index 04d257ca3a..4fde553489 100644 --- a/src/app/modules/perinatal/components/listado-perinatal.component.ts +++ b/src/app/modules/perinatal/components/listado-perinatal.component.ts @@ -10,7 +10,8 @@ import { CarnetPerinatalService } from './../services/carnet-perinatal.service'; @Component({ selector: 'listado-perinatal', - templateUrl: './listado-perinatal.component.html' + templateUrl: './listado-perinatal.component.html', + styleUrls: ['listado-perinatal.scss'], }) export class ListadoPerinatalComponent implements OnInit { public fechaDesdeEntrada; @@ -31,6 +32,7 @@ export class ListadoPerinatalComponent implements OnInit { public collapse = false; public sortBy: string; public sortOrder = 'desc'; + public verAusente; public columns = [ { key: 'fechaInicio', @@ -114,6 +116,7 @@ export class ListadoPerinatalComponent implements OnInit { this.listado$ = this.carnetPerinatalService.carnetsFiltrados$.pipe( map(resp => this.listadoActual = resp) ); + this.verAusente = false; } filtrar() { @@ -125,6 +128,7 @@ export class ListadoPerinatalComponent implements OnInit { this.carnetPerinatalService.profesional.next(this.profesional); this.carnetPerinatalService.fechaUltimoControl.next(this.fechaUltimoControl); this.carnetPerinatalService.fechaProximoControl.next(this.fechaCita); + this.carnetPerinatalService.estado.next(this.verAusente); } onScroll() { @@ -158,9 +162,9 @@ export class ListadoPerinatalComponent implements OnInit { fechaHasta: this.fechaHastaEntrada, profesional: this.profesional?.id, organizacion: this.organizacion?.id, - paciente: this.paciente || '' + paciente: this.paciente || '', + estado: 'AUSENTE' }; - this.documentosService.descargarListadoPerinatal(params, `perinatal ${moment().format('DD-MM-hh-mm-ss')}`).subscribe(); } @@ -186,7 +190,7 @@ export class ListadoPerinatalComponent implements OnInit { } else { this.plex.toast('success', 'Nota eliminada con éxito'); } - }, error => { + }, () => { this.plex.toast('danger', 'El carnet no pudo ser actualizado'); }); } diff --git a/src/app/modules/perinatal/components/listado-perinatal.scss b/src/app/modules/perinatal/components/listado-perinatal.scss new file mode 100644 index 0000000000..061f9fddb5 --- /dev/null +++ b/src/app/modules/perinatal/components/listado-perinatal.scss @@ -0,0 +1,3 @@ +.bool-posicion{ + margin-top: 30px; +} \ No newline at end of file diff --git a/src/app/modules/perinatal/services/carnet-perinatal.service.ts b/src/app/modules/perinatal/services/carnet-perinatal.service.ts index c6fd4cac4a..dc09c67a41 100644 --- a/src/app/modules/perinatal/services/carnet-perinatal.service.ts +++ b/src/app/modules/perinatal/services/carnet-perinatal.service.ts @@ -2,6 +2,8 @@ import { ResourceBaseHttp, Server } from '@andes/shared'; import { Injectable } from '@angular/core'; import { BehaviorSubject, combineLatest, EMPTY, Observable } from 'rxjs'; import { auditTime, map, switchMap } from 'rxjs/operators'; +import { IOrganizacion } from '../../../interfaces/IOrganizacion'; +import { IProfesional } from '../../../interfaces/IProfesional'; @Injectable() export class CarnetPerinatalService extends ResourceBaseHttp { @@ -10,10 +12,11 @@ export class CarnetPerinatalService extends ResourceBaseHttp { public paciente = new BehaviorSubject(null); public fechaDesde = new BehaviorSubject(null); public fechaHasta = new BehaviorSubject(null); - public organizacion = new BehaviorSubject(null); - public profesional = new BehaviorSubject(null); + public organizacion = new BehaviorSubject(null); + public profesional = new BehaviorSubject(null); public fechaProximoControl = new BehaviorSubject(null); public fechaUltimoControl = new BehaviorSubject(null); + public estado = new BehaviorSubject(null); public lastResults = new BehaviorSubject(null); private limit = 15; private skip; @@ -21,7 +24,7 @@ export class CarnetPerinatalService extends ResourceBaseHttp { constructor(protected server: Server) { super(server); - this.carnetsFiltrados$ = combineLatest( + this.carnetsFiltrados$ = combineLatest([ this.fechaDesde, this.fechaHasta, this.organizacion, @@ -29,10 +32,11 @@ export class CarnetPerinatalService extends ResourceBaseHttp { this.paciente, this.fechaProximoControl, this.fechaUltimoControl, + this.estado, this.lastResults - ).pipe( + ]).pipe( auditTime(0), - switchMap(([fechaDesde, fechaHasta, organizacion, profesional, paciente, fechaProximoControl, fechaUltimoControl, lastResults]) => { + switchMap(([fechaDesde, fechaHasta, organizacion, profesional, paciente, fechaProximoControl, fechaUltimoControl, estado, lastResults]) => { if (!lastResults) { this.skip = 0; } @@ -45,7 +49,7 @@ export class CarnetPerinatalService extends ResourceBaseHttp { skip: this.skip }; if (paciente) { - params.paciente = '^' + paciente.toUpperCase(); + params.paciente = '^' + (paciente as string).toUpperCase(); } if (fechaProximoControl) { params.fechaProximoControl = moment(fechaProximoControl).format('YYYY-MM-DD');; @@ -54,19 +58,26 @@ export class CarnetPerinatalService extends ResourceBaseHttp { params.fechaUltimoControl = moment(fechaUltimoControl).format('YYYY-MM-DD'); } if (organizacion) { - params.organizacion = organizacion.id; + params.organizacion = (organizacion as IOrganizacion).id; } if (profesional) { - params.profesional = profesional.id; + params.profesional = (profesional as IProfesional).id; } - params.fechaControl = this.queryDateParams(fechaDesde, fechaHasta); - + params.fechaControl = this.queryDateParams(fechaDesde as Date, fechaHasta as Date); return this.search(params).pipe( map(resultados => { - const listado = lastResults ? lastResults.concat(resultados) : resultados; + const listado = lastResults ? (lastResults as any[]).concat(resultados) : resultados; this.skip = listado.length; - return listado; + if (estado) { + return listado.map(elemt_list => { + if ((moment().diff(moment(elemt_list?.fechaProximoControl), 'days') >= 1) && !elemt_list?.fechaFinEmbarazo) { + return elemt_list; + } + }); + } else { + return listado; + } }) ); }