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