链街Dcat后台
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.
 
 
 
 

108 lines
3.3 KiB

<?php
namespace App\Admin\Controllers\v3;
use App\Admin\Repositories\v3\StoreUser;
use Dcat\Admin\Form;
use Dcat\Admin\Grid;
use Dcat\Admin\Show;
use Dcat\Admin\Controllers\AdminController;
use App\Models\v3\Store as StoreModel;
use App\Models\v3\StoreUser as StoreUserModel;
class StoreUserController extends AdminController
{
/**
* Make a grid builder.
*
* @return Grid
*/
protected function grid()
{
return Grid::make(new StoreUser(), function (Grid $grid) {
// 店铺
$storeList = StoreModel::getStoreArray();
// 账号类型
$categoryList = StoreUserModel::$_USER_CATEGORY;
// 注册类型
$typeList = StoreUserModel::$_USER_CATEGORY;
$grid->column('id')->sortable();
$grid->column('store_id')->display(function($storeId) use($storeList){
return isset($storeList[$storeId])?$storeList[$storeId]:'';
});
$grid->column('username');
$grid->column('user_category')->display(function($userCategory) use($categoryList){
return isset($categoryList[$userCategory])?$categoryList[$userCategory]:'';
});
$grid->column('register_type')->display(function($registerType) use($typeList){
return isset($typeList[$registerType])?$typeList[$registerType]:'';
});
$grid->column('status');
$grid->column('join_ip');
$grid->column('last_visit_time');
$grid->column('last_ip');
$grid->model()->orderBy('id', 'desc');
// 每页10条
$grid->paginate(10);
$grid->filter(function (Grid\Filter $filter) use($categoryList){
unset($categoryList[0]);
$filter->equal('id');
$filter->equal('user_category')->select($categoryList);
});
});
}
/**
* Make a show builder.
*
* @param mixed $id
*
* @return Show
*/
protected function detail($id)
{
return Show::make($id, new StoreUser(), function (Show $show) {
$show->field('id');
$show->field('store_id');
$show->field('username');
$show->field('user_category');
$show->field('register_type');
$show->field('status');
$show->field('join_ip');
$show->field('last_visit_time');
$show->field('last_ip');
$show->field('created_at');
$show->field('updated_at');
});
}
/**
* Make a form builder.
*
* @return Form
*/
protected function form()
{
return Form::make(new StoreUser(), function (Form $form) {
// 店铺
$storeList = StoreModel::getStoreArray();
// 账号类型
$categoryList = StoreUserModel::$_USER_CATEGORY;
unset($categoryList[0]);
$form->display('id');
$form->select('store_id')->options($storeList);
$form->text('username');
$form->password('password_');
$form->password('password_confirm')->same('password');
$form->select('user_category')->options($categoryList);
$form->hidden('register_type')->default(5);
});
}
}