Laravel 后台管理 Dcat Admin 使用记录

2023-11-02 15:52

本文主要是介绍Laravel 后台管理 Dcat Admin 使用记录,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Laravel Dcat Admin

  • 安装配置
  • 修改配置
  • 表格操作 `Ajax 结合 Pjax` 更新数据状态
  • 表格 链接
  • 表单
  • 设置页面(通常修改更新在同一页面)
    • 表单

安装配置

安装文档地址
框架版本 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
<button class="btn btn-primary btn-outline btn-sm" data-action-{$this->id}="changeStatus" data-id="{$this->id}" data-state="4" >驳回</button>
<button class="btn btn-primary btn-outline btn-sm" data-action-{$this->id}="changeStatus" data-id="{$this->id}" data-state="3" >已完成</button>
<script>
Dcat.ready(function () {// JS 代码也可以放在模板文件中console.log('模板文件执行js~');$('[data-action-{$this->id}]').click(function(e) {console.log(e.target.dataset);let dataset = e.target.dataset;$.ajax({type: "POST",url: "{$href}",data: {id: dataset.id, state: dataset.state},success: function(res){console.log(res);if(res.status){Dcat.success('更新成功');Dcat.reload('#pjax-container');}},error:function(err) {console.log(err);}});})
});
</script>
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 "<a href='{$text}' target='_blank'>{$strLimit}</a>";
});

表单

功能 - 默认值, 新增操作, 编辑操作

$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();}

这篇关于Laravel 后台管理 Dcat Admin 使用记录的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/331685

相关文章

Python获取中国节假日数据记录入JSON文件

《Python获取中国节假日数据记录入JSON文件》项目系统内置的日历应用为了提升用户体验,特别设置了在调休日期显示“休”的UI图标功能,那么问题是这些调休数据从哪里来呢?我尝试一种更为智能的方法:P... 目录节假日数据获取存入jsON文件节假日数据读取封装完整代码项目系统内置的日历应用为了提升用户体验,

vue使用docxtemplater导出word

《vue使用docxtemplater导出word》docxtemplater是一种邮件合并工具,以编程方式使用并处理条件、循环,并且可以扩展以插入任何内容,下面我们来看看如何使用docxtempl... 目录docxtemplatervue使用docxtemplater导出word安装常用语法 封装导出方

Linux换行符的使用方法详解

《Linux换行符的使用方法详解》本文介绍了Linux中常用的换行符LF及其在文件中的表示,展示了如何使用sed命令替换换行符,并列举了与换行符处理相关的Linux命令,通过代码讲解的非常详细,需要的... 目录简介检测文件中的换行符使用 cat -A 查看换行符使用 od -c 检查字符换行符格式转换将

使用Jackson进行JSON生成与解析的新手指南

《使用Jackson进行JSON生成与解析的新手指南》这篇文章主要为大家详细介绍了如何使用Jackson进行JSON生成与解析处理,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 核心依赖2. 基础用法2.1 对象转 jsON(序列化)2.2 JSON 转对象(反序列化)3.

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

Elasticsearch 在 Java 中的使用教程

《Elasticsearch在Java中的使用教程》Elasticsearch是一个分布式搜索和分析引擎,基于ApacheLucene构建,能够实现实时数据的存储、搜索、和分析,它广泛应用于全文... 目录1. Elasticsearch 简介2. 环境准备2.1 安装 Elasticsearch2.2 J

使用C#代码在PDF文档中添加、删除和替换图片

《使用C#代码在PDF文档中添加、删除和替换图片》在当今数字化文档处理场景中,动态操作PDF文档中的图像已成为企业级应用开发的核心需求之一,本文将介绍如何在.NET平台使用C#代码在PDF文档中添加、... 目录引言用C#添加图片到PDF文档用C#删除PDF文档中的图片用C#替换PDF文档中的图片引言在当

Java中List的contains()方法的使用小结

《Java中List的contains()方法的使用小结》List的contains()方法用于检查列表中是否包含指定的元素,借助equals()方法进行判断,下面就来介绍Java中List的c... 目录详细展开1. 方法签名2. 工作原理3. 使用示例4. 注意事项总结结论:List 的 contain

C#使用SQLite进行大数据量高效处理的代码示例

《C#使用SQLite进行大数据量高效处理的代码示例》在软件开发中,高效处理大数据量是一个常见且具有挑战性的任务,SQLite因其零配置、嵌入式、跨平台的特性,成为许多开发者的首选数据库,本文将深入探... 目录前言准备工作数据实体核心技术批量插入:从乌龟到猎豹的蜕变分页查询:加载百万数据异步处理:拒绝界面

Android中Dialog的使用详解

《Android中Dialog的使用详解》Dialog(对话框)是Android中常用的UI组件,用于临时显示重要信息或获取用户输入,本文给大家介绍Android中Dialog的使用,感兴趣的朋友一起... 目录android中Dialog的使用详解1. 基本Dialog类型1.1 AlertDialog(