ConfigAController.php 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. <?php
  2. namespace App\Module\System\AdminControllers;
  3. use App\Module\System\Admin\Actions\ConfigEmbedsEditAction;
  4. use App\Module\System\Admin\Actions\ConfigFloatEditAction;
  5. use App\Module\System\Admin\Actions\ConfigImgEditAction;
  6. use App\Module\System\Admin\Actions\ConfigIntEditAction;
  7. use App\Module\System\Admin\Actions\ConfigJsonEditAction;
  8. use App\Module\System\Admin\Actions\ConfigStringEditAction;
  9. use App\Module\System\Admin\Actions\ConfigSwitchEditAction;
  10. use App\Module\System\Admin\Actions\ConfigTimeEditAction;
  11. use App\Module\System\Admin\Actions\ToConfig;
  12. use App\Module\System\Enums\CONFIG_TYPE;
  13. use App\Module\System\Repositories\AppConfig;
  14. use App\Module\System\Services\ConfigService;
  15. use Dcat\Admin\Form;
  16. use Dcat\Admin\Grid;
  17. use Dcat\Admin\Widgets\Dump;
  18. use Spatie\RouteAttributes\Attributes\Resource;
  19. use UCore\DcatAdmin\FilterHelper;
  20. use UCore\DcatAdmin\GridHelper;
  21. /**
  22. * 配置项操作,超级管理员版本
  23. *
  24. */
  25. #[Resource('system-config-admin',names: 'dcat.admin.system-config-admin')]
  26. class ConfigAController extends \Dcat\Admin\Http\Controllers\AdminController
  27. {
  28. protected $title = "系统配置管理";
  29. /**
  30. * Make a grid builder.
  31. *
  32. * @return Grid
  33. */
  34. protected function grid()
  35. {
  36. $grid = Grid::make(new AppConfig(), function (Grid $grid) {
  37. $helper = new GridHelper($grid, $this);
  38. $grid->column('id');
  39. $grid->column('title','配置标题')->expand(function (){
  40. $list =[];
  41. $list['desc'] =$this->desc;
  42. $list['keyname'] =$this->keyname;
  43. $list['options'] =$this->options;
  44. $list['type'] =$this->type;
  45. return \UCore\DcatAdmin\Metrics\Dump::dumpvar($list);
  46. });
  47. // $grid->column('desc','描述');
  48. $grid->column('type')->using(CONFIG_TYPE::getValueDescription());
  49. $grid->column('value');
  50. $helper->columnView('value','admin_core.config.value','当前值');
  51. $grid->column('is_client','是否客户端')->switch();
  52. $grid->column('group');
  53. // $helper->fieldUseing('group',AppConfig::$ENMU);
  54. // $grid->dia
  55. $grid->filter(function (Grid\Filter $filter) {
  56. $filter->panel();
  57. $filter->expand();
  58. $helper = new FilterHelper($filter, $this);
  59. $helper->equalRadioVk('group',ConfigService::getGroupKv())->default('应用配置');
  60. });
  61. $grid->disableCreateButton();
  62. $grid->actions(function (Grid\Displayers\Actions $actions) {
  63. $actions->disableDelete();
  64. $actions->disableEdit();
  65. $actions->disableView();
  66. $actions->disableQuickEdit();
  67. $actions->append((new ConfigIntEditAction())->setController($this));
  68. $actions->append((new ConfigImgEditAction())->setController($this));
  69. $actions->append((new ConfigFloatEditAction())->setController($this));
  70. $actions->append((new ConfigStringEditAction())->setController($this));
  71. $actions->append((new ConfigSwitchEditAction())->setController($this));
  72. $actions->append((new ConfigTimeEditAction())->setController($this));
  73. $actions->append((new ConfigJsonEditAction())->setController($this));
  74. $actions->append((new ConfigEmbedsEditAction())->setController($this));
  75. });
  76. $grid->disableBatchActions();
  77. $grid->disableQuickEditButton();
  78. $grid->disableDeleteButton();
  79. $grid->disablePagination();
  80. $grid->tools(function (\Dcat\Admin\Grid\Tools $tools){
  81. $tools->append(new ToConfig());
  82. // $tools
  83. });
  84. });
  85. return $grid;
  86. }
  87. public function detail(){
  88. }
  89. /**
  90. * Make a form builder.
  91. *
  92. * @return Form
  93. */
  94. protected function form()
  95. {
  96. return Form::make(new AppConfig(), function (Form $form) {
  97. $form->display('id');
  98. $form->number('is_client');
  99. });
  100. }
  101. }