| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- <?php
- namespace App\Module\Game\AdminControllers\LazyRenderable;
- use App\Module\Game\Models\GameRewardGroup;
- use App\Module\Game\Repositorys\GameRewardGroupRepository;
- use Dcat\Admin\Grid;
- use UCore\DcatAdmin\Grid\LazyRenderable;
- use UCore\DcatAdmin\Grid\SelectTable;
- /**
- * 奖励组懒加载渲染类
- *
- * 用于在表单中选择奖励组时的数据表格渲染
- */
- class GameRewardGroupLazyRenderable extends LazyRenderable implements SelectTable
- {
- /**
- * 获取模型
- *
- * @return string
- */
- public function getModel(): string
- {
- return GameRewardGroup::class;
- }
- /**
- * 获取模型选择ID字段
- *
- * @return string
- */
- public function getModelSelectId(): string
- {
- return 'id';
- }
- /**
- * 获取模型显示名称字段
- *
- * @return string
- */
- public function getModelViewName(): string
- {
- return 'name';
- }
- /**
- * 构建表格
- *
- * @return Grid
- */
- public function grid(): Grid
- {
- return Grid::make(new GameRewardGroupRepository(), function (Grid $grid) {
- $grid->column('id', 'ID')->sortable();
- $grid->column('name', '名称');
- $grid->column('code', '编码');
- $grid->column('description', '描述')->limit(30);
- $grid->column('is_random', '随机发放')->switch();
- $grid->column('random_count', '随机数量');
- $grid->column('created_at', '创建时间');
- $grid->quickSearch(['id', 'name', 'code']);
- $grid->filter(function (Grid\Filter $filter) {
- $filter->panel();
- $filter->equal('id', 'ID');
- $filter->like('name', '名称');
- $filter->like('code', '编码');
- $filter->equal('is_random', '随机发放')->select([0 => '否', 1 => '是']);
- });
- $grid->paginate(10);
- $grid->disableActions();
- $grid->disableBatchActions();
- $grid->disableCreateButton();
- });
- }
- }
|