style: 統一所有表格標題樣式為一般粗細並修正排序功能
This commit is contained in:
@@ -11,9 +11,19 @@ class ActivityLogController extends Controller
|
||||
{
|
||||
public function index(Request $request)
|
||||
{
|
||||
$activities = Activity::with('causer')
|
||||
->latest()
|
||||
->paginate($request->input('per_page', 10))
|
||||
$perPage = $request->input('per_page', 10);
|
||||
$sortBy = $request->input('sort_by', 'created_at');
|
||||
$sortOrder = $request->input('sort_order', 'desc');
|
||||
|
||||
$query = Activity::with('causer');
|
||||
|
||||
if ($sortBy === 'created_at') {
|
||||
$query->orderBy($sortBy, $sortOrder);
|
||||
} else {
|
||||
$query->latest();
|
||||
}
|
||||
|
||||
$activities = $query->paginate($perPage)
|
||||
->through(function ($activity) {
|
||||
$subjectMap = [
|
||||
'App\Models\User' => '使用者',
|
||||
@@ -46,6 +56,8 @@ class ActivityLogController extends Controller
|
||||
'activities' => $activities,
|
||||
'filters' => [
|
||||
'per_page' => $request->input('per_page', '10'),
|
||||
'sort_by' => $request->input('sort_by'),
|
||||
'sort_order' => $request->input('sort_order'),
|
||||
],
|
||||
]);
|
||||
}
|
||||
|
||||
@@ -14,15 +14,26 @@ class RoleController extends Controller
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*/
|
||||
public function index()
|
||||
public function index(Request $request)
|
||||
{
|
||||
$roles = Role::withCount('users', 'permissions')
|
||||
->with('users:id,name,username')
|
||||
->orderBy('id')
|
||||
->get();
|
||||
$sortBy = $request->input('sort_by', 'id');
|
||||
$sortOrder = $request->input('sort_order', 'asc');
|
||||
|
||||
$query = Role::withCount('users', 'permissions')
|
||||
->with('users:id,name,username');
|
||||
|
||||
// Handle sorting
|
||||
if (in_array($sortBy, ['users_count', 'permissions_count', 'created_at', 'id'])) {
|
||||
$query->orderBy($sortBy, $sortOrder);
|
||||
} else {
|
||||
$query->orderBy('id', 'asc');
|
||||
}
|
||||
|
||||
$roles = $query->get();
|
||||
|
||||
return Inertia::render('Admin/Role/Index', [
|
||||
'roles' => $roles
|
||||
'roles' => $roles,
|
||||
'filters' => $request->only(['sort_by', 'sort_order']),
|
||||
]);
|
||||
}
|
||||
|
||||
|
||||
@@ -18,15 +18,23 @@ class UserController extends Controller
|
||||
public function index(Request $request)
|
||||
{
|
||||
$perPage = $request->input('per_page', 10);
|
||||
$sortBy = $request->input('sort_by', 'id');
|
||||
$sortOrder = $request->input('sort_order', 'asc');
|
||||
|
||||
$users = User::with(['roles:id,name,display_name'])
|
||||
->orderBy('id')
|
||||
->paginate($perPage)
|
||||
->withQueryString();
|
||||
$query = User::with(['roles:id,name,display_name']);
|
||||
|
||||
// Handle sorting
|
||||
if (in_array($sortBy, ['name', 'created_at'])) {
|
||||
$query->orderBy($sortBy, $sortOrder);
|
||||
} else {
|
||||
$query->orderBy('id', 'asc');
|
||||
}
|
||||
|
||||
$users = $query->paginate($perPage)->withQueryString();
|
||||
|
||||
return Inertia::render('Admin/User/Index', [
|
||||
'users' => $users,
|
||||
'filters' => $request->only(['per_page']),
|
||||
'filters' => $request->only(['per_page', 'sort_by', 'sort_order']),
|
||||
]);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user