44 lines
1.4 KiB
PHP
44 lines
1.4 KiB
PHP
<?php
|
|
|
|
namespace App\Admin\Controllers\Store;
|
|
|
|
use Dcat\Admin\{Form, Grid, Admin};
|
|
use Dcat\Admin\Http\Controllers\AdminController;
|
|
use App\Models\{User, UserInfo};
|
|
|
|
class UserController extends AdminController
|
|
{
|
|
protected $translation = 'store-user';
|
|
protected function grid()
|
|
{
|
|
$query = UserInfo::with(['user'])
|
|
->withCount(['inviteCompleteOrders','inviteUserInfos'])
|
|
->withSum('inviteCompleteOrders', 'total_amount');
|
|
$grid = Grid::make($query);
|
|
|
|
$grid->model()
|
|
->where('is_company', 1)
|
|
->orderBy('created_at', 'desc');
|
|
|
|
$grid->column('user.id');
|
|
$grid->column('avatar')->image('', 64);
|
|
$grid->column('nickname');
|
|
$grid->column('user.phone', '手机号')->copyable();
|
|
$grid->column('invite_complete_orders_count', '帮下单数');
|
|
$grid->column('invite_complete_orders_sum_total_amount', '帮下单总额')->display(function ($value) {
|
|
return bcdiv($value, 100, 2);
|
|
});
|
|
$grid->column('invite_user_infos_count', '邀请人数');
|
|
$grid->column('user.created_at', '注册时间');
|
|
|
|
$grid->filter(function (Grid\Filter $filter) {
|
|
$filter->panel();
|
|
$filter->like('user.phone', '手机号')->width(3);
|
|
$filter->between('user.created_at', '注册时间')->dateTime()->width(7);
|
|
});
|
|
|
|
$grid->disableActions();
|
|
return $grid;
|
|
}
|
|
}
|