"use client"; import { Button } from "@/components/ui/button"; import { FileDown, BarChart2, Users, DollarSign, TrendingUp, UserCheck, CalendarCheck, ThumbsUp, User, Briefcase } from "lucide-react"; import jsPDF from "jspdf"; import { BarChart, Bar, XAxis, YAxis, CartesianGrid, Tooltip, Legend, ResponsiveContainer, LineChart, Line, PieChart, Pie, Cell } from "recharts"; // Dados fictícios para demonstração const metricas = [ { label: "Atendimentos", value: 1240, icon: }, { label: "Absenteísmo", value: "7,2%", icon: }, { label: "Satisfação", value: "92%", icon: }, { label: "Faturamento (Mês)", value: "R$ 45.000", icon: }, { label: "No-show", value: "5,1%", icon: }, ]; const consultasPorPeriodo = [ { periodo: "Jan", consultas: 210 }, { periodo: "Fev", consultas: 180 }, { periodo: "Mar", consultas: 250 }, { periodo: "Abr", consultas: 230 }, { periodo: "Mai", consultas: 270 }, { periodo: "Jun", consultas: 220 }, ]; const faturamentoMensal = [ { mes: "Jan", valor: 35000 }, { mes: "Fev", valor: 29000 }, { mes: "Mar", valor: 42000 }, { mes: "Abr", valor: 38000 }, { mes: "Mai", valor: 45000 }, { mes: "Jun", valor: 41000 }, ]; const taxaNoShow = [ { mes: "Jan", noShow: 6.2 }, { mes: "Fev", noShow: 5.8 }, { mes: "Mar", noShow: 4.9 }, { mes: "Abr", noShow: 5.5 }, { mes: "Mai", noShow: 5.1 }, { mes: "Jun", noShow: 4.7 }, ]; const pacientesMaisAtendidos = [ { nome: "Ana Souza", consultas: 18 }, { nome: "Bruno Lima", consultas: 15 }, { nome: "Carla Menezes", consultas: 13 }, { nome: "Diego Alves", consultas: 12 }, { nome: "Fernanda Dias", consultas: 11 }, ]; const medicosMaisProdutivos = [ { nome: "Dr. Carlos Andrade", consultas: 62 }, { nome: "Dra. Paula Silva", consultas: 58 }, { nome: "Dr. João Pedro", consultas: 54 }, { nome: "Dra. Marina Costa", consultas: 51 }, ]; const convenios = [ { nome: "Unimed", valor: 18000 }, { nome: "Bradesco", valor: 12000 }, { nome: "SulAmérica", valor: 9000 }, { nome: "Particular", valor: 15000 }, ]; const performancePorMedico = [ { nome: "Dr. Carlos Andrade", consultas: 62, absenteismo: 4.8 }, { nome: "Dra. Paula Silva", consultas: 58, absenteismo: 6.1 }, { nome: "Dr. João Pedro", consultas: 54, absenteismo: 7.5 }, { nome: "Dra. Marina Costa", consultas: 51, absenteismo: 5.2 }, ]; const COLORS = ["#10b981", "#6366f1", "#f59e42", "#ef4444"]; function exportPDF(title: string, content: string) { const doc = new jsPDF(); doc.text(title, 10, 10); doc.text(content, 10, 20); doc.save(`${title.toLowerCase().replace(/ /g, '-')}.pdf`); } export default function RelatoriosPage() { return (

Dashboard Executivo de Relatórios

{/* Métricas principais */}
{metricas.map((m) => (
{m.icon} {m.value} {m.label}
))}
{/* Gráficos e Relatórios */}
{/* Consultas realizadas por período */}

Consultas por Período

{/* Faturamento mensal/anual */}

Faturamento Mensal

{/* Taxa de no-show */}

Taxa de No-show

{/* Indicadores de satisfação */}

Satisfação dos Pacientes

92% Índice de satisfação geral
{/* Pacientes mais atendidos */}

Pacientes Mais Atendidos

{pacientesMaisAtendidos.map((p) => ( ))}
Paciente Consultas
{p.nome} {p.consultas}
{/* Médicos mais produtivos */}

Médicos Mais Produtivos

{medicosMaisProdutivos.map((m) => ( ))}
Médico Consultas
{m.nome} {m.consultas}
{/* Análise de convênios */}

Análise de Convênios

{convenios.map((entry, index) => ( ))}
{/* Performance por médico */}

Performance por Médico

{performancePorMedico.map((m) => ( ))}
Médico Consultas Absenteísmo (%)
{m.nome} {m.consultas} {m.absenteismo}
); }