proyecto validado completo

parent 3ca5b574
......@@ -69,7 +69,7 @@ export class ActaCompromisoCarrerasComponent implements OnInit {
if (fileList.length > 0) {
this.file = fileList[0];
if (!this.validarArchivo(this.file)) {
this.openModalError('¡Por favor, selecciona un archivo PDF!');
this.openModalError('Por favor, selecciona un archivo PDF');
return;
} else {
this.archivoEsPDFValido = true;
......
......@@ -94,7 +94,7 @@ export class EditInstiComponent implements OnInit {
this.instuPro.uzytavinstproy_indirectos = this.myForm.get('indirecto').value;
this.instuPro.uzytavinstproy_TOTAL = this.myForm.get('total').value;
this.instP.modificarParametros(this.instuPro.uzytavinstproy_id, this.instuPro).subscribe(response => {
this.openModal();
this.openModal('Los Beneficiarios han sido Agregados');
this.idCompartido.ocultarFormulario2();
this.datosCompartidos.actualizarDatos(this.instuPro);
}, error => {
......@@ -110,9 +110,10 @@ export class EditInstiComponent implements OnInit {
this.myForm.reset();
}
openModal() {
openModal(mensaje: string) {
const dialogRef = this.dialog.open(EnvioFormularioComponent, {
disableClose: true
disableClose: true,
data: {mensaje: mensaje}
});
dialogRef.afterClosed().subscribe(result => {
......
......@@ -39,7 +39,7 @@ export class EditObjetivosEjecComponent implements OnInit {
initializeForm(){
this.myForm = this.formBuilder.group({
descrip: [{value: this.objetivoProgra.uzytavobjetivo_programaobjetivo_proy, disabled: true}, Validators.required],
valor: [{value: this.objetivoProgra.uzytavobjetivo_programaindicador_valor_eje, disabled: false}, [Validators.required, this.valorMaximoValidator.bind(this)]]
valor: [{value: this.objetivoProgra.uzytavobjetivo_programaindicador_valor_eje, disabled: false}, [Validators.required]]
});
}
......@@ -58,7 +58,7 @@ export class EditObjetivosEjecComponent implements OnInit {
if(this.myForm.valid){
this.objetivoProgra.uzytavobjetivo_programaindicador_valor_eje = this.myForm.get('valor').value;
this.objS.modificarParametros(this.objetivoProgra.uzytavobjetivo_programa_id, this.objetivoProgra).subscribe(response => {
this.openModal();
this.openModal('La información se ha Actualizado');
this.idCompartido.ocultarFormulario3();
this.datosCompartidos.actualizarDatos(this.objetivoProgra);
});
......@@ -72,9 +72,10 @@ export class EditObjetivosEjecComponent implements OnInit {
this.myForm.reset();
}
openModal() {
openModal(mensaje: string) {
const dialogRef = this.dialog.open(EnvioFormularioComponent, {
disableClose: true
disableClose: true,
data : {mensaje: mensaje}
});
dialogRef.afterClosed().subscribe(result => {
......
......@@ -94,6 +94,7 @@ export class AporteComEjecComponent implements OnInit {
console.log('Cambios guardados exitosamente para la partida', partida.uzytavpresup_id);
//this.openModal();
this.dynamicForm.disable()
this.openModal('La información se ha Actualizado');
this.cambio = false; // Disable editing mode
this.obtenerRegistros()
},
......@@ -105,9 +106,10 @@ export class AporteComEjecComponent implements OnInit {
}
openModal() {
openModal(mensaje: string) {
const dialogRef = this.dialog.open(EnvioFormularioComponent, {
disableClose: true
disableClose: true,
data: {mensaje: mensaje}
});
dialogRef.afterClosed().subscribe(result => {
......
......@@ -94,6 +94,7 @@ export class AporteEntEjecComponent implements OnInit {
console.log('Cambios guardados exitosamente para la partida', partida.uzytavpresup_id);
//this.openModal();
this.dynamicForm.disable()
this.openModal('La información se ha Actualizado');
this.cambio = false; // Disable editing mode
this.obtenerRegistros()
},
......@@ -105,9 +106,10 @@ export class AporteEntEjecComponent implements OnInit {
}
openModal() {
openModal(mensaje: string) {
const dialogRef = this.dialog.open(EnvioFormularioComponent, {
disableClose: true
disableClose: true,
data: {mensaje: mensaje}
});
dialogRef.afterClosed().subscribe(result => {
......
......@@ -86,9 +86,10 @@ export class AporteUniEjecComponent implements OnInit {
}
openModal() {
openModal(mensaje: string) {
const dialogRef = this.dialog.open(EnvioFormularioComponent, {
disableClose: true
disableClose: true,
data: {mensaje: mensaje}
});
dialogRef.afterClosed().subscribe(result => {
......@@ -108,7 +109,7 @@ export class AporteUniEjecComponent implements OnInit {
this.presupuestoPartidasService.modificarParametros(partida.uzytavpresup_id, this.presupuesto).subscribe(
(response) => {
console.log('Cambios guardados exitosamente para la partida', partida.uzytavpresup_id);
//this.openModal();
this.openModal('La información se ha Actualizado');
this.dynamicForm.disable()
this.cambio = false; // Disable editing mode
this.obtenerRegistros()
......
......@@ -6,7 +6,7 @@
<button mat-raised-button color="primary" *ngIf="!cambio"
(click)="cambiar()">Editar</button>
<button mat-raised-button color="primary" *ngIf="cambio"
[disabled]="!myForm.valid">Guardar</button>
[disabled]="myForm.invalid">Guardar</button>
<span class="separator"></span>
<button mat-raised-button color="warn" *ngIf="cambio"
(click)="cancelado()">Cancelar</button>
......@@ -24,6 +24,9 @@
class="error-message">
El contenido no puede exceder los 500 caracteres.
</div>
<div *ngIf="myForm.get('productoCierre').hasError('required') && (myForm.get('productoCierre').touched || myForm.dirty)" class="error-message">
Este campo es requerido.
</div>
</div>
<div class="editor-separator"></div>
<div>
......@@ -35,6 +38,9 @@
class="error-message">
El contenido no puede exceder los 500 caracteres.
</div>
<div *ngIf="myForm.get('bienesCierre').hasError('required') && (myForm.get('bienesCierre').touched || myForm.dirty)" class="error-message">
Este campo es requerido.
</div>
</div>
<div class="editor-separator"></div>
<div>
......@@ -46,6 +52,9 @@
class="error-message">
El contenido no puede exceder los 500 caracteres.
</div>
<div *ngIf="myForm.get('resultadoCierre').hasError('required') && (myForm.get('resultadoCierre').touched || myForm.dirty)" class="error-message">
Este campo es requerido.
</div>
</div>
<div class="editor-separator"></div>
<div>
......@@ -58,6 +67,9 @@
class="error-message">
El contenido no puede exceder los 500 caracteres.
</div>
<div *ngIf="myForm.get('servicioCierre').hasError('required') && (myForm.get('servicioCierre').touched || myForm.dirty)" class="error-message">
Este campo es requerido.
</div>
</div>
<div class="editor-separator"></div>
<div>
......@@ -69,6 +81,9 @@
class="error-message">
El contenido no puede exceder los 500 caracteres.
</div>
<div *ngIf="myForm.get('impactoCierre').hasError('required') && (myForm.get('impactoCierre').touched || myForm.dirty)" class="error-message">
Este campo es requerido.
</div>
</div>
<div class="editor-separator"></div>
......@@ -81,6 +96,9 @@
<div *ngIf="myForm.get('restricCierre').hasError('maxlength')" class="error-message">
El contenido no puede exceder los 500 caracteres.
</div>
<div *ngIf="myForm.get('restricCierre').hasError('required') && (myForm.get('restricCierre').touched || myForm.dirty)" class="error-message">
Este campo es requerido.
</div>
</div>
<div class="editor-separator"></div>
......@@ -92,6 +110,9 @@
<div *ngIf="myForm.get('comenCierre').hasError('maxlength')" class="error-message">
El contenido no puede exceder los 500 caracteres.
</div>
<div *ngIf="myForm.get('comenCierre').hasError('required') && (myForm.get('comenCierre').touched || myForm.dirty)" class="error-message">
Este campo es requerido.
</div>
</div>
</mat-card-content>
......
......@@ -38,6 +38,27 @@ export class ResultadosComponent implements OnInit {
cancelado() {
this.cambio = false;
this.isEditorEnabled = false;
this.myForm.get('productoCierre').setValue('');
this.myForm.get('productoCierre').setValue('');
this.myForm.get('bienesCierre').setValue('');
this.myForm.get('bienesCierre').setValue('');
this.myForm.get('resultadoCierre').setValue('');
this.myForm.get('resultadoCierre').setValue('');
this.myForm.get('servicioCierre').setValue('');
this.myForm.get('servicioCierre').setValue('');
this.myForm.get('impactoCierre').setValue('');
this.myForm.get('impactoCierre').setValue('');
this.myForm.get('restricCierre').setValue('');
this.myForm.get('restricCierre').setValue('');
this.myForm.get('comenCierre').setValue('');
this.myForm.get('comenCierre').setValue('');
}
ngOnInit(): void {
......@@ -89,7 +110,7 @@ export class ResultadosComponent implements OnInit {
this.proyectosService.modificarParametros(this.idRecuperado, this.proyectos).subscribe(response => {
this.cambio = false;
this.isEditorEnabled = false;
this.openModal();
this.openModal('Los Resultados del Proyecto han sido Almacenados');
});
} catch (error) {
......@@ -99,9 +120,10 @@ export class ResultadosComponent implements OnInit {
}
}
openModal() {
openModal(mensaje: string) {
const dialogRef = this.dialog.open(EnvioFormularioComponent, {
disableClose: true
disableClose: true,
data: {mensaje: mensaje}
});
dialogRef.afterClosed().subscribe(result => {
......
......@@ -7,7 +7,7 @@
<input type="file" accept=".pdf" (change)="onFileChange($event)" formControlName="archivo">
</div>
<div class="form-actions">
<button type="submit" [disabled]="myForm.invalid">Guardar</button>
<button type="submit" [disabled]="!archivoEsPDFValido">Guardar</button>
<button type="button" (click)="cerrarModal()">Cerrar</button>
</div>
</form>
......
import { Component, OnInit, Inject } from '@angular/core';
import { FormBuilder, FormGroup, Validators } from '@angular/forms';
import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
import { MatDialogRef, MAT_DIALOG_DATA, MatDialog } from '@angular/material/dialog';
import { docompar } from 'src/app/modules/main/Models/docompar';
import { DatosEspeService } from 'src/app/modules/main/services/APIs Externas/Datos espe/datos-espe.service';
import { saveAs } from 'file-saver';
import { parametrosdet } from 'src/app/modules/main/Models/parametrosdet';
import { ParametrosdetService } from 'src/app/modules/main/services/parametrosdet/parametrosdet.service';
import { Actualiza_datosService } from 'src/app/modules/main/services/actualiza_datos/actualiza_datos.service';
import { ErrorTextoComponent } from '../../../errores/error-texto/error-texto.component';
@Component({
selector: 'vex-add-documentos',
templateUrl: './add-documentos.component.html',
......@@ -25,14 +26,15 @@ export class AddDocumentosComponent implements OnInit {
private formBuilder: FormBuilder,
private datosEspeService: DatosEspeService,
private pdfService: ParametrosdetService,
private datosCompartidos: Actualiza_datosService
private datosCompartidos: Actualiza_datosService,
private dialog: MatDialog
) {
this.docompar = new docompar();
}
ngOnInit(): void {
this.myForm = this.formBuilder.group({
archivo: [ '', Validators.required]
archivo: ['', Validators.required]
});
console.log('ID recibido:', this.data.idConf);
}
......@@ -41,19 +43,45 @@ export class AddDocumentosComponent implements OnInit {
this.selectedFile = event.target.files[0];
}
archivoEsPDFValido: boolean = false;
onFileChange(event: any) {
// Obtener el archivo seleccionado
const fileList: FileList = event.target.files;
if (fileList.length > 0) {
this.file = fileList[0];
if (!this.validarArchivo(this.file)) {
this.openModalError('Seleccione Unicamente Archivos PDF');
} else {
this.archivoEsPDFValido = true;
}
}
}
openModalError(texto: string) {
const dialogRef = this.dialog.open(ErrorTextoComponent, {
disableClose: true,
data: { mensaje: texto }
});
dialogRef.afterClosed().subscribe(result => {
console.log('La ventana modal se ha cerrado');
this.formularioEnviado = true;
});
}
validarArchivo(file: File): boolean {
const fileName = file.name;
return fileName.toLocaleLowerCase().endsWith('.pdf');
}
async onSubmit() {
if (this.myForm.valid) {
try {
const pdfData = await this.enviarPDF();
if (pdfData.idPDF === null || pdfData.idPDF === undefined) {
} else {
this.docompar.uzytavinstproy_id = this.data.idConf;
this.docompar.uzytavdocompar_nombre_url = pdfData.idPDF;
......@@ -69,6 +97,9 @@ export class AddDocumentosComponent implements OnInit {
}
);
}
} catch (error) {
}
}
}
async enviarPDF() {
......@@ -83,16 +114,20 @@ export class AddDocumentosComponent implements OnInit {
filename: response.fileName
};
} catch (error) {
console.error('Error al guardar el PDF en el servidor:', error);
throw error;
this.openModalError('Este PDF ya se ha subido');
this.archivoEsPDFValido = false;
return {
idPDF: null,
filename: ''
}
}
}
submitForm(){
submitForm() {
this.dialogRef.close();
}
cerrarModal(){
cerrarModal() {
this.dialogRef.close();
......
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