model()->orderBy('id', 'desc'); $grid->column('id')->sortable(); $grid->column('order_id'); $grid->column('state') ->using(admin_trans('order.options.state')) ->label([ 0 => 'primary', 1 => 'warning', 2 => 'success', 3 => 'danger', 4 => 'gray', ]); $grid->column('push_time'); $grid->column('response_time'); $grid->column('response_code'); $grid->column('response_body')->display(fn($v) => e(Str::limit($v, 15)))->width('15%'); $grid->column('push_duration')->display(function ($v) { if ($this->response_code === null) { return ''; } return ($v / 1000).'秒'; }); $grid->disableCreateButton(); $grid->disableEditButton(); $grid->disableDeleteButton(); $grid->disableBatchDelete(); $grid->filter(function (Grid\Filter $filter) { $filter->equal('order_id')->width(3); }); }); } /** * Make a show builder. * * @param mixed $id * * @return Show */ protected function detail($id) { return Show::make($id, new OrderNotify(), function (Show $show) { $show->disableEditButton(); $show->disableDeleteButton(); $show->field('id'); $show->field('order_id'); $show->field('state')->using(admin_trans('order.options.state')); $show->field('push_time'); $show->field('push_body')->unescape()->as(function ($v) { parse_str($v, $r); return '推送数据:
'.e($v).'
'.var_export($r, true).''; }); $show->field('response_time'); $show->field('response_code'); $show->field('response_body')->unescape()->as(fn($v) => '
'.e($v).''); $show->field('push_duration')->as(function ($v) { if ($this->response_code === null) { return ''; } return ($v / 1000).'秒'; }); }); } /** * Make a form builder. * * @return Form */ protected function form() { return Form::make(new OrderNotify(), function (Form $form) { $form->display('id'); }); } }