From c74b03fde099abd55f3624bd4b8a09b9b6f56288 Mon Sep 17 00:00:00 2001 From: Yoga Pangestu Date: Sat, 3 Jan 2026 14:03:39 +0700 Subject: [PATCH] feat: Add print modal with paper size selection and enhance USB printer connection/disconnection handling with UI feedback. --- app/Livewire/Studio/Manage/Order/Index.php | 7 +- .../studio/manage/order/index.blade.php | 243 ++++++++++++------ 2 files changed, 176 insertions(+), 74 deletions(-) diff --git a/app/Livewire/Studio/Manage/Order/Index.php b/app/Livewire/Studio/Manage/Order/Index.php index b94a50b..061ad23 100644 --- a/app/Livewire/Studio/Manage/Order/Index.php +++ b/app/Livewire/Studio/Manage/Order/Index.php @@ -59,18 +59,21 @@ public function delete(Order $order): void #[On('fn:print')] public function print(Order $order): void { - $order->load(['items', 'user', 'user.employee']); + $order->load(['items', 'user', 'user.employee', 'outlet']); $this->dispatch( - 'printReceipt', + 'open-print-modal', cashier: $order->user?->employee?->full_name ?? '', customer: $order->customer?->name ?? '', + outlet_name: $order->outlet?->name ?? '', + outlet_address: $order->outlet?->address ?? '', subtotal: $order->subtotal, discount: $order->discount, total: $order->total, items: $order->items->map(function ($item) { $item->name = $item->orderable?->name; $item->total = $item->unit_price * $item->quantity; + $item->quality = $item->quality; return $item; })->toArray() diff --git a/resources/views/livewire/studio/manage/order/index.blade.php b/resources/views/livewire/studio/manage/order/index.blade.php index 60d4311..6a35584 100644 --- a/resources/views/livewire/studio/manage/order/index.blade.php +++ b/resources/views/livewire/studio/manage/order/index.blade.php @@ -4,13 +4,21 @@ {{ $pageTitle }} @can('create order') -
+
Tambah - - Connect USB - + +
@endcan
@@ -27,12 +35,50 @@ 'buttonColor' => 'danger', 'buttonText' => 'Ya, Hapus', ]) + {{-- Print Modal --}} + + + + + +
+
+ Cetak Struk + Pilih ukuran kertas printer thermal Anda. +
+ + + + + + +
+ Batal + + Cetak + +
+
+
@script