@php // Price formatting helper function $priceFormat = $setting['price_format'] ?? null; function formatPrice($number, $decimals = 2, $priceFormat = null) { $number = (float) $number; $decimals = (int) $decimals; if (empty($priceFormat)) { return number_format($number, $decimals, '.', ','); } switch ($priceFormat) { case 'comma_dot': return number_format($number, $decimals, '.', ','); case 'dot_comma': return number_format($number, $decimals, ',', '.'); case 'space_comma': return number_format($number, $decimals, ',', ' '); default: return number_format($number, $decimals, '.', ','); } } @endphp
|
@if(!empty($setting['logo']) && file_exists(public_path('images/'.$setting['logo'])))
|
SUPPLIER REPORT
{{$provider['provider_name']}}
|
| DATE | REF | PAID | DUE | PAYMENT STATUS |
|---|---|---|---|---|
| @php $dateFormat = $setting['date_format'] ?? 'YYYY-MM-DD'; $dateTime = \Carbon\Carbon::parse($purchase['date']); $phpDateFormat = str_replace(['YYYY', 'MM', 'DD'], ['Y', 'm', 'd'], $dateFormat); // Check if original date string contains time $hasTime = strpos($purchase['date'], ' ') !== false && preg_match('/\d{1,2}:\d{2}/', $purchase['date']); if ($hasTime) { $formattedDate = $dateTime->format($phpDateFormat . ' H:i'); // Preserve seconds if they exist if (preg_match('/:\d{2}:\d{2}/', $purchase['date'])) { $formattedDate = $dateTime->format($phpDateFormat . ' H:i:s'); } } else { $formattedDate = $dateTime->format($phpDateFormat); } @endphp {{$formattedDate}} | {{$purchase['Ref']}} | {{$symbol}} {{formatPrice((float)$purchase['paid_amount'], 2, $priceFormat)}} | {{$symbol}} {{formatPrice((float)$purchase['due'], 2, $priceFormat)}} | @php $paymentColors = [ 'paid' => ['bg' => '#d1fae5', 'color' => '#065f46'], 'partial' => ['bg' => '#fef3c7', 'color' => '#92400e'], 'unpaid' => ['bg' => '#fee2e2', 'color' => '#991b1b'], ]; $paymentKey = strtolower($purchase['payment_status']); $paymentStyle = $paymentColors[$paymentKey] ?? ['bg' => '#e5e7eb', 'color' => '#374151']; @endphp {{$purchase['payment_status']}} |
Supplier Purchase Report