column('id', 'ID')->sortable();
$grid->column('urs_user_id', 'URS用户ID')->sortable()->display(function ($value) {
// 添加到用户绑定和推荐关系的链接
$mappingUrl = admin_url('urs-promotion/user-mappings?urs_user_id=' . $value);
$referralUrl = admin_url('urs-promotion/user-referrals?urs_user_id=' . $value);
return $value . '
查看绑定关系 |
查看推荐关系
';
});
$grid->column('userMapping.user_id', '用户ID')->sortable()->display(function ($value) {
if (!$value) return '未绑定';
// 添加到收益记录的链接
$profitUrl = admin_url('urs-promotion/profits?farm_user_id=' . $value);
return $value . '
查看收益记录
';
});
$grid->column('talent_level', '达人等级')->display(function ($value) {
return UrsTalentLevel::getLevelName($value);
})->label([
0 => 'default',
1 => 'primary',
2 => 'info',
3 => 'success',
4 => 'warning',
5 => 'danger',
])->sortable();
$grid->column('direct_count', '直推人数')->sortable();
$grid->column('indirect_count', '间推人数')->sortable();
$grid->column('third_count', '三推人数')->sortable();
$grid->column('promotion_count', '团队总人数')->sortable();
$grid->column('last_level_update_time', '最后升级时间')->sortable();
$grid->column('created_at', '创建时间')->sortable();
// 添加批量更新达人等级功能
$grid->tools(function (Grid\Tools $tools) {
$tools->append(new \App\Module\UrsPromotion\AdminControllers\Actions\BatchUpdateTalentAction());
});
// 添加单个更新功能
$grid->actions(function (Grid\Displayers\Actions $actions) {
$actions->append(new \App\Module\UrsPromotion\AdminControllers\Actions\UpdateTalentAction());
});
$grid->filter(function (Grid\Filter $filter) {
UrsUserTalentFilterHelper::make($filter);
});
});
}
/**
* 详情页面
*/
protected function detail($id): Show
{
return Show::make($id, new UrsUserTalentRepository(), function (Show $show) {
$show->field('id', 'ID');
$show->field('user_id', '用户ID');
$show->field('talent_level', '达人等级')->using(UrsTalentLevel::getAllLevels());
$show->field('direct_count', '直推人数');
$show->field('indirect_count', '间推人数');
$show->field('third_count', '三推人数');
$show->field('promotion_count', '团队总人数');
$show->field('last_level_update_time', '最后升级时间');
$show->field('created_at', '创建时间');
$show->field('updated_at', '更新时间');
// 显示推荐关系树
$show->divider();
$show->field('referral_tree', '推荐关系树')->unescape()->as(function () {
$tree = UrsTalentService::getUserReferralTree($this->user_id);
$html = '
暂无团队成员
'; } $html .= '