56 lines
1.7 KiB
PHP
56 lines
1.7 KiB
PHP
<?php
|
|
|
|
namespace App\Admin\Controllers\Store;
|
|
|
|
use Dcat\Admin\{Form, Grid, Admin};
|
|
use Dcat\Admin\Http\Controllers\AdminController;
|
|
use App\Models\Order;
|
|
use App\Enums\PayWay;
|
|
|
|
class OrderController extends AdminController
|
|
{
|
|
protected $translation = 'store-order';
|
|
protected function grid()
|
|
{
|
|
$grid = new Grid(Order::with(['user', 'inviter']));
|
|
$grid->model()->whereNotNull('inviter_id');
|
|
|
|
$grid->column('sn')->copyable();
|
|
$grid->column('user.phone')->copyable();
|
|
$grid->column('inviter.phone')->copyable();
|
|
$grid->column('total_amount')->display(function ($value) {
|
|
return bcdiv($value, 100, 2);
|
|
})->prepend('¥');
|
|
$grid->column('sales_value');
|
|
$grid->column('order_status')->using([
|
|
0 => '待付款',
|
|
1 => '待发货',
|
|
2 => '发货中',
|
|
3 => '已发货',
|
|
9 => '已完成',
|
|
10 => '已取消',
|
|
])->dot([
|
|
0=>'primary',
|
|
1=>'warning',
|
|
2=>'danger',
|
|
3=>'success',
|
|
9=>'success',
|
|
10=>'#b3b9bf',
|
|
]);
|
|
$grid->column('pay_way')->display(function ($v) {
|
|
return $v?->mallText();
|
|
})->circleDot(PayWay::colors());
|
|
$grid->column('pay_at');
|
|
$grid->column('created_at');
|
|
|
|
$grid->filter(function (Grid\Filter $filter) {
|
|
$filter->panel();
|
|
$filter->like('sn')->width(3);
|
|
$filter->like('user.phone')->width(3);
|
|
$filter->like('inviter.phone')->width(3);
|
|
$filter->between('created_at')->dateTime()->width(7);
|
|
});
|
|
return $grid;
|
|
}
|
|
}
|