| xqd
@@ -5,6 +5,7 @@ namespace App\Admin\Controllers;
|
|
|
use App\Admin\Actions\Games\GameScores;
|
|
|
use App\Admin\Actions\Users\FansList;
|
|
|
use App\Admin\Actions\Users\FollowList;
|
|
|
+use App\Admin\Actions\Users\IntegralList;
|
|
|
use App\Admin\Actions\Users\SetUserInfo;
|
|
|
use App\Admin\Actions\Users\UserAction;
|
|
|
use App\Admin\Actions\Users\UserAuth;
|
| xqd
@@ -30,15 +31,34 @@ class UserController extends AdminController
|
|
|
{
|
|
|
$grid = new Grid(new User());
|
|
|
$grid->model()->with('user_extra')->orderBy('id', 'desc');
|
|
|
-
|
|
|
$grid->column('id')->sortable();
|
|
|
- $grid->column('name');
|
|
|
- $grid->column('avatar')->image("", 50);
|
|
|
- $grid->column('email');
|
|
|
- $grid->column('mobile');
|
|
|
- $grid->column('sex')->using([0 => trans('user.fields.unknown'), 1 => trans('user.fields.man'), 2 => trans('user.fields.woman')])->label(['gray', 'primary', 'danger']);
|
|
|
- $grid->column('is_auth')->using([0 => trans('user.fields.unauthorized'), 1 => trans('user.fields.organization'), 2 => trans('user.fields.public_figure')])->label(['gray', 'success', 'red']);;
|
|
|
- $grid->column('online', trans('user.fields.online_status'))->using([0 => trans('user.fields.offline'), 1 => trans('user.fields.online')])->label(['gray', 'success']);
|
|
|
+ $grid->column('avatar')->display(function () {
|
|
|
+ $str = "";
|
|
|
+ $str .= "<div style='margin-right:10px;display: flex;align-items: center'>";
|
|
|
+ $str .= '<img data-action="preview-img" src="' . $this->avatar . '" style="height:60px;width:60px;cursor:pointer;margin-right:10px;" class="img img-thumbnail">';
|
|
|
+ $str .= '<div>';
|
|
|
+ $str .= '<p style="margin-bottom: 5px">姓名:' . $this->name . '</p>';
|
|
|
+ $str .= '<p style="margin-bottom: 0px">电话:' . $this->mobile . '</p>';
|
|
|
+ $str .= '<p style="margin-bottom: 0px">邮箱:' . $this->email . '</p>';
|
|
|
+ $str .= "</div>";
|
|
|
+ $str .= "</div>";
|
|
|
+ return $str;
|
|
|
+ });
|
|
|
+
|
|
|
+ $grid->column('sex')->using([
|
|
|
+ 0 => trans('user.fields.unknown'),
|
|
|
+ 1 => trans('user.fields.man'),
|
|
|
+ 2 => trans('user.fields.woman')])->label(['gray', 'primary', 'danger']);
|
|
|
+
|
|
|
+ $grid->column('user_extra.integral', trans('user.fields.integral'))->display(function ($res) {
|
|
|
+ $form = IntegralList::make()->payload(['id' => $this->id]);
|
|
|
+ return Modal::make()
|
|
|
+ ->lg()
|
|
|
+ ->title(trans('user.fields.integral'))
|
|
|
+ ->body($form)
|
|
|
+ ->button('<i class="feather icon-align-right"></i> ' . $res);
|
|
|
+ });
|
|
|
+
|
|
|
$grid->column('user_extra.fans_count', trans('user.fields.fansNum'))->display(function ($res) {
|
|
|
$form = FansList::make()->payload(['id' => $this->id]);
|
|
|
return Modal::make()
|
| xqd
@@ -47,6 +67,7 @@ class UserController extends AdminController
|
|
|
->body($form)
|
|
|
->button('<i class="feather icon-align-right"></i> ' . $res);
|
|
|
});
|
|
|
+
|
|
|
$grid->column('user_extra.follow_count', trans('user.fields.followNum'))->display(function ($res) {
|
|
|
$form = FollowList::make()->payload(['id' => $this->id]);
|
|
|
return Modal::make()
|
| xqd
@@ -55,21 +76,39 @@ class UserController extends AdminController
|
|
|
->body($form)
|
|
|
->button('<i class="feather icon-align-right"></i> ' . $res);
|
|
|
});
|
|
|
+
|
|
|
+ $grid->column('is_auth')->using([
|
|
|
+ 0 => trans('user.fields.unauthorized'),
|
|
|
+ 1 => trans('user.fields.organization'),
|
|
|
+ 2 => trans('user.fields.public_figure')])->label(['gray', 'success', 'red']);
|
|
|
+
|
|
|
+ $grid->column('online', trans('user.fields.online_status'))->using([
|
|
|
+ 0 => trans('user.fields.offline'),
|
|
|
+ 1 => trans('user.fields.online')])->label(['gray', 'success']);
|
|
|
+
|
|
|
$grid->column('status')->switch('success', true);
|
|
|
$grid->column('created_at');
|
|
|
|
|
|
- // 禁用
|
|
|
- $grid->disableRowSelector();
|
|
|
$grid->filter(function (Grid\Filter $filter) {
|
|
|
- $filter->equal('id');
|
|
|
- $filter->like('mobile');
|
|
|
- $filter->like('email');
|
|
|
- $filter->like('name');
|
|
|
- $filter->equal('sex')->select(['1' => trans('user.fields.man'), '2' => trans('user.fields.woman')]);
|
|
|
- $filter->equal('is_auth')->select(['0' => trans('user.fields.unauthorized'), '1' => trans('user.fields.organization'), '2' => trans('user.fields.public_figure')]);
|
|
|
- $filter->equal('status')->select(['1' => trans('user.fields.normal'), '0' => trans('user.fields.frozen')]);
|
|
|
+ $filter->panel();
|
|
|
+ $filter->equal('id')->width(3);
|
|
|
+ $filter->like('mobile')->width(3);
|
|
|
+ $filter->like('email')->width(3);
|
|
|
+ $filter->like('name')->width(3);
|
|
|
+ $filter->equal('sex')->select([
|
|
|
+ 1 => trans('user.fields.man'),
|
|
|
+ 2 => trans('user.fields.woman')
|
|
|
+ ])->width(3);
|
|
|
+ $filter->equal('is_auth')->select([
|
|
|
+ 0 => trans('user.fields.unauthorized'),
|
|
|
+ 1 => trans('user.fields.organization'),
|
|
|
+ 2 => trans('user.fields.public_figure')
|
|
|
+ ])->width(3);
|
|
|
+ $filter->equal('status')->select([
|
|
|
+ 0 => trans('user.fields.frozen'),
|
|
|
+ 1 => trans('user.fields.normal'),
|
|
|
+ ])->width(3);
|
|
|
});
|
|
|
-
|
|
|
//操作管理
|
|
|
$grid->actions(function (Grid\Displayers\Actions $actions) {
|
|
|
$actions->disableView();
|
| xqd
@@ -77,44 +116,14 @@ class UserController extends AdminController
|
|
|
$actions->append(new UserAuth(User::class));
|
|
|
$actions->append(new GameScores('user'));
|
|
|
});
|
|
|
-
|
|
|
- //批量操作
|
|
|
- $grid->batchActions(function (Grid\Tools\BatchActions $batch) {
|
|
|
- $batch->disableDelete();
|
|
|
- });
|
|
|
-
|
|
|
+ // 禁用
|
|
|
+ $grid->disableRowSelector();
|
|
|
+ $grid->disableCreateButton();
|
|
|
+ $grid->disableBatchActions();
|
|
|
|
|
|
return $grid;
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * Make a show builder.
|
|
|
- *
|
|
|
- * @param mixed $id
|
|
|
- *
|
|
|
- * @return Show
|
|
|
- */
|
|
|
- protected function detail($id)
|
|
|
- {
|
|
|
- return Show::make($id, new User(), function (Show $show) {
|
|
|
- $show->field('id');
|
|
|
- $show->field('name');
|
|
|
- $show->field('avatar');
|
|
|
- $show->field('email');
|
|
|
- $show->field('mobile');
|
|
|
- $show->field('bio');
|
|
|
- $show->field('sex');
|
|
|
- $show->field('location');
|
|
|
- $show->field('bg');
|
|
|
- $show->field('tencent_im_user_id');
|
|
|
- $show->field('register_ip');
|
|
|
- $show->field('last_login_ip');
|
|
|
- $show->field('is_auth');
|
|
|
- $show->field('online');
|
|
|
- $show->field('created_at');
|
|
|
- $show->field('updated_at');
|
|
|
- });
|
|
|
- }
|
|
|
|
|
|
/**
|
|
|
* Make a form builder.
|
| xqd
@@ -124,17 +133,18 @@ class UserController extends AdminController
|
|
|
protected function form()
|
|
|
{
|
|
|
return Form::make(new User(), function (Form $form) {
|
|
|
- $form->display('id');
|
|
|
- $form->text('name');
|
|
|
- $form->image('avatar');
|
|
|
- $form->text('email');
|
|
|
- $form->text('mobile');
|
|
|
- $form->text('bio');
|
|
|
- $form->image('bg');
|
|
|
- $form->text('tencent_im_user_id')->readOnly();
|
|
|
- $form->switch('status')->default(1);
|
|
|
- $form->display('created_at');
|
|
|
- $form->display('updated_at');
|
|
|
+ $form->display('id')->width(6);
|
|
|
+ $form->text('name')->width(6);
|
|
|
+ $form->image('avatar')->width(6);
|
|
|
+ $form->text('email')->width(6);
|
|
|
+ $form->text('mobile')->width(6);
|
|
|
+ $form->textarea('bio');
|
|
|
+ $form->image('bg')->width(6);
|
|
|
+ $form->text('tencent_im_user_id')->readOnly()->width(6);
|
|
|
+ $form->switch('status')->default(1)->width(6);
|
|
|
+ $form->display('created_at')->width(6);
|
|
|
+ $form->display('updated_at')->width(6);
|
|
|
+
|
|
|
$form->footer(function ($footer) {
|
|
|
// 去掉`查看`checkbox
|
|
|
$footer->disableViewCheck();
|