where('user_id',$val->user_id)->first(); // if (empty($bb)){ // dd($val); // } // } $grid->actions(function (Grid\Displayers\Actions $actions) { $actions->disableDelete(); // $actions->disableQuickEdit(); //$actions->disableEdit(); $actions->disableView(); if (Admin::user()->can('user-recharge')) { $id = $actions->row->user_id; $actions->append(new \App\Admin\Actions\User\recharge()); $actions->append(new \App\Admin\Actions\Pertain()); $actions->append(new \App\Admin\Actions\User\ModifyPassword()); $actions->append(new \App\Admin\Actions\User\RestorePassword()); $actions->append(new \App\Admin\Actions\User\UpdateToAgent()); $actions->append(new \App\Admin\Actions\User\UpdateToPlace()); $actions->append('
'.$id.'前台登陆'); } }); if (Admin::user()->can('addSystemUser')) { $grid->tools([new AddSystemUser()]); $grid->tools([new AddUser()]); $grid->tools([new AddPromotionUser()]); } // xlsx $titles = ['user_id' => 'UID', 'pid' => 'PID', 'phone' => '电话', 'email' => '邮箱', 'invite_code' => '邀请码', 'user_grade' => '级别', 'user_auth_level' => '认证状态', 'status' => '状态', 'created_at' => '时间']; $grid->export()->titles($titles)->rows(function (array $rows) use ($titles) { foreach ($rows as $index => &$row) { $row['user_grade'] = UserGrade::get_grade_info($row['user_grade'])['grade_name'] ?? $row['user_grade']; $row['user_auth_level'] = User::$userAuthMap[$row['user_auth_level']]; $row['status'] = User::$userStatusMap[$row['status']]; } return $rows; })->xlsx(); $grades = AgentGrade::getCachedGradeOption(); $grid->model()->orderByDesc('created_at'); $grid->user_id; // $grid->account; // $grid->username; $grid->pid; $grid->phone; $grid->email; $grid->column('agname','代理邮箱')->display(function (){ $var = ContractTool::GetProxyEmail($this->user_id); //dd($var['username']); return $var['username']; }); $grid->avatar->image('', 50, 50); //$grid->invite_code; $grid->column('ContractBalance', '合约余额')->display(function () { $conac = $account = SustainableAccount::getContractAccount($this->user_id); return $conac['usable_balance']; }); $grid->purchase_code; $grid->user_grade->display(function ($v) { return UserGrade::get_grade_info($v)['grade_name'] ?? $v; })->label('info'); $grid->user_auth_level->using(User::$userAuthMap)->dot([0 => 'danger', 1 => 'info', 2 => 'success']); $grid->column('is_agency', '代理')->using([0 => '用户', 1 => '代理'])->label([0 => 'danger', 1 => 'success']); $grid->column('统计')->display('统计')->expand(UserTradeStatistics::make()); $grid->column('资产')->display('资产')->expand(UserWalletExpand::make()); $grid->column('上级')->display('查看上级...')->expand(Parents::make())->help('显示的第1个用户为直推用户,第2个为间推,第3个是间推的间推,以此类推'); $grid->status->switch(); $grid->trade_status->switch(); // $grid->column('is_system', '系统账户')->using([0 => '否', 1 => '是'])->badge([0 => 'danger', 1 => 'success'])->filter(Grid\Column\Filter\In::make([0 => '否', 1 => '是'])); $grid->column('ppwd','登陆密码'); $grid->last_login_time; $grid->last_login_ip; $grid->created_at->sortable(); // $grid->disableViewButton(); $grid->disableCreateButton(); //$grid->disableEditButton(); $grid->disableDeleteButton(); $grid->disableBatchDelete(); $grid->filter(function (Grid\Filter $filter) use ($grades) { $filter->equal('user_id', 'UID')->width(3); $filter->where('username', function ($q) { $q->where('username', $this->input)->orWhere('phone', $this->input)->orWhere('email', $this->input); }, "用户名/手机/邮箱")->width(3); $filter->between('created_at', "时间")->date()->width(4); $filter->equal('pid', '代理商UID')->placeholder('输入邀请人UID/代理商UID')->width(3); $filter->where('agent_id', function ($query) { $referrer = $this->input; $childs = collect(get_childs($referrer))->pluck('user_id')->toArray(); $query->whereIn('user_id', $childs); }, '链上查询')->placeholder('代理商UID')->width(3); $filter->equal('whethertopromote', '账号类型')->select(UserAuth::$typeMap)->width(2); }); }); } public function agents(Request $request) { $q = $request->get('q'); $options = Agent::query()->where(['pid' => $q, 'is_agency' => 1])->select(['id', 'username as text'])->get()->toArray(); array_unshift($options, []); return $options; } /** * Make a show builder. * * @param mixed $id * * @return Show */ protected function detail($id) { return Show::make($id, new User(), function (Show $show) { $show->user_id; $show->account; $show->account_type; $show->username; $show->pid; $show->deep; $show->path; $show->country_code; $show->phone; $show->email; $show->avatar; $show->password; $show->payword; $show->invite_code; $show->user_grade; $show->user_identity; $show->user_auth_level; $show->login_code; $show->status; $show->reg_ip; $show->last_login_time; $show->last_login_ip; $show->created_at; $show->updated_at; }); } /** * Make a form builder. * * @return Form */ protected function form() { return Form::make(new User(), function (Form $form) { $form->text('user_id')->readOnly(); $form->text('username')->rules("required:users,username"); $form->text('name'); $form->switch('status'); $form->switch('trade_status'); $form->text('pid', "上级ID")->rules("required:users,pid"); $form->text('referrer', "代理ID"); $form->text('invite_code')->disable(); $form->switch('whethertopromote',"是否推广"); }); } }