rooms = \App\Models\LiveRoom::pluck("short_name","room_id")->toArray(); return Grid::make(new GiftPack(['attire']), function (Grid $grid) { $grid->column('id'); $grid->column('name'); $grid->column('room_id')->using($this->rooms); $grid->column('coupon'); $grid->column('attire.name', '应援装扮'); $grid->column('img')->image(config("filesystems.disks.cosv5.url"), 100, 100); // $grid->column('exchage_info'); // $grid->column('attire_id'); $grid->column('sort'); $grid->column('created_at'); // $grid->column('updated_at')->sortable(); $grid->enableDialogCreate(); $grid->setDialogFormDimensions('50%', '70%'); $grid->withBorder(); $grid->actions(function (Grid\Displayers\Actions $actions) { $actions->quickEdit(true); $actions->disableEdit(); $actions->disableView(); }); $grid->model()->orderBy("sort","asc"); // $grid->filter(function ($filter) { // 展开过滤器 $filter->panel(); $filter->expand(); $filter->withoutInputBorder(); // 在这里添加字段过滤器 $filter->equal('id')->width(2); $filter->equal('attire_id', '装扮') ->selectTable(AttireTable::make()) // 设置渲染类实例,并传递自定义参数 ->title('装扮列表') ->dialogWidth('50%') // 弹窗宽度,默认 800px ->model(\App\Models\Attire::class, 'id', 'name')->width(3); // 设置编辑数据显示 $filter->equal('room_id')->select($this->rooms)->width(2); }); $grid->tools(function (Grid\Tools $tools) { $tools->append(new \App\Admin\Actions\Grid\PackRecordAction()); }); }); } /** * Make a show builder. * * @param mixed $id * * @return Show */ protected function detail($id) { return Show::make($id, new GiftPack(), function (Show $show) { $show->field('id'); $show->field('name'); $show->field('coupon_cnt'); $show->field('attire_ids'); $show->field('attire_cnt'); $show->field('sort'); $show->field('created_at'); $show->field('updated_at'); }); } /** * Make a form builder. * * @return Form */ protected function form() { $this->rooms = \App\Models\LiveRoom::pluck("short_name","room_id")->toArray(); return Form::make(new GiftPack(), function (Form $form) { // $form->display('id'); $form->text('name')->required(); $form->select('room_id')->options($this->rooms)->required(); $form->selectTable('attire_id', '应援装扮') // 设置渲染类实例,并传递自定义参数 ->title('装扮列表') ->dialogWidth('50%') // 弹窗宽度,默认 800px ->from(AttireTable::make()) ->model(\App\Models\Attire::class, 'id', 'name')->default(0); //->rules('unique:gift_packs,attire_id,$selfId,id,deleted_at,NULL', ['unique' => '已经在礼包中了,请选择其它的']) $form->number('coupon')->required(); $form->image('img')->autoUpload()->removable(false); // $form->textarea('exchage_info')->required(); // $form->number('sort'); }); } }