Dcat Admin v1.7.0 发布,对后端开发者友好的高颜值后台系统构建工具

来源: 投稿
作者: Jiangqh
2020-08-24 10:07:00

本次版本主要更新了全新菜单样式、全组件异步渲染功能以及诸多其他功能的优化。

页面组件

1.组件异步加载

这个版本对异步加载功能进行了优化,使其支持了静态资源按需加载的特性。 目前内置的所有组件都支持使用异步渲染功能,并且支持在页面的任意位置上使用,具体用法请参考文档 异步加载

效果

2.全新菜单样式以及布局

本次版本增加了新的菜单样式,在配置文件config/admin.php中加上配置参数admin.layout.sidebar_style,默认值为light

     'layout' => [
         // 支持 light、primary、dark
         'sidebar_style' => 'light',

         ...
     ],

     ...

效果如下

3.权限配置功能优化

配置权限路径时支持填写路由别名,如 admin.users.show

 

表格

1.行内编辑增加保存成功后刷新页面参数

// 第二个参数设置为 true,保存成功后刷新页面
$grid->column($field)->switch(null, true);

$grid->column($field)->select([...], true);

$grid->column($field)->checkbox([...], true);

$grid->column($field)->radio([...], true);

// 第三个参数设置为 true,保存成功后刷新页面
$grid->column($field)->switchGroup([...], null, true);

2.表格搜索相关功能支持关联关系字段查询

所有涉及搜索的功能,包括:过滤器(Filter)、快捷搜索、规格筛选器、列过滤器等,全部支持关联关系字段查询。 并且如果项目中安装了dcat/laravel-wherehasin,则会优先使用whereHasIn方法进行搜索。

// 快捷搜索
$grid->quickSerach(['user.name']);

// 过滤器
$grid->filter(function ($filter) {
    $filter->like('user.name');
});

// 列过滤器
$grid->column($field)->filter(
    Grid\Column\Filter\Equal::make()->setColumnName('user.name');
);

// 规格筛选器
$grid->selector(function ($selector) {
    $selector->select('user.id', [...]);
});

3.过滤器表单增加表格选择器 (selectTable)

具体使用请参考文档过滤器 - 表格选择器

此功能可用于替代 弹窗选择器,弹窗选择器即将在  2.0 中废弃
use App\Admin\Renderable\UserTable;
use Dcat\Admin\Models\Administrator;

$filter->equal('user_id')
    ->selectTable(UserTable::make(['id' => ...])) // 设置渲染类实例,并传递自定义参数
    ->title('弹窗标题')
    ->dialogWidth('50%') // 弹窗宽度,默认 800px
    ->model(Administrator::class, 'id', 'name'); // 设置编辑数据显示

3.过滤器增加忽略筛选项功能 (ignore)

此功能由@llz贡献

$filter->equal('column')->ignore();

4.规格筛选器选中后跳转到第一页

优化规格筛选器功能,筛选以及取消筛选后跳转到第一页

 

表单

1.增加颜色选择器 (color)

$form->color('field');

2.增加表格选择器 (selectTable)

具体使用请参考文档表格选择器

此功能可用于替代 弹窗选择器,弹窗选择器即将在  2.0 中废弃
use App\Admin\Renderable\UserTable;
use Dcat\Admin\Models\Administrator;

$form->selectTable($field)
    ->title('弹窗标题')
    ->dialogWidth('50%') // 弹窗宽度,默认 800px
    ->from(UserTable::make(['id' => $form->getKey()])) // 设置渲染类实例,并传递自定义参数
    ->model(Administrator::class, 'id', 'name'); // 设置编辑数据显示

效果

3.增加json表单 (array)

如果某一个字段存储的是json格式的二维数组,并且字段比较多,可以使用array表单组件来实现快速的编辑:

$form->array('column_name', function ($table) {
    $table->text('key');
    $table->text('value');
    $table->textarea('desc');
})->saveAsJson();

4.增加Checkbox::canCheckAll 方法

启用选中全部功能

$form->checkbox($field)->options([...])->canCheckAll();;

5.增加百度地图组件并优化地图配置参数

在这个版本中配置文件增加了admin.map参数,用于配置地图表单key,用法如下

    'map' => [
        'provider' => 'baidu',

        'keys' => [
            'tencent' => env('TENCENT_MAP_API_KEY'),
            'google' => env('GOOGLE_API_KEY'),
            'baidu' => env('BAIDU_MAP_API_KEY'),
        ],
    ],

6.增加 saveAsString、saveAsJson 方法

saveAsString方法可以把表单值转化为string类型保存,当保存的数据库字段值不允许为null时非常有用; saveAsJson可以把表单值保存为json格式。

$form->text('nickname')->saveAsString();

$form->multipleSelect('user')->saveAsJson();

7.增加forgetIgnored方法

撤销忽略字段

$form->ignore(['user']);

$form->submitted(function (Form $form) {
    $form->forgetIgnored(['user']);
});

7.优化currency、number等诸多表单宽度显示

优化表单字段的默认宽度显示

 

8.优化currency表单保存时忽略逗号

优化currency表单保存时忽略逗号

 

9.移除表单提交自动过滤disable、readonly字段功能

从这个版本开始,不再自动过滤disablereadonly表单

 

其他

1.数据详情字段增加html方法

通过html方法可以在详情页插入一段不显示labelHTML代码,此功能由@Lila贡献

// 传入字符串
$show->html('<br/>');

// 传入视图
$show->html(view(...));

// 传入闭包
$show->html(function () {
    // 获取字段信息
    $id = $this->id;
    $username = $this->username;

    return view(..., ['id' => $id]);
});

2.移除 montserrat 字体

 

BUG修复

  1. 修复数据详情dotprepend方法不支持json以及关联关系字段问题#383
  2. 表单 dateRange 字段设为 disable 时提交报错问题#405
  3. 修复启用了多应用之后无法生成路由缓存问题#409
  4. 修复图表组件chartMarginTop方法变量赋值错误问题
  5. 修复表格过滤器select联动无法默认选中第二个表单问题#422
  6. 修复list表单无法支持xxx.xxx格式问题#452
  7. 修复表单动态显示!=判断异常问题#457

 

简介

Dcat Admin是一个基于laravel-admin二次开发而成的后台系统构建工具,只需很少的代码即可快速构建出一个功能完善的高颜值后台系统。内置丰富的后台常用组件,开箱即用,让开发者告别冗杂的HTML代码,对后端开发者非常友好。

在线演示站点 |  官方文档 | Gitee主页  |  Github主页

 

展开阅读全文
点击加入讨论🔥(8) 发布并加入讨论🔥
本篇精彩评论
牛逼的项目,快速迭代,质量保证,赞!
2020-08-24 11:00
1
举报
8 评论
27 收藏
分享
返回顶部
顶部