Skip to content

Commit

Permalink
correcciones
Browse files Browse the repository at this point in the history
  • Loading branch information
negro89 committed Dec 7, 2021
1 parent 2f7ee53 commit a9a404c
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 20 deletions.
10 changes: 4 additions & 6 deletions src/app/components/top/reglas/reglas.component.html
Original file line number Diff line number Diff line change
Expand Up @@ -49,12 +49,10 @@
</div>

<plex-list *ngFor="let prestacion of regla.origen.prestaciones; let i=index" size="sm" (click)="activarPrestacion(i)">
<plex-item>
<plex-grid cols="2" size="sm" justify="around" class="mt-0 pt-0">
<plex-label *ngIf="prestacion.prestacion?.term" titulo="{{ prestacion.prestacion.term }}" [tituloBold]="false" subtitulo=""></plex-label>
<plex-bool [(ngModel)]="prestacion.auditable" name="prestacionAuditable{{i}}" label="Auditable">
</plex-bool>
</plex-grid>
<plex-item case="capitalize">
<plex-label *ngIf="prestacion.prestacion?.term" titulo="{{ prestacion.prestacion.term }}" [tituloBold]="false" subtitulo=""></plex-label>
<plex-bool ngProjectAs="plex-label" [(ngModel)]="prestacion.auditable" name="prestacionAuditable{{i}}" label="Auditable">
</plex-bool>
<plex-button icon="delete" type="danger" size="sm" (click)="deletePrestacion(i)">
</plex-button>
</plex-item>
Expand Down
31 changes: 17 additions & 14 deletions src/app/components/top/reglas/reglas.component.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
import { OrganizacionService } from './../../../services/organizacion.service';
import { ProfesionalService } from './../../../services/profesional.service';
import { Component, Output, EventEmitter, HostBinding } from '@angular/core';
import { Auth } from '@andes/auth';
Expand All @@ -23,7 +22,8 @@ export class ReglasComponent {
prestacionActiva = -1;
prestacion = {};
organizacion;
reglaCorrecta = false;
reglasIniciales: any = []; // reglas antes de de hacer cualquier modificación

constructor(
private auth: Auth,
private plex: Plex,
Expand All @@ -33,6 +33,9 @@ export class ReglasComponent {

@Output() cancel: EventEmitter<any> = new EventEmitter<any>();

get reglaCorrecta() {
return this.reglas?.every(regla => regla.destino?.organizacion && regla.destino?.prestacion);
}

loadProfesionales(event) {
if (event.query) {
Expand All @@ -48,12 +51,14 @@ export class ReglasComponent {

cargarReglas() {
const query: any = {};
this.reglasIniciales = [];
this.limpiarForm();
query.organizacionDestino = this.organizacionDestino.id;
if (this.prestacionDestino && this.prestacionDestino.conceptId) {
query.prestacionDestino = this.prestacionDestino.conceptId;
this.servicioReglas.get(query).subscribe((reglas: any) => {
this.reglas = reglas.filter(r => !r.pacs); // Hasta tener ABM pacs
this.reglasIniciales = reglas.filter(r => !r.pacs);
});
}
}
Expand Down Expand Up @@ -94,7 +99,6 @@ export class ReglasComponent {
deleteOrganizacion(indice) {
this.reglas.splice(indice, 1);
this.reglaActiva = -1;
this.verificarRegla();
}

addPrestacion() {
Expand All @@ -112,7 +116,6 @@ export class ReglasComponent {
this.prestaciones.push({ prestacion: this.prestacionOrigen, auditable: this.auditable });
this.regla.origen.prestaciones = this.prestaciones;
this.prestacionOrigen = null;
this.verificarRegla();
}
} else {
this.plex.info('info', 'Debe seleccionar la prestación origen');
Expand All @@ -121,13 +124,11 @@ export class ReglasComponent {

deletePrestacion(indice) {
this.regla.origen.prestaciones.splice(indice, 1);
this.verificarRegla();
}

activarRegla(indice) {
this.reglaActiva = indice;
this.regla = this.reglas[indice];
this.verificarRegla();
}

activarPrestacion(indice) {
Expand All @@ -139,24 +140,26 @@ export class ReglasComponent {
this.reglas = [];
this.reglaActiva = -1;
this.regla = {};
this.reglaCorrecta = false;
}

cancelar() {
this.cancel.emit();
}

verificarRegla() {
this.reglaCorrecta = this.reglas?.every(regla => regla.destino?.organizacion && regla.destino?.prestacion);
}

preSave() {
const reglasSinOrganizacion = this.reglasIniciales?.length && !this.reglas?.length; // si se borraron las organizaciones origen existentes anteriormente
const reglasSinPrestacion = this.reglas?.some(regla => regla.origen.organizacion && !regla.origen.prestaciones?.length);
let mensaje = '';
if (reglasSinOrganizacion) {
mensaje += 'Existen reglas sin organización origen. Si continúa serán eliminadas.';
}
if (reglasSinPrestacion) {
this.plex.confirm('Existen reglas sin prestación origen. Si continúa serán eliminadas.', '¿Desea continuar?').then(respuesta => {
mensaje += 'Existen reglas sin prestación origen. Si continúa serán eliminadas.';
}
if (reglasSinOrganizacion || reglasSinPrestacion) {
this.plex.confirm(mensaje, '¿Desea continuar?').then(respuesta => {
if (respuesta) {
this.reglas = this.reglas?.filter(regla => regla.origen.organizacion && regla.origen.prestaciones?.length);
this.verificarRegla();
this.save();
} else {
return;
Expand All @@ -169,7 +172,7 @@ export class ReglasComponent {

save() {
if (this.reglas.length) {
if (this.reglaCorrecta) {
if (this.reglaCorrecta()) {
const data = {
reglas: this.reglas
};
Expand Down

0 comments on commit a9a404c

Please sign in to comment.