From 0c64bdeb1aa634631c1f437fd7116e30256c17d4 Mon Sep 17 00:00:00 2001 From: IO420 <320154041@pcpuma.acatlan.unam.mx> Date: Wed, 29 Oct 2025 08:46:49 -0600 Subject: [PATCH 1/9] formated toaster --- .example.txt | 1 + src/app/layout.tsx | 5 +---- 2 files changed, 2 insertions(+), 4 deletions(-) create mode 100644 .example.txt diff --git a/.example.txt b/.example.txt new file mode 100644 index 0000000..f17aaae --- /dev/null +++ b/.example.txt @@ -0,0 +1 @@ +NEXT_PUBLIC_API_URL= \ No newline at end of file diff --git a/src/app/layout.tsx b/src/app/layout.tsx index a970f31..327dbf5 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -24,10 +24,7 @@ export default function RootLayout({
- + {children} From faf4a00754fda255d022e7fd28612ad639317749 Mon Sep 17 00:00:00 2001 From: IO420 <320154041@pcpuma.acatlan.unam.mx> Date: Wed, 29 Oct 2025 08:57:32 -0600 Subject: [PATCH 2/9] modified editar --- src/app/(Operador)/Editar/page.tsx | 36 +++++++++++++++++++++++------- 1 file changed, 28 insertions(+), 8 deletions(-) diff --git a/src/app/(Operador)/Editar/page.tsx b/src/app/(Operador)/Editar/page.tsx index 18c25fb..23c47e3 100644 --- a/src/app/(Operador)/Editar/page.tsx +++ b/src/app/(Operador)/Editar/page.tsx @@ -3,16 +3,17 @@ import { useEffect, useState } from "react"; import "../../styles/layout/agregarEquipo.scss"; import "./editar.css"; import { useSearchParams } from "next/navigation"; +import axios from "axios"; export default function Home() { const searchParams = useSearchParams(); - const equipoId = searchParams.get("equipoId"); // 🔹 Obtener ID del equipo + const equipoId = searchParams.get("equipoId"); const [formData, setFormData] = useState({ serie: "", marca: "", modelo: "", - tipoEquipo: "", // Nuevo campo + tipoEquipo: "", estado: "", sistemaOperativo: "", procesador: "", @@ -23,19 +24,38 @@ export default function Home() { responsable: "", }); - // Si viene un equipoId, precargarlo useEffect(() => { + const fetchEquipo = async () => { + try { + const response = await axios.get( + `${process.env.NEXT_PUBLIC_API_URL}/equipos/${equipoId}` + ); + + setFormData(response.data); + } catch (error) { + console.error("Error al obtener el equipo:", error); + alert("No se pudo cargar la información del equipo."); + } + }; + if (equipoId) { - setFormData((prev) => ({ ...prev, serie: equipoId })); + fetchEquipo(); } }, [equipoId]); - // Estado para saber si mostramos los campos de SO y Procesador const mostrarCamposComputadora = formData.tipoEquipo !== "Impresora"; - const handleGuardar = () => { - console.log("Formulario enviado:", formData); - alert(`Equipo ${formData.serie} guardado (vista solo)`); + const handleGuardar = async () => { + try { + await axios.patch( + `${process.env.NEXT_PUBLIC_API_URL}/equipos/update/${equipoId}`, + formData + ); + alert("Equipo actualizado correctamente"); + } catch (error) { + console.error("Error al guardar:", error); + alert("Hubo un error al guardar el equipo."); + } }; const handleCancelar = () => { From c2168d4366764074fd5e40f5129ff0f06a59ddbe Mon Sep 17 00:00:00 2001 From: IO420 <320154041@pcpuma.acatlan.unam.mx> Date: Wed, 29 Oct 2025 09:13:37 -0600 Subject: [PATCH 3/9] delete responsable --- .example.txt | 2 +- src/app/(Operador)/AgregarEquipo/page.tsx | 12 ------------ 2 files changed, 1 insertion(+), 13 deletions(-) diff --git a/.example.txt b/.example.txt index f17aaae..4b73e25 100644 --- a/.example.txt +++ b/.example.txt @@ -1 +1 @@ -NEXT_PUBLIC_API_URL= \ No newline at end of file +NEXT_PUBLIC_API_URL= \ No newline at end of file diff --git a/src/app/(Operador)/AgregarEquipo/page.tsx b/src/app/(Operador)/AgregarEquipo/page.tsx index 743ce22..653df6a 100644 --- a/src/app/(Operador)/AgregarEquipo/page.tsx +++ b/src/app/(Operador)/AgregarEquipo/page.tsx @@ -360,18 +360,6 @@ export default function page() { )} - -
- - - setFormData({ ...formData, responsable: e.target.value }) - } - /> -
{/* Columna Derecha */} From 210aa2f3db015a1927b78ebcfbb77f6223d3dba7 Mon Sep 17 00:00:00 2001 From: IO420 <320154041@pcpuma.acatlan.unam.mx> Date: Wed, 29 Oct 2025 13:41:03 -0600 Subject: [PATCH 4/9] build --- src/app/(Operador)/AgregarEquipo/page.tsx | 31 +- src/app/(Operador)/Editar/page.tsx | 268 +----------------- src/app/(Operador)/Escaner/page.tsx | 17 +- src/app/dashboard/page.tsx | 91 ------ src/app/login/Login.tsx | 6 +- src/app/reporte/page.tsx | 27 +- src/components/BarNavigation.tsx | 6 - src/components/BarcodeScanner.tsx | 10 - src/components/Editar.tsx | 260 +++++++++++++++++ .../Editar => components}/editar.css | 0 10 files changed, 305 insertions(+), 411 deletions(-) delete mode 100644 src/app/dashboard/page.tsx create mode 100644 src/components/Editar.tsx rename src/{app/(Operador)/Editar => components}/editar.css (100%) diff --git a/src/app/(Operador)/AgregarEquipo/page.tsx b/src/app/(Operador)/AgregarEquipo/page.tsx index 653df6a..43ee27f 100644 --- a/src/app/(Operador)/AgregarEquipo/page.tsx +++ b/src/app/(Operador)/AgregarEquipo/page.tsx @@ -3,10 +3,10 @@ import { useState, useEffect } from "react"; import axios from "axios"; import Cookies from "js-cookie"; // Para leer cookies en el cliente -import "../../styles/layout/agregarEquipo.scss"; import toast from "react-hot-toast"; +import "../../styles/layout/agregarEquipo.scss"; -export default function page() { +export default function Page() { const [formData, setFormData] = useState({ serie: "", marca: "", @@ -76,7 +76,7 @@ export default function page() { setTiposEquipo(tiposEquipoRes.data); setSistemasOperativos(sistemasOperativosRes.data); setProcesadores(procesadoresRes.data); - } catch (err: any) { + } catch (err) { if (axios.isAxiosError(err)) { if (err.response) { toast.error( @@ -127,17 +127,17 @@ export default function page() { alert("Acción cancelada"); }; - const handleChange = (e: any) => { - const { name, value } = e.target; - setFormData((prev) => { - let updated = { ...prev, [name]: value }; - if (value === "Impresora") { - updated.sistemaOperativo = ""; - updated.procesador = ""; - } - return updated; - }); - }; + // const handleChange = (e: any) => { + // const { name, value } = e.target; + // setFormData((prev) => { + // let updated = { ...prev, [name]: value }; + // if (value === "Impresora") { + // updated.sistemaOperativo = ""; + // updated.procesador = ""; + // } + // return updated; + // }); + // }; return (
@@ -303,6 +303,9 @@ export default function page() {
+ import("@/components/Editar"), { + ssr: false, +}); - useEffect(() => { - const fetchEquipo = async () => { - try { - const response = await axios.get( - `${process.env.NEXT_PUBLIC_API_URL}/equipos/${equipoId}` - ); - - setFormData(response.data); - } catch (error) { - console.error("Error al obtener el equipo:", error); - alert("No se pudo cargar la información del equipo."); - } - }; - - if (equipoId) { - fetchEquipo(); - } - }, [equipoId]); - - const mostrarCamposComputadora = formData.tipoEquipo !== "Impresora"; - - const handleGuardar = async () => { - try { - await axios.patch( - `${process.env.NEXT_PUBLIC_API_URL}/equipos/update/${equipoId}`, - formData - ); - alert("Equipo actualizado correctamente"); - } catch (error) { - console.error("Error al guardar:", error); - alert("Hubo un error al guardar el equipo."); - } - }; - - const handleCancelar = () => { - alert("Acción cancelada"); - }; - - return ( -
-
-

- {equipoId ? `Editar Equipo (${equipoId})` : "Agregar Equipo"} - Inventario: - Fecha de censo: -

- -
- {/* Columna 1 */} -
-
- - - setFormData({ ...formData, serie: e.target.value }) - } - /> -
-
- - -
-
- - -
-
- - -
- -
- - -
-
- - {/* Columna 2 */} -
- {mostrarCamposComputadora && ( - <> -
- - -
- -
- - -
- - )} - -
- - -
- -
- - -
-
- - {/* Columna 3 */} -
-
- -