validaciones en convocatoria prueba

parent 039bd996
......@@ -110,38 +110,43 @@ export class ConvocatoriasAgregarComponent implements OnInit {
idPDF: null,
filename: ''
};
throw error;
}
}
async onSubmit() {
this.verificarCheckbox();
if (this.myForm.valid && !this.enviarSolicitud) {
this.enviarSolicitud = true;
const pdfData = await this.enviarPDF();
if (pdfData === null || pdfData === undefined) {
//this.openModalError('¡No se completo la Solicitud!');
} else {
this.convocatoria.uzytavconvoca_id_file = pdfData.idPDF;
this.convocatoria.uzytavconvoca_digital_nombre = pdfData.filename;
this.convocatoria.uzytavconvoca_estado = this.checkboxValue;
this.convocatoria.uzytavconvoca_nombre = this.myForm.value.nombre;
this.convocatoria.uzytavconvoca_observacion = this.myForm.value.descripcion;
this.convocatoria.uzytavconvoca_fecha_inicio = this.myForm.value.fechaInicio;
this.convocatoria.uzytavconvoca_fecha_fin = this.myForm.value.fechaFin;
this.convocatoriaService.guardarConvocatoria(this.convocatoria).subscribe(
response => {
this.datosCompartidos.actualizarDatos(this.convocatoria);
this.actualizarAnexosService.actualizarDatos(this.file);
this.router.navigate(['main/Convocatorias']);
},
error => {
this.openModalError('Ya existe una Convocatoria Activa');
//this.router.navigate(['main/Convocatorias']);
}
);
try {
const pdfData = await this.enviarPDF();
if (pdfData !== null || pdfData !== undefined) {
this.convocatoria.uzytavconvoca_id_file = pdfData.idPDF;
this.convocatoria.uzytavconvoca_digital_nombre = pdfData.filename;
this.convocatoria.uzytavconvoca_estado = this.checkboxValue;
this.convocatoria.uzytavconvoca_nombre = this.myForm.value.nombre;
this.convocatoria.uzytavconvoca_observacion = this.myForm.value.descripcion;
this.convocatoria.uzytavconvoca_fecha_inicio = this.myForm.value.fechaInicio;
this.convocatoria.uzytavconvoca_fecha_fin = this.myForm.value.fechaFin;
this.convocatoriaService.guardarConvocatoria(this.convocatoria).subscribe(
response => {
this.datosCompartidos.actualizarDatos(this.convocatoria);
this.actualizarAnexosService.actualizarDatos(this.file);
this.router.navigate(['main/Convocatorias']);
},
error => {
this.openModalError('Ya existe una Convocatoria Activa');
//this.router.navigate(['main/Convocatorias']);
}
);
}
} catch (error) {
this.openModalError('Error al enviar el PDF');
}
}
}
......
......@@ -2,7 +2,7 @@ import { Component, OnInit, Input, ViewChild } from '@angular/core';
import { Router } from '@angular/router';
import { Convocatoria } from '../../../Models/convocatoria';
import { ConvocatoriaService } from '../../../services/convocatoria/convocatoria.service';
import { Subscription} from 'rxjs';
import { Observable, Subscription} from 'rxjs';
import { HttpClient, HttpResponse } from '@angular/common/http';
import { format } from 'date-fns';
import { MostrarOcultarService } from '../../../services/mostrar-ocultar.service';
......@@ -10,6 +10,8 @@ import { saveAs } from 'file-saver';
import { MatTableDataSource } from '@angular/material/table';
import { MatPaginator } from '@angular/material/paginator';
import { MatSort } from '@angular/material/sort';
import { ConfirmacionEliminacionComponent } from '../../programa/opciones/ConfirmacionEliminacion/ConfirmacionEliminacion.component';
import { MatDialog } from '@angular/material/dialog';
@Component({
selector: 'vex-convocatorias-listar',
......@@ -45,7 +47,8 @@ export class ConvocatoriasListarComponent implements OnInit {
private router: Router,
private ConvocatoriaService: ConvocatoriaService,
private httpClient: HttpClient,
public mostrarOcultarService: MostrarOcultarService
public mostrarOcultarService: MostrarOcultarService,
private dialog: MatDialog
) {
this.dataSource = new MatTableDataSource<Convocatoria>([]);
}
......@@ -59,7 +62,7 @@ export class ConvocatoriasListarComponent implements OnInit {
const filterValue = (event.target as HTMLInputElement).value;
this.dataSource.filter = filterValue.trim();
this.filtroGeneral = filterValue.trim();
this.dataSource.filterPredicate = (data: Convocatoria) => {
const Nombre = data.uzytavconvoca_nombre.toLowerCase();
const Descripción = data.uzytavconvoca_observacion.toLowerCase();
......@@ -67,7 +70,7 @@ export class ConvocatoriasListarComponent implements OnInit {
const FechaF = this.formatFecha(data.uzytavconvoca_fecha_fin).toLowerCase();
const Estado = data.uzytavconvoca_estado.toLowerCase();
return (
Nombre.includes(this.filtroGeneral.toLowerCase()) ||
Descripción.includes(this.filtroGeneral.toLowerCase()) ||
......@@ -101,12 +104,12 @@ export class ConvocatoriasListarComponent implements OnInit {
if (response && response.body) {
const contentDispositionHeader = response.headers.get('content-disposition');
const filename = this.getFilenameFromResponse(contentDispositionHeader) || nombre;
const blob = response.body;
// Crear una URL del objeto Blob
const pdfUrl = URL.createObjectURL(blob);
// Abrir una nueva ventana o pestaña para mostrar el PDF
const newTab = window.open(pdfUrl, '_blank');
if (!newTab) {
......@@ -138,8 +141,8 @@ export class ConvocatoriasListarComponent implements OnInit {
}
);
}
getFilenameFromResponse(contentDispositionHeader: string | null): string {
if (contentDispositionHeader) {
const matches = /filename[^;=\n]*=((['"]).*?\2|[^;\n]*)/.exec(contentDispositionHeader);
......@@ -177,25 +180,35 @@ export class ConvocatoriasListarComponent implements OnInit {
return format(dateObj, 'dd-MM-yyyy');
}
eliminarParametro(id: number) {
const confirmacion = confirm('¿Estás seguro de que quieres eliminar este parámetro?');
if (confirmacion) {
this.ConvocatoriaService.eliminarConvocatoria(id).subscribe(
() => {
// Manejar la eliminación exitosa
console.log('Registro eliminado correctamente');
this.obtenerConvocatorias();
},
(error) => {
this.obtenerConvocatorias();
// Manejar el error en caso de que ocurra
console.error('Error al eliminar el registro', error);
}
);
}
this.openModalDelete('¿Está seguro de eliminar la Convocatoria?').subscribe(result => {
if (result) {
this.ConvocatoriaService.eliminarConvocatoria(id).subscribe(
() => {
// Manejar la eliminación exitosa
console.log('Registro eliminado correctamente');
this.obtenerConvocatorias();
},
(error) => {
this.obtenerConvocatorias();
// Manejar el error en caso de que ocurra
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();
}
}
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