diff --git a/app/Http/Controllers/VisitorBadgeController.php b/app/Http/Controllers/VisitorBadgeController.php new file mode 100644 index 0000000..2b712ce --- /dev/null +++ b/app/Http/Controllers/VisitorBadgeController.php @@ -0,0 +1,21 @@ +findOrFail($id); + + $photoUrl = $visitor->photo + ? Storage::disk('public')->url($visitor->photo) + : null; + + return view('visitor.badge', compact('visitor', 'photoUrl')); + } +} diff --git a/resources/views/visitor/badge.blade.php b/resources/views/visitor/badge.blade.php new file mode 100644 index 0000000..e3585c0 --- /dev/null +++ b/resources/views/visitor/badge.blade.php @@ -0,0 +1,222 @@ + + + + + Visitor Badge + + + + + {{-- ── Print button (visible on screen only, hidden when printing) ── --}} +
+ + +
+ +
+ + {{-- Header --}} +
+ {{ strtoupper($visitor->type ?? 'VISITOR') }} + #{{ str_pad($visitor->id, 5, '0', STR_PAD_LEFT) }} +
+ + {{-- Body --}} +
+ + {{-- Left: fields --}} +
+
+ Name: + {{ strtoupper($visitor->name) }} +
+
+ Company: + {{ $visitor->company }} +
+
+ To Meet: + {{ strtoupper($visitor->employeeMaster?->name ?? '—') }} +
+
+ Dept: + + {{ strtoupper($visitor->employeeMaster?->department ?? $visitor->department ?? '—') }} + +
+
+ Valid upto: + + {{ $visitor->out_time ? \Carbon\Carbon::parse($visitor->out_time)->format('d/m/Y H:i') : '—' }} + +
+
+ Date&Time: + + {{ $visitor->in_time ? \Carbon\Carbon::parse($visitor->in_time)->format('d/m/Y H:i') : '—' }} + +
+
+ No of Visitor: + {{ $visitor->number_of_person ?? 1 }} +
+
+ + {{-- Right: photo + host sign --}} +
+ @if($photoUrl) + Visitor Photo + @else +
No Photo
+ @endif +
Host Sign
+
+ +
+ + {{-- Footer --}} + + +
+ + + diff --git a/routes/web.php b/routes/web.php index 32ecd52..7bc53b6 100644 --- a/routes/web.php +++ b/routes/web.php @@ -3,6 +3,7 @@ use App\Http\Controllers\CharacteristicApprovalController; use App\Http\Controllers\ProductionOrderController; // use App\Http\Controllers\FileUploadController; +use App\Http\Controllers\VisitorBadgeController; use App\Models\EquipmentMaster; use App\Models\User; use Filament\Facades\Filament; @@ -65,6 +66,8 @@ Route::get('production-orders/{production_order}/{plant_code}/printItemSerial', [ProductionOrderController::class, 'printItemSerial'] )->name('production-orders.printItemSerial'); +Route::get('/visitor-badge/{id}', [VisitorBadgeController::class, 'show']) + ->name('visitor.badge'); // Route::get('/characteristic/approve', [CharacteristicApprovalController::class, 'approve']) // ->name('characteristic.approve') // ->middleware('signed');