安装文档地址
框架版本Laravel 8.*
修改
admin.php
文件
return [
// 后台名称
'name' => 'DAD后台管理',
// 标题
'title' => '后台管理',
// 本地(http)无法访问时, 在`env`中定义ADMIN_HTTPS 将 `true` 改为 `false`;
'https' => env('ADMIN_HTTPS', true),
];
英文改为中文
修改app.php
文件
return [
// 修改时区
'timezone' => 'Asia/Shanghai',
// 修改地区语言
// 'locale' => 'en',
'locale' => 'zh_CN',
];
Ajax 结合 Pjax
更新数据状态表格字段
js
操作
$grid->column('auditing', '审核')->display(function () {
$href = admin_url('admin-xxx/handle');
if ($this->status > 2) {
return '已处理';
}
return <<<HTML
="changeStatus" data-id="{$this->id}" data-state="4" >驳回
HTML;
});
路由
// 审核 - 事件
$router->post('admin-xxx/handle', 'AdminXXXController@handle');
请求方法
/**
* 处理请求
* @param Request $request
*/
public function handle(Request $request)
{
// 获取当前行ID
$id = $request->input('id', 0);
$state = $request->input('state', 0);
// 更新逻辑
// 返回响应结果并刷新页面
return Admin::json()->success("操作成功");
}
链接 1. 字数超出隐藏 2. 链接新窗口打开
// 字数超出隐藏
$grid->column('title')->limit(20);
// 链接新窗口打开
$grid->column('link')->display(function ($text) {
$strLimit = Str::limit($text, 20);
return "{$strLimit}";
});
功能 - 默认值, 新增操作, 编辑操作
$form->hidden('status')->default(1);
$form->hidden('created_at');
$form->hidden('code');
// 判断是否为新增操作
if ($form->isCreating()) {
// 新增时使用当前时间(模型禁用自动维护时间戳 $timestamps = false)
$form->created_at = now()->toDateTimeString();
$form->saving(function (Form $form) {
// 修改用户提交的数据
$form->code = $this->createCode();
});
}
// 编辑
if ($form->isEditing()) {
// 禁用编辑
$form->text('code')->disable();
$form->radio('status')->options([1 => '未使用', 2 => '已使用']);
}
index
方法自动覆盖grid
方法 将body
中替换为 表单页面
public function index(Content $content)
{
return $content
->translation($this->translation())
->title($this->title())
// ->body($this->grid());
// edit ID
->body($this->form()->edit('1'));
}
/**
* Make a form builder.
*
* @return Form
*/
protected function form()
{
return Form::make(new SystemSettings(), function (Form $form) {
$form->action('system-settings/1'); // 提交表单地址
$form->disableHeader();
$form->column(8, function (Form $form) {
$form->textarea('home_notice');
$form->textarea('home_link');
$form->text('home_link_name');
});
// 保存时更改数据
$form->saving(function (Form $form) {
});
// 表单底部
$form->footer(function ($footer) {
// 去掉`重置`按钮
$footer->disableReset();
// 去掉`查看`checkbox
$footer->disableViewCheck();
// 去掉`继续编辑`checkbox
$footer->disableEditingCheck();
// 去掉`继续创建`checkbox
$footer->disableCreatingCheck();
// 设置`查看`默认选中
$footer->defaultViewChecked();
// 设置`继续编辑`默认选中
$footer->defaultEditingChecked();
// 设置`继续创建`默认选中
$footer->defaultCreatingChecked();
});
});
}
动态获取选项列表
/**
* @return array
*/
public function getOptions(): array
{
$list = Accounts::all()->values()->toArray();
return collect($list)->mapWithKeys(function ($item) {
return [strval($item['id']) => $item['account']];
})->all();
}
$options = $this->getOptions();
return Grid::make(new XXXModel(), function (Grid $grid) use ($options ) {
$grid->column('id', '编号')->sortable();
}