Compare commits
2 Commits
0c51ed1489
...
d5e9113820
| Author | SHA256 | Date | |
|---|---|---|---|
|
|
d5e9113820 | ||
|
|
bddbcf5c5f |
BIN
public/images/kentlogo1.png
Normal file
BIN
public/images/kentlogo1.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 58 KiB |
@@ -12,6 +12,40 @@
|
||||
background: #e5e7ff;
|
||||
}
|
||||
|
||||
/* LOGO HEADER */
|
||||
.logo-header-wrap {
|
||||
width: 100%;
|
||||
margin-bottom: 6px;
|
||||
}
|
||||
.logo-header-inner {
|
||||
display: table;
|
||||
}
|
||||
.logo-header-logo-cell {
|
||||
display: table-cell;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.logo-header-text-cell {
|
||||
display: table-cell;
|
||||
vertical-align: middle;
|
||||
padding-left: 8px;
|
||||
}
|
||||
.logo-header-logo {
|
||||
height: 32px; /* banner type, कमी उंची */
|
||||
object-fit: contain;
|
||||
}
|
||||
.logo-header-title-top {
|
||||
font-size: 14px;
|
||||
font-weight: 700;
|
||||
color: #7b1111; /* dark maroon */
|
||||
line-height: 1.1;
|
||||
}
|
||||
.logo-header-title-bottom {
|
||||
font-size: 12px;
|
||||
font-weight: 500;
|
||||
color: #7b1111;
|
||||
line-height: 1.1;
|
||||
}
|
||||
|
||||
/* COMMON CARD GRID – 4 equal columns, 2 rows */
|
||||
.card-grid {
|
||||
display: table;
|
||||
@@ -62,7 +96,7 @@
|
||||
margin-top: 2px;
|
||||
}
|
||||
|
||||
/* TABLE – solid yellow header like screenshot */
|
||||
/* TABLE – solid yellow header */
|
||||
table {
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
@@ -79,7 +113,7 @@
|
||||
word-wrap: break-word;
|
||||
}
|
||||
th {
|
||||
background: #fbd85d; /* इथे solid yellow */
|
||||
background: #fbd85d;
|
||||
font-size: 9px;
|
||||
font-weight: 700;
|
||||
color: #0c0909;
|
||||
@@ -132,6 +166,21 @@
|
||||
}
|
||||
@endphp
|
||||
|
||||
{{-- LOGO + TEXT – full left, text खाली (reference image) --}}
|
||||
<div class="logo-header-wrap">
|
||||
<div class="logo-header-inner">
|
||||
<div class="logo-header-logo-cell">
|
||||
<img src="{{ public_path('images/kentlogo1.png') }}"
|
||||
class="logo-header-logo"
|
||||
alt="Kent Logo">
|
||||
</div>
|
||||
<div class="logo-header-text-cell">
|
||||
<div class="logo-header-title-top">KENT</div>
|
||||
<div class="logo-header-title-bottom">International Pvt. Ltd.</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{-- TWO ROW GRID – FIRST: INFO / SECOND: TOTALS --}}
|
||||
<div class="card-grid">
|
||||
<div class="card-row">
|
||||
|
||||
252
resources/views/admin/pdf/orderpdf.blade.php
Normal file
252
resources/views/admin/pdf/orderpdf.blade.php
Normal file
@@ -0,0 +1,252 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Invoices Report</title>
|
||||
<style>
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: 'DejaVu Sans', Arial, sans-serif;
|
||||
font-size: 10px;
|
||||
color: #1f2937;
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
.header {
|
||||
text-align: center;
|
||||
margin-bottom: 30px;
|
||||
border-bottom: 3px solid #3b82f6;
|
||||
padding-bottom: 15px;
|
||||
}
|
||||
|
||||
.header h1 {
|
||||
font-size: 24px;
|
||||
color: #1f2937;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
.header .date {
|
||||
font-size: 11px;
|
||||
color: #6b7280;
|
||||
}
|
||||
|
||||
.stats-grid {
|
||||
display: table;
|
||||
width: 100%;
|
||||
margin-bottom: 25px;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
.stats-row {
|
||||
display: table-row;
|
||||
}
|
||||
|
||||
.stat-box {
|
||||
display: table-cell;
|
||||
width: 25%;
|
||||
padding: 15px;
|
||||
text-align: center;
|
||||
border: 2px solid #e5e7eb;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.stat-box.total {
|
||||
background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%);
|
||||
border-left: 4px solid #3b82f6;
|
||||
}
|
||||
|
||||
.stat-box.paid {
|
||||
background: linear-gradient(135deg, #f0fdf4 0%, #dcfce7 100%);
|
||||
border-left: 4px solid #22c55e;
|
||||
}
|
||||
|
||||
.stat-box.pending {
|
||||
background: linear-gradient(135deg, #fffbeb 0%, #fef9c3 100%);
|
||||
border-left: 4px solid #f59e0b;
|
||||
}
|
||||
|
||||
.stat-box.overdue {
|
||||
background: linear-gradient(135deg, #fff5f5 0%, #fee2e2 100%);
|
||||
border-left: 4px solid #ef4444;
|
||||
}
|
||||
|
||||
.stat-value {
|
||||
font-size: 28px;
|
||||
font-weight: bold;
|
||||
color: #1f2937;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
.stat-box.total .stat-value { color: #3b82f6; }
|
||||
.stat-box.paid .stat-value { color: #16a34a; }
|
||||
.stat-box.pending .stat-value { color: #d97706; }
|
||||
.stat-box.overdue .stat-value { color: #dc2626; }
|
||||
|
||||
.stat-label {
|
||||
font-size: 11px;
|
||||
color: #6b7280;
|
||||
font-weight: 600;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.5px;
|
||||
}
|
||||
|
||||
table.data-table {
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
margin-top: 10px;
|
||||
font-size: 9px;
|
||||
}
|
||||
|
||||
table.data-table thead {
|
||||
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
||||
}
|
||||
|
||||
table.data-table th {
|
||||
padding: 10px 8px;
|
||||
text-align: center;
|
||||
color: white;
|
||||
font-weight: 600;
|
||||
font-size: 9px;
|
||||
border: 1px solid #5a67d8;
|
||||
}
|
||||
|
||||
table.data-table td {
|
||||
padding: 8px;
|
||||
text-align: center;
|
||||
border: 1px solid #e5e7eb;
|
||||
font-size: 8px;
|
||||
}
|
||||
|
||||
table.data-table tbody tr:nth-child(even) {
|
||||
background: #f9fafb;
|
||||
}
|
||||
|
||||
table.data-table tbody tr:hover {
|
||||
background: #f3f4f6;
|
||||
}
|
||||
|
||||
.status-badge {
|
||||
display: inline-block;
|
||||
padding: 4px 10px;
|
||||
border-radius: 12px;
|
||||
font-size: 8px;
|
||||
font-weight: 700;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.3px;
|
||||
}
|
||||
|
||||
.status-paid {
|
||||
background: linear-gradient(135deg, #10b981, #34d399);
|
||||
color: white;
|
||||
}
|
||||
|
||||
.status-pending {
|
||||
background: linear-gradient(135deg, #fef3c7, #fde68a);
|
||||
color: #d97706;
|
||||
}
|
||||
|
||||
.status-overdue {
|
||||
background: linear-gradient(135deg, #fef2f2, #fecaca);
|
||||
color: #dc2626;
|
||||
}
|
||||
|
||||
.footer {
|
||||
margin-top: 20px;
|
||||
text-align: center;
|
||||
font-size: 9px;
|
||||
color: #9ca3af;
|
||||
border-top: 1px solid #e5e7eb;
|
||||
padding-top: 10px;
|
||||
}
|
||||
|
||||
.no-data {
|
||||
text-align: center;
|
||||
padding: 40px;
|
||||
color: #9ca3af;
|
||||
font-size: 12px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="header">
|
||||
<h1>📊 Invoices Report</h1>
|
||||
<div class="date">Generated on: {{ now()->format('d M Y, h:i A') }}</div>
|
||||
</div>
|
||||
|
||||
<!-- Stats Boxes -->
|
||||
<div class="stats-grid">
|
||||
<div class="stats-row">
|
||||
<div class="stat-box total">
|
||||
<div class="stat-value">{{ $totalInvoices }}</div>
|
||||
<div class="stat-label">Total Invoices</div>
|
||||
</div>
|
||||
<div class="stat-box paid">
|
||||
<div class="stat-value">{{ $paidInvoices }}</div>
|
||||
<div class="stat-label">Paid Invoices</div>
|
||||
</div>
|
||||
<div class="stat-box pending">
|
||||
<div class="stat-value">{{ $pendingInvoices }}</div>
|
||||
<div class="stat-label">Pending Invoices</div>
|
||||
</div>
|
||||
<div class="stat-box overdue">
|
||||
<div class="stat-value">{{ $overdueInvoices }}</div>
|
||||
<div class="stat-label">Overdue Invoices</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Data Table -->
|
||||
@if($invoices->count() > 0)
|
||||
<table class="data-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Invoice No</th>
|
||||
<th>Date</th>
|
||||
<th>Mark No</th>
|
||||
<th>Container</th>
|
||||
<th>Cont. Date</th>
|
||||
<th>Company</th>
|
||||
<th>Customer</th>
|
||||
<th>Amount</th>
|
||||
<th>Amount+GST</th>
|
||||
<th>Status</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach($invoices as $inv)
|
||||
<tr>
|
||||
<td>{{ $inv->invoice_number ?? '-' }}</td>
|
||||
<td>{{ $inv->invoice_date ? \Carbon\Carbon::parse($inv->invoice_date)->format('d-m-Y') : '-' }}</td>
|
||||
<td>{{ $inv->mark_no ?? '-' }}</td>
|
||||
<td>{{ $inv->container_number ?? '-' }}</td>
|
||||
<td>{{ $inv->container_date ? \Carbon\Carbon::parse($inv->container_date)->format('d-m-Y') : '-' }}</td>
|
||||
<td>{{ $inv->company_name ?? '-' }}</td>
|
||||
<td>{{ $inv->customer_name ?? '-' }}</td>
|
||||
<td>{{ $inv->final_amount ? '₹'.number_format($inv->final_amount, 2) : '-' }}</td>
|
||||
<td>{{ $inv->final_amount_with_gst ? '₹'.number_format($inv->final_amount_with_gst, 2) : '-' }}</td>
|
||||
<td>
|
||||
@php
|
||||
$status = strtolower($inv->invoice_status ?? 'pending');
|
||||
@endphp
|
||||
<span class="status-badge status-{{ $status }}">{{ ucfirst($status) }}</span>
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
@else
|
||||
<div class="no-data">
|
||||
No invoices found matching the criteria.
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<div class="footer">
|
||||
Kent Logistics - Invoice Management System | Page 1 of 1
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user