105 lines
3.6 KiB
PHP
Executable File
105 lines
3.6 KiB
PHP
Executable File
<?php
|
|
|
|
namespace App\Admin\Controllers;
|
|
|
|
use App\Enums\BoolEnum;
|
|
use App\Enums\SellerLevel;
|
|
use Dcat\Admin\Grid;
|
|
use Dcat\Admin\Form;
|
|
use App\Model\Seller\Shop;
|
|
use App\Model\Seller\Seller;
|
|
|
|
use Dcat\Admin\Http\Controllers\AdminController;
|
|
|
|
|
|
class SellerController extends AdminController
|
|
{
|
|
protected $title='店主账号管理';
|
|
/**
|
|
* Make a grid builder.
|
|
*
|
|
* @return Grid
|
|
*/
|
|
protected function grid()
|
|
{
|
|
return Grid::make(Seller::class, function (Grid $grid) {
|
|
$grid->model()->orderBy('id', 'desc');
|
|
|
|
$grid->column('id','ID');
|
|
|
|
$grid->column('name','用户名');
|
|
$grid->column('nickname','真实名称');
|
|
$grid->column('phone','手机号');
|
|
$grid->column('shop_id','店铺名称')->display(function($row){
|
|
return Shop::where('id',$this->shop_id)->value('name');
|
|
});
|
|
$grid->column('email','邮箱');
|
|
$grid->column('platform_agent','平台代理')->select(BoolEnum::asBoolArray(), true);
|
|
$grid->column('created_at','创建时间');
|
|
$grid->filter(function($filter){
|
|
$filter->panel();
|
|
$filter->like('name','用户名');
|
|
$filter->like('nickname','真实名称');
|
|
$filter->like('phone','手机号');
|
|
});
|
|
|
|
$grid->disableViewButton();
|
|
// $grid->disableEditButton();
|
|
$grid->disableDeleteButton();
|
|
$grid->scrollbarX();//数据展开
|
|
// $grid->disableActions();
|
|
// $grid->disableRowSelector();
|
|
});
|
|
}
|
|
|
|
protected function form()
|
|
{
|
|
return Form::make(new Seller(), function (Form $form) {
|
|
$form->hidden('level');
|
|
$form->select('platform_agent','平台代理')
|
|
->options(BoolEnum::asBoolArray())
|
|
->default(BoolEnum::NO);
|
|
$form->tel('name','用户名')->required();
|
|
$form->text('nickname','真实名')->required();
|
|
$form->tel('phone','手机号')->required();
|
|
if ($form->model()->id) {
|
|
$form->password('password','密码');
|
|
} else {
|
|
$form->password('password','密码')->required();
|
|
}
|
|
|
|
$form->select('shop_id','所属店铺')->required()->options(Shop::where("status",1)->pluck('name','id as shop_id'));
|
|
$form->email('email','店主邮箱')->required();
|
|
// $form->divider();
|
|
$form->saving(function ($form) {
|
|
if ($form->model()->id) {
|
|
if ($form->password) {
|
|
$form->password = Seller::encryPassword($form->password);
|
|
} else {
|
|
$form->password = $form->model()->password;
|
|
}
|
|
} else {
|
|
|
|
$exist = Seller::where('shop_id', $form->shop_id)
|
|
->where('level', SellerLevel::MASTER)
|
|
->first();
|
|
if ($exist) {
|
|
return $form->response()->error('该店铺有店主,不可重复添加');
|
|
}
|
|
$form->level = SellerLevel::MASTER;
|
|
$form->password = Seller::encryPassword($form->password);
|
|
}
|
|
|
|
|
|
});
|
|
$form->footer(function($footer) {
|
|
// 去掉`查看`checkbox
|
|
$footer->disableViewCheck();
|
|
// 去掉`继续编辑`checkbox
|
|
$footer->disableEditingCheck();
|
|
});
|
|
|
|
});
|
|
}
|
|
}
|