From 7b2f33b2b43b56e20403b8c583ce893ab2390aa6 Mon Sep 17 00:00:00 2001 From: IO <320154041@pcpuma.acatlan.unam.mx> Date: Thu, 19 Mar 2026 10:54:30 -0500 Subject: [PATCH] added option todos to filter --- src/components/reporteGraficas/reporte.tsx | 48 ++++++++++++++++++---- 1 file changed, 39 insertions(+), 9 deletions(-) diff --git a/src/components/reporteGraficas/reporte.tsx b/src/components/reporteGraficas/reporte.tsx index decc5cc..3f723ff 100644 --- a/src/components/reporteGraficas/reporte.tsx +++ b/src/components/reporteGraficas/reporte.tsx @@ -49,13 +49,15 @@ export default function Reporte() { const [sistemasOperativos, setSistemasOperativos] = useState([]) const [soSeleccionado, setSoSeleccionado] = useState([]) - const [usos, setUsos] = useState([]) + const [usos, setUsos] = useState([{ id_uso: "0", tipo_uso: "Todos" }]) const [usoSeleccionado, setUsoSeleccionado] = useState([]) - const [antiguedad, setAntiguedad] = useState([{ antiguedad: "Menor a 2 años" }, { antiguedad: "Entre 2 y 3 años" }, { antiguedad: "Entre 4 y 5 años" }, { antiguedad: "Mayor a 6 años" }]) + const [antiguedad, setAntiguedad] = useState([{ antiguedad: "Todos" }, { antiguedad: "Menor a 2 años" }, { antiguedad: "Entre 2 y 3 años" }, { antiguedad: "Entre 4 y 5 años" }, { antiguedad: "Mayor a 6 años" }]) const [antiguedadSeleccionada, setAntiguedadSeleccionada] = useState([]) const [filtros, setFiltros] = useState(null) + const [filtrosTable, setFiltrosTable] = useState(null) + useEffect(() => { const cargarDatos = async () => { @@ -73,11 +75,25 @@ export default function Reporte() { axios.get(`${api_url}/equipos/sistemas-operativos`, { headers }), ]) - setAdscripciones(adscripcionRes.data) - setProcesadores(procesadorRes.data) - setUsos(usoRes.data) - setSistemasOperativos(soRes.data) + setAdscripciones([ + { id_adscripcion: "0", adscripcion: "Todos" }, + ...adscripcionRes.data + ]) + setProcesadores([ + { id_procesador: "0", procesador: "Todos" }, + ...procesadorRes.data + ]) + + setUsos([ + { id_uso: "0", tipo_uso: "Todos" }, + ...usoRes.data + ]) + + setSistemasOperativos([ + { id_sistema_operativo: "0", sistema_operativo: "Todos" }, + ...soRes.data + ]) } cargarDatos() @@ -106,7 +122,12 @@ export default function Reporte() { const generarReporte = () => { - const filtros = { + const limpiar = (arr: string[]) => { + if (arr.includes("0")) return [] + return arr + } + + const filtrosTable = { adscripciones: adscripcionesSeleccionadas.map(a => String(a.id_adscripcion)), procesadores: procesadorSeleccionado.map(p => String(p.id_procesador)), sistemas: soSeleccionado.map(s => String(s.id_sistema_operativo)), @@ -114,7 +135,16 @@ export default function Reporte() { antiguedad: antiguedadSeleccionada.map(u => String(u.antiguedad)) } + const filtros = { + adscripciones: limpiar(adscripcionesSeleccionadas.map(a => String(a.id_adscripcion))), + procesadores: limpiar(procesadorSeleccionado.map(p => String(p.id_procesador))), + sistemas: limpiar(soSeleccionado.map(s => String(s.id_sistema_operativo))), + usos: limpiar(usoSeleccionado.map(u => String(u.id_uso))), + antiguedad: limpiar(antiguedadSeleccionada.map(a => String(a.antiguedad))) + } + setFiltros(filtros) + setFiltrosTable(filtrosTable) } @@ -351,8 +381,8 @@ export default function Reporte() { filtros={filtros} /> - - + +