tools([ new SyncFundCurrencyJsonTool() ]); $helper->columnId(); $grid->column('name', '账户种类名称')->sortable(); // 显示图标 $grid->column('display_attributes.icon', '图标')->display(function ($icon) { if (empty($icon)) { return '-'; } return ""; })->sortable(); $grid->column('currency.name', '关联币种')->sortable(); $helper->columnModelCats('type','账户'); $grid->column('create_time', '创建时间')->display(function ($value) { return date('Y-m-d H:i:s', $value); })->sortable(); $grid->column('update_time', '更新时间')->display(function ($value) { return date('Y-m-d H:i:s', $value); })->sortable(); $grid->disableDeleteButton(); $grid->disableCreateButton(); // 筛选器 $grid->filter(function (Grid\Filter $filter) { $filter->equal('id', 'ID'); $filter->like('name', '账户种类名称'); }); }); } /** * 详情页 * * @param mixed $id * @return Show */ protected function detail($id) { return Show::make($id, new FundConfigRepository(), function (Show $show) { $helper = new ShowHelper($show, $this); $show->field('id', 'ID'); $show->field('name', '账户种类名称'); // 显示图标 $show->field('display_attributes.icon', '图标')->image(); // 显示颜色 $show->field('display_attributes.color', '颜色')->as(function ($color) { if (empty($color)) { return '-'; } return " {$color}"; }); // 显示描述 $show->field('display_attributes.description', '描述'); $show->field('currency.name', '关联币种'); $show->field('create_time', '创建时间')->as(function ($time) { return date('Y-m-d H:i:s', $time); }); $show->field('update_time', '更新时间')->as(function ($time) { return date('Y-m-d H:i:s', $time); }); }); } /** * 表单 * * @return Form */ protected function form() { return Form::make(new FundConfigRepository(), function (Form $form) { $helper = new FormHelper($form, $this); $form->display('id', 'ID'); $form->text('name', '账户种类名称') ->required() ->maxLength(30) ->help('账户种类的名称,如"可用美元账户"、"冻结美元账户"等'); $helper->selectModelOption('currency_id', '关联币种',FundCurrencyModel::class, 'name'); $helper->selectOptionCast('type', '账户'); // 显示属性 $form->divider('显示属性'); // 图标 $helper->embedsCats('display_attributes','显示属性' ); // 关联币种 // 保存前处理 $form->saving(function (Form $form) { // 设置时间戳 if ($form->isCreating()) { $form->create_time = time(); } $form->update_time = time(); }); // 保存后处理 $form->saved(function (Form $form) { // 提示用户更新JSON配置 admin_toastr('账户种类配置已保存,请点击"生成JSON"按钮更新配置文件', 'info'); }); }); } }