diff --git a/src/components/AgregarEquipo.tsx b/src/components/AgregarEquipo.tsx index 40ab880..5b3ea00 100644 --- a/src/components/AgregarEquipo.tsx +++ b/src/components/AgregarEquipo.tsx @@ -26,10 +26,10 @@ export default function Page() { antiguedad: "MENORES DE 2", modelo: "", id_estado: "", - id_adscripcion: "", + id_adscripcion: 0, id_tipo_equipo: "", - id_sistema_operativo: "", - id_procesador: "", + id_sistema_operativo: 0, + id_procesador: 0, id_uso: "", id_marca: "", id_periferico: "", @@ -93,12 +93,16 @@ export default function Page() { >([]); const [procesadores, setProcesadores] = useState([]); const [perifericos, setPerifericos] = useState([]); + const [adscripcionLabel, setAdscripcionLabel] = useState(""); const [suggestions, setSuggestions] = useState({ adscripcion: [] as string[], }); - const mostrarCamposComputadora = formData.id_tipo_equipo !== "9"; + const mostrarCamposComputadora = Number(formData.id_tipo_equipo) !== 9; + const tableta = + Number(formData.id_tipo_equipo) !== 7 && + Number(formData.id_tipo_equipo) !== 8; const api_url = process.env.NEXT_PUBLIC_API_URL; useEffect(() => { @@ -169,7 +173,7 @@ export default function Page() { useEffect(() => { const fetchPerifericos = async () => { - if (formData.id_tipo_equipo !== "9") return; + if (Number(formData.id_tipo_equipo) != 9) return; const token = Cookies.get("token"); const headers = { Authorization: `Bearer ${token}` }; @@ -189,9 +193,22 @@ export default function Page() { }, [formData.id_tipo_equipo]); const handleInputChange = (field: string, value: any) => { + if (field === "adscripcionLabel") { + setAdscripcionLabel(value); + + const matches = AREAS.filter((a) => + a.label.toLowerCase().includes(value.toLowerCase()) + ).map((a) => a.label); + + setSuggestions((prev) => ({ + ...prev, + adscripcion: matches.slice(0, 5), + })); + return; + } + setFormData((prev) => { let newValue = value; - if (field.startsWith("id_")) { newValue = value ? Number(value) : ""; } @@ -208,11 +225,6 @@ export default function Page() { }); }; - const handleSelectSuggestion = (field: string, value: string) => { - setFormData((prev) => ({ ...prev, [field]: value })); - setSuggestions((prev) => ({ ...prev, [field]: [] })); - }; - const handleGuardar = async () => { try { const token = Cookies.get("token"); @@ -365,26 +377,30 @@ export default function Page() { )} - -
- - -
+ {tableta && ( +
+ + +
+ )} )} @@ -412,10 +428,10 @@ export default function Page() { - handleInputChange("id_adscripcion", e.target.value) + handleInputChange("adscripcionLabel", e.target.value) } /> {suggestions.adscripcion.length > 0 && ( @@ -423,7 +439,20 @@ export default function Page() { {suggestions.adscripcion.map((s) => (
  • handleSelectSuggestion("adscripcion", s)} + onClick={() => { + const selected = AREAS.find((a) => a.label === s); + if (selected) { + setFormData((prev) => ({ + ...prev, + id_adscripcion: selected.id, + })); + setAdscripcionLabel(selected.label); + setSuggestions((prev) => ({ + ...prev, + adscripcion: [], + })); + } + }} > {s}
  • diff --git a/src/data/procesadores.ts b/src/data/procesadores.ts index 655bfa5..170d6d9 100644 --- a/src/data/procesadores.ts +++ b/src/data/procesadores.ts @@ -2,7 +2,7 @@ export const PROCESADORES_POR_EQUIPO: Record< string, { id_procesador: number; procesador: string }[] > = { - "ESCRITORIO PC": [ + /*"ESCRITORIO PC"*/ 1: [ { id_procesador: 1, procesador: "i7 o equivalentes (13a generación en adelante)", @@ -41,7 +41,18 @@ export const PROCESADORES_POR_EQUIPO: Record< { id_procesador: 18, procesador: "Pentium Series J, G" }, { id_procesador: 19, procesador: "Celeron Serie J, G" }, ], - "ESCRITORIO LINUX": [ + /*"ESCRITORIO MAC OS"*/ 2: [ + { id_procesador: 20, procesador: "Familia M2" }, + { id_procesador: 21, procesador: "Familia M1" }, + { id_procesador: 2, procesador: "i7 o equivalentes (9a - 12a generación)" }, + { id_procesador: 4, procesador: "i7 o equivalentes (1a - 4a generación)" }, + { id_procesador: 6, procesador: "i5 o equivalentes (9a - 12a generación)" }, + { id_procesador: 7, procesador: "i5 o equivalentes (5a - 8a generación)" }, + { id_procesador: 8, procesador: "i5 o equivalentes (1a - 4a generación)" }, + { id_procesador: 12, procesador: "i3 o equivalentes (1a - 4a generación)" }, + { id_procesador: 22, procesador: "Core2 Mac, Quad Core o anteriores" }, + ], + /*"ESCRITORIO LINUX"*/ 3: [ { id_procesador: 1, procesador: "i7 o equivalentes (13a generación en adelante)", @@ -69,7 +80,7 @@ export const PROCESADORES_POR_EQUIPO: Record< { id_procesador: 13, procesador: "Pentium Silver O Gold" }, { id_procesador: 14, procesador: "Pentium Dual Core o anteriores" }, ], - "PORTÁTILES WINDOWS": [ + /*"PORTÁTILES WINDOWS"*/ 4: [ { id_procesador: 1, procesador: "i7 o equivalentes (13a generación en adelante)", @@ -97,7 +108,7 @@ export const PROCESADORES_POR_EQUIPO: Record< { id_procesador: 13, procesador: "Pentium Silver O Gold" }, { id_procesador: 14, procesador: "Pentium Dual Core o anteriores" }, ], - "PORTÁTILES CHROMEBOOK": [ + /*"PORTÁTILES CHROMEBOOK"*/ 5: [ { id_procesador: 1, procesador: "i7 o equivalentes (13a generación en adelante)", @@ -123,7 +134,7 @@ export const PROCESADORES_POR_EQUIPO: Record< { id_procesador: 11, procesador: "i3 o equivalentes (5a - 8a generación)" }, { id_procesador: 12, procesador: "i3 o equivalentes (1a - 4a generación)" }, ], - "ESCRITORIO MAC OS": [ + /*"PORTÁTILES MAC OS"*/ 6: [ { id_procesador: 20, procesador: "Familia M2" }, { id_procesador: 21, procesador: "Familia M1" }, { id_procesador: 2, procesador: "i7 o equivalentes (9a - 12a generación)" }, @@ -134,7 +145,35 @@ export const PROCESADORES_POR_EQUIPO: Record< { id_procesador: 12, procesador: "i3 o equivalentes (1a - 4a generación)" }, { id_procesador: 22, procesador: "Core2 Mac, Quad Core o anteriores" }, ], - "PORTÁTILES MAC OS": [ + /*"TABLETA ANDROID"*/ 7: [ + { + id_procesador: 1, + procesador: "i7 o equivalentes (13a generación en adelante)", + }, + { id_procesador: 2, procesador: "i7 o equivalentes (9a - 12a generación)" }, + { id_procesador: 3, procesador: "i7 o equivalentes (5a - 8a generación)" }, + { id_procesador: 4, procesador: "i7 o equivalentes (1a - 4a generación)" }, + { + id_procesador: 5, + procesador: "i5 o equivalentes (13a generación en adelante)", + }, + { id_procesador: 6, procesador: "i5 o equivalentes (9a - 12a generación)" }, + { id_procesador: 7, procesador: "i5 o equivalentes (5a - 8a generación)" }, + { id_procesador: 8, procesador: "i5 o equivalentes (1a - 4a generación)" }, + { + id_procesador: 9, + procesador: "i3 o equivalentes (13a generación en adelante)", + }, + { + id_procesador: 10, + procesador: "i3 o equivalentes (9a - 12a generación)", + }, + { id_procesador: 11, procesador: "i3 o equivalentes (5a - 8a generación)" }, + { id_procesador: 12, procesador: "i3 o equivalentes (1a - 4a generación)" }, + { id_procesador: 13, procesador: "Pentium Silver O Gold" }, + { id_procesador: 14, procesador: "Pentium Dual Core o anteriores" }, + ], + /*"TABLETA iPAD OS"*/ 8: [ { id_procesador: 20, procesador: "Familia M2" }, { id_procesador: 21, procesador: "Familia M1" }, { id_procesador: 2, procesador: "i7 o equivalentes (9a - 12a generación)" }, @@ -145,7 +184,7 @@ export const PROCESADORES_POR_EQUIPO: Record< { id_procesador: 12, procesador: "i3 o equivalentes (1a - 4a generación)" }, { id_procesador: 22, procesador: "Core2 Mac, Quad Core o anteriores" }, ], - SERVIDOR: [ + /*SERVIDOR*/ 10: [ { id_procesador: 23, procesador: "Xeon Bronce, Plata, Oro 1a generación" }, { id_procesador: 24, procesador: "Xeon E3, E5, E7" }, { id_procesador: 25, procesador: "Xeon Phi" }, diff --git a/src/data/so_por_equipo.ts b/src/data/so_por_equipo.ts index e6e7dd5..1379efe 100644 --- a/src/data/so_por_equipo.ts +++ b/src/data/so_por_equipo.ts @@ -2,14 +2,14 @@ export const SO_POR_EQUIPO: Record< string, { id_sistema_operativo: number; sistema_operativo: string }[] > = { - "ESCRITORIO PC": [ + /*"ESCRITORIO PC"*/ 1: [ { id_sistema_operativo: 1, sistema_operativo: "Windows 11" }, { id_sistema_operativo: 2, sistema_operativo: "Windows 10" }, { id_sistema_operativo: 3, sistema_operativo: "Windows 7/8" }, { id_sistema_operativo: 4, sistema_operativo: "Windows XP/Vista" }, { id_sistema_operativo: 5, sistema_operativo: "Linux" }, ], - "ESCRITORIO APPLE": [ + /*"ESCRITORIO MAC OS"*/ 2: [ { id_sistema_operativo: 6, sistema_operativo: "Mac OS (13 - Ventura, 14 - Sonoma)", @@ -29,14 +29,28 @@ export const SO_POR_EQUIPO: Record< "Mac OS X (Snow Leopard, Lion, Mountain Lion, Mavericks)", }, ], - "TABLETA ANDROID": [ + /*"ESCRITORIO LINUX"*/ 3: [ + { id_sistema_operativo: 1, sistema_operativo: "Windows 11" }, + { id_sistema_operativo: 2, sistema_operativo: "Windows 10" }, + { id_sistema_operativo: 3, sistema_operativo: "Windows 7/8" }, + { id_sistema_operativo: 4, sistema_operativo: "Windows XP/Vista" }, + { id_sistema_operativo: 5, sistema_operativo: "Linux" }, + ], + /*"PORTÁTILES WINDOWS"*/ 4: [ { id_sistema_operativo: 1, sistema_operativo: "Windows 11" }, { id_sistema_operativo: 2, sistema_operativo: "Windows 10" }, { id_sistema_operativo: 3, sistema_operativo: "Windows 7/8" }, { id_sistema_operativo: 4, sistema_operativo: "Windows XP/Vista" }, { id_sistema_operativo: 10, sistema_operativo: "Chrome OS" }, ], - "TABLETA iPAD OS": [ + /*"PORTÁTILES CHROMEBOOK"*/ 5: [ + { id_sistema_operativo: 1, sistema_operativo: "Windows 11" }, + { id_sistema_operativo: 2, sistema_operativo: "Windows 10" }, + { id_sistema_operativo: 3, sistema_operativo: "Windows 7/8" }, + { id_sistema_operativo: 4, sistema_operativo: "Windows XP/Vista" }, + { id_sistema_operativo: 10, sistema_operativo: "Chrome OS" }, + ], + /*"PORTÁTILES MAC OS"*/ 6: [ { id_sistema_operativo: 6, sistema_operativo: "Mac OS (13 - Ventura, 14 - Sonoma)", @@ -56,7 +70,7 @@ export const SO_POR_EQUIPO: Record< "Mac OS X (Snow Leopard, Lion, Mountain Lion, Mavericks)", }, ], - SERVIDOR: [ + /*SERVIDOR*/ 10: [ { id_sistema_operativo: 12, sistema_operativo: