6 changed files with 193 additions and 8 deletions
			
			
		- 
					108app/Admin/Controllers/v3/StoreUserController.php
 - 
					16app/Admin/Repositories/v3/StoreUser.php
 - 
					1app/Admin/routes.php
 - 
					40app/Models/v3/StoreUser.php
 - 
					16dcat_admin_ide_helper.php
 - 
					20resources/lang/zh-CN/store-user.php
 
@ -0,0 +1,108 @@ | 
				
			|||
<?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); | 
				
			|||
 | 
				
			|||
        }); | 
				
			|||
    } | 
				
			|||
} | 
				
			|||
@ -0,0 +1,16 @@ | 
				
			|||
<?php | 
				
			|||
 | 
				
			|||
namespace App\Admin\Repositories\v3; | 
				
			|||
 | 
				
			|||
use App\Models\v3\StoreUser as Model; | 
				
			|||
use Dcat\Admin\Repositories\EloquentRepository; | 
				
			|||
 | 
				
			|||
class StoreUser extends EloquentRepository | 
				
			|||
{ | 
				
			|||
    /** | 
				
			|||
     * Model. | 
				
			|||
     * | 
				
			|||
     * @var string | 
				
			|||
     */ | 
				
			|||
    protected $eloquentClass = Model::class; | 
				
			|||
} | 
				
			|||
@ -0,0 +1,40 @@ | 
				
			|||
<?php | 
				
			|||
 | 
				
			|||
namespace App\Models\v3; | 
				
			|||
 | 
				
			|||
use Dcat\Admin\Traits\HasDateTimeFormatter; | 
				
			|||
use Illuminate\Database\Eloquent\SoftDeletes; | 
				
			|||
use Illuminate\Database\Eloquent\Model; | 
				
			|||
 | 
				
			|||
class StoreUser extends Model | 
				
			|||
{ | 
				
			|||
	use HasDateTimeFormatter; | 
				
			|||
    use SoftDeletes; | 
				
			|||
 | 
				
			|||
    protected $table = 'lanzu_store_users'; | 
				
			|||
    protected $dateFormat = 'U'; | 
				
			|||
    protected $appends = [ | 
				
			|||
        'user_category_text', | 
				
			|||
        'register_type_text', | 
				
			|||
        'status_text' | 
				
			|||
    ]; | 
				
			|||
    public static $_USER_CATEGORY = ['管理员','店长', 2=>'店员']; | 
				
			|||
    public static $_REGISTER_TYPE = ['网站注册','QQ','微信','app','商户注册默认账号','后台添加商户账号']; | 
				
			|||
    public static $_STATUS = ['禁用','审核中', '正常']; | 
				
			|||
 | 
				
			|||
    public function getUserCategoryTextAttribute($value) | 
				
			|||
    { | 
				
			|||
        $value = $value ? $value : $this->user_category; | 
				
			|||
        return isset(self::$_USER_CATEGORY[$value]) ? self::$_USER_CATEGORY[$value] : ''; | 
				
			|||
    } | 
				
			|||
    public function getRegisterTypeTextAttribute($value) | 
				
			|||
    { | 
				
			|||
        $value = $value ? $value : $this->register_type; | 
				
			|||
        return isset(self::$_REGISTER_TYPE[$value]) ? self::$_REGISTER_TYPE[$value] : ''; | 
				
			|||
    } | 
				
			|||
    public function getStatusTextAttribute($value) | 
				
			|||
    { | 
				
			|||
        $value = $value ? $value : $this->status; | 
				
			|||
        return isset(self::$_STATUS[$value]) ? self::$_STATUS[$value] : ''; | 
				
			|||
    } | 
				
			|||
} | 
				
			|||
@ -0,0 +1,20 @@ | 
				
			|||
<?php  | 
				
			|||
return [ | 
				
			|||
    'labels' => [ | 
				
			|||
        'StoreUser' => '店铺账号', | 
				
			|||
        'StoreUser' => '店铺账号', | 
				
			|||
        'store_User' => '店铺账号', | 
				
			|||
    ], | 
				
			|||
    'fields' => [ | 
				
			|||
        'store_id' => '商家id', | 
				
			|||
        'username' => '账号', | 
				
			|||
        'user_category' => '账号类型', | 
				
			|||
        'register_type' => '用户来源类型', | 
				
			|||
        'status' => '状态', | 
				
			|||
        'join_ip' => '注册IP', | 
				
			|||
        'last_visit_time' => '最后访问时间', | 
				
			|||
        'last_ip' => '最后访问IP', | 
				
			|||
    ], | 
				
			|||
    'options' => [ | 
				
			|||
    ], | 
				
			|||
]; | 
				
			|||
						Write
						Preview
					
					
					Loading…
					
					Cancel
						Save
					
		Reference in new issue