6
0
Fork 0
jiqu-library-server/app/Admin/Controllers/Store/OrderController.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;
}
}