header('会员管理') ->body($this->grid()); } /** * Show interface. * @param mixed $id * @param Content $content * @return Content */ public function show(User $user, Content $content) { } //空升 public function emptys(User $user, Content $content) { return $content ->header('空升') ->body($this->UserEmptyForm($user)); } //执行空升 public function DoEmpty(User $user, Request $request) { $identity_id = $request->identity_id; if ($identity_id == 6) { $identity = UserIdentity::where('identity_id', 6)->first(); if ($identity) { $identity->user->identityUpdate(1, 'EmptyUp'); } } $user->identityUpdate($identity_id, 'EmptyUp'); if ($identity_id == 1) { $year = Config::where('name', 'upgrade_time')->value('value') ?? 1; $user->vipd_at = Carbon::now(); $user->vip_end_at = Carbon::now()->addYear($year); $user->save(); } admin_toastr('升级成功'); return redirect()->intended('/admin/user'); } //空升记录 public function logs(Content $content) { return $content ->header('空升记录') ->body($this->emptyGrid()); } public function emptyGrid() { $grid = new Grid(new IdentityLog); $grid->disableRowSelector(); $grid->filter(function ($filter) { $filter->disableIdFilter(); $filter->column(1 / 3, function ($filter) { $filter->where(function ($query) { $query->whereHas('user.info', function ($query) { $query->where('nickname', 'like', "%{$this->input}%"); }); }, '空升用户'); }); $filter->column(1 / 3, function ($filter) { $filter->between('created_at', '空升时间')->datetime(); }); $filter->column(1 / 3, function ($filter) { $filter->equal('channel', '升级途径')->select([ 'EmptyUp' => '后台升级', 'AutoUp' => '自动升级', ]); }); }); $grid->disableCreateButton(); $grid->actions(function ($actions) { $actions->disableDelete(); $actions->disableEdit(); $actions->disableView(); }); $grid->paginate(10); $grid->model()->where('other', 'like', "%EmptyUp%")->orderBy('created_at', 'desc')->with(['user']); $grid->id('Id')->sortable(); $grid->column('用户')->display(function () { return $this->user->info->nickname; }); $grid->column('空升前')->display(function () { return $this->before_identity_title; }); $grid->column('空升后')->display(function () { return $this->identity_title; }); $grid->column('类型')->display(function () { return $this->channel_text; }); $grid->created_at('升级时间'); return $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->append('

空升

'); $actions->append('

备注

'); // $actions->append('备注'); }); $grid->paginate(10); $grid->model()->orderBy('id', 'desc')->with(['info', 'account', 'orders']); $grid->id('Id')->sortable(); $grid->filter(function ($filter) { $filter->disableIdFilter(); $filter->column(1 / 2, function ($filter) { $filter->like('info.nickname', '会员昵称'); }); $filter->column(1 / 2, function ($filter) { $filter->where(function ($query) { $query->whereHas('info', function ($query) { $query->where('mobile', $this->input); }); }, '会员手机号'); }); }); $grid->column('头像 昵称')->display(function () { $avatar = ''; return $avatar . ' ' . $this->info->nickname; }); $grid->column('手机号')->display(function () { return $this->info->mobile; }); $grid->column('备注')->display(function () { return $this->info->remark; }); $grid->column('企业名')->display(function () { return $this->info->company; }); $grid->column('企业注册地')->display(function () { return $this->info->area; }); $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->vip_end_at('会员到期时间'); $grid->created_at('注册时间'); return $grid; } /** * Make a form builder. * * @return Form */ protected function UserEmptyForm($user) { $identitys = Identity::where('id', '!=', $user->identity->identity_id)->orderBy('id', 'asc')->pluck('title', 'id')->toArray(); $identitys[0] = '普通用户'; ksort($identitys); $form = new Form(new User); $form->text('title', '当前等级')->value($user->identity_text)->readonly(); $form->select('identity_id', '目标等级')->options($identitys)->required(); $form->disableReset(); $form->setAction('/admin/user/' . $user->id . '/empty'); return $form; } /** * 增加备注 * @param Content $content [description] * @param User $user [description] * @return [type] [description] */ public function remark(Request $request, Content $content, User $user) { if ($request->isMethod('POST')) { try { $user->info->remark = $request->remark; $user->info->save(); admin_toastr('设置成功'); return redirect()->action('\App\Admin\Controllers\UserController@index'); } catch (\Exception $e) { admin_toastr($e->getMessage(), 'error'); } } else { return $content ->header('设置备注') ->description($user->info->nickname) ->body($this->UserInfoForm($user)); } } protected function UserInfoForm($user) { $form = new Form(new User); $form->tools(function (Tools $tools) { $tools->disableList(); $tools->disableDelete(); $tools->disableView(); }); $form->footer(function ($footer) { $footer->disableReset(); $footer->disableViewCheck(); $footer->disableEditingCheck(); $footer->disableCreatingCheck(); }); $form->setAction(route('user.remark', ['user' => $user])); $form->setTitle(' '); $form->setWidth(1, 2); $form->text('remark', '备注')->value($user->info->remark); return $form->render(); } }