feat: adicionar gestao de revisoes simples e criticas de pecas com integracao a apontamentos

This commit is contained in:
Marcos Reifonas
2026-10-07 22:48:50 -03:00
parent 8755852fbd
commit c239dffdee
9 changed files with 1715 additions and 4 deletions
+28 -1
View File
@@ -2,7 +2,8 @@
import React from 'react';
import { Table, TableBody, TableHeader } from '@/components/ui/table';
import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card';
import { Package } from 'lucide-react';
import { Package, FileText, AlertTriangle } from 'lucide-react';
import { Button } from '@/components/ui/button';
import { Peca } from '@/hooks/usePecas';
import { usePecasTable } from '@/hooks/usePecasTable';
import { TableFilters } from './table/TableFilters';
@@ -22,6 +23,9 @@ interface PecasTableProps {
onEditPeca?: (peca: Peca) => void;
onDeleteLastImport?: () => void;
onBatchUpdatePecas?: (pecaIds: string[], updates: any) => Promise<void>;
onOpenRevisaoPeca?: (peca: Peca) => void;
onOpenPainelRevisoes?: () => void;
totalRevisoesOF?: number;
hasRecentImport: boolean;
canEdit?: boolean;
canDelete?: boolean;
@@ -36,6 +40,9 @@ export function PecasTable({
onEditPeca,
onDeleteLastImport,
onBatchUpdatePecas,
onOpenRevisaoPeca,
onOpenPainelRevisoes,
totalRevisoesOF,
hasRecentImport,
canEdit = true,
canDelete = true,
@@ -169,6 +176,25 @@ export function PecasTable({
/>
<div className="flex items-center gap-2">
{onOpenPainelRevisoes && (
<Button
type="button"
variant="outline"
size="sm"
onClick={onOpenPainelRevisoes}
className="h-8 border-red-500/60 bg-red-950/20 text-red-400 hover:bg-red-900/40 hover:text-red-200 font-bold flex items-center gap-1.5 transition-all shadow-sm"
title="Abrir Registro e Gestão de Revisões da OF"
>
<FileText className="h-3.5 w-3.5 text-red-400" />
<span>REG.REVISOES</span>
{totalRevisoesOF !== undefined && totalRevisoesOF > 0 && (
<span className="ml-1 px-1.5 py-0.2 rounded-full text-[10px] bg-red-500 text-white font-black">
{totalRevisoesOF}
</span>
)}
</Button>
)}
{canEdit && onBatchUpdatePecas && (
<BatchEditButton
selectedPecas={selectedPecas}
@@ -209,6 +235,7 @@ export function PecasTable({
onEdit={() => handleEditPeca(peca)}
onDelete={() => handleDeletePeca(peca.id)}
onOpenComponentPopup={() => onOpenComponentPopup(peca.id)}
onOpenRevisao={() => onOpenRevisaoPeca?.(peca)}
/>
))}
</TableBody>