Skip to content

Commit

Permalink
feat(TOP): reemplaza estados de badges en solicitudes
Browse files Browse the repository at this point in the history
  • Loading branch information
ma7payne authored and negro89 committed Jan 18, 2023
1 parent 48385aa commit 5e442c2
Show file tree
Hide file tree
Showing 4 changed files with 95 additions and 74 deletions.
26 changes: 23 additions & 3 deletions src/app/components/top/solicitudes/detalleSolicitud.component.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
import { Input, Component, OnInit, SimpleChanges, OnChanges } from '@angular/core';
import { AdjuntosService } from '../../../modules/rup/services/adjuntos.service';
import { environment } from '../../../../environments/environment';
import { DomSanitizer } from '@angular/platform-browser';
import { Plex } from '@andes/plex';

@Component({
selector: 'detalle-solicitud',
templateUrl: './detalleSolicitud.html',
Expand All @@ -17,6 +15,28 @@ export class DetalleSolicitudComponent implements OnChanges {

@Input() tipoSolicitud: string;

public nombreEstados = {
'auditoria': 'AUDITORIA',
'pendiente': 'PENDIENTE',
'rechazada': 'CONTRARREFERIDA',
'ejecucion': 'EJECUCIÓN',
'asignada': 'ASIGNADA',
'turnoDado': 'TURNO DADO',
'validada': 'REGISTRO EN HUDS',
'anulada': 'ANULADA'
};

public tipoEstados= {
'auditoria': 'info',
'pendiente': 'info',
'rechazada': 'warning',
'ejecucion': 'default',
'asignada': 'success',
'turnoDado': 'success',
'validada': 'success',
'anulada': 'danger',
};


public items = [
{ key: 'solicitud', label: 'SOLICITUD' },
Expand Down
19 changes: 7 additions & 12 deletions src/app/components/top/solicitudes/detalleSolicitud.html
Original file line number Diff line number Diff line change
Expand Up @@ -5,24 +5,19 @@
<plex-title size="sm" titulo="Solicitud">
<plex-badge type="warning mr-1">
{{prestacionSeleccionada.solicitud.fecha
| fecha}}
| fecha}}
</plex-badge>
<plex-badge type="danger mr-1"
*ngIf="prestacionSeleccionada.solicitud.registros[0].valor.solicitudPrestacion.prioridad === 'prioritario'">
{{prestacionSeleccionada.solicitud.registros[0].valor.solicitudPrestacion.prioridad}}
</plex-badge>
<plex-badge *ngIf="prestacionSeleccionada.solicitud.turno && prestacionSeleccionada.estadoActual.tipo !== 'validada'"
type="success mr-1">Turno dado</plex-badge>
<plex-badge *ngIf="prestacionSeleccionada.solicitud.turno && prestacionSeleccionada.estadoActual.tipo === 'validada'"
type="success mr-1">Registro en HUDS</plex-badge>
<plex-badge type="info"
*ngIf="!prestacionSeleccionada.solicitud.turno && prestacionSeleccionada.estadoActual.tipo !== 'rechazada'">
{{prestacionSeleccionada.estadoActual.tipo}}
</plex-badge>
<plex-badge type="danger"
*ngIf="!prestacionSeleccionada.solicitud.turno && prestacionSeleccionada.estadoActual.tipo === 'rechazada'">
CONTRARREFERIDA
<plex-badge type="{{tipoEstados[prestacionSeleccionada.estadoActual.tipo]}}"
*ngIf="!prestacionSeleccionada.solicitud.turno">
{{nombreEstados[prestacionSeleccionada.estadoActual.tipo]}}
</plex-badge>
<plex-badge *ngIf="prestacionSeleccionada.solicitud.turno" type="success">
{{nombreEstados[prestacionSeleccionada.estadoActual.tipo === 'validada' ? 'validada' :
'turnoDado']}}</plex-badge>
</plex-title>
<plex-grid cols="3" size="md" direction="row">
<plex-label *ngIf="prestacionSeleccionada.solicitud.tipoPrestacionOrigen?.term"
Expand Down
37 changes: 25 additions & 12 deletions src/app/components/top/solicitudes/solicitudes.component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -54,17 +54,8 @@ export class SolicitudesComponent implements OnInit {
public asignadas = false;
itemsDropdown: any = []; // Acciones del dropdown 'vincular
openedDropDown = null;
public estadosEntrada = [
{ id: 'auditoria', nombre: 'AUDITORIA' },
{ id: 'pendiente', nombre: 'PENDIENTE' },
{ id: 'asignada', nombre: 'ASIGNADA' },
{ id: 'rechazada', nombre: 'CONTRARREFERIDA' },
{ id: 'ejecucion', nombre: 'EJECUCIÓN' },
{ id: 'turnoDado', nombre: 'TURNO DADO' },
{ id: 'registroHUDS', nombre: 'REGISTRO EN HUDS' },
{ id: 'anulada', nombre: 'ANULADA' }
];
public estadosSalida = [

public selectEstados = [
{ id: 'auditoria', nombre: 'AUDITORIA' },
{ id: 'pendiente', nombre: 'PENDIENTE' },
{ id: 'asignada', nombre: 'ASIGNADA' },
Expand All @@ -75,6 +66,28 @@ export class SolicitudesComponent implements OnInit {
{ id: 'anulada', nombre: 'ANULADA' }
];

public nombreEstados = {
'auditoria': 'AUDITORIA',
'pendiente': 'PENDIENTE',
'rechazada': 'CONTRARREFERIDA',
'ejecucion': 'EJECUCIÓN',
'asignada': 'ASIGNADA',
'turnoDado': 'TURNO DADO',
'validada': 'REGISTRO EN HUDS',
'anulada': 'ANULADA'
};

public tipoEstados= {
'auditoria': 'info',
'pendiente': 'info',
'rechazada': 'warning',
'ejecucion': 'default',
'asignada': 'success',
'turnoDado': 'success',
'validada': 'success',
'anulada': 'danger',
};

public prioridades = [
{ id: 'prioritario', nombre: 'PRIORITARIO' },
];
Expand Down Expand Up @@ -131,7 +144,7 @@ export class SolicitudesComponent implements OnInit {
const currentUrl = this.router.url;
if (currentUrl === '/solicitudes/asignadas') {
this.asignadas = true;
this.estadosEntrada = [
this.selectEstados = [
{ id: 'asignada', nombre: 'ASIGNADA' }
];
this.fechaDesdeEntrada = null;
Expand Down
87 changes: 40 additions & 47 deletions src/app/components/top/solicitudes/solicitudes.html
Original file line number Diff line number Diff line change
Expand Up @@ -24,19 +24,23 @@
<plex-tab label="Entrada" (click)="panelIndex = 0">
<form #formEntrada="ngForm">
<plex-wrapper>
<plex-datetime *ngIf="asignadas && tipoSolicitud === 'entrada'" type="date" [(ngModel)]="fechaDesdeEntrada"
(change)="cambioFechaDesde()" name="fechaDesdeLimitada" label="Desde" class="fechas" required>
<plex-datetime *ngIf="asignadas && tipoSolicitud === 'entrada'" type="date"
[(ngModel)]="fechaDesdeEntrada" (change)="cambioFechaDesde()"
name="fechaDesdeLimitada" label="Desde" class="fechas" required>
</plex-datetime>
<plex-datetime *ngIf="asignadas && tipoSolicitud === 'entrada'" type="date" [(ngModel)]="fechaHastaEntrada"
(change)="cambioFechaHasta()" name="fechaHastaLimitada" label="Hasta" class="fechas" required>
<plex-datetime *ngIf="asignadas && tipoSolicitud === 'entrada'" type="date"
[(ngModel)]="fechaHastaEntrada" (change)="cambioFechaHasta()"
name="fechaHastaLimitada" label="Hasta" class="fechas" required>
</plex-datetime>
<plex-datetime *ngIf="!(asignadas && tipoSolicitud === 'entrada')" type="date" [(ngModel)]="fechaDesdeEntrada"
(change)="cargarSolicitudes()" name="fechaDesde" label="Desde" class="fechas"
[max]="fechaHastaEntrada" required>
<plex-datetime *ngIf="!(asignadas && tipoSolicitud === 'entrada')" type="date"
[(ngModel)]="fechaDesdeEntrada" (change)="cargarSolicitudes()"
name="fechaDesde" label="Desde" class="fechas" [max]="fechaHastaEntrada"
required>
</plex-datetime>
<plex-datetime *ngIf="!(asignadas && tipoSolicitud === 'entrada')" type="date" [(ngModel)]="fechaHastaEntrada"
(change)="cargarSolicitudes()" name="fechaHasta" label="Hasta" class="fechas"
[min]="fechaDesdeEntrada" required>
<plex-datetime *ngIf="!(asignadas && tipoSolicitud === 'entrada')" type="date"
[(ngModel)]="fechaHastaEntrada" (change)="cargarSolicitudes()"
name="fechaHasta" label="Hasta" class="fechas" [min]="fechaDesdeEntrada"
required>
</plex-datetime>
<plex-select [(ngModel)]="prestacionesDestinoEntrada" name="nombrePrestacion"
label="Prestación destino" name="prestacionDestino"
Expand All @@ -47,16 +51,17 @@
label="Filtrar por paciente" debounce="400"></plex-text>
<div collapse>
<plex-select [readonly]="asignadas" [(ngModel)]="estadoEntrada"
(change)="cargarSolicitudes()" [data]="estadosEntrada" name="estado"
(change)="cargarSolicitudes()" [data]="selectEstados" name="estado"
label="Estado" ngModelOptions="{standalone: true}">
</plex-select>
<plex-select [(ngModel)]="organizacionesOrigen" name="organizacion" tmOrganizaciones
label="Organización origen" placeholder="Seleccione la organización"
labelField="nombre" [multiple]="true" (change)="cargarSolicitudes()">
</plex-select>
<plex-select *ngIf="!asignadas" [(ngModel)]="profesionalDestino" name="Equipo de salud" tmProfesionales
label="Equipo de salud" placeholder="Buscar por equipo de salud"
(change)="cargarSolicitudes()" [closeAfterSelect]="true">
<plex-select *ngIf="!asignadas" [(ngModel)]="profesionalDestino" name="Equipo de salud"
tmProfesionales label="Equipo de salud"
placeholder="Buscar por equipo de salud" (change)="cargarSolicitudes()"
[closeAfterSelect]="true">
</plex-select>
<plex-select [(ngModel)]="prioridadEntrada" [data]="prioridades" name="prioridad"
label="Prioridad" ngModelOptions="{standalone: true}"
Expand All @@ -66,7 +71,8 @@
</plex-wrapper>
</form>
<span class="text-danger" *ngIf='mostrarAlertaRangoDias'>
El rango de fecha no puede superar los {{ diasIntervalo }} días, se reajustará la fecha en forma automática</span>
El rango de fecha no puede superar los {{ diasIntervalo }} días, se reajustará la fecha en forma
automática</span>
<div *ngIf="!(prestacionesEntrada?.length)" class="mt-1 alert alert-default">
No hay solicitudes de entrada programadas en ese rango de fechas
</div>
Expand Down Expand Up @@ -109,40 +115,32 @@
*ngIf="prestacion.solicitud.registros[0]?.valor.solicitudPrestacion.prioridad === 'prioritario'">
{{prestacion.solicitud.registros[0].valor.solicitudPrestacion.prioridad}}
</plex-badge>
<plex-badge type="info"
*ngIf="!prestacion.solicitud.turno && prestacion.estadoActual.tipo !== 'rechazada' && prestacion.estadoActual.tipo !== 'auditoria' && prestacion.estadoActual.tipo !== 'validada'">
{{prestacion.estadoActual.tipo}}
<plex-badge *ngIf="!prestacion.solicitud.turno && prestacion.estadoActual.tipo !== 'auditoria'"
type="{{tipoEstados[prestacion.estadoActual.tipo]}}">
{{nombreEstados[prestacion.estadoActual.tipo]}}
</plex-badge>
<plex-badge type="success"
*ngIf="!prestacion.solicitud.turno && prestacion.estadoActual.tipo === 'validada'">
Registro
en HUDS</plex-badge>
<ng-container ngProjectAs="plex-button" *ngIf="prestacion | estadoSolicitud as estado">
<plex-badge type="info" *ngIf="!prestacion.solicitud.turno && estado === 'rechazada'">
CONTRARREFERIDA
</plex-badge>

<ng-container ngProjectAs="plex-button" *ngIf="prestacion | estadoSolicitud as estado">
<ng-container
*ngIf="!prestacion.solicitud.turno && prestacion.estadoActual.tipo === 'auditoria'">
<plex-badge type="warning" class="mr-0">
<plex-badge type="info" class="mr-0">
{{prestacion.estadoActual.tipo}}
</plex-badge>
<plex-badge type="danger bg-danger" class="ml-0"
<plex-badge type="info bg-info" class="ml-0"
*ngIf="prestacion | auditoriasSolicitud as auditorias">
<span class="text-white">
<strong>{{auditorias}}</strong>
</span>
</plex-badge>
</ng-container>

<plex-badge *ngIf="estado === 'Turno dado'" type="success">Turno dado</plex-badge>
<plex-badge *ngIf="prestacion.solicitud.turno && prestacion.estadoActual.tipo === 'validada'"
type="success">Registro en HUDS</plex-badge>
<plex-badge *ngIf="estado === 'referida'" type="warning">
REFERIDA
</plex-badge>
<plex-badge *ngIf="prestacion | linkTurnoRemoto | async | isNotEmpty" class="mr-1" type="info" tooltip="Agenda Virtual"
tooltipPosition="top">
<plex-badge *ngIf="prestacion | linkTurnoRemoto | async | isNotEmpty" class="mr-1"
type="info" tooltip="Agenda Virtual" tooltipPosition="top">
<plex-icon name="monitor" size="md"></plex-icon>
</plex-badge>
<ng-container *ngIf="prestacion | botonesSolicitud as botones">
Expand All @@ -154,7 +152,9 @@
(click)="$event.stopPropagation();darTurno(prestacion)"
title="Dar Turno">
</plex-button>
<plex-button size="sm" *ngIf="botones.iniciarPrestacion && isPresentationEnabled(prestacion)" icon="check" type="success"
<plex-button size="sm"
*ngIf="botones.iniciarPrestacion && isPresentationEnabled(prestacion)"
icon="check" type="success"
(click)="$event.stopPropagation();onIniciarPrestacionClick(prestacion)"
title="Iniciar prestación">
</plex-button>
Expand All @@ -166,8 +166,7 @@
*ngIf="botones.anular && permisoAnular"
(click)="$event.stopPropagation();anular(prestacion)" title="Anular">
</plex-button>
<plex-button *ngIf="botones.continuarRegistro" type="success"
size="sm" (click)="setRouteToParams(['ejecucion', prestacion.id]);
<plex-button *ngIf="botones.continuarRegistro" type="success" size="sm" (click)="setRouteToParams(['ejecucion', prestacion.id]);
prestacionNominalizada=prestacion.solicitud.tipoPrestacion.noNominalizada;
accesoHudsPaciente = prestacion.paciente; accesoHudsTurno = null;
accesoHudsPrestacion = prestacion.solicitud.tipoPrestacion.id;
Expand Down Expand Up @@ -203,7 +202,7 @@
label="Filtrar por paciente" debounce="400"></plex-text>
<div collapse>
<plex-select [(ngModel)]="estadoSalida" (change)="cargarSolicitudes()"
[data]="estadosSalida" name="estado" label="Estado"
[data]="selectEstados" name="estado" label="Estado"
ngModelOptions="{standalone: true}">
</plex-select>
<plex-select [(ngModel)]="organizacionesDestino" name="organizacion" tmOrganizaciones
Expand Down Expand Up @@ -252,19 +251,13 @@
*ngIf="prestacion.solicitud.registros[0]?.valor.solicitudPrestacion.prioridad === 'prioritario'">
{{prestacion.solicitud.registros[0].valor.solicitudPrestacion.prioridad}}
</plex-badge>
<plex-badge *ngIf="prestacion.estadoActual.tipo === 'rechazada'" type="danger">
CONTRARREFERIDA</plex-badge>
<plex-badge *ngIf="prestacion.estadoActual.tipo !== 'rechazada' && !prestacion.solicitud.turno"
type="info">
{{prestacion.estadoActual.tipo}}
</plex-badge>
<plex-badge *ngIf="prestacion.estadoActual.tipo !== 'rechazada' && prestacion.estadoActual.tipo !== 'validada' && prestacion.solicitud.turno"
type="success">
Turno Dado
<plex-badge *ngIf="prestacion.solicitud.turno" type="success">
{{nombreEstados[prestacion.estadoActual.tipo === 'validada' ? 'validada' :
'turnoDado']}}</plex-badge>
<plex-badge *ngIf="!prestacion.solicitud.turno"
type="{{tipoEstados[prestacion.estadoActual.tipo]}}">
{{nombreEstados[prestacion.estadoActual.tipo]}}
</plex-badge>
<plex-badge *ngIf="prestacion.solicitud.turno && prestacion.estadoActual.tipo === 'validada'"
type="success">Registro en HUDS</plex-badge>
<!-- Botones -->
<plex-button size="sm" type="danger" icon="delete" (click)="cancelar(prestacion)"
title="Cancelar"
*ngIf="prestacion.estadoActual.tipo == 'pendiente' && !prestacion.solicitud.turno">
Expand Down

0 comments on commit 5e442c2

Please sign in to comment.