column('id')->sortable(); $grid->column('sn'); $grid->column('order.sn')->if(function () { return Admin::user()->can('dcat.admin.orders.show'); }) ->then(function (Column $column) { $column->link(function ($value) { return admin_url('orders/'.$this->order_id); }); }) ->else(function (Column $column) { $column->copyable(); }); $grid->column('afterSale.sn')->if(function () { return Admin::user()->can('dcat.admin.after-sales.show'); }) ->then(function (Column $column) { $column->link(function ($value) { return admin_url('after-sales/'.$this->after_sale_id); }); }) ->else(function (Column $column) { $column->copyable(); }); $grid->column('amount')->display(function ($value) { return bcdiv($value, 100, 2); })->prepend('¥'); $grid->column('status')->using(OrderRefundLogModel::$statusTexts)->dot([ 0=>'primary', 4=>'success', 5=>'danger', ]); $grid->column('reason'); $grid->column('failed_reason'); $grid->column('created_at'); $grid->column('updated_at')->sortable(); $grid->filter(function (Grid\Filter $filter) { $filter->panel(); $filter->equal('sn')->width(3); $filter->equal('order.sn')->width(3); $filter->equal('afterSale.sn')->width(3); }); }); } /** * Make a show builder. * * @param mixed $id * * @return Show */ protected function detail($id) { return Show::make($id, new OrderRefundLog(), function (Show $show) { $show->field('id'); $show->field('sn'); $show->field('order_id'); $show->field('after_sale_id'); $show->field('amount'); $show->field('status'); $show->field('reason'); $show->field('failed_reason'); $show->field('created_at'); $show->field('updated_at'); }); } /** * Make a form builder. * * @return Form */ protected function form() { return Form::make(new OrderRefundLog(), function (Form $form) { $form->display('id'); $form->text('sn'); $form->text('order_id'); $form->text('after_sale_id'); $form->text('amount'); $form->text('status'); $form->text('reason'); $form->text('failed_reason'); $form->display('created_at'); $form->display('updated_at'); }); } }