提交代码
This commit is contained in:
133
app/Admin/Controllers/UserController.php
Normal file
133
app/Admin/Controllers/UserController.php
Normal file
@@ -0,0 +1,133 @@
|
||||
<?php
|
||||
|
||||
namespace App\Admin\Controllers;
|
||||
|
||||
use App\Admin\Actions\SetParent;
|
||||
use App\Admin\Actions\UserUpgrade;
|
||||
use App\Models\User;
|
||||
use Encore\Admin\Controllers\AdminController;
|
||||
use Encore\Admin\Facades\Admin;
|
||||
use Encore\Admin\Form;
|
||||
use Encore\Admin\Grid;
|
||||
use Encore\Admin\Layout\Content;
|
||||
|
||||
class UserController extends AdminController
|
||||
{
|
||||
|
||||
/**
|
||||
* Index interface.
|
||||
*
|
||||
* @param Content $content
|
||||
* @return Content
|
||||
*/
|
||||
public function index(Content $content)
|
||||
{
|
||||
return $content
|
||||
->header('会员管理')
|
||||
->body($this->grid());
|
||||
}
|
||||
|
||||
/**
|
||||
* Make a grid builder.
|
||||
*
|
||||
* @return Grid
|
||||
*/
|
||||
protected function grid()
|
||||
{
|
||||
|
||||
$grid = new Grid(new User);
|
||||
|
||||
$grid->disableCreateButton();
|
||||
$grid->disableRowSelector();
|
||||
|
||||
$grid->actions(function ($actions) {
|
||||
$actions->disableDelete();
|
||||
$actions->disableEdit();
|
||||
$actions->disableView();
|
||||
$actions->add(new UserUpgrade);
|
||||
if (!$this->row->parent) {
|
||||
$actions->add(new SetParent);
|
||||
}
|
||||
});
|
||||
|
||||
$grid->model()->orderBy('id', 'desc')->with(['info', 'account', 'orders']);
|
||||
|
||||
$grid->id('序号')->sortable();
|
||||
|
||||
$grid->filter(function ($filter) {
|
||||
$filter->disableIdFilter();
|
||||
|
||||
$filter->column(1 / 2, function ($filter) {
|
||||
$filter->like('id', '序号');
|
||||
$filter->like('info.nickname', '会员昵称');
|
||||
});
|
||||
|
||||
$filter->column(1 / 2, function ($filter) {
|
||||
$filter->like('username', '会员手机号');
|
||||
$filter->equal('identity.identity_id', '级别')->select([
|
||||
' ' => '全部',
|
||||
'1' => '会员',
|
||||
'2' => '金牌',
|
||||
'3' => '城市',
|
||||
'4' => '股东',
|
||||
]);
|
||||
});
|
||||
});
|
||||
|
||||
$grid->column('头像 昵称')->display(function () {
|
||||
$avatar = '<img src="' . $this->info->headimgurl . '" alt="" style="width:40px;height:40px;border-radius:50%" />';
|
||||
return $avatar . ' ' . $this->info->nickname;
|
||||
});
|
||||
|
||||
$grid->column('手机号')->display(function () {
|
||||
return $this->username;
|
||||
});
|
||||
|
||||
$states = [
|
||||
'on' => ['value' => 1, 'text' => '是', 'color' => 'primary'],
|
||||
'off' => ['value' => 0, 'text' => '否', 'color' => 'default'],
|
||||
];
|
||||
$grid->column('is_contract', '签订合同')->switch($states);
|
||||
$grid->column('activationd_at', '升级代理时间');
|
||||
|
||||
$grid->column('推荐人')->display(function () {
|
||||
return $this->parent ? $this->parent->info->nickname . '(' . $this->parent->id . ')' : '';
|
||||
});
|
||||
|
||||
$grid->column('账户')->display(function () {
|
||||
$ret = '余额:' . $this->account->cash;
|
||||
return $ret;
|
||||
});
|
||||
|
||||
$grid->column('等级')->display(function () {
|
||||
return $this->identity_text;
|
||||
});
|
||||
|
||||
$grid->created_at('注册时间');
|
||||
|
||||
return $grid;
|
||||
}
|
||||
|
||||
/**
|
||||
* Make a form builder.
|
||||
*
|
||||
* @return Form
|
||||
*/
|
||||
protected function form()
|
||||
{
|
||||
$form = new Form(new User);
|
||||
$form->switch('is_contract', '签订合同')->default(1);
|
||||
$form->saving(function (Form $form) {
|
||||
|
||||
if (request()->has('is_contract') && $form->model()->identity_id < 2) {
|
||||
return response()->json([
|
||||
'status' => false,
|
||||
'message' => '当前账号不可设置合同状态。',
|
||||
]);
|
||||
}
|
||||
|
||||
});
|
||||
return $form;
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user