model()->where('status', UserVip::STATUS_SUCCESS)->latest('created_at'); $grid->column('user.phone'); $grid->column('name'); $grid->column('times')->display(function ($v) { return data_get($v, 'text'); }); $grid->column('price'); $grid->column('points')->display(fn() => data_get($this->gift, 'points', 0)); $grid->column('success_time'); $grid->column('expired'); $grid->disableViewButton(false); $grid->filter(function (Grid\Filter $filter) { $filter->panel(false); $filter->like('user.phone')->width(3); $filter->like('name')->width(3); }); }); } /** * Make a show builder. * * @param mixed $id * * @return Show */ protected function detail($id) { return Show::make($id, UserVip::with(['user', 'pay']), function (Show $show) { $show->field('id'); $show->field('user.phone', '用户'); $show->field('name', '会员卡'); $show->field('times')->as(function ($v) { return data_get($v, 'text'); }); $show->field('success_time'); $show->field('expired'); $show->field('gift', '赠品')->view('admin.vip.gift'); $show->field('pay.pay_sn', '订单号'); $show->field('pay.pay_way', '支付方式')->as(function ($value) { return $this->pay->pay_way->text(); }); $show->panel()->tools(function ($tools) { $tools->disableEdit(); $tools->disableDelete(); }); }); } /** * Make a form builder. * * @return Form */ protected function form() { return Form::make(new UserVip(), function (Form $form) { $form->display('id'); $form->text('user_id'); $form->text('vip_id'); $form->text('times'); $form->text('success_time'); $form->display('created_at'); $form->display('updated_at'); }); } }