| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- <?php
- namespace App\Module\System\AdminControllers;
- use App\Module\System\Admin\Actions\ConfigEmbedsEditAction;
- use App\Module\System\Admin\Actions\ConfigFloatEditAction;
- use App\Module\System\Admin\Actions\ConfigImgEditAction;
- use App\Module\System\Admin\Actions\ConfigIntEditAction;
- use App\Module\System\Admin\Actions\ConfigJsonEditAction;
- use App\Module\System\Admin\Actions\ConfigStringEditAction;
- use App\Module\System\Admin\Actions\ConfigSwitchEditAction;
- use App\Module\System\Admin\Actions\ConfigTimeEditAction;
- use App\Module\System\Admin\Actions\ToConfigAdmin;
- use App\Module\System\Repositories\AppConfig;
- use App\Module\System\Services\ConfigService;
- use Dcat\Admin\Grid;
- use Dcat\Admin\Http\Controllers\AdminController;
- use Spatie\RouteAttributes\Attributes\Resource;
- use UCore\DcatAdmin\FilterHelper;
- use UCore\DcatAdmin\GridHelper;
- /**
- * 配置项操作
- *
- */
- #[Resource('system-config', names: 'dcat.admin.system-config')]
- class ConfigController extends AdminController
- {
- protected $title = "系统配置";
- /**
- * Make a grid builder.
- *
- * @return Grid
- */
- protected function grid()
- {
- $grid = Grid::make(new AppConfig(), function (Grid $grid) {
- $helper = new GridHelper($grid, $this);
- $grid->column('id');
- $grid->column('group', '分组');
- $grid->column('group2', '子分组');
- $grid->column('title', '配置标题')->width(200);
- $grid->column('desc', '描述')->width(300);
- $helper->columnView('value', 'admin_core.config.value', '当前值');
- $grid->disableBatchActions();
- $grid->disableRowSelector();
- // $helper->fieldUseing('group',AppConfig::$ENMU);
- // $grid->dia
- $grid->filter(function (Grid\Filter $filter) {
- $filter->panel();
- $filter->expand();
- $helper = new FilterHelper($filter, $this);
- $helper->equalRadioVk('group', ConfigService::getGroupKv(), '分组')->default('应用配置');
- $group = request('group');
- $helper->equalRadioVk('group2', ConfigService::getGroupKv2($group), '子分组');
- if (count($filter->getConditions()) == 0) {
- return admin_exit(admin_redirect(admin_route('config.index', [ 'group' => '应用配置' ])));
- }
- });
- $grid->disableCreateButton();
- $grid->actions(function (Grid\Displayers\Actions $actions) {
- $actions->disableDelete();
- $actions->disableEdit();
- $actions->disableView();
- $actions->disableQuickEdit();
- $actions->append((new ConfigIntEditAction())->setController($this));
- $actions->append((new ConfigImgEditAction())->setController($this));
- $actions->append((new ConfigFloatEditAction())->setController($this));
- $actions->append((new ConfigStringEditAction())->setController($this));
- $actions->append((new ConfigSwitchEditAction())->setController($this));
- $actions->append((new ConfigTimeEditAction())->setController($this));
- $actions->append((new ConfigJsonEditAction())->setController($this));
- $actions->append((new ConfigEmbedsEditAction())->setController($this));
- });
- $grid->disableBatchActions();
- $grid->disableQuickEditButton();
- $grid->disableDeleteButton();
- $grid->disablePagination();
- $grid->tools(function (\Dcat\Admin\Grid\Tools $tools) {
- $tools->append(new ToConfigAdmin());
- // $tools
- });
- });
- return $grid;
- }
- }
|