modified to work

This commit is contained in:
2025-11-07 11:44:25 -06:00
parent b9428b4a60
commit e96786e039
5 changed files with 306 additions and 213 deletions
+15 -6
View File
@@ -2,11 +2,12 @@
import { useState } from "react";
import { useRouter } from "next/navigation";
import "../../styles/layout/escaner.scss";
import BarcodeScanner from "@/components/BarcodeScanner";
import axios from "axios";
import Image from "next/image";
import toast from "react-hot-toast";
import Cookies from "js-cookie";
import "../../styles/layout/escaner.scss";
export default function Page() {
const router = useRouter();
@@ -17,12 +18,16 @@ export default function Page() {
const buscarEquipo = async () => {
if (!search) return toast.error("Ingresa un número de inventario");
const token = Cookies.get("token");
const headers = { Authorization: `Bearer ${token}` };
try {
const { data } = await axios.get(`${api_url}/equipos/${search}`);
const { data } = await axios.get(`${api_url}/equipos/buscar/${search}`, {
headers,
});
if (data) {
router.push(`/editar?equipoId=${data.id}`);
router.push(`/editar?equipoId=${data.inventario}`);
} else {
toast.error("Equipo no encontrado");
}
@@ -35,14 +40,18 @@ export default function Page() {
setIsScanning(false);
if (!code) return;
const token = Cookies.get("token");
const headers = { Authorization: `Bearer ${token}` };
try {
const { data } = await axios.get(`${api_url}/equipos/${code}`);
const { data } = await axios.get(`${api_url}/equipos/buscar/${code}`, {
headers,
});
if (data) {
router.push(`/editar?equipoId=${data.id}`);
router.push(`/editar?equipoId=${data.inventario}`);
} else {
router.push(`/agregarEquipo?equipoId=${data.id}`);
router.push(`/agregarEquipo?equipoId=${data.inventario}`);
}
} catch (error) {
toast.error("Error No se encontro el equipo");
+74 -91
View File
@@ -23,18 +23,17 @@ export default function Page() {
serie: "",
lugar: "",
fechaFactura: new Date(),
antiguedad: "0 años",
antiguedad: "MENORES DE 2",
modelo: "",
estado: "",
adscripcion: "",
tipoEquipo: "",
sistemaOperativo: "",
procesador: "",
tipoUso: "",
marca: "",
tipoPeriferico: "",
isImpresora: ,
observaciones: "",
id_estado: "",
id_adscripcion: "",
id_tipo_equipo: "",
id_sistema_operativo: "",
id_procesador: "",
id_uso: "",
id_marca: "",
id_periferico: "",
isImpresora: false,
});
useEffect(() => {
@@ -99,7 +98,7 @@ export default function Page() {
adscripcion: [] as string[],
});
const mostrarCamposComputadora = formData.tipoEquipo !== "PERIFÉRICO";
const mostrarCamposComputadora = formData.id_tipo_equipo !== "9";
const api_url = process.env.NEXT_PUBLIC_API_URL;
useEffect(() => {
@@ -157,7 +156,7 @@ export default function Page() {
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,
}
@@ -170,7 +169,7 @@ export default function Page() {
useEffect(() => {
const fetchPerifericos = async () => {
if (formData.tipoEquipo !== "PERIFÉRICO") return;
if (formData.id_tipo_equipo !== "9") return;
const token = Cookies.get("token");
const headers = { Authorization: `Bearer ${token}` };
@@ -187,32 +186,26 @@ export default function Page() {
};
fetchPerifericos();
}, [formData.tipoEquipo]);
}, [formData.id_tipo_equipo]);
const handleInputChange = (field: string, value: string) => {
setFormData((prev) => ({ ...prev, [field]: value }));
const handleInputChange = (field: string, value: any) => {
setFormData((prev) => {
let newValue = value;
if (field === "adscripcion") {
if (value.length < 3) {
setSuggestions((prev) => ({ ...prev, adscripcion: [] }));
return;
if (field.startsWith("id_")) {
newValue = value ? Number(value) : "";
}
const normalize = (str: string) =>
str
.normalize("NFD")
.replace(/[\u0300-\u036f]/g, "")
.toLowerCase()
.trim();
if (field === "id_tipo_equipo") {
const tipoSeleccionado = tiposEquipo.find(
(t) => t.id_tipo_de_equipo === Number(value)
);
const esPeriferico = tipoSeleccionado?.tipo_equipo === "PERIFÉRICO";
return { ...prev, [field]: newValue, isImpresora: esPeriferico };
}
const searchValue = normalize(value);
const matches = AREAS.map((a) => a.label)
.filter((label) => normalize(label).includes(searchValue))
.slice(0, 5);
setSuggestions((prev) => ({ ...prev, adscripcion: matches }));
}
return { ...prev, [field]: newValue };
});
};
const handleSelectSuggestion = (field: string, value: string) => {
@@ -221,35 +214,20 @@ export default function Page() {
};
const handleGuardar = async () => {
const adscripcionesValidas = AREAS.map((a) => a.label);
if (!adscripcionesValidas.includes(formData.adscripcion)) {
toast.error("Debes seleccionar una adscripción válida.");
return;
}
try {
const token = Cookies.get("token");
const headers = { Authorization: `Bearer ${token}` };
await axios.post(`${api_url}/equipos/crear`, formData, { headers });
const dataToSend = {
...formData,
fechaFactura: new Date(formData.fechaFactura)
.toISOString()
.split("T")[0], // "YYYY-MM-DD"
antiguedad: formData.antiguedad || "0 años",
};
await axios.post(`${api_url}/equipos/crear`, dataToSend, { headers });
toast.success("Equipo guardado correctamente");
setFormData({
inventario: "",
serie: "",
fechaFactura: new Date(),
antiguedad: "",
marca: "",
modelo: "",
tipoEquipo: "",
estado: "",
sistemaOperativo: "",
procesador: "",
tipoUso: "",
observaciones: "",
adscripcion: "",
lugar: "",
isImpresora:"",
tipoPeriferico: "",
});
} catch (err) {
toast.error("Error al guardar el equipo");
}
@@ -293,12 +271,12 @@ export default function Page() {
<label>Marca</label>
<select
required
value={formData.marca}
onChange={(e) => handleInputChange("marca", e.target.value)}
value={formData.id_marca}
onChange={(e) => handleInputChange("id_marca", e.target.value)}
>
<option value="">Selecciona una marca</option>
{marcas.map((m) => (
<option key={m.id_marca} value={m.marca}>
<option key={m.id_marca} value={m.id_marca}>
{m.marca}
</option>
))}
@@ -319,14 +297,14 @@ export default function Page() {
<label>Tipo de equipo</label>
<select
required
value={formData.tipoEquipo}
value={formData.id_tipo_equipo}
onChange={(e) =>
handleInputChange("tipoEquipo", e.target.value)
handleInputChange("id_tipo_equipo", e.target.value)
}
>
<option value="">Selecciona tipo de equipo</option>
{tiposEquipo.map((t) => (
<option key={t.id_tipo_de_equipo} value={t.tipo_equipo}>
<option key={t.id_tipo_de_equipo} value={t.id_tipo_de_equipo}>
{t.tipo_equipo}
</option>
))}
@@ -339,12 +317,12 @@ export default function Page() {
<label>Estado</label>
<select
required
value={formData.estado}
onChange={(e) => handleInputChange("estado", e.target.value)}
value={formData.id_estado}
onChange={(e) => handleInputChange("id_estado", e.target.value)}
>
<option value="">Selecciona estado</option>
{estados.map((e) => (
<option key={e.id_estado} value={e.estado}>
<option key={e.id_estado} value={e.id_estado}>
{e.estado}
</option>
))}
@@ -355,12 +333,12 @@ export default function Page() {
<label>Tipo de uso</label>
<select
required
value={formData.tipoUso}
onChange={(e) => handleInputChange("tipoUso", e.target.value)}
value={formData.id_uso}
onChange={(e) => handleInputChange("id_uso", e.target.value)}
>
<option value="">Selecciona tipo de uso</option>
{tiposUso.map((t) => (
<option key={t.id_uso} value={t.tipo_uso}>
<option key={t.id_uso} value={t.id_uso}>
{t.tipo_uso}
</option>
))}
@@ -372,32 +350,37 @@ export default function Page() {
<div className="formGroup">
<label>Procesador</label>
<select
value={formData.procesador}
value={formData.id_procesador}
onChange={(e) =>
handleInputChange("procesador", e.target.value)
handleInputChange("id_procesador", e.target.value)
}
>
<option value="">Selecciona procesador</option>
{PROCESADORES_POR_EQUIPO[formData.tipoEquipo]?.map((p) => (
<option key={p} value={p}>
{p}
</option>
))}
{PROCESADORES_POR_EQUIPO[formData.id_tipo_equipo]?.map(
(p) => (
<option key={p.id_procesador} value={p.id_procesador}>
{p.procesador}
</option>
)
)}
</select>
</div>
<div className="formGroup">
<label>Sistema operativo</label>
<select
value={formData.sistemaOperativo}
value={formData.id_sistema_operativo}
onChange={(e) =>
handleInputChange("sistemaOperativo", e.target.value)
handleInputChange("id_sistema_operativo", e.target.value)
}
>
<option value="">Selecciona sistema operativo</option>
{SO_POR_EQUIPO[formData.tipoEquipo]?.map((so) => (
<option key={so} value={so}>
{so}
{SO_POR_EQUIPO[formData.id_tipo_equipo]?.map((so) => (
<option
key={so.id_sistema_operativo}
value={so.id_sistema_operativo}
>
{so.sistema_operativo}
</option>
))}
</select>
@@ -409,14 +392,14 @@ export default function Page() {
<div className="formGroup">
<label>Tipos de Periféricos</label>
<select
value={formData.tipoPeriferico || ""}
value={formData.id_periferico}
onChange={(e) =>
handleInputChange("tipoPeriferico", e.target.value)
handleInputChange("id_periferico", e.target.value)
}
>
<option value="">Selecciona periférico</option>
{perifericos.map((p) => (
<option key={p.id_periferico} value={p.periferico}>
<option key={p.id_periferico} value={p.id_periferico}>
{p.periferico}
</option>
))}
@@ -430,9 +413,9 @@ export default function Page() {
required
type="text"
placeholder="Ingresa adscripcion"
value={formData.adscripcion}
value={formData.id_adscripcion}
onChange={(e) =>
handleInputChange("adscripcion", e.target.value)
handleInputChange("id_adscripcion", e.target.value)
}
/>
{suggestions.adscripcion.length > 0 && (
@@ -462,7 +445,7 @@ export default function Page() {
/>
</div>
<div className="formGroup">
{/* <div className="formGroup">
<label>Observaciones</label>
<textarea
placeholder="Ingresa observaciones"
@@ -473,7 +456,7 @@ export default function Page() {
rows={5}
className="textAreaLarge"
/>
</div>
</div> */}
<div className="formActions">
<button
+15 -9
View File
@@ -168,8 +168,10 @@ export default function Editar() {
} | null;
tipoEquipo: { id_tipo_de_equipo: number; tipo_equipo: string } | null;
procesador_tipoequipo: {
id_procesador: number;
procesador: string;
id: number;
procesador: {
procesador: string;
};
} | null;
tipoUso: { id_uso: number; tipo_uso: string };
marca: { id_marca: number; marca: string };
@@ -217,7 +219,8 @@ export default function Editar() {
tipoEquipo: equipo.tipoEquipo?.tipo_equipo || "",
estado: equipo.estado?.estado || "",
sistemaOperativo: equipo.sistemaOperativo?.sistema_operativo || "",
procesador: equipo.procesador_tipoequipo?.procesador || "",
procesador:
equipo.procesador_tipoequipo?.procesador?.procesador || "",
tipoUso: equipo.tipoUso?.tipo_uso || "",
observaciones: equipo.observaciones || "",
adscripcion: equipo.adscripcion?.adscripcion || "",
@@ -440,15 +443,15 @@ export default function Editar() {
<div className="formGroup">
<label>Procesador</label>
<select
value={formData.procesador}
value={formData.procesador || ""}
onChange={(e) =>
setFormData({ ...formData, procesador: e.target.value })
handleInputChange("id_procesador", e.target.value)
}
>
<option value="">Selecciona procesador</option>
{PROCESADORES_POR_EQUIPO[formData.tipoEquipo]?.map((p) => (
<option key={p} value={p}>
{p}
<option key={p.id_procesador} value={p.id_procesador}>
{p.procesador}
</option>
))}
</select>
@@ -467,8 +470,11 @@ export default function Editar() {
>
<option value="">Selecciona sistema operativo</option>
{SO_POR_EQUIPO[formData.tipoEquipo]?.map((so) => (
<option key={so} value={so}>
{so}
<option
key={so.id_sistema_operativo}
value={so.id_sistema_operativo}
>
{so.sistema_operativo}
</option>
))}
</select>
+139 -82
View File
@@ -1,97 +1,154 @@
export const PROCESADORES_POR_EQUIPO: Record<string, string[]> = {
export const PROCESADORES_POR_EQUIPO: Record<
string,
{ id_procesador: number; procesador: string }[]
> = {
"ESCRITORIO PC": [
"i7 o equivalentes (13a generación en adelante)",
"i7 o equivalentes (9a - 12a generación)",
"i7 o equivalentes (5a - 8a generación)",
"i7 o equivalentes (1a - 4a generación)",
"i5 o equivalentes (13a generación en adelante)",
"i5 o equivalentes (9a - 12a generación)",
"i5 o equivalentes (5a - 8a generación)",
"i5 o equivalentes (1a - 4a generación)",
"i3 o equivalentes (13a generación en adelante)",
"i3 o equivalentes (9a - 12a generación)",
"i3 o equivalentes (5a - 8a generación)",
"i3 o equivalentes (1a - 4a generación)",
"Pentium Silver O Gold",
"Pentium Dual Core o anteriores",
"Celeron (adquirido en 2018 hasta la fecha)",
"Celeron Dual Core o anteriores",
"Core2 Duo, Quad Core, Pentium Dual Core o anteriores",
"Pentium Series J, G",
"Celeron Serie J, G",
{
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" },
{
id_procesador: 15,
procesador: "Celeron (adquirido en 2018 hasta la fecha)",
},
{ id_procesador: 16, procesador: "Celeron Dual Core o anteriores" },
{
id_procesador: 17,
procesador: "Core2 Duo, Quad Core, Pentium Dual Core o anteriores",
},
{ id_procesador: 18, procesador: "Pentium Series J, G" },
{ id_procesador: 19, procesador: "Celeron Serie J, G" },
],
"ESCRITORIO LINUX": [
"i7 o equivalentes (13a generación en adelante)",
"i7 o equivalentes (9a - 12a generación)",
"i7 o equivalentes (5a - 8a generación)",
"i7 o equivalentes (1a - 4a generación)",
"i5 o equivalentes (13a generación en adelante)",
"i5 o equivalentes (9a - 12a generación)",
"i5 o equivalentes (5a - 8a generación)",
"i5 o equivalentes (1a - 4a generación)",
"i3 o equivalentes (13a generación en adelante)",
"i3 o equivalentes (9a - 12a generación)",
"i3 o equivalentes (5a - 8a generación)",
"i3 o equivalentes (1a - 4a generación)",
"Pentium Silver O Gold",
"Pentium Dual Core o anteriores",
{
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" },
],
"PORTÁTILES WINDOWS": [
"i7 o equivalentes (13a generación en adelante)",
"i7 o equivalentes (9a - 12a generación)",
"i7 o equivalentes (5a - 8a generación)",
"i7 o equivalentes (1a - 4a generación)",
"i5 o equivalentes (13a generación en adelante)",
"i5 o equivalentes (9a - 12a generación)",
"i5 o equivalentes (5a - 8a generación)",
"i5 o equivalentes (1a - 4a generación)",
"i3 o equivalentes (13a generación en adelante)",
"i3 o equivalentes (9a - 12a generación)",
"i3 o equivalentes (5a - 8a generación)",
"i3 o equivalentes (1a - 4a generación)",
"Pentium Silver O Gold",
"Pentium Dual Core o anteriores",
{
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" },
],
"PORTÁTILES CHROMEBOOK": [
"i7 o equivalentes (13a generación en adelante)",
"i7 o equivalentes (9a - 12a generación)",
"i7 o equivalentes (5a - 8a generación)",
"i7 o equivalentes (1a - 4a generación)",
"i5 o equivalentes (13a generación en adelante)",
"i5 o equivalentes (9a - 12a generación)",
"i5 o equivalentes (5a - 8a generación)",
"i5 o equivalentes (1a - 4a generación)",
"i3 o equivalentes (13a generación en adelante)",
"i3 o equivalentes (9a - 12a generación)",
"i3 o equivalentes (5a - 8a generación)",
"i3 o equivalentes (1a - 4a generación)",
{
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)" },
],
"ESCRITORIO MAC OS": [
"Familia M2",
"Familia M1",
"i7 o equivalentes (9a - 12a generación)",
"i7 o equivalentes (1a - 4a generación)",
"i5 o equivalentes (9a - 12a generación)",
"i5 o equivalentes (5a - 8a generación)",
"i5 o equivalentes (1a - 4a generación)",
"i3 o equivalentes (1a - 4a generación)",
"Core2 Mac, Quad Core o anteriores",
{ 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" },
],
"PORTÁTILES MAC OS": [
"Familia M2",
"Familia M1",
"i7 o equivalentes (9a - 12a generación)",
"i7 o equivalentes (1a - 4a generación)",
"i5 o equivalentes (9a - 12a generación)",
"i5 o equivalentes (5a - 8a generación)",
"i5 o equivalentes (1a - 4a generación)",
"i3 o equivalentes (1a - 4a generación)",
"Core2 Mac, Quad Core o anteriores",
{ 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" },
],
SERVIDOR: [
"Xeon Bronce, Plata, Oro 1a generación",
"Xeon E3, E5, E7",
"Xeon Phi",
"Xeon o anteriores",
{ 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" },
{ id_procesador: 26, procesador: "Xeon o anteriores" },
],
};
+63 -25
View File
@@ -1,36 +1,74 @@
export const SO_POR_EQUIPO: Record<string, string[]> = {
export const SO_POR_EQUIPO: Record<
string,
{ id_sistema_operativo: number; sistema_operativo: string }[]
> = {
"ESCRITORIO PC": [
"Windows 11",
"Windows 10",
"Windows 7/8",
"Windows XP/Vista",
"Linux",
{ 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": [
"Mac OS (13 - Ventura, 14 - Sonoma)",
"Mac OS X (Mojave, Catalina, 11 - Big Sur, 12 - Monterrey)",
"Mac OS X (Yosemite, El Capitan, Sierra, High Sierra)",
"Mac OS X (Snow Leopard, Lion, Mountain Lion, Mavericks)",
{
id_sistema_operativo: 6,
sistema_operativo: "Mac OS (13 - Ventura, 14 - Sonoma)",
},
{
id_sistema_operativo: 7,
sistema_operativo:
"Mac OS X (Mojave, Catalina, 11 - Big Sur, 12 - Monterrey)",
},
{
id_sistema_operativo: 8,
sistema_operativo: "Mac OS X (Yosemite, El Capitan, Sierra, High Sierra)",
},
{
id_sistema_operativo: 9,
sistema_operativo:
"Mac OS X (Snow Leopard, Lion, Mountain Lion, Mavericks)",
},
],
"TABLETA ANDROID": [
"Windows 11",
"Windows 10",
"Windows 7/8",
"Windows XP/Vista",
"Chrome OS",
{ 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": [
"Mac OS (13 - Ventura, 14 - Sonoma)",
"Mac OS X (Mojave, Catalina, 11 - Big Sur, 12 - Monterrey)",
"Mac OS X (Yosemite, El Capitan, Sierra, High Sierra)",
"Mac OS X (Snow Leopard, Lion, Mountain Lion, Mavericks)",
{
id_sistema_operativo: 6,
sistema_operativo: "Mac OS (13 - Ventura, 14 - Sonoma)",
},
{
id_sistema_operativo: 7,
sistema_operativo:
"Mac OS X (Mojave, Catalina, 11 - Big Sur, 12 - Monterrey)",
},
{
id_sistema_operativo: 8,
sistema_operativo: "Mac OS X (Yosemite, El Capitan, Sierra, High Sierra)",
},
{
id_sistema_operativo: 9,
sistema_operativo:
"Mac OS X (Snow Leopard, Lion, Mountain Lion, Mavericks)",
},
],
SERVIDOR: [
"Linux (CentOS, Fedora, Ubuntu, Red Hat Enterprise, entre otros)",
"Unix (AIX, MAC OS Server, Solaris, entre otros)",
"Windows Server 2022/2023",
"Windows Server 2016/2019",
"Windows Server 2008/2012",
"Windows Server 2000/2003",
{
id_sistema_operativo: 12,
sistema_operativo:
"Linux (CentOS, Fedora, Ubuntu, Red Hat Enterprise, entre otros)",
},
{
id_sistema_operativo: 13,
sistema_operativo: "Unix (AIX, MAC OS Server, Solaris, entre otros)",
},
{ id_sistema_operativo: 14, sistema_operativo: "Windows Server 2022/2023" },
{ id_sistema_operativo: 15, sistema_operativo: "Windows Server 2016/2019" },
{ id_sistema_operativo: 16, sistema_operativo: "Windows Server 2008/2012" },
{ id_sistema_operativo: 17, sistema_operativo: "Windows Server 2000/2003" },
],
};