diff --git a/src/app/administrador/servicio/page.tsx b/src/app/administrador/servicio/page.tsx index baf8628..29c2edf 100644 --- a/src/app/administrador/servicio/page.tsx +++ b/src/app/administrador/servicio/page.tsx @@ -22,6 +22,11 @@ interface Usuario { idUsuario?: number; usuario?: string; nombre?: string; + /* + "cartaAceptacion": "1NzEg5DRbIOdBi_P9IbjJoFUOAW7kRnKp", + "cartaTermino": "1xRycJEyO19tvNpwd4jbw9OMbZInxcJeY", + "informeGlobal": "1XvEUa6Zqi0giX9zo9myFEWVoZgdVhlOQ", + */ } interface Carrera { @@ -82,6 +87,21 @@ interface Datos { fechaRegistro?: string; fechaInicio?: string; fechaTermino?: string; + /* + + + cartaAceptacion?: boolean; + cartaTermino?: boolean; + informreGlobal?: boolean; + */ + cartaAceptacion?: string; + cartaTermino?: string; + informeGlobal?: string; + + idCuestionarioPrograma?: number; + idCuestionarioPrograma2?: number; + idCuestionarioAlumno?: number; + idCuestionarioAlumno2?: number; } export default function Servicio() { @@ -111,9 +131,18 @@ export default function Servicio() { }, []); // Función para imprimir errores - const imprimirError = (msg: string) => { - console.error(msg); - alert(`Error: ${msg}`); + const imprimirError = (error: unknown) => { + alert(`❌ Error: ${JSON.stringify(error)}`); + } + + const imprimirMensaje = (message: string) => { + alert(`✅ ${message}`); + }; + + const imprimirWarning = (message: string, onConfirm: () => void) => { + if (confirm(`⚠️ ${message}\n¿Deseas continuar?`)) { + onConfirm(); + } }; // Función para actualizar el estado de carga @@ -209,11 +238,8 @@ export default function Servicio() {
-{/* -

{alumno.Status?.status}

-*/} - - +

{datos.Status?.status}

+ -{/* + {/* Para mostrar si tiene la carta y poder ver los diferentes archivos */} + {datos.cartaAceptacion && ( + + )} + + {datos.cartaTermino && ( + + )} + + {datos.informeGlobal && ( + + )} + +
+ {datos.idCuestionarioPrograma || datos.idCuestionarioPrograma2 ? ( +

+ Cuenta con cuestionario de programa resuelto. +

+ ) : null} + + {datos.idCuestionarioAlumno || datos.idCuestionarioAlumno2 ? ( +

+ Cuenta con cuestionario de alumno resuelto. +

+ ) : null} +
+ + + + + - - {alumno.cartaAceptacion && ( - - )} - - {alumno.cartaTermino && ( - - )} - - {alumno.informeGlobal && ( - - )} -*/} - {/* + codigo de vue +
+

+ Cuenta con cuestionario de programa resuelto. +

+ +

+ Cuenta con cuestionario de alumno resuelto. +

+
+
{alumno.idCuestionarioPrograma || alumno.idCuestionarioPrograma2 ? (

diff --git a/src/components/administrador/archivo.tsx b/src/components/administrador/archivo.tsx index fe27452..6c7241f 100644 --- a/src/components/administrador/archivo.tsx +++ b/src/components/administrador/archivo.tsx @@ -13,19 +13,43 @@ interface Status { interface Alumno { idServicio: number; Status: Status; + /* + cartaAceptacion?: string; + cartaTermino?: string; + informeGlobal?: string; + */ +} + +interface Datos { + idServicio?: number; + //Programa?: Programa + //Carrera?: Carrera; + //Usuario?: Usuario; + Status?: Status; + creditos?: string; + correo?: string; + fechaRegistro?: string; + fechaInicio?: string; + fechaTermino?: string; + /* + cartaAceptacion?: string; + cartaTermino?: string; + informeGlobal?: string; + */ cartaAceptacion?: string; cartaTermino?: string; informeGlobal?: string; } interface Admin { - token: { headers: Record }; + //token: { headers: Record }; + token?: string; } interface Props { title: string; admin: Admin; - alumno: Alumno; + datos: Datos; imprimirError: (err: unknown) => void; imprimirMensaje: (msg: string) => void; imprimirWarning: (msg: string, onConfirm: () => void) => void; @@ -44,7 +68,7 @@ interface RechazarData { export default function Archivo({ title, admin, - alumno, + datos, imprimirError, imprimirMensaje, imprimirWarning, @@ -62,11 +86,11 @@ export default function Archivo({ const archivo = (): string | undefined => { switch (title) { case "carta de aceptación": - return alumno.cartaAceptacion; + return datos.cartaAceptacion; case "carta de termino": - return alumno.cartaTermino; + return datos.cartaTermino; case "informe global": - return alumno.informeGlobal; + return datos.informeGlobal; default: return undefined; } @@ -90,7 +114,7 @@ export default function Archivo({ funcRechazar: (data: RechazarData) => Promise> ) => { const data: RechazarData = { - idServicio: alumno.idServicio, + idServicio: datos.idServicio!, mensaje: mensajeRechazo, }; @@ -112,66 +136,66 @@ export default function Archivo({ }; const rechazarCartaAceptacion = (data: RechazarData) => - axiosInstance.put(`/servicio/rechazar_aceptacion`, data, admin.token); + axiosInstance.put(`/servicio/rechazar_aceptacion`, data); const rechazarCartaTermino = (data: RechazarData) => - axiosInstance.put(`/servicio/rechazar_termino`, data, admin.token); + axiosInstance.put(`/servicio/rechazar_termino`, data); const rechazarInformeGlobal = (data: RechazarData) => - axiosInstance.put(`/servicio/rechazar_informe`, data, admin.token); + axiosInstance.put(`/servicio/rechazar_informe`, data); return (

-
-
Ver {title}
+
+
Ver {title}
-
- - Ver - + + + {((datos.Status?.idStatus === 1 && title === "carta de aceptación") || + (datos.Status?.idStatus === 5 && + (title === "carta de termino" || title === "informe global"))) && ( + + )}
- {((alumno.Status.idStatus === 1 && title === "carta de aceptación") || - (alumno.Status.idStatus === 5 && - (title === "carta de termino" || title === "informe global"))) && ( - + {rechazar && ( +
+ +