Ir ao conteúdo

Vitor_de_Jesus001

Membro Júnior
  • Posts

    2
  • Cadastrado em

  • Última visita

Reputação

0
  1. Resumindo estou criando um sistema usando o laravel, fiz um curso basico na Udemy e o professor focou o curso quase todo em carregamento ajax... So que tem algumas partes que estou com problema: Exemplo a parte incial: Eu precisava que essas informações fossem exibidas todas na mesma hora... Ou melhor que a pagina so fosse exibida depois que todo conteudo ja estivesse disponivel.. É não tenho a minima ideia de como fazer isso. Requisições ajax podem ser usadas nesse caso? Existe algum outro tipo de Requisição? Até tentei algumas coisas como: <div id="hiddenDiv" style="display: none;"> <!-- qualquer coisa aqui --> </div> document.getElementById("hiddenDiv").style.display = "block"; mas a div aparece dps de uns 3 segundos sem os conteudos totalmente carregados... Então fica a mesma coisa? Alguem pode ajudar? Obrigado! $(document).ready(function($) { $.getJSON('/api/pessoas', {}, function(resp) { if (resp.total < 10) { resp.total = ' ' + resp.total; } console.log(resp); $("#Qpessoas").text(resp.total); }); $.getJSON('/api/familias', {}, function(resp) { if (resp.total < 10) { resp.total = ' ' + resp.total; } console.log(resp); $("#Qfamilias").text(resp.total); }); $.getJSON('/api/regionais', {}, function(resp) { if (resp.total < 10) { resp.total = ' ' + resp.total; } console.log(resp); $("#Qregionais").text(resp.total); }); $.getJSON('/api/congregacoes', {}, function(resp) { if (resp.total < 10) { resp.total = ' ' + resp.total; } console.log(resp); $("#Qcongregacoes").text(resp.total); }); $.getJSON('/api/users', {}, function(resp) { if (resp.total < 10) { resp.total = ' ' + resp.total; } console.log(resp); $("#Qusuarios").text(resp.total); }); });
  2. Estou usando o Maatwebsite para gerar um relatório em excel, estou enviando os filtros para o construtor pra fazer o relatório. Só que na hora de fazer o download do arquivo o excel vem vazio (apenas com o nome das colunas): Estrutura: View do Relatório Action do botão 'Gerar Excel' function criarExel(){ data = { regional: $("#regional").val(), congregacao: $("#congregacao").val() } $.ajax({ type: "GET", url: "/relatorios/membros-c/excel", context: this, data: data, success: function(d) { window.open('/relatorios/membros-c/excel',d); }, error: function(error) { console.log(error); } }); } Controller para gerenciar os relatorios: <?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Relatorios\Excel\Membros; use App\Relatorios\Excel\Nmembros; use Maatwebsite\Excel\Facades\Excel; class Excel_Controller extends Controller { /** * Create a new controller instance. * * @return void */ /** * @return \Illuminate\Support\Collection */ public function nMembrosExcel() { return Excel::download(new Nmembros, 'Relatorio_Não_Membros.xlsx'); } public function membrosCExcel(Request $request) /* O PROBLEMA COMEÇA AQUI*/ { return Excel::download(new Membros($request), 'Relatorio_Membros.xlsx'); } /** * @return \Illuminate\Support\Collection */ } Classe Membros: <?php namespace App\Relatorios\Excel; use App\Models\Cadastro\Pessoa; use Maatwebsite\Excel\Concerns\FromCollection; use Maatwebsite\Excel\Concerns\WithHeadings; use Maatwebsite\Excel\Concerns\WithEvents; use Maatwebsite\Excel\Events\AfterSheet; use Maatwebsite\Excel\Concerns\ShouldAutoSize; class Membros implements FromCollection, WithHeadings, ShouldAutoSize, WithEvents { /** * @return \Illuminate\Support\Collection */ protected $congregacao; protected $regional; public function __construct($request) { $this->congregacao = $request->congregacao; $this->regional = $request->regional; } public function collection() { return Pessoa::where('situacao_membro', 'MC')->where('congregacao_id', $this->congregacao)->where('regional_id',$this->regional)->get(['nome','telefone','celular','data_nasc']); } public function headings(): array { return [ 'Nome', 'Data Nascimento', 'Telefone', 'Celular' ]; } public function registerEvents(): array { return [ AfterSheet::class => function(AfterSheet $event) { $cellRange = 'A1:W1'; // All headers $event->sheet->getDelegate()->getStyle($cellRange)->getFont()->setSize(12); }, ]; } } Se esqueço do request e coloco o valor diretamente o arquivo excel vem com os dados completos: public function collection() { return Pessoa::where('situacao_membro', 'MC')->where('congregacao_id', 1)->where('regional_id',1)->get(['nome','telefone','celular','data_nasc']); } O curioso e que estou usando o Debugbar e o valor de $this->regional e $this->congregacao é exatamente 1: public function collection() { \Debugbar::info($this->regional); \Debugbar::info($this->congregacao); return Pessoa::where('situacao_membro', 'MC')->where('congregacao_id', $this->congregacao)->where('regional_id',$this->regional)->get(['nome','telefone','celular','data_nasc']); } Já li a documentação do Maatwebsite, várias duvidas em fóruns mas não encontrei solução. Se alguém puder dizer onde esta o erro agradeço! Obs: pouco tempo com laravel e PHP.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...