From 15861cbf85a0cd649f4e81a0468a3160a1c37477 Mon Sep 17 00:00:00 2001 From: IO420 <320154041@pcpuma.acatlan.unam.mx> Date: Mon, 10 Nov 2025 11:47:13 -0600 Subject: [PATCH] merge carlos --- src/app/(Administrador)/pregunta1.2/page.tsx | 65 +++++++++ .../{pregunta1 => pregunta1.2}/page1.css | 0 src/app/(Administrador)/pregunta2.1/page.tsx | 59 +++++++++ .../{pregunta2 => pregunta2.1}/page2.css | 0 src/components/Editar.tsx | 123 +++++++++++------- 5 files changed, 197 insertions(+), 50 deletions(-) create mode 100644 src/app/(Administrador)/pregunta1.2/page.tsx rename src/app/(Administrador)/{pregunta1 => pregunta1.2}/page1.css (100%) create mode 100644 src/app/(Administrador)/pregunta2.1/page.tsx rename src/app/(Administrador)/{pregunta2 => pregunta2.1}/page2.css (100%) diff --git a/src/app/(Administrador)/pregunta1.2/page.tsx b/src/app/(Administrador)/pregunta1.2/page.tsx new file mode 100644 index 0000000..6960eea --- /dev/null +++ b/src/app/(Administrador)/pregunta1.2/page.tsx @@ -0,0 +1,65 @@ +import React from "react"; +import Link from "next/link"; +import "./page1.css"; // Importamos los estilos + +export default function Pregunta1() { + return ( +
+
+

PREGUNTA 1

+ +
+

+ 1. Desglose el número de equipos de impresión con que cuenta el área + universitaria. +

+ +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+
+ +
+ + Ir a Pregunta 2 → + +
+
+
+ ); +} diff --git a/src/app/(Administrador)/pregunta1/page1.css b/src/app/(Administrador)/pregunta1.2/page1.css similarity index 100% rename from src/app/(Administrador)/pregunta1/page1.css rename to src/app/(Administrador)/pregunta1.2/page1.css diff --git a/src/app/(Administrador)/pregunta2.1/page.tsx b/src/app/(Administrador)/pregunta2.1/page.tsx new file mode 100644 index 0000000..c833ebb --- /dev/null +++ b/src/app/(Administrador)/pregunta2.1/page.tsx @@ -0,0 +1,59 @@ +"use client"; + +import React from "react"; +import Link from "next/link"; +import "./page2.css"; // 👈 Importamos los estilos + +export default function Pregunta2() { + return ( +
+
+

PREGUNTA 2

+ +
+

+ Indique el número de equipos de impresión de acuerdo con la + población universitaria al que se destina su uso primordialmente. +

+ +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+
+ +
+ + ← Volver a Pregunta 1 + + + + Ir a Pregunta 3 → + +
+
+
+ ); +} diff --git a/src/app/(Administrador)/pregunta2/page2.css b/src/app/(Administrador)/pregunta2.1/page2.css similarity index 100% rename from src/app/(Administrador)/pregunta2/page2.css rename to src/app/(Administrador)/pregunta2.1/page2.css diff --git a/src/components/Editar.tsx b/src/components/Editar.tsx index a322d45..a250e40 100644 --- a/src/components/Editar.tsx +++ b/src/components/Editar.tsx @@ -2,16 +2,16 @@ import { useSearchParams } from "next/navigation"; import { useEffect, useState } from "react"; +import { useRouter } from "next/navigation"; import axios from "axios"; import Cookies from "js-cookie"; import toast from "react-hot-toast"; import { SO_POR_EQUIPO } from "@/data/so_por_equipo"; import { AREAS } from "@/data/areas"; +import { PROCESADORES_POR_EQUIPO } from "@/data/procesadores"; import "../app/styles/layout/agregarEquipo.scss"; import "./editar.css"; -import { PROCESADORES_POR_EQUIPO } from "@/data/procesadores"; -import { useRouter } from "next/navigation"; export default function Editar() { const searchParams = useSearchParams(); @@ -22,16 +22,16 @@ export default function Editar() { const [formData, setFormData] = useState({ inventario: "", serie: "", - marca: "", modelo: "", - tipoEquipo: "", - estado: "", - sistemaOperativo: "", - procesador: "", - tipoUso: "", - observaciones: "", - adscripcion: "", + id_tipo_equipo: 0, + id_marca: 0, + id_estado: 0, + id_uso: 0, + id_adscripcion: 0, + id_sistema_operativo: 0, + id_procesador: 0, lugar: "", + observaciones: "", responsable: "", periferico: "", fechaFactura: "", @@ -93,7 +93,7 @@ export default function Editar() { }); const api_url = process.env.NEXT_PUBLIC_API_URL; - const mostrarCamposComputadora = formData.tipoEquipo !== "PERIFÉRICO"; + const mostrarCamposComputadora = Number(formData.id_tipo_equipo) !== 9; // 🔹 Cargar catálogos useEffect(() => { @@ -170,6 +170,7 @@ export default function Editar() { procesador_tipoequipo: { id: number; procesador: { + id_procesador: number; procesador: string; }; } | null; @@ -214,16 +215,17 @@ export default function Editar() { setFormData({ inventario: equipo.inventario || "", serie: equipo.serie || "", - marca: equipo.marca?.marca || "", + id_marca: equipo.marca?.id_marca || 0, modelo: equipo.modelo || "", - tipoEquipo: equipo.tipoEquipo?.tipo_equipo || "", - estado: equipo.estado?.estado || "", - sistemaOperativo: equipo.sistemaOperativo?.sistema_operativo || "", - procesador: - equipo.procesador_tipoequipo?.procesador?.procesador || "", - tipoUso: equipo.tipoUso?.tipo_uso || "", + id_tipo_equipo: equipo.tipoEquipo?.id_tipo_de_equipo || 0, + id_estado: equipo.estado?.id_estado || 0, + id_sistema_operativo: + equipo.sistemaOperativo?.id_sistema_operativo || 0, + id_procesador: + equipo.procesador_tipoequipo?.procesador?.id_procesador || 0, + id_uso: equipo.tipoUso?.id_uso || 0, observaciones: equipo.observaciones || "", - adscripcion: equipo.adscripcion?.adscripcion || "", + id_adscripcion: equipo.adscripcion?.id_adscripcion || 0, lugar: equipo.lugar || "", periferico: equipo.periferico?.periferico || "", fechaFactura: equipo.fechaFactura || "", @@ -244,7 +246,7 @@ export default function Editar() { const headers = { Authorization: `Bearer ${token}` }; const response = await axios.get( - `${api_url}/equipos/procesador-tipo-equipos/${formData.tipoEquipo}`, + `${api_url}/equipos/procesador-tipo-equipos/${formData.id_tipo_equipo}`, { headers, } @@ -257,7 +259,7 @@ export default function Editar() { useEffect(() => { const fetchPerifericos = async () => { - if (formData.tipoEquipo !== "PERIFÉRICO") return; + if (Number(formData.id_tipo_equipo) != 9) return; const token = Cookies.get("token"); const headers = { Authorization: `Bearer ${token}` }; @@ -274,17 +276,31 @@ export default function Editar() { }; fetchPerifericos(); - }, [formData.tipoEquipo]); + }, [formData.id_tipo_equipo]); const handleGuardar = async () => { const token = Cookies.get("token"); const headers = { Authorization: `Bearer ${token}` }; + const data = { + id_estado: formData.id_estado, + id_adscripcion: formData.id_adscripcion, + lugar: formData.lugar, + id_sistema_operativo: formData.id_sistema_operativo, + id_uso: formData.id_uso, + serie: formData.serie, + modelo: formData.modelo, + id_marca: formData.id_marca, + observaciones: formData.observaciones, + }; + try { await axios.patch( `${api_url}/equipos/update/${formData.inventario}`, - formData, - { headers } + data, + { + headers, + } ); toast.success("Equipo actualizado correctamente"); } catch (error) { @@ -332,7 +348,11 @@ export default function Editar() {

- {formData.tipoEquipo} + + {tiposEquipo.find( + (t) => t.id_tipo_de_equipo === Number(formData.id_tipo_equipo) + )?.tipo_equipo || "Sin tipo"} + Inventario: {formData.inventario} Fecha de censo:{" "} @@ -358,14 +378,14 @@ export default function Editar() {
- setFormData({ ...formData, tipoEquipo: e.target.value }) + handleInputChange("id_tipo_equipo", e.target.value) } > - + {tiposEquipo.map((t) => ( - ))} @@ -404,14 +425,17 @@ export default function Editar() {
- setFormData({ ...formData, tipoUso: e.target.value }) + setFormData({ ...formData, id_uso: Number(e.target.value) }) } > @@ -443,33 +467,32 @@ export default function Editar() {