From 701f7b6d82b2ddbd989ae3b7166035700714825b Mon Sep 17 00:00:00 2001 From: ma7payne Date: Fri, 10 May 2024 08:16:41 -0300 Subject: [PATCH] feat(CIT): Implementa mockups de demanda insatisfecha --- src/app/app.module.ts | 6 +- src/app/app.routing.ts | 4 + .../demanda-insatisfecha.component.ts | 110 ++++++++++++++++++ .../demanda-insatisfecha.html | 62 ++++++++++ 4 files changed, 180 insertions(+), 2 deletions(-) create mode 100644 src/app/components/demandaInsatisfecha/demanda-insatisfecha.component.ts create mode 100644 src/app/components/demandaInsatisfecha/demanda-insatisfecha.html diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 0933f1960d..0543dded9b 100755 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -147,7 +147,7 @@ import { ValidarCertificadoService } from './modules/epidemiologia/services/vali import { MPILibModule } from './modules/mpi/mpi-lib.module'; import { FormulaBaseService } from './modules/rup/components/formulas'; import { RiesgoCardiovascularService } from './modules/rup/components/formulas/riesgoCardiovascular.service'; -import { demandaInsatisfechaComponent } from './components/turnos/dashboard/demandaInsatisfecha'; +import { demandaInsatisfechaComponent as DemandaInsatisfechaSidebarComponent } from './components/turnos/dashboard/demandaInsatisfecha'; // INTERNACION import { PuntoInicioInternacionComponent } from './modules/rup/components/internacion/puntoInicio-internacion.component'; import { RUPLibModule } from './modules/rup/rup-lib.module'; @@ -220,6 +220,7 @@ import { AcronimoSvgComponent } from './styles/acronimo.svg'; import { LogoSvgComponent } from './styles/logo.svg'; import { MapsComponent } from './utils/mapsComponent'; import { PermisosComponent } from './utils/permisos/permisos.component'; +import { DemandaInsatisfechaComponent } from './components/demandaInsatisfecha/demanda-insatisfecha.component'; registerLocaleData(localeEs, 'es'); @@ -287,7 +288,8 @@ registerLocaleData(localeEs, 'es'); HeaderPacienteComponent, PuntoInicioInternacionComponent, ValidarCertificadoComponent, - demandaInsatisfechaComponent, + DemandaInsatisfechaSidebarComponent, + DemandaInsatisfechaComponent, // Solicitudes PrestamosHcComponent, diff --git a/src/app/app.routing.ts b/src/app/app.routing.ts index a6166e3b13..eea7ddd76c 100644 --- a/src/app/app.routing.ts +++ b/src/app/app.routing.ts @@ -40,6 +40,7 @@ import { PacienteComponent } from './core/mpi/components/paciente.component'; // Internacion import { PuntoInicioInternacionComponent } from './modules/rup/components/internacion/puntoInicio-internacion.component'; import { ValidarCertificadoComponent } from './modules/epidemiologia/components/validar-certificado/validar-certificado.component'; +import { DemandaInsatisfechaComponent } from './components/demandaInsatisfecha/demanda-insatisfecha.component'; const appRoutes: Routes = [ @@ -196,6 +197,9 @@ const appRoutes: Routes = [ { path: 'validar-certificado', component: ValidarCertificadoComponent, canActivate: [RoutingNavBar] }, + // Demanda insatisfecha + { path: 'demanda-insatisfecha', component: DemandaInsatisfechaComponent, canActivate: [RoutingNavBar] }, + // dejar siempre al último porque no encuentra las url después de esta { path: '**', redirectTo: 'inicio' } ]; diff --git a/src/app/components/demandaInsatisfecha/demanda-insatisfecha.component.ts b/src/app/components/demandaInsatisfecha/demanda-insatisfecha.component.ts new file mode 100644 index 0000000000..7d5af34ffc --- /dev/null +++ b/src/app/components/demandaInsatisfecha/demanda-insatisfecha.component.ts @@ -0,0 +1,110 @@ + +import { Component, OnInit } from '@angular/core'; +import { ListaEsperaService } from 'src/app/services/turnos/listaEspera.service'; + + +@Component({ + selector: 'demanda-insatisfecha', + templateUrl: 'demanda-insatisfecha.html' +}) +export class DemandaInsatisfechaComponent implements OnInit { + public listaDemandas = []; + public demandasFiltradas = null; + public demandaSelected = null; + public filtros: any = {}; + public selectorPrestacion; + public selectorMotivo; + public selectedPaciente; + + public motivos = [ + { id: 1, nombre: 'No existe la oferta en el efector' }, + { id: 2, nombre: 'No hay turnos disponibles' }, + { id: 3, nombre: 'Oferta rechazada por el paciente' } + ]; + + public columns = [ + { + key: 'paciente', + label: 'Paciente' + }, + { + key: 'prestacion', + label: 'Prestación' + }, + { + key: 'fecha', + label: 'Fecha' + }, + { + key: 'motivo', + label: 'Motivo' + }, + { + key: 'estado', + } + ]; + + public tabIndex = 0; + public pacienteFields = ['sexo', 'fechaNacimiento', 'cuil', 'financiador', 'numeroAfiliado', 'direccion']; + + constructor(private listaEsperaService: ListaEsperaService) { } + + ngOnInit(): void { + this.getDemandas({}); + } + + private getDemandas(filtros) { + this.listaEsperaService.get(filtros).subscribe((listaEspera: any[]) => { + const demandas = []; + + listaEspera.forEach(item => { + item.demandas.forEach(demanda => { + demandas.push({ + id: demanda.id, + paciente: item.paciente, + prestacion: item.tipoPrestacion.nombre, + fecha: item.fecha, + motivo: demanda.motivo, + estado: item.estado + }); + }); + }); + + this.listaDemandas = demandas; + }); + } + + public seleccionarDemanda(demanda) { this.demandaSelected = demanda; } + + public refreshSelection({ value }, tipo) { + if (value === null) { + this.demandasFiltradas = null; + } + + if (tipo === 'paciente') { + this.filtros = { ...this.filtros, paciente: value }; + } + + if (tipo === 'fechaDesde') { + this.filtros = { ...this.filtros, fechaDesde: value }; + } + + if (tipo === 'fechaHasta') { + this.filtros = { ...this.filtros, fechaHasta: value }; + } + + if (tipo === 'prestacion') { + this.filtros = { ...this.filtros, prestacion: value?.term }; + } + + if (tipo === 'motivo') { + this.filtros = { ...this.filtros, motivo: value?.nombre }; + } + + this.getDemandas(this.filtros); + } + + public cerrar() { } + + public cambiarTab(index) { } +} diff --git a/src/app/components/demandaInsatisfecha/demanda-insatisfecha.html b/src/app/components/demandaInsatisfecha/demanda-insatisfecha.html new file mode 100644 index 0000000000..9c610d58e1 --- /dev/null +++ b/src/app/components/demandaInsatisfecha/demanda-insatisfecha.html @@ -0,0 +1,62 @@ + + + + + + + + + + + + + + + + + +
+ + +
+ + + + + {{demanda.paciente.nombreCompleto}} + {{demanda.prestacion}} + {{demanda.fecha | fecha}} + {{demanda.motivo}} + + + {{demanda.estado}} + + + + + +
+ + + + + + + + + + + + + +
\ No newline at end of file