From 75a70a256d04d7c3e06618e8effa7009949f20bc Mon Sep 17 00:00:00 2001 From: sky121113 Date: Mon, 9 Mar 2026 13:09:50 +0800 Subject: [PATCH] =?UTF-8?q?[FEAT]=20=E6=96=B0=E5=A2=9E=E6=A9=9F=E5=8F=B0?= =?UTF-8?q?=E7=B3=BB=E7=B5=B1=E6=97=A5=E8=AA=8C=E5=88=97=E8=A1=A8=E8=88=87?= =?UTF-8?q?=E6=A5=B5=E7=B0=A1=E5=A5=A2=E8=8F=AF=E9=A2=A8=20UI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/Admin/MachineController.php | 52 ++++++++ .../Controllers/Api/V1/MemberController.php | 11 ++ resources/views/admin/machines/logs.blade.php | 119 ++++++++++++++++++ resources/views/auth/login.blade.php | 7 +- 4 files changed, 183 insertions(+), 6 deletions(-) create mode 100644 app/Http/Controllers/Api/V1/MemberController.php create mode 100644 resources/views/admin/machines/logs.blade.php diff --git a/app/Http/Controllers/Admin/MachineController.php b/app/Http/Controllers/Admin/MachineController.php index afdcfdd..d21d2eb 100644 --- a/app/Http/Controllers/Admin/MachineController.php +++ b/app/Http/Controllers/Admin/MachineController.php @@ -34,4 +34,56 @@ class MachineController extends AdminController return view('admin.machines.show', compact('machine')); } + + /** + * 顯示所有機台日誌列表 + */ + public function logs(Request $request): View + { + $logs = \App\Models\Machine\MachineLog::with('machine') + ->when($request->level, function ($query, $level) { + return $query->where('level', $level); + }) + ->when($request->machine_id, function ($query, $machineId) { + return $query->where('machine_id', $machineId); + }) + ->latest() + ->paginate(20); + + $machines = Machine::select('id', 'name')->get(); + + return view('admin.machines.logs', compact('logs', 'machines')); + } + + /** + * 機台權限設定 (開發中) + */ + public function permissions(Request $request): View + { + return view('admin.machines.index', ['machines' => Machine::paginate(1)]); // Placeholder + } + + /** + * 機台使用率統計 (開發中) + */ + public function utilization(Request $request): View + { + return view('admin.machines.index', ['machines' => Machine::paginate(1)]); // Placeholder + } + + /** + * 機台到期管理 (開發中) + */ + public function expiry(Request $request): View + { + return view('admin.machines.index', ['machines' => Machine::paginate(1)]); // Placeholder + } + + /** + * 機台維護紀錄 (開發中) + */ + public function maintenance(Request $request): View + { + return view('admin.machines.index', ['machines' => Machine::paginate(1)]); // Placeholder + } } diff --git a/app/Http/Controllers/Api/V1/MemberController.php b/app/Http/Controllers/Api/V1/MemberController.php new file mode 100644 index 0000000..26c15da --- /dev/null +++ b/app/Http/Controllers/Api/V1/MemberController.php @@ -0,0 +1,11 @@ + +

+ {{ __('所有機台日誌') }} +

+ +@endsection + +@section('content') +
+
+ + +
+
+

+ 條件篩選 +

+
+
+
+ + +
+
+ + +
+
+ + + 重設 + +
+
+
+ + +
+
+

系統日誌清單

+ 所有時間為系統時區 +
+ +
+ + + + + + + + + + + @forelse ($logs as $log) + + + + + + + @empty + + + + @endforelse + +
時間機台層級訊息
{{ $log->created_at->format('Y-m-d H:i:s') }} + + {{ $log->machine->name ?? '未知機台' }} + + + @php + $levelClasses = [ + 'info' => 'text-cyan-600 dark:text-cyan-400 bg-cyan-50 dark:bg-cyan-500/20 border-cyan-200 dark:border-cyan-500/30', + 'warning' => 'text-amber-600 dark:text-amber-400 bg-amber-50 dark:bg-amber-500/20 border-amber-200 dark:border-amber-500/30 font-semibold', + 'error' => 'text-rose-600 dark:text-rose-400 bg-rose-50 dark:bg-rose-500/20 border-rose-200 dark:border-rose-500/30 font-bold', + ]; + @endphp + + {{ strtoupper($log->level) }} + + + {{ $log->message }} + @if($log->context) +
+ {{ json_encode($log->context, JSON_UNESCAPED_UNICODE) }} +
+ @endif +
暫無相關日誌
+
+ + @if($logs->hasPages()) +
+ {{ $logs->appends(request()->query())->links() }} +
+ @endif +
+
+
+@endsection diff --git a/resources/views/auth/login.blade.php b/resources/views/auth/login.blade.php index bc93a11..e600b2d 100644 --- a/resources/views/auth/login.blade.php +++ b/resources/views/auth/login.blade.php @@ -78,13 +78,8 @@
-
+
- @if (Route::has('password.request')) - - 忘記密碼? - - @endif