PageSourceSearch

https://sentinel-365-c9d4f.web.app/assets/CustoPage-DnRQkZs2.js

js sentinel-365-c9d4f.web.app collected 2026-10-03 12:37:21 UTC 5,398 bytes, 1 lines download raw bytes

1import{r as C,j as o}from"./react-vendor-pafHdoJx.js";import{b as k,d as F}from"./index-Db0fDLGN.js";import{u as j,r as g,p as c,f as d,S,c as a,h as x,b as $,d as y,e as P,m as N}from"./station-D7qjEabm.js";import{aU as K,F as L,n as R,aP as z}from"./ui-vendor-DLXJn6s3.js";import"./map-vendor-Dr8zbd0c.js";import"./firebase-vendor-D3UzkAhn.js";const A=8;function O(){var f;const{t:e,mode:s}=j(),[n,m]=C.useState(30),{data:l,loading:p,error:h,refetch:v}=k(()=>F.ponteCusto(n),[n]),u=(l==null?void 0:l.itens)||[],i=l==null?void 0:l.resumo;return o.jsxs("div",{style:{display:"grid",gap:16},children:[o.jsxs("header",{style:{display:"flex",alignItems:"flex-end",justifyContent:"space-between",gap:14,flexWrap:"wrap"},children:[o.jsxs("div",{children:[o.jsx("div",{style:g(e,s),children:"Torre Agêntica · Custo"}),o.jsx("h1",{style:{margin:"6px 0 0",fontSize:c("lead",s),fontWeight:600,color:e.text},children:"Combustível por placa"})]}),o.jsx("div",{style:{display:"flex",gap:8},children:[7,30,90].map(t=>o.jsxs("button",{onClick:()=>m(t),style:{fontFamily:d,fontSize:c("micro",s),padding:"5px 10px",borderRadius:3,cursor:"pointer",background:n===t?`${e.accent}1F`:"transparent",border:`1px solid ${n===t?`${e.accent}66`:e.border}`,color:n===t?e.accent:e.dim},children:[t,"d"]},t))})]}),i&&o.jsxs(S,{cols:8,children:[o.jsx("div",{style:{gridColumn:"span 2"},children:o.jsx(a,{tour:"ponte-cobertura",titulo:"Combustível no período",fonte:"abastecimentos",children:o.jsx(x,{valor:Math.round(i.custoCombustivel).toLocaleString("pt-BR"),unidade:"R$",role:"value",rotulo:`${i.placasComAbastecimento} placas`})})}),o.jsx("div",{style:{gridColumn:"span 2"},children:o.jsx(a,{titulo:"R$ por km",fonte:"combustível ÷ km fiscal",parcial:i.placas&&i.placasComKm<i.placas?`${i.placasComKm} de ${i.placas} placas com distância`:null,children:o.jsx(x,{valor:i.custoPorKm==null?"—":i.custoPorKm.toFixed(2),unidade:"R$/km",role:"value",rotulo:"só combustível"})})}),o.jsx("div",{style:{gridColumn:"span 2"},children:o.jsx(a,{titulo:"Consumo mediano",fonte:"km fiscal ÷ litros",children:o.jsx(x,{valor:i.medianaKmPorLitro==null?"—":i.medianaKmPorLitro.toFixed(2),unidade:"km/l",role:"value",rotulo:"referência da frota"})})}),o.jsx("div",{style:{gridColumn:"span 2"},children:o.jsx(a,{titulo:"Km fiscal",fonte:"manifesto × despacho",children:o.jsx(x,{valor:i.kmFiscal==null?"—":Math.round(i.kmFiscal).toLocaleString("pt-BR"),unidade:"km",role:"value",rotulo:`${i.periodoDias} dias`})})})]}),!!((f=l==null?void 0:l.bloqueados)!=null&&f.length)&&o.jsx(a,{titulo:"O que ainda não dá para calcular",estado:"inativo",children:o.jsx("div",{style:{display:"grid",gap:12},children:l.bloqueados.map(t=>o.jsxs("div",{style:{display:"flex",gap:12,alignItems:"flex-start"},children:[o.jsx(K,{size:14,color:e.inactive,style:{marginTop:2,flexShrink:0}}),o.jsxs("div",{children:[o.jsx("div",{style:{fontSize:c("micro",s),color:e.dim},children:t.indicador}),o.jsxs("div",{style:{fontSize:c("micro",s),color:e.faint,marginTop:3,lineHeight:1.5},children:[t.motivo," · ",o.jsx("span",{style:{fontFamily:d,color:e.warn},children:t.fonte})]})]})]},t.indicador))})}),p&&!l&&o.jsx($,{linhas:7,altura:30}),h&&o.jsx(y,{titulo:"O custo não carregou",detalhe:h,acao:o.jsx(P,{tom:"accent",onClick:v,children:"Tentar de novo"})}),!p&&!h&&!u.length&&o.jsx(y,{titulo:"Sem dados de custo no período",detalhe:"É preciso ter manifestos casados com despacho (para o km) e abastecimentos registrados por placa."}),!!u.length&&o.jsx(a,{titulo:`${u.length} placas`,fonte:"MDF-e × abastecimentos",children:o.jsx("div",{style:{overflowX:"auto"},className:"noc-scroll",children:o.jsxs("table",{style:{width:"100%",borderCollapse:"collapse",fontSize:c("micro",s),minWidth:780},children:[o.jsx("thead",{children:o.jsx("tr",{children:["Placa","Viagens","Km fiscal","Litros","Combustível","R$/km","km/l","vs mediana"].map((t,b)=>o.jsx("th",{style:{...g(e,s),padding:"8px 10px",textAlign:b===0?"left":"right",borderBottom:`1px solid ${e.border}`},children:t},t))})}),o.jsx("tbody",{children:u.map(t=>o.jsxs("tr",{style:{borderBottom:`1px solid ${e.grid}`},children:[o.jsx("td",{style:{padding:"9px 10px",fontFamily:d,color:e.text},children:o.jsxs("span",{style:{display:"inline-flex",alignItems:"center",gap:7},children:[o.jsx(L,{size:11,color:e.faint}),t.placa]})}),o.jsx(r,{v:t.viagens}),o.jsx(r,{v:t.kmFiscal==null?null:Math.round(t.kmFiscal)}),o.jsx(r,{v:Math.round(t.litros)}),o.jsx(r,{v:Math.round(t.custo)}),o.jsx(r,{v:t.custoPorKm==null?null:Number(t.custoPorKm.toFixed(2))}),o.jsx(r,{v:t.kmPorLitro==null?null:Number(t.kmPorLitro.toFixed(2))}),o.jsx(M,{v:t.desvioConsumo})]},t.placa))})]})})})]})}function r({v:e}){const{t:s}=j();return o.jsx("td",{style:{padding:"9px 10px",textAlign:"right",fontFamily:d,fontVariantNumeric:"tabular-nums",color:e==null?s.faint:s.dim}
1,children:e==null?"—":e.toLocaleString("pt-BR")})}function M({v:e}){const{t:s,mode:n}=j();if(e==null)return o.jsx("td",{style:{padding:"9px 10px",textAlign:"right",color:s.faint,fontFamily:d},children:"—"});const m=Math.abs(e)>=A,l=m?e>0?s.nominal:s.critical:s.faint,p=e>0?R:z;return o.jsx("td",{style:{padding:"9px 10px",textAlign:"right"},children:o.jsxs("span",{style:{...N(s,n,"micro",l),display:"inline-flex",alignItems:"center",gap:5,justifyContent:"flex-end"},children:[m&&o.jsx(p,{size:11}),e>0?"+":"",e.toFixed(0),"%"]})})}export{O 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.