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');
});
});
}
}