Ir para conteúdo
Fórum Script Brasil
  • 0

Laravel: a minha primeira <div>


Frank K Hosaka

Pergunta

No meu projeto original eu criei duas tabelas, uma resumia a venda por mês e outra por dia. Quando o usuário selecionava uma data, a tabela exibia as vendas por hora daquele dia. O problema é que o usuário precisava rolar a página para ver os detalhes por hora. Ontem eu decidi tirar os detalhes das horas de dentro da tabela por dia, e colocar numa <div> por cima das outras duas tabelas (o blade usa a sintaxe {{ }} e @função, mas eu usei <?php ?>, para compartilhar os mesmos códigos entre o Laravel e o PHP):

app > Http > Controllers > Venda.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use App\Models\tbpedido;

class Venda
{
    function inicio(Request $request)
    {
        $detalhes=[];
        if($request->detalhe)
        {
            $detalhes=tbpedido::wheredate('horavenda',$request->detalhe)
                ->orderBy('horavenda','desc')->get();
        }
        if(!session()->has('apuracao'))
        {
            session(['apuracao'=>date('Y-m-01')]);
        }
        $primeiroDia=apuracao(session('apuracao'))->primeiroDia;
        $ultimoDia=apuracao(session('apuracao'))->ultimoDia;
        $grupos=DB::table('tbpedido')
            ->selectRaw('DATE(horavenda) as ddia, SUM(total) as ttotal')
            ->whereBetween(DB::raw('DATE(horavenda)'), [$primeiroDia, $ultimoDia])
            ->whereNotNull('horavenda')
            ->groupBy('ddia')
            ->orderBy('ddia', 'desc')
            ->get();
        $vendaMensal=DB::table('tbpedido')
            ->selectRaw('DATE_FORMAT(horavenda, "%Y-%m") as mes, SUM(total) as total')
            ->whereNotNull('horavenda')
            ->groupBy('mes')
            ->orderBy('mes', 'desc')
            ->get();
        return view('vendaView',['grupos'=>$grupos,
            'vendaMensal'=>$vendaMensal,'detalhes'=>$detalhes,'detalhe'=>$request->detalhe]);
    }

    function apuracao(Request $request)
    {
        $detalhe=$request->apuracao."-01";
        session(['apuracao'=>$detalhe]);
        return $this->inicio(new Request(['detalhe'=>null]));
    }

}

resources > views > vendaView.blade.php
@include('menuView')
<script>
    document.title="Relatório Venda"
    btmenu.innerHTML="Relatório Venda"
</script>
<?php if(count($detalhes)): ?>
    <div class="position-absolute top-10 start-50 translate-middle-x bg-dark text-white"
        onclick="this.style.display='none'">
    <table class="table table-striped linha border">
    Detalhe por hora
    <tr class=fw-semibold><td><?=dbr($detalhes[0]->dia)?><td>Pedido<td>Bling<td>Total<td>dinheiro<td>troco<td>cartão<td>pix
    <?php foreach($detalhes as $grupo): ?>
    <tr>
    <td class=text-end><?=date('H:i',strtotime($grupo->horavenda))?>
    <td class=text-end><?=$grupo->ped?>
    <td class=text-end><?=$grupo->bling?>
    <td class=text-end><?=dec($grupo->total)?>
    <td class=text-end>
        <?php if(abs($grupo->dinheiro)>0): ?>
        <?=dec($grupo->dinheiro)?>
        <?php endif; ?>
    <td class=text-end>
        <?php if(abs($grupo->troco)>0): ?>
        <?=dec($grupo->troco)?>
        <?php endif; ?>
    <td class=text-center>
        <?php if($grupo->cartao==1): ?>
        x
        <?php endif; ?>
    <td class=text-center>
        <?php if($grupo->pix==1): ?>
        x
        <?php endif; ?>
    <?php endforeach; ?>
    </table>
</div>
</div>
<?php endif; ?>


<table class='table table-striped linha w-25' style=float:left>
<tr><td colspan=2>Detalhe por mês
<?php foreach($vendaMensal as $venda): ?>
<tr><td><a href="vendaApuracao?apuracao=<?=$venda->mes?>"><?=$venda->mes?></a> => R$
<td class='text-danger text-end'> <?=dec($venda->total)?>
<?php endforeach; ?>
</table>

<table class='table table-striped linha w-25' style=float:right>
<tr><td colspan=2>Detalhe por dia
<tr class=fw-semibold><td>Dia<td class=text-end>Total
<?php foreach($grupos as $grupo): ?>
<tr>
    <td><a href="vendaInicio?detalhe=<?=$grupo->ddia?>">
        <?=date('d/m/y',strtotime($grupo->ddia))?></a>
    <td class=text-end><?=dec($grupo->ttotal)?>
    <?php endforeach;?>
</table>

 

Editado por Frank K Hosaka
Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...