153 lines
3.9 KiB
TypeScript
153 lines
3.9 KiB
TypeScript
"use client";
|
|
import { useState, useEffect } from "react";
|
|
import "@/app/styles/layout/pregunta4EP.scss";
|
|
import Cookies from "js-cookie";
|
|
import axios from "axios";
|
|
import ToggleButton from "../Toggle/ToggleButton";
|
|
|
|
interface EquiposDigitalizacion {
|
|
digitalizadorCamaPlana: string;
|
|
d3D: string;
|
|
digitalizadorAlimentador: string;
|
|
digitalizadorGranVolumen: string;
|
|
}
|
|
|
|
export default function Pregunta4EP() {
|
|
const [equipos, setEquipos] = useState<EquiposDigitalizacion>({
|
|
digitalizadorCamaPlana: "0",
|
|
d3D: "0",
|
|
digitalizadorAlimentador: "0",
|
|
digitalizadorGranVolumen: "0",
|
|
});
|
|
|
|
const api_url = process.env.NEXT_PUBLIC_API_URL;
|
|
|
|
const cargarDatos = async (baja: boolean) => {
|
|
const token = Cookies.get("token");
|
|
const headers = { Authorization: `Bearer ${token}` };
|
|
|
|
const body = baja ? ["BAJA"] : ["EN DESUSO", "EN USO"];
|
|
|
|
axios
|
|
.post(
|
|
`${api_url}/equipos/reporte/equipos_impesion_group/dijitales`,
|
|
body,
|
|
{
|
|
headers,
|
|
}
|
|
)
|
|
.then((res) => {
|
|
const data = res.data;
|
|
|
|
const valores = {
|
|
digitalizadorCamaPlana: "0",
|
|
d3D: "0",
|
|
digitalizadorAlimentador: "0",
|
|
digitalizadorGranVolumen: "0",
|
|
};
|
|
|
|
data.forEach((item: any) => {
|
|
const periferico = item.periferico.toUpperCase().trim();
|
|
const total = item.total ?? "0";
|
|
|
|
switch (periferico) {
|
|
case "DIGITALIZADOR DE CAMA PLANA PARA OFICINA":
|
|
valores.digitalizadorCamaPlana = total;
|
|
break;
|
|
|
|
case "3D":
|
|
valores.d3D = total;
|
|
break;
|
|
|
|
case "DIGITALIZADOR CON ALIMENTADOR DE HOJAS PARA OFICINA":
|
|
valores.digitalizadorAlimentador = total;
|
|
break;
|
|
|
|
case "DIGITALIZADOR DE GRAN VOLUMEN":
|
|
valores.digitalizadorGranVolumen = total;
|
|
break;
|
|
}
|
|
});
|
|
|
|
setEquipos(valores);
|
|
})
|
|
|
|
.catch((err) => {
|
|
console.error("Error:", err);
|
|
});
|
|
};
|
|
|
|
useEffect(() => {
|
|
cargarDatos(false);
|
|
}, []);
|
|
|
|
return (
|
|
<div className="container">
|
|
<div className="contenedor-censo">
|
|
Censo de equipos periféricos - Equipo de digitalización
|
|
</div>
|
|
|
|
<div className="pregunta-cuadro">
|
|
Número de equipos de digitalización.
|
|
<ToggleButton
|
|
onChange={(estado) => {
|
|
cargarDatos(estado);
|
|
}}
|
|
/>
|
|
</div>
|
|
|
|
<div className="grid">
|
|
<div className="item">
|
|
<label htmlFor="digitalizadorCamaPlana">
|
|
Digitalizador de cama plana para oficina
|
|
</label>
|
|
<input
|
|
type="text"
|
|
id="digitalizadorCamaPlana"
|
|
name="digitalizadorCamaPlana"
|
|
value={equipos.digitalizadorCamaPlana}
|
|
disabled
|
|
/>
|
|
</div>
|
|
|
|
<div className="item">
|
|
<label htmlFor="digitalizador3d">3D</label>
|
|
<input
|
|
type="text"
|
|
id="digitalizador3d"
|
|
name="digitalizador3d"
|
|
value={equipos.d3D}
|
|
disabled
|
|
/>
|
|
</div>
|
|
|
|
<div className="item">
|
|
<label htmlFor="digitalizadorAlimentador">
|
|
Digitalizador con alimentador de hojas para oficina
|
|
</label>
|
|
<input
|
|
type="text"
|
|
id="digitalizadorAlimentador"
|
|
name="digitalizadorAlimentador"
|
|
value={equipos.digitalizadorAlimentador}
|
|
disabled
|
|
/>
|
|
</div>
|
|
|
|
<div className="item">
|
|
<label htmlFor="digitalizadorGranVolumen">
|
|
Digitalizador de gran volumen
|
|
</label>
|
|
<input
|
|
type="text"
|
|
id="digitalizadorGranVolumen"
|
|
name="digitalizadorGranVolumen"
|
|
value={equipos.digitalizadorGranVolumen}
|
|
disabled
|
|
/>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
);
|
|
}
|