From 31eacf380f25c4f95e9cb48f943499cf0ca634a2 Mon Sep 17 00:00:00 2001 From: IO420 <320154041@pcpuma.acatlan.unam.mx> Date: Wed, 21 Jan 2026 17:01:44 -0600 Subject: [PATCH] mostrar equipos --- .../ActivosMantenimiento/Equipos.tsx | 61 +++++----- .../ActivosMantenimiento/MesasDisponibles.tsx | 29 +++-- app/Components/Equipos/tableequipos.tsx | 107 ++++++++---------- tsconfig.json | 2 +- 4 files changed, 100 insertions(+), 99 deletions(-) diff --git a/app/Components/ActivosMantenimiento/Equipos.tsx b/app/Components/ActivosMantenimiento/Equipos.tsx index 53aa0e7..a3c8eff 100644 --- a/app/Components/ActivosMantenimiento/Equipos.tsx +++ b/app/Components/ActivosMantenimiento/Equipos.tsx @@ -1,67 +1,66 @@ "use client"; -import { useState } from "react"; + +import { useEffect, useState } from "react"; function Equipos() { const [cuenta, setCuenta] = useState(""); - const [tiempo, setTiempo] = useState(""); + const [equipoId, setEquipoId] = useState(""); + const [equipos, setEquipos] = useState([]); const [mensaje, setMensaje] = useState(""); + useEffect(() => { + fetch("http://localhost:3000/equipo") + .then((res) => res.json()) + .then((data) => setEquipos(data)) + .catch(() => setMensaje("Error al cargar equipos")); + }, []); + const handleBuscar = (e: React.FormEvent) => { e.preventDefault(); if (!cuenta) { - setMensaje("Ingresa un número de cuenta antes de buscar"); + setMensaje("Ingresa un número de cuenta"); return; } - setMensaje(`Buscando información del No. de cuenta: ${cuenta}`); + setMensaje(`Buscando cuenta: ${cuenta}`); }; const handleAsignar = (e: React.FormEvent) => { e.preventDefault(); - if (!tiempo) { - setMensaje("Selecciona un equipo antes de asignar"); + if (!equipoId) { + setMensaje("Selecciona un equipo"); return; } - setMensaje(`Equipo asignado con tiempo: ${tiempo} minutos`); + setMensaje(`Equipo ${equipoId} asignado`); }; return (
- {/* Formulario Buscar */} + {/* Buscar */}
- + setCuenta(e.target.value)} - placeholder="Ingresa el número de cuenta" /> - +
- {/* Formulario Asignar */} -
- - setEquipoId(e.target.value)}> - - - - - - + {equipos.map((eq) => ( + + ))} - +
- {mensaje &&

{mensaje}

} + {mensaje &&

{mensaje}

}
); } diff --git a/app/Components/ActivosMantenimiento/MesasDisponibles.tsx b/app/Components/ActivosMantenimiento/MesasDisponibles.tsx index a4f041c..b20d1e4 100644 --- a/app/Components/ActivosMantenimiento/MesasDisponibles.tsx +++ b/app/Components/ActivosMantenimiento/MesasDisponibles.tsx @@ -3,8 +3,13 @@ import { useEffect, useState } from "react"; import axios from "axios"; +interface Mesa{ + mesas:string, + activo:boolean, +} + export default function MesasDisponibles() { - const [mesas, setMesas] = useState([]); + const [mesas, setMesas] = useState(); const [loading, setLoading] = useState(true); useEffect(() => { @@ -35,15 +40,19 @@ export default function MesasDisponibles() { Activo - - {mesas.map((mesa) => ( - - Mesa {mesa.mesas} - - {mesa.activo ? "Sí" : "No"} - - - ))} + {mesas && ( + + + mesas.map((Mesa) => ( + + Mesa {Mesa.mesas} + + {Mesa.activo ? "Sí" : "No"} + + + )) + ) + } )} diff --git a/app/Components/Equipos/tableequipos.tsx b/app/Components/Equipos/tableequipos.tsx index a5811ce..70b0c95 100644 --- a/app/Components/Equipos/tableequipos.tsx +++ b/app/Components/Equipos/tableequipos.tsx @@ -1,60 +1,53 @@ -export default async function TableEquipos() { +"use client"; + +import { useEffect, useState } from "react"; + +export default function TableEquipos() { + const [equipos, setEquipos] = useState([]); + const [loading, setLoading] = useState(true); + + useEffect(() => { + console.log("LLAMANDO API EQUIPO"); + + fetch("http://localhost:5000/equipo") + .then((res) => res.json()) + .then((data) => { + console.log("EQUIPOS:", data); + setEquipos(data); + setLoading(false); + }) + .catch((err) => { + console.error("ERROR API:", err); + setLoading(false); + }); + }, []); + + if (loading) { + return

Cargando equipos...

; + } + return ( -
-
- - - - - - - - - - - - - - - - - - - {/* {machines.map((machine, index) => ( - - - - - - - - ))} */} - -
UbicaciónNombrePlataformaÁreaActivo
- - - - - - - - - -
{machine.ubicacion}{machine.nombre}{machine.plataforma}{machine.area} - {machine.disponible ? "si" : "no"} -
-
-
+ + + + + + + + + + + + {equipos.map((eq) => ( + + + + + + + + ))} + +
UbicaciónNombrePlataformaÁreaActivo
{eq.ubicacion}{eq.nombre_equipo}{eq.plataforma?.nombre || eq.id_plataforma}{eq.areaUbicacion?.nombre || eq.id_area_ubicacion}{eq.activo ? "Sí" : "No"}
); } -//IO diff --git a/tsconfig.json b/tsconfig.json index 74f6560..e7ff3a2 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -15,7 +15,7 @@ "moduleResolution": "bundler", "resolveJsonModule": true, "isolatedModules": true, - "jsx": "preserve", + "jsx": "react-jsx", "incremental": true, "plugins": [ {