From 75bf3ec2f7528b6e88adecd0ddd2ded3e318ed15 Mon Sep 17 00:00:00 2001 From: Wisp X Date: Thu, 10 Feb 2022 14:25:45 +0800 Subject: [PATCH] =?UTF-8?q?:sparkles:=20=E7=94=A8=E6=88=B7=E5=88=97?= =?UTF-8?q?=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Http/Controllers/Admin/UserController.php | 24 ++++++ resources/views/admin/group/index.blade.php | 12 +-- .../views/admin/strategy/index.blade.php | 12 +-- resources/views/admin/user/index.blade.php | 77 +++++++++++++++++++ resources/views/layouts/sidebar.blade.php | 2 +- routes/web.php | 8 ++ 6 files changed, 122 insertions(+), 13 deletions(-) create mode 100644 app/Http/Controllers/Admin/UserController.php create mode 100644 resources/views/admin/user/index.blade.php diff --git a/app/Http/Controllers/Admin/UserController.php b/app/Http/Controllers/Admin/UserController.php new file mode 100644 index 00000000..3affd0f4 --- /dev/null +++ b/app/Http/Controllers/Admin/UserController.php @@ -0,0 +1,24 @@ +query('status'); + $users = User::query()->when($status > -1, function (Builder $builder) use ($status) { + $builder->where('status', $status); + })->when($request->query('keywords'), function (Builder $builder, $keywords) { + $builder->whereRaw("concat(name, email) like ?",["%{$keywords}%"]); + })->with('group')->withSum('images', 'size')->latest()->paginate(); + $statuses = [-1 => '全部', 1 => '正常', 0 => '冻结']; + return view('admin.user.index', compact('users', 'statuses')); + } +} diff --git a/resources/views/admin/group/index.blade.php b/resources/views/admin/group/index.blade.php index 327c3b80..20e306fd 100644 --- a/resources/views/admin/group/index.blade.php +++ b/resources/views/admin/group/index.blade.php @@ -2,12 +2,12 @@
-
- 创建角色组 -
- - -
+
+
+ 创建角色组 + +
+
diff --git a/resources/views/admin/strategy/index.blade.php b/resources/views/admin/strategy/index.blade.php index 62186f84..9df76ab6 100644 --- a/resources/views/admin/strategy/index.blade.php +++ b/resources/views/admin/strategy/index.blade.php @@ -2,12 +2,12 @@
-
- 创建储存策略 -
- - -
+
+
+ 创建储存策略 + +
+
@foreach($strategies as $strategy) diff --git a/resources/views/admin/user/index.blade.php b/resources/views/admin/user/index.blade.php new file mode 100644 index 00000000..49798562 --- /dev/null +++ b/resources/views/admin/user/index.blade.php @@ -0,0 +1,77 @@ +@section('title', '用户管理') + + +
+
+
+ + +
+
+ + + @foreach($users as $user) + + {{ $user->id }} + {{ $user->name }} + {{ $user->email }} + + + {{ $user->group->name ?? '-' }} + + + {{ \App\Utils::formatSize($user->capacity * 1024) }} + {{ \App\Utils::formatSize(($user->capacity - $user->images_sum_size) * 1024) }} + {{ $user->image_num }} + {{ $user->album_num }} + {{ $user->status ? '正常' : '冻结' }} + + 编辑 + @if(Auth::user()->id != $user->id) + 删除 + @endif + + + @endforeach + + @if($users->isEmpty()) + + @else +
+ {{ $users->links() }} +
+ @endif +
+ + @push('scripts') + + @endpush + +
diff --git a/resources/views/layouts/sidebar.blade.php b/resources/views/layouts/sidebar.blade.php index ed942a47..c58e4de7 100644 --- a/resources/views/layouts/sidebar.blade.php +++ b/resources/views/layouts/sidebar.blade.php @@ -52,7 +52,7 @@ 角色组 - + 用户管理 diff --git a/routes/web.php b/routes/web.php index 07b6def9..0f0684b3 100644 --- a/routes/web.php +++ b/routes/web.php @@ -20,6 +20,7 @@ use App\Http\Controllers\User\ProfileController; use App\Http\Controllers\Admin\GroupController as AdminGroupController; use App\Http\Controllers\Admin\StrategyController as AdminStrategyController; +use App\Http\Controllers\Admin\UserController as AdminUserController; Route::get('/', fn () => view('welcome'))->name('/'); Route::post('upload', [Controller::class, 'upload']); @@ -44,6 +45,13 @@ Route::group(['middleware' => ['auth']], function () { }); Route::group(['prefix' => 'admin', 'middleware' => ['auth.admin']], function () { + Route::group(['prefix' => 'users'], function () { + Route::get('', [AdminUserController::class, 'index'])->name('admin.users'); + Route::get('{id}', [AdminUserController::class, 'edit'])->name('admin.user.edit'); + Route::put('{id}', [AdminUserController::class, 'update'])->name('admin.user.update'); + Route::delete('{id}', [AdminUserController::class, 'delete'])->name('admin.user.delete'); + }); + Route::group(['prefix' => 'groups'], function () { Route::get('', [AdminGroupController::class, 'index'])->name('admin.groups'); Route::get('create', [AdminGroupController::class, 'add'])->name('admin.group.add');