ifnex/04_Laravel/resources/views/pdfs/label.blade.php
Kazem Alghasi b051ce4496 feat(shipment): expand schema and enhance PDF generation
Extend the shipment database schema to support additional tracking fields,
state information, and financial data. This update also transitions
shipment documentation from RTL/Persian to LTR/English layouts and
integrates barcode generation for AWB and labels.

- feat(db): add migration for missing shipment fields (state, cod_amount,
  declared_value, etc.)
- feat(shipment): update Shipment model with new casts and helper methods
- feat(ui): refactor Filament resource to use ShipmentStatus enum and
  add new input fields
- feat(pdf): implement barcode generation using picqer/php-barcode-generator
- feat(pdf): redesign AWB, Invoice, and Label templates for LTR/English
  support
- refactor(enum): simplify ShipmentStatus enum and update labels/colors
- chore(deps): add picqer/php-barcode-generator dependency
2026-08-23 22:31:58 +03:30

105 lines
5.0 KiB
PHP

<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="UTF-8">
<style>
* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: DejaVu Sans, sans-serif; font-size: 12px; direction: ltr; text-align: left; color: #333; }
.page { width: 190mm; min-height: 277mm; padding: 10mm; margin: 0 auto; }
.label-box {
border: 3px solid #000;
padding: 15px;
margin: 0 auto;
}
.header { display: flex; align-items: center; border-bottom: 2px solid #f37021; padding-bottom: 10px; margin-bottom: 15px; }
.logo { width: 70px; height: auto; }
.company-name { font-size: 18px; font-weight: bold; color: #f37021; margin-left: 10px; }
.awb-badge {
background-color: #f37021;
color: #fff;
font-size: 22px;
font-weight: bold;
text-align: center;
padding: 8px;
margin-bottom: 15px;
letter-spacing: 3px;
}
.barcode { text-align: center; margin-bottom: 15px; }
.grid { display: flex; gap: 15px; margin-bottom: 15px; }
.col { flex: 1; }
.section-title { font-weight: bold; color: #f37021; font-size: 12px; margin-bottom: 8px; text-transform: uppercase; border-bottom: 1px solid #eee; padding-bottom: 3px; }
.row { margin-bottom: 4px; }
.label { font-weight: bold; color: #555; display: inline-block; width: 100px; }
.value { display: inline-block; }
.shipment-info { background-color: #f9f9f9; padding: 10px; border: 1px solid #ddd; margin-bottom: 15px; }
.shipment-grid { display: flex; gap: 15px; }
.shipment-item { flex: 1; }
.footer { text-align: center; font-size: 10px; color: #666; border-top: 1px solid #ddd; padding-top: 10px; }
</style>
</head>
<body>
<div class="page">
<div class="label-box">
<div class="header">
<img src="{{ public_path('logo.png') }}" class="logo" alt="IFNEX Logo">
<div class="company-name">IFNEX LOGISTICS</div>
</div>
<div class="awb-badge">
{{ $shipment->awb_no }}
</div>
<div class="barcode">
{!! $barcode !!}
</div>
<div class="grid">
<div class="col">
<div class="section-title">SHIPPER</div>
<div class="row"><span class="label">Name:</span><span class="value">{{ $shipper['name'] }}</span></div>
<div class="row"><span class="label">Company:</span><span class="value">{{ $shipper['company'] }}</span></div>
<div class="row"><span class="label">Phone:</span><span class="value">{{ $shipper['phone'] }}</span></div>
<div class="row"><span class="label">Address:</span><span class="value">{{ $shipper['address'] }}</span></div>
</div>
<div class="col">
<div class="section-title">RECEIVER</div>
<div class="row"><span class="label">Name:</span><span class="value">{{ $receiver['name'] }}</span></div>
<div class="row"><span class="label">Company:</span><span class="value">{{ $receiver['company'] }}</span></div>
<div class="row"><span class="label">Phone:</span><span class="value">{{ $receiver['phone'] }}</span></div>
<div class="row"><span class="label">Address:</span><span class="value">{{ $receiver['address'] }}</span></div>
</div>
</div>
<div class="shipment-info">
<div class="section-title">SHIPMENT DETAILS</div>
<div class="shipment-grid">
<div class="shipment-item">
<div class="row"><span class="label">Gross Weight:</span><span class="value">{{ $shipment->weight }} KG</span></div>
<div class="row"><span class="label">Volumetric Weight:</span><span class="value">{{ $shipment->volumetric_weight }} KG</span></div>
<div class="row"><span class="label">Dimensions:</span><span class="value">{{ $shipment->dimensions }} CM</span></div>
</div>
<div class="shipment-item">
<div class="row"><span class="label">From:</span><span class="value">{{ $shipment->fromCountry?->name }}</span></div>
<div class="row"><span class="label">To:</span><span class="value">{{ $shipment->toCountry?->name }}</span></div>
<div class="row"><span class="label">Service:</span><span class="value">{{ $shipment->type?->label() }}</span></div>
</div>
</div>
</div>
<div class="footer">
IFNEX Logistics We Deliver Value
</div>
</div>
</div>
</body>
</html>