PageSourceSearch

https://santabarbara.ba.gov.br/assets/TermoAditivoForm-B4qbaHhK.js

js santabarbara.ba.gov.br collected 2026-09-25 09:14:43 UTC 11,372 bytes, 1 lines download raw bytes

1import{c as ge,u as _,b as fe,j as e}from"./vendor-query-CAW0R6Fd.js";import{j as Ne,f as ye,r as t}from"./vendor-react-BIBNHc4z.js";import{l as be}from"./licitacoes.service-D4EA9Lga.js";import{u as Ae,c as Ce,a as Se,b as Fe}from"./termos-aditivos.service-CBTBUDeH.js";import{b as _e,d as Te,a as Pe,c as we,e as Ee}from"./upload.service-F-3d7jjz.js";import{g as Ie,B as d,A as qe,aP as De,j as ee,t as ae,v as se,x as te,k as ie,L as o,o as re,X as oe,I as ne,aX as ke}from"./index-DxX8Lkqr.js";import{I as x}from"./input-CeFgxTaw.js";import{T as Be}from"./textarea-BuWWaW-H.js";import{S as ce,a as de,b as le,c as me,d as y}from"./select-BXEbz950.js";import{a as Ve,c as ze,p as $e}from"./masked-input-Txg22Lvh.js";import{B as Oe,a as Ke,b as T,c as ue,d as xe,e as Ue}from"./breadcrumb-CROoalp1.js";import{g as Le}from"./utils-objBp_8x.js";import"./storage-qMEd4SuO.js";import"./ui-radix-CMPBktV5.js";function ia(){const{contratoId:i,termoId:v}=Ne(),P=ye(),{toast:p}=Ie(),ve=ge(),h=v&&v!=="novo",[j,g]=t.useState(1),[w,E]=t.useState(""),[b,I]=t.useState(""),[q,D]=t.useState(""),[k,B]=t.useState(""),[V,z]=t.useState(""),[$,O]=t.useState(""),[A,K]=t.useState(""),[U,L]=t.useState(""),[R,M]=t.useState(""),[Q,J]=t.useState("vigente"),[n,C]=t.useState([]),[f,X]=t.useState(!1),{data:S}=_({queryKey:["contrato",i],enabled:!!i,queryFn:async()=>be.getById(i)}),{data:F}=_({queryKey:["termos_aditivos_tipos"],queryFn:()=>Se()}),{data:s}=_({queryKey:["termo_aditivo",v,i],enabled:h&&!!i,queryFn:()=>Fe(v,i)});t.useEffect(()=>{if(s){if(E(s.numero_aditivo),I(s.tipo_aditivo),D(s.data_assinatura),B(s.vigencia_inicio),z(s.vigencia_fim),s.valor_aditivo){const a=Math.round(s.valor_aditivo*100).toString();O(Ve(a))}s.percentual_aditivo&&K(s.percentual_aditivo.toString()),L(s.justificativa),M(s.data_publicacao||""),J(s.status),s.anexos&&C(s.anexos)}},[s]);const H=async(a,c)=>{if(!(!a||a.length===0)){X(!0);try{const r=[];for(let N=0;N<a.length;N++){const u=a[N],pe=new Date().getFullYear(),he=_e("termos-aditivos",pe,i,`${Date.now()}_${Te(u.name)}`),je=await Pe({bucket:"transparencia",path:he,file:u,upsert:!0});r.push({nome:u.name,url:je.publicUrl,tamanho:u.size,tipo:c,data_anexo:Le(new Date,"yyyy-MM-dd")})}C([...n,...r]),p({title:"Arquivo(s) enviado(s)",description:`${r.length} arquivo(s) adicionado(s) com sucesso.`})}catch(r){console.error("Erro ao fazer upload:",r),p({title:"Erro no upload",description:we(r),variant:"destructive"})}finally{X(!1)}}},Y=async a=>{const c=n[a];try{const r=c.url.split("/transparencia/")[1];r&&await Ee({bucket:"transparencia",path:r}),C(n.filter((N,u)=>u!==a)),p({title:"Arquivo removido",description:"O arquivo foi excluído com sucesso."})}catch(r){console.error("Erro ao remover arquivo:",r)}},G=["valor","prazo_valor","reajuste"].includes(b),l=fe({mutationFn:async()=>{const a={numero_aditivo:w,tipo_aditivo:b,data_assinatura:q,vigencia_inicio:k,vigencia_fim:V,valor_aditivo:G?$e($):null,percentual_aditivo:A?parseFloat(A):null,justificativa:U,data_publicacao:R||null,status:Q,anexos:n,created_by:null};return h?Ae(v,i,a):Ce(i,a)},onSuccess:()=>{p({title:h?"Termo Aditivo atualizado":"Termo Aditivo cadastrado",description:"Operação realizada com sucesso."}),ve.invalidateQueries({queryKey:["termos_aditivos",i]}),P(`/painel/admin/transparencia/contratos/${i}/editar`)},onError:a=>{console.error("Erro ao salvar:",a),p({title:"Erro ao salvar",description:"Não foi possível salvar o termo aditivo.",variant:"destructive"})}}),m=S==null?void 0:S.metadados,W=(m==null?void 0:m.numero_contrato)||"N/A",Z=(m==null?void 0:m.contratada)||"";return e.jsxs("div",{className:"space-y-4",children:[e.jsx(Oe,{children:e.jsxs(Ke,{children:[e.jsx(T,{children:e.jsx(ue,{href:"/painel/admin/transparencia/contratos",children:"Contratos"})}),e.jsx(xe,{}),e.jsx(T,{children:e.jsxs(ue,{href:`/painel/admin/transparencia/contratos/${i}/editar`,children:["Contrato ",W]})}),e.jsx(xe,{}),e.jsx(T,{children:e.jsx(Ue,{children:h?"Editar Termo Aditivo":"Novo Termo Aditivo"})})]})}),e.jsxs("div",{className:"flex items-center gap-4 mb-6",children:[e.jsx(d,{variant:"outline",size:"icon",onClick:()=>P(`/painel/admin/transparencia/contratos/${i}/editar`),children:e.jsx(qe,{className:"h-4 w-4"})}),e.jsx("h1",{className:"text-2xl font-bold flex-1",children:h?"Editar Termo Aditivo":"Novo Termo Aditivo"}),e.jsxs(d,{onClick:()=>l.mutate(),disabled:l.isPending,children:[e.jsx(De,{className:"h-4 w-4 mr-2"}),l.isPending?"Salvando...":"Salvar"]})]}),e.jsxs("div",{className:"flex items-center gap-2 mb-6",children:[e.jsxs("div",{className:`flex items-center gap-2 px-4 py-2 rounded-lg cursor-pointer ${j===1?"bg-primary text-primary-foreground":"bg-muted"}`,onClick:()=>g(1),children:[e.jsx("span",{className:"font-semibold",children:"1"}),e.jsx("span",{children:"Informações"})]}),e.jsxs("div",{className:`flex items-center gap-2 px-4 py-2 rounded-lg cursor-pointer ${j===2?"bg-primary text-primary-foreground":"bg-muted"}`,onClick:()=>g(2),children:[e.jsx("span",{className:"font-semibold",children:"2"}),e.jsx("span",{children:"Documentos"})]})]}),j===1&&e.jsxs(ee,{children:[e.jsxs(ae,{children:[e.jsx(se,{children:"Informações do Termo Aditivo"}
1),e.jsx(te,{children:"Preencha os dados do termo aditivo vinculado ao contrato"})]}),e.jsxs(ie,{className:"space-y-6",children:[e.jsxs("div",{className:"p-4 bg-muted rounded-lg",children:[e.jsx(o,{className:"text-xs text-muted-foreground",children:"Contrato Vinculado"}),e.jsxs("p",{className:"font-semibold",children:["Contrato nº ",W]}),Z&&e.jsx("p",{className:"text-sm text-muted-foreground",children:Z})]}),e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(o,{htmlFor:"numeroAditivo",children:"Número do Termo Aditivo *"}),e.jsx(x,{id:"numeroAditivo",value:w,onChange:a=>E(a.target.value),placeholder:"Ex: 01/2025"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(o,{htmlFor:"tipoAditivo",children:"Tipo de Aditivo *"}),e.jsxs(ce,{value:b,onValueChange:I,children:[e.jsx(de,{children:e.jsx(le,{placeholder:"Selecione o tipo"})}),e.jsx(me,{children:F==null?void 0:F.map(a=>e.jsx(y,{value:a.slug,children:a.nome},a.id))})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(o,{htmlFor:"dataAssinatura",children:"Data de Assinatura *"}),e.jsx(x,{id:"dataAssinatura",type:"date",value:q,onChange:a=>D(a.target.value)})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(o,{htmlFor:"dataPublicacao",children:"Data de Publicação"}),e.jsx(x,{id:"dataPublicacao",type:"date",value:R,onChange:a=>M(a.target.value)})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(o,{htmlFor:"vigenciaInicio",children:"Vigência Início *"}
1),e.jsx(x,{id:"vigenciaInicio",type:"date",value:k,onChange:a=>B(a.target.value)})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(o,{htmlFor:"vigenciaFim",children:"Vigência Término *"}),e.jsx(x,{id:"vigenciaFim",type:"date",value:V,onChange:a=>z(a.target.value)})]}),G&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(o,{htmlFor:"valorAditivo",children:"Valor do Aditivo (R$)"}),e.jsx(ze,{id:"valorAditivo",value:$,onChange:a=>O(a),placeholder:"R$ 0,00"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(o,{htmlFor:"percentualAditivo",children:"Percentual do Aditivo (%)"}),e.jsx(x,{id:"percentualAditivo",type:"number",step:"0.01",value:A,onChange:a=>K(a.target.value),placeholder:"Ex: 25.00"})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(o,{htmlFor:"status",children:"Situação *"}),e.jsxs(ce,{value:Q,onValueChange:J,children:[e.jsx(de,{children:e.jsx(le,{})}),e.jsxs(me,{children:[e.jsx(y,{value:"vigente",children:"Vigente"}),e.jsx(y,{value:"encerrado",children:"Encerrado"}),e.jsx(y,{value:"cancelado",children:"Cancelado"})]})]})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(o,{htmlFor:"justificativa",children:"Justificativa / Objeto do Aditivo *"}),e.jsx(Be,{id:"justificativa",value:U,onChange:a=>L(a.target.value),placeholder:"Descreva o objeto e a justificativa do termo aditivo...",rows:4})]}),e.jsx("div",{className:"flex justify-end",children:e.jsx(d,{onClick:()=>g(2),children:"Próximo: Documentos"})})]})]}),j===2&&e.jsxs(ee,{children:[e.jsxs(ae,{children:[e.jsx(se,{children:"Documentos do Termo Aditivo"}),e.jsx(te,{children:"Anexe os documentos relacionados ao termo aditivo"})]}),e.jsxs(ie,{className:"space-y-6",children:[e.jsxs("div",{className:"space-y-4",children:[e.jsx("h4",{className:"font-semibold",children:"PDF do Termo Aditivo"}),e.jsxs("div",{className:"space-y-2",children:[n.filter(a=>a.tipo==="termo_aditivo").map((a,c)=>e.jsxs("div",{className:"flex items-center justify-between p-3 border rounded-lg",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(re,{className:"h-4 w-4 text-muted-foreground"}),e.jsx("span",{className:"text-sm",children:a.nome}),e.jsxs("span",{className:"text-xs text-muted-foreground",children:["(",(a.tamanho/1024).toFixed(2)," KB)"]})]}),e.jsx(d,{variant:"ghost",size:"sm",onClick:()=>Y(n.indexOf(a)),className:"text-destructive hover:text-destructive",children:e.jsx(oe,{className:"h-4 w-4"})})]},c)),e.jsxs("div",{className:"border-2 border-dashed rounded-lg p-4 text-center hover:border-primary/50 transition-colors",children:[e.jsx("input",{type:"file",accept:".pdf",onChange:a=>H(a.target.files,"termo_aditivo"),className:"hidden",id:"upload-termo",disabled:f}),e.jsxs("label",{htmlFor:"upload-termo",className:"cursor-pointer flex flex-col items-center gap-2",children:[e.jsx(ne,{className:"h-8 w-8 text-muted-foreground"}),e.jsx("span",{className:"text-sm text-muted-foreground",children:f?"Enviando...":"Clique para enviar o PDF do Termo Aditivo"})]})]})]})]}),e.jsxs("div",{className:"space-y-4",children:[e.jsx("h4",{className:"font-semibold",children:"Publicação Oficial"}),e.jsxs("div",{className:"space-y-2",children:[n.filter(a=>a.tipo==="publicacao_oficial").map((a,c)=>e.jsxs("div",{className:"flex items-center justify-between p-3 border rounded-lg",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(re,{className:"h-4 w-4 text-muted-foreground"}),e.jsx("span",{className:"text-sm",children:a.nome}),e.jsxs("span",{className:"text-xs text-muted-foreground",children:["(",(a.tamanho/1024).toFixed(2)," KB)"]})]}),e.jsx(d,{variant:"ghost",size:"sm",onClick:()=>Y(n.indexOf(a)),className:"text-destructive hover:text-destructive",children:e.jsx(oe,{className:"h-4 w-4"})})]},c)),e.jsxs("div",{className:"border-2 border-dashed rounded-lg p-4 text-center hover:border-primary/50 transition-colors",children:[e.jsx("input",{type:"file",accept:".pdf",onChange:a=>H(a.target.files,"publicacao_oficial"),className:"hidden",id:"upload-publicacao",disabled:f}),e.jsxs("label",{htmlFor:"upload-publicacao",className:"cursor-pointer flex flex-col items-center gap-2",children:[e.jsx(ne,{className:"h-8 w-8 text-muted-foreground"}),e.jsx("span",{className:"text-sm text-muted-foreground",children:f?"Enviando...":"Clique para enviar a Publicação Oficial"})]})]})]})]}),e.jsxs("div",{className:"flex justify-between",children:[e.jsx(d,{variant:"outline",onClick:()=>g(1),children:"Voltar"}),e.jsxs(d,{onClick:()=>l.mutate(),disabled:l.isPending,children:[e.jsx(ke,{className:"h-4 w-4 mr-2"}),l.isPending?"Salvando...":"Salvar Termo Aditivo"]})]})]})]})]})}export{ia 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.