diff --git a/src/app/components/profesionales/formacionGrado/formacion-grado-detalle.component.ts b/src/app/components/profesionales/formacionGrado/formacion-grado-detalle.component.ts index 6f26172..8d7e4b1 100644 --- a/src/app/components/profesionales/formacionGrado/formacion-grado-detalle.component.ts +++ b/src/app/components/profesionales/formacionGrado/formacion-grado-detalle.component.ts @@ -4,7 +4,8 @@ import { Input, Output, EventEmitter, - OnInit + OnInit, + ViewChild } from '@angular/core'; // Plex import { @@ -19,6 +20,7 @@ import { // Services import { ProfesionalService } from './../../../services/profesional.service'; import { NumeracionMatriculasService } from './../../../services/numeracionMatriculas.service'; +import { PlexPanelComponent } from '@andes/plex/src/lib/accordion/panel.component'; // Utils import { PDFUtils } from './../../../utils/PDFUtils'; @@ -36,6 +38,8 @@ export class FormacionGradoDetalleComponent implements OnInit { @Input() profesional: IProfesional; @Output() matriculacion = new EventEmitter(); @Output() cerrarDetalle = new EventEmitter(); + @ViewChild('panelGestion', { static: false }) accordionGestion: PlexPanelComponent; + @ViewChild('panelBaja', { static: false }) accordionBaja: PlexPanelComponent; public esSupervisor; public motivoBaja; edit = false; @@ -47,10 +51,17 @@ export class FormacionGradoDetalleComponent implements OnInit { public indexBaja; public tieneBajas = false; public motivoRechazo; + public campoBaja = false; + public fechaTemporal = null; + public motivoTemporal = null; + constructor( private _profesionalService: ProfesionalService, private _numeracionesService: NumeracionMatriculasService, - private _pdfUtils: PDFUtils, private plex: Plex, public auth: Auth) { } + private _pdfUtils: PDFUtils, + private plex: Plex, + public auth: Auth) { } + @@ -190,24 +201,69 @@ export class FormacionGradoDetalleComponent implements OnInit { } editarMatriculacion(index) { + this.fechaTemporal = this.formacion.matriculacion[index].inicio; + if (this.campoBaja) { + this.campoBaja = false; + } + if (this.edicionBajas) { + this.edicionBajas = false; + } this.edicionGestion = true; this.indexGestion = index; + this.accordionGestion.active = false; + this.accordionBaja ? this.accordionBaja.active = false : null; + + } editarBaja(index) { + this.motivoTemporal = this.formacion.matriculacion[index].baja.motivo; + this.fechaTemporal = this.formacion.matriculacion[index].baja.fecha; + if (this.campoBaja) { + this.campoBaja = false; + } + if (this.edicionGestion) { + this.edicionGestion = false; + } this.edicionBajas = true; this.indexBaja = index; + this.accordionGestion.active = false; + this.accordionBaja.active = false; + + } + + mostrarBaja() { + this.motivoBaja = ''; + if (this.edicionBajas) { + this.cancelarEdicionBaja(); + } + if (this.edicionGestion) { + this.edicionGestion = false; + } + this.campoBaja = true; + this.accordionGestion.active = false; + this.accordionBaja ? this.accordionBaja.active = false : null; + + + } + cancelarBaja() { + this.campoBaja = false; + + } guardarBaja() { this.actualizar(); this.edicionBajas = false; + this.plex.toast('success', 'La edición se registró con exito!', 'informacion', 1000); + } guardarGestion() { const vencimientoAnio = (new Date(this.formacion.matriculacion[this.indexGestion].inicio)).getUTCFullYear() + 5; this.formacion.matriculacion[this.indexGestion].fin = new Date(new Date(this.profesional.fechaNacimiento).setFullYear(vencimientoAnio)); this.actualizar(); + this.plex.toast('success', 'La edición se registró con exito!', 'informacion', 1000); this.edicionGestion = false; } guardarRechazo() { @@ -220,6 +276,8 @@ export class FormacionGradoDetalleComponent implements OnInit { fecha: new Date(), }; this.profesional.formacionGrado[this.index] = this.formacion; + this.profesional.formacionGrado[this.index].matriculado = false; + } this.actualizar(); this.plex.toast('success', 'Se rechazo la renovacion de matricula!', 'informacion', 2000); @@ -229,8 +287,10 @@ export class FormacionGradoDetalleComponent implements OnInit { } cancelarEdicionBaja() { - this.edicionBajas = false; + this.formacion.matriculacion[this.indexBaja].baja.motivo = this.motivoTemporal; + this.formacion.matriculacion[this.indexBaja].baja.fecha = this.fechaTemporal; this.indexBaja = null; + this.edicionBajas = false; } cancelarEdicionRechazo() { this.edicionRechazo = false; @@ -238,6 +298,7 @@ export class FormacionGradoDetalleComponent implements OnInit { } cancelarEdicionGestion() { + this.formacion.matriculacion[this.indexGestion].inicio = this.fechaTemporal; this.edicionGestion = false; this.indexGestion = null; } @@ -249,12 +310,12 @@ export class FormacionGradoDetalleComponent implements OnInit { this.profesional.formacionGrado[this.index].papelesVerificados = false; this.profesional.formacionGrado[this.index].matriculacion[this.profesional.formacionGrado[this.index].matriculacion.length - 1].baja.motivo = this.motivoBaja; this.profesional.formacionGrado[this.index].matriculacion[this.profesional.formacionGrado[this.index].matriculacion.length - 1].baja.fecha = new Date(); + this.formacion = this.profesional.formacionGrado[this.index]; this.actualizar(); this.compruebaBajas(); } }); - - + this.campoBaja = false; } renovarAntesVencimiento() { diff --git a/src/app/components/profesionales/formacionGrado/formacion-grado-detalle.html b/src/app/components/profesionales/formacionGrado/formacion-grado-detalle.html index 733fb58..20450cc 100644 --- a/src/app/components/profesionales/formacionGrado/formacion-grado-detalle.html +++ b/src/app/components/profesionales/formacionGrado/formacion-grado-detalle.html @@ -1,178 +1,173 @@ -
- - - - - - - - - - - - - + + + + + + + + + + + + + - - + + - - - - -
-
- Ultima matrícula - {{ formacion.matriculacion[formacion.matriculacion.length - 1].matriculaNumero }} -
-
+ + + +
+
-
-
- -
{{ formacion.titulo }}
-
-
- - +
+ Motivo de la baja +
{{ formacion.matriculacion[formacion.matriculacion.length - 1].baja?.motivo }} -
-
-
-
- -
{{ formacion.entidadFormadora?.nombre }}
-
-
-
-
-
- -
{{ formacion.fechaEgreso | date: 'dd/MM/yyyy'}}
-
-
-
-
- - -
-
-
-
-
-
-
- Motivo de la baja -
{{ formacion.matriculacion[formacion.matriculacion.length - 1].baja?.motivo }} - -
-
- Fecha -
{{ formacion.matriculacion[formacion.matriculacion.length - 1].baja?.fecha | fecha }} +
+ Fecha +
{{ formacion.matriculacion[formacion.matriculacion.length - 1].baja?.fecha | fecha }} -
-
- -
-
-
- - -
- Gestión -
-
-
- - - - - - - - - - - - - - - - - - - -
#InicioFin
{{ matriculacion.revalidacionNumero }}{{ matriculacion.matriculaNumero }}{{ formacion.fechaDeInscripcion | date: 'dd/MM/yyyy'}}{{ matriculacion.inicio | date: 'dd/MM/yyyy'}}{{ matriculacion.fin | date: 'dd/MM/yyyy'}} - - -
-
-
-
-
- - -
- Bajas -
+
+ + Ultima matrícula + {{ formacion.matriculacion[formacion.matriculacion?.length - 1].matriculaNumero }} + + + + + + +
+
+ + +
+ Gestión +
+
- - - + + + + - + - - - - + + + + +
N° MatriculaMotivoFecha#InicioFin
{{ matriculacion.matriculaNumero }} {{ matriculacion.baja?.motivo }}{{ matriculacion.baja?.fecha | fecha }} - - + {{ matriculacion.revalidacionNumero }}{{ matriculacion.matriculaNumero }}{{ formacion.fechaDeInscripcion | date: 'dd/MM/yyyy'}}{{ matriculacion.inicio | date: 'dd/MM/yyyy'}}{{ matriculacion.fin | date: 'dd/MM/yyyy'}} +
- - -
+
+ + + + +
+ Bajas +
+
+ + + + + + + + + + + + + + + +
N° MatriculaMotivoFecha
{{ matriculacion.matriculaNumero }} {{ matriculacion.baja?.motivo }}{{ matriculacion.baja?.fecha | fecha }} + + + +
+
+
+
- - - -
-
+ +
+ + + + + +
+
+ +
+
+
+
+
+ + + + + +
+
+
+
+ + +
+
+
+
+
+
+ + + + +
-
-
- - - -
-
- -
- - - -
-
+
+
+ + + + +
- - -
-
- -
- - - - -
-
-
-
-
- - -
-
-
-
-
\ No newline at end of file +
\ No newline at end of file diff --git a/src/app/components/profesionales/formacionGrado/formacion-grado.component.ts b/src/app/components/profesionales/formacionGrado/formacion-grado.component.ts index 9b0a209..6dd36a0 100644 --- a/src/app/components/profesionales/formacionGrado/formacion-grado.component.ts +++ b/src/app/components/profesionales/formacionGrado/formacion-grado.component.ts @@ -135,6 +135,9 @@ export class FormacionGradoComponent implements OnInit { } }); } + loadProfesiones(event) { + this._profesionService.getProfesiones({ gestionaColegio: false }).pipe(catchError(() => of(null))).subscribe(event.callback); + } generarCertificadoEtica(i) { const grado = this.profesional.formacionGrado[i]; @@ -156,7 +159,7 @@ export class FormacionGradoComponent implements OnInit { const hoy = new Date(); const posgrados = []; this.profesional.formacionPosgrado.forEach(formacion => { - if (formacion.profesion.codigo === grado.profesion.codigo && formacion.matriculado && !formacion.revalida && (hoy <= formacion.matriculacion[formacion.matriculacion.length - 1].fin || ((hoy.getTime() - formacion.matriculacion[formacion.matriculacion.length - 1].fin.getTime()) / (1000 * 3600 * 24) < 365) || !formacion.tieneVencimiento)) { + if (formacion.profesion.codigo === grado.profesion.codigo && formacion.matriculado && !formacion.revalida && (hoy <= formacion.matriculacion[formacion.matriculacion.length - 1].fin || ((hoy.getTime() - formacion.matriculacion[formacion.matriculacion.length - 1].fin?.getTime()) / (1000 * 3600 * 24) < 365) || !formacion.tieneVencimiento)) { posgrados.push({ titulo: formacion.especialidad.nombre, matriculaNumero: formacion.matriculacion[formacion.matriculacion.length - 1].matriculaNumero, @@ -257,7 +260,7 @@ export class FormacionGradoComponent implements OnInit { } verificarFecha(index) { const formacionGrado = this.profesional.formacionGrado[index]; - return ((this.hoy.getTime() - formacionGrado.matriculacion[formacionGrado.matriculacion.length - 1].fin.getTime()) / (1000 * 3600 * 24) > 365); + return ((this.hoy.getTime() - formacionGrado.matriculacion[formacionGrado.matriculacion.length - 1].fin?.getTime()) / (1000 * 3600 * 24) > 365); } poseeVerificarPapeles(index) { const formacionGrado = this.profesional.formacionGrado[index]; diff --git a/src/app/components/profesionales/formacionGrado/formacion-grado.html b/src/app/components/profesionales/formacionGrado/formacion-grado.html index 864c3e9..dfb9a07 100644 --- a/src/app/components/profesionales/formacionGrado/formacion-grado.html +++ b/src/app/components/profesionales/formacionGrado/formacion-grado.html @@ -18,11 +18,9 @@ - - @@ -32,7 +30,6 @@
-
@@ -51,14 +48,12 @@
{{formacionGrado.fechaDeInscripcion | date: 'dd/MM/yyyy'}}
- Matricula Vencida Matriculado - - Matricula
suspendida
@@ -73,7 +68,6 @@
No posee matricula
-
@@ -130,6 +124,12 @@
+
+ + +

@@ -138,7 +138,6 @@ validateForm="true"> -
diff --git a/src/app/components/profesionales/formacionGrado/grado.scss b/src/app/components/profesionales/formacionGrado/grado.scss index 98aa143..4aa713f 100644 --- a/src/app/components/profesionales/formacionGrado/grado.scss +++ b/src/app/components/profesionales/formacionGrado/grado.scss @@ -1,19 +1,27 @@ .badge-white { background: transparent; border: 1.5px solid; - font-size: 1em; - font-weight: normal; - padding: 5px; - text-transform: uppercase; + font-size: 1em; + font-weight: normal; + padding: 5px; + text-transform: uppercase; border-color: #ffffff; color: #ffffff; } -.centrarBtn{ +.centrarBtn { margin-top: 38px; } -.btnGrado { margin-left: 5px } +.espacioTitulo { + margin-top: 8px; +} + +.btnGrado { + margin-left: 5px +} -.bool-posicion {margin-top: 30px} \ No newline at end of file +.bool-posicion { + margin-top: 30px +} \ No newline at end of file