Implandação da customização das permissões dos usuarios e das notificaçoes
This commit is contained in:
@@ -106,7 +106,9 @@
|
||||
</details>
|
||||
<% end %>
|
||||
|
||||
<%# Imprimir relatório financeiro do período/operação atuais %>
|
||||
<%# Imprimir relatório financeiro do período/operação atuais — só para quem
|
||||
pode ver custo (permissão `dashboard.financeiro`). %>
|
||||
<% if @ver_financeiro %>
|
||||
<%= link_to rotulo(:imprimir, 'Relatório', cor: nil),
|
||||
dashboard_relatorio_financeiro_path(
|
||||
inicio: @periodo_inicio.strftime('%Y-%m-%d'),
|
||||
@@ -114,6 +116,7 @@
|
||||
operacoes: @operacao_filtro),
|
||||
data: { turbo: false },
|
||||
class: 'pl-4 pr-4 py-2.5 bg-orange-500 hover:bg-orange-600 text-black font-bold rounded-xl text-sm whitespace-nowrap' %>
|
||||
<% end %>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
@@ -147,6 +150,7 @@
|
||||
</div>
|
||||
|
||||
<%# Card destacado: total consolidado e pago (consolidações finalizadas do período) %>
|
||||
<% if @ver_financeiro %>
|
||||
<div class="sm:col-span-2 xl:col-span-1 bg-[#1a1a1a] rounded-2xl border border-green-500/30 p-6">
|
||||
<p class="text-gray-400 text-sm font-medium mb-2 flex items-center gap-2"><%= icone :consolidado_pago, espaco: false %> Consolidado / Pago</p>
|
||||
<p class="text-3xl font-black text-white mb-1"><%= moeda(@fin_custo_total) %></p>
|
||||
@@ -156,6 +160,7 @@
|
||||
<span class="text-gray-400">pago</span>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
<%# Card 2: Total de entregas %>
|
||||
<div class="bg-[#1a1a1a] rounded-2xl border border-white/5 p-6">
|
||||
@@ -203,6 +208,7 @@
|
||||
</div>
|
||||
|
||||
<%# KPIs FINANCEIROS (consolidações finalizadas, já com filtro de operação) %>
|
||||
<% if @ver_financeiro %>
|
||||
<div class="grid grid-cols-[repeat(auto-fit,minmax(13rem,1fr))] gap-4">
|
||||
<div class="bg-[#1a1a1a] rounded-2xl border border-white/5 p-6">
|
||||
<p class="text-gray-400 text-sm font-medium mb-2 flex items-center gap-2"><%= icone :dinheiro, espaco: false %> Custo total</p>
|
||||
@@ -225,6 +231,7 @@
|
||||
<p class="text-gray-400 text-xs mt-1">pendente</p>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
<%# GRÁFICO + MOTORISTAS (lado a lado no desktop) %>
|
||||
<div class="grid grid-cols-1 xl:grid-cols-3 gap-4">
|
||||
@@ -244,7 +251,9 @@
|
||||
<canvas id="grafico-diario"></canvas>
|
||||
</div>
|
||||
|
||||
<%# Pagamentos por dia (fluxo de caixa) — quando o dinheiro saiu de fato %>
|
||||
<%# Pagamentos por dia (fluxo de caixa) — quando o dinheiro saiu de fato.
|
||||
É valor pago: fica atrás da mesma permissão dos demais blocos de custo. %>
|
||||
<% if @ver_financeiro %>
|
||||
<div class="flex flex-wrap items-center justify-between gap-2 mt-6 mb-4 pt-6 border-t border-white/5">
|
||||
<div>
|
||||
<h2 class="text-lg font-semibold text-white">Pagamentos por dia</h2>
|
||||
@@ -273,6 +282,7 @@
|
||||
<% end %>
|
||||
</div>
|
||||
<% end %>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
<%# Top motoristas — DUAS ABAS sobre o mesmo ranking:
|
||||
@@ -320,6 +330,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<% if @ver_financeiro %>
|
||||
<%# ── FINANCEIRO POR OPERAÇÃO ───────────────────────────── %>
|
||||
<div class="grid grid-cols-1 xl:grid-cols-3 gap-4">
|
||||
|
||||
@@ -472,7 +483,9 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<%# Por operação %>
|
||||
<% end %>
|
||||
|
||||
<%# Por operação (contagem de entregas — não é custo, fica para todos) %>
|
||||
<% if @por_operacao.any? %>
|
||||
<div class="bg-[#1a1a1a] rounded-2xl border border-white/5 p-6">
|
||||
<h2 class="text-lg font-semibold text-white mb-4 flex items-center gap-2"><%= icone :operacao, espaco: false %> Entregas por Local</h2>
|
||||
@@ -719,7 +732,9 @@
|
||||
})();
|
||||
</script>
|
||||
|
||||
<%# Fluxo de pagamentos: barras (pago no dia) + linha (acumulado no período) %>
|
||||
<%# Fluxo de pagamentos: barras (pago no dia) + linha (acumulado no período).
|
||||
Sem permissão de financeiro os dados não são carregados — o script sai fora. %>
|
||||
<% if @ver_financeiro %>
|
||||
<script>
|
||||
(function () {
|
||||
const ctx = document.getElementById('grafico-pagamentos-dia');
|
||||
@@ -795,7 +810,7 @@
|
||||
})();
|
||||
</script>
|
||||
|
||||
<%# Rosca de pagamentos (pago x a pagar, por valor) %>
|
||||
<%# Rosca de pagamentos (pago x a pagar, por valor) — mesmo bloco de permissão. %>
|
||||
<script>
|
||||
(function () {
|
||||
const ctx = document.getElementById('grafico-pagamentos');
|
||||
@@ -839,7 +854,12 @@
|
||||
})();
|
||||
</script>
|
||||
|
||||
<%# ── Gráficos financeiros por operação ─────────────────────── %>
|
||||
<% end %>
|
||||
|
||||
<%# ── Gráficos financeiros por operação ───────────────────────
|
||||
Sem a permissão de financeiro os dados nem chegam à página: o controller não
|
||||
carrega, e este script inteiro fica de fora do HTML. %>
|
||||
<% if @ver_financeiro %>
|
||||
<script>
|
||||
(function () {
|
||||
const moedaTick = (v) => 'R$ ' + Number(v).toLocaleString('pt-BR', { minimumFractionDigits: 0 });
|
||||
@@ -905,3 +925,4 @@
|
||||
})();
|
||||
})();
|
||||
</script>
|
||||
<% end %>
|
||||
|
||||
Reference in New Issue
Block a user