当前位置: 首页 > news >正文

Laravel 后台管理 Dcat Admin 使用记录

Laravel Dcat Admin

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

安装配置

安装文档地址
框架版本 Laravel 8.*

修改配置

修改 admin.php 文件

return [// 后台名称'name' => 'DAD后台管理',// 标题'title' => '后台管理',// 本地无法访问时, 将 `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 使用记录

Laravel Dcat Admin 安装配置修改配置表格操作 Ajax 结合 Pjax 更新数据状态表格 链接表单设置页面(通常修改更新在同一页面)表单 安装配置 安装文档地址 框架版本 Laravel 8.* 修改配置 修改 admin.php 文件 return [// 后台名称name > DAD后台管理,// 标题title > 后台…...

c语言基础:L1-070 吃火锅

以上图片来自微信朋友圈&#xff1a;这种天气你有什么破事打电话给我基本没用。但是如果你说“吃火锅”&#xff0c;那就厉害了&#xff0c;我们的故事就开始了。 本题要求你实现一个程序&#xff0c;自动检查你朋友给你发来的信息里有没有 chi1 huo3 guo1。 输入格式&#x…...

java spring boot 注解、接口和问题解决方法(持续更新)

注解 RestController 是SpringMVC框架中的一个注解&#xff0c;它结合了Controller和ResponseBody两个注解的功能&#xff0c;用于标记一个类或者方法&#xff0c;表示该类或方法用于处理HTTP请求&#xff0c;并将响应的结果直接返回给客户端&#xff0c;而不需要进行视图渲染…...

HMAC_SHA1加密算法和SHA1加密算法的区别

HMAC_SHA1加密算法和SHA1加密算法的区别 应用场景&#xff1a;SHA1目前主要用于政府部门和私营业主处理敏感信息&#xff0c;被视为最先进的加密技术。而HMAC_SHA1主要用于基于密钥的消息认证码&#xff08;HMAC&#xff09;运算&#xff0c;需要一个密钥作为输入。密钥需求&a…...

Ubuntu连不上WiFi 或者虽然能连上校园网,但是浏览器打不开登录页面

写在前面 自己的电脑环境&#xff1a; Ubuntu20.04 一、问题描述 自己的 Ubuntu 遇到连接不上 除校园网之外的其他WiFi, 或者 虽然能连上校园网&#xff0c;但是浏览器打不开登录页面的问题。 二、解决方法 出现这种问题的原因可能是 之前开过VPN, 导致系统的网络设置出现…...

Maven第八章:如何解决Maven的jar版本冲突

Maven第八章:如何解决Maven的jar版本冲突 前言 本文重点讲解Maven依赖冲突原因,maven依赖原则以及如何利用idea Maven Helper插件分析解决问题。 背景 开发过程中引入第三方jar遇到依赖冲突的,非常影响开发,甚至大部分时间都在调试版本兼容。 Caused by:java.lang.NoSuch…...

c# 读写内存映射文件

在C#中&#xff0c;可以使用System.IO.MemoryMappedFiles命名空间中的MemoryMappedFile类来操作内存映射文件。可以创建不固定大小的内存映射文件&#xff0c;具体步骤如下&#xff1a; 1. 先创建一个初始大小为0的内存映射文件&#xff0c;使用MemoryMappedFile.CreateNew方法…...

行业揭秘:腾讯共享wifi码推广零加盟费是真的吗?

近年来&#xff0c;“共享经济”概念在商业领域取得了巨大成功。共享WiFi贴码成为共享经济的一种典型案例&#xff0c;被越来越多的人看作是一种低风险、高回报的投资方式。而在这个市场中&#xff0c;腾讯WiFi码推广以“零加盟费”而备受关注。本文将探讨腾讯WiFi码推广零加盟…...

E4980A 精密型 LCR 表,20 Hz 至 2 MHz

E4980A 精密型 LCR 表 20 Hz 至 2 MHz E4980A 精密型 LCR 表实现了测量准确度、速度与通用性的理想结合&#xff0c;适用于各种元器件测量。 E4980A 精密型 LCR 表实现了测量准确度、速度与通用性的理想结合&#xff0c;适用于各种元器件测量。 无论是在低阻抗量程还是在高阻…...

【前端工作提效】关于工作提效的一点实践与思考

1、测试提的BUG是一个一个提的&#xff0c;如果顺着测试提供的BUG单去一个一个解决问题&#xff0c;那么很容易管中窥豹&#xff0c;就像打补丁一样&#xff0c;缝缝补补&#xff0c;没有办法从根源去解决问题。所以我们需要尽量去了解代码的业务情况&#xff0c;并尽可能将一些…...

Pytorch 文本情感分类案例

一共六个脚本,分别是: ①generateDictionary.py用于生成词典 ②datasets.py定义了数据集加载的方法 ③models.py定义了网络模型 ④configs.py配置一些参数 ⑤run_train.py训练模型 ⑥run_test.py测试模型 数据集https://download.csdn.net/download/Victor_Li_/88486959?spm1…...

Flutter之GetX controller tag使用详解

本文主要介绍 GetX 依赖注入中 tag 的作用和使用详解。 作用 前面几篇文章介绍了 GetX 依赖注入的使用以及通过源码剖析了依赖注入的原理&#xff1a; •《Flutter应用框架搭建(一)GetX集成及使用详解》•《Flutter 通过源码一步一步剖析 Getx 依赖管理的实现》•《Flutter之…...

Kubernetes群集调度

调度约束 Kubernetes 是通过 List-Watch 的机制进行每个组件的协作&#xff0c;保持数据同步的&#xff0c;每个组件之间的设计实现了解耦。 用户是通过 kubectl 根据配置文件&#xff0c;向 APIServer 发送命令&#xff0c;在 Node 节点上面建立 Pod 和 Container。 APIServ…...

【总结】linux centos 7 开启网络白名单访问策略

目录 linux开启网络端口白名单访问策略开启白名单步骤补充说明 linux开启网络端口白名单访问策略 安全需要&#xff0c;被检测各种3306、9200、9300端口没有设置访问策略。需要整改。 对于linux来说&#xff0c;有两种方式可以开启防火墙 开启白名单步骤 场景一&#xff1a…...

2023-2024-1高级语言程序设计第1次月考

7-1-1 计算摄氏温度 给定一个华氏温度F&#xff0c;本题要求编写程序&#xff0c;计算对应的摄氏温度C。计算公式&#xff1a;C5(F−32)/9。题目保证输入与输出均在整型范围内。 输入格式: 输入在一行中给出一个华氏温度。 输出格式: 在一行中按照格式“Celsius C”输出对…...

目标检测:Proposal-Contrastive Pretraining for Object Detection from Fewer Data

论文作者&#xff1a;Quentin Bouniot,Romaric Audigier,Anglique Loesch,Amaury Habrard 作者单位&#xff1a;Universit Paris-Saclay; Universit Jean Monnet Saint-Etienne; Universitaire de France (IUF) 论文链接&#xff1a;http://arxiv.org/abs/2310.16835v1 内容…...

Cesium:CGCS2000坐标系的xyz坐标转换成WGS84坐标系的经纬高度,再转换到笛卡尔坐标系的xyz坐标

作者:CSDN @ _乐多_ 本文将介绍使用 Vue 、cesium、proj4 框架,实现将CGCS2000坐标系的xyz坐标转换成WGS84坐标系的经纬高度,再将WGS84坐标系的经纬高度转换到笛卡尔坐标系的xyz坐标的代码。并将输入和输出使用 Vue 前端框架展示了出来。代码即插即用。 网页效果如下图所示…...

【OpenCV实现图像:用Python生成图像特效,报错ValueError: too many values to unpack (expected 3)】

文章目录 概要读入图像改变单个通道黑白特效颜色反转将图像拆分成四个子部分 概要 Python是一种功能强大的编程语言&#xff0c;也是图像处理领域中常用的工具之一。通过使用Python的图像处理库&#xff08;例如Pillow、OpenCV等&#xff09;&#xff0c;开发者可以实现各种各…...

875. 爱吃香蕉的珂珂

题目描述 珂珂喜欢吃香蕉。这里有 n 堆香蕉&#xff0c;第 i 堆中有 piles[i] 根香蕉。警卫已经离开了&#xff0c;将在 h 小时后回来。 珂珂可以决定她吃香蕉的速度 k &#xff08;单位&#xff1a;根/小时&#xff09;。每个小时&#xff0c;她将会选择一堆香蕉&#xff0c…...

台灯太亮会导致近视吗?精选高品质的台灯

台灯相信很多家庭都会备上一台&#xff0c;用于办公、休闲或者给孩子学习使用&#xff0c;如果使用的台灯亮度过高的话&#xff0c;可能会对视力造成一定的影响&#xff0c;尤其是夜晚的时候。建议是选择带有亮度调节功能的台灯会比较好一点&#xff0c;可以自行根据周围环境的…...

python/java环境配置

环境变量放一起 python&#xff1a; 1.首先下载Python Python下载地址&#xff1a;Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个&#xff0c;然后自定义&#xff0c;全选 可以把前4个选上 3.环境配置 1&#xff09;搜高级系统设置 2…...

linux 下常用变更-8

1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行&#xff0c;YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID&#xff1a; YW3…...

AI编程--插件对比分析:CodeRider、GitHub Copilot及其他

AI编程插件对比分析&#xff1a;CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展&#xff0c;AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者&#xff0c;分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...

Java入门学习详细版(一)

大家好&#xff0c;Java 学习是一个系统学习的过程&#xff0c;核心原则就是“理论 实践 坚持”&#xff0c;并且需循序渐进&#xff0c;不可过于着急&#xff0c;本篇文章推出的这份详细入门学习资料将带大家从零基础开始&#xff0c;逐步掌握 Java 的核心概念和编程技能。 …...

大学生职业发展与就业创业指导教学评价

这里是引用 作为软工2203/2204班的学生&#xff0c;我们非常感谢您在《大学生职业发展与就业创业指导》课程中的悉心教导。这门课程对我们即将面临实习和就业的工科学生来说至关重要&#xff0c;而您认真负责的教学态度&#xff0c;让课程的每一部分都充满了实用价值。 尤其让我…...

NXP S32K146 T-Box 携手 SD NAND(贴片式TF卡):驱动汽车智能革新的黄金组合

在汽车智能化的汹涌浪潮中&#xff0c;车辆不再仅仅是传统的交通工具&#xff0c;而是逐步演变为高度智能的移动终端。这一转变的核心支撑&#xff0c;来自于车内关键技术的深度融合与协同创新。车载远程信息处理盒&#xff08;T-Box&#xff09;方案&#xff1a;NXP S32K146 与…...

【分享】推荐一些办公小工具

1、PDF 在线转换 https://smallpdf.com/cn/pdf-tools 推荐理由&#xff1a;大部分的转换软件需要收费&#xff0c;要么功能不齐全&#xff0c;而开会员又用不了几次浪费钱&#xff0c;借用别人的又不安全。 这个网站它不需要登录或下载安装。而且提供的免费功能就能满足日常…...

GO协程(Goroutine)问题总结

在使用Go语言来编写代码时&#xff0c;遇到的一些问题总结一下 [参考文档]&#xff1a;https://www.topgoer.com/%E5%B9%B6%E5%8F%91%E7%BC%96%E7%A8%8B/goroutine.html 1. main()函数默认的Goroutine 场景再现&#xff1a; 今天在看到这个教程的时候&#xff0c;在自己的电…...

pikachu靶场通关笔记19 SQL注入02-字符型注入(GET)

目录 一、SQL注入 二、字符型SQL注入 三、字符型注入与数字型注入 四、源码分析 五、渗透实战 1、渗透准备 2、SQL注入探测 &#xff08;1&#xff09;输入单引号 &#xff08;2&#xff09;万能注入语句 3、获取回显列orderby 4、获取数据库名database 5、获取表名…...

Oracle11g安装包

Oracle 11g安装包 适用于windows系统&#xff0c;64位 下载路径 oracle 11g 安装包...