"use client"; import { useEffect, useState } from "react"; import axios from "axios"; import DownloadReporteXLSX from "../Dowload/Reporte"; interface ServicioReporte { id_servicio: number; servicio: string; total: string; } interface Props { desde: string | null; hasta: string | null; } function PorServicio({ desde, hasta }: Props) { const [servicios, setServicios] = useState([]); const [loading, setLoading] = useState(false); useEffect(() => { if (!desde || !hasta) return; const fetchServicios = async () => { setLoading(true); try { const res = await axios.post( `${process.env.NEXT_PUBLIC_API_URL}/detalle-servicio/rango`, { desde, hasta } ); setServicios(res.data); } catch (error) { console.error("Error al obtener reporte por servicio", error); } finally { setLoading(false); } }; fetchServicios(); }, [desde, hasta]); return (
{loading &&

Cargando...

} {!loading && servicios.length === 0 && ( )} {servicios.map((servicio) => ( ))}
Servicio Monto total
No hay servicios en este rango
{servicio.servicio} ${Number(servicio.total).toFixed(2)}
); } export default PorServicio;