disableRowSelector(); $grid->disableColumnSelector(); $grid->disableExport(); $grid->disableActions(); $grid->model()->orderBy('created_at', 'desc'); $grid->column('order_id', '订单号'); $grid->column('user_id', '用户编号'); $grid->column('用户账号')->display(function () { return $this->user->username; }); $grid->column('用户名称')->display(function () { return $this->user->info->nickname; }); $grid->column('num', '购卡数量'); $grid->column('price', '购卡金额'); $grid->column('status', '状态')->display(function () { return $this->status_text; })->label([ 0 => 'warning', 1 => 'success', 2 => 'success', 3 => 'success', 4 => 'info', ]); $grid->column('收货地址')->display(function () { if ($this->express) { $res = $this->express->name . "
"; $res .= $this->express->mobile . "
"; $res .= $this->express->address . "
"; return $res; } else { return ''; } }); $grid->column('物流')->display(function () { if ($this->express) { $res = get_deliver_name($this->express->company) . "
"; $res .= $this->express->number . "
"; return $res; } else { return ''; } }); $grid->filter(function ($filter) { $filter->disableIdFilter(); $filter->column(1 / 3, function ($filter) { $filter->like('order_id', '订单编号'); $filter->equal('status', '订单状态')->select([ 0 => '待支付', 1 => '已支付', 2 => '已发货', 3 => '已收货', ]); }); $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(['L' => '拉', 'K' => '卡', 'F' => '蝠']); }); // $filter->column(1 / 3, function ($filter) { // $filter->between('created_at', '下单时间')->datetime(); // }); }); return $grid; } /** * Make a form builder. * * @return Form */ protected function form() { $form = new Form(new CardOrder); $form->text('user_id', '购卡用户ID')->rules('required'); $form->number('num', '购卡数量')->rules('required'); $form->currency('price', '购卡金额')->symbol('¥')->rules('required'); $form->textarea('remark', '备注')->rules('max:255', ['max' => '简介最多255字']); $form->hidden('status')->default(1); return $form; } }