logo changes
This commit is contained in:
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;
|
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 */
|
/* COMMON CARD GRID – 4 equal columns, 2 rows */
|
||||||
.card-grid {
|
.card-grid {
|
||||||
display: table;
|
display: table;
|
||||||
@@ -33,10 +67,10 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* INFO CARDS (FIRST ROW) */
|
/* INFO CARDS (FIRST ROW) */
|
||||||
.info-id { background: #e0f2ff; border-left: 4px solid #2563eb; }
|
.info-id { background: #e0f2ff; border-left: 4px solid #2563eb; }
|
||||||
.info-no { background: #dcfce7; border-left: 4px solid #22c55e; }
|
.info-no { background: #dcfce7; border-left: 4px solid #22c55e; }
|
||||||
.info-date { background: #fee2e2; border-left: 4px solid #ef4444; }
|
.info-date { background: #fee2e2; border-left: 4px solid #ef4444; }
|
||||||
.info-name { background: #fef9c3; border-left: 4px solid #f59e0b; }
|
.info-name { background: #fef9c3; border-left: 4px solid #f59e0b; }
|
||||||
|
|
||||||
/* TOTAL CARDS (SECOND ROW) */
|
/* TOTAL CARDS (SECOND ROW) */
|
||||||
.total-ctn { background: #dbeafe; border-left: 4px solid #1d4ed8; }
|
.total-ctn { background: #dbeafe; border-left: 4px solid #1d4ed8; }
|
||||||
@@ -62,7 +96,7 @@
|
|||||||
margin-top: 2px;
|
margin-top: 2px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* TABLE – solid yellow header like screenshot */
|
/* TABLE – solid yellow header */
|
||||||
table {
|
table {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
border-collapse: collapse;
|
border-collapse: collapse;
|
||||||
@@ -79,7 +113,7 @@
|
|||||||
word-wrap: break-word;
|
word-wrap: break-word;
|
||||||
}
|
}
|
||||||
th {
|
th {
|
||||||
background: #fbd85d; /* इथे solid yellow */
|
background: #fbd85d;
|
||||||
font-size: 9px;
|
font-size: 9px;
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
color: #0c0909;
|
color: #0c0909;
|
||||||
@@ -132,6 +166,21 @@
|
|||||||
}
|
}
|
||||||
@endphp
|
@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 --}}
|
{{-- TWO ROW GRID – FIRST: INFO / SECOND: TOTALS --}}
|
||||||
<div class="card-grid">
|
<div class="card-grid">
|
||||||
<div class="card-row">
|
<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