@extends('layouts.app')
@section('titulo', 'Dashboard')
@section('subtitulo', 'Resumo executivo — ' . ucfirst(now()->translatedFormat('F Y')))
@section('sino_alerta', count($avisos) ? '1' : '')
@section('conteudo')
{{-- faixa de avisos --}}
@if ($avisos)
@foreach ($avisos as $aviso)
@include('partials.icone', ['nome' => $aviso['icone']])
{{ $aviso['texto'] }}
@endforeach
@endif
{{-- indicadores --}}
@php
$variacao = function (float $atual, float $anterior): array {
if ($anterior <= 0) {
return ['classe' => 'neutra', 'icone' => null, 'texto' => 'sem base de comparação'];
}
$pct = ($atual - $anterior) / $anterior * 100;
return [
'classe' => $pct >= 0 ? 'sobe' : 'desce',
'icone' => $pct >= 0 ? 'sobe' : 'desce',
'texto' => ($pct >= 0 ? '+' : '−') . number_format(abs($pct), 1, ',', '.') . '%',
];
};
$varArrecadacao = $variacao($totais['arrecadado_mes'], $totais['arrecadado_mes_anterior']);
$varGuias = $variacao($totais['guias_mes'], $totais['guias_mes_anterior']);
@endphp
Arrecadação ({{ ucfirst(now()->translatedFormat('M')) }})
@include('partials.icone', ['nome' => 'dinheiro'])
R$ {{ number_format($totais['arrecadado_mes'], 2, ',', '.') }}
@if ($varArrecadacao['icone']) @include('partials.icone', ['nome' => $varArrecadacao['icone']]) @endif
{{ $varArrecadacao['texto'] }} vs. mês anterior
Guias emitidas
@include('partials.icone', ['nome' => 'documento'])
{{ number_format($totais['guias_mes'], 0, ',', '.') }}
@if ($varGuias['icone']) @include('partials.icone', ['nome' => $varGuias['icone']]) @endif
{{ $varGuias['texto'] }} vs. mês anterior
Contribuintes ativos
@include('partials.icone', ['nome' => 'pessoas'])
{{ number_format($totais['contribuintes'], 0, ',', '.') }}
{{ number_format($totais['imoveis'], 0, ',', '.') }} imóveis ·
{{ number_format($totais['estabelecimentos'], 0, ',', '.') }} empresas
Débitos em aberto
@include('partials.icone', ['nome' => 'alerta-circulo'])
R$ {{ number_format($totais['em_aberto'], 2, ',', '.') }}
somando parcelas em aberto
{{-- gráficos --}}
Arrecadação mensal
{{ $serieMensal['ano'] }} comparado a {{ $serieMensal['ano'] - 1 }}
{{ $serieMensal['ano'] }}
{{ $serieMensal['ano'] - 1 }}
@php
$teto = $serieMensal['teto'];
$escala = fn ($v) => $teto > 0 ? max(0.6, $v / $teto * 100) : 0;
$milhoes = fn ($v) => $v >= 1000000
? number_format($v / 1000000, 1, ',', '.') . 'M'
: ($v >= 1000 ? number_format($v / 1000, 0, ',', '.') . 'k' : number_format($v, 0, ',', '.'));
@endphp
@foreach ([1, .75, .5, .25, 0] as $fracao)
{{ $milhoes($teto * $fracao) }}
@endforeach
@for ($i = 0; $i < 5; $i++) @endfor
@foreach ($serieMensal['meses'] as $m)
@endforeach
Composição por tributo
Arrecadado em {{ now()->format('Y') }}
@if ($composicao['fatias'])
@php
$raio = 64; $circunferencia = 2 * M_PI * $raio; $deslocamento = 0;
@endphp
@foreach ($composicao['fatias'] as $fatia)
{{ $fatia['nome'] }}
{{ $fatia['percentual'] }}%
@endforeach
@else
Nenhum pagamento registrado em {{ now()->format('Y') }}.
@endif
{{-- guias recentes --}}