shenheishe/laravel-admin

laravel dk admin

dev-master 2024-04-24 02:14 UTC

This package is auto-updated.

Last update: 2024-04-24 02:14:47 UTC


README

Gitee 地址

安装shenheishe/laravel-admin

composer require shenheishe/laravel-admin --dev
  • 运行下面的命令来发布资源:
php artisan vendor:publish --provider="Encore\Admin\AdminServiceProvider"
  • 然后运行下面的命令完成安装:
php artisan admin:install

Gird Column扩展显示

  • price() 显示价格
  • strong() 显示加粗
  • number() 显示数字
  • img() 显示单图或多图
  • labels() 显示label多钟样式标签
  • badges() 显示多种样式徽章
  • kind() 日期友好显示
  • onlyListTable() 隐藏工具栏与分页
  • 新增导出功能 encore/laravel-admin/src/Grid/Exporters/AdminExporter.php
 $exporter = (new Grid\Exporters\AdminExporter())
            ->withColumns([
                'id' => '会员ID',
            ])
            ->withFileName('会员列表')
            ->withRewrites([
                'status' => User::$statuses,
            ]);

Show Field扩展显示

  • bool() 显示布尔值
  • number() 显示数字
  • strong() 显示加粗
  • price() 显示价格
  • kind() 日期友好显示
  • color() 显示自定义颜色
  • fileDownload() 下载文件
  • img() 显示单图或多图

Filter 扩展

  • boolean() 布尔值搜索
  • yearMonth() 年月搜索 YYYY-MM 调用方式 where()->yearMonth()
  • 自定义日期或时间范围搜索
$filter->where(function (){
    $start = $this->input['start'];
    $end = $this->input['end'];
    //do something here
},'时间范围')->dateRange('YYYY-MM-DD');

增加admin命令

  • admin:zw 生成表中文翻译文件
  • admin:col generate all kinks of data from database tables
    • str|array|column|comment|gird|show|form|json|col
  • admin:service 生成服务文件
  • admin:test 在tests/Feature目录下生成测试用例
php artisan admin:test Api --name=UserControler
php artisan admin:test Api --all

-- all 代表所有app/Http/Controllers下的所有文件
-- name 指定文件名
-- force 强制覆盖
  • admin:route-list 生成路由列表
    php artisan admin:route-list --prefix=api  
    

新增distPicker省市区选择

表单中使用
$form->distPicker(['province_id' => '省', 'city_id' => '市', 'district_id' => '区'], '区域选择')
     ->default(['province' => '', 'city' => '', 'district' => ''])
     ->rules('required');
搜索中使用
$filter->distPicker('province_id', 'city_id', 'district_id', '地域选择');

新增wangEditor富文本编辑器

$form->wangEditor('content','内容')->rules('required|max:1000');

置入异常日志文件

  • /admin/error/logs

一键导入app/admin/actions下所有Action至权限数据表

  • 在配置文件中admin.php新增权限开关 admin.action_permissions.enable
  • 注意 先建好菜单再执行导入动作 这样可以更好的匹配动作权限权限组

根据routes.php中的路由自动生成权限

  • 自动分组
  • 自动匹配名称 (根据菜单中的uri字段匹配)
  • 注意 先保证菜单及routes.php文件已经都存在的情况下执行

增加角色中按组选择权限表单

  • admin_permissions 表中新增admin_menu_id字段
$form->permissionChecker('permissions', __('admin/admin_role.permissions'))
        ->options(
        Menu::where('parent_id', 0)
            ->with('permissions:id,admin_menu_id,name')
            ->orderBy('order')
            ->get(['id', 'title','icon'])
       );

增加StatusFilterTab选项卡功能

  • 文件位置 encore/laravel-admin/src/Grid/Tools/StatusFilterTab.php
  • 视图位置 encore/laravel-admin/resources/views/grid/actions/statusfiltertab.blade.php
  • 调用方式
    • Model use Encore\Admin\Grid\Tools\WithStatusFilterTrait;
列表中调用
 $grid->model()->statusFilter();
 
 $grid->tools(function (Grid\Tools $tools){
    $tools->append(new Grid\Tools\StatusFilterTab(new User()));
});

更新

  • 菜单经过权限过滤后无子菜时将会自动隐藏父级菜单
 //if all child menu can't be visible, hide parent menu
$('li.treeview a').each(function () {
    if ($(this).attr('href') === '#') {
        if ($(this).next('ul').text().replace(/\s+/g, '').length === 0) {
            $(this).parent('li').addClass('hidden');
        }
    }
});