header('订单列表') ->body($this->grid()); } /** * Show interface. * @param mixed $id * @param Content $content * @return Content */ public function show(Order $order, Content $content) { return Admin::content(function (Content $content) use ($order) { $content->header('订单详情'); $content->body(view("admin.order.detail", compact('order'))); }); } /** * Make a grid builder. * @return Grid */ protected function grid() { $grid = new Grid(new Order); $grid->disableCreateButton(); $grid->model()->orderBy('id', 'desc')->with(['details.item', 'user.info', 'payment']); $grid->paginate(10); $grid->actions(function ($actions) { $actions->disableDelete(); $actions->disableEdit(); $actions->disableView(); $actions->append('
'); if ($actions->row->canDeliver() && $actions->row->state == Order::ORDER_DELIVER) { $actions->append(new OrderDeliver($actions->row)); } }); $grid->filter(function ($filter) { $filter->disableIdFilter(); $filter->column(1 / 3, function ($filter) { $filter->like('orderid', '订单编号'); $filter->equal('state', '订单状态')->select([ Order::ORDER_UNPAY => '待支付', Order::ORDER_PAID => '已支付', Order::ORDER_CANCEL => '已取消', ]); }); $filter->column(1 / 3, function ($filter) { $filter->where(function ($query) { $query->whereHas('user', function ($query) { $query->whereHas('info', function ($query) { $query->where('nickname', 'like', "%{$this->input}%"); }); }); }, '下单用户'); }); $filter->column(1 / 3, function ($filter) { $filter->between('created_at', '下单时间')->datetime(); $filter->between('paid_at', '付款时间')->datetime(); }); // $filter->expand(); }); $grid->orderid('订单编号')->display(function ($model) { $ret = "{$this->orderid}"; $ret .= '' . $detail['item']['name'] . ' ' . number_format($detail['price'], 2) . ' * ' . $detail['number'] . '
'; } return $ret; }); $grid->column('下单用户')->display(function () { $ret = '