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