PageSourceSearch

https://carregamento3bs.lovable.app/assets/InspecoesVeiculosPage-CZnsYxVT.js

js carregamento3bs.lovable.app collected 2026-10-03 05:36:40 UTC 11,118 bytes, 1 lines download raw bytes

1import{u as Z,r as l,j as e}from"./react-vendor-BorBU4Bs.js";import{u as G,a as S}from"./query-vendor-dlntIC_S.js";import{a as J,b as W,s as u,ca as Y,B as x,A as ee,X as ae,I as se,Z as re,_ as te,$ as V,n as r,a0 as F,bt as oe,K as A,M as I,ay as q,bn as ne,b8 as N,m as L,bv as k,o as M,ba as b,c7 as ie,b6 as ce,c9 as le,aX as T}from"./index-DkhxOMdR.js";import{i as de}from"./printInspecaoVeiculo-DjtzCnfI.js";import"./radix-vendor-CazrR58L.js";import"./charts-vendor-BxJanGhU.js";import"./supabase-vendor-BxTHC7hl.js";import"./xlsx-vendor-DOnNs5_d.js";import"./qr-vendor-Ca1-Dxvv.js";const $=(h,o)=>{const i=o||h;return i==="aprovado"?e.jsxs(r,{variant:"outline",className:"bg-green-50 text-green-700 border-green-200",children:[e.jsx(b,{className:"h-3 w-3 mr-1"}),"Aprovado"]}):i==="aprovado_parcial"?e.jsxs(r,{variant:"outline",className:"bg-blue-50 text-blue-700 border-blue-200",children:[e.jsx(b,{className:"h-3 w-3 mr-1"}),"Aprovado Parcial"]}):i==="reprovado"?e.jsxs(r,{variant:"outline",className:"bg-red-50 text-red-700 border-red-200",children:[e.jsx(ce,{className:"h-3 w-3 mr-1"}),"Reprovado"]}):i==="aguardando_qualidade"?e.jsxs(r,{variant:"outline",className:"bg-amber-50 text-amber-700 border-amber-200",children:[e.jsx(N,{className:"h-3 w-3 mr-1"}),"Aguardando Qualidade"]}):e.jsx(r,{variant:"outline",children:i||"—"})};function be(){const h=Z(),{user:o}=J(),{toast:i}=W(),R=G(),[p,B]=l.useState(""),[E,z]=l.useState("todas"),[D,_]=l.useState(!1),[t,v]=l.useState(null),{data:s}=S({queryKey:["meu_profile_inspecoes_qualidade",o==null?void 0:o.id],enabled:!!(o!=null&&o.id),queryFn:async()=>{const{data:a,error:c}=await u.from("profiles").select("full_name, funcao, codigo, assinatura_url").eq("id",o.id).maybeSingle();if(c)throw c;return a}}),{data:g=[],isLoading:Q}=S({queryKey:["inspecoes_veiculos_lista"],queryFn:async()=>{const{data:a,error:c}=await u.from("inspecoes_veiculo_recebimento").select("*").order("created_at",{ascending:!1});if(c)throw c;return a||[]}}),d=l.useMemo(()=>{const a=p.trim().toLowerCase();return a?g.filter(n=>[n.materia_prima,n.fornecedor,n.placa,n.nf,n.nf_remessa,n.lote,n.transportadora,n.numero_inspecao!=null?`IN-${String(n.numero_inspecao).padStart(4,"0")}`:"",String(n.numero_inspecao||"")].filter(Boolean).some(m=>String(m).toLowerCase().includes(a))):g},[g,p]),j=l.useMemo(()=>d.filter(a=>!a.assinatura_verificador),[d]),w=a=>{if(!(s!=null&&s.assinatura_url)){i({title:"Nenhuma assinatura cadastrada",description:"Cadastre sua assinatura em Meu Perfil antes de assinar como Verificador.",variant:"destructive"});return}v(a),_(!0)},H=async()=>{if(!(!t||!(s!=null&&s.assinatura_url)||!o))try{const{data:a,error:c}=await u.storage.from("assinaturas-usuarios").download(s.assinatura_url);if(c)throw c;const n=await new Promise((X,U)=>{const f=new FileReader;f.onload=()=>X(f.result),f.onerror=U,f.readAsDataURL(a)}),m=new Date().toISOString(),K=`Inspeção ${t.id} • Placa ${t.placa||"—"}`,O=await le({inspecao_id:t.id,materia_prima:t.materia_prima,lote:t.lote,nf:t.nf,placa:t.placa,verificador_nome:s.full_name,codigo:s.co
1digo||null,assinado_em:m,papel:"verificador"}),{error:C}=await u.from("inspecoes_veiculo_recebimento").update({assinatura_verificador:n,verificador_id:o.id,verificador_nome:s.full_name,updated_at:m}).eq("id",t.id);if(C)throw C;const{error:P}=await u.from("assinaturas_documentos").insert({user_id:o.id,tipo_documento:"inspecao_veiculo",documento_id:t.id,documento_ref:K,papel:"verificador",assinatura_url:s.assinatura_url,nome_assinante:s.full_name,funcao_assinante:s.funcao||null,codigo_assinante:s.codigo||null,hash_conteudo:O,assinado_em:m,user_agent:navigator.userAgent});i({title:"Inspeção assinada como Verificador ✓",description:"Assinatura registrada no histórico."}),await R.invalidateQueries({queryKey:["inspecoes_veiculos_lista"]}),v(null)}catch(a){i({title:"Erro ao assinar",description:a.message,variant:"destructive"})}},y=a=>de(a);return e.jsxs("div",{className:"space-y-4 p-4 md:p-6",children:[e.jsxs("div",{className:"flex flex-col items-center text-center gap-2 mb-6",children:[e.jsx("div",{className:"flex h-12 w-12 items-center justify-center rounded-xl bg-primary/20 text-primary",children:e.jsx(Y,{className:"h-6 w-6"})}),e.jsx("h1",{className:"text-2xl font-bold text-foreground",children:"Inspeções de Veículos"}),e.jsxs("p",{className:"text-sm text-muted-foreground",children:["Histórico das inspeções realizadas no recebimento — vinculadas ao registro ",e.jsx("span",{className:"font-semibold text-foreground",children:"RQ 01.02"}),"."]})]}),e.jsxs(x,{variant:"ghost",size:"sm",className:"-ml-2 mb-2",onClick:()=>h("/qualidade"),children:[e.jsx(ee,{className:"h-4 w-4 mr-1"})," Voltar"]}),e.jsxs("div",{className:"relative max-w-md",children:[e.jsx(ae,{className:"h-4 w-4 absolute left-3 top-1/2 -translate-y-1/2 text-muted-foreground"}),e.jsx(se,{placeholder:"Buscar por IN, produto, fornecedor, placa, NF, NF remessa, lote...",value:p,onChange:a=>B(a.target.value),className:"pl-9"})]}
1),Q?e.jsx("div",{className:"flex justify-center py-12",children:e.jsx("div",{className:"animate-spin h-8 w-8 border-4 border-primary border-t-transparent rounded-full"})}):e.jsxs(re,{value:E,onValueChange:z,children:[e.jsxs(te,{children:[e.jsxs(V,{value:"todas",children:["Todas ",e.jsx(r,{variant:"secondary",className:"ml-2",children:d.length})]}),e.jsxs(V,{value:"pendentes",children:["Pendentes Verificação",e.jsx(r,{variant:"destructive",className:"ml-2",children:j.length})]})]}),e.jsx(F,{value:"todas",className:"mt-4",children:d.length===0?e.jsxs("div",{className:"text-center py-12 text-muted-foreground",children:[e.jsx(oe,{className:"h-12 w-12 mx-auto mb-3 opacity-30"}),e.jsx("p",{className:"text-sm",children:"Nenhuma inspeção encontrada."})]}):e.jsx("div",{className:"grid gap-3",children:d.map(a=>e.jsx(A,{children:e.jsx(I,{className:"p-4",children:e.jsxs("div",{className:"flex items-start justify-between gap-4 flex-wrap",children:[e.jsxs("div",{className:"flex-1 space-y-2 min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[a.numero_inspecao!=null&&e.jsxs(r,{variant:"outline",className:"bg-indigo-50 text-indigo-700 border-indigo-200 font-mono",children:["IN-",String(a.numero_inspecao).padStart(4,"0")]}),e.jsxs(r,{variant:"outline",className:"bg-blue-50 text-blue-700 border-blue-200 gap-1",children:[e.jsx(q,{className:"h-3 w-3"})," ",a.tipo_carga||"Veículo"]}),$(a.resultado,a.decisao_qualidade),a.assinatura_verificador?e.jsxs(r,{variant:"outline",className:"bg-green-50 text-green-700 border-green-200 gap-1",children:[e.jsx(ne,{className:"h-3 w-3"})," Verificada"]}):e.jsxs(r,{variant:"outline",className:"bg-amber-50 text-amber-700 border-amber-200 gap-1",children:[e.jsx(N,{className:"h-3 w-3"})," Sem verificador"]}),e.jsx("span",{className:"text-xs text-muted-foreground",children:a.created_at&&L(new Date(a.created_at),"dd/MM/yyyy HH:mm",{locale:T})})]}),e.jsxs("p",{className:"font-semibold text-sm",children:[a.materia_prima||"Sem produto",a.nf_remessa?` • NF Remessa ${a.nf_remessa}`:"",a.lote?` • Lote ${a.lote}`:""]}),e.jsxs("p",{className:"text-xs text-muted-foreground",children:[a.fornecedor&&e.jsxs(e.Fragment,{children:["Fornecedor: ",e.jsx("span",{className:"text-foreground",children:a.fornecedor})," • "]}),a.placa&&e.jsxs(e.Fragment,{children:["Placa: ",e.jsx("span",{className:"text-foreground",children:a.placa})," • "]}),a.nf&&e.jsxs(e.Fragment,{children:["NF: ",e.jsx("span",{className:"text-foreground",children:a.nf})]})]}),e.jsxs("p",{className:"text-xs text-muted-foreground",children:["Monitor: ",e.jsx("span",{className:"text-foreground",children:a.nome_monitor||"—"})," • ","Verificador:"," ",e.jsx("span",{className:"text-foreground",children:a.verificador_nome||"—"})]}),a.descricao_nao_conformidade&&e.jsx("div",{className:"rounded bg-red-50 border border-red-200 px-2 py-1",children:e.jsxs("p",{className:"text-xs text-red-700",children:[e.jsx("span",{className:"font-semibold",children:"NC:"})," ",a.descricao_nao_conformidade]})})]}),e.jsxs("div",{className:"flex flex-col gap-2",children:[!a.assinatura_verificador&&e.jsxs(x,{size:"sm",onClick:()=>w(a),children:[e.jsx(k,{className:"h-4 w-4 mr-1"})," Assinar como Verificador"]}),e.jsxs(x,{size:"sm",variant:"outline",onClick:()=>y(a),children:[e.jsx(M,{className:"h-4 w-4 mr-1"})," Imprimir"]})]})]})})},a.id))})}),e.jsx(F,{value:"pendentes",className:"mt-4",children:j.length===0?e.jsxs("div",{className:"text-center py-12 text-muted-foreground",children:[e.jsx(b,{className:"h-12 w-12 mx-auto mb-3 opacity-30 text-green-600"}),e.jsx("p",{className:"text-sm",children:"Nenhuma inspeção pendente de verificação. ✓"})]}):e.jsx("div",{className:"grid gap-3",children:j.map(a=>e.jsx(A,{className:"border-amber-200",children:e.jsx(I,{className:"p-4",children:e.jsxs("div",{className:"flex items-start justify-between gap-4 flex-wrap",children:[e.jsxs("div",{className:"flex-1 space-y-2 min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[a.numero_inspecao!=null&&e.jsxs(r,{variant:"outline",className:"bg-indigo-50 text-indigo-700 border-indigo-200 font-mono",children:["IN-",String(a.numero_inspecao).padStart(4,"0")]}),e.jsxs(r,{variant:"outline",className:"bg-blue-50 text-blue-700 border-blue-200 gap-1",children:[e.jsx(q,{className:"h-3 w-3"})," ",a.tipo_carga||"Veículo"]}),$(a.resultado,a.decisao_qualidade),e.jsxs(r,{variant:"outline",className:"bg-amber-50 text-amber-700 border-amber-200 gap-1",children:[e.jsx(N,{className:"h-3 w-3"})," Aguardando Verificador"]}),e.jsx("span",{className:"text-xs text-muted-foreground",children:a.created_at&&L(new Date(a.created_at),"dd/MM/yyyy HH:mm",{locale:T})})]}),e.jsxs("p",{className:"font-semibold text-sm",children:[a.materia_prima||"Sem produto",a.nf_remessa?` • NF Remessa ${a.nf_remessa}`:"",a.lote?` • Lote ${a.lote}`:""]}),e.jsxs("p",{className:"text-xs text-muted-foreground",children:[a.fornecedor&&e.jsxs(e.Fragment,{children:["Fornecedor: ",e.jsx("span",{className:"text-foreground",children:a.fornecedor})," • "]}),a.placa&&e.jsxs(e.Fragment,{children:["Placa: ",e.jsx("span",{className:"text-foreground",children:a.placa})," • "]}),a.nf&&e.jsxs(e.Fragment,{children:["NF: ",e.jsx("span",{className:"text-foreground",children:a.nf})]})]}),e.jsxs("p",{className:"text-xs text-muted-foreground",children:["Monitor que preencheu: ",e.jsx("span",{className:"text-foreground font-medium",children:a.nome_monitor||"—"})]})]}),e.jsxs("div",{className:"flex flex-col gap-2",children:[e.jsxs(x,{size:"sm",onClick:()=>w(a),children:[e.jsx(k,{className:"h-4 w-4 mr-1"})," Assinar como Verificador"]}),e.jsxs(x,{size:"sm",variant:"outline",onClick:()=>y(a),children:[e.jsx(M,{className:"h-4 w-4 mr-1"})," Imprimir"]})]})]})})},a.id))})})]}),t&&e.jsx(ie,{open:D,onOpenChange:_,documentoLabel:`Inspeção • ${t.materia_prima||""} • Placa ${t.placa||"—"}`,papelLabel:"Verificador (Qualidade)",assinanteNome:(s==null?void 0:s.full_name)||"",assinanteCodigo:(s==null?void 0:s.codigo)||null,onConfirmed:H})]})}export{be as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.