diff --git a/app/Http/Controllers/Admin/SalesController.php b/app/Http/Controllers/Admin/SalesController.php index 2fbd01e..142d376 100644 --- a/app/Http/Controllers/Admin/SalesController.php +++ b/app/Http/Controllers/Admin/SalesController.php @@ -62,7 +62,13 @@ class SalesController extends Controller ]; // 1. 建立基本查詢 (套用共用過濾器:機台、日期) - $ordersQuery = Order::with(['machine:id,name,serial_no', 'invoice:id,order_id,invoice_no', 'items']); + $ordersQuery = Order::with([ + 'machine:id,name,serial_no', + 'invoice:id,order_id,invoice_no', + 'items', + 'staffCardLog:id,order_id,staff_card_id', + 'staffCardLog.staffCard:id,employee_id,name,card_uid' + ]); $invoicesQuery = Invoice::with(['machine:id,name,serial_no', 'order:id,order_no,flow_id,payment_type']); $dispenseQuery = DispenseRecord::with(['order:id,order_no,flow_id', 'machine:id,name,serial_no', 'product:id,name']); @@ -88,7 +94,12 @@ class SalesController extends Controller $q->where('order_no', 'like', "%{$search}%") ->orWhere('flow_id', 'like', "%{$search}%") ->orWhere('invoice_info', 'like', "%{$search}%") - ->orWhere('member_barcode', 'like', "%{$search}%"); + ->orWhere('member_barcode', 'like', "%{$search}%") + ->orWhereHas('staffCardLog.staffCard', function($sq) use ($search) { + $sq->where('name', 'like', "%{$search}%") + ->orWhere('employee_id', 'like', "%{$search}%") + ->orWhere('card_uid', 'like', "%{$search}%"); + }); }); } elseif ($tab === 'invoices') { $invoicesQuery->where(function($q) use ($search) { @@ -136,7 +147,14 @@ class SalesController extends Controller */ public function show(Order $order) { - $order->load(['machine', 'invoice', 'items', 'dispenseRecords.product']); + $order->load([ + 'machine', + 'invoice', + 'items', + 'dispenseRecords.product', + 'staffCardLog:id,order_id,staff_card_id', + 'staffCardLog.staffCard:id,employee_id,name,card_uid' + ]); return response()->json([ 'success' => true, diff --git a/app/Models/Transaction/Order.php b/app/Models/Transaction/Order.php index 7e0379f..9005260 100644 --- a/app/Models/Transaction/Order.php +++ b/app/Models/Transaction/Order.php @@ -136,4 +136,9 @@ class Order extends Model { return $this->hasMany(DispenseRecord::class); } + + public function staffCardLog() + { + return $this->hasOne(\App\Models\StaffCardLog::class); + } } diff --git a/lang/zh_TW.json b/lang/zh_TW.json index 30da24e..6c401a3 100644 --- a/lang/zh_TW.json +++ b/lang/zh_TW.json @@ -1531,6 +1531,7 @@ "Spring Limit": "彈簧貨道上限", "Staff": "員工", "Staff Card": "員工卡", + "Staff Card Info": "員工卡資訊", "Staff Identification Management": "員工識別管理", "Staff List": "員工列表", "Staff Name": "員工姓名", diff --git a/resources/views/admin/sales/partials/order-detail-panel.blade.php b/resources/views/admin/sales/partials/order-detail-panel.blade.php index b60faac..3ec6d03 100644 --- a/resources/views/admin/sales/partials/order-detail-panel.blade.php +++ b/resources/views/admin/sales/partials/order-detail-panel.blade.php @@ -84,6 +84,36 @@ + {{-- 員工卡資訊 --}} + @if($order->payment_type == 41 && $order->staffCardLog && $order->staffCardLog->staffCard) +
+
+
+

{{ __('Staff Card Info') }}

+
+
+
+

{{ __('Staff Name') }}

+

{{ $order->staffCardLog->staffCard->name }}

+
+
+

{{ __('Employee ID') }}

+

{{ $order->staffCardLog->staffCard->employee_id }}

+
+
+

{{ __('Card UID') }}

+

{{ $order->staffCardLog->staffCard->card_uid }}

+
+ @if($order->staffCardLog->staffCard->notes) +
+

{{ __('Notes') }}

+

{{ $order->staffCardLog->staffCard->notes }}

+
+ @endif +
+
+ @endif + {{-- 商品明細 --}}
diff --git a/resources/views/admin/sales/partials/tab-orders.blade.php b/resources/views/admin/sales/partials/tab-orders.blade.php index e9f6f95..8d71fde 100644 --- a/resources/views/admin/sales/partials/tab-orders.blade.php +++ b/resources/views/admin/sales/partials/tab-orders.blade.php @@ -202,6 +202,14 @@ {{ __('Discounted') }} ${{ number_format($order->discount_amount, 0) }} @endif + @if($order->payment_type == 41 && $order->staffCardLog && $order->staffCardLog->staffCard) + + + + + {{ $order->staffCardLog->staffCard->name }} ({{ $order->staffCardLog->staffCard->employee_id }}) + + @endif
@@ -331,6 +339,14 @@ {{ $paymentTypes[$order->payment_type] ?? '??' }}

+ @if($order->payment_type == 41 && $order->staffCardLog && $order->staffCardLog->staffCard) +
+ + + + {{ $order->staffCardLog->staffCard->name }} ({{ $order->staffCardLog->staffCard->employee_id }}) +
+ @endif

{{