jingcai-php/app/Admin/Controllers/SellerController.php

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();
});
});
}
}