From 8dd4cfa6b20e083fc35f4ddccae624f2b4a82653 Mon Sep 17 00:00:00 2001 From: kuaifan Date: Thu, 17 Mar 2022 22:00:36 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=9B=A2=E9=98=9F=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E6=90=9C=E7=B4=A2=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Http/Controllers/Api/UsersController.php | 36 ++++++++++++---- .../manage/components/TeamManagement.vue | 43 ++++++++++--------- .../pages/components/team-management.scss | 5 +++ 3 files changed, 56 insertions(+), 28 deletions(-) diff --git a/app/Http/Controllers/Api/UsersController.php b/app/Http/Controllers/Api/UsersController.php index 1e679fa48..3bd4a2a4a 100755 --- a/app/Http/Controllers/Api/UsersController.php +++ b/app/Http/Controllers/Api/UsersController.php @@ -427,9 +427,12 @@ class UsersController extends AbstractController * @apiName lists * * @apiParam {Object} [keys] 搜索条件 + * - keys.key 邮箱/昵称/职位(赋值后keys.email、keys.nickname、keys.profession失效) * - keys.email 邮箱 * - keys.nickname 昵称 * - keys.profession 职位 + * - keys.identity 身份(如:admin、noadmin) + * - keys.email_verity 邮箱是否认证(如:yes、no) * @apiParam {Number} [page] 当前页,默认:1 * @apiParam {Number} [pagesize] 每页显示数量,默认:20,最大:50 * @@ -445,14 +448,26 @@ class UsersController extends AbstractController // $keys = Request::input('keys'); if (is_array($keys)) { - if ($keys['email']) { - $builder->where("email", "like", "%{$keys['email']}%"); - } - if ($keys['nickname']) { - $builder->where("nickname", "like", "%{$keys['nickname']}%"); - } - if ($keys['profession']) { - $builder->where("profession", "like", "%{$keys['profession']}%"); + if ($keys['key']) { + if (str_contains($keys['key'], "@")) { + $builder->where("email", "like", "%{$keys['key']}%"); + } else { + $builder->where(function($query) use ($keys) { + $query->where("email", "like", "%{$keys['key']}%") + ->orWhere("nickname", "like", "%{$keys['key']}%") + ->orWhere("profession", "like", "%{$keys['key']}%"); + }); + } + } else { + if ($keys['email']) { + $builder->where("email", "like", "%{$keys['email']}%"); + } + if ($keys['nickname']) { + $builder->where("nickname", "like", "%{$keys['nickname']}%"); + } + if ($keys['profession']) { + $builder->where("profession", "like", "%{$keys['profession']}%"); + } } if ($keys['identity']) { if (Base::leftExists($keys['identity'], "no")) { @@ -461,6 +476,11 @@ class UsersController extends AbstractController $builder->where("identity", "like", "%,{$keys['identity']},%"); } } + if ($keys['email_verity'] === 'yes') { + $builder->whereEmailVerity(1); + } elseif ($keys['email_verity'] === 'no') { + $builder->whereEmailVerity(0); + } } $list = $builder->orderByDesc('userid')->paginate(Base::getPaginate(50, 20)); // diff --git a/resources/assets/js/pages/manage/components/TeamManagement.vue b/resources/assets/js/pages/manage/components/TeamManagement.vue index 4d900700d..edbeb8866 100644 --- a/resources/assets/js/pages/manage/components/TeamManagement.vue +++ b/resources/assets/js/pages/manage/components/TeamManagement.vue @@ -10,26 +10,10 @@