column('id'); // $grid->column('name'); $grid->column('type')->using($types)->label(); // $grid->column('attire_id'); $grid->column('attire.name', '装扮名称'); $grid->column('attire.img_1', '图片')->display(function($v) { if($this->type == 1) { return "url($this->img)."' style='height:100px;width:auto;' />"; } else { return "url($v)."' style='height:100px;width:auto;' />"; } }); $grid->column('info')->width("250px"); $grid->column('attire.cate', '装扮类别'); $grid->column('cost_pasters'); $grid->column('limit')->help("限购规则:礼劵是按每月(自然月)限购,装扮是永久"); $grid->column('sort')->editable(true); // $grid->column('created_at'); // $grid->column('updated_at'); $grid->filter(function (Grid\Filter $filter) { $filter->equal('id'); }); $grid->model()->orderBy("sort"); $grid->enableDialogCreate(); $grid->setDialogFormDimensions('50%', '60%'); $grid->withBorder(); $grid->addTableClass(['table-text-center']); $grid->actions(function (Grid\Displayers\Actions $actions) { $actions->quickEdit(true); $actions->disableEdit(); $actions->disableView(); }); $grid->tools(function (Grid\Tools $tools) { $tools->append('兑换记录'); }); // $grid->export()->rows(function ($rows) use ($types) { // dump($rows); foreach ($rows as &$row) { unset($row['attire.img_1']); $tmp = $row->toArray(); $row['type'] = $types[$row['type']]; // dd($tmp); $row['attire.name'] = $tmp['attire']? $tmp['attire']['name']:'-'; $row['attire.cate'] = $tmp['attire']? $tmp['attire']['cate']:'-'; } // return $rows; }); }); } /** * Make a show builder. * * @param mixed $id * * @return Show */ protected function detail($id) { return Show::make($id, new Gift(), function (Show $show) { $show->field('id'); $show->field('type'); $show->field('attire_id'); $show->field('limit'); $show->field('sort'); $show->field('created_at'); $show->field('updated_at'); }); } /** * Make a form builder. * * @return Form */ protected function form() { return Form::make(new Gift(), function (Form $form) { $form->radio('type') ->when(1, function (Form $form) { $form->image('img','礼劵图片')->autoUpload(); })->when(2, function (Form $form) { $form->selectTable('attire_id', '装扮') // 设置渲染类实例,并传递自定义参数 ->title('装扮列表') ->dialogWidth('50%') // 弹窗宽度,默认 800px ->from(AttireTable::make()) ->model(\App\Models\Attire::class, 'id', 'name') ->default(0); })->options([1=>'礼劵',2=>'装扮']) ->required() ->default(2); $form->textarea("info")->help("建议字数控制在40字左右,超出会省略...")->required(); $form->number('cost_pasters')->default(0)->required()->help("限购规则:礼劵是每月限购,装扮是永久"); $form->number('limit')->default(1)->required(); $form->number('sort')->help("数字大的优先展示"); }); } }