* @Date : 2019/9/18 14:50 * @return Grid */ protected function grid() { $user = Auth::guard('admin')->user(); $grid = new Grid(new User); $grid->actions(function ($actions) use ($user) { $actions->disableDelete(); $actions->disableView(); if ($actions->row->identity_id == 1) { $actions->add(new RefD3Key); $actions->add(new ReCode); $actions->add(new Callback); } if ($actions->row->type == 'pingan' && $actions->row->identity_id == 1 && $user->id == 1) { $actions->add(new Profit); } }); $grid->tools(function (Grid\Tools $tools) { // $tools->append(new UserImport); }); $grid->model()->orderBy('id', 'desc'); $grid->quickSearch('username')->placeholder('登录账户'); $grid->filter(function ($filter) { $filter->column(1 / 2, function ($filter) { $filter->like('username', '登录账户'); $filter->like('server_id', '渠道编号'); $filter->like('outlet_id', '网点编号'); $filter->like('PaOutletId', '平安网点id'); $filter->between('created_at', '注册时间')->datetime(); }); $filter->column(1 / 2, function ($filter) { $filter->like('info.nickname', '渠道/网点'); $filter->like('server_key', '服务秘钥'); $filter->equal('identity.identity_id', '用户身份')->select([ ' ' => '全部', '1' => '渠道商', '2' => '网点', ]); $filter->equal('type', '所属项目')->select([ ' ' => '全部', 'pingan' => '平安券', 'wo' => '沃支付', ]); }); }); $grid->column('id', '#ID#'); $grid->column('username', '登录账户'); $grid->column('渠道编号')->display(function () { return $this->server_id; }); $grid->column('网点编号')->display(function () { return $this->outlet_id ?? '---'; }); $grid->column('平安网点id')->display(function () { return $this->PaOutletId ?? '---'; }); $grid->column('所属项目')->display(function () { return $this->type_text; }); $grid->column('回调地址')->display(function ($title, $column) { return '点击查看'; })->modal(function ($model) { $data = [ [ $this->callback, ], ]; return new Table(['url'], $data); }); $grid->column('密钥')->display(function ($title, $column) { return '点击查看'; })->modal(function ($model) { $data = [ [ '服务秘钥', $model->server_key ?? '---', ], [ 'DES3秘钥', $model->des3key ?? '---', ], ]; return new Table(['名称', '参数'], $data); }); $grid->column('nickname', '渠道/网点'); $grid->column('用户身份')->display(function () { if ($this->identity_id == 1) { return "
" . $this->identity_text . "
"; } else { return $this->identity_text; } }); $grid->column('隶属渠道')->display(function () { return $this->parent ? $this->parent->nickname : '---'; }); if ($user->id == 1) { $grid->column('分润规则')->display(function ($title, $column) { return '点击展开'; })->modal(function ($model) { if ($model->code) { $codes = $model->code->map(function ($code) { return $code->only(['name', 'code', 'profit']); }); return new Table(['名称', '规则项', '分润金额(元)'], $codes->toArray()); } }); } $grid->column('created_at', '注册时间'); $grid->disableExport(false); $grid->export(function ($export) { $export->except(['密钥', '分润规则']); $export->column('用户身份', function ($value, $original) { return strip_tags($value); }); $export->column('渠道编号', function ($value, $original) { return $value . "\t"; }); $export->column('网点编号', function ($value, $original) { return $value . "\t"; }); $export->filename('用户管理' . date("YmdHis")); }); return $grid; } /** * Notes: * @Author: