SettingController.php 1.7 KB
<?php

namespace App\Admin\Controllers;

use App\Admin\Repositories\LoginSetting;
use Dcat\Admin\Grid;
use Dcat\Admin\Http\Controllers\AdminController;
use Dcat\Admin\Layout\Content;
use Dcat\Admin\Layout\Row;
use Dcat\Admin\Widgets\Card;

class SettingController extends AdminController
{
    protected $title = 'App系统设置';

    /**
     * Index interface.
     *
     * @param  Content  $content
     * @return Content
     */
    public function index(Content $content)
    {
        return $content
            ->translation($this->translation())
            ->title($this->title())
            ->description($this->description()['index'] ?? trans('admin.list'))
            ->body(function ()use ($content){
                // 一行多列
                $content->row(function (Row $row) {
                    $row->column(4, $this->loginGrid());
//                    $row->column(6, $this->grid());
                });
            });
    }

    /**
     * Make a grid builder.
     *
     * @return Card
     */
    protected function loginGrid()
    {
        $grid = Grid::make(new LoginSetting(), function (Grid $grid) {
            $grid->disablePagination();
            $grid->disableActions();
            $grid->tableCollapse(false);
            $grid->disableCreateButton();
            $grid->disableRefreshButton();
            $grid->disableRowSelector();

            $grid->column('icon')->display(function ($item){
                return "<i class='$item'></i>";
            });
            $grid->column('name');
            $grid->column('state')->switch();

        });

        $card = new Card();
        $card->title('登录设置')->withHeaderBorder()->content($grid);
        return $card;
    }
}