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' => '备注',