diff --git a/app/(private)/AsignacionEquipo/PlaticaGate.tsx b/app/(private)/AsignacionEquipo/PlaticaGate.tsx index 3ca9d7d..e8fb0ae 100644 --- a/app/(private)/AsignacionEquipo/PlaticaGate.tsx +++ b/app/(private)/AsignacionEquipo/PlaticaGate.tsx @@ -216,4 +216,5 @@ export default function PlaticaGate({ inscripcion, numAcount }: Props) { ); -} \ No newline at end of file +} +//IO \ No newline at end of file diff --git a/app/(private)/AsignacionEquipo/asignacion.css b/app/(private)/AsignacionEquipo/asignacion.css index fef117c..ddd2fcc 100644 --- a/app/(private)/AsignacionEquipo/asignacion.css +++ b/app/(private)/AsignacionEquipo/asignacion.css @@ -5,7 +5,6 @@ flex: 1; width: 100%; font-size: 14px; - margin-bottom: 1rem; max-width: 500px; } diff --git a/app/(private)/Monitor/MachineTable.tsx b/app/(private)/Monitor/MachineTable.tsx index fb4518a..aa95c39 100644 --- a/app/(private)/Monitor/MachineTable.tsx +++ b/app/(private)/Monitor/MachineTable.tsx @@ -2,6 +2,7 @@ import { useEffect, useState } from "react"; import styles from "./Page.module.css"; +import axios from "axios"; type AreaUbicacion = { id_area_ubicacion: number; @@ -24,20 +25,29 @@ export default function MachineTable() { const [loading, setLoading] = useState(true); const fetchMachines = async () => { - const res = await fetch( - `${process.env.NEXT_PUBLIC_API_URL}/equipo/disable`, - { cache: "no-store" }, - ); - setMachines(await res.json()); - setLoading(false); + try { + const res = await axios.get( + `${process.env.NEXT_PUBLIC_API_URL}/equipo/disable` + ); + + setMachines(res.data); + } catch (error) { + console.error("Error cargando equipos:", error); + } finally { + setLoading(false); + } }; const fetchAreas = async () => { - const res = await fetch( - `${process.env.NEXT_PUBLIC_API_URL}/area-ubicacion`, - { cache: "no-store" }, - ); - setAreas(await res.json()); + try { + const res = await axios.get( + `${process.env.NEXT_PUBLIC_API_URL}/area-ubicacion` + ); + + setAreas(res.data); + } catch (error) { + console.error("Error cargando áreas:", error); + } }; useEffect(() => { @@ -56,8 +66,6 @@ export default function MachineTable() { (machine) => machine.areaUbicacion.area === selectedArea, ); - if (loading) return

Cargando equipos...

; - return (
@@ -108,3 +116,4 @@ export default function MachineTable() { ); } +//IO \ No newline at end of file diff --git a/app/(private)/Monitor/MachineTableActive.tsx b/app/(private)/Monitor/MachineTableActive.tsx index b8990ba..9120b7f 100644 --- a/app/(private)/Monitor/MachineTableActive.tsx +++ b/app/(private)/Monitor/MachineTableActive.tsx @@ -2,6 +2,7 @@ import { useEffect, useState } from "react"; import styles from "./Page.module.css"; +import axios from "axios"; type AreaUbicacion = { id_area_ubicacion: number; @@ -14,10 +15,9 @@ type Equipo = { ubicacion: string; plataforma: string; area: string; - ocupado:boolean; + ocupado: boolean; }; - export default function MachineTableActive() { const [machines, setMachines] = useState([]); const [areas, setAreas] = useState([]); @@ -25,20 +25,29 @@ export default function MachineTableActive() { const [loading, setLoading] = useState(true); const fetchMachines = async () => { - const res = await fetch( - `${process.env.NEXT_PUBLIC_API_URL}/equipo/active`, - { cache: "no-store" }, - ); - setMachines(await res.json()); - setLoading(false); + try { + const res = await axios.get( + `${process.env.NEXT_PUBLIC_API_URL}/equipo/active` + ); + + setMachines(res.data); + } catch (error) { + console.error("Error cargando equipos:", error); + } finally { + setLoading(false); + } }; const fetchAreas = async () => { - const res = await fetch( - `${process.env.NEXT_PUBLIC_API_URL}/area-ubicacion`, - { cache: "no-store" }, - ); - setAreas(await res.json()); + try { + const res = await axios.get( + `${process.env.NEXT_PUBLIC_API_URL}/area-ubicacion` + ); + + setAreas(res.data); + } catch (error) { + console.error("Error cargando áreas:", error); + } }; useEffect(() => { @@ -50,8 +59,8 @@ export default function MachineTableActive() { selectedArea === "Todo" ? machines : machines.filter( - (machine) => machine.area === selectedArea, - ); + (machine) => machine.area === selectedArea, + ); if (loading) return

Cargando equipos...

; @@ -66,7 +75,7 @@ export default function MachineTableActive() {
- + {filteredMachines.map((machine) => ( - +
Área Disponible
@@ -90,7 +99,7 @@ export default function MachineTableActive() {
{machine.ubicacion} {machine.nombre_equipo} @@ -105,3 +114,4 @@ export default function MachineTableActive() { ); } +//IO \ No newline at end of file diff --git a/app/Components/ActivosMantenimiento/Equipos.tsx b/app/Components/ActivosMantenimiento/Equipos.tsx index b3b98e6..a72247f 100644 --- a/app/Components/ActivosMantenimiento/Equipos.tsx +++ b/app/Components/ActivosMantenimiento/Equipos.tsx @@ -1,6 +1,7 @@ "use client"; import { envConfig } from "@/app/lib/config"; +import axios from "axios"; import { useEffect, useState } from "react"; function Equipos() { @@ -10,10 +11,18 @@ function Equipos() { const [mensaje, setMensaje] = useState(""); useEffect(() => { - fetch(`${envConfig.apiUrl}/equipo`) - .then((res) => res.json()) - .then((data) => setEquipos(data)) - .catch(() => setMensaje("Error al cargar equipos")); + const fetchEquipos = async () => { + try { + const response = await axios.get(`${envConfig.apiUrl}/equipo`); + setEquipos(response.data); + } catch (error: any) { + setMensaje( + error.response?.data?.message || "Error al cargar equipos" + ); + } + }; + + fetchEquipos(); }, []); const handleBuscar = (e: React.FormEvent) => { diff --git a/app/Components/ActivosMantenimiento/MesasDisponibles.tsx b/app/Components/ActivosMantenimiento/MesasDisponibles.tsx index 19944fe..71c45e4 100644 --- a/app/Components/ActivosMantenimiento/MesasDisponibles.tsx +++ b/app/Components/ActivosMantenimiento/MesasDisponibles.tsx @@ -3,6 +3,7 @@ import { useEffect, useState } from "react"; import axios from "axios"; import { envConfig } from "@/app/lib/config"; +import Swal from "sweetalert2"; interface Mesa { id_mesa: number; @@ -30,9 +31,9 @@ export default function MesasDisponibles() { const toggleEquipo = async (id_mesa: number) => { try { - await fetch(`${envConfig.apiUrl}/mesa/${id_mesa}/activo`, { - method: "PATCH", - }); + await axios.patch( + `${envConfig.apiUrl}/mesa/${id_mesa}/activo` + ); setMesas((prev) => prev @@ -42,12 +43,16 @@ export default function MesasDisponibles() { ...e, activo: e.activo === 1 ? 0 : 1, } - : e, + : e ) - : prev, + : prev ); - } catch (error) { - console.error("Error al cambiar estado del equipo", error); + } catch (error: any) { + Swal.fire({ + title: "Error al cambiar estado", + text: error.response?.data?.message || error.message, + icon: "error", + }); } }; diff --git a/app/Components/AsignacionMesas.tsx b/app/Components/AsignacionMesas.tsx index 4131f28..db4c573 100644 --- a/app/Components/AsignacionMesas.tsx +++ b/app/Components/AsignacionMesas.tsx @@ -5,6 +5,7 @@ import { envConfig } from "@/app/lib/config"; import { getEquipoByCount } from "../lib/getEquipoByCount"; import { getMesaByCount } from "../lib/getMesaByCount"; import Swal from "sweetalert2"; +import axios from "axios"; type Props = { inscripcion: any[]; @@ -30,44 +31,43 @@ export default function AsignacionMesas({ idCuenta, inscripcion }: Props) { setBitacora(null); } else { setBitacora([]); - if (!result?.error) - Swal.fire({ - title: "Ya cuentas con un equipo asignado!", - icon: "error", - draggable: true, - }); - if (!resultMesa?.error) - Swal.fire({ - title: "Ya cuentas con mesa asignada!", - icon: "error", - draggable: true, - }); + + if (!result?.error) { + setError("Equio") + Swal.fire({ + title: "Ya cuentas con un equipo asignado!", + icon: "error", + }); + } + + if (!resultMesa?.error) { + setError("Mesa") + Swal.fire({ + title: "Ya cuentas con mesa asignada!", + icon: "error", + }); + } } }; useEffect(() => { - if (!idCuenta) return; - const Cuenta = idCuenta; - if (isNaN(Cuenta)) return; - - fetchByCuenta(Cuenta); + if (!idCuenta || isNaN(idCuenta)) return; + fetchByCuenta(idCuenta); }, [idCuenta]); useEffect(() => { if (!Array.isArray(inscripcion) || inscripcion.length === 0) return; const todasAsistieron = inscripcion.every( - (ins) => ins.platica?.data?.[0] === 1, + (ins) => ins.platica?.data?.[0] === 1 ); if (!todasAsistieron) { - Swal.fire({ title: "El alumno no asistió a todas las pláticas!", icon: "error", - draggable: true, }); - + setPuedeContinuar(false); return; } @@ -81,23 +81,18 @@ export default function AsignacionMesas({ idCuenta, inscripcion }: Props) { const fetchMesas = async () => { try { setLoadingMesas(true); - const res = await fetch(`${envConfig.apiUrl}/mesa/activo`, { - cache: "no-store", - }); - if (!res.ok) { - throw new Error("No se pudieron cargar las mesas"); - } + const response = await axios.get( + `${envConfig.apiUrl}/mesa/activo` + ); - const data = await res.json(); - setMesas(data); - } catch (error) { - + setMesas(response.data); + } catch (error: any) { Swal.fire({ - title: "Error al cargar mesas disponibles!", - icon: "error", - draggable: true, - }); + title: "Error al cargar mesas disponibles!", + text: error.response?.data?.message || error.message, + icon: "error", + }); } finally { setLoadingMesas(false); } @@ -109,12 +104,10 @@ export default function AsignacionMesas({ idCuenta, inscripcion }: Props) { const submit = async (e: React.MouseEvent) => { e.preventDefault(); - if (!mesaSeleccionada) { - - Swal.fire({ + if (!mesaSeleccionada || Number(mesaSeleccionada) === 0) { + Swal.fire({ title: "Seleccione una mesa!", icon: "error", - draggable: true, }); return; } @@ -126,31 +119,22 @@ export default function AsignacionMesas({ idCuenta, inscripcion }: Props) { id_alumno_inscrito: inscripcion[0].id_alumno_inscrito, }; - const res = await fetch(`${envConfig.apiUrl}/bitacora-mesa`, { - method: "POST", - headers: { - "Content-Type": "application/json", - }, - body: JSON.stringify(body), - }); - - if (!res.ok) { - throw new Error("Error al asignar mesa"); - } + await axios.post( + `${envConfig.apiUrl}/bitacora-mesa`, + body + ); setBitacora([]); - + Swal.fire({ title: "Mesa asignada correctamente!", icon: "success", - draggable: true, }); - } catch (error) { - - Swal.fire({ + } catch (error: any) { + Swal.fire({ title: "No se pudo asignar la mesa!", + text: error.response?.data?.message || error.message, icon: "error", - draggable: true, }); } }; @@ -158,11 +142,15 @@ export default function AsignacionMesas({ idCuenta, inscripcion }: Props) { if (!puedeContinuar) return null; if (bitacora) { - return error === "Mesa" - ?

Ya cuentas con una mesa asignada

- : error === "Equipo" - ?

Ya cuentas con un equipo asignado

- : null; + return error === "Mesa" ? ( +

+ Ya cuentas con una mesa asignada +

+ ) : error === "Equipo" ? ( +

+ Ya cuentas con un equipo asignado +

+ ) : null; } return ( @@ -193,6 +181,7 @@ export default function AsignacionMesas({ idCuenta, inscripcion }: Props) { )} + {!loadingMesas && mesas.map((mesa) => (