|
|
<?php
namespace App\Admin\Controllers\v3;
use App\Admin\Repositories\v3\LanzuEmployees;use Dcat\Admin\Form;use Dcat\Admin\Grid;use Dcat\Admin\Show;use Dcat\Admin\Controllers\AdminController;use App\Models\v3\LanzuEmployees as EmployeesModel;use App\Models\v3\User as UserModel;use App\Models\v3\Store as StoreModel;use App\Models\v3\ServicePersonnel as ServicePersonnelModel;use App\Models\v3\Market as MarketModel;
class LanzuEmployeesController extends AdminController{ /** * Make a grid builder. * * @return Grid */ protected function grid() { return Grid::make(new LanzuEmployees(), function (Grid $grid) { //市场
$marketList = MarketModel::getMarketArray(); $positionList = config('role.position'); //店铺
$storeList = StoreModel::getStoreArray([['market_id','=',1]]);
$grid->column('id')->sortable(); $grid->column('name'); $grid->column('tel'); $grid->column('user_id'); $grid->column('market_id')->display(function($marketId) use($marketList){ return isset($marketList[$marketId]) ? $marketList[$marketId] : ''; }); $grid->column('store_id')->display(function($storeId) use($storeList){ return isset($storeList[$storeId]) ? $storeList[$storeId] : ''; }); $grid->column('position')->display(function($position) use($positionList){ $item = ''; 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,$positionList,$storeList){ $filter->equal('id'); $filter->equal('market_id')->select($marketList); $filter->equal('user_id'); $filter->like('name'); $filter->equal('store_id')->select($storeList); $filter->like('position')->select($positionList); }); $grid->model()->orderBy('status','desc'); $grid->model()->orderBy('id','desc'); // 每页10条
$grid->paginate(10); }); }
/** * Make a show builder. * * @param mixed $id * * @return Show */ protected function detail($id) { return Show::make($id, new LanzuEmployees(), function (Show $show) { $show->field('id'); $show->field('name'); $show->field('tel'); $show->field('user_id'); $show->field('store_id')->as(function($storeId){ $item = StoreModel::getStoreInfo($storeId,'name'); return empty($item) ? '' : $item->name; }); $show->field('market_id')->as(function($marketId){ $item = MarketModel::getMarketInfo($marketId,'name'); return empty($item) ? '' : $item->name; }); $show->field('position')->as(function($position){ $positionList = config('role.position'); $item = ''; if(!empty($position) && is_array($position)){ foreach($position as $key => $value){ $item .= ' 【'.$positionList[$value].'】'; } } return $item; }); $show->field('status_text'); $show->field('note'); $show->field('created_at'); $show->field('updated_at'); }); }
/** * Make a form builder. * * @return Form */ protected function form() { return Form::make(new LanzuEmployees(), function (Form $form) { $userId = $form->model()->user_id; //市场
$marketList = MarketModel::getMarketArray(); //店铺
$storeList = StoreModel::getStoreArray([['market_id','=',1]]); // 用户
// $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]);
// }
// }
$form->hidden('id'); $form->number('user_id')->required()->min(0); // $form->select('user_id')->required()->options($userList);
$form->text('name','真实姓名')->width(2)->required(); $form->mobile('tel')->width(4)->required(); $form->select('market_id')->required()->options($marketList); $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 = EmployeesModel::select('id')->where([ ['user_id','=',$userId], ['id','<>',$id?$id:0], ])->first(); if(!empty($store)){ return $form->error('用户已经为懒族员工'); } }); $form->disableResetButton(); $form->disableViewCheck(); $form->disableEditingCheck(); $form->disableCreatingCheck(); }); }}
|