diff --git a/app/Http/Controllers/Admin/UiElementController.php b/app/Http/Controllers/Admin/UiElementController.php
index 6ed6a8f..57b7381 100644
--- a/app/Http/Controllers/Admin/UiElementController.php
+++ b/app/Http/Controllers/Admin/UiElementController.php
@@ -99,11 +99,19 @@ class UiElementController extends Controller
// 頁籤二:UI 組合編輯
// ==================================================================
- public function bundles()
+ public function bundles(Request $request)
{
- $bundles = UiBundle::orderBy('id')->get();
+ $perPage = (int) $request->input('per_page', 10);
+ $perPage = in_array($perPage, [10, 25, 50, 100], true) ? $perPage : 10;
+ $search = trim((string) $request->input('search', ''));
- return view('admin.app.ui-bundles.index', compact('bundles'));
+ $query = UiBundle::orderBy('id');
+ if ($search !== '') {
+ $query->where('name', 'like', "%{$search}%");
+ }
+ $bundles = $query->paginate($perPage)->withQueryString();
+
+ return view('admin.app.ui-bundles.index', compact('bundles', 'perPage', 'search'));
}
public function storeBundle(Request $request)
@@ -186,16 +194,28 @@ class UiElementController extends Controller
public function machines(Request $request)
{
- $machines = Machine::orderBy('name')->paginate(20);
- $bundles = UiBundle::orderBy('name')->get();
+ $perPage = (int) $request->input('per_page', 25);
+ $perPage = in_array($perPage, [10, 25, 50, 100], true) ? $perPage : 25;
+ $search = trim((string) $request->input('search', ''));
- // 現有綁定名稱對照
+ $query = Machine::orderBy('name');
+ if ($search !== '') {
+ $query->where(function ($q) use ($search) {
+ $q->where('name', 'like', "%{$search}%")
+ ->orWhere('serial_no', 'like', "%{$search}%");
+ });
+ }
+ $machines = $query->paginate($perPage)->withQueryString();
+
+ $bundles = UiBundle::orderBy('name')->get();
$bundleNames = $bundles->pluck('name', 'id');
return view('admin.app.ui-machines.index', [
'machines' => $machines,
'bundles' => $bundles,
'bundleNames' => $bundleNames,
+ 'perPage' => $perPage,
+ 'search' => $search,
]);
}
diff --git a/lang/en.json b/lang/en.json
index 06a67c9..f3e1ffc 100644
--- a/lang/en.json
+++ b/lang/en.json
@@ -2350,6 +2350,8 @@
"No data": "No data",
"entries": "entries",
"Search name or category...": "Search name or category...",
+ "Search name...": "Search name...",
+ "Search machine or serial...": "Search machine or serial...",
"Back": "Back",
"Rename": "Rename",
"Content Settings": "Content Settings",
diff --git a/lang/zh_TW.json b/lang/zh_TW.json
index 206969e..1aa78cb 100644
--- a/lang/zh_TW.json
+++ b/lang/zh_TW.json
@@ -2351,6 +2351,8 @@
"No data": "無資料",
"entries": "筆",
"Search name or category...": "搜尋名稱或類別…",
+ "Search name...": "搜尋名稱…",
+ "Search machine or serial...": "搜尋機台名稱或序號…",
"Back": "返回",
"Rename": "重新命名",
"Content Settings": "內容設定",
diff --git a/resources/views/admin/app/ui-bundles/index.blade.php b/resources/views/admin/app/ui-bundles/index.blade.php
index ee34bec..8970254 100644
--- a/resources/views/admin/app/ui-bundles/index.blade.php
+++ b/resources/views/admin/app/ui-bundles/index.blade.php
@@ -9,6 +9,8 @@
+