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() {