new update
This commit is contained in:
parent
091128e73b
commit
f630fbdfa3
|
|
@ -20,6 +20,8 @@
|
||||||
use Carbon\Carbon;
|
use Carbon\Carbon;
|
||||||
use Illuminate\Support\Facades\DB;
|
use Illuminate\Support\Facades\DB;
|
||||||
|
|
||||||
|
use App\Services\PdfWrapper;
|
||||||
|
|
||||||
use Yajra\DataTables\Facades\DataTables;
|
use Yajra\DataTables\Facades\DataTables;
|
||||||
|
|
||||||
use PDF;
|
use PDF;
|
||||||
|
|
@ -79,6 +81,7 @@ public function getEquipmentsOfAmbit(Request $request)
|
||||||
|
|
||||||
public function showReportingForAmbitsProjectPdf($ambitId, $projectId)
|
public function showReportingForAmbitsProjectPdf($ambitId, $projectId)
|
||||||
{
|
{
|
||||||
|
|
||||||
// Obter o caminho da imagem do usuário ou uma imagem padrão
|
// Obter o caminho da imagem do usuário ou uma imagem padrão
|
||||||
|
|
||||||
// Primeiro precisa identificar se quem esta a visualizar o relatorio e o Admin ou o Cliente
|
// Primeiro precisa identificar se quem esta a visualizar o relatorio e o Admin ou o Cliente
|
||||||
|
|
@ -87,23 +90,23 @@ public function showReportingForAmbitsProjectPdf($ambitId, $projectId)
|
||||||
// Pega a data e hora atual
|
// Pega a data e hora atual
|
||||||
$dataAtual = Carbon::now();
|
$dataAtual = Carbon::now();
|
||||||
|
|
||||||
// Se quiser formatar a data, pode fazer assim:
|
// Formata Data atual
|
||||||
$dataFormatada = $dataAtual->format('Y-m-d H:i:s');
|
$dataFormatada = $dataAtual->format('Y-m-d H:i:s');
|
||||||
|
|
||||||
|
// Dados do Ambito
|
||||||
$dataAmbit = AmbitsEquipment::where('ambits_id', $ambitId)->first();
|
$dataAmbit = AmbitsEquipment::where('ambits_id', $ambitId)->first();
|
||||||
|
|
||||||
$receiveDataEquipments = Equipment::where('equipments.company_projects_id', $projectId) // Adicionado 'equipments.' para remover a ambiguidade
|
$receiveDataEquipments = EquipmentWorkHistory::where('equipment_work_historys.company_projects_id', $projectId)
|
||||||
->join('equipment_work_historys', 'equipments.equipment_id', '=', 'equipment_work_historys.equipment_id')
|
->join('equipments', 'equipment_work_historys.equipment_id', '=', 'equipments.equipment_id')
|
||||||
->select('equipment_work_historys.equipmentWorkHistorys_id', 'equipments.*') // Pegando o ID da tabela equipment_work_historys e todos os campos da tabela equipments
|
->select('equipment_work_historys.equipmentWorkHistorys_id', 'equipments.*')
|
||||||
->get();
|
->get();
|
||||||
|
|
||||||
$filteredAssociations = EquipmentAssociationAmbit::where('ambits_id', $dataAmbit->ambits_id)
|
$filteredAssociations = EquipmentAssociationAmbit::where('ambits_id', $dataAmbit->ambits_id)
|
||||||
->whereIn('equipmentWorkHistorys_id', $receiveDataEquipments->pluck('equipmentWorkHistorys_id')) // Usando equipmentWorkHistorys_id em vez de equipment_id
|
->whereIn('equipmentWorkHistorys_id', $receiveDataEquipments->pluck('equipmentWorkHistorys_id'))
|
||||||
->get();
|
->get();
|
||||||
|
|
||||||
$equipmentWorkHistoryIds = $filteredAssociations->pluck('equipmentWorkHistorys_id');
|
$equipmentWorkHistoryIds = $filteredAssociations->pluck('equipmentWorkHistorys_id');
|
||||||
|
|
||||||
// Agora, em vez de buscar diretamente em Equipment, vamos pegar os detalhes via EquipmentWorkHistory
|
|
||||||
$equipmentDetails = EquipmentWorkHistory::whereIn('equipmentWorkHistorys_id', $equipmentWorkHistoryIds)
|
$equipmentDetails = EquipmentWorkHistory::whereIn('equipmentWorkHistorys_id', $equipmentWorkHistoryIds)
|
||||||
->where('equipment_status_project', 2)
|
->where('equipment_status_project', 2)
|
||||||
->join('equipments', 'equipment_work_historys.equipment_id', '=', 'equipments.equipment_id')
|
->join('equipments', 'equipment_work_historys.equipment_id', '=', 'equipments.equipment_id')
|
||||||
|
|
@ -119,25 +122,41 @@ public function showReportingForAmbitsProjectPdf($ambitId, $projectId)
|
||||||
])
|
])
|
||||||
->get();
|
->get();
|
||||||
|
|
||||||
|
$detalsProject = CompanyProject::find($projectId);
|
||||||
|
|
||||||
$detalsProject = CompanyProject::where('company_projects_id', $projectId)->first();
|
$pdfWrapper = new PdfWrapper();
|
||||||
|
|
||||||
|
return $pdfWrapper
|
||||||
$pdf = PDF::loadView('userClient.pdfReportings.equipmentsForAmbitPdf', [
|
->loadView('userClient.pdfReportings.equipmentsForAmbitPdf', [
|
||||||
'equipmentDetails' => $equipmentDetails,
|
'equipmentDetails' => $equipmentDetails,
|
||||||
'userLogoPath' => $userLogoPath,
|
'userLogoPath' => $userLogoPath,
|
||||||
'dataAmbit' => $dataAmbit,
|
'dataAmbit' => $dataAmbit,
|
||||||
'projectId' => $projectId,
|
'projectId' => $projectId,
|
||||||
'detalsProject' => $detalsProject,
|
'detalsProject' => $detalsProject,
|
||||||
'dataFormatada' => $dataFormatada
|
'dataFormatada' => $dataFormatada
|
||||||
])->setPaper('a4', 'landscape');
|
])
|
||||||
return $pdf->stream('relatorio_teste.pdf');
|
->setOrientation('landscape')
|
||||||
|
->stream('relatorio_equipamentos_ambito.pdf');
|
||||||
|
|
||||||
// return view('userClient.pdfReportings.showReportingAllEquipmentsForAmbitProject', [
|
// $pdf = PDF::loadView('userClient.pdfReportings.equipmentsForAmbitPdf', [
|
||||||
|
// 'equipmentDetails' => $equipmentDetails,
|
||||||
// 'userLogoPath' => $userLogoPath,
|
// 'userLogoPath' => $userLogoPath,
|
||||||
// 'dataAmbit' => $dataAmbit,
|
// 'dataAmbit' => $dataAmbit,
|
||||||
// 'projectId' => $projectId
|
// 'projectId' => $projectId,
|
||||||
// ]);
|
// 'detalsProject' => $detalsProject,
|
||||||
|
// 'dataFormatada' => $dataFormatada
|
||||||
|
// ])->setPaper('a4', 'landscape');
|
||||||
|
// return $pdf->stream('relatorio_teste.pdf');
|
||||||
|
|
||||||
|
// return view('userClient.pdfReportings.equipmentsForAmbitPdf',
|
||||||
|
// ['equipmentDetails' => $equipmentDetails,
|
||||||
|
// 'userLogoPath' => $userLogoPath,
|
||||||
|
// 'dataAmbit' => $dataAmbit,
|
||||||
|
// 'projectId' => $projectId,
|
||||||
|
// 'detalsProject' => $detalsProject,
|
||||||
|
// 'dataFormatada' => $dataFormatada]
|
||||||
|
// );
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getDataAllEquipmentsForAmbitOfProject(Request $request)
|
public function getDataAllEquipmentsForAmbitOfProject(Request $request)
|
||||||
|
|
@ -200,7 +219,7 @@ public function getDataAmbitsOfProject(Request $request)
|
||||||
->where('equipment_work_historys.equipment_status_project', 2)
|
->where('equipment_work_historys.equipment_status_project', 2)
|
||||||
->where('equipment_work_historys.company_projects_id', $projectId)
|
->where('equipment_work_historys.company_projects_id', $projectId)
|
||||||
// Depois, juntar-se com equipments
|
// Depois, juntar-se com equipments
|
||||||
->join('equipments','equipment_work_historys.equipment_id', '=', 'equipments.equipment_id')
|
->join('equipments', 'equipment_work_historys.equipment_id', '=', 'equipments.equipment_id')
|
||||||
//filtrar pela company_projects_id
|
//filtrar pela company_projects_id
|
||||||
->count(); // Retorna a contagem de equipamentos que atendem às condições
|
->count(); // Retorna a contagem de equipamentos que atendem às condições
|
||||||
})
|
})
|
||||||
|
|
@ -230,7 +249,7 @@ public function getDataEquipmentsOfProject(Request $request)
|
||||||
//Equipamentos concluidos e aprovados, nao vao entrar em nenhuma das 2 listas ate agora.
|
//Equipamentos concluidos e aprovados, nao vao entrar em nenhuma das 2 listas ate agora.
|
||||||
$query
|
$query
|
||||||
->where('equipment_status_project', 2)
|
->where('equipment_status_project', 2)
|
||||||
->where('company_projects_id',$projectId);
|
->where('company_projects_id', $projectId);
|
||||||
});
|
});
|
||||||
|
|
||||||
$dataEquipentProject = $initialQuery->get();
|
$dataEquipentProject = $initialQuery->get();
|
||||||
|
|
@ -467,7 +486,7 @@ public function reportingDataClient($clientID = null)
|
||||||
$clientID = Auth::user()->user_id;
|
$clientID = Auth::user()->user_id;
|
||||||
$recebeAssociationCompany = AssociationCompanyUser::where('user_id', $clientID)->first();
|
$recebeAssociationCompany = AssociationCompanyUser::where('user_id', $clientID)->first();
|
||||||
|
|
||||||
$receiveCompany = Company::where('company_id',$recebeAssociationCompany->company_id)->first();
|
$receiveCompany = Company::where('company_id', $recebeAssociationCompany->company_id)->first();
|
||||||
|
|
||||||
$clientID = $recebeAssociationCompany->company_id;
|
$clientID = $recebeAssociationCompany->company_id;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -82,9 +82,6 @@ protected function getAllowedRoutesForUserType($userType)
|
||||||
'getDataAmbitsOfProject', 'showReportingForAmbitsProject','getEquipmentsOfAmbit','getDataEquipmentsOfProject','removingElementalTasksFromProject','equipmentTaskDetailsPdf',
|
'getDataAmbitsOfProject', 'showReportingForAmbitsProject','getEquipmentsOfAmbit','getDataEquipmentsOfProject','removingElementalTasksFromProject','equipmentTaskDetailsPdf',
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Adicione mais casos conforme necessário...
|
|
||||||
default:
|
default:
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
199
resources/views/userClient/pdfReportings/equipmentsForAmbitPdf.blade copy 2.php
Executable file
199
resources/views/userClient/pdfReportings/equipmentsForAmbitPdf.blade copy 2.php
Executable file
|
|
@ -0,0 +1,199 @@
|
||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||||||
|
<meta name="viewport"
|
||||||
|
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
||||||
|
<title>Invoice</title>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
|
||||||
|
.box-mid{
|
||||||
|
padding-left: 5%;
|
||||||
|
padding-bottom: 100px;
|
||||||
|
/* border: 1px solid red; */
|
||||||
|
|
||||||
|
}
|
||||||
|
.box-right{
|
||||||
|
padding-left: 10%;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.header-img {
|
||||||
|
width: 50px;
|
||||||
|
height: 50px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.navBar {
|
||||||
|
width: 100%;
|
||||||
|
background-color: #EAF3F6;
|
||||||
|
/* Fundo azul para a tabela navBar */
|
||||||
|
border-spacing: 0;
|
||||||
|
/* Remove o espaçamento padrão entre as células */
|
||||||
|
border-collapse: collapse;
|
||||||
|
/* Assegura que as bordas das células colidam */
|
||||||
|
}
|
||||||
|
|
||||||
|
.navBar th,
|
||||||
|
.navBar td {
|
||||||
|
border: 1px solid #09255C;
|
||||||
|
/* Aplica bordas a cada célula */
|
||||||
|
text-align: center;
|
||||||
|
/* Alinha o texto ao centro para todas as células */
|
||||||
|
}
|
||||||
|
|
||||||
|
.titles {
|
||||||
|
background-color: #00B0EA;
|
||||||
|
/* Fundo verde para as células do título */
|
||||||
|
}
|
||||||
|
|
||||||
|
.items {
|
||||||
|
/* Mantém o texto centralizado para as linhas de item, já definido no .navBar th, .navBar td */
|
||||||
|
text-align: center;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/* .margin-top {
|
||||||
|
margin-top: 10px;
|
||||||
|
border: 1px solid red;
|
||||||
|
} */
|
||||||
|
|
||||||
|
|
||||||
|
/* .footer {
|
||||||
|
width: 97%;
|
||||||
|
height: 20px;
|
||||||
|
font-size: 0.875rem;
|
||||||
|
padding: 1rem;
|
||||||
|
background-color: #09255C;
|
||||||
|
color: #fff;
|
||||||
|
} */
|
||||||
|
|
||||||
|
.footer {
|
||||||
|
display: flex;
|
||||||
|
/* Utiliza o flexbox para o layout */
|
||||||
|
justify-content: space-between;
|
||||||
|
/* Distribui o espaço igualmente entre os elementos */
|
||||||
|
align-items: center;
|
||||||
|
/* Centraliza os elementos verticalmente */
|
||||||
|
width: auto;
|
||||||
|
/* Utiliza toda a largura disponível */
|
||||||
|
padding: 1rem;
|
||||||
|
/* Adiciona um padding para espaço interno */
|
||||||
|
background-color: #09255C;
|
||||||
|
/* Cor de fundo */
|
||||||
|
color: #fff;
|
||||||
|
/* Cor do texto */
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer-item:first-child {
|
||||||
|
margin-right: 30%
|
||||||
|
/* Alinha o primeiro item à esquerda */
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer-item:last-child {
|
||||||
|
margin-left: 30%;
|
||||||
|
/* Alinha o último item à direita */
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
@php $page = 1; @endphp
|
||||||
|
@php $count = 0; @endphp
|
||||||
|
@foreach ($equipmentDetails as $equipmentDetail)
|
||||||
|
@if ($count % 25 == 0)
|
||||||
|
@if ($count != 0)
|
||||||
|
</table>
|
||||||
|
{{-- <div class="footer last-footer" style="color:#fff">ISPT 4.0 - - Página {{ $page++ }}</div> --}}
|
||||||
|
<div class="footer">
|
||||||
|
<span class="footer-item">{{ $dataFormatada }}</span>
|
||||||
|
<span class="footer-item">{{ $detalsProject->company_project_description }}</span>
|
||||||
|
<span class="footer-item">ISPT 4.0 - - Página {{ $page++ }}</span>
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
|
|
||||||
|
<div class="footer">
|
||||||
|
<span class="footer-item">
|
||||||
|
<img class="header-img"
|
||||||
|
src="{{ public_path('/img/ispt/4.0/Ispt4.0_Símbolo_Fundo_Azul-Marinho@2x-100.jpg') }}"
|
||||||
|
alt="Logo Esquerdo">
|
||||||
|
</span>
|
||||||
|
<span class="footer-item box-mid">{{ $dataAmbit->ambits_description }}</span>
|
||||||
|
<span class="footer-item box-right">
|
||||||
|
<img class="header-img"
|
||||||
|
src="{{ public_path('/img/ispt/4.0/Ispt4.0_Símbolo_Fundo_Azul-Marinho@2x-100.jpg') }}"
|
||||||
|
alt="Logo Esquerdo" </span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<table class="navBar">
|
||||||
|
<tr class="titles">
|
||||||
|
<th>Nº ISPT</th>
|
||||||
|
<th>Unidade</th>
|
||||||
|
<th>Tag Nº</th>
|
||||||
|
<th>Dim</th>
|
||||||
|
{{-- <th>#(Classe)</th> --}}
|
||||||
|
<th>DN</th>
|
||||||
|
<th>P&ID</th>
|
||||||
|
{{-- <th>Observacoes</th> --}}
|
||||||
|
<th>Andaime</th>
|
||||||
|
<th>Isolamento</th>
|
||||||
|
<th>Grua</th>
|
||||||
|
{{-- <th>Concluido</th> --}}
|
||||||
|
</tr>
|
||||||
|
@endif
|
||||||
|
<tr class="items">
|
||||||
|
<td>{{ $equipmentDetail->ispt_number }}</td>
|
||||||
|
<td>{{ $equipmentDetail->unit_id }}</td>
|
||||||
|
<td>{{ $equipmentDetail->equipment_tag }}</td>
|
||||||
|
|
||||||
|
<td>{{ $equipmentDetail->dim }}</td>
|
||||||
|
<td>{{ $equipmentDetail->dn }}</td>
|
||||||
|
<td>{{ $equipmentDetail->pid }}</td>
|
||||||
|
<td>{{ $equipmentDetail->scaffold }}</td>
|
||||||
|
<td>{{ $equipmentDetail->isolation }}</td>
|
||||||
|
<td>{{ $equipmentDetail->crane }}</td>
|
||||||
|
{{-- <td>{{ $equipmentDetail->equipment_tag }}</td>
|
||||||
|
<td>{{ $equipmentDetail->equipment_tag }}</td>
|
||||||
|
<td>{{ $equipmentDetail->equipment_tag }}</td> --}}
|
||||||
|
</tr>
|
||||||
|
@php $count++; @endphp
|
||||||
|
@endforeach
|
||||||
|
|
||||||
|
{{-- Adicionando linhas em branco para completar a tabela até 25 linhas --}}
|
||||||
|
@while ($count % 23 != 0)
|
||||||
|
<tr class="items">
|
||||||
|
<td> </td> {{-- Espaço em branco --}}
|
||||||
|
<td> </td> {{-- Espaço em branco --}}
|
||||||
|
<td> </td> {{-- Espaço em branco --}}
|
||||||
|
|
||||||
|
<td> </td> {{-- Espaço em branco --}}
|
||||||
|
<td> </td> {{-- Espaço em branco --}}
|
||||||
|
<td> </td> {{-- Espaço em branco --}}
|
||||||
|
<td> </td> {{-- Espaço em branco --}}
|
||||||
|
<td> </td> {{-- Espaço em branco --}}
|
||||||
|
<td> </td> {{-- Espaço em branco --}}
|
||||||
|
{{-- <td> </td> Espaço em branco
|
||||||
|
<td> </td> Espaço em branco
|
||||||
|
<td> </td> Espaço em branco --}}
|
||||||
|
</tr>
|
||||||
|
@php $count++; @endphp
|
||||||
|
@endwhile
|
||||||
|
|
||||||
|
</table>
|
||||||
|
<div class="footer">
|
||||||
|
<span class="footer-item">{{ $dataFormatada }}</span>
|
||||||
|
<span class="footer-item">{{ $detalsProject->company_project_description }}</span>
|
||||||
|
<span class="footer-item">ISPT 4.0 - - Página {{ $page++ }}</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
||||||
184
resources/views/userClient/pdfReportings/equipmentsForAmbitPdf.blade copy.php
Executable file
184
resources/views/userClient/pdfReportings/equipmentsForAmbitPdf.blade copy.php
Executable file
|
|
@ -0,0 +1,184 @@
|
||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||||||
|
<meta name="viewport"
|
||||||
|
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
||||||
|
<title>Invoice</title>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
|
||||||
|
.box-mid{
|
||||||
|
padding-left: 5%;
|
||||||
|
padding-bottom: 100px;
|
||||||
|
/* border: 1px solid red; */
|
||||||
|
|
||||||
|
}
|
||||||
|
.box-right{
|
||||||
|
padding-left: 10%;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.header-img {
|
||||||
|
width: 50px;
|
||||||
|
height: 50px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.navBar {
|
||||||
|
width: 100%;
|
||||||
|
background-color: #EAF3F6;
|
||||||
|
/* Fundo azul para a tabela navBar */
|
||||||
|
border-spacing: 0;
|
||||||
|
/* Remove o espaçamento padrão entre as células */
|
||||||
|
border-collapse: collapse;
|
||||||
|
/* Assegura que as bordas das células colidam */
|
||||||
|
}
|
||||||
|
|
||||||
|
.navBar th,
|
||||||
|
.navBar td {
|
||||||
|
border: 1px solid #09255C;
|
||||||
|
/* Aplica bordas a cada célula */
|
||||||
|
text-align: center;
|
||||||
|
/* Alinha o texto ao centro para todas as células */
|
||||||
|
}
|
||||||
|
|
||||||
|
.titles {
|
||||||
|
background-color: #00B0EA;
|
||||||
|
/* Fundo verde para as células do título */
|
||||||
|
}
|
||||||
|
|
||||||
|
.items {
|
||||||
|
/* Mantém o texto centralizado para as linhas de item, já definido no .navBar th, .navBar td */
|
||||||
|
text-align: center;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer {
|
||||||
|
display: flex;
|
||||||
|
/* Utiliza o flexbox para o layout */
|
||||||
|
justify-content: space-between;
|
||||||
|
/* Distribui o espaço igualmente entre os elementos */
|
||||||
|
align-items: center;
|
||||||
|
/* Centraliza os elementos verticalmente */
|
||||||
|
width: auto;
|
||||||
|
/* Utiliza toda a largura disponível */
|
||||||
|
padding: 1rem;
|
||||||
|
/* Adiciona um padding para espaço interno */
|
||||||
|
background-color: #09255C;
|
||||||
|
/* Cor de fundo */
|
||||||
|
color: #fff;
|
||||||
|
/* Cor do texto */
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer-item:first-child {
|
||||||
|
margin-right: 30%
|
||||||
|
/* Alinha o primeiro item à esquerda */
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer-item:last-child {
|
||||||
|
margin-left: 30%;
|
||||||
|
/* Alinha o último item à direita */
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
@php $page = 1; @endphp
|
||||||
|
@php $count = 0; @endphp
|
||||||
|
|
||||||
|
@foreach ($equipmentDetails as $equipmentDetail)
|
||||||
|
@if ($count % 30 == 0)
|
||||||
|
@if ($count != 0)
|
||||||
|
</table>
|
||||||
|
<div class="footer">
|
||||||
|
<span class="footer-item">{{ $dataFormatada }}</span>
|
||||||
|
<span class="footer-item">{{ $detalsProject->company_project_description }}</span>
|
||||||
|
<span class="footer-item">ISPT 4.0 - - Página {{ $page++ }}</span>
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
|
|
||||||
|
<div class="footer">
|
||||||
|
<span class="footer-item">
|
||||||
|
<img class="header-img"
|
||||||
|
src="{{ public_path('/img/ispt/4.0/Ispt4.0_Símbolo_Fundo_Azul-Marinho@2x-100.jpg') }}"
|
||||||
|
alt="Logo Esquerdo">
|
||||||
|
</span>
|
||||||
|
<span class="footer-item box-mid">{{ $dataAmbit->ambits_description }}</span>
|
||||||
|
<span class="footer-item box-right">
|
||||||
|
<img class="header-img"
|
||||||
|
src="{{ public_path('/img/ispt/4.0/Ispt4.0_Símbolo_Fundo_Azul-Marinho@2x-100.jpg') }}"
|
||||||
|
alt="Logo Esquerdo" </span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<table class="navBar">
|
||||||
|
<tr class="titles">
|
||||||
|
<th>Nº ISPT</th>
|
||||||
|
<th>Unidade</th>
|
||||||
|
<th>Tag Nº</th>
|
||||||
|
<th>Dim</th>
|
||||||
|
{{-- <th>#(Classe)</th> --}}
|
||||||
|
<th>DN</th>
|
||||||
|
<th>P&ID</th>
|
||||||
|
{{-- <th>Observacoes</th> --}}
|
||||||
|
<th>Andaime</th>
|
||||||
|
<th>Isolamento</th>
|
||||||
|
<th>Grua</th>
|
||||||
|
{{-- <th>Concluido</th> --}}
|
||||||
|
</tr>
|
||||||
|
@endif
|
||||||
|
<tr class="items">
|
||||||
|
<td>{{ $equipmentDetail->ispt_number }}</td>
|
||||||
|
<td>{{ $equipmentDetail->unit_id }}</td>
|
||||||
|
<td>{{ $equipmentDetail->equipment_tag }}</td>
|
||||||
|
|
||||||
|
<td>{{ $equipmentDetail->dim }}</td>
|
||||||
|
<td>{{ $equipmentDetail->dn }}</td>
|
||||||
|
<td>{{ $equipmentDetail->pid }}</td>
|
||||||
|
<td>{{ $equipmentDetail->scaffold }}</td>
|
||||||
|
<td>{{ $equipmentDetail->isolation }}</td>
|
||||||
|
<td>{{ $equipmentDetail->crane }}</td>
|
||||||
|
{{-- <td>{{ $equipmentDetail->equipment_tag }}</td>
|
||||||
|
<td>{{ $equipmentDetail->equipment_tag }}</td>
|
||||||
|
<td>{{ $equipmentDetail->equipment_tag }}</td> --}}
|
||||||
|
</tr>
|
||||||
|
@php $count++; @endphp
|
||||||
|
@endforeach
|
||||||
|
|
||||||
|
{{-- Adicionando linhas em branco para completar a tabela até 25 linhas --}}
|
||||||
|
@while ($count % 23 != 0)
|
||||||
|
<tr class="items">
|
||||||
|
<td> </td> {{-- Espaço em branco --}}
|
||||||
|
<td> </td> {{-- Espaço em branco --}}
|
||||||
|
<td> </td> {{-- Espaço em branco --}}
|
||||||
|
|
||||||
|
<td> </td> {{-- Espaço em branco --}}
|
||||||
|
<td> </td> {{-- Espaço em branco --}}
|
||||||
|
<td> </td> {{-- Espaço em branco --}}
|
||||||
|
<td> </td> {{-- Espaço em branco --}}
|
||||||
|
<td> </td> {{-- Espaço em branco --}}
|
||||||
|
<td> </td> {{-- Espaço em branco --}}
|
||||||
|
{{-- <td> </td> Espaço em branco
|
||||||
|
<td> </td> Espaço em branco
|
||||||
|
<td> </td> Espaço em branco --}}
|
||||||
|
</tr>
|
||||||
|
@php $count++; @endphp
|
||||||
|
@endwhile
|
||||||
|
|
||||||
|
</table>
|
||||||
|
<div class="footer">
|
||||||
|
<span class="footer-item">{{ $dataFormatada }}</span>
|
||||||
|
<span class="footer-item">{{ $detalsProject->company_project_description }}</span>
|
||||||
|
<span class="footer-item">ISPT 4.0 - - Página {{ $page++ }}</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
||||||
|
|
@ -9,42 +9,19 @@
|
||||||
<title>Invoice</title>
|
<title>Invoice</title>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
.navBar-box {
|
.box-mid {
|
||||||
width: 100%;
|
padding-left: 5%;
|
||||||
height: 10%;
|
padding-bottom: 100px;
|
||||||
background-color: #09255C;
|
/* border: 1px solid red; */
|
||||||
color: #fff
|
|
||||||
/* display: flex;
|
|
||||||
/* Usa Flexbox para alinhar as divs internas */
|
|
||||||
/* justify-content: space-between; */
|
|
||||||
/* Distribui o espaço uniformemente */
|
|
||||||
}
|
|
||||||
|
|
||||||
.box {
|
|
||||||
/* Como nao entende o flex-box, cada box vai pegar metade do conteudo pai */
|
|
||||||
width: 33.33%;
|
|
||||||
float: left;
|
|
||||||
height: 65px;
|
|
||||||
padding: 15px 0px 0px 25px;
|
|
||||||
/* top right bottom left */
|
|
||||||
|
|
||||||
margin-bottom: 50%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.box-text {
|
|
||||||
padding: 25px 0px 0px 50px;
|
|
||||||
/* top right bottom left */
|
|
||||||
height: 65px;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.last-box {
|
.box-right {
|
||||||
text-align: center;
|
padding-left: 10%;
|
||||||
padding: 15px 0px 0px 40px;
|
|
||||||
/* top right bottom left */
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.header-img {
|
.header-img {
|
||||||
width: 50px;
|
width: 50px;
|
||||||
height: 50px;
|
height: 50px;
|
||||||
|
|
@ -80,21 +57,6 @@
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* .margin-top {
|
|
||||||
margin-top: 10px;
|
|
||||||
border: 1px solid red;
|
|
||||||
} */
|
|
||||||
|
|
||||||
|
|
||||||
/* .footer {
|
|
||||||
width: 97%;
|
|
||||||
height: 20px;
|
|
||||||
font-size: 0.875rem;
|
|
||||||
padding: 1rem;
|
|
||||||
background-color: #09255C;
|
|
||||||
color: #fff;
|
|
||||||
} */
|
|
||||||
|
|
||||||
.footer {
|
.footer {
|
||||||
display: flex;
|
display: flex;
|
||||||
/* Utiliza o flexbox para o layout */
|
/* Utiliza o flexbox para o layout */
|
||||||
|
|
@ -116,6 +78,7 @@
|
||||||
margin-right: 30%
|
margin-right: 30%
|
||||||
/* Alinha o primeiro item à esquerda */
|
/* Alinha o primeiro item à esquerda */
|
||||||
}
|
}
|
||||||
|
|
||||||
.footer-item:last-child {
|
.footer-item:last-child {
|
||||||
margin-left: 30%;
|
margin-left: 30%;
|
||||||
/* Alinha o último item à direita */
|
/* Alinha o último item à direita */
|
||||||
|
|
@ -128,33 +91,31 @@
|
||||||
|
|
||||||
@php $page = 1; @endphp
|
@php $page = 1; @endphp
|
||||||
@php $count = 0; @endphp
|
@php $count = 0; @endphp
|
||||||
|
|
||||||
@foreach ($equipmentDetails as $equipmentDetail)
|
@foreach ($equipmentDetails as $equipmentDetail)
|
||||||
@if ($count % 25 == 0)
|
@if ($count % 30 == 0)
|
||||||
@if ($count != 0)
|
@if ($count != 0)
|
||||||
</table>
|
</table>
|
||||||
{{-- <div class="footer last-footer" style="color:#fff">ISPT 4.0 - - Página {{ $page++ }}</div> --}}
|
<div class="footer" style="border: 1px solid red">
|
||||||
<div class="footer">
|
|
||||||
<span class="footer-item">{{ $dataFormatada }}</span>
|
<span class="footer-item">{{ $dataFormatada }}</span>
|
||||||
<span class="footer-item">{{ $detalsProject->company_project_description }}</span>
|
<span class="footer-item">{{ $detalsProject->company_project_description }}</span>
|
||||||
<span class="footer-item">ISPT 4.0 - - Página {{ $page++ }}</span>
|
<span class="footer-item">ISPT 4.0 - - Página {{ $page++ }}</span>
|
||||||
</div>
|
</div>
|
||||||
@endif
|
@endif
|
||||||
<div class="navBar-box">
|
|
||||||
|
|
||||||
<div class="box">
|
<div class="footer">
|
||||||
|
<span class="footer-item" ><img class="header-img"
|
||||||
|
src="{{ public_path('/img/ispt/4.0/Ispt4.0_Símbolo_Fundo_Azul-Marinho@2x-100.jpg') }}"
|
||||||
|
alt="Logo Esquerdo">
|
||||||
|
</span>
|
||||||
|
<span class="footer-item" >{{ $dataAmbit->ambits_description }}</span>
|
||||||
|
<span class="footer-item">
|
||||||
<img class="header-img"
|
<img class="header-img"
|
||||||
src="{{ public_path('/img/ispt/4.0/Ispt4.0_Símbolo_Fundo_Azul-Marinho@2x-100.jpg') }}"
|
src="{{ public_path('/img/ispt/4.0/Ispt4.0_Símbolo_Fundo_Azul-Marinho@2x-100.jpg') }}"
|
||||||
alt="Logo Esquerdo">
|
alt="Logo Esquerdo">
|
||||||
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="box box-text">{{ $dataAmbit->ambits_description }}</div>
|
|
||||||
<div class="box last-box">
|
|
||||||
<img class="header-img"
|
|
||||||
src="{{ public_path('/img/ispt/4.0/Ispt4.0_Símbolo_Fundo_Azul-Marinho@2x-100.jpg') }}"
|
|
||||||
alt="Logo Esquerdo"
|
|
||||||
{{-- Estava a utilizar a imagem do proprio utilizador, porem iste metodo so faz sentido no perfil de Empresa que tera sua proprio imagem no relatorio --}}
|
|
||||||
{{-- <img class="header-img" src="{{ $userLogoPath }}" alt="User Logo"> --}}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<table class="navBar">
|
<table class="navBar">
|
||||||
<tr class="titles">
|
<tr class="titles">
|
||||||
<th>Nº ISPT</th>
|
<th>Nº ISPT</th>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user