112 lines
3.6 KiB
PHP
112 lines
3.6 KiB
PHP
<?php
|
|
|
|
namespace App\Admin\Controllers;
|
|
|
|
use App\Models\CardOrder;
|
|
use Encore\Admin\Controllers\AdminController;
|
|
use Encore\Admin\Form;
|
|
use Encore\Admin\Grid;
|
|
|
|
class CardOrderController extends AdminController
|
|
{
|
|
protected $title = '购卡管理';
|
|
|
|
protected function grid()
|
|
{
|
|
$grid = new Grid(new CardOrder);
|
|
$grid->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 . "<br>";
|
|
$res .= $this->express->mobile . "<br>";
|
|
$res .= $this->express->address . "<br>";
|
|
return $res;
|
|
} else {
|
|
return '';
|
|
}
|
|
});
|
|
|
|
$grid->column('物流')->display(function () {
|
|
if ($this->express) {
|
|
$res = get_deliver_name($this->express->company) . "<br>";
|
|
$res .= $this->express->number . "<br>";
|
|
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;
|
|
}
|
|
}
|