validaciones version 4

parent c158e40e
import { Observable } from "rxjs";
export class Programa { export class Programa {
//Datos corresponden al menu general. //Datos corresponden al menu general.
uzytavprograma_v_id?: number; uzytavprograma_v_id?: number;
...@@ -23,7 +25,7 @@ export class Programa { ...@@ -23,7 +25,7 @@ export class Programa {
uzytavprograma_vlinea_base?: string; uzytavprograma_vlinea_base?: string;
uzytavprograma_vbeneficios?: string; uzytavprograma_vbeneficios?: string;
uzytavprograma_vduracion_anios?: number | null; uzytavprograma_vduracion_anios?: number | null;
uzytavprograma_vduracion_meses?: number | null; uzytavprograma_vdiuracion_meses?: number | null;
stvcamp_code?: string; stvcamp_code?: string;
uzytavprograma_vfecha_finr?: Date; uzytavprograma_vfecha_finr?: Date;
uzytavprograma_vestado?: string; uzytavprograma_vestado?: string;
...@@ -39,5 +41,9 @@ export class Programa { ...@@ -39,5 +41,9 @@ export class Programa {
uzytavprograma_vbeneficios2?: string; uzytavprograma_vbeneficios2?: string;
uzytavprograma_vfactor_c_exito2?: string; uzytavprograma_vfactor_c_exito2?: string;
uzytavlineaoperativa_ID?: number; uzytavlineaoperativa_ID?: number;
uzytusuario_id:number;
errorMessage?: string; errorMessage?: string;
campus$: Observable<string>; // Propiedad para almacenar el Observable del departamento
departamento$: Observable<string>; // Propiedad para almacenar el Observable del departamento
nombres$:Observable<string>;
} }
...@@ -10,6 +10,9 @@ import { Actualiza_datosService } from 'src/app/modules/main/services/actualiza_ ...@@ -10,6 +10,9 @@ import { Actualiza_datosService } from 'src/app/modules/main/services/actualiza_
import { Compartir_idService } from 'src/app/modules/main/services/compartir_id/compartir_id.service'; import { Compartir_idService } from 'src/app/modules/main/services/compartir_id/compartir_id.service';
import { MostrarOcultarService } from 'src/app/modules/main/services/mostrar-ocultar.service'; import { MostrarOcultarService } from 'src/app/modules/main/services/mostrar-ocultar.service';
import { Zona_detalleService } from 'src/app/modules/main/services/zona_detalle/zona_detalle.service'; import { Zona_detalleService } from 'src/app/modules/main/services/zona_detalle/zona_detalle.service';
import { ConfirmacionEliminacionComponent } from '../../../../programa/opciones/ConfirmacionEliminacion/ConfirmacionEliminacion.component';
import { Observable } from 'rxjs';
import { MatDialog } from '@angular/material/dialog';
@Component({ @Component({
selector: 'app-objetivos-provinciales', selector: 'app-objetivos-provinciales',
...@@ -33,7 +36,8 @@ export class ObjetivosProvincialesComponent implements OnInit { ...@@ -33,7 +36,8 @@ export class ObjetivosProvincialesComponent implements OnInit {
private zonaS: Zona_detalleService, private zonaS: Zona_detalleService,
private datosCompar: Actualiza_datosService, private datosCompar: Actualiza_datosService,
private ubicacionesS: UbicacionesService, private ubicacionesS: UbicacionesService,
private mostrarOcultarService: MostrarOcultarService private mostrarOcultarService: MostrarOcultarService,
private dialog: MatDialog
) { ) {
this.dataSource = new MatTableDataSource<ZonaDetalle>([]); this.dataSource = new MatTableDataSource<ZonaDetalle>([]);
...@@ -142,19 +146,31 @@ export class ObjetivosProvincialesComponent implements OnInit { ...@@ -142,19 +146,31 @@ export class ObjetivosProvincialesComponent implements OnInit {
} }
eliminarParametro(id: number) { eliminarParametro(id: number) {
const confirmacion = confirm('¿Desea eliminar el registro?'); this.openModalDelete('¿Desea Eliminar el Registro?').subscribe(result =>{
if (confirmacion) { if (result) {
this.zonaS.eliminarParametros(id).subscribe( this.zonaS.eliminarParametros(id).subscribe(
() => { () => {
console.log('El registro se ha eliminado'); console.log('El registro se ha eliminado');
this.obtenerRegistros(); this.obtenerRegistros();
}, },
(error) => { (error) => {
// No mostrar el error en la consola // No mostrar el error en la consola
console.log('Error durante el tratamiento al registro'); console.log('Error durante el tratamiento al registro');
} }
); );
} }
});
}
formularioEnviado:boolean;
openModalDelete(mensaje: string): Observable<string>{
const dialogRef = this.dialog.open(ConfirmacionEliminacionComponent, {
disableClose: true,
data: { mensaje: mensaje }
});
return dialogRef.afterClosed();
} }
} }
...@@ -83,9 +83,10 @@ export class ObjetivosZonaComponent implements OnInit { ...@@ -83,9 +83,10 @@ export class ObjetivosZonaComponent implements OnInit {
} }
openModal() { openModal(mensaje: string) {
const dialogRef = this.dialog.open(EnvioFormularioComponent, { const dialogRef = this.dialog.open(EnvioFormularioComponent, {
disableClose: true disableClose: true,
data: {mensaje: mensaje}
}); });
dialogRef.afterClosed().subscribe(result => { dialogRef.afterClosed().subscribe(result => {
...@@ -99,7 +100,7 @@ export class ObjetivosZonaComponent implements OnInit { ...@@ -99,7 +100,7 @@ export class ObjetivosZonaComponent implements OnInit {
this.zonaDM.uzytavzona_objetivos = this.myForm.value.objetivos this.zonaDM.uzytavzona_objetivos = this.myForm.value.objetivos
this.zonaS.modificarParametros(this.zonaDM.uzytavzona_detalle_id, this.zonaDM).subscribe( this.zonaS.modificarParametros(this.zonaDM.uzytavzona_detalle_id, this.zonaDM).subscribe(
response => { response => {
this.openModal(); this.openModal('El Objetivo se ha asignado Correctamente');
this.idCompartido.ocultarFormulario(); this.idCompartido.ocultarFormulario();
console.log("en el componente agregar se finaliza como: ", this.mostrarObjetivosZona) console.log("en el componente agregar se finaliza como: ", this.mostrarObjetivosZona)
this.datosCompartidos.actualizarDatos(this.zonaDM); this.datosCompartidos.actualizarDatos(this.zonaDM);
......
import { Component, OnInit } from '@angular/core'; import { Component, OnInit } from '@angular/core';
import { MatTableDataSource } from '@angular/material/table'; import { MatTableDataSource } from '@angular/material/table';
import { Observable } from 'rxjs';
import { objetivosEstraInst } from 'src/app/modules/main/Models/objetivoEstraInst'; import { objetivosEstraInst } from 'src/app/modules/main/Models/objetivoEstraInst';
import { proObjeEstra } from 'src/app/modules/main/Models/proObjEstr'; import { proObjeEstra } from 'src/app/modules/main/Models/proObjEstr';
import { prograObj } from 'src/app/modules/main/Models/prograObj'; import { prograObj } from 'src/app/modules/main/Models/prograObj';
...@@ -8,6 +9,9 @@ import { Compartir_idService } from 'src/app/modules/main/services/compartir_id/ ...@@ -8,6 +9,9 @@ import { Compartir_idService } from 'src/app/modules/main/services/compartir_id/
import { Obj_estra_agService } from 'src/app/modules/main/services/obj_estra_agre/obj_estra_ag.service'; import { Obj_estra_agService } from 'src/app/modules/main/services/obj_estra_agre/obj_estra_ag.service';
import { ObjetivosPLNBVService } from 'src/app/modules/main/services/objetivosPLNBV/objetivos-plnbv.service'; import { ObjetivosPLNBVService } from 'src/app/modules/main/services/objetivosPLNBV/objetivos-plnbv.service';
import { ObjetivosEstraSService } from 'src/app/modules/main/services/objetivos_estra_inst/objetivosEstraS.service'; import { ObjetivosEstraSService } from 'src/app/modules/main/services/objetivos_estra_inst/objetivosEstraS.service';
import { ConfirmacionEliminacionComponent } from '../../../../programa/opciones/ConfirmacionEliminacion/ConfirmacionEliminacion.component';
import { MatAccordionDisplayMode } from '@angular/material/expansion';
import { MatDialog } from '@angular/material/dialog';
@Component({ @Component({
selector: 'vex-list-objetivos-estra', selector: 'vex-list-objetivos-estra',
...@@ -39,6 +43,7 @@ export class ListObjetivosEstraComponent implements OnInit { ...@@ -39,6 +43,7 @@ export class ListObjetivosEstraComponent implements OnInit {
private id_compartido: Compartir_idService, private id_compartido: Compartir_idService,
private datosCompartidos: Actualiza_datosService, private datosCompartidos: Actualiza_datosService,
private objEstraInS: ObjetivosEstraSService, private objEstraInS: ObjetivosEstraSService,
private dialog: MatDialog
) { this.datasource = new MatTableDataSource<proObjeEstra>([]); } ) { this.datasource = new MatTableDataSource<proObjeEstra>([]); }
ngOnInit(): void { ngOnInit(): void {
...@@ -100,18 +105,29 @@ export class ListObjetivosEstraComponent implements OnInit { ...@@ -100,18 +105,29 @@ export class ListObjetivosEstraComponent implements OnInit {
} }
eliminarParametros(id: number) { eliminarParametros(id: number) {
const confirmacion = confirm('¿Desea eliminar el registro?'); this.openModalDelete('¿Desea eliminar el registro?').subscribe(result => {
if (confirmacion) { if (result) {
this.proObS.eliminarParametros(id).subscribe( this.proObS.eliminarParametros(id).subscribe(
() => { () => {
console.log('El registro se ha eliminado'); console.log('El registro se ha eliminado');
this.obtenerRegistros(); this.obtenerRegistros();
}, },
(error) => { (error) => {
// No mostrar el error en la consola // No mostrar el error en la consola
console.log('Error durante el tratamiento al registro'); console.log('Error durante el tratamiento al registro');
} }
); );
} }
})
}
formularioEnviado:boolean;
openModalDelete(mensaje: string): Observable<string>{
const dialogRef = this.dialog.open(ConfirmacionEliminacionComponent, {
disableClose: true,
data: { mensaje: mensaje }
});
return dialogRef.afterClosed();
} }
} }
...@@ -82,7 +82,7 @@ export class AddDocentesParticipantesComponent implements OnInit { ...@@ -82,7 +82,7 @@ export class AddDocentesParticipantesComponent implements OnInit {
this.docentesParticipantesService.guardarParametros(this.docenteParticipante).subscribe( this.docentesParticipantesService.guardarParametros(this.docenteParticipante).subscribe(
response => { response => {
this.openModal('La información se ha enviado'); this.openModal('La información se ha enviado');
this.guardar() this.guardar();
this.datosCompartidos.actualizarDatos(this.docenteParticipante); this.datosCompartidos.actualizarDatos(this.docenteParticipante);
}, },
error => { error => {
...@@ -119,15 +119,20 @@ export class AddDocentesParticipantesComponent implements OnInit { ...@@ -119,15 +119,20 @@ export class AddDocentesParticipantesComponent implements OnInit {
cambiar() { cambiar() {
this.cambio = true; this.cambio = true;
this.myForm.get('numero').enable(); this.myForm.enable();
/*this.myForm.get('numero').enable();
this.myForm.get('campus').enable(); this.myForm.get('campus').enable();
this.myForm.get('departamento').enable(); this.myForm.get('departamento').enable();*/
this.myForm.markAsDirty();
this.myForm.markAsUntouched();
} }
cancelado() { cancelado() {
this.cambio = false; this.cambio = false;
this.myForm.disable(); this.myForm.disable();
this.myForm.reset();
this.myForm.markAsDirty(); this.myForm.markAsDirty();
this.myForm.markAsUntouched(); this.myForm.markAsUntouched();
} }
...@@ -136,8 +141,6 @@ export class AddDocentesParticipantesComponent implements OnInit { ...@@ -136,8 +141,6 @@ export class AddDocentesParticipantesComponent implements OnInit {
this.cambio = false; this.cambio = false;
this.myForm.disable(); this.myForm.disable();
this.myForm.reset(); this.myForm.reset();
this.myForm.markAsDirty();
this.myForm.markAsUntouched();
} }
} }
...@@ -133,7 +133,6 @@ export class AddEstudiantesParticipantesComponent implements OnInit { ...@@ -133,7 +133,6 @@ export class AddEstudiantesParticipantesComponent implements OnInit {
this.cambio = false; this.cambio = false;
this.myForm.disable(); this.myForm.disable();
this.myForm.reset(); this.myForm.reset();
this.myForm.markAsDirty();
this.myForm.markAsUntouched();
} }
} }
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
<div class="save-button"> <div class="save-button">
<button mat-raised-button color="primary" *ngIf="!cambio" <button mat-raised-button color="primary" *ngIf="!cambio"
(click)="cambiar()">Editar</button> (click)="cambiar()">Editar</button>
<button mat-raised-button color="primary" *ngIf="cambio" <button mat-raised-button color="primary" *ngIf="cambio" [disabled]="myForm.invalid"
(click)="onSubmit()">Guardar</button> (click)="onSubmit()">Guardar</button>
<span class="separator"></span> <span class="separator"></span>
<button mat-raised-button color="warn" *ngIf="cambio" <button mat-raised-button color="warn" *ngIf="cambio"
......
...@@ -2,9 +2,11 @@ import { Component, OnInit, OnDestroy } from '@angular/core'; ...@@ -2,9 +2,11 @@ import { Component, OnInit, OnDestroy } from '@angular/core';
import { MostrarOcultarService } from '../../../../../services/mostrar-ocultar.service'; import { MostrarOcultarService } from '../../../../../services/mostrar-ocultar.service';
import { Parametros } from '../../../../../Models/conf-parametros'; import { Parametros } from '../../../../../Models/conf-parametros';
import { ParametrosService } from '../../../../../services/conf-parametros/parametros.service'; import { ParametrosService } from '../../../../../services/conf-parametros/parametros.service';
import { Subscription } from 'rxjs'; import { Observable, Subscription } from 'rxjs';
import { format } from 'date-fns'; import { format } from 'date-fns';
import { Router } from '@angular/router'; import { Router } from '@angular/router';
import { ConfirmacionEliminacionComponent } from '../../../../programa/opciones/ConfirmacionEliminacion/ConfirmacionEliminacion.component';
import { MatDialog } from '@angular/material/dialog';
@Component({ @Component({
selector: 'app-conf-parametros-eva-final', selector: 'app-conf-parametros-eva-final',
...@@ -21,6 +23,7 @@ export class ConfParametrosEvaFinalComponent implements OnInit, OnDestroy { ...@@ -21,6 +23,7 @@ export class ConfParametrosEvaFinalComponent implements OnInit, OnDestroy {
public mostrarOcultarService: MostrarOcultarService, public mostrarOcultarService: MostrarOcultarService,
private router: Router, private router: Router,
private parametrosService: ParametrosService, private parametrosService: ParametrosService,
private dialog: MatDialog
) { ) {
this.tipo = 2; this.tipo = 2;
...@@ -45,7 +48,7 @@ export class ConfParametrosEvaFinalComponent implements OnInit, OnDestroy { ...@@ -45,7 +48,7 @@ export class ConfParametrosEvaFinalComponent implements OnInit, OnDestroy {
} }
buscarParametros() { buscarParametros() {
const termino = this.terminoBusqueda.trim().toLowerCase(); const termino = this.terminoBusqueda.trim().toLowerCase();
...@@ -53,9 +56,9 @@ export class ConfParametrosEvaFinalComponent implements OnInit, OnDestroy { ...@@ -53,9 +56,9 @@ export class ConfParametrosEvaFinalComponent implements OnInit, OnDestroy {
this.mostrarTodosLosRegistros(); this.mostrarTodosLosRegistros();
} else { } else {
this.filtrarRegistros(termino); this.filtrarRegistros(termino);
} }
} }
obtenerRegistros() { obtenerRegistros() {
this.parametrosService.obtenerParametrosFinal().subscribe(data => { this.parametrosService.obtenerParametrosFinal().subscribe(data => {
...@@ -68,21 +71,22 @@ export class ConfParametrosEvaFinalComponent implements OnInit, OnDestroy { ...@@ -68,21 +71,22 @@ export class ConfParametrosEvaFinalComponent implements OnInit, OnDestroy {
} }
eliminarParametro(id: number) { eliminarParametro(id: number) {
const confirmacion = confirm('¿Estás seguro de que quieres eliminar este parámetro?'); this.openModalDelete('¿Estás seguro de que quieres eliminar este parámetro?').subscribe(result =>{
if (confirmacion) { if (result) {
console.log("id", id); console.log("id", id);
this.parametrosService.eliminarParametros(id).subscribe( this.parametrosService.eliminarParametros(id).subscribe(
() => { () => {
// Manejar la eliminación exitosa // Manejar la eliminación exitosa
console.log('Registro eliminado correctamente'); console.log('Registro eliminado correctamente');
this.obtenerRegistros(); this.obtenerRegistros();
}, },
(error) => { (error) => {
// Manejar el error en caso de que ocurra // Manejar el error en caso de que ocurra
console.error('Error al eliminar el registro', error); console.error('Error al eliminar el registro', error);
} }
); );
} }
});
} }
...@@ -104,7 +108,7 @@ export class ConfParametrosEvaFinalComponent implements OnInit, OnDestroy { ...@@ -104,7 +108,7 @@ export class ConfParametrosEvaFinalComponent implements OnInit, OnDestroy {
const fecha = this.formatFecha(parametro.uzytavconparaeva_fecha_c).toLowerCase(); const fecha = this.formatFecha(parametro.uzytavconparaeva_fecha_c).toLowerCase();
const filaCoincide = descripcion.includes(termino) const filaCoincide = descripcion.includes(termino)
|| puminire.includes(termino) || fecha.includes(termino); || puminire.includes(termino) || fecha.includes(termino);
const fila = document.getElementById('fila-' + i); const fila = document.getElementById('fila-' + i);
...@@ -117,7 +121,7 @@ export class ConfParametrosEvaFinalComponent implements OnInit, OnDestroy { ...@@ -117,7 +121,7 @@ export class ConfParametrosEvaFinalComponent implements OnInit, OnDestroy {
} }
}); });
} }
...@@ -137,4 +141,13 @@ export class ConfParametrosEvaFinalComponent implements OnInit, OnDestroy { ...@@ -137,4 +141,13 @@ export class ConfParametrosEvaFinalComponent implements OnInit, OnDestroy {
return format(fecha, 'dd-MM-yyyy'); return format(fecha, 'dd-MM-yyyy');
} }
formularioEnviado:boolean;
openModalDelete(mensaje: string): Observable<string>{
const dialogRef = this.dialog.open(ConfirmacionEliminacionComponent, {
disableClose: true,
data: { mensaje: mensaje }
});
return dialogRef.afterClosed();
}
} }
...@@ -2,9 +2,11 @@ import { Component, OnInit, OnDestroy, Input } from '@angular/core'; ...@@ -2,9 +2,11 @@ import { Component, OnInit, OnDestroy, Input } from '@angular/core';
import { MostrarOcultarService } from '../../../../../services/mostrar-ocultar.service'; import { MostrarOcultarService } from '../../../../../services/mostrar-ocultar.service';
import { GrupoEvaluacion} from '../../../../../Models/grupos-evaluacion' import { GrupoEvaluacion} from '../../../../../Models/grupos-evaluacion'
import { GruposParametrosEvaluacionService } from '../../../../../services/grupos-parametros-evaluacion/grupos-parametros-evaluacion.service'; import { GruposParametrosEvaluacionService } from '../../../../../services/grupos-parametros-evaluacion/grupos-parametros-evaluacion.service';
import { Subscription} from 'rxjs'; import { Observable, Subscription} from 'rxjs';
import { Router } from '@angular/router'; import { Router } from '@angular/router';
import { distinctUntilChanged } from 'rxjs/operators'; import { distinctUntilChanged } from 'rxjs/operators';
import { ConfirmacionEliminacionComponent } from '../../../../programa/opciones/ConfirmacionEliminacion/ConfirmacionEliminacion.component';
import { MatDialog } from '@angular/material/dialog';
@Component({ @Component({
selector: 'app-grupo-parametros-eva', selector: 'app-grupo-parametros-eva',
...@@ -32,7 +34,8 @@ export class GrupoParametrosEvaComponent implements OnInit { ...@@ -32,7 +34,8 @@ export class GrupoParametrosEvaComponent implements OnInit {
constructor( constructor(
private mostrarOcultarService: MostrarOcultarService, private mostrarOcultarService: MostrarOcultarService,
private gruposParametrosEvaluacionService: GruposParametrosEvaluacionService, private gruposParametrosEvaluacionService: GruposParametrosEvaluacionService,
private router: Router private router: Router,
private dialog: MatDialog
) { ) {
} }
...@@ -40,7 +43,7 @@ export class GrupoParametrosEvaComponent implements OnInit { ...@@ -40,7 +43,7 @@ export class GrupoParametrosEvaComponent implements OnInit {
this.router.navigate(['main/NuevoGrupoParametrosEvaComponent'], { queryParams: { idGrupo: this.idConf2.toString() } }); this.router.navigate(['main/NuevoGrupoParametrosEvaComponent'], { queryParams: { idGrupo: this.idConf2.toString() } });
} }
EditarParametro(id:number){ EditarParametro(id:number){
const registroSeleccionado = this.grupoEvaluacion.find(parametro => parametro.uzytavcabparaevaf_id === id); const registroSeleccionado = this.grupoEvaluacion.find(parametro => parametro.uzytavcabparaevaf_id === id);
this.mostrarOcultarService.grupoEvaluacionEditado = registroSeleccionado; this.mostrarOcultarService.grupoEvaluacionEditado = registroSeleccionado;
...@@ -49,21 +52,22 @@ export class GrupoParametrosEvaComponent implements OnInit { ...@@ -49,21 +52,22 @@ export class GrupoParametrosEvaComponent implements OnInit {
} }
eliminarParametro(id: number) { eliminarParametro(id: number) {
const confirmacion = confirm('¿Estás seguro de que quieres eliminar este parámetro?'); this.openModalDelete('¿Estás seguro de que quieres eliminar este parámetro?').subscribe(result => {
if (confirmacion) { if (result) {
console.log("id",id); console.log("id",id);
this.gruposParametrosEvaluacionService.eliminarParametros(id).subscribe( this.gruposParametrosEvaluacionService.eliminarParametros(id).subscribe(
() => { () => {
// Manejar la eliminación exitosa // Manejar la eliminación exitosa
console.log('Registro eliminado correctamente'); console.log('Registro eliminado correctamente');
this.obtenerRegistros(this.idConf2); this.obtenerRegistros(this.idConf2);
}, },
(error) => { (error) => {
// Manejar el error en caso de que ocurra // Manejar el error en caso de que ocurra
console.error('Error al eliminar el registro', error); console.error('Error al eliminar el registro', error);
} }
); );
} }
});
} }
...@@ -86,4 +90,15 @@ export class GrupoParametrosEvaComponent implements OnInit { ...@@ -86,4 +90,15 @@ export class GrupoParametrosEvaComponent implements OnInit {
}); });
} }
formularioEnviado:boolean;
openModalDelete(mensaje: string): Observable<string>{
const dialogRef = this.dialog.open(ConfirmacionEliminacionComponent, {
disableClose: true,
data: { mensaje: mensaje }
});
return dialogRef.afterClosed();
}
} }
...@@ -2,10 +2,12 @@ import { Component, OnInit, OnDestroy, Input } from '@angular/core'; ...@@ -2,10 +2,12 @@ import { Component, OnInit, OnDestroy, Input } from '@angular/core';
import { MostrarOcultarService } from '../../../../../services/mostrar-ocultar.service'; import { MostrarOcultarService } from '../../../../../services/mostrar-ocultar.service';
import { OpcionesRespuesta } from '../../../../../Models/opciones-respuesta' import { OpcionesRespuesta } from '../../../../../Models/opciones-respuesta'
import { OpcionesRespuestaService } from '../../../../../services/opciones-respuesta/opciones-respuesta.service'; import { OpcionesRespuestaService } from '../../../../../services/opciones-respuesta/opciones-respuesta.service';
import { Subscription} from 'rxjs'; import { Observable, Subscription} from 'rxjs';
import { FormBuilder } from '@angular/forms'; import { FormBuilder } from '@angular/forms';
import { Router } from '@angular/router'; import { Router } from '@angular/router';
import { distinctUntilChanged } from 'rxjs/operators'; import { distinctUntilChanged } from 'rxjs/operators';
import { ConfirmacionEliminacionComponent } from '../../../../programa/opciones/ConfirmacionEliminacion/ConfirmacionEliminacion.component';
import { MatDialog } from '@angular/material/dialog';
@Component({ @Component({
selector: 'app-op-resp-eva-final', selector: 'app-op-resp-eva-final',
templateUrl: './op-resp-eva-final.component.html', templateUrl: './op-resp-eva-final.component.html',
...@@ -31,58 +33,73 @@ export class OpRespEvaFinalComponent implements OnInit { ...@@ -31,58 +33,73 @@ export class OpRespEvaFinalComponent implements OnInit {
} }
constructor(private mostrarOcultarService: MostrarOcultarService, constructor(private mostrarOcultarService: MostrarOcultarService,
private opcionesRespuestaService: OpcionesRespuestaService, private opcionesRespuestaService: OpcionesRespuestaService,
private router: Router) { private router: Router,
private dialog: MatDialog
) {
this.tipo = 2 this.tipo = 2
} }
AgregarParametro() { AgregarParametro() {
this.router.navigate(['main/NuevaOpRespEvaComponent'], this.router.navigate(['main/NuevaOpRespEvaComponent'],
{ queryParams: { tipoParaevaF: this.tipo.toString(), idParaevaF:this.idParaevaF } }); { queryParams: { tipoParaevaF: this.tipo.toString(), idParaevaF:this.idParaevaF } });
} }
EditarParametro(id:number){ EditarParametro(id:number){
const registroSeleccionado = this.opcionesRespuesta.find(parametro => parametro.uzytavaloruzytparametros_id === id); const registroSeleccionado = this.opcionesRespuesta.find(parametro => parametro.uzytavaloruzytparametros_id === id);
this.mostrarOcultarService.parametroOpcionRespuestaEditado = registroSeleccionado; this.mostrarOcultarService.parametroOpcionRespuestaEditado = registroSeleccionado;
this.router.navigate(['main/EditOpRespEvaComponent', id], this.router.navigate(['main/EditOpRespEvaComponent', id],
{ queryParams: { tipoParaevaF: this.tipo.toString()} }); { queryParams: { tipoParaevaF: this.tipo.toString()} });
} }
eliminarParametro(id: number) { eliminarParametro(id: number) {
const confirmacion = confirm('¿Estás seguro de que quieres eliminar este parámetro?'); this.openModalDelete('¿Estás seguro de que quieres eliminar este parámetro?').subscribe(result =>{
if (confirmacion) { if (result) {
console.log("id",id); console.log("id",id);
this.opcionesRespuestaService.eliminarParametros(id).subscribe( this.opcionesRespuestaService.eliminarParametros(id).subscribe(
() => { () => {
// Manejar la eliminación exitosa // Manejar la eliminación exitosa
console.log('Registro eliminado correctamente'); console.log('Registro eliminado correctamente');
this.obtenerRegistros(); this.obtenerRegistros();
}, },
(error) => { (error) => {
// Manejar el error en caso de que ocurra // Manejar el error en caso de que ocurra
console.error('Error al eliminar el registro', error); console.error('Error al eliminar el registro', error);
} }
); );
} }
});
}
formularioEnviado:boolean;
openModalDelete(mensaje: string): Observable<string>{
const dialogRef = this.dialog.open(ConfirmacionEliminacionComponent, {
disableClose: true,
data: { mensaje: mensaje }
});
return dialogRef.afterClosed();
} }
ngOnInit() { ngOnInit() {
this.obtenerRegistros(); this.obtenerRegistros();
// Suscribirse a la notificación de actualización de componentes // Suscribirse a la notificación de actualización de componentes
this.parametrosSubscription = this.opcionesRespuestaService.parametrosActualizados this.parametrosSubscription = this.opcionesRespuestaService.parametrosActualizados
.pipe(distinctUntilChanged()) .pipe(distinctUntilChanged())
.subscribe(() => { .subscribe(() => {
this.obtenerRegistros(); this.obtenerRegistros();
}); });
} }
obtenerRegistros() { obtenerRegistros() {
this.opcionesRespuestaService.obtenerParametrosId(this.idParaevaF).subscribe(data => { this.opcionesRespuestaService.obtenerParametrosId(this.idParaevaF).subscribe(data => {
this.opcionesRespuesta = data; this.opcionesRespuesta = data;
......
...@@ -5,9 +5,11 @@ import { Component, OnInit, OnDestroy, Input } from '@angular/core'; ...@@ -5,9 +5,11 @@ import { Component, OnInit, OnDestroy, Input } from '@angular/core';
import { MostrarOcultarService } from '../../../../../services/mostrar-ocultar.service'; import { MostrarOcultarService } from '../../../../../services/mostrar-ocultar.service';
import { ParametrosEvaluacion } from '../../../../../Models/parametro-evaluacion' import { ParametrosEvaluacion } from '../../../../../Models/parametro-evaluacion'
import { ParametrosEvaService } from '../../../../../services/parametros-evaluacion/parametros-eva.service'; import { ParametrosEvaService } from '../../../../../services/parametros-evaluacion/parametros-eva.service';
import { Subscription} from 'rxjs'; import { Observable, Subscription} from 'rxjs';
import { Router } from '@angular/router'; import { Router } from '@angular/router';
import { distinctUntilChanged } from 'rxjs/operators'; import { distinctUntilChanged } from 'rxjs/operators';
import { ConfirmacionEliminacionComponent } from '../../../../programa/opciones/ConfirmacionEliminacion/ConfirmacionEliminacion.component';
import { MatDialog } from '@angular/material/dialog';
@Component({ @Component({
selector: 'app-parametros-eva-final', selector: 'app-parametros-eva-final',
...@@ -37,7 +39,8 @@ export class ParametrosEvaFinalComponent implements OnInit { ...@@ -37,7 +39,8 @@ export class ParametrosEvaFinalComponent implements OnInit {
constructor( constructor(
private mostrarOcultarService: MostrarOcultarService, private mostrarOcultarService: MostrarOcultarService,
private parametrosEvaService: ParametrosEvaService, private parametrosEvaService: ParametrosEvaService,
private router: Router private router: Router,
private dialog: MatDialog
) { ) {
this.tipo = 2 this.tipo = 2
} }
...@@ -59,23 +62,36 @@ export class ParametrosEvaFinalComponent implements OnInit { ...@@ -59,23 +62,36 @@ export class ParametrosEvaFinalComponent implements OnInit {
eliminarParametro(id: number) { eliminarParametro(id: number) {
const confirmacion = confirm('¿Estás seguro de que quieres eliminar este parámetro?'); this.openModalDelete('¿Estás seguro de que quieres eliminar este parámetro?').subscribe(result => {
if (confirmacion) { if (result) {
console.log("id",id); console.log("id",id);
this.parametrosEvaService.eliminarParametros(id).subscribe( this.parametrosEvaService.eliminarParametros(id).subscribe(
() => { () => {
// Manejar la eliminación exitosa // Manejar la eliminación exitosa
console.log('Registro eliminado correctamente'); console.log('Registro eliminado correctamente');
this.obtenerRegistros(); this.obtenerRegistros();
}, },
(error) => { (error) => {
// Manejar el error en caso de que ocurra // Manejar el error en caso de que ocurra
console.error('Error al eliminar el registro', error); console.error('Error al eliminar el registro', error);
} }
); );
} }
});
}
formularioEnviado:boolean;
openModalDelete(mensaje: string): Observable<string>{
const dialogRef = this.dialog.open(ConfirmacionEliminacionComponent, {
disableClose: true,
data: { mensaje: mensaje }
});
return dialogRef.afterClosed();
} }
ngOnInit() { ngOnInit() {
this.obtenerRegistros(); this.obtenerRegistros();
......
...@@ -8,6 +8,7 @@ import { Usuario } from 'src/app/modules/main/Models/usuario'; ...@@ -8,6 +8,7 @@ import { Usuario } from 'src/app/modules/main/Models/usuario';
import { UsuariosService } from 'src/app/modules/main/services/usuarios/usuarios.service'; import { UsuariosService } from 'src/app/modules/main/services/usuarios/usuarios.service';
import { ConfirmacionEliminacionComponent } from '../../../../programa/opciones/ConfirmacionEliminacion/ConfirmacionEliminacion.component'; import { ConfirmacionEliminacionComponent } from '../../../../programa/opciones/ConfirmacionEliminacion/ConfirmacionEliminacion.component';
import { MatDialog } from '@angular/material/dialog'; import { MatDialog } from '@angular/material/dialog';
import { Observable } from 'rxjs';
@Component({ @Component({
selector: 'app-conf-parametros-eva', selector: 'app-conf-parametros-eva',
...@@ -27,7 +28,7 @@ export class ConfParametrosEvaComponent implements OnInit { ...@@ -27,7 +28,7 @@ export class ConfParametrosEvaComponent implements OnInit {
private dialog: MatDialog, private dialog: MatDialog,
) { ) {
this.tipo = 1; this.tipo = 1;
} }
mostrarDiv: boolean[] = []; mostrarDiv: boolean[] = [];
...@@ -67,13 +68,7 @@ export class ConfParametrosEvaComponent implements OnInit { ...@@ -67,13 +68,7 @@ export class ConfParametrosEvaComponent implements OnInit {
// Código para el buscar // Código para el buscar
eliminarParametro(id: number) { eliminarParametro(id: number) {
this.openModalDelete('¿Desea Eliminar el Registro?').subscribe(result =>{
const dialogRef = this.dialog.open(ConfirmacionEliminacionComponent, {
width: '400px', // Personaliza el ancho de la ventana modal
data: '¿Estás seguro de que quieres eliminar este registro?'
});
dialogRef.afterClosed().subscribe(result => {
if (result === 'confirm') { if (result === 'confirm') {
this.parametrosService.eliminarParametros(id).subscribe( this.parametrosService.eliminarParametros(id).subscribe(
() => { () => {
...@@ -88,6 +83,15 @@ export class ConfParametrosEvaComponent implements OnInit { ...@@ -88,6 +83,15 @@ export class ConfParametrosEvaComponent implements OnInit {
}); });
} }
openModalDelete(mensaje: string): Observable<string>{
const dialogRef = this.dialog.open(ConfirmacionEliminacionComponent, {
disableClose: true,
data: { mensaje: mensaje }
});
return dialogRef.afterClosed();
}
buscarParametros() { buscarParametros() {
const termino = this.terminoBusqueda.trim().toLowerCase(); const termino = this.terminoBusqueda.trim().toLowerCase();
......
...@@ -66,7 +66,7 @@ ...@@ -66,7 +66,7 @@
<ng-container matColumnDef="fecha" class="Column"> <ng-container matColumnDef="fecha" class="Column">
<th class="Column" mat-header-cell *matHeaderCellDef mat-sort-header> <th class="Column" mat-header-cell *matHeaderCellDef mat-sort-header>
Fecha de Creación</th> Fecha de Creación</th>
<td class="Column" mat-cell *matCellDef="let dato">{{ dato.uzytavconfobj_fecha}}</td> <td class="Column" mat-cell *matCellDef="let dato">{{ formatFecha(dato.uzytavconfobj_fecha)}}</td>
</ng-container> </ng-container>
<!-- Tipo Column --> <!-- Tipo Column -->
......
...@@ -9,7 +9,7 @@ import { MostrarOcultarService } from 'src/app/modules/main/services/mostrar-ocu ...@@ -9,7 +9,7 @@ import { MostrarOcultarService } from 'src/app/modules/main/services/mostrar-ocu
import { ConfObjService } from 'src/app/modules/main/services/conf_obj/conf-obj.service'; import { ConfObjService } from 'src/app/modules/main/services/conf_obj/conf-obj.service';
import { tipoObj } from 'src/app/modules/main/Models/tipo_obj'; import { tipoObj } from 'src/app/modules/main/Models/tipo_obj';
import { TipoObjService } from 'src/app/modules/main/services/tipo_obj/tipo-obj.service'; import { TipoObjService } from 'src/app/modules/main/services/tipo_obj/tipo-obj.service';
import { format } from 'date-fns'; import { format, parseISO } from 'date-fns';
@Component({ @Component({
selector: 'vex-tipo-obj', selector: 'vex-tipo-obj',
templateUrl: './tipo-obj.component.html', templateUrl: './tipo-obj.component.html',
...@@ -25,9 +25,11 @@ export class TipoObjComponent implements OnInit { ...@@ -25,9 +25,11 @@ export class TipoObjComponent implements OnInit {
dataSource: MatTableDataSource<confObj>; dataSource: MatTableDataSource<confObj>;
displayedColumns: string[] = [ displayedColumns: string[] = [
'Nro', 'Nro',
'descripcion',
'fecha', 'fecha',
'descripcion',
'estado', 'estado',
'Acciones' 'Acciones'
]; ];
...@@ -92,7 +94,12 @@ export class TipoObjComponent implements OnInit { ...@@ -92,7 +94,12 @@ export class TipoObjComponent implements OnInit {
} }
formatFecha(fecha: Date): string { formatFecha(fecha: string | Date): string {
return format(fecha, 'dd-MM-yyyy'); if (typeof fecha === 'string') {
const dateObject = parseISO(fecha);
return format(dateObject, 'dd-MM-yyyy');
} else {
return format(fecha, 'dd-MM-yyyy');
}
} }
} }
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
</div> </div>
</mat-card-header> </mat-card-header>
<mat-card-content> <mat-card-content>
<div class="form-row" > <div class="form-row">
<div class="form-column"> <div class="form-column">
<br> <br>
<mat-form-field> <mat-form-field>
...@@ -16,17 +16,19 @@ ...@@ -16,17 +16,19 @@
</mat-form-field> </mat-form-field>
<mat-form-field> <mat-form-field>
<mat-label>Campus</mat-label> <mat-label>Campus</mat-label>
<input matInput [disabled]="true"> <input matInput formControlName="campus" [value]="(usuario.campus$ | async)">
</mat-form-field> </mat-form-field>
<mat-form-field> <mat-form-field>
<mat-label>Departamento</mat-label> <mat-label>Departamento</mat-label>
<input matInput [disabled]="true"> <input matInput formControlName="departamento" [value]="(usuario.departamento$ | async)">
</mat-form-field> </mat-form-field>
<mat-label><strong>Plazo de Ejecución</strong></mat-label> <mat-label><strong>Plazo de Ejecución</strong></mat-label>
<mat-form-field> <mat-form-field>
<mat-label>Fecha de inicio</mat-label> <mat-label>Fecha de inicio</mat-label>
<input matInput [matDatepicker]="pickerInicio" formControlName="fechaIni" (dateChange)="calcularDuracion()"> <input matInput [matDatepicker]="pickerInicio" formControlName="fechaIni"
(dateChange)="calcularDuracion()">
<mat-datepicker-toggle matSuffix [for]="pickerInicio"></mat-datepicker-toggle> <mat-datepicker-toggle matSuffix [for]="pickerInicio"></mat-datepicker-toggle>
<mat-datepicker #pickerInicio></mat-datepicker> <mat-datepicker #pickerInicio></mat-datepicker>
</mat-form-field> </mat-form-field>
...@@ -48,31 +50,23 @@ ...@@ -48,31 +50,23 @@
</div> </div>
<div class="form-column"> <div class="form-column">
<mat-label><strong>Datos del Director</strong></mat-label> <mat-label><strong>Datos del Director</strong></mat-label>
<mat-form-field>
<mat-label>Cedula</mat-label>
<input matInput [disabled]="true">
</mat-form-field>
<mat-form-field> <mat-form-field>
<mat-label>Nombres</mat-label> <mat-label>Nombres</mat-label>
<input matInput [disabled]="true"> <input matInput [disabled]="true" formControlName="nombreUsuario">
</mat-form-field> </mat-form-field>
<mat-form-field> <mat-form-field>
<mat-label>Apellido</mat-label> <mat-label>Apellido</mat-label>
<input matInput [disabled]="true"> <input matInput [disabled]="true" formControlName="apellidoUsuario">
</mat-form-field> </mat-form-field>
<br> <br>
<mat-form-field>
<mat-label>Cargo</mat-label>
<input matInput [disabled]="true">
</mat-form-field>
<mat-form-field> <mat-form-field>
<mat-label>Correo Electronico</mat-label> <mat-label>Correo Electronico</mat-label>
<input matInput placeholder="Correo Institucional" name="field11"> <input matInput placeholder="Correo Institucional" formControlName="correo" name="field11">
</mat-form-field> </mat-form-field>
<mat-form-field> <mat-form-field>
<mat-label>Telefono</mat-label> <mat-label>Telefono</mat-label>
<input matInput placeholder="Telefono Director" name="field12"> <input matInput placeholder="Telefono Director" formControlName="telefono" name="field12">
</mat-form-field> </mat-form-field>
</div> </div>
</div> </div>
......
import { Component, OnInit } from '@angular/core'; import { Component, OnInit } from '@angular/core';
import { FormGroup, FormBuilder, Validators } from '@angular/forms'; import { FormGroup, FormBuilder, Validators, FormControl } from '@angular/forms';
import { MatDialog } from '@angular/material/dialog'; import { MatDialog } from '@angular/material/dialog';
import { Router } from '@angular/router'; import { Router } from '@angular/router';
import { lineaOpe } from 'src/app/modules/main/Models/lineas-operativas';
import { Programa } from 'src/app/modules/main/Models/programa-v'; import { Programa } from 'src/app/modules/main/Models/programa-v';
import { ProgramaService } from 'src/app/modules/main/services/programa/programa.service'; import { ProgramaService } from 'src/app/modules/main/services/programa/programa.service';
import { EnvioFormularioComponent } from '../../envio-formulario/envio-formulario.component'; import { EnvioFormularioComponent } from '../../envio-formulario/envio-formulario.component';
import { Compartir_idService } from 'src/app/modules/main/services/compartir_id/compartir_id.service'; import { Compartir_idService } from 'src/app/modules/main/services/compartir_id/compartir_id.service';
import { MostrarOcultarService } from 'src/app/modules/main/services/mostrar-ocultar.service'; import { MostrarOcultarService } from 'src/app/modules/main/services/mostrar-ocultar.service';
import { opcionInst } from 'src/app/modules/main/Models/opcion_inst'; import { Usuario } from 'src/app/modules/main/Models/usuario';
import { OpcionInstService } from 'src/app/modules/main/services/opcion_inst/opcion-inst.service'; import { UsuariosService } from 'src/app/modules/main/services/usuarios/usuarios.service';
import { Observable } from 'rxjs';
import { map } from 'rxjs/operators';
import { DatosEspeService } from 'src/app/modules/main/services/APIs Externas/Datos espe/datos-espe.service';
@Component({ @Component({
selector: 'vex-datos-generales', selector: 'vex-datos-generales',
...@@ -19,9 +21,16 @@ import { OpcionInstService } from 'src/app/modules/main/services/opcion_inst/opc ...@@ -19,9 +21,16 @@ import { OpcionInstService } from 'src/app/modules/main/services/opcion_inst/opc
export class DatosGeneralesComponent implements OnInit { export class DatosGeneralesComponent implements OnInit {
myForm: FormGroup; myForm: FormGroup;
formularioEnviado: boolean; formularioEnviado: boolean;
selectedCarreraId: string;
//Manjar el control de cambios de componentes. usuario: Usuario;
selectedProgramaId: number;
guardarFormulario: boolean = false; guardarFormulario: boolean = false;
enviarSolicitud = false;
idGuardado: number;
idUsuario: number;
tipoGasto: string;
carreraSearchControl = new FormControl();
constructor( constructor(
private formBuilder: FormBuilder, private formBuilder: FormBuilder,
...@@ -31,20 +40,34 @@ export class DatosGeneralesComponent implements OnInit { ...@@ -31,20 +40,34 @@ export class DatosGeneralesComponent implements OnInit {
private dialog: MatDialog, private dialog: MatDialog,
private compartiId: Compartir_idService, private compartiId: Compartir_idService,
private mostrarOcultarService: MostrarOcultarService, private mostrarOcultarService: MostrarOcultarService,
private opcionM: opcionInst, private datosUsuarioService: UsuariosService,
private opcionS: OpcionInstService private datosEspeService: DatosEspeService,
) { ) {
this.formularioEnviado = false; this.formularioEnviado = false;
this.programaM = new Programa(); this.programaM = new Programa();
this.usuario = new Usuario()
this.formularioEnviado = false;
this.myForm = this.formBuilder.group({ this.myForm = this.formBuilder.group({
fechaIni: ['', Validators.required], fechaIni: ['', Validators.required],
fechaFin: ['', Validators.required], fechaFin: ['', Validators.required],
anio: [''], anio: [{ value: '', disabled: true }],
meses: [''], meses: [{ value: '', disabled: true }],
nombreP: ['', Validators.required] nombreP: ['', Validators.required],
campus: [{ value: '', disabled: true }, Validators.required],
departamento: [{ value: '', disabled: true }, Validators.required],
correo: [{ value: '', disabled: true }, Validators.required],
telefono: [{ value: '', disabled: true }, Validators.required],
nombreUsuario: [{ value: '', disabled: true }, Validators.required],
apellidoUsuario: [{ value: '', disabled: true }, Validators.required],
cargo: [{ value: '', disabled: true }, Validators.required],
}); });
} }
ngOnInit(): void { ngOnInit(): void {
this.obtenerDatosUsuario()
} }
//Calculo de la duración //Calculo de la duración
...@@ -87,22 +110,24 @@ export class DatosGeneralesComponent implements OnInit { ...@@ -87,22 +110,24 @@ export class DatosGeneralesComponent implements OnInit {
enviarSolicitud = false;
idGuardado: number;
onSubmit() { onSubmit() {
if (this.myForm.valid && !this.enviarSolicitud) { if (this.myForm.valid && !this.enviarSolicitud) {
try { try {
this.enviarSolicitud = true; this.enviarSolicitud = true;
this.programaM.uzytusuario_id = this.compartiId.getIdUsuario();
console.log("id usuario ",this.compartiId.getIdUsuario())
this.programaM.uzytavprograma_vnombre = this.myForm.value.nombreP; this.programaM.uzytavprograma_vnombre = this.myForm.value.nombreP;
this.programaM.uzytavlineaoperativa_ID = 2;
this.programaM.uzytavprograma_vfecha_presenta = new Date(); this.programaM.uzytavprograma_vfecha_presenta = new Date();
this.programaM.uzytavprograma_vfecha_fin = this.myForm.value.fechaFin; this.programaM.uzytavprograma_vfecha_fin = this.myForm.value.fechaFin;
this.programaM.uzytavprograma_vfecha_inicio = this.myForm.value.fechaIni; this.programaM.uzytavprograma_vfecha_inicio = this.myForm.value.fechaIni;
this.programaM.uzytavprograma_vduracion_anios = this.duracionAGlobal; this.programaM.uzytavprograma_vduracion_anios = this.duracionAGlobal;
this.programaM.uzytavprograma_vduracion_meses = this.duracionMGlobal; this.programaM.uzytavprograma_vdiuracion_meses = this.duracionMGlobal;
console.log('duracion me',this.duracionMGlobal)
console.log('duracion an',this.duracionAGlobal)
this.programaM.stvcamp_code = this.usuario.uzytusuario_CAMPUS_ABREV_CODE;
this.programaM.stvsubj_code = this.usuario.uzytusuario_DEPARTAMENTO_CODE;
this.programaM.uzytavlineaoperativa_ID = 2;
this.programaM.uzytavprograma_vestado = 'A'; this.programaM.uzytavprograma_vestado = 'A';
//recuperar la información para el editado //recuperar la información para el editado
...@@ -112,6 +137,10 @@ export class DatosGeneralesComponent implements OnInit { ...@@ -112,6 +137,10 @@ export class DatosGeneralesComponent implements OnInit {
this.myForm.disable(); this.myForm.disable();
this.openModal(); this.openModal();
this.guardarFormulario = true; this.guardarFormulario = true;
this.idGuardado = this.programaS.obtenerId();
localStorage.setItem('proyectoId',this.idGuardado.toString());
this.compartiId.setIdUsuario(this.programaM.uzytusuario_id)
this.idGuardado = this.programaS.obtenerId(); this.idGuardado = this.programaS.obtenerId();
this.compartiId.setIdGuardad(this.idGuardado); this.compartiId.setIdGuardad(this.idGuardado);
...@@ -125,12 +154,57 @@ export class DatosGeneralesComponent implements OnInit { ...@@ -125,12 +154,57 @@ export class DatosGeneralesComponent implements OnInit {
openModal() { openModal() {
const dialogRef = this.dialog.open(EnvioFormularioComponent, { const dialogRef = this.dialog.open(EnvioFormularioComponent, {
disableClose: true disableClose: true,
data: { mensaje: 'Se han guardado los datos generales' }
}); });
dialogRef.afterClosed().subscribe(result => { dialogRef.afterClosed().subscribe(result => {
console.log('La ventana modal se ha cerrado');
this.formularioEnviado = true; this.formularioEnviado = true;
}); });
} }
obtenerDatosUsuario() {
this.datosUsuarioService.obtenerDatosUsuario().
subscribe(data => {
this.usuario = data
this.usuario.campus$ = this.obtenerDatosCampus(this.usuario.uzytusuario_CAMPUS_ABREV_CODE)
this.usuario.departamento$ = this.obtenerDatosDepartamento(this.usuario.uzytusuario_DEPARTAMENTO_CODE)
this.myForm.patchValue({
nombreUsuario: this.usuario.uzytusuario_nombres,
apellidoUsuario: this.usuario.uzytusuario_apellidos,
campus: this.usuario.campus$,
departamento: this.usuario.departamento$,
correo: this.usuario.uzytusuario_email_institucional,
telefono: this.usuario.uzytusuario_telefono_celular
});
this.idUsuario = this.usuario.uzytusuario_id;
this.compartiId.setIdUsuario(this.idUsuario);
},
error => {
console.log('Error al obtener los parámetros:', error);
}
);
}
obtenerDatosCampus(codigo: string): Observable<string> {
return this.datosEspeService.obtenerCampus().pipe(
map(campus => {
const campusEncontrado = campus.find(c => c.codigo === codigo);
return campusEncontrado ? campusEncontrado.descripcion : 'No encontrado';
})
);
}
obtenerDatosDepartamento(codigo: string): Observable<string> {
return this.datosEspeService.obtenerDepartamentos().pipe(
map(departamentos => {
const departamentoEncontrado = departamentos.find(c => c.subj === codigo);
return departamentoEncontrado ? departamentoEncontrado.descripcion : 'No encontrado';
})
);
}
} }
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
</div> </div>
</mat-card-header> </mat-card-header>
<mat-card-content> <mat-card-content>
<div class="form-row" > <div class="form-row">
<div class="form-column"> <div class="form-column">
<br> <br>
<mat-form-field> <mat-form-field>
...@@ -19,17 +19,19 @@ ...@@ -19,17 +19,19 @@
</mat-form-field> </mat-form-field>
<mat-form-field> <mat-form-field>
<mat-label>Campus</mat-label> <mat-label>Campus</mat-label>
<input matInput [disabled]="true"> <input matInput formControlName="campus" [value]="(programaM.campus$ | async)">
</mat-form-field> </mat-form-field>
<mat-form-field> <mat-form-field>
<mat-label>Departamento</mat-label> <mat-label>Departamento</mat-label>
<input matInput [disabled]="true"> <input matInput formControlName="departamento" [value]="(programaM.departamento$ | async)">
</mat-form-field> </mat-form-field>
<mat-label><strong>Plazo de Ejecución</strong></mat-label> <mat-label><strong>Plazo de Ejecución</strong></mat-label>
<mat-form-field> <mat-form-field>
<mat-label>Fecha de inicio</mat-label> <mat-label>Fecha de inicio</mat-label>
<input matInput [matDatepicker]="pickerInicio" formControlName="fechaIni" (dateChange)="calcularDuracion()"> <input matInput [matDatepicker]="pickerInicio" formControlName="fechaIni"
(dateChange)="calcularDuracion()">
<mat-datepicker-toggle matSuffix [for]="pickerInicio"></mat-datepicker-toggle> <mat-datepicker-toggle matSuffix [for]="pickerInicio"></mat-datepicker-toggle>
<mat-datepicker #pickerInicio></mat-datepicker> <mat-datepicker #pickerInicio></mat-datepicker>
</mat-form-field> </mat-form-field>
...@@ -42,7 +44,7 @@ ...@@ -42,7 +44,7 @@
<mat-form-field> <mat-form-field>
<mat-label>Duración</mat-label> <mat-label>Duración</mat-label>
<div class="duracion-inputs"> <div class="duracion-inputs">
<input matInput placeholder="Años" formControlName="anio" > <input matInput placeholder="Años" formControlName="anio">
<span class="separator"></span> <span class="separator"></span>
<input matInput placeholder="Meses" formControlName="meses"> <input matInput placeholder="Meses" formControlName="meses">
<span class="separator"></span> <span class="separator"></span>
...@@ -51,32 +53,24 @@ ...@@ -51,32 +53,24 @@
</div> </div>
<div class="form-column"> <div class="form-column">
<mat-label><strong>Datos del Director</strong></mat-label> <mat-label><strong>Datos del Director</strong></mat-label>
<mat-form-field>
<mat-label>Cedula</mat-label>
<input matInput [disabled]="true">
</mat-form-field>
<mat-form-field> <mat-form-field>
<mat-label>Nombres</mat-label> <mat-label>Nombres</mat-label>
<input matInput [disabled]="true"> <input matInput formControlName="nombreUsuario">
</mat-form-field> </mat-form-field>
<mat-form-field> <mat-form-field>
<mat-label>Apellido</mat-label> <mat-label>Apellido</mat-label>
<input matInput [disabled]="true"> <input matInput formControlName="apellidoUsuario">
</mat-form-field>
<br>
<mat-form-field>
<mat-label>Cargo</mat-label>
<input matInput [disabled]="true">
</mat-form-field> </mat-form-field>
<mat-form-field> <mat-form-field>
<mat-label>Correo Electronico</mat-label> <mat-label>Correo Electronico</mat-label>
<input matInput placeholder="Correo Institucional" name="field11"> <input matInput placeholder="Correo Institucional" formControlName="correo">
</mat-form-field> </mat-form-field>
<mat-form-field> <mat-form-field>
<mat-label>Telefono</mat-label> <mat-label>Telefono</mat-label>
<input matInput placeholder="Telefono Director" name="field12"> <input matInput placeholder="Telefono Director" formControlName="telefono">
</mat-form-field> </mat-form-field>
</div> </div>
</div> </div>
</mat-card-content> </mat-card-content>
......
...@@ -6,6 +6,12 @@ import { Compartir_idService } from 'src/app/modules/main/services/compartir_id/ ...@@ -6,6 +6,12 @@ import { Compartir_idService } from 'src/app/modules/main/services/compartir_id/
import { MostrarOcultarService } from 'src/app/modules/main/services/mostrar-ocultar.service'; import { MostrarOcultarService } from 'src/app/modules/main/services/mostrar-ocultar.service';
import { ProgramaService } from 'src/app/modules/main/services/programa/programa.service'; import { ProgramaService } from 'src/app/modules/main/services/programa/programa.service';
import { EnvioEditFormularioComponent } from '../../envio-edit-formulario/envio-edit-formulario.component'; import { EnvioEditFormularioComponent } from '../../envio-edit-formulario/envio-edit-formulario.component';
import { Usuario } from 'src/app/modules/main/Models/usuario';
import { ActivatedRoute } from '@angular/router';
import { DatosEspeService } from 'src/app/modules/main/services/APIs Externas/Datos espe/datos-espe.service';
import { UsuariosService } from 'src/app/modules/main/services/usuarios/usuarios.service';
import { Observable } from 'rxjs';
import { map } from 'rxjs/operators';
@Component({ @Component({
selector: 'vex-edit-datos-generales', selector: 'vex-edit-datos-generales',
...@@ -17,23 +23,46 @@ export class EditDatosGeneralesComponent implements OnInit { ...@@ -17,23 +23,46 @@ export class EditDatosGeneralesComponent implements OnInit {
programaM: Programa; programaM: Programa;
cambio: boolean; cambio: boolean;
formularioEnviado: boolean; formularioEnviado: boolean;
public idRecuperado; public idRecuperado;
usuario: Usuario;
selectedProgramaId: number;
programas: Programa[];
tipoGasto: string;
idUsuarioTipo: string;
idProyecto: number;
anioCodigo: string;
selectedCarreraValue: string;
constructor( constructor(
private formBuilder: FormBuilder, private formBuilder: FormBuilder,
private ID_compartido: Compartir_idService, private route: ActivatedRoute,
private programaS: ProgramaService, private programaS: ProgramaService,
private mostrarOcultarService: MostrarOcultarService, private mostrarOcultarService: MostrarOcultarService,
private dialog: MatDialog private dialog: MatDialog,
private datosEspeService: DatosEspeService,
private datosUsuarioService: UsuariosService,
) { ) {
this.programaM = new Programa(); this.programaM = new Programa();
} }
ngOnInit(): void { ngOnInit(): void {
this.idRecuperado = this.ID_compartido.getIdGuardado();
console.log('El ID recuperado es:', this.idRecuperado); this.route.queryParams.subscribe(params => {
this.idUsuarioTipo = params['idUsuarioProgramaTipo'];
});
this.idRecuperado = parseInt(localStorage.getItem('programaId'),10);
this.programaM = this.mostrarOcultarService.editPrograma; this.programaM = this.mostrarOcultarService.editPrograma;
this.programaM.campus$ = this.obtenerDatosCampus(this.programaM.stvcamp_code)
this.programaM.departamento$ = this.obtenerDatosDepartamento(this.programaM.stvsubj_code)
this.obtenerDatosDirector()
this.initializeForm(); this.initializeForm();
this.cambio = false; this.cambio = false;
this.usuario = new Usuario()
} }
...@@ -42,10 +71,20 @@ export class EditDatosGeneralesComponent implements OnInit { ...@@ -42,10 +71,20 @@ export class EditDatosGeneralesComponent implements OnInit {
this.myForm = this.formBuilder.group({ this.myForm = this.formBuilder.group({
fechaIni: [{value: this.programaM.uzytavprograma_vfecha_inicio, disabled: true}, Validators.required], fechaIni: [{value: this.programaM.uzytavprograma_vfecha_inicio, disabled: true}, Validators.required],
fechaFin: [{value: this.programaM.uzytavprograma_vfecha_fin, disabled: true}, Validators.required], fechaFin: [{value: this.programaM.uzytavprograma_vfecha_fin, disabled: true}, Validators.required],
anio: [{value: this.programaM.uzytavprograma_vduracion_anios, disabled: true}], anio: [{value: this.programaM.uzytavprograma_vduracion_anios+" año(s)", disabled: true}],
meses: [{value: this.programaM.uzytavprograma_vduracion_meses, disabled: true}], meses: [{value: this.programaM.uzytavprograma_vdiuracion_meses+" mes(es)", disabled: true}],
nombreP: [{value: this.programaM.uzytavprograma_vnombre, disabled: true}, Validators.required] nombreP: [{value: this.programaM.uzytavprograma_vnombre, disabled: true}, Validators.required],
campus: [{ value: "", disabled: true }, Validators.required],
departamento: [{ value: "", disabled: true }, Validators.required],
correo: [{ value: '', disabled: true }, Validators.required],
telefono: [{ value: '', disabled: true }, Validators.required],
nombreUsuario: [{ value: '', disabled: true }, Validators.required],
apellidoUsuario: [{ value: '', disabled: true }, Validators.required],
}); });
console.log('duración meses', this.programaM.uzytavprograma_vdiuracion_meses)
console.log('duracion anios', this.programaM.uzytavprograma_vduracion_anios)
} }
cambiar(){ cambiar(){
...@@ -74,10 +113,8 @@ export class EditDatosGeneralesComponent implements OnInit { ...@@ -74,10 +113,8 @@ export class EditDatosGeneralesComponent implements OnInit {
this.programaM.uzytavprograma_vnombre = this.myForm.value.nombreP; this.programaM.uzytavprograma_vnombre = this.myForm.value.nombreP;
this.programaM.uzytavprograma_vfecha_fin = this.myForm.value.fechaFin; this.programaM.uzytavprograma_vfecha_fin = this.myForm.value.fechaFin;
this.programaM.uzytavprograma_vfecha_inicio = this.myForm.value.fechaIni; this.programaM.uzytavprograma_vfecha_inicio = this.myForm.value.fechaIni;
this.programaM.uzytavprograma_vduracion_anios = this.duracionAGlobal; this.programaM.uzytavprograma_vduracion_anios = this.duracionAGlobal;
this.programaM.uzytavprograma_vduracion_meses = this.duracionMGlobal; this.programaM.uzytavprograma_vdiuracion_meses = this.duracionMGlobal;
//recuperar la información para el editado //recuperar la información para el editado
this.mostrarOcultarService.editPrograma = this.programaM; this.mostrarOcultarService.editPrograma = this.programaM;
this.programaS.modificarParametros(this.idRecuperado,this.programaM).subscribe(response => { this.programaS.modificarParametros(this.idRecuperado,this.programaM).subscribe(response => {
...@@ -85,8 +122,6 @@ export class EditDatosGeneralesComponent implements OnInit { ...@@ -85,8 +122,6 @@ export class EditDatosGeneralesComponent implements OnInit {
this.myForm.disable(); this.myForm.disable();
this.cambio = false; this.cambio = false;
this.openModal(); this.openModal();
//his.openModal();
//this.guardarFormulario = true;
}); });
} catch (error) { } catch (error) {
console.error('Error al enviar los datos:', error); console.error('Error al enviar los datos:', error);
...@@ -133,6 +168,45 @@ export class EditDatosGeneralesComponent implements OnInit { ...@@ -133,6 +168,45 @@ export class EditDatosGeneralesComponent implements OnInit {
return diffMeses; return diffMeses;
} }
obtenerDatosDirector() {
this.datosUsuarioService.obtenerUsuarioPorId(this.programaM.uzytusuario_id).subscribe(
usuario => {
this.usuario = usuario;
this.myForm.patchValue({
nombreUsuario: this.usuario.uzytusuario_nombres,
apellidoUsuario: this.usuario.uzytusuario_apellidos,
campus: this.usuario.uzytusuario_campus,
departamento: this.usuario.uzytusuario_departamento,
correo: this.usuario.uzytusuario_email_institucional,
telefono: this.usuario.uzytusuario_telefono_celular,
});
},
error => {
console.log('Error al obtener los parámetros:', error);
}
);
}
obtenerDatosCampus(codigo: string): Observable<string> {
return this.datosEspeService.obtenerCampus().pipe(
map(campus => {
const campusEncontrado = campus.find(c => c.codigo === codigo);
return campusEncontrado ? campusEncontrado.descripcion : 'No encontrado';
})
);
}
obtenerDatosDepartamento(codigo: string): Observable<string> {
return this.datosEspeService.obtenerDepartamentos().pipe(
map(departamentos => {
const departamentoEncontrado = departamentos.find(c => c.subj === codigo);
return departamentoEncontrado ? departamentoEncontrado.descripcion : 'No encontrado';
})
);
}
openModal() { openModal() {
const dialogRef = this.dialog.open(EnvioEditFormularioComponent, { const dialogRef = this.dialog.open(EnvioEditFormularioComponent, {
disableClose: true disableClose: true
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment