column('id')->sortable(); $grid->column('key')->label(); $grid->column('remarks'); $grid->column('value') ->if(function () { return Admin::user()->can('dcat.admin.settings.edit'); }) ->then(function (Column $column) { $column->editable(); }); $grid->column('created_at')->sortable(); //排序 $grid->model()->orderBy('created_at', 'desc'); /** 操作 **/ //新增 if (Admin::user()->can('dcat.admin.settings.create')) { $grid->disableCreateButton(false); $grid->enableDialogCreate(); } //删除以及自定义操作 $grid->actions(function (Grid\Displayers\Actions $actions) { $actions->disableDelete(Admin::user()->cannot('dcat.admin.ads.destroy')); }); $grid->quickSearch('key')->placeholder('搜索key'); }); } /** * Make a show builder. * * @param mixed $id * * @return Show */ protected function detail($id) { return Show::make($id, new Setting(), function (Show $show) { $show->field('id'); $show->field('key'); $show->field('value'); $show->field('created_at'); $show->field('updated_at'); }); } /** * Make a form builder. * * @return Form */ protected function form() { return Form::make(new Setting(), function (Form $form) { $form->display('id'); $form->text('key')->rules(function (Form $form) { return 'unique:settings,key,'.$form->model()->id.',id'; })->required(); $form->text('value'); $form->text('remarks'); $form->display('created_at'); $form->display('updated_at'); }); } public function index(Content $content): Content { return $content->header('配置管理') ->description('配置管理') ->body(function (Row $row) { $type = Request::query('type', 'app'); $tab = new Tab(); $tabs = [ 'app' => ['name' => '系统配置', 'form' => new App(), 'route' => admin_route('settings.index', ['type'=>'app'])], 'withdraw' => ['name' => '提现配置', 'form' => new Withdraw(), 'route' => admin_route('settings.index', ['type'=>'withdraw'])], 'ios' => ['name' => 'IOS配置', 'form' => new Ios(), 'route' => admin_route('settings.index', ['type'=>'ios'])], 'android' => ['name' => 'Android配置', 'form' => new Android(), 'route' => admin_route('settings.index', ['type'=>'android'])], 'kuaidi100' => ['name' => '快递100配置', 'form' => new Kuaidi100(), 'route' => admin_route('settings.index', ['type'=>'kuaidi100'])], // 'unipush' => ['name' => 'Uni-push配置', 'form' => new Unipush(), 'route' => admin_route('settings.index', ['type'=>'unipush'])], 'custom' => ['name' => '自定义配置', 'form' => new Custom(), 'route' => admin_route('settings.index', ['type'=>'custom'])], ]; if (isset($tabs[$type])) { foreach($tabs as $key => $item) { if ($key === $type) { $tab->add($item['name'], $item['form'], true); } else { $tab->addLink($item['name'], $item['route']); } } } $row->column(12, $tab->withCard()); }); } }