From 2ea93697f4d7b898d821186555897efb1c874904 Mon Sep 17 00:00:00 2001 From: jls846 Date: Sat, 25 Oct 2025 20:05:16 -0600 Subject: [PATCH] Vista Escaner y Agregar equipo agregados --- public/barcode_scanner.png | Bin 0 -> 8092 bytes public/photo_camera.png | Bin 0 -> 692 bytes public/search.png | Bin 0 -> 474 bytes src/app/AgregarEquipo/page.tsx | 247 ++++++++++++++++++ src/app/Escaner/page.tsx | 81 +++--- src/app/layout.tsx | 4 +- src/app/page.tsx | 2 +- src/app/styles/base/_variables.scss | 10 + .../base/{_globales.scss => globales.scss} | 15 +- src/app/styles/layout/BarNavigation.scss | 63 +++-- src/app/styles/layout/agregarEquipo.scss | 159 +++++++++++ src/app/styles/layout/card.scss | 0 src/app/styles/layout/dashboard.scss | 83 ------ src/app/styles/layout/escaner.scss | 133 ++++++++++ src/components/BarNavigation.tsx | 21 +- src/components/BarcodeScanner.tsx | 42 --- src/components/Login.tsx | 2 +- 17 files changed, 647 insertions(+), 215 deletions(-) create mode 100644 public/barcode_scanner.png create mode 100644 public/photo_camera.png create mode 100644 public/search.png create mode 100644 src/app/AgregarEquipo/page.tsx rename src/app/styles/base/{_globales.scss => globales.scss} (77%) create mode 100644 src/app/styles/layout/agregarEquipo.scss delete mode 100644 src/app/styles/layout/card.scss delete mode 100644 src/app/styles/layout/dashboard.scss create mode 100644 src/app/styles/layout/escaner.scss delete mode 100644 src/components/BarcodeScanner.tsx diff --git a/public/barcode_scanner.png b/public/barcode_scanner.png new file mode 100644 index 0000000000000000000000000000000000000000..5e09c481f2871895975cf1b0643abcbe9cdca6ab GIT binary patch literal 8092 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 literal 0 HcmV?d00001 diff --git a/public/photo_camera.png b/public/photo_camera.png new file mode 100644 index 0000000000000000000000000000000000000000..ce7b9f95c9dc81aad36222191e272c9c170c5bb5 GIT binary patch literal 692 zcmV;l0!#ggP)9 zy>1gh5S~2~B*agPk}?!L1HzclP=JI470{(1Phg?5LJ2;L@C49MAu5oNNI{cehZmru z2xTHsA$|l>a$dgqcJFrAJ_AKk<#e+%^Ud6Tv*X=$CWrhS1%ghmYdSqEl-vfJSodEY z{(Fns`5jEK2Jx>EtCrD$)|y;kjslGm2-**pLUp;TxMf}lrnJ^9%djxDyoYVGWzpw2 za66swvHCOcDBreWZT<`ic5_MV%X=i6?UE;d;I9S z3PN>CR78;sZ8jIK(KmApI>u##i4Ix>M`pq=~(M_8X{Ul2|R5i2Y5b?+2*(?UZkA@b9bhO5E{rql!^4aEtQf;@%%dH*1rv{|$An=0mmyo0yw#AfS8j!=V%W0RRC1|JzOsjsO4v21!Ig aR09BOo#!#{Z&ls^0000WwXv}R@1Z>w7I+RR@GMx!IkePXJ%?}r3$Zl5Np@tjY!>~1hJ2aH&rIee zGb}yXb30%_2%(R>BjMXr5?lBGlhxJ~5$lN{b7UYAM46->Sj)V!r>zZo4Zw9D2s#Yu z;8?Y%-b8dPsSSbPmlj<*18}G>DkDKvVP{fnfM$q4XcYZx_O@vTz~Ke4eru{j-0uEG z*9<^f2BciL5E?-i$eHq2QGL}c^&Az`!U)7((hVsBU~KGvfouh^8#siTwWe!pfJ3NRYfW|n za0sJ8P8omu&HxtC(uI84+-0W#4_Y7h4)_580RR8Up9Y5j000I_L_t&o0Imd>G4z?O QtN;K207*qoM6N<$f`6jNi~s-t literal 0 HcmV?d00001 diff --git a/src/app/AgregarEquipo/page.tsx b/src/app/AgregarEquipo/page.tsx new file mode 100644 index 0000000..250c092 --- /dev/null +++ b/src/app/AgregarEquipo/page.tsx @@ -0,0 +1,247 @@ +"use client"; + +import { useState } from "react"; +import "../styles/layout/agregarEquipo.scss"; // Asegúrate de crear este archivo + +export default function page() { + const [formData, setFormData] = useState({ + serie: "", + marca: "", + modelo: "", + tipoEquipo: "", // Nuevo campo + estado: "", + sistemaOperativo: "", + procesador: "", + tipoUso: "", + observaciones: "", + adscripcion: "", + lugar: "", + responsable: "", + }); + + // 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 guardado (vista solo)"); + }; + + const handleCancelar = () => { + alert("Acción cancelada"); + }; + + // Función para actualizar el estado y limpiar campos si es impresora + const handleChange = (e) => { + const { name, value } = e.target; + setFormData((prev) => { + let updated = { ...prev, [name]: value }; + + // Si es impresora, limpiamos SO y Procesador + if (value === "Impresora") { + updated.sistemaOperativo = ""; + updated.procesador = ""; + } + + return updated; + }); + }; + + return ( +
+
+

Agregar Nuevo Equipo

+
+ {/* Columna Izquierda */} +
+
+ + + setFormData({ ...formData, serie: e.target.value }) + } + /> +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + {/* Columna Centro */} +
+ {/* Mostrar SO y Procesador solo si NO es impresora */} + {mostrarCamposComputadora && ( + <> +
+ + +
+
+ + +
+ + )} + +
+ + +
+
+ + +
+
+ + {/* Columna Derecha */} +
+
+ +