From f1c60f732b172dca15f7ba895e2c64f1c286db49 Mon Sep 17 00:00:00 2001 From: Bulfaitelo Date: Wed, 22 Apr 2026 08:06:01 -0300 Subject: [PATCH 01/54] =?UTF-8?q?Aprimorando=20exibi=C3=A7=C3=A3o=20de=20p?= =?UTF-8?q?agamentos=20com=20valores=20padr=C3=A3o=20e=20mensagens=20de=20?= =?UTF-8?q?estado?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../views/livewire/financeiro/add-pagamento-modal.blade.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/resources/views/livewire/financeiro/add-pagamento-modal.blade.php b/resources/views/livewire/financeiro/add-pagamento-modal.blade.php index ddc1d947..d8d4011e 100644 --- a/resources/views/livewire/financeiro/add-pagamento-modal.blade.php +++ b/resources/views/livewire/financeiro/add-pagamento-modal.blade.php @@ -68,9 +68,9 @@ @forelse ($pagamentos as $pagamento) - {{ $pagamento->data_pagamento->format('d/m/Y') }} - {{ $pagamento->formaPagamento->name }} - R$ {{ number_format($pagamento->valor, 2, ',', '.') }} + {{ $pagamento->data_pagamento?->format('d/m/Y') ?? 'Pendente' }} + {{ $pagamento->formaPagamento?->name ?? 'Não definida' }} + R$ {{ number_format($pagamento->valor ?? 0, 2, ',', '.') }} @empty From 350448505e51d82e8ec4531a4f633b204f599fc4 Mon Sep 17 00:00:00 2001 From: Bulfaitelo Date: Wed, 22 Apr 2026 08:08:18 -0300 Subject: [PATCH 02/54] =?UTF-8?q?Atualizando=20=C3=ADcones=20na=20exibi?= =?UTF-8?q?=C3=A7=C3=A3o=20de=20estat=C3=ADsticas=20do=20sistema?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dashboard/estatisticas-do-sistema-card.blade.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/resources/views/livewire/home/dashboard/estatisticas-do-sistema-card.blade.php b/resources/views/livewire/home/dashboard/estatisticas-do-sistema-card.blade.php index 284d1fa5..059b506e 100644 --- a/resources/views/livewire/home/dashboard/estatisticas-do-sistema-card.blade.php +++ b/resources/views/livewire/home/dashboard/estatisticas-do-sistema-card.blade.php @@ -30,7 +30,7 @@ Clientes
- +
@can('cliente_create') @@ -48,7 +48,7 @@ Produtos
- +
@can('produto_create')
@@ -64,7 +64,7 @@ Serviços
- +
@can('servico_create')
@@ -82,7 +82,7 @@ Wiki
- +
@can('wiki_create')
@@ -98,7 +98,7 @@ Checklists
- +
@can('checklist_create')
From 452430db2e9f0c817d9c63f6fbbc91261b8d995d Mon Sep 17 00:00:00 2001 From: Bulfaitelo Date: Wed, 22 Apr 2026 08:36:37 -0300 Subject: [PATCH 03/54] Adicionando suporte a busca e snippets na tabela de Wikis --- app/Models/Wiki/Wiki.php | 55 ++++++++++++++++++- .../views/wiki/partials/wiki-table.blade.php | 19 ++++++- 2 files changed, 71 insertions(+), 3 deletions(-) diff --git a/app/Models/Wiki/Wiki.php b/app/Models/Wiki/Wiki.php index 37508748..c67de0f8 100644 --- a/app/Models/Wiki/Wiki.php +++ b/app/Models/Wiki/Wiki.php @@ -78,6 +78,7 @@ public static function getDataTable(Request $request, int $itensPorPagina = 100) if (isset($request->busca)) { $queryWiki->where(function ($query) use ($request) { $query->where('wikis.name', 'LIKE', '%'.$request->busca.'%'); + $query->orWhere('wikis.texto', 'LIKE', '%'.$request->busca.'%'); $query->orWhereHas('modelos', function ($query) use ($request) { $query->where('name', 'LIKE', '%'.$request->busca.'%'); }); @@ -91,7 +92,25 @@ public static function getDataTable(Request $request, int $itensPorPagina = 100) } $queryWiki->orderBy('fabricantes.name')->orderBy('wikis.name'); - return $queryWiki->paginate($itensPorPagina); + // Aqui a paginação é feita e armazenada + $wikiPaginada = $queryWiki->paginate($itensPorPagina); + + // Modifica apenas os itens da página atual + $wikiPaginada->getCollection()->transform(function ($ordem) use ($request) { + if (! $request->busca) { + return $ordem; + } + + foreach (['texto'] as $campo) { + if (! empty($ordem->$campo) && stripos($ordem->$campo, $request->busca) !== false) { + $ordem->{'snippet_'.$campo} = self::gerarSnippet($ordem->$campo, $request->busca, 120); + } + } + + return $ordem; + }); + + return $wikiPaginada; } public function modelosTitle() @@ -103,4 +122,38 @@ public function modelosTitle() return rtrim($return, ', '); } + + /** + * Gerar o Snippet com o texto ja tratado. + * + * @param string $texto Texto base para ser buscado + * @param string $busca Busca a ser realizada + * @param int $contexto Quantidade de letras antes e depois do retorno + * @return string retorna o texto pronto para ser exibido + * + **/ + protected static function gerarSnippet($texto, $busca, $contexto = 50) + { + $textoLimpo = strip_tags($texto); + $busca = trim($busca); + $pos = stripos($textoLimpo, $busca); + + if ($pos === false) { + return null; + } + + $inicio = max($pos - $contexto, 0); + $fim = min($pos + strlen($busca) + $contexto, strlen($textoLimpo)); + + $prefixo = ($inicio > 0) ? '... ' : ''; + $sufixo = ($fim < strlen($textoLimpo)) ? ' ...' : ''; + + $snippet = substr($textoLimpo, $inicio, $fim - $inicio); + + // Destaque do termo buscado + $pattern = '/'.preg_quote($busca, '/').'/i'; + $snippet = preg_replace($pattern, '$0', $snippet); + + return $prefixo.$snippet.$sufixo; + } } diff --git a/resources/views/wiki/partials/wiki-table.blade.php b/resources/views/wiki/partials/wiki-table.blade.php index 0e76ef50..06095a6c 100644 --- a/resources/views/wiki/partials/wiki-table.blade.php +++ b/resources/views/wiki/partials/wiki-table.blade.php @@ -13,7 +13,7 @@ - @foreach ($wikiTable as $item) + @forelse ($wikiTable as $item) @if (isset($show) && $show === true) @@ -80,6 +80,21 @@ @endif - @endforeach + @if ($item->snippet_texto) + + +
+ Wiki: {!! $item->snippet_texto !!} +
+ + + @endif + @empty + + +

Não existem Wikis cadastradas

+ + + @endforelse From b9d9e39794399161d89aaf31218a4a4b1ff4c8df Mon Sep 17 00:00:00 2001 From: Bulfaitelo Date: Wed, 22 Apr 2026 08:49:21 -0300 Subject: [PATCH 04/54] =?UTF-8?q?Aumentando=20o=20tamanho=20dos=20snippets?= =?UTF-8?q?=20de=20busca=20para=20melhor=20exibi=C3=A7=C3=A3o=20nas=20tabe?= =?UTF-8?q?las=20de=20OS=20e=20Wiki?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Models/Wiki/Wiki.php | 2 +- app/Services/Os/OsService.php | 2 +- resources/views/os/partials/os-table.blade.php | 2 +- resources/views/wiki/partials/wiki-table.blade.php | 5 ++--- 4 files changed, 5 insertions(+), 6 deletions(-) diff --git a/app/Models/Wiki/Wiki.php b/app/Models/Wiki/Wiki.php index c67de0f8..522c8636 100644 --- a/app/Models/Wiki/Wiki.php +++ b/app/Models/Wiki/Wiki.php @@ -103,7 +103,7 @@ public static function getDataTable(Request $request, int $itensPorPagina = 100) foreach (['texto'] as $campo) { if (! empty($ordem->$campo) && stripos($ordem->$campo, $request->busca) !== false) { - $ordem->{'snippet_'.$campo} = self::gerarSnippet($ordem->$campo, $request->busca, 120); + $ordem->{'snippet_'.$campo} = self::gerarSnippet($ordem->$campo, $request->busca, 200); } } diff --git a/app/Services/Os/OsService.php b/app/Services/Os/OsService.php index 48382e92..9c801786 100644 --- a/app/Services/Os/OsService.php +++ b/app/Services/Os/OsService.php @@ -91,7 +91,7 @@ public static function getDataTable(Request $request, int $itensPorPagina = 100, foreach (['descricao', 'defeito', 'observacoes', 'laudo'] as $campo) { if (! empty($ordem->$campo) && stripos($ordem->$campo, $request->busca) !== false) { - $ordem->{'snippet_'.$campo} = self::gerarSnippet($ordem->$campo, $request->busca, 80); + $ordem->{'snippet_'.$campo} = self::gerarSnippet($ordem->$campo, $request->busca, 200); } } diff --git a/resources/views/os/partials/os-table.blade.php b/resources/views/os/partials/os-table.blade.php index 3de666e0..e6ef4635 100644 --- a/resources/views/os/partials/os-table.blade.php +++ b/resources/views/os/partials/os-table.blade.php @@ -71,7 +71,7 @@ class="text-danger" @if ($item->snippet_descricao || $item->snippet_defeito || $item->snippet_observacoes || $item->snippet_laudo) - + @if ($item->snippet_descricao)
Descrição: {!! $item->snippet_descricao !!} diff --git a/resources/views/wiki/partials/wiki-table.blade.php b/resources/views/wiki/partials/wiki-table.blade.php index 06095a6c..13877832 100644 --- a/resources/views/wiki/partials/wiki-table.blade.php +++ b/resources/views/wiki/partials/wiki-table.blade.php @@ -79,11 +79,10 @@ @endif - @if ($item->snippet_texto) - -
+ +
Wiki: {!! $item->snippet_texto !!}
From 03e0e4563591ed5828beabcda6f092dd371482ef Mon Sep 17 00:00:00 2001 From: Bulfaitelo Date: Wed, 22 Apr 2026 09:19:12 -0300 Subject: [PATCH 05/54] =?UTF-8?q?Aprimorando=20a=20exibi=C3=A7=C3=A3o=20do?= =?UTF-8?q?=20balancete=20com=20formata=C3=A7=C3=A3o=20resumida=20e=20comp?= =?UTF-8?q?leta=20para=20receitas,=20despesas=20e=20saldo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../home/dashboard/balancete-card.blade.php | 108 ++++++++++++------ 1 file changed, 72 insertions(+), 36 deletions(-) diff --git a/resources/views/livewire/home/dashboard/balancete-card.blade.php b/resources/views/livewire/home/dashboard/balancete-card.blade.php index 3715d942..a37c1fb8 100644 --- a/resources/views/livewire/home/dashboard/balancete-card.blade.php +++ b/resources/views/livewire/home/dashboard/balancete-card.blade.php @@ -1,44 +1,80 @@ -
+@php + $formatarResumido = function($valor) { + $valor = $valor ?? 0; + if (abs($valor) >= 1000000) return number_format($valor / 1000000, 1, ',', '.') . 'M'; + if (abs($valor) >= 1000) return number_format($valor / 1000, 1, ',', '.') . 'k'; + return number_format($valor, 2, ',', '.'); + }; + + $formatarCompleto = function($valor) { + return number_format($valor ?? 0, 2, ',', '.'); + }; +@endphp + +{{-- Elemento RAIZ único exigido pelo Livewire --}} +
+ @once + + @endonce
- {!! html()->select('mes', $meses, $mes_busca)->class('form-control')->attribute('wire:model.live', 'mes_busca') !!} -
-
- Receita -
-
- R$ {{ (isset($balancete->receita)) ? number_format($balancete->receita, 2, ',', '.') : '0,00' }} -
+ {!! html()->select('mes', $meses, $mes_busca)->class('form-control mb-3')->attribute('wire:model.live', 'mes_busca') !!} + +
+ + Receita + R + + + R$ {{ $formatarCompleto($balancete?->receita) }} + R$ {{ $formatarResumido($balancete?->receita) }} +
-
-
- Despesa -
-
- R$ {{ (isset($balancete->despesa)) ? number_format($balancete->despesa, 2, ',', '.') : '0,00' }} -
+ +
+ + Despesa + D + + + R$ {{ $formatarCompleto($balancete?->despesa) }} + R$ {{ $formatarResumido($balancete?->despesa) }} +
-
-
-
- (isset($balancete->saldo) && $balancete->saldo < 0) ? true : false, - 'balancete-credito' => (isset($balancete->saldo) && $balancete->saldo > 0) ? true : false, - ]) - >Saldo -
-
- (isset($balancete->saldo) && $balancete->saldo < 0) ? true : false, - 'balancete-credito' => (isset($balancete->saldo) && $balancete->saldo > 0) ? true : false, - ]) - >R$ {{ (isset($balancete->saldo)) ? number_format($balancete->saldo, 2, ',', '.') : '0,00' }} -
+ +
+ +
+ ($balancete?->saldo ?? 0) < 0, + 'balancete-credito' => ($balancete?->saldo ?? 0) >= 0, + ]) title="Saldo"> + Saldo + S + + + ($balancete?->saldo ?? 0) < 0, + 'balancete-credito' => ($balancete?->saldo ?? 0) >= 0, + ])> + R$ {{ $formatarCompleto($balancete?->saldo) }} + R$ {{ $formatarResumido($balancete?->saldo) }} +
+ From e62e8ffae4d3fbbcb7cf7dac44a6fe1e6ef81047 Mon Sep 17 00:00:00 2001 From: Bulfaitelo Date: Wed, 22 Apr 2026 09:25:42 -0300 Subject: [PATCH 06/54] =?UTF-8?q?Reorganizando=20o=20estilo=20da=20balance?= =?UTF-8?q?te=20para=20melhorar=20a=20estrutura=20do=20c=C3=B3digo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../home/dashboard/balancete-card.blade.php | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/resources/views/livewire/home/dashboard/balancete-card.blade.php b/resources/views/livewire/home/dashboard/balancete-card.blade.php index a37c1fb8..be35f738 100644 --- a/resources/views/livewire/home/dashboard/balancete-card.blade.php +++ b/resources/views/livewire/home/dashboard/balancete-card.blade.php @@ -13,20 +13,6 @@ {{-- Elemento RAIZ único exigido pelo Livewire --}}
- @once - - @endonce
{!! html()->select('mes', $meses, $mes_busca)->class('form-control mb-3')->attribute('wire:model.live', 'mes_busca') !!} @@ -76,5 +62,19 @@
+ @once + + @endonce
From 51a5fd61cab9c06a150306be0fe4c9d7ae13462f Mon Sep 17 00:00:00 2001 From: Bulfaitelo Date: Wed, 22 Apr 2026 09:53:18 -0300 Subject: [PATCH 07/54] =?UTF-8?q?Adicionando=20detec=C3=A7=C3=A3o=20de=20a?= =?UTF-8?q?ltera=C3=A7=C3=B5es=20em=20formul=C3=A1rios=20para=20prevenir?= =?UTF-8?q?=20perda=20de=20dados=20ao=20sair=20da=20p=C3=A1gina?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../views/livewire/os/detalhes-tab.blade.php | 24 ++++++++++++++++- resources/views/os/create.blade.php | 26 +++++++++++++++++-- 2 files changed, 47 insertions(+), 3 deletions(-) diff --git a/resources/views/livewire/os/detalhes-tab.blade.php b/resources/views/livewire/os/detalhes-tab.blade.php index 395f11b0..f55153a1 100644 --- a/resources/views/livewire/os/detalhes-tab.blade.php +++ b/resources/views/livewire/os/detalhes-tab.blade.php @@ -239,6 +239,12 @@ }); $(document).ready(function() { + let formAlterado = false; + + $('form').on('input change', function() { + formAlterado = true; + }); + $('.texto').summernote({ lang: 'pt-BR', height: 300, @@ -252,7 +258,23 @@ [ 'table', [ 'table' ] ], [ 'insert', ['link', 'picture',]], [ 'view', [ 'undo', 'redo', 'codeview', 'fullscreen', 'help' ] ] - ] + ], + callbacks: { + // Isso detecta quando o usuário digita algo dentro do editor Summernote + onChange: function(contents, $editable) { + formAlterado = true; + } + } + }); + window.addEventListener('beforeunload', function (e) { + if (formAlterado) { + // Cancela o evento padrão e define o returnValue (exigência dos navegadores modernos) + e.preventDefault(); + e.returnValue = ''; + } + }); + $('form').on('submit', function() { + formAlterado = false; }); }); }); diff --git a/resources/views/os/create.blade.php b/resources/views/os/create.blade.php index ef54a03d..68c4203e 100644 --- a/resources/views/os/create.blade.php +++ b/resources/views/os/create.blade.php @@ -297,6 +297,12 @@ }); $(document).ready(function() { + let formAlterado = false; + + $('form').on('input change', function() { + formAlterado = true; + }); + $('.texto').summernote({ lang: 'pt-BR', height: 300, @@ -309,8 +315,24 @@ [ 'para', [ 'ol', 'ul', 'paragraph', ] ], [ 'table', [ 'table' ] ], [ 'insert', ['link', 'picture',]], - [ 'view', [ 'undo', 'redo', 'codeview', 'help' ] ] - ] + [ 'view', [ 'undo', 'redo', 'codeview', 'fullscreen', 'help' ] ] + ], + callbacks: { + // Isso detecta quando o usuário digita algo dentro do editor Summernote + onChange: function(contents, $editable) { + formAlterado = true; + } + } + }); + window.addEventListener('beforeunload', function (e) { + if (formAlterado) { + // Cancela o evento padrão e define o returnValue (exigência dos navegadores modernos) + e.preventDefault(); + e.returnValue = ''; + } + }); + $('form').on('submit', function() { + formAlterado = false; }); }); From 75def7921ed9f4e32a6182bfb24f69286a6bdda3 Mon Sep 17 00:00:00 2001 From: Bulfaitelo Date: Wed, 22 Apr 2026 09:54:59 -0300 Subject: [PATCH 08/54] =?UTF-8?q?adicionando=20atributo=20target=3D"=5Fbla?= =?UTF-8?q?nk"=20ao=20link=20do=20rodap=C3=A9=20para=20abrir=20em=20nova?= =?UTF-8?q?=20aba?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../views/vendor/adminlte/partials/footer/footer.blade.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/views/vendor/adminlte/partials/footer/footer.blade.php b/resources/views/vendor/adminlte/partials/footer/footer.blade.php index 7ecb7a81..413087e0 100644 --- a/resources/views/vendor/adminlte/partials/footer/footer.blade.php +++ b/resources/views/vendor/adminlte/partials/footer/footer.blade.php @@ -1,5 +1,5 @@
- Copyright © 2023-{{ date('Y') }} OSLab. + Copyright © 2023-{{ date('Y') }} OSLab. All rights reserved.
@yield('footer') From bcf3d71fbfb8194aaa3f0c7d27a29f4f7373c6f0 Mon Sep 17 00:00:00 2001 From: Bulfaitelo Date: Wed, 22 Apr 2026 10:48:46 -0300 Subject: [PATCH 09/54] =?UTF-8?q?adicionando=20informa=C3=A7=C3=B5es=20adi?= =?UTF-8?q?cionais=20na=20tabela=20de=20OS=20com=20=C3=ADcones=20para=20se?= =?UTF-8?q?nha,=20anota=C3=A7=C3=B5es=20e=20arquivos=20anexos?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Copilot --- app/Services/Os/OsService.php | 2 +- .../views/os/partials/os-table.blade.php | 19 ++++++++++++++++++- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/app/Services/Os/OsService.php b/app/Services/Os/OsService.php index 9c801786..dbf9216d 100644 --- a/app/Services/Os/OsService.php +++ b/app/Services/Os/OsService.php @@ -33,7 +33,7 @@ public static function getDataTable(Request $request, int $itensPorPagina = 100, $dataHoje = Carbon::now()->format('Y-m-d'); $osListagemPadrao = getConfig('os_listagem_padrao'); - $queryOs = Os::with(['cliente', 'tecnico', 'categoria', 'status']); + $queryOs = Os::with(['cliente', 'tecnico', 'categoria', 'status', 'informacoes']); if ($request->busca) { $queryOs->where(function ($query) use ($request) { diff --git a/resources/views/os/partials/os-table.blade.php b/resources/views/os/partials/os-table.blade.php index e6ef4635..37f3970a 100644 --- a/resources/views/os/partials/os-table.blade.php +++ b/resources/views/os/partials/os-table.blade.php @@ -19,7 +19,24 @@ @forelse ($osTable as $item) - {{ $item->id }} + + {{ $item->id }} + {{-- Container flex para manter os ícones alinhados e pequenos --}} +
+ {{-- Verifica se tem senha (tipo 1) --}} + @if($item->informacoes->contains('tipo', 1)) + + @endif + {{-- Verifica se tem anotação (tipo 2) --}} + @if($item->informacoes->contains('tipo', 2)) + + @endif + {{-- Verifica se tem arquivo (tipo 3) --}} + @if($item->informacoes->contains('tipo', 3)) + + @endif +
+ {{ $item->cliente->name}} {{ $item->tecnico?->name}} {{ $item->data_entrada->format('d/m/Y') }} From 3396dbb094942109e28d6b9052343ca3cc2782e8 Mon Sep 17 00:00:00 2001 From: Bulfaitelo Date: Wed, 22 Apr 2026 10:49:22 -0300 Subject: [PATCH 10/54] adicionando o relacionamento 'status' na consulta de listagem de vendas Co-authored-by: Copilot --- app/Services/Venda/VendaService.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Services/Venda/VendaService.php b/app/Services/Venda/VendaService.php index 2a827004..a9d67a57 100644 --- a/app/Services/Venda/VendaService.php +++ b/app/Services/Venda/VendaService.php @@ -34,7 +34,7 @@ public static function getDataTable(Request $request, int $itensPorPagina = 100, $dataHoje = Carbon::now()->format('Y-m-d'); $vendaListagemPadrao = getConfig('venda_listagem_padrao'); - $queryVenda = Venda::with(['cliente', 'vendedor']); + $queryVenda = Venda::with(['cliente', 'vendedor', 'status']); if ($request->busca) { $queryVenda->where(function ($query) use ($request) { From 8e4799781e4cb93f2bb21cd448b61d620434bdf3 Mon Sep 17 00:00:00 2001 From: Bulfaitelo Date: Wed, 22 Apr 2026 11:08:19 -0300 Subject: [PATCH 11/54] =?UTF-8?q?adicionando=20estilos=20de=20=C3=ADcones?= =?UTF-8?q?=20para=20anota=C3=A7=C3=B5es,=20senhas=20e=20arquivos=20na=20t?= =?UTF-8?q?abela=20de=20OS?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resources/views/os/partials/os-table.blade.php | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/resources/views/os/partials/os-table.blade.php b/resources/views/os/partials/os-table.blade.php index 37f3970a..45b1338b 100644 --- a/resources/views/os/partials/os-table.blade.php +++ b/resources/views/os/partials/os-table.blade.php @@ -23,17 +23,17 @@ {{ $item->id }} {{-- Container flex para manter os ícones alinhados e pequenos --}}
- {{-- Verifica se tem senha (tipo 1) --}} - @if($item->informacoes->contains('tipo', 1)) - - @endif {{-- Verifica se tem anotação (tipo 2) --}} @if($item->informacoes->contains('tipo', 2)) - + + @endif + {{-- Verifica se tem senha (tipo 1) --}} + @if($item->informacoes->contains('tipo', 1)) + @endif {{-- Verifica se tem arquivo (tipo 3) --}} @if($item->informacoes->contains('tipo', 3)) - + @endif
From 5ee90e058ec3430249ee7ea95d89f42ec4f54a0e Mon Sep 17 00:00:00 2001 From: Bulfaitelo Date: Wed, 22 Apr 2026 11:45:09 -0300 Subject: [PATCH 12/54] =?UTF-8?q?adicionando=20campo=20'usuario'=20na=20ta?= =?UTF-8?q?bela=20de=20OS=20e=20atualizando=20formul=C3=A1rios=20para=20ca?= =?UTF-8?q?ptura=20de=20informa=C3=A7=C3=B5es?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Copilot --- .../Controllers/Os/OsPublicController.php | 1 + app/Livewire/Os/InformacoesTab.php | 3 ++ app/Models/Os/OsInformacao.php | 2 +- ..._22_111959_update_os_informacaos_table.php | 28 ++++++++++++ .../livewire/os/informacoes-tab.blade.php | 5 +++ .../os/informacoes/visualizar-modal.blade.php | 4 ++ resources/views/os/public/edit.blade.php | 44 +++++++++++++++++++ resources/views/os/public/updated.blade.php | 40 +++++++++++++++++ 8 files changed, 126 insertions(+), 1 deletion(-) create mode 100644 database/migrations/2026_04_22_111959_update_os_informacaos_table.php diff --git a/app/Http/Controllers/Os/OsPublicController.php b/app/Http/Controllers/Os/OsPublicController.php index 15f7a155..09b3f1e8 100644 --- a/app/Http/Controllers/Os/OsPublicController.php +++ b/app/Http/Controllers/Os/OsPublicController.php @@ -33,6 +33,7 @@ public function update($uuid, Request $request) // dd($request->input()); try { $informacao->informacao = $request->informacao; + $informacao->usuario = $request->usuario; $informacao->descricao = $request->descricao; $informacao->uuid = null; $informacao->status = 3; diff --git a/app/Livewire/Os/InformacoesTab.php b/app/Livewire/Os/InformacoesTab.php index 8b8a1f2e..2b33b3f8 100644 --- a/app/Livewire/Os/InformacoesTab.php +++ b/app/Livewire/Os/InformacoesTab.php @@ -19,6 +19,8 @@ class InformacoesTab extends Component public $os; + public $usuario_senha; + public $descricao_senha; public $tipo_senha = 'texto'; @@ -87,6 +89,7 @@ public function senhaCreate(): void $this->os->informacoes()->create([ 'user_id' => Auth::id(), 'descricao' => $this->descricao_senha, + 'usuario' => $this->usuario_senha, 'tipo' => 2, 'tipo_informacao' => $this->tipo_senha, 'informacao' => $infomacao, diff --git a/app/Models/Os/OsInformacao.php b/app/Models/Os/OsInformacao.php index 1b484648..5e4f1491 100644 --- a/app/Models/Os/OsInformacao.php +++ b/app/Models/Os/OsInformacao.php @@ -16,7 +16,7 @@ class OsInformacao extends Model 'tipo_informacao', 'informacao', 'status', - + 'usuario' ]; protected $casts = [ diff --git a/database/migrations/2026_04_22_111959_update_os_informacaos_table.php b/database/migrations/2026_04_22_111959_update_os_informacaos_table.php new file mode 100644 index 00000000..26586058 --- /dev/null +++ b/database/migrations/2026_04_22_111959_update_os_informacaos_table.php @@ -0,0 +1,28 @@ +string('usuario')->nullable()->after('descricao')->nullable(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('os_informacaos', function (Blueprint $table) { + $table->dropColumn('usuario'); + }); + } +}; diff --git a/resources/views/livewire/os/informacoes-tab.blade.php b/resources/views/livewire/os/informacoes-tab.blade.php index 17e0c16a..81512bd9 100644 --- a/resources/views/livewire/os/informacoes-tab.blade.php +++ b/resources/views/livewire/os/informacoes-tab.blade.php @@ -136,6 +136,11 @@