validaciones version 4

parent c158e40e
import { Observable } from "rxjs";
export class Programa {
//Datos corresponden al menu general.
uzytavprograma_v_id?: number;
......@@ -23,7 +25,7 @@ export class Programa {
uzytavprograma_vlinea_base?: string;
uzytavprograma_vbeneficios?: string;
uzytavprograma_vduracion_anios?: number | null;
uzytavprograma_vduracion_meses?: number | null;
uzytavprograma_vdiuracion_meses?: number | null;
stvcamp_code?: string;
uzytavprograma_vfecha_finr?: Date;
uzytavprograma_vestado?: string;
......@@ -39,5 +41,9 @@ export class Programa {
uzytavprograma_vbeneficios2?: string;
uzytavprograma_vfactor_c_exito2?: string;
uzytavlineaoperativa_ID?: number;
uzytusuario_id:number;
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_
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 { 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({
selector: 'app-objetivos-provinciales',
......@@ -33,7 +36,8 @@ export class ObjetivosProvincialesComponent implements OnInit {
private zonaS: Zona_detalleService,
private datosCompar: Actualiza_datosService,
private ubicacionesS: UbicacionesService,
private mostrarOcultarService: MostrarOcultarService
private mostrarOcultarService: MostrarOcultarService,
private dialog: MatDialog
) {
this.dataSource = new MatTableDataSource<ZonaDetalle>([]);
......@@ -142,8 +146,8 @@ export class ObjetivosProvincialesComponent implements OnInit {
}
eliminarParametro(id: number) {
const confirmacion = confirm('¿Desea eliminar el registro?');
if (confirmacion) {
this.openModalDelete('¿Desea Eliminar el Registro?').subscribe(result =>{
if (result) {
this.zonaS.eliminarParametros(id).subscribe(
() => {
console.log('El registro se ha eliminado');
......@@ -155,6 +159,18 @@ export class ObjetivosProvincialesComponent implements OnInit {
}
);
}
});
}
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 {
}
openModal() {
openModal(mensaje: string) {
const dialogRef = this.dialog.open(EnvioFormularioComponent, {
disableClose: true
disableClose: true,
data: {mensaje: mensaje}
});
dialogRef.afterClosed().subscribe(result => {
......@@ -99,7 +100,7 @@ export class ObjetivosZonaComponent implements OnInit {
this.zonaDM.uzytavzona_objetivos = this.myForm.value.objetivos
this.zonaS.modificarParametros(this.zonaDM.uzytavzona_detalle_id, this.zonaDM).subscribe(
response => {
this.openModal();
this.openModal('El Objetivo se ha asignado Correctamente');
this.idCompartido.ocultarFormulario();
console.log("en el componente agregar se finaliza como: ", this.mostrarObjetivosZona)
this.datosCompartidos.actualizarDatos(this.zonaDM);
......
import { Component, OnInit } from '@angular/core';
import { MatTableDataSource } from '@angular/material/table';
import { Observable } from 'rxjs';
import { objetivosEstraInst } from 'src/app/modules/main/Models/objetivoEstraInst';
import { proObjeEstra } from 'src/app/modules/main/Models/proObjEstr';
import { prograObj } from 'src/app/modules/main/Models/prograObj';
......@@ -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 { 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 { ConfirmacionEliminacionComponent } from '../../../../programa/opciones/ConfirmacionEliminacion/ConfirmacionEliminacion.component';
import { MatAccordionDisplayMode } from '@angular/material/expansion';
import { MatDialog } from '@angular/material/dialog';
@Component({
selector: 'vex-list-objetivos-estra',
......@@ -39,6 +43,7 @@ export class ListObjetivosEstraComponent implements OnInit {
private id_compartido: Compartir_idService,
private datosCompartidos: Actualiza_datosService,
private objEstraInS: ObjetivosEstraSService,
private dialog: MatDialog
) { this.datasource = new MatTableDataSource<proObjeEstra>([]); }
ngOnInit(): void {
......@@ -100,8 +105,8 @@ export class ListObjetivosEstraComponent implements OnInit {
}
eliminarParametros(id: number) {
const confirmacion = confirm('¿Desea eliminar el registro?');
if (confirmacion) {
this.openModalDelete('¿Desea eliminar el registro?').subscribe(result => {
if (result) {
this.proObS.eliminarParametros(id).subscribe(
() => {
console.log('El registro se ha eliminado');
......@@ -113,5 +118,16 @@ export class ListObjetivosEstraComponent implements OnInit {
}
);
}
})
}
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 {
this.docentesParticipantesService.guardarParametros(this.docenteParticipante).subscribe(
response => {
this.openModal('La información se ha enviado');
this.guardar()
this.guardar();
this.datosCompartidos.actualizarDatos(this.docenteParticipante);
},
error => {
......@@ -119,15 +119,20 @@ export class AddDocentesParticipantesComponent implements OnInit {
cambiar() {
this.cambio = true;
this.myForm.get('numero').enable();
this.myForm.enable();
/*this.myForm.get('numero').enable();
this.myForm.get('campus').enable();
this.myForm.get('departamento').enable();
this.myForm.get('departamento').enable();*/
this.myForm.markAsDirty();
this.myForm.markAsUntouched();
}
cancelado() {
this.cambio = false;
this.myForm.disable();
this.myForm.reset();
this.myForm.markAsDirty();
this.myForm.markAsUntouched();
}
......@@ -136,8 +141,6 @@ export class AddDocentesParticipantesComponent implements OnInit {
this.cambio = false;
this.myForm.disable();
this.myForm.reset();
this.myForm.markAsDirty();
this.myForm.markAsUntouched();
}
}
......@@ -133,7 +133,6 @@ export class AddEstudiantesParticipantesComponent implements OnInit {
this.cambio = false;
this.myForm.disable();
this.myForm.reset();
this.myForm.markAsDirty();
this.myForm.markAsUntouched();
}
}
......@@ -5,7 +5,7 @@
<div class="save-button">
<button mat-raised-button color="primary" *ngIf="!cambio"
(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>
<span class="separator"></span>
<button mat-raised-button color="warn" *ngIf="cambio"
......
......@@ -2,9 +2,11 @@ import { Component, OnInit, OnDestroy } from '@angular/core';
import { MostrarOcultarService } from '../../../../../services/mostrar-ocultar.service';
import { Parametros } from '../../../../../Models/conf-parametros';
import { ParametrosService } from '../../../../../services/conf-parametros/parametros.service';
import { Subscription } from 'rxjs';
import { Observable, Subscription } from 'rxjs';
import { format } from 'date-fns';
import { Router } from '@angular/router';
import { ConfirmacionEliminacionComponent } from '../../../../programa/opciones/ConfirmacionEliminacion/ConfirmacionEliminacion.component';
import { MatDialog } from '@angular/material/dialog';
@Component({
selector: 'app-conf-parametros-eva-final',
......@@ -21,6 +23,7 @@ export class ConfParametrosEvaFinalComponent implements OnInit, OnDestroy {
public mostrarOcultarService: MostrarOcultarService,
private router: Router,
private parametrosService: ParametrosService,
private dialog: MatDialog
) {
this.tipo = 2;
......@@ -68,8 +71,8 @@ export class ConfParametrosEvaFinalComponent implements OnInit, OnDestroy {
}
eliminarParametro(id: number) {
const confirmacion = confirm('¿Estás seguro de que quieres eliminar este parámetro?');
if (confirmacion) {
this.openModalDelete('¿Estás seguro de que quieres eliminar este parámetro?').subscribe(result =>{
if (result) {
console.log("id", id);
this.parametrosService.eliminarParametros(id).subscribe(
() => {
......@@ -83,6 +86,7 @@ export class ConfParametrosEvaFinalComponent implements OnInit, OnDestroy {
}
);
}
});
}
......@@ -137,4 +141,13 @@ export class ConfParametrosEvaFinalComponent implements OnInit, OnDestroy {
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';
import { MostrarOcultarService } from '../../../../../services/mostrar-ocultar.service';
import { GrupoEvaluacion} from '../../../../../Models/grupos-evaluacion'
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 { distinctUntilChanged } from 'rxjs/operators';
import { ConfirmacionEliminacionComponent } from '../../../../programa/opciones/ConfirmacionEliminacion/ConfirmacionEliminacion.component';
import { MatDialog } from '@angular/material/dialog';
@Component({
selector: 'app-grupo-parametros-eva',
......@@ -32,7 +34,8 @@ export class GrupoParametrosEvaComponent implements OnInit {
constructor(
private mostrarOcultarService: MostrarOcultarService,
private gruposParametrosEvaluacionService: GruposParametrosEvaluacionService,
private router: Router
private router: Router,
private dialog: MatDialog
) {
}
......@@ -49,8 +52,8 @@ export class GrupoParametrosEvaComponent implements OnInit {
}
eliminarParametro(id: number) {
const confirmacion = confirm('¿Estás seguro de que quieres eliminar este parámetro?');
if (confirmacion) {
this.openModalDelete('¿Estás seguro de que quieres eliminar este parámetro?').subscribe(result => {
if (result) {
console.log("id",id);
this.gruposParametrosEvaluacionService.eliminarParametros(id).subscribe(
() => {
......@@ -64,6 +67,7 @@ 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';
import { MostrarOcultarService } from '../../../../../services/mostrar-ocultar.service';
import { OpcionesRespuesta } from '../../../../../Models/opciones-respuesta'
import { OpcionesRespuestaService } from '../../../../../services/opciones-respuesta/opciones-respuesta.service';
import { Subscription} from 'rxjs';
import { Observable, Subscription} from 'rxjs';
import { FormBuilder } from '@angular/forms';
import { Router } from '@angular/router';
import { distinctUntilChanged } from 'rxjs/operators';
import { ConfirmacionEliminacionComponent } from '../../../../programa/opciones/ConfirmacionEliminacion/ConfirmacionEliminacion.component';
import { MatDialog } from '@angular/material/dialog';
@Component({
selector: 'app-op-resp-eva-final',
templateUrl: './op-resp-eva-final.component.html',
......@@ -31,7 +33,9 @@ export class OpRespEvaFinalComponent implements OnInit {
}
constructor(private mostrarOcultarService: MostrarOcultarService,
private opcionesRespuestaService: OpcionesRespuestaService,
private router: Router) {
private router: Router,
private dialog: MatDialog
) {
this.tipo = 2
}
......@@ -51,8 +55,8 @@ export class OpRespEvaFinalComponent implements OnInit {
eliminarParametro(id: number) {
const confirmacion = confirm('¿Estás seguro de que quieres eliminar este parámetro?');
if (confirmacion) {
this.openModalDelete('¿Estás seguro de que quieres eliminar este parámetro?').subscribe(result =>{
if (result) {
console.log("id",id);
this.opcionesRespuestaService.eliminarParametros(id).subscribe(
() => {
......@@ -66,6 +70,19 @@ export class OpRespEvaFinalComponent implements OnInit {
}
);
}
});
}
formularioEnviado:boolean;
openModalDelete(mensaje: string): Observable<string>{
const dialogRef = this.dialog.open(ConfirmacionEliminacionComponent, {
disableClose: true,
data: { mensaje: mensaje }
});
return dialogRef.afterClosed();
}
......
......@@ -5,9 +5,11 @@ import { Component, OnInit, OnDestroy, Input } from '@angular/core';
import { MostrarOcultarService } from '../../../../../services/mostrar-ocultar.service';
import { ParametrosEvaluacion } from '../../../../../Models/parametro-evaluacion'
import { ParametrosEvaService } from '../../../../../services/parametros-evaluacion/parametros-eva.service';
import { Subscription} from 'rxjs';
import { Observable, Subscription} from 'rxjs';
import { Router } from '@angular/router';
import { distinctUntilChanged } from 'rxjs/operators';
import { ConfirmacionEliminacionComponent } from '../../../../programa/opciones/ConfirmacionEliminacion/ConfirmacionEliminacion.component';
import { MatDialog } from '@angular/material/dialog';
@Component({
selector: 'app-parametros-eva-final',
......@@ -37,7 +39,8 @@ export class ParametrosEvaFinalComponent implements OnInit {
constructor(
private mostrarOcultarService: MostrarOcultarService,
private parametrosEvaService: ParametrosEvaService,
private router: Router
private router: Router,
private dialog: MatDialog
) {
this.tipo = 2
}
......@@ -59,8 +62,8 @@ export class ParametrosEvaFinalComponent implements OnInit {
eliminarParametro(id: number) {
const confirmacion = confirm('¿Estás seguro de que quieres eliminar este parámetro?');
if (confirmacion) {
this.openModalDelete('¿Estás seguro de que quieres eliminar este parámetro?').subscribe(result => {
if (result) {
console.log("id",id);
this.parametrosEvaService.eliminarParametros(id).subscribe(
() => {
......@@ -74,8 +77,21 @@ export class ParametrosEvaFinalComponent implements OnInit {
}
);
}
});
}
formularioEnviado:boolean;
openModalDelete(mensaje: string): Observable<string>{
const dialogRef = this.dialog.open(ConfirmacionEliminacionComponent, {
disableClose: true,
data: { mensaje: mensaje }
});
return dialogRef.afterClosed();
}
ngOnInit() {
this.obtenerRegistros();
......
......@@ -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 { ConfirmacionEliminacionComponent } from '../../../../programa/opciones/ConfirmacionEliminacion/ConfirmacionEliminacion.component';
import { MatDialog } from '@angular/material/dialog';
import { Observable } from 'rxjs';
@Component({
selector: 'app-conf-parametros-eva',
......@@ -67,13 +68,7 @@ export class ConfParametrosEvaComponent implements OnInit {
// Código para el buscar
eliminarParametro(id: number) {
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 => {
this.openModalDelete('¿Desea Eliminar el Registro?').subscribe(result =>{
if (result === 'confirm') {
this.parametrosService.eliminarParametros(id).subscribe(
() => {
......@@ -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() {
const termino = this.terminoBusqueda.trim().toLowerCase();
......
......@@ -66,7 +66,7 @@
<ng-container matColumnDef="fecha" class="Column">
<th class="Column" mat-header-cell *matHeaderCellDef mat-sort-header>
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>
<!-- Tipo Column -->
......
......@@ -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 { tipoObj } from 'src/app/modules/main/Models/tipo_obj';
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({
selector: 'vex-tipo-obj',
templateUrl: './tipo-obj.component.html',
......@@ -25,9 +25,11 @@ export class TipoObjComponent implements OnInit {
dataSource: MatTableDataSource<confObj>;
displayedColumns: string[] = [
'Nro',
'descripcion',
'fecha',
'descripcion',
'estado',
'Acciones'
];
......@@ -92,7 +94,12 @@ export class TipoObjComponent implements OnInit {
}
formatFecha(fecha: Date): string {
formatFecha(fecha: string | Date): string {
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 @@
</div>
</mat-card-header>
<mat-card-content>
<div class="form-row" >
<div class="form-row">
<div class="form-column">
<br>
<mat-form-field>
......@@ -16,17 +16,19 @@
</mat-form-field>
<mat-form-field>
<mat-label>Campus</mat-label>
<input matInput [disabled]="true">
<input matInput formControlName="campus" [value]="(usuario.campus$ | async)">
</mat-form-field>
<mat-form-field>
<mat-label>Departamento</mat-label>
<input matInput [disabled]="true">
<input matInput formControlName="departamento" [value]="(usuario.departamento$ | async)">
</mat-form-field>
<mat-label><strong>Plazo de Ejecución</strong></mat-label>
<mat-form-field>
<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 #pickerInicio></mat-datepicker>
</mat-form-field>
......@@ -48,31 +50,23 @@
</div>
<div class="form-column">
<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-label>Nombres</mat-label>
<input matInput [disabled]="true">
<input matInput [disabled]="true" formControlName="nombreUsuario">
</mat-form-field>
<mat-form-field>
<mat-label>Apellido</mat-label>
<input matInput [disabled]="true">
<input matInput [disabled]="true" 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-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-label>Telefono</mat-label>
<input matInput placeholder="Telefono Director" name="field12">
<input matInput placeholder="Telefono Director" formControlName="telefono" name="field12">
</mat-form-field>
</div>
</div>
......
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 { 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 { ProgramaService } from 'src/app/modules/main/services/programa/programa.service';
import { EnvioFormularioComponent } from '../../envio-formulario/envio-formulario.component';
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 { opcionInst } from 'src/app/modules/main/Models/opcion_inst';
import { OpcionInstService } from 'src/app/modules/main/services/opcion_inst/opcion-inst.service';
import { Usuario } from 'src/app/modules/main/Models/usuario';
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({
selector: 'vex-datos-generales',
......@@ -19,9 +21,16 @@ import { OpcionInstService } from 'src/app/modules/main/services/opcion_inst/opc
export class DatosGeneralesComponent implements OnInit {
myForm: FormGroup;
formularioEnviado: boolean;
//Manjar el control de cambios de componentes.
selectedCarreraId: string;
usuario: Usuario;
selectedProgramaId: number;
guardarFormulario: boolean = false;
enviarSolicitud = false;
idGuardado: number;
idUsuario: number;
tipoGasto: string;
carreraSearchControl = new FormControl();
constructor(
private formBuilder: FormBuilder,
......@@ -31,20 +40,34 @@ export class DatosGeneralesComponent implements OnInit {
private dialog: MatDialog,
private compartiId: Compartir_idService,
private mostrarOcultarService: MostrarOcultarService,
private opcionM: opcionInst,
private opcionS: OpcionInstService
private datosUsuarioService: UsuariosService,
private datosEspeService: DatosEspeService,
) {
this.formularioEnviado = false;
this.programaM = new Programa();
this.usuario = new Usuario()
this.formularioEnviado = false;
this.myForm = this.formBuilder.group({
fechaIni: ['', Validators.required],
fechaFin: ['', Validators.required],
anio: [''],
meses: [''],
nombreP: ['', Validators.required]
anio: [{ value: '', disabled: true }],
meses: [{ value: '', disabled: true }],
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 {
this.obtenerDatosUsuario()
}
//Calculo de la duración
......@@ -87,22 +110,24 @@ export class DatosGeneralesComponent implements OnInit {
enviarSolicitud = false;
idGuardado: number;
onSubmit() {
if (this.myForm.valid && !this.enviarSolicitud) {
try {
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.uzytavlineaoperativa_ID = 2;
this.programaM.uzytavprograma_vfecha_presenta = new Date();
this.programaM.uzytavprograma_vfecha_fin = this.myForm.value.fechaFin;
this.programaM.uzytavprograma_vfecha_inicio = this.myForm.value.fechaIni;
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';
//recuperar la información para el editado
......@@ -112,6 +137,10 @@ export class DatosGeneralesComponent implements OnInit {
this.myForm.disable();
this.openModal();
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.compartiId.setIdGuardad(this.idGuardado);
......@@ -125,12 +154,57 @@ export class DatosGeneralesComponent implements OnInit {
openModal() {
const dialogRef = this.dialog.open(EnvioFormularioComponent, {
disableClose: true
disableClose: true,
data: { mensaje: 'Se han guardado los datos generales' }
});
dialogRef.afterClosed().subscribe(result => {
console.log('La ventana modal se ha cerrado');
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 @@
</div>
</mat-card-header>
<mat-card-content>
<div class="form-row" >
<div class="form-row">
<div class="form-column">
<br>
<mat-form-field>
......@@ -19,17 +19,19 @@
</mat-form-field>
<mat-form-field>
<mat-label>Campus</mat-label>
<input matInput [disabled]="true">
<input matInput formControlName="campus" [value]="(programaM.campus$ | async)">
</mat-form-field>
<mat-form-field>
<mat-label>Departamento</mat-label>
<input matInput [disabled]="true">
<input matInput formControlName="departamento" [value]="(programaM.departamento$ | async)">
</mat-form-field>
<mat-label><strong>Plazo de Ejecución</strong></mat-label>
<mat-form-field>
<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 #pickerInicio></mat-datepicker>
</mat-form-field>
......@@ -42,7 +44,7 @@
<mat-form-field>
<mat-label>Duración</mat-label>
<div class="duracion-inputs">
<input matInput placeholder="Años" formControlName="anio" >
<input matInput placeholder="Años" formControlName="anio">
<span class="separator"></span>
<input matInput placeholder="Meses" formControlName="meses">
<span class="separator"></span>
......@@ -51,32 +53,24 @@
</div>
<div class="form-column">
<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-label>Nombres</mat-label>
<input matInput [disabled]="true">
<input matInput formControlName="nombreUsuario">
</mat-form-field>
<mat-form-field>
<mat-label>Apellido</mat-label>
<input matInput [disabled]="true">
</mat-form-field>
<br>
<mat-form-field>
<mat-label>Cargo</mat-label>
<input matInput [disabled]="true">
<input matInput formControlName="apellidoUsuario">
</mat-form-field>
<mat-form-field>
<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-label>Telefono</mat-label>
<input matInput placeholder="Telefono Director" name="field12">
<input matInput placeholder="Telefono Director" formControlName="telefono">
</mat-form-field>
</div>
</div>
</mat-card-content>
......
......@@ -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 { ProgramaService } from 'src/app/modules/main/services/programa/programa.service';
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({
selector: 'vex-edit-datos-generales',
......@@ -17,23 +23,46 @@ export class EditDatosGeneralesComponent implements OnInit {
programaM: Programa;
cambio: boolean;
formularioEnviado: boolean;
public idRecuperado;
usuario: Usuario;
selectedProgramaId: number;
programas: Programa[];
tipoGasto: string;
idUsuarioTipo: string;
idProyecto: number;
anioCodigo: string;
selectedCarreraValue: string;
constructor(
private formBuilder: FormBuilder,
private ID_compartido: Compartir_idService,
private route: ActivatedRoute,
private programaS: ProgramaService,
private mostrarOcultarService: MostrarOcultarService,
private dialog: MatDialog
private dialog: MatDialog,
private datosEspeService: DatosEspeService,
private datosUsuarioService: UsuariosService,
) {
this.programaM = new Programa();
}
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.campus$ = this.obtenerDatosCampus(this.programaM.stvcamp_code)
this.programaM.departamento$ = this.obtenerDatosDepartamento(this.programaM.stvsubj_code)
this.obtenerDatosDirector()
this.initializeForm();
this.cambio = false;
this.usuario = new Usuario()
}
......@@ -42,10 +71,20 @@ export class EditDatosGeneralesComponent implements OnInit {
this.myForm = this.formBuilder.group({
fechaIni: [{value: this.programaM.uzytavprograma_vfecha_inicio, disabled: true}, Validators.required],
fechaFin: [{value: this.programaM.uzytavprograma_vfecha_fin, disabled: true}, Validators.required],
anio: [{value: this.programaM.uzytavprograma_vduracion_anios, disabled: true}],
meses: [{value: this.programaM.uzytavprograma_vduracion_meses, disabled: true}],
nombreP: [{value: this.programaM.uzytavprograma_vnombre, disabled: true}, Validators.required]
anio: [{value: this.programaM.uzytavprograma_vduracion_anios+" año(s)", disabled: true}],
meses: [{value: this.programaM.uzytavprograma_vdiuracion_meses+" mes(es)", disabled: true}],
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(){
......@@ -74,10 +113,8 @@ export class EditDatosGeneralesComponent implements OnInit {
this.programaM.uzytavprograma_vnombre = this.myForm.value.nombreP;
this.programaM.uzytavprograma_vfecha_fin = this.myForm.value.fechaFin;
this.programaM.uzytavprograma_vfecha_inicio = this.myForm.value.fechaIni;
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
this.mostrarOcultarService.editPrograma = this.programaM;
this.programaS.modificarParametros(this.idRecuperado,this.programaM).subscribe(response => {
......@@ -85,8 +122,6 @@ export class EditDatosGeneralesComponent implements OnInit {
this.myForm.disable();
this.cambio = false;
this.openModal();
//his.openModal();
//this.guardarFormulario = true;
});
} catch (error) {
console.error('Error al enviar los datos:', error);
......@@ -133,6 +168,45 @@ export class EditDatosGeneralesComponent implements OnInit {
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() {
const dialogRef = this.dialog.open(EnvioEditFormularioComponent, {
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