header('订单列表')
->body($this->grid());
}
/**
* Show interface.
* @param mixed $id
* @param Content $content
* @return Content
*/
public function detail(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->actions(function ($actions) {
$actions->disableDelete();
$actions->disableEdit();
$actions->disableView();
if ($actions->row->canDeliver() && $actions->row->state == Order::ORDER_PAID) {
$actions->add(new OrderDeliver);
}
});
$grid->filter(function ($filter) {
$filter->disableIdFilter();
$filter->column(1 / 3, function ($filter) {
$filter->like('orderid', '订单编号');
$filter->equal('state', '订单状态')->select([
Order::ORDER_UNPAID => '待支付',
Order::ORDER_PAID => '已支付',
Order::ORDER_DELIVERED => '已发货',
Order::ORDER_SIGNED => '已签收',
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->equal('type', '订单类型')->select(['MEMBER' => '会员商城', 'PICK' => '提货商城']);
});
$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 .= '
商品数量:' . $this->details()->sum('number') . '';
return $ret;
});
$grid->column('订单类型')->display(function () {
return $this->type_text;
});
$grid->column('商品信息')->display(function () {
$ret = '';
foreach ($this->details as $detail) {
$ret .= '
' . $detail->item->getTitle() . ' ' . number_format($detail['price'], 2) . ' * ' . $detail['number'] . '
'; } return $ret; }); $grid->column('下单用户')->display(function () { $ret = '