From eba2bd5fe1c5775e184dd849e6f579b714835a4f Mon Sep 17 00:00:00 2001 From: liangyuyan <1103300295@qq.com> Date: Tue, 15 Sep 2020 14:16:42 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E6=87=92=E6=97=8F=E5=91=98=E5=B7=A5?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=AD=9B=E9=80=89=E6=9D=A1=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Admin/Controllers/v3/LanzuEmployeesController.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/Admin/Controllers/v3/LanzuEmployeesController.php b/app/Admin/Controllers/v3/LanzuEmployeesController.php index 16a5475..8fc6a5f 100644 --- a/app/Admin/Controllers/v3/LanzuEmployeesController.php +++ b/app/Admin/Controllers/v3/LanzuEmployeesController.php @@ -51,9 +51,10 @@ class LanzuEmployeesController extends AdminController }); $grid->column('status')->width(3)->select(EmployeesModel::$_STATUS); - $grid->filter(function (Grid\Filter $filter) use($marketList){ + $grid->filter(function (Grid\Filter $filter) use($marketList,$roleList){ $filter->equal('id'); $filter->equal('market_id')->select($marketList); + $filter->equal('role')->select($roleList); }); $grid->model()->orderBy('status','desc'); $grid->model()->orderBy('id','desc'); From 4fac0f0d7ad4eece45a9792d3484f1c32cf575e1 Mon Sep 17 00:00:00 2001 From: liangyuyan <1103300295@qq.com> Date: Tue, 15 Sep 2020 15:27:38 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E5=BA=97=E9=93=BA=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E4=BC=98=E5=8C=96=EF=BC=8C=E5=91=98=E5=B7=A5=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../v3/LanzuEmployeesController.php | 56 +++++++++++-------- app/Admin/Controllers/v3/StoreController.php | 36 ++++++++---- app/Models/v3/LanzuEmployees.php | 2 +- app/Models/v3/Store.php | 12 ++-- config/role.php | 2 +- resources/lang/zh-CN/lanzu-employees.php | 2 +- 6 files changed, 70 insertions(+), 40 deletions(-) diff --git a/app/Admin/Controllers/v3/LanzuEmployeesController.php b/app/Admin/Controllers/v3/LanzuEmployeesController.php index 8fc6a5f..e8e2b6e 100644 --- a/app/Admin/Controllers/v3/LanzuEmployeesController.php +++ b/app/Admin/Controllers/v3/LanzuEmployeesController.php @@ -25,7 +25,7 @@ class LanzuEmployeesController extends AdminController return Grid::make(new LanzuEmployees(), function (Grid $grid) { //市场 $marketList = MarketModel::getMarketArray(); - $roleList = config('role.position'); + $positionList = config('role.position'); $grid->column('id')->sortable(); $grid->column('market_id')->display(function($marketId) use($marketList){ @@ -40,21 +40,21 @@ class LanzuEmployeesController extends AdminController return empty($item) ? '' : $item->name; }); - $grid->column('role')->display(function($role) use($roleList){ + $grid->column('position')->display(function($position) use($positionList){ $item = ''; - if(!empty($role) && is_array($role)){ - foreach($role as $key => $value){ - $item .= '【'.$roleList[$value].'】'; + if(!empty($position) && is_array($position)){ + foreach($position as $key => $value){ + $item .= '【'.$positionList[$value].'】'; } } return $item; }); $grid->column('status')->width(3)->select(EmployeesModel::$_STATUS); - $grid->filter(function (Grid\Filter $filter) use($marketList,$roleList){ + $grid->filter(function (Grid\Filter $filter) use($marketList,$positionList){ $filter->equal('id'); $filter->equal('market_id')->select($marketList); - $filter->equal('role')->select($roleList); + $filter->equal('position')->select($positionList); }); $grid->model()->orderBy('status','desc'); $grid->model()->orderBy('id','desc'); @@ -86,12 +86,12 @@ class LanzuEmployeesController extends AdminController $item = MarketModel::getMarketInfo($marketId,'name'); return empty($item) ? '' : $item->name; }); - $show->field('role')->as(function($role){ - $roleList = config('role.position'); + $show->field('position')->as(function($position){ + $positionList = config('position.position'); $item = ''; - if(!empty($role) && is_array($role)){ - foreach($role as $key => $value){ - $item .= ' 【'.$roleList[$value].'】'; + if(!empty($position) && is_array($position)){ + foreach($position as $key => $value){ + $item .= ' 【'.$positionList[$value].'】'; } } return $item; @@ -115,24 +115,36 @@ class LanzuEmployeesController extends AdminController //市场 $marketList = MarketModel::getMarketArray(); //店铺 - $storeList = StoreModel::getStoreArray(); + $storeList = StoreModel::getStoreArray([['market_id','=',1]]); // 用户 - $userList = UserModel::getUserArray(); + // $userList = UserModel::getUserArray(); // 已绑定的用户 - $userHas = EmployeesModel::pluck('user_id')->toArray(); - foreach($userList as $ku => $uv){ - if($ku != 0 && in_array($ku,$userHas) && !in_array($userId,$userHas)){ - unset($userList[$ku]); - } - } + // $userHas = EmployeesModel::pluck('user_id')->toArray(); + // foreach($userList as $ku => $uv){ + // if($ku != 0 && in_array($ku,$userHas) && !in_array($userId,$userHas)){ + // unset($userList[$ku]); + // } + // } $form->hidden('id'); - $form->select('user_id')->required()->options($userList); + // $form->select('user_id')->required()->options($userList); + $form->number('user_id')->required()->min(0); $form->select('market_id')->required()->options($marketList); - $form->multipleSelect('role')->required()->options(config('role.position')); + $form->multipleSelect('position')->required()->options(config('role.position')); $form->select('store_id')->options($storeList); $form->text('note')->maxLength(200); $form->hidden('status')->default(1); + $form->saving(function(Form $form){ + $id = $form->getKey(); + $userId = $form->input('user_id'); + $store = StoreModel::select('id')->where([ + ['user_id','=',$userId], + ['id','<>',$id?$id:0], + ])->first(); + if(!empty($store)){ + return $form->error('用户已经为懒族员工'); + } + }); $form->disableResetButton(); $form->disableViewCheck(); $form->disableEditingCheck(); diff --git a/app/Admin/Controllers/v3/StoreController.php b/app/Admin/Controllers/v3/StoreController.php index 95e9c26..a69c6ff 100644 --- a/app/Admin/Controllers/v3/StoreController.php +++ b/app/Admin/Controllers/v3/StoreController.php @@ -153,6 +153,8 @@ class StoreController extends AdminController protected function form() { return Form::make(new Store(), function (Form $form) { + // $userId = $form->model()->user_id; + $adminId = $form->model()->admin_id; // 查询市场经理 // $mmList = MminfoModel::getMmInfoArray(); // 查询市场 @@ -160,15 +162,15 @@ class StoreController extends AdminController // 查询一级分类 $categoryList = CategoryModel::getArray([['parent_id','=',0]]); // 用户 - $userList = UserModel::getUserArray(); + // $userList = UserModel::getUserArray(); // 已绑定店铺的用户 - $userHas = StoreModel::pluck('admin_id')->toArray(); + // $userHas = StoreModel::pluck('admin_id')->toArray(); - foreach($userList as $ku => $uv){ - if($ku != 0 && in_array($ku,$userHas)){ - unset($userList[$ku]); - } - } + // foreach($userList as $ku => $uv){ + // if($ku != 0 && in_array($ku,$userHas) && !in_array($adminId,$userHas)){ + // unset($userList[$ku]); + // } + // } $form->column(6, function (Form $form) use($marketList,$categoryList){ $form->hidden('id'); @@ -197,12 +199,14 @@ class StoreController extends AdminController }); $form->text('address')->required(); }); - $form->column(6, function (Form $form) use($userList){ + $form->column(6, function (Form $form) { $form->image('business_license')->required()->uniqueName(); $form->image('zm_img')->required()->uniqueName(); $form->image('fm_img')->required()->uniqueName(); - $form->select('admin_id')->options($userList)->required(); - $form->select('user_id')->options($userList)->required(); + // $form->select('admin_id')->options($userList)->required(); + // $form->select('user_id')->options($userList)->required(); + $form->number('admin_id')->required()->min(0); + $form->number('user_id')->required()->min(0); $form->time('time1','时间段一开始')->format('HH:mm'); $form->time('time2','时间段一结束')->format('HH:mm')->rules('after:time1',['after'=>'选择的时间必须比时间段一开始时间晚']); $form->time('time3','时间段二开始')->format('HH:mm')->rules('after:time2',['after'=>'选择的时间必须比时间段一结束时间晚']); @@ -220,7 +224,17 @@ class StoreController extends AdminController // $form->text('coordinates')->width(4) // ->placeholder('输入 经纬度,如: 108.281552,22.83731') // ->help("通过网址 https://lbs.amap.com/console/show/picker 获取经纬度"); - + $form->saving(function(Form $form){ + $id = $form->getKey(); + $adminId = $form->input('admin_id'); + $store = StoreModel::select('id')->where([ + ['admin_id','=',$adminId], + ['id','<>',$id?$id:0], + ])->first(); + if(!empty($store)){ + return $form->error('管理员已经绑定了店铺'); + } + }); $form->saved(function (Form $form){ $id = $form->getKey(); $store = StoreModel::find($id); diff --git a/app/Models/v3/LanzuEmployees.php b/app/Models/v3/LanzuEmployees.php index d213617..16ee132 100644 --- a/app/Models/v3/LanzuEmployees.php +++ b/app/Models/v3/LanzuEmployees.php @@ -17,7 +17,7 @@ class LanzuEmployees extends Model /* 查询记录数 limit */ protected $perPage = 10; protected $casts = [ - 'role'=>'array', + 'position'=>'array', ]; public static $_TYPE= ['']; public static $_STATUS = [-1=>'离职',0=>'禁用',1=>'正常']; diff --git a/app/Models/v3/Store.php b/app/Models/v3/Store.php index 0370a3b..2988381 100644 --- a/app/Models/v3/Store.php +++ b/app/Models/v3/Store.php @@ -87,12 +87,16 @@ class Store extends Model * id为键,name为值 * @return array */ - public static function getStoreArray() + public static function getStoreArray($where = [], $options = []) { - $list = self::select('id','name') + $model = self::select('id','name') ->where('status',2) - ->whereNull('deleted_at') - ->get(); + ->whereNull('deleted_at'); + + if(count($where) > 0){ + $model->where($where); + } + $list = $model->get(); $array = []; if(count($list) > 0){ foreach ($list as $value) { diff --git a/config/role.php b/config/role.php index 69ac526..97aa17e 100644 --- a/config/role.php +++ b/config/role.php @@ -1,6 +1,6 @@ [ diff --git a/resources/lang/zh-CN/lanzu-employees.php b/resources/lang/zh-CN/lanzu-employees.php index 10a010e..086d2d1 100644 --- a/resources/lang/zh-CN/lanzu-employees.php +++ b/resources/lang/zh-CN/lanzu-employees.php @@ -10,7 +10,7 @@ return [ 'user_id' => '用户懒ID', 'store_id' => '店铺', 'market_id' => '服务站', - 'role' => '用户角色', + 'position' => '职位', 'status' => '状态', 'status_text' => '状态', 'note' => '备注', From d0453fd61b68847238c75f5eb4219f7936f4f25a Mon Sep 17 00:00:00 2001 From: liangyuyan <1103300295@qq.com> Date: Tue, 15 Sep 2020 15:32:35 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E6=B4=BB=E5=8A=A8=E5=95=86=E5=93=81?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=A4=B1=E8=B4=A5=E9=97=AE=E9=A2=98=EF=BC=8C?= =?UTF-8?q?json=E7=B1=BB=E5=9E=8B=E6=95=B0=E7=BB=84=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E5=A4=B1=E8=B4=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Models/v3/GoodsActivity.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Models/v3/GoodsActivity.php b/app/Models/v3/GoodsActivity.php index 009ae4e..233bdc4 100644 --- a/app/Models/v3/GoodsActivity.php +++ b/app/Models/v3/GoodsActivity.php @@ -24,7 +24,7 @@ class GoodsActivity extends Model protected $casts = [ 'details_imgs'=>'array', // 'tags'=>'array', - // 'market_ids'=>'array', + 'market_ids'=>'array', 'spec'=>'array', ]; From 1c129be28d0239adf797e9feccc22294ed67d7ac Mon Sep 17 00:00:00 2001 From: liangyuyan <1103300295@qq.com> Date: Tue, 15 Sep 2020 15:39:45 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E5=BA=97=E9=93=BA=E5=8E=BB=E6=8E=89?= =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=8C=89=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Admin/Controllers/v3/StoreController.php | 11 +++++++++-- app/Admin/Controllers/v3/UserController.php | 1 + 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/app/Admin/Controllers/v3/StoreController.php b/app/Admin/Controllers/v3/StoreController.php index a69c6ff..1a797b7 100644 --- a/app/Admin/Controllers/v3/StoreController.php +++ b/app/Admin/Controllers/v3/StoreController.php @@ -78,6 +78,9 @@ class StoreController extends AdminController // 每页10条 $grid->paginate(10); + + $grid->disableDeleteButton(); + }); } @@ -140,8 +143,11 @@ class StoreController extends AdminController $show->width(6)->loudspeaker_imei; }); - // $show->created_at; - // $show->updated_at; + $show->panel()->tools(function ($tools) { + + $tools->disableDelete(); + + }); }); } @@ -289,6 +295,7 @@ class StoreController extends AdminController $form->disableViewCheck(); $form->disableEditingCheck(); $form->disableCreatingCheck(); + $form->disableDeleteButton(); }); } diff --git a/app/Admin/Controllers/v3/UserController.php b/app/Admin/Controllers/v3/UserController.php index 957ae19..ecdfb1c 100644 --- a/app/Admin/Controllers/v3/UserController.php +++ b/app/Admin/Controllers/v3/UserController.php @@ -105,6 +105,7 @@ class UserController extends AdminController $form->disableViewCheck(); $form->disableEditingCheck(); $form->disableCreatingCheck(); + $form->disableDeleteButton(); }); } }