import React, { useState } from 'react'; import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card'; import { Button } from '@/components/ui/button'; import { Input } from '@/components/ui/input'; import { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs'; import { CheckCircle, Search, Download, Filter, Truck } from 'lucide-react'; import { useOFsConcluidas } from '@/hooks/useOFsConcluidas'; import { OFConcluidaCard } from '@/components/of/OFConcluidaCard'; import { toast } from 'sonner'; const OFsConcluidas = () => { const [searchTerm, setSearchTerm] = useState(''); const [activeTab, setActiveTab] = useState('concluidas'); const { ofsConcluidas, ofsEntregues, entregarOF, reverterEntregueParaConcluida, reverterConcluidaParaAtiva, loading } = useOFsConcluidas(); const handleEntregarOF = async (of: any) => { try { await entregarOF(of.id); toast.success('OF marcada como entregue com sucesso!'); } catch (error) { toast.error('Erro ao marcar OF como entregue'); } }; const handleReverterEntregue = async (of: any) => { try { await reverterEntregueParaConcluida(of.id); toast.success('OF revertida para concluída com sucesso!'); } catch (error) { toast.error('Erro ao reverter OF entregue'); } }; const handleReverterConcluida = async (of: any) => { try { await reverterConcluidaParaAtiva(of.id); toast.success('OF reativada com sucesso!'); } catch (error) { toast.error('Erro ao reativar OF'); } }; const filterOFs = (ofs: any[]) => { if (!searchTerm) return ofs; return ofs.filter(of => of.num_of.toLowerCase().includes(searchTerm.toLowerCase()) || of.descritivo?.toLowerCase().includes(searchTerm.toLowerCase()) ); }; const filteredOfsConcluidas = filterOFs(ofsConcluidas); const filteredOfsEntregues = filterOFs(ofsEntregues); if (loading) { return (
Carregando OFs...
Histórico de ordens de fabricação finalizadas
{searchTerm ? 'Nenhuma OF concluída encontrada com esse termo' : 'Nenhuma OF concluída encontrada'}
As OFs finalizadas aparecerão aqui
{searchTerm ? 'Nenhuma OF entregue encontrada com esse termo' : 'Nenhuma OF entregue encontrada'}
As OFs entregues aparecerão aqui
Relatórios em desenvolvimento
Em breve você poderá gerar relatórios detalhados