update
This commit is contained in:
parent
84b2e0c4c3
commit
091128e73b
|
|
@ -5,6 +5,7 @@
|
|||
|
||||
use App\Models\AssociationCompanyUser;
|
||||
use App\Models\Company;
|
||||
use App\Models\EquipmentTypeAttribute;
|
||||
use App\Models\EquipmentWorkHistory;
|
||||
use App\Models\HistoryOfEquipmentAmbitsInTheProject;
|
||||
use App\Models\ProjectExcelLog;
|
||||
|
|
@ -1285,8 +1286,6 @@ public function processStep2(Request $request)
|
|||
// Inicialização do hashmap para rastrear as linhas únicas
|
||||
$uniqueRowsHashmap = [];
|
||||
$equipmentPendingLogs = [];
|
||||
// $ignoredLines = [];
|
||||
// $duplicateLines = [];
|
||||
|
||||
// Separa o nome do arquivo para obter o tipo de documento e a data-hora
|
||||
$parts = explode('_', $originalFileName);
|
||||
|
|
@ -1359,8 +1358,8 @@ function normalize($value)
|
|||
$equipmentType = EquipmentType::where('equipment_type_name', $datas['equipment_type_name'])->first();
|
||||
|
||||
//-------- Linhas Ignoradas
|
||||
// Começa a contagem das linhas do excel a partir de 7 linha
|
||||
if ($i < 6) {
|
||||
// Começa a contagem das linhas do excel a partir de 9 linha
|
||||
if ($i < 8) {
|
||||
continue;
|
||||
}
|
||||
// Contador para campos não vazios
|
||||
|
|
@ -1537,9 +1536,9 @@ function normalize($value)
|
|||
$newEquipament->equipment_type_id = $equipmentType->equipment_type_id;
|
||||
$newEquipament->equipment_Description = $datas['equipment_description'];
|
||||
$newEquipament->equipment_tag = $datas['equipment_tag'];
|
||||
$newEquipament->equipment_serial_number = $datas['serial_number'];
|
||||
$newEquipament->equipment_brand = $datas['brand'];
|
||||
$newEquipament->equipment_model = $datas['model'];
|
||||
$newEquipament->equipment_serial_number = $datas['equipment_serial_number'];
|
||||
$newEquipament->equipment_brand = $datas['equipment_brand'];
|
||||
$newEquipament->equipment_model = $datas['equipment_model'];
|
||||
$newEquipament->company_projects_id = $company_projects_id;
|
||||
|
||||
$newEquipament->save();
|
||||
|
|
@ -1551,15 +1550,27 @@ function normalize($value)
|
|||
$generalAttributes = GeneralAttributesEquipment::all();
|
||||
|
||||
|
||||
foreach ($generalAttributes as $generalAttribute) {
|
||||
$typeId = $newEquipament->equipment_type_id;
|
||||
|
||||
// Verifica se a chave existe em $datas
|
||||
if (isset($datas[$generalAttribute->general_attributes_equipment_description])) {
|
||||
|
||||
// 1. Buscar os IDs dos atributos permitidos para esse tipo
|
||||
$allowedAttributeIds = EquipmentTypeAttribute::where('equipment_type_id', $typeId)
|
||||
->pluck('attribute_id')
|
||||
->toArray();
|
||||
|
||||
// 2. Buscar os nomes das descrições para esses atributos
|
||||
$allowedAttributes = GeneralAttributesEquipment::whereIn('general_attributes_equipment_id', $allowedAttributeIds)
|
||||
->get()
|
||||
->keyBy('general_attributes_equipment_description');
|
||||
|
||||
|
||||
foreach ($allowedAttributes as $description => $attribute) {
|
||||
if (isset($datas[$description])) {
|
||||
$specificAttribute = new SpecificAttributesEquipmentType;
|
||||
$specificAttribute->equipment_id = $newEquipament->equipment_id;
|
||||
$specificAttribute->equipment_type_id = $newEquipament->equipment_type_id;
|
||||
$specificAttribute->general_attributes_equipment_id = $generalAttribute->general_attributes_equipment_id;
|
||||
$specificAttribute->specific_attributes_value = $datas[$generalAttribute->general_attributes_equipment_description];
|
||||
$specificAttribute->general_attributes_equipment_id = $attribute->general_attributes_equipment_id;
|
||||
$specificAttribute->specific_attributes_value = $datas[$description];
|
||||
|
||||
$specificAttribute->save();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -126,9 +126,111 @@ class PreparedProjectController extends Controller
|
|||
// }
|
||||
|
||||
|
||||
// public function showAllEquipmentsInProjectForQrCode($projectId)
|
||||
// {
|
||||
// $detailsEquipment = Equipment::where('company_projects_id', $projectId)->get();
|
||||
// $zipFileName = 'equipamentos_projeto_' . $projectId . '.zip';
|
||||
// $tempPath = storage_path('app/public/temp_pdfs/');
|
||||
// $zipPath = storage_path('app/public/' . $zipFileName);
|
||||
|
||||
// // Busca os dados do equipamento
|
||||
// $receiveEquipmentWorkHistory = EquipmentWorkHistory::where('equipment_id', $detailsEquipment->equipment_id)
|
||||
// ->where('company_projects_id', $detailsEquipment->company_projects_id)
|
||||
// ->first();
|
||||
// //Recebe os dados do Ambito para o equipamento atual
|
||||
// $receiveAmbit = EquipmentAssociationAmbit::where('equipmentWorkHistorys_id', $receiveEquipmentWorkHistory->equipmentWorkHistorys_id)->first();
|
||||
|
||||
// //Guarda os Detalhes recebidos das outras variavies como Ambito e Numero Ispt
|
||||
// $detailsEquipment->istp_number = $receiveEquipmentWorkHistory->ispt_number;
|
||||
// $detailsEquipment->equipment_ambit = $receiveAmbit->ambitsEquipment->ambits_description;
|
||||
|
||||
|
||||
// // Criar diretório temporário se não existir
|
||||
// if (!file_exists($tempPath)) {
|
||||
// mkdir($tempPath, 0777, true);
|
||||
// }
|
||||
|
||||
// $files = []; // Armazena os caminhos dos PDFs gerados
|
||||
|
||||
// foreach ($detailsEquipment as $equipment) {
|
||||
// // Buscar detalhes do equipamento
|
||||
// $detailsCompanyProject = CompanyProject::find($projectId);
|
||||
// $detailsPlant = Plant::where('plant_id', $detailsCompanyProject->plant_id)->first();
|
||||
// $detailsCompany = Company::where('company_id', $detailsPlant->company_id)->first();
|
||||
|
||||
// // Usar a mesma estrutura da função principal
|
||||
// $specificAttributesArray = [];
|
||||
|
||||
// $specificAttributes = SpecificAttributesEquipmentType::where('equipment_id', $detailsEquipment->equipment_id)->get();
|
||||
|
||||
// foreach ($specificAttributes as $attribute) {
|
||||
// $specificAttributesArray[$attribute->general_attributes_equipment_id] = $attribute->specific_attributes_value;
|
||||
// }
|
||||
|
||||
|
||||
// // Buscar equipamentos associados ao QR Code
|
||||
// $associatedEquipments = QrcodesAssociatedEquipment::where('equipment_id', $equipment->equipment_id)->get();
|
||||
// $associatedArray = [];
|
||||
// $qrCodeImages = [];
|
||||
|
||||
// foreach ($associatedEquipments as $associatedEquipment) {
|
||||
// $componentParts = explode('@', $associatedEquipment->component_tag);
|
||||
// $associatedArray[$associatedEquipment->id] = isset($componentParts[1]) ? $componentParts[1] : $associatedEquipment->component_tag;
|
||||
|
||||
// // Gerar QR Code
|
||||
// $qrCode = new QrCode($associatedEquipment->component_tag);
|
||||
// $writer = new PngWriter();
|
||||
// $qrCodeImages[$associatedEquipment->id] = 'data:image/png;base64,' . base64_encode($writer->write($qrCode)->getString());
|
||||
// }
|
||||
|
||||
// // Caminho do logo da empresa
|
||||
// $logoPath = public_path('companies_logo/' . ($detailsCompany->company_logo ?: 'logoISPT4.0.jpg'));
|
||||
// if (!file_exists($logoPath)) {
|
||||
// $logoPath = public_path('companies_logo/logoISPT4.0.jpg');
|
||||
// }
|
||||
// $isptLogoPath = public_path('/img/ispt/ispt.jpg');
|
||||
|
||||
// //Criar uma nova instância do PdfWrapper para cada equipamento
|
||||
// $pdfWrapper = new PdfWrapper();
|
||||
// $pdf = $pdfWrapper->loadView('projectsClients.showDetailsEquipmentForQrCodePdf', [
|
||||
// 'detailsCompanyProject' => $detailsCompanyProject,
|
||||
// 'detailsEquipment' => $detailsEquipment,
|
||||
// 'logoPath' => $logoPath,
|
||||
// 'qrCodeImages' => $qrCodeImages,
|
||||
// 'associatedArray' => $associatedArray,
|
||||
// 'isptLogoPath' => $isptLogoPath
|
||||
// ])->setOrientation('landscape');
|
||||
|
||||
// // Nome do arquivo PDF
|
||||
// $pdfFileName = $equipment->equipment_tag . '.pdf';
|
||||
// $pdfFilePath = $tempPath . $pdfFileName;
|
||||
|
||||
// // Salvar o PDF
|
||||
// $pdf->save($pdfFilePath);
|
||||
// $files[] = $pdfFilePath;
|
||||
// }
|
||||
|
||||
// // Criar arquivo ZIP e adicionar os PDFs gerados
|
||||
// $zip = new ZipArchive;
|
||||
// if ($zip->open($zipPath, ZipArchive::CREATE) === TRUE) {
|
||||
// foreach ($files as $file) {
|
||||
// $zip->addFile($file, basename($file));
|
||||
// }
|
||||
// $zip->close();
|
||||
// }
|
||||
|
||||
// // Remover arquivos PDF individuais após criar o ZIP
|
||||
// foreach ($files as $file) {
|
||||
// unlink($file);
|
||||
// }
|
||||
|
||||
// // Retornar o arquivo ZIP para download
|
||||
// return response()->download($zipPath)->deleteFileAfterSend(true);
|
||||
// }
|
||||
|
||||
public function showAllEquipmentsInProjectForQrCode($projectId)
|
||||
{
|
||||
$equipments = Equipment::where('company_projects_id', $projectId)->get();
|
||||
$equipments = Equipment::where('company_projects_id', $projectId)->get(); // ← nome mais apropriado
|
||||
$zipFileName = 'equipamentos_projeto_' . $projectId . '.zip';
|
||||
$tempPath = storage_path('app/public/temp_pdfs/');
|
||||
$zipPath = storage_path('app/public/' . $zipFileName);
|
||||
|
|
@ -141,29 +243,44 @@ public function showAllEquipmentsInProjectForQrCode($projectId)
|
|||
$files = []; // Armazena os caminhos dos PDFs gerados
|
||||
|
||||
foreach ($equipments as $equipment) {
|
||||
// Buscar detalhes do equipamento
|
||||
// Reutilizamos $detailsEquipment dentro do loop para compatibilidade com a view
|
||||
$detailsEquipment = $equipment;
|
||||
|
||||
// Buscar dados do histórico de trabalho e âmbito
|
||||
$receiveEquipmentWorkHistory = EquipmentWorkHistory::where('equipment_id', $detailsEquipment->equipment_id)
|
||||
->where('company_projects_id', $detailsEquipment->company_projects_id)
|
||||
->first();
|
||||
|
||||
// Adicionar campo personalizado ao equipamento
|
||||
$detailsEquipment->istp_number = $receiveEquipmentWorkHistory->ispt_number ?? 'N/A';
|
||||
|
||||
$receiveAmbit = EquipmentAssociationAmbit::where('equipmentWorkHistorys_id', $receiveEquipmentWorkHistory->equipmentWorkHistorys_id ?? null)
|
||||
->first();
|
||||
|
||||
$detailsEquipment->equipment_ambit = $receiveAmbit->ambitsEquipment->ambits_description ?? 'N/A';
|
||||
|
||||
// Buscar detalhes do projeto, planta e empresa
|
||||
$detailsCompanyProject = CompanyProject::find($projectId);
|
||||
$detailsPlant = Plant::where('plant_id', $detailsCompanyProject->plant_id)->first();
|
||||
$detailsCompany = Company::where('company_id', $detailsPlant->company_id)->first();
|
||||
|
||||
// Buscar atributos específicos do equipamento
|
||||
$specificAttributes = SpecificAttributesEquipmentType::where('equipment_id', $equipment->equipment_id)->get();
|
||||
$specificAttributes = SpecificAttributesEquipmentType::where('equipment_id', $detailsEquipment->equipment_id)->get();
|
||||
$specificAttributesArray = [];
|
||||
|
||||
foreach ($specificAttributes as $attribute) {
|
||||
$specificAttributesArray[$attribute->general_attributes_equipment_id] = $attribute->specific_attributes_value;
|
||||
}
|
||||
|
||||
// Buscar equipamentos associados ao QR Code
|
||||
$associatedEquipments = QrcodesAssociatedEquipment::where('equipment_id', $equipment->equipment_id)->get();
|
||||
// Equipamentos associados ao QR Code
|
||||
$associatedEquipments = QrcodesAssociatedEquipment::where('equipment_id', $detailsEquipment->equipment_id)->get();
|
||||
$associatedArray = [];
|
||||
$qrCodeImages = [];
|
||||
|
||||
foreach ($associatedEquipments as $associatedEquipment) {
|
||||
$componentParts = explode('@', $associatedEquipment->component_tag);
|
||||
$associatedArray[$associatedEquipment->id] = isset($componentParts[1]) ? $componentParts[1] : $associatedEquipment->component_tag;
|
||||
$associatedArray[$associatedEquipment->id] = $componentParts[1] ?? $associatedEquipment->component_tag;
|
||||
|
||||
// Gerar QR Code
|
||||
$qrCode = new QrCode($associatedEquipment->component_tag);
|
||||
$writer = new PngWriter();
|
||||
$qrCodeImages[$associatedEquipment->id] = 'data:image/png;base64,' . base64_encode($writer->write($qrCode)->getString());
|
||||
|
|
@ -174,20 +291,24 @@ public function showAllEquipmentsInProjectForQrCode($projectId)
|
|||
if (!file_exists($logoPath)) {
|
||||
$logoPath = public_path('companies_logo/logoISPT4.0.jpg');
|
||||
}
|
||||
|
||||
$isptLogoPath = public_path('/img/ispt/ispt.jpg');
|
||||
|
||||
// Criar uma nova instância do PdfWrapper para cada equipamento
|
||||
// Criar PDF
|
||||
$pdfWrapper = new PdfWrapper();
|
||||
$pdf = $pdfWrapper->loadView('projectsClients.showDetailsEquipmentForQrCodePdf', [
|
||||
'detailsEquipment' => $equipment,
|
||||
'detailsCompanyProject' => $detailsCompanyProject,
|
||||
'detailsEquipment' => $detailsEquipment,
|
||||
'logoPath' => $logoPath,
|
||||
'qrCodeImages' => $qrCodeImages,
|
||||
'associatedArray' => $associatedArray,
|
||||
'isptLogoPath' => $isptLogoPath
|
||||
'isptLogoPath' => $isptLogoPath,
|
||||
'specificAttributesArray' => $specificAttributesArray
|
||||
])->setOrientation('landscape');
|
||||
|
||||
// Nome do arquivo PDF
|
||||
$pdfFileName = $equipment->equipment_tag . '.pdf';
|
||||
// Nome do PDF com o número ISPT, sanitizado
|
||||
$istpNumber = preg_replace('/[^a-zA-Z0-9_-]/', '_', $detailsEquipment->istp_number);
|
||||
$pdfFileName = $istpNumber . '.pdf';
|
||||
$pdfFilePath = $tempPath . $pdfFileName;
|
||||
|
||||
// Salvar o PDF
|
||||
|
|
@ -195,7 +316,7 @@ public function showAllEquipmentsInProjectForQrCode($projectId)
|
|||
$files[] = $pdfFilePath;
|
||||
}
|
||||
|
||||
// Criar arquivo ZIP e adicionar os PDFs gerados
|
||||
// Criar ZIP com os PDFs
|
||||
$zip = new ZipArchive;
|
||||
if ($zip->open($zipPath, ZipArchive::CREATE) === TRUE) {
|
||||
foreach ($files as $file) {
|
||||
|
|
@ -204,15 +325,18 @@ public function showAllEquipmentsInProjectForQrCode($projectId)
|
|||
$zip->close();
|
||||
}
|
||||
|
||||
// Remover arquivos PDF individuais após criar o ZIP
|
||||
// Limpar PDFs temporários
|
||||
foreach ($files as $file) {
|
||||
unlink($file);
|
||||
}
|
||||
|
||||
// Retornar o arquivo ZIP para download
|
||||
// Retornar ZIP para download
|
||||
return response()->download($zipPath)->deleteFileAfterSend(true);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public function showDetailsEquipmentForQrCode($equipmentId, $projectId)
|
||||
{
|
||||
// Busca os detalhes do equipamento, projeto e empresa
|
||||
|
|
@ -279,6 +403,7 @@ public function showDetailsEquipmentForQrCode($equipmentId, $projectId)
|
|||
// Gera e retorna o PDF com os detalhes e QR Codes
|
||||
return $pdfWrapper
|
||||
->loadView('projectsClients.showDetailsEquipmentForQrCodePdf', [
|
||||
'detailsCompanyProject' => $detailsCompanyProject,
|
||||
'detailsEquipment' => $detailsEquipment,
|
||||
'logoPath' => $logoPath,
|
||||
'qrCodeImages' => $qrCodeImages,
|
||||
|
|
|
|||
|
|
@ -1058,8 +1058,8 @@ public function projectDetails_11($projectID, $equipmentID)
|
|||
$specificAttributesArray[$attribute->general_attributes_equipment_id] = $attribute->specific_attributes_value;
|
||||
}
|
||||
|
||||
// talvez apenas ciar um if ja resolva, se vir da obra em status 1 ou 3 receve 3 para editar e ver, se viar da obra status 2, deve ser apenas 1
|
||||
if ($detailsProject->order_project == 1 || $detailsProject->order_project == 3) {
|
||||
// talvez apenas ciar um if ja resolva, se vir da obra em status 1, 3 ou 4 receve 3 para editar e ver, se viar da obra status 2, deve ser apenas 1
|
||||
if ($detailsProject->order_project == 1 || $detailsProject->order_project == 3 || $detailsProject->order_project == 5 ) {
|
||||
// Cria um sistema de 1 a 3 , onde 1 e apenas 'ler', 2 apenas editar e 3 as 2 opcoes
|
||||
$portfolioOnlyreadOrEditToo = 3;
|
||||
|
||||
|
|
@ -1069,7 +1069,6 @@ public function projectDetails_11($projectID, $equipmentID)
|
|||
}
|
||||
|
||||
|
||||
|
||||
//filteredTasks', 'OrdemTasks', 'DetailsTasks' campos vazios para ISV.
|
||||
return view('projectsClients.articulated_2_ShowEquipment', compact('detailsProject', 'detalsEquipment', 'filteredTasks', 'OrdemTasks', 'DetailsTasks', 'specificAttributesArray', 'receiveEquipmentWorkHistorys', 'portfolioOnlyreadOrEditToo'));
|
||||
}
|
||||
|
|
|
|||
30
app/Models/EquipmentTypeAttribute.php
Normal file
30
app/Models/EquipmentTypeAttribute.php
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class EquipmentTypeAttribute extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
|
||||
protected $table = 'equipment_type_attributes'; // Nome da tabela
|
||||
|
||||
protected $fillable = [
|
||||
'equipment_type_id',
|
||||
'attribute_id',
|
||||
'is_required',
|
||||
'default_value',
|
||||
];
|
||||
|
||||
public function equipmentType()
|
||||
{
|
||||
return $this->belongsTo(EquipmentType::class, 'equipment_type_id');
|
||||
}
|
||||
|
||||
public function attribute()
|
||||
{
|
||||
return $this->belongsTo(GeneralAttributesEquipment::class, 'attribute_id');
|
||||
}
|
||||
}
|
||||
BIN
public/templateExcel/Valves_Template.xlsx
Executable file → Normal file
BIN
public/templateExcel/Valves_Template.xlsx
Executable file → Normal file
Binary file not shown.
Binary file not shown.
2695
resources/views/components/portfolio/portfolioAttributesForEquipments.blade copy.php
Executable file
2695
resources/views/components/portfolio/portfolioAttributesForEquipments.blade copy.php
Executable file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
|
@ -4,7 +4,7 @@
|
|||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Card Example</title>
|
||||
<title>Ficha Técnica - {{ $detailsEquipment->equipment_tag }}</title>
|
||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet">
|
||||
|
||||
<style>
|
||||
|
|
@ -16,12 +16,12 @@
|
|||
}
|
||||
|
||||
.card-layout {
|
||||
margin-top: 10px;
|
||||
margin-top: 20px;
|
||||
font-size: 10px;
|
||||
/* width: 80mm;
|
||||
height: 45mm; */
|
||||
width: 115mm;
|
||||
height: 58mm;
|
||||
height: 60mm;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
/* Organiza os filhos verticalmente */
|
||||
|
|
@ -67,41 +67,10 @@
|
|||
width: 12mm;
|
||||
height: 12mm;
|
||||
}
|
||||
|
||||
|
||||
/* .blue {
|
||||
background-color: #09255C;
|
||||
color: white;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
|
||||
font-weight: bold;
|
||||
} */
|
||||
|
||||
/* .gray {
|
||||
background-color: #EAF3F6;
|
||||
color: black;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.dark-blue {
|
||||
background-color: #00B0EA;
|
||||
color: white;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
|
||||
font-weight: bold;
|
||||
} */
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
@foreach ($associatedArray as $key => $value)
|
||||
<!-- psv -->
|
||||
@if ($detailsEquipment->equipmentType->equipment_type_id == 3)
|
||||
|
|
@ -121,26 +90,31 @@
|
|||
|
||||
<div class="col-sm-6 p-0 m-0 title-card" style="border: 1px solid gray;">
|
||||
<div class="col-sm" style="padding-top: 15px; margin: 0px; background-color: #09255C; color: #fff; font-size: 15px;">
|
||||
*Nome da paragem
|
||||
{{ $detailsCompanyProject->company_project_description }}
|
||||
</div>
|
||||
|
||||
<!-- Linha: N.Ispt -->
|
||||
<div class="row align-items-center" style="margin: 0px; height: 18px;">
|
||||
<div class="col-sm" style="font-size: 12px; background-color: rgb(218, 218, 218);border:1px dashed black;">
|
||||
<div class="col-sm" style="font-size: 12px; background-color: rgb(218, 218, 218); border: 1px dashed black;">
|
||||
N.Ispt
|
||||
</div>
|
||||
<div class="col-sm" style="text-align: center;">
|
||||
{{ $detailsEquipment->istp_number}}
|
||||
<div class="col-sm" style="text-align: center; border: 1.2px dashed black;">
|
||||
{{ $detailsEquipment->istp_number }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Linha: Tag -->
|
||||
<div class="row align-items-center" style="margin: 0px; height: 18px;">
|
||||
<div class="col-sm" style="font-size: 12px; background-color: rgb(218, 218, 218);border:1px dashed black;">
|
||||
<div class="col-sm" style="font-size: 12px; background-color: rgb(218, 218, 218); border: 1px dashed black;">
|
||||
Tag
|
||||
</div>
|
||||
<div class="col-sm">
|
||||
<div class="col-sm" style=" text-align: center;">
|
||||
{{ $detailsEquipment->equipment_tag }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="col-sm p-0" style="border: 1px solid gray;">
|
||||
<div class="col-sm">
|
||||
<img class="qr-code" src="{{ $qrCodeImages[$key] }}" alt="QR Code">
|
||||
|
|
@ -158,14 +132,14 @@
|
|||
<div class="col-sm-3" style="font-size: 10px; background-color:#09255C;border:1px dashed black; color:white;">Dim.Entrada:</div>
|
||||
<div class="col-sm-6" style="font-size: 10px;border:1px dashed black;"> {{ $specificAttributesArray[4] ?? '###' }} </div>
|
||||
<div class="col-sm" style="font-size: 10px; background-color:#09255C;border:1px dashed black; color:white;">Rating:</div>
|
||||
<div class="col-sm" style="font-size: 10px;border:1px dashed black;"> {{ $specificAttributesArray[6] ?? '###' }} </div>
|
||||
<div class="col-sm" style="font-size: 10px;border:1px dashed black;"> {{ $specificAttributesArray[43] ?? '###' }} </div>
|
||||
</div>
|
||||
|
||||
<div class="row" style="margin: 0px; height: 20px; ">
|
||||
<div class="col-sm-3" style="font-size: 10px; background-color:#09255C;border:1px dashed black; color:white;">Dim.Saida:</div>
|
||||
<div class="col-sm-6" style="font-size: 10px;border:1px dashed black;"> {{ $specificAttributesArray[5] ?? '###' }} </div>
|
||||
<div class="col-sm" style="font-size: 10px; background-color:#09255C;border:1px dashed black; color:white;">Rating:</div>
|
||||
<div class="col-sm" style="font-size: 10px;border:1px dashed black;"> {{ $specificAttributesArray[16] ?? '###' }} </div>
|
||||
<div class="col-sm" style="font-size: 10px;border:1px dashed black;"> {{ $specificAttributesArray[44] ?? '###' }} </div>
|
||||
</div>
|
||||
|
||||
<div class="row " style="margin: 0px; height: 20px; ">
|
||||
|
|
@ -177,28 +151,28 @@
|
|||
<div class="col-sm-3" style="font-size: 10px; background-color:#09255C;border:1px dashed black; color:white;">Fluido:</div>
|
||||
<div class="col-sm" style="font-size: 10px;border:1px dashed black"> {{ $specificAttributesArray[41] ?? '###' }} </div>
|
||||
<div class="col-sm" style="font-size: 10px; background-color:#09255C;border:1px dashed black; color:white;">Pressão:</div>
|
||||
<div class="col-sm" style="font-size: 10px;border:1px dashed black"> {{ $specificAttributesArray[100] ?? '###' }} </div>
|
||||
<div class="col-sm" style="font-size: 10px;border:1px dashed black"> {{ $specificAttributesArray[12] ?? '###' }} </div>
|
||||
<div class="col-sm" style="font-size: 10px; background-color:#09255C;border:1px dashed black; color:white;">C.pressão:</div>
|
||||
<div class="col-sm" style="font-size: 10px;border:1px dashed black"> {{ $specificAttributesArray[100] ?? '###' }} </div>
|
||||
<div class="col-sm" style="font-size: 10px;border:1px dashed black"> {{ $specificAttributesArray[13] ?? '###' }} </div>
|
||||
</div>
|
||||
|
||||
<div class="row" style="margin: 0px; display: flex; align-items: stretch;">
|
||||
<div class="col-sm" style="font-size: 10px; background-color:#09255C; border:1px dashed black; color:white; text-align: center; display: flex; align-items: center; justify-content: center; min-height: 3em;">
|
||||
<div class="col-sm" style="font-size: 10px; background-color:#09255C; border:1px dashed black; color:white; text-align: center; display: flex; align-items: center; justify-content: center; min-height: 4.8em;">
|
||||
T.val:
|
||||
</div>
|
||||
<div class="col-sm" style="font-size: 10px; border:1px dashed black; text-align: center; display: flex; align-items: center; justify-content: center; min-height: 4em;">
|
||||
<div class="col-sm" style="font-size: 10px; border:1px dashed black; text-align: center; display: flex; align-items: center; justify-content: center; min-height: 4.8em;">
|
||||
PSV
|
||||
</div>
|
||||
<div class="col-sm" style="font-size: 10px; background-color:#09255C; border:1px dashed black; color:white; text-align: center; display: flex; align-items: center; justify-content: center; min-height: 4em;">
|
||||
<div class="col-sm" style="font-size: 10px; background-color:#09255C; border:1px dashed black; color:white; text-align: center; display: flex; align-items: center; justify-content: center; min-height: 4.8em;">
|
||||
Âmbito:
|
||||
</div>
|
||||
<div class="col-sm-4" style="font-size: 10px; border:1px dashed black; text-align: center; display: flex; align-items: center; justify-content: center; min-height: 4em;">
|
||||
<div class="col-sm-4" style="font-size: 10px; border:1px dashed black; text-align: center; display: flex; align-items: center; justify-content: center; min-height: 4.8em;">
|
||||
{{ $detailsEquipment->equipment_ambit}}
|
||||
</div>
|
||||
<div class="col-sm" style="font-size: 10px; background-color:#09255C; border:1px dashed black; color:white; text-align: center; display: flex; align-items: center; justify-content: center; min-height: 4em;">
|
||||
<div class="col-sm" style="font-size: 10px; background-color:#09255C; border:1px dashed black; color:white; text-align: center; display: flex; align-items: center; justify-content: center; min-height: 4.8em;">
|
||||
Área:
|
||||
</div>
|
||||
<div class="col-sm" style="font-size: 10px; border:1px dashed black; text-align: center; display: flex; align-items: center; justify-content: center; min-height: 4em;">
|
||||
<div class="col-sm" style="font-size: 10px; border:1px dashed black; text-align: center; display: flex; align-items: center; justify-content: center; min-height: 4.8em;">
|
||||
{{ $specificAttributesArray[35] ?? '###' }}
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -281,22 +255,22 @@
|
|||
</div>
|
||||
|
||||
<div class="row" style="margin: 0px; display: flex; align-items: stretch;">
|
||||
<div class="col-sm" style="font-size: 10px; background-color:#09255C; border:1px dashed black; color:white; text-align: center; display: flex; align-items: center; justify-content: center; min-height: 3em;">
|
||||
<div class="col-sm" style="font-size: 10px; background-color:#09255C; border:1px dashed black; color:white; text-align: center; display: flex; align-items: center; justify-content: center; min-height: 4.8em;">
|
||||
T.val:
|
||||
</div>
|
||||
<div class="col-sm" style="font-size: 10px; border:1px dashed black; text-align: center; display: flex; align-items: center; justify-content: center; min-height: 4em;">
|
||||
<div class="col-sm" style="font-size: 10px; border:1px dashed black; text-align: center; display: flex; align-items: center; justify-content: center; min-height: 4.8em;">
|
||||
CV
|
||||
</div>
|
||||
<div class="col-sm" style="font-size: 10px; background-color:#09255C; border:1px dashed black; color:white; text-align: center; display: flex; align-items: center; justify-content: center; min-height: 4em;">
|
||||
<div class="col-sm" style="font-size: 10px; background-color:#09255C; border:1px dashed black; color:white; text-align: center; display: flex; align-items: center; justify-content: center; min-height: 4.8em;">
|
||||
Âmbito:
|
||||
</div>
|
||||
<div class="col-sm-4" style="font-size: 10px; border:1px dashed black; text-align: center; display: flex; align-items: center; justify-content: center; min-height: 4em;">
|
||||
<div class="col-sm-4" style="font-size: 10px; border:1px dashed black; text-align: center; display: flex; align-items: center; justify-content: center; min-height: 4.8em;">
|
||||
{{ $detailsEquipment->equipment_ambit}}
|
||||
</div>
|
||||
<div class="col-sm" style="font-size: 10px; background-color:#09255C; border:1px dashed black; color:white; text-align: center; display: flex; align-items: center; justify-content: center; min-height: 4em;">
|
||||
<div class="col-sm" style="font-size: 10px; background-color:#09255C; border:1px dashed black; color:white; text-align: center; display: flex; align-items: center; justify-content: center; min-height: 4.8em;">
|
||||
Área:
|
||||
</div>
|
||||
<div class="col-sm" style="font-size: 10px; border:1px dashed black; text-align: center; display: flex; align-items: center; justify-content: center; min-height: 4em;">
|
||||
<div class="col-sm" style="font-size: 10px; border:1px dashed black; text-align: center; display: flex; align-items: center; justify-content: center; min-height: 4.8em;">
|
||||
{{ $specificAttributesArray[35] ?? '###' }}
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -381,22 +355,22 @@
|
|||
</div>
|
||||
|
||||
<div class="row" style="margin: 0px; display: flex; align-items: stretch;">
|
||||
<div class="col-sm" style="font-size: 10px; background-color:#09255C; border:1px dashed black; color:white; text-align: center; display: flex; align-items: center; justify-content: center; min-height: 3em;">
|
||||
<div class="col-sm" style="font-size: 10px; background-color:#09255C; border:1px dashed black; color:white; text-align: center; display: flex; align-items: center; justify-content: center; min-height: 4.8em;">
|
||||
T.val:
|
||||
</div>
|
||||
<div class="col-sm" style="font-size: 10px; border:1px dashed black; text-align: center; display: flex; align-items: center; justify-content: center; min-height: 4em;">
|
||||
<div class="col-sm" style="font-size: 10px; border:1px dashed black; text-align: center; display: flex; align-items: center; justify-content: center; min-height: 4.8em;">
|
||||
ISV
|
||||
</div>
|
||||
<div class="col-sm" style="font-size: 10px; background-color:#09255C; border:1px dashed black; color:white; text-align: center; display: flex; align-items: center; justify-content: center; min-height: 4em;">
|
||||
<div class="col-sm" style="font-size: 10px; background-color:#09255C; border:1px dashed black; color:white; text-align: center; display: flex; align-items: center; justify-content: center; min-height: 4.8em;">
|
||||
Âmbito:
|
||||
</div>
|
||||
<div class="col-sm-4" style="font-size: 10px; border:1px dashed black; text-align: center; display: flex; align-items: center; justify-content: center; min-height: 4em;">
|
||||
<div class="col-sm-4" style="font-size: 10px; border:1px dashed black; text-align: center; display: flex; align-items: center; justify-content: center; min-height: 4.8em;">
|
||||
{{ $detailsEquipment->equipment_ambit}}
|
||||
</div>
|
||||
<div class="col-sm" style="font-size: 10px; background-color:#09255C; border:1px dashed black; color:white; text-align: center; display: flex; align-items: center; justify-content: center; min-height: 4em;">
|
||||
<div class="col-sm" style="font-size: 10px; background-color:#09255C; border:1px dashed black; color:white; text-align: center; display: flex; align-items: center; justify-content: center; min-height: 4.8em;">
|
||||
Área:
|
||||
</div>
|
||||
<div class="col-sm" style="font-size: 10px; border:1px dashed black; text-align: center; display: flex; align-items: center; justify-content: center; min-height: 4em;">
|
||||
<div class="col-sm" style="font-size: 10px; border:1px dashed black; text-align: center; display: flex; align-items: center; justify-content: center; min-height: 4.8em;">
|
||||
{{ $specificAttributesArray[35] ?? '###' }}
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user