From c42ad9bb0a0b3a688b976d35225c4f8b39bbd968 Mon Sep 17 00:00:00 2001 From: liapples Date: Tue, 24 Aug 2021 13:37:18 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=A0=B8=E9=94=80=E4=BA=BA?= =?UTF-8?q?=E5=91=98=E5=88=97=E8=A1=A8=E5=8F=8Auser=E8=A1=A8=E4=B8=ADverif?= =?UTF-8?q?ier=E5=AD=97=E6=AE=B5=E6=94=B9=E5=90=8D=E4=B8=BAis=5Fverify?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- MySQL_change.sql | 3 +++ .../Controllers/AgentProductController.php | 3 ++- app/AdminAgent/Controllers/UserController.php | 21 +++++++++++++++---- app/AdminAgent/Renderable/SelectUser.php | 8 ++++++- app/AdminAgent/routes.php | 1 + .../Api/VerificationController.php | 2 +- resources/lang/zh_CN/user.php | 2 +- 7 files changed, 32 insertions(+), 8 deletions(-) diff --git a/MySQL_change.sql b/MySQL_change.sql index f1f0d49..34a9eb6 100644 --- a/MySQL_change.sql +++ b/MySQL_change.sql @@ -121,3 +121,6 @@ ENGINE=InnoDB; # 12:39 2021/8/24 ALTER TABLE `notices` ADD COLUMN `sort` SMALLINT NOT NULL DEFAULT '255' COMMENT '排序,越小越靠前' AFTER `content`; + +ALTER TABLE `users` + CHANGE COLUMN `verifier` `is_verify` TINYINT(3) NOT NULL DEFAULT '0' COMMENT '是否是核销人员,1:是;0:否' AFTER `status`; diff --git a/app/AdminAgent/Controllers/AgentProductController.php b/app/AdminAgent/Controllers/AgentProductController.php index fa7ac89..1fbe0a3 100644 --- a/app/AdminAgent/Controllers/AgentProductController.php +++ b/app/AdminAgent/Controllers/AgentProductController.php @@ -197,7 +197,7 @@ class AgentProductController extends AdminController $form->selectTable('verifier') ->title('选择核销人员') ->dialogWidth('50%;min-width:600px;') //不起作用 - ->from(SelectUser::make()) + ->from(SelectUser::make(['is_verify' => 1])) ->model(User::class, 'id', 'nickname') ->customFormat(fn($v) => !$v ? '' : $v) ->required(); @@ -240,6 +240,7 @@ class AgentProductController extends AdminController $form->hidden(['agent_id', 'status']); //表单没有的字段,必须加这句才能够重写 $form->agent_id = $agent_id; $form->status = $form->status == ProductStatus::ON_SALE ? ProductStatus::ON_SALE : ProductStatus::SOLD_OUT; + $form->guide_id = $form->guide_id ?? 0; //不允许编辑的字段 $form->ignore(['id', 'agent_id', 'status', 'created_at', 'updated_at', 'deleted_at']); diff --git a/app/AdminAgent/Controllers/UserController.php b/app/AdminAgent/Controllers/UserController.php index cd56193..a0fb750 100644 --- a/app/AdminAgent/Controllers/UserController.php +++ b/app/AdminAgent/Controllers/UserController.php @@ -8,6 +8,7 @@ use Dcat\Admin\Form; use Dcat\Admin\Grid; use Dcat\Admin\Show; use Dcat\Admin\Http\Controllers\AdminController; +use Illuminate\Support\Facades\Route; class UserController extends AdminController { @@ -25,6 +26,11 @@ class UserController extends AdminController $grid->disableBatchDelete(); $grid->disableDeleteButton(); + //如果是核销人员页面,多加where条件判断 + if (strpos(Route::current()->uri, 'verifier')) { + $grid->model()->where('is_verify', 1); + } + $grid->model()->where('agent_id', Admin::user()->id); $grid->column('id')->sortable(); @@ -32,6 +38,7 @@ class UserController extends AdminController $grid->column('mobile'); $grid->column('nickname'); $grid->column('status')->switch(); + $grid->column('is_verify')->switch(); $grid->column('created_at'); $grid->filter(function (Grid\Filter $filter) { @@ -88,18 +95,24 @@ class UserController extends AdminController $form->display('nickname'); $form->text('mobile'); $form->switch('status'); + $form->switch('is_verify'); })->saving(function (Form $form) { //不允许修改非自己的数据 if ($form->isEditing() && $form->model()->agent_id != Admin::user()->id) { return $form->response()->error('数据不存在'); } - //不允许编辑的字段 - $form->ignore(['id', 'agent_id', 'nickname', 'deleted_at']); - //处理特殊字段 $form->agent_id = Admin::user()->id; - $form->status = $form->status ? 1 : 0; + if (isset($form->status)) { //为防止行内编辑出错,此处需要加判断 + $form->status = $form->status ? 1 : 0; + } + if (isset($form->is_verify)) { //为防止行内编辑出错,此处需要加判断 + $form->is_verify = $form->is_verify ? 1 : 0; + } + + //不允许编辑的字段 + $form->ignore(['id', 'agent_id', 'nickname', 'deleted_at']); })->deleting(function (Form $form) { return $form->response()->error('禁止删除'); }); diff --git a/app/AdminAgent/Renderable/SelectUser.php b/app/AdminAgent/Renderable/SelectUser.php index 4d5e2e4..10d2353 100644 --- a/app/AdminAgent/Renderable/SelectUser.php +++ b/app/AdminAgent/Renderable/SelectUser.php @@ -24,7 +24,13 @@ class SelectUser extends LazyRenderable $grid->disableBatchDelete(); $grid->disableBatchActions(); - $grid->model()->where(['status' => UserStatus::NORMAL, 'agent_id' => Admin::user()->id]); + $where = ['status' => UserStatus::NORMAL, 'agent_id' => Admin::user()->id]; + //核销人员选择 + if ($this->is_verify !== null) { + $where['is_verify'] = $this->is_verify; + } + + $grid->model()->where($where); $grid->quickSearch(['mobile', 'nickname'])->placeholder('搜索手机号、用户昵称'); $grid->column('id'); diff --git a/app/AdminAgent/routes.php b/app/AdminAgent/routes.php index 7c4dd66..c5a0b79 100644 --- a/app/AdminAgent/routes.php +++ b/app/AdminAgent/routes.php @@ -18,6 +18,7 @@ Route::group([ $router->resource('product/list', 'AgentProductController'); $router->resource('category/list', 'CategoryController'); $router->resource('user/list', 'UserController'); + $router->resource('user/verifier', 'UserController'); $router->resource('order/list', 'OrderController'); $router->resource('slide/list', 'SlideController'); $router->resource('special/list', 'SpecialController'); diff --git a/app/Http/Controllers/Api/VerificationController.php b/app/Http/Controllers/Api/VerificationController.php index 007355a..677516b 100644 --- a/app/Http/Controllers/Api/VerificationController.php +++ b/app/Http/Controllers/Api/VerificationController.php @@ -28,7 +28,7 @@ class VerificationController extends Controller } $user = User::firstWhere(['id' => $this->user_id, 'status' => 1]); - if (!$user || $user->id != $order->agentProduct->verifier) { + if (!$user || $user->is_verify !=1 || $user->id != $order->agentProduct->verifier) { return $this->error('对不起,你没有核销权限,请联系管理员'); } diff --git a/resources/lang/zh_CN/user.php b/resources/lang/zh_CN/user.php index 66079ca..2ef8fb4 100644 --- a/resources/lang/zh_CN/user.php +++ b/resources/lang/zh_CN/user.php @@ -13,7 +13,7 @@ return [ 'openid' => '微信openid', 'status' => '用户状态', 'unionid' => '微信unionid', - 'verifier' => '是否核销人员', + 'is_verify' => '是否核销人员', 'created_at' => '注册时间', ], 'options' => [