You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
120 lines
3.8 KiB
120 lines
3.8 KiB
<?php
|
|
|
|
namespace App\Admin\Controllers\v3;
|
|
|
|
use App\Admin\Repositories\v3\ServicePersonnel;
|
|
use Dcat\Admin\Form;
|
|
use Dcat\Admin\Grid;
|
|
use Dcat\Admin\Show;
|
|
use Dcat\Admin\Controllers\AdminController;
|
|
use App\Models\v3\ServicePersonnel as ServicePersonnelModel;
|
|
use App\Models\v3\Market as MarketModel;
|
|
use App\Models\v3\User as UserModel;
|
|
|
|
class ServicePersonnelController extends AdminController
|
|
{
|
|
/**
|
|
* Make a grid builder.
|
|
*
|
|
* @return Grid
|
|
*/
|
|
protected function grid()
|
|
{
|
|
return Grid::make(new ServicePersonnel(), function (Grid $grid) {
|
|
//市场
|
|
$marketList = MarketModel::getMarketArray();
|
|
|
|
$grid->column('id')->sortable();
|
|
|
|
$grid->column('head_url')->image('',50);
|
|
$grid->column('name');
|
|
$grid->column('tel');
|
|
$grid->column('market_id')->display(function($marketId) use ($marketList){
|
|
return isset($marketList[$marketId]) ? $marketList[$marketId] : '';
|
|
});
|
|
$grid->column('type_text');
|
|
$grid->column('qr_url')->image('',50);
|
|
$grid->column('status')->using(ServicePersonnelModel::$_STATUS)->label(config('label.status_label'));
|
|
|
|
$grid->model()->orderby('id','desc');
|
|
|
|
$grid->filter(function (Grid\Filter $filter) use($marketList){
|
|
$filter->equal('id');
|
|
$filter->like('name');
|
|
$filter->equal('type')->select(ServicePersonnelModel::$_TYPE);
|
|
$filter->equal('market_id')->select($marketList);
|
|
});
|
|
// 每页10条
|
|
$grid->paginate(10);
|
|
});
|
|
}
|
|
|
|
/**
|
|
* Make a show builder.
|
|
*
|
|
* @param mixed $id
|
|
*
|
|
* @return Show
|
|
*/
|
|
protected function detail($id)
|
|
{
|
|
return Show::make($id, new ServicePersonnel(), function (Show $show) {
|
|
$show->field('id');
|
|
$show->field('user_id');
|
|
$show->field('name');
|
|
$show->field('tel');
|
|
$show->field('market_id');
|
|
$show->field('type');
|
|
$show->field('status');
|
|
$show->field('qr_url');
|
|
$show->field('head_url');
|
|
$show->field('created_at');
|
|
$show->field('updated_at');
|
|
});
|
|
}
|
|
|
|
/**
|
|
* Make a form builder.
|
|
*
|
|
* @return Form
|
|
*/
|
|
protected function form()
|
|
{
|
|
return Form::make(new ServicePersonnel(), function (Form $form) {
|
|
//市场
|
|
$marketList = MarketModel::getMarketArray();
|
|
// 用户
|
|
$userList = UserModel::getUserArray();
|
|
// 已绑定的用户
|
|
$userHas = ServicePersonnelModel::pluck('user_id')->toArray();
|
|
foreach($userList as $ku => $uv){
|
|
if($ku != 0 && in_array($ku,$userHas)){
|
|
unset($userList[$ku]);
|
|
}
|
|
}
|
|
|
|
$form->column(6,function(Form $form){
|
|
$form->hidden('id');
|
|
$form->text('name')->required();
|
|
$form->text('tel')->required();
|
|
$form->image('head_url')->required();
|
|
});
|
|
$form->column(6,function(Form $form) use($marketList,$userList){
|
|
$form->select('type')->options(ServicePersonnelModel::$_TYPE)->required();
|
|
$form->select('market_id')->options($marketList)->required();
|
|
$form->select('user_id')->options($userList)->required();
|
|
});
|
|
|
|
$form->saved(function(Form $form){
|
|
$id = $form->getKey();
|
|
|
|
// 生产专员二维码
|
|
$qrCode = 0;
|
|
});
|
|
$form->disableResetButton();
|
|
$form->disableViewCheck();
|
|
$form->disableEditingCheck();
|
|
$form->disableCreatingCheck();
|
|
});
|
|
}
|
|
}
|