RoleGrid.php 2.4 KB
<?php
/**
+-----------------------------------------------------------------------------------------------------------------------
 * 管理端列表grid trait层:渲染生成 角色 grid 列表
+-----------------------------------------------------------------------------------------------------------------------
 *
 * PHP version 7
 *
 * @category  App\Admin\Grids\User
 * @package   App\Admin\Grids\User
 * @author    Richer <yangzi1028@163.com>
 * @date      2021年01月27日 09:27:11
 * @copyright 2020-2022 Richer (http://www.Richer.com/)
 * @license   http://www.Richer.com/ License
 * @link      http://www.Richer.com/
 */
namespace App\Admin\Grids\User;

use Encore\Admin\Grid;

/**
 * Class RoleController.
 *
 * @category  App\Admin\Grids\User
 * @package   App\Admin\Grids\User
 * @author    Richer <yangzi1028@163.com>
 * @date      2021年01月27日 09:27:11
 * @copyright 2020-2022 Richer (http://www.Richer.com/)
 * @license   http://www.Richer.com/ License
 * @link      http://www.Richer.com/
 */
trait RoleGrid
{
    /**
     * 为grid增加筛选条件
     *
     * @return \App\Admin\Controllers\Encore\Admin\Grid
     */
    public function renderGridFilter()
    {
        $this->grid->selector(
            function (Grid\Tools\Selector $selector) {
                /* TODO 补充
                $selector->select(
                    'price',
                    $this->title.'价位',
                    \Config::get('constants.price_range_options'),
                    function ($query, $value) {
                        $query->whereBetween('price', explode('-', Arr::first($value)));
                    }
                );
                */
            }
        );

        $this->grid->filter(
            function ($filter) {
                // 筛选条件默认展开
                $filter->expand();

                // TODO 补充
                 $filter->like('name', '角色名称');

                //去掉默认的搜索
                $filter->disableIdFilter();
            }
        );

        return $this->grid;
    }

    /**
     * 渲染grid字段
     *
     * @return void
     */
    public function renderGridFields()
    {
        $this->gridNumberField($this->grid, 'id', '');
        $this->gridTextField($this->grid, 'name', '角色名称');
        $this->gridTextField($this->grid, 'description', '角色描述');
        $this->gridDateField('updated_at', '操作时间');

    }
}