From 39e47e9262c2f0954485be5f1dee6b429c48d652 Mon Sep 17 00:00:00 2001 From: Patriots01 <424018289@pcpum.acatlan.unam.mx> Date: Wed, 14 Jan 2026 01:06:28 +0000 Subject: [PATCH] Modificaciones --- src/app/alumno/page.tsx | 2 +- src/components/alumno/barra-progreso.tsx | 8 +++- .../cuestionario2/full-cuestionario.tsx | 39 ++++++++++++++++--- src/components/alumno/pre-termino.tsx | 2 +- 4 files changed, 42 insertions(+), 9 deletions(-) diff --git a/src/app/alumno/page.tsx b/src/app/alumno/page.tsx index 886bd02..9c5f3e5 100644 --- a/src/app/alumno/page.tsx +++ b/src/app/alumno/page.tsx @@ -146,7 +146,7 @@ export default function Home() { /> )} - { data?.status.idStatus !== undefined && data?.status.idStatus >= 4 && ( + { data?.status.idStatus !== undefined && data?.status.idStatus >= 4 && data?.status.idStatus !== 8 && data?.status.idStatus !== 9 && ( , id: 1 }, { label: "Pre Registro Validado", icon: , id: 2 }, @@ -21,8 +25,8 @@ export default function BarraProgreso({ idStatus }: Props) {
{steps.map((step, index) => { - const isActive = idStatus >= step.id; - const isCurrent = idStatus === step.id; + const isActive = statusMapeado >= step.id; + const isCurrent = statusMapeado === step.id; return (
diff --git a/src/components/alumno/cuestionario2/full-cuestionario.tsx b/src/components/alumno/cuestionario2/full-cuestionario.tsx index 4806690..f11ce4a 100644 --- a/src/components/alumno/cuestionario2/full-cuestionario.tsx +++ b/src/components/alumno/cuestionario2/full-cuestionario.tsx @@ -29,6 +29,7 @@ type Formulario = { titulo?: string; descripcion?: string; preguntas: Pregunta[] export default function FullCuestionario() { const [respuestas, setRespuestas] = useState | null>>({}); const [isLoading, setIsLoading] = useState(false); + const [isFormDisabled, setIsFormDisabled] = useState(false); const router = useRouter(); @@ -100,6 +101,29 @@ export default function FullCuestionario() { // eslint-disable-next-line react-hooks/exhaustive-deps }, []); + // Verificar si el cuestionario ya fue contestado + useEffect(() => { + const checkIfFormAlreadyCompleted = async () => { + try { + const idServicio = typeof window !== 'undefined' ? localStorage.getItem('idServicio') : null; + if (!idServicio) return; + + const response = await axiosInstance.get(`/servicio/admin?idServicio=${idServicio}`); + const idCuestionarioAlumno2 = response.data?.idCuestionarioAlumno2; + + // Si ya existe un cuestionario contestado, deshabilitar el formulario + if (idCuestionarioAlumno2 && idCuestionarioAlumno2 > 0) { + setIsFormDisabled(true); + window.alert('Este cuestionario ya ha sido contestado. No puedes modificar tus respuestas.'); + } + } catch (error) { + console.error('Error al verificar cuestionario:', error); + } + }; + + checkIfFormAlreadyCompleted(); + }, []); + const isMobile = () => typeof window !== 'undefined' && window.innerWidth < 576; const sortedItems = useMemo(() => { @@ -304,7 +328,7 @@ export default function FullCuestionario() { {p.opciones?.map((op) => (
))} @@ -315,7 +339,7 @@ export default function FullCuestionario() { {p.opciones?.map((op) => (
))} @@ -323,7 +347,7 @@ export default function FullCuestionario() { )} {p.tipo === 'texto' && (
- updateRespuestas(p.id, e.target.value)} maxLength={p.limite || 200} placeholder="Escribe tu respuesta aquí" /> + updateRespuestas(p.id, e.target.value)} maxLength={p.limite || 200} placeholder="Escribe tu respuesta aquí" disabled={isFormDisabled} />
)}
@@ -353,7 +377,7 @@ export default function FullCuestionario() { {r.textoRenglon} {r.opciones.map((op) => ( - handleTableResponse(t.idTabla, r.idRenglon, op)} /> + handleTableResponse(t.idTabla, r.idRenglon, op)} disabled={isFormDisabled} /> ))} @@ -366,9 +390,14 @@ export default function FullCuestionario() { })}
- + {isFormDisabled && ( +
+ Este cuestionario ya ha sido contestado y no puede ser modificado. +
+ )}
diff --git a/src/components/alumno/pre-termino.tsx b/src/components/alumno/pre-termino.tsx index 9897c3a..e21c522 100644 --- a/src/components/alumno/pre-termino.tsx +++ b/src/components/alumno/pre-termino.tsx @@ -88,7 +88,7 @@ export default function PreTermino({ {/* !servicio.idCuestionarioAlumno && !servicio.idCuestionarioAlumno2 ? */} - {!servicio.idCuestionarioAlumno ? ( + {servicio.idCuestionarioAlumno2 ? (