column('id')->sortable(); $grid->column('quan_name'); // $grid->column('ticket_type'); $grid->column('ticket_value'); $grid->column('the_type')->using([0=>'全场通用',1=>'指定商品',2=>'指定分类'])->label([ 0 => 'primary', 1 => 'danger', 2 => 'success', ]); $grid->column('the_value')->display(function(){ if($this->the_type == 1){ return array_column($this->goodsValue->toArray(), 'goods_name'); } if($this->the_type == 2){ return array_column($this->cateValue->toArray(), 'category_name'); } return ['全场通用']; })->label(); $grid->column('use_limit'); $grid->column('use_day')->append('天'); $grid->column('is_use')->switch(); $grid->column('created_at'); $grid->actions(function (Grid\Displayers\Actions $actions) { $actions->append(' '); }); $grid->filter(function (Grid\Filter $filter) { // $filter->equal('id'); $filter->like('quan_name'); }); }); } /** * Make a show builder. * * @param mixed $id * * @return Show */ protected function detail($id) { return Show::make($id, new QuanTicket(), function (Show $show) { $show->field('id'); $show->field('quan_name'); // $show->field('ticket_type'); $show->field('ticket_value'); $show->field('the_type'); $show->field('use_limit'); $show->field('use_day'); $show->field('is_use'); $show->field('created_at'); $show->field('updated_at'); }); } /** * Make a form builder. * * @return Form */ protected function form() { return Form::make(QuanTicket::with(['cateValue', 'goodsValue']), function (Form $form) { $form->display('id'); $form->text('quan_name')->required(); // $form->radio('ticket_type')->options(['0'=>'现金券','1'=>'折扣券']); $form->currency('ticket_value')->symbol('¥')->default(0)->required(); $form->currency('use_limit')->symbol('¥')->default(0)->required(); $form->radio('the_type')->when(0, function (Form $form) { // $form-> })->when(1, function (Form $form) { $form->multipleSelect('goodsValue', '指定商品')->options(admin_route('goods.api'))->customFormat(function ($v) { if (! $v) { return []; } // 从数据库中查出的二维数组中转化成ID return array_column($v, 'id'); }); })->when(2, function (Form $form) { $form->multipleSelect('cateValue', '指定分类')->options(admin_route('goods_categories.api'))->customFormat(function ($v) { if (! $v) { return []; } // 从数据库中查出的二维数组中转化成ID return array_column($v, 'id'); });; })->options(['0'=>'全场通用','1'=>'指定商品','2'=>'指定分类'])->default(0); $form->number('use_day')->default(1)->required(); $form->switch('is_use')->default(1); $form->text('use_rule'); $form->saving(function(Form $form){ //清除 if($form->the_type == 1){ $form->cateValue = []; } else if($form->the_type == 2){ $form->goodsValue = []; }else{ $form->cateValue = []; $form->goodsValue = []; } }); $form->display('created_at'); $form->display('updated_at'); }); } }