Added wire pallet pdf blade file
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Has been cancelled
Gemini PR Review / Gemini PR Review (pull_request) Failing after 25s
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (pull_request) Successful in 12s
Laravel Pint / pint (pull_request) Successful in 3m26s
Laravel Larastan / larastan (pull_request) Failing after 3m35s
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Has been cancelled
Gemini PR Review / Gemini PR Review (pull_request) Failing after 25s
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (pull_request) Successful in 12s
Laravel Pint / pint (pull_request) Successful in 3m26s
Laravel Larastan / larastan (pull_request) Failing after 3m35s
This commit is contained in:
372
resources/views/pdf/wire-pallet.blade.php
Normal file
372
resources/views/pdf/wire-pallet.blade.php
Normal file
@@ -0,0 +1,372 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>WireLabel</title>
|
||||
@php
|
||||
|
||||
$pageHeightMm = 100;
|
||||
$pageWidthMm = 85;
|
||||
$paddingMm = 1.3;
|
||||
|
||||
|
||||
$headerRows = [
|
||||
'PRODUCT' => $product,
|
||||
'MONTH/YEAR' => $monthYear,
|
||||
'CUSTOMER PO' => $customerCode,
|
||||
'CUSTOMER NAME' => $customerName,
|
||||
'NO OF MASTER BOX' => $masterBox,
|
||||
];
|
||||
|
||||
$titleHeight = 10;
|
||||
$headerRowHeight = 5;
|
||||
$itemHeaderHeight = 5;
|
||||
|
||||
// FOOTER SECTION
|
||||
$grossWeightHeight = 5;
|
||||
$netWeightHeight = 5;
|
||||
$licenseHeight = 5;
|
||||
$companyInfoHeight = 6.9;
|
||||
$logoHeight = $titleHeight * 0.8;
|
||||
$logoMaxWidth = 20;
|
||||
$isilogoHeight = $titleHeight * 0.9;
|
||||
$isilogoMaxWidth = 11;
|
||||
|
||||
$availableHeight = $pageHeightMm - (2 * $paddingMm); // 97.4mm
|
||||
|
||||
$numItems = count($items) ?: 1;
|
||||
|
||||
// Total fixed space
|
||||
$fixedSpace = $titleHeight +
|
||||
(5 * $headerRowHeight) + // 6 header rows
|
||||
$itemHeaderHeight +
|
||||
$grossWeightHeight +
|
||||
$netWeightHeight +
|
||||
$licenseHeight +
|
||||
$companyInfoHeight;
|
||||
|
||||
$spaceForItemsOnly = $availableHeight - $fixedSpace; //97.4 - 68 = 29.4mm
|
||||
|
||||
// $itemRowHeight = $spaceForItemsOnly / $numItems; // 29.4 / 2 = 14.7
|
||||
|
||||
$itemRowHeight = floor(($spaceForItemsOnly / $numItems) * 10) / 10;
|
||||
|
||||
// $itemRowHeight -= 0.5;
|
||||
if ($numItems == 1) {
|
||||
$itemRowHeight -= 0.5;
|
||||
}
|
||||
|
||||
if ($itemRowHeight < 3) {
|
||||
$itemFontSize = '5.5px';
|
||||
$itemPadding = '0.1mm 0.3mm';
|
||||
} elseif ($itemRowHeight < 3.5) {
|
||||
$itemFontSize = '6px';
|
||||
$itemPadding = '0.1mm 0.4mm';
|
||||
} elseif ($itemRowHeight < 4) {
|
||||
$itemFontSize = '6.5px';
|
||||
$itemPadding = '0.1mm 0.5mm';
|
||||
} else {
|
||||
$itemFontSize = '7px';
|
||||
$itemPadding = '0.2mm 0.5mm';
|
||||
}
|
||||
|
||||
// Compensate for borders (0.3mm top + 0.3mm bottom = 0.6mm)
|
||||
$compensatedTitleHeight = $titleHeight - 0.6;
|
||||
$compensatedHeaderHeight = $headerRowHeight - 0.6;
|
||||
$compensatedItemHeaderHeight = $itemHeaderHeight - 0.6;
|
||||
$compensatedItemHeight = $itemRowHeight - 0.6;
|
||||
$compensatedGrossHeight = $grossWeightHeight - 0.6;
|
||||
$compensatedNetHeight = $netWeightHeight - 0.6;
|
||||
$compensatedLicenseHeight = $licenseHeight - 0.6;
|
||||
$compensatedCompanyHeight = $companyInfoHeight - 0.6;
|
||||
$qrBase64 = 'data:image/png;base64,' . base64_encode(
|
||||
QrCode::format('png')
|
||||
->size(120) // 12mm ~ 120px
|
||||
->margin(0)
|
||||
->generate($pallet)
|
||||
);
|
||||
@endphp
|
||||
|
||||
<style>
|
||||
@page {
|
||||
size: 85mm 100mm;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
* {
|
||||
box-sizing: border-box;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
padding: <?php echo $paddingMm; ?>mm;
|
||||
font-family: DejaVu Sans, sans-serif;
|
||||
font-size: 7px;
|
||||
color: #000;
|
||||
width: <?php echo $pageWidthMm - (2 * $paddingMm); ?>mm;
|
||||
height: <?php echo $availableHeight; ?>mm;
|
||||
line-height: 1;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
table {
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
/* table-layout: fixed; */
|
||||
/* height: <?php echo $availableHeight; ?>mm !important; */
|
||||
}
|
||||
|
||||
td, th {
|
||||
border: 0.3px solid #000 !important;
|
||||
vertical-align: middle;
|
||||
line-height: 1 !important;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
/* Title row - FIXED 12mm */
|
||||
.title-row td {
|
||||
height: <?php echo $compensatedTitleHeight; ?>mm !important;
|
||||
text-align: center;
|
||||
font-weight: bold;
|
||||
position: relative;
|
||||
padding: 0 !important;
|
||||
font-size: 8.5px;
|
||||
}
|
||||
|
||||
.logo {
|
||||
position: absolute;
|
||||
left: 2mm;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
height: <?php echo min(8, $compensatedTitleHeight * 0.6); ?>mm;
|
||||
width: auto;
|
||||
}
|
||||
|
||||
.vertical-line {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
border-left: 0.3px solid #000;
|
||||
}
|
||||
|
||||
.vertical-line.left { left: 12mm; }
|
||||
.vertical-line.right { right: 12mm; }
|
||||
|
||||
/* Header rows - FIXED 5mm each */
|
||||
.header-row td {
|
||||
height: <?php echo $compensatedHeaderHeight; ?>mm !important;
|
||||
padding: 0.2mm 0.5mm !important;
|
||||
}
|
||||
|
||||
/* Items header - FIXED 5mm */
|
||||
.items-header-row td {
|
||||
height: <?php echo $compensatedItemHeaderHeight; ?>mm !important;
|
||||
font-weight: bold;
|
||||
text-align: center;
|
||||
font-size: 6.5px;
|
||||
padding: 0.2mm 0.5mm !important;
|
||||
}
|
||||
|
||||
/* ITEM ROWS - ONLY THESE ADJUST DYNAMICALLY */
|
||||
.item-row td {
|
||||
height: <?php echo $compensatedItemHeight; ?>mm !important;
|
||||
font-size: <?php echo $itemFontSize; ?> !important;
|
||||
padding: <?php echo $itemPadding; ?> !important;
|
||||
line-height: 1 !important;
|
||||
}
|
||||
|
||||
/* Gross Weight row - FIXED 5mm */
|
||||
.gross-weight-row td {
|
||||
height: <?php echo $compensatedGrossHeight; ?>mm !important;
|
||||
text-align: center;
|
||||
font-size: 6.5px;
|
||||
padding: 0.2mm 0.5mm !important;
|
||||
}
|
||||
|
||||
/* Net Weight row - FIXED 5mm */
|
||||
.net-weight-row td {
|
||||
height: <?php echo $compensatedNetHeight; ?>mm !important;
|
||||
text-align: center;
|
||||
font-size: 6.5px;
|
||||
padding: 0.2mm 0.5mm !important;
|
||||
}
|
||||
|
||||
/* License row - FIXED 5mm */
|
||||
.license-row td {
|
||||
height: <?php echo $compensatedLicenseHeight; ?>mm !important;
|
||||
text-align: center;
|
||||
font-size: 6.5px;
|
||||
padding: 0.2mm 0.5mm !important;
|
||||
}
|
||||
|
||||
/* Company info row - FIXED 8mm */
|
||||
.company-info-row td {
|
||||
height: <?php echo $compensatedCompanyHeight; ?>mm !important;
|
||||
font-size: 5.5px;
|
||||
line-height: 0.9 !important;
|
||||
padding: 0.1mm 0.5mm !important;
|
||||
}
|
||||
|
||||
.label {
|
||||
font-weight: bold;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.header-row .label {
|
||||
width: 40%; /* All header label cells get same width */
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.center {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.right {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
/* Column widths */
|
||||
.col-1 { width: 22%; }
|
||||
.col-2 { width: 45%; }
|
||||
.col-3 { width: 15%; }
|
||||
.col-4 { width: 25%; }
|
||||
|
||||
/* Force exact heights for rows - ALL FIXED EXCEPT ITEM ROWS */
|
||||
.title-row {
|
||||
height: <?php echo $titleHeight; ?>mm !important;
|
||||
}
|
||||
|
||||
.header-row {
|
||||
height: <?php echo $headerRowHeight; ?>mm !important;
|
||||
}
|
||||
|
||||
.items-header-row {
|
||||
height: <?php echo $itemHeaderHeight; ?>mm !important;
|
||||
}
|
||||
|
||||
/* ONLY ITEM ROWS HAVE DYNAMIC HEIGHT */
|
||||
.item-row {
|
||||
height: <?php echo $itemRowHeight; ?>mm !important;
|
||||
}
|
||||
|
||||
.gross-weight-row {
|
||||
height: <?php echo $grossWeightHeight; ?>mm !important;
|
||||
}
|
||||
|
||||
.net-weight-row {
|
||||
height: <?php echo $netWeightHeight; ?>mm !important;
|
||||
}
|
||||
|
||||
.license-row {
|
||||
height: <?php echo $licenseHeight; ?>mm !important;
|
||||
}
|
||||
|
||||
.company-info-row {
|
||||
height: <?php echo $companyInfoHeight; ?>mm !important;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<table>
|
||||
<tr class="title-row">
|
||||
<td colspan="4">
|
||||
<div class="vertical-line left"></div>
|
||||
{{-- <img src="<?php echo public_path('images/crilogo1.png'); ?>" class="logo" alt="CRI Logo"> --}}
|
||||
<img src="<?php echo public_path('images/crilogo1.png'); ?>"
|
||||
class="logo"
|
||||
alt="CRI Logo"
|
||||
style="height: <?php echo $logoHeight; ?>mm;
|
||||
max-width: <?php echo $logoMaxWidth; ?>mm;
|
||||
width: auto;">
|
||||
C.R.I POLY WRAPPED WINDING WIRE
|
||||
<div class="vertical-line right"></div>
|
||||
{{-- <img src="<?php echo public_path('images/isi_8783.png'); ?>"
|
||||
class="logo"
|
||||
alt="CRI Logo"
|
||||
style="height: <?php echo $isilogoHeight; ?>mm;
|
||||
max-width: <?php echo $isilogoMaxWidth; ?>mm;
|
||||
left: 71mm;"> --}}
|
||||
<img src="{{ $qrBase64 }}"
|
||||
style="position: absolute; bottom: 1.2mm; right: 2mm; width: 8mm; height: 7.2mm;">
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<!-- Header Information Rows - FIXED 5mm each -->
|
||||
<?php foreach ($headerRows as $label => $value): ?>
|
||||
{{-- <tr class="header-row">
|
||||
<td class="label" colspan="2"><?php echo $label; ?> :</td>
|
||||
<td colspan="2"><?php echo $value; ?></td>
|
||||
</tr> --}}
|
||||
<tr class="header-row">
|
||||
<td class="label"><?php echo $label; ?></td>
|
||||
<td colspan="3"><?php echo $value; ?></td>
|
||||
</tr>
|
||||
|
||||
<?php endforeach; ?>
|
||||
|
||||
<!-- Items Header - FIXED 5mm -->
|
||||
<tr class="items-header-row">
|
||||
<td class="col-1 center">MATERIAL CODE</td>
|
||||
<td class="col-2 center">DESCRIPTION</td>
|
||||
<td class="col-3 center">QTY</td>
|
||||
<td class="col-4 center">NO OF BOX</td>
|
||||
</tr>
|
||||
|
||||
<!-- Item Rows - ONLY THESE ADJUST DYNAMICALLY -->
|
||||
<?php if(count($items) > 0): ?>
|
||||
<?php foreach ($items as $item): ?>
|
||||
<tr class="item-row">
|
||||
<td class="col-1 center"><?php echo $item->code; ?></td>
|
||||
<td class="col-2" style="white-space: nowrap"><?php echo $item->description; ?></td>
|
||||
<td class="col-3 right"><?php echo number_format($item->weight, 3); ?></td>
|
||||
<td class="col-4 center"><?php echo $item->box_count; ?></td>
|
||||
</tr>
|
||||
<?php endforeach; ?>
|
||||
<?php else: ?>
|
||||
<tr class="item-row">
|
||||
<td colspan="4" class="center">No items available</td>
|
||||
</tr>
|
||||
<?php endif; ?>
|
||||
|
||||
<!-- Gross Weight - FIXED 5mm -->
|
||||
<tr class="gross-weight-row">
|
||||
<td colspan="2" class="label center">GROSS WEIGHT</td>
|
||||
<td colspan="2" class="center"><?php echo number_format($grossWeight, 3); ?></td>
|
||||
</tr>
|
||||
|
||||
<!-- Net Weight - FIXED 5mm -->
|
||||
<tr class="net-weight-row">
|
||||
<td colspan="2" class="label center">NET WEIGHT</td>
|
||||
<td colspan="2" class="center"><?php echo number_format($netWeight, 3); ?></td>
|
||||
</tr>
|
||||
|
||||
<!-- License - FIXED 5mm -->
|
||||
<tr class="license-row">
|
||||
<td colspan="4" class="center">
|
||||
{{-- MANUFACTURERS MADE IN INDIA *UNDER LICENSE --}}
|
||||
MANUFACTURERS
|
||||
MADE IN INDIA
|
||||
*Under License
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<!-- Company Info - FIXED 8mm -->
|
||||
<tr class="company-info-row">
|
||||
<td colspan="4" class="center">
|
||||
C.R.I. PUMPS PRIVATE LIMITED<br>
|
||||
(Unit of {{ $plantName }})<br>
|
||||
{{ $plantAddress }}<br>
|
||||
India Regd.Office : 7/46-1, Keeranatham Road, Saravanampatti, Coimbatore-641 036<br>
|
||||
For Feedback/Complaint: C.R.I Customer care cell Toll-Free: 1800 121 1243
|
||||
{{-- <img src="{{ $qrBase64 }}"
|
||||
style="position: absolute; bottom: 2.8mm; right: 2mm; width: 8mm; height: 6.8mm;"> --}}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user