Browse Source

店铺添加优化,员工添加优化

master
liangyuyan 5 years ago
parent
commit
4fac0f0d7a
  1. 56
      app/Admin/Controllers/v3/LanzuEmployeesController.php
  2. 36
      app/Admin/Controllers/v3/StoreController.php
  3. 2
      app/Models/v3/LanzuEmployees.php
  4. 12
      app/Models/v3/Store.php
  5. 2
      config/role.php
  6. 2
      resources/lang/zh-CN/lanzu-employees.php

56
app/Admin/Controllers/v3/LanzuEmployeesController.php

@ -25,7 +25,7 @@ class LanzuEmployeesController extends AdminController
return Grid::make(new LanzuEmployees(), function (Grid $grid) { return Grid::make(new LanzuEmployees(), function (Grid $grid) {
//市场 //市场
$marketList = MarketModel::getMarketArray(); $marketList = MarketModel::getMarketArray();
$roleList = config('role.position');
$positionList = config('role.position');
$grid->column('id')->sortable(); $grid->column('id')->sortable();
$grid->column('market_id')->display(function($marketId) use($marketList){ $grid->column('market_id')->display(function($marketId) use($marketList){
@ -40,21 +40,21 @@ class LanzuEmployeesController extends AdminController
return empty($item) ? '' : $item->name; return empty($item) ? '' : $item->name;
}); });
$grid->column('role')->display(function($role) use($roleList){
$grid->column('position')->display(function($position) use($positionList){
$item = ''; $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; return $item;
}); });
$grid->column('status')->width(3)->select(EmployeesModel::$_STATUS); $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('id');
$filter->equal('market_id')->select($marketList); $filter->equal('market_id')->select($marketList);
$filter->equal('role')->select($roleList);
$filter->equal('position')->select($positionList);
}); });
$grid->model()->orderBy('status','desc'); $grid->model()->orderBy('status','desc');
$grid->model()->orderBy('id','desc'); $grid->model()->orderBy('id','desc');
@ -86,12 +86,12 @@ class LanzuEmployeesController extends AdminController
$item = MarketModel::getMarketInfo($marketId,'name'); $item = MarketModel::getMarketInfo($marketId,'name');
return empty($item) ? '' : $item->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 = ''; $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; return $item;
@ -115,24 +115,36 @@ class LanzuEmployeesController extends AdminController
//市场 //市场
$marketList = MarketModel::getMarketArray(); $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->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->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->select('store_id')->options($storeList);
$form->text('note')->maxLength(200); $form->text('note')->maxLength(200);
$form->hidden('status')->default(1); $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->disableResetButton();
$form->disableViewCheck(); $form->disableViewCheck();
$form->disableEditingCheck(); $form->disableEditingCheck();

36
app/Admin/Controllers/v3/StoreController.php

@ -153,6 +153,8 @@ class StoreController extends AdminController
protected function form() protected function form()
{ {
return Form::make(new Store(), function (Form $form) { return Form::make(new Store(), function (Form $form) {
// $userId = $form->model()->user_id;
$adminId = $form->model()->admin_id;
// 查询市场经理 // 查询市场经理
// $mmList = MminfoModel::getMmInfoArray(); // $mmList = MminfoModel::getMmInfoArray();
// 查询市场 // 查询市场
@ -160,15 +162,15 @@ class StoreController extends AdminController
// 查询一级分类 // 查询一级分类
$categoryList = CategoryModel::getArray([['parent_id','=',0]]); $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->column(6, function (Form $form) use($marketList,$categoryList){
$form->hidden('id'); $form->hidden('id');
@ -197,12 +199,14 @@ class StoreController extends AdminController
}); });
$form->text('address')->required(); $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('business_license')->required()->uniqueName();
$form->image('zm_img')->required()->uniqueName(); $form->image('zm_img')->required()->uniqueName();
$form->image('fm_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('time1','时间段一开始')->format('HH:mm');
$form->time('time2','时间段一结束')->format('HH:mm')->rules('after:time1',['after'=>'选择的时间必须比时间段一开始时间晚']); $form->time('time2','时间段一结束')->format('HH:mm')->rules('after:time1',['after'=>'选择的时间必须比时间段一开始时间晚']);
$form->time('time3','时间段二开始')->format('HH:mm')->rules('after:time2',['after'=>'选择的时间必须比时间段一结束时间晚']); $form->time('time3','时间段二开始')->format('HH:mm')->rules('after:time2',['after'=>'选择的时间必须比时间段一结束时间晚']);
@ -220,7 +224,17 @@ class StoreController extends AdminController
// $form->text('coordinates')->width(4) // $form->text('coordinates')->width(4)
// ->placeholder('输入 经纬度,如: 108.281552,22.83731') // ->placeholder('输入 经纬度,如: 108.281552,22.83731')
// ->help("通过网址 <a href='https://lbs.amap.com/console/show/picker' target='_blank'>https://lbs.amap.com/console/show/picker</a> 获取经纬度"); // ->help("通过网址 <a href='https://lbs.amap.com/console/show/picker' target='_blank'>https://lbs.amap.com/console/show/picker</a> 获取经纬度");
$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){ $form->saved(function (Form $form){
$id = $form->getKey(); $id = $form->getKey();
$store = StoreModel::find($id); $store = StoreModel::find($id);

2
app/Models/v3/LanzuEmployees.php

@ -17,7 +17,7 @@ class LanzuEmployees extends Model
/* 查询记录数 limit */ /* 查询记录数 limit */
protected $perPage = 10; protected $perPage = 10;
protected $casts = [ protected $casts = [
'role'=>'array',
'position'=>'array',
]; ];
public static $_TYPE= ['']; public static $_TYPE= [''];
public static $_STATUS = [-1=>'离职',0=>'禁用',1=>'正常']; public static $_STATUS = [-1=>'离职',0=>'禁用',1=>'正常'];

12
app/Models/v3/Store.php

@ -87,12 +87,16 @@ class Store extends Model
* id为键,name为值 * id为键,name为值
* @return array * @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) ->where('status',2)
->whereNull('deleted_at')
->get();
->whereNull('deleted_at');
if(count($where) > 0){
$model->where($where);
}
$list = $model->get();
$array = []; $array = [];
if(count($list) > 0){ if(count($list) > 0){
foreach ($list as $value) { foreach ($list as $value) {

2
config/role.php

@ -1,6 +1,6 @@
<?php <?php
/** /**
* 懒族员工角色
* 懒族员工角色,职位
*/ */
return [ return [
'position'=>[ 'position'=>[

2
resources/lang/zh-CN/lanzu-employees.php

@ -10,7 +10,7 @@ return [
'user_id' => '用户懒ID', 'user_id' => '用户懒ID',
'store_id' => '店铺', 'store_id' => '店铺',
'market_id' => '服务站', 'market_id' => '服务站',
'role' => '用户角色',
'position' => '职位',
'status' => '状态', 'status' => '状态',
'status_text' => '状态', 'status_text' => '状态',
'note' => '备注', 'note' => '备注',

Loading…
Cancel
Save