column('id', 'ID')->sortable(); $grid->column('urs_user_id', 'URS用户ID')->sortable()->display(function ($value) { // 添加到推荐关系的链接 $referralUrl = admin_url('urs-promotion/user-referrals?urs_user_id=' . $value); $talentUrl = admin_url('urs-promotion/user-talents?urs_user_id=' . $value); return $value . '
查看推荐关系 | 查看达人等级 '; }); $grid->column('user_id', '农场用户ID')->sortable()->display(function ($value) { if (!$value) return '未绑定'; // 添加到收益记录的链接 $profitUrl = admin_url('urs-promotion/profits?farm_user_id=' . $value); return $value . '
查看收益记录 '; }); $grid->column('mapping_time', '绑定时间')->sortable(); $grid->column('status', '状态')->using([ UrsUserMapping::STATUS_INVALID => '无效', UrsUserMapping::STATUS_VALID => '有效', ])->label([ UrsUserMapping::STATUS_INVALID => 'danger', UrsUserMapping::STATUS_VALID => 'success', ]); $grid->column('is_active', '活跃状态')->using(UrsUserMapping::$activeMap)->label([ UrsUserMapping::ACTIVE_NO => 'warning', UrsUserMapping::ACTIVE_YES => 'success', ]); $grid->column('active_days_count', '活跃天数')->display(function ($value) { return $value > 0 ? $value : '0'; }); $grid->column('last_activity_check', '最后检查时间')->display(function ($value) { return $value ? $value : '从未检查'; }); $grid->column('created_at', '创建时间')->sortable(); // 禁用创建按钮(映射关系通过系统自动创建) $grid->disableCreateButton(); // 只保留查看详情 $grid->actions(function (Grid\Displayers\Actions $actions) { $actions->disableEdit(); // $actions->disableDelete(); // 添加自定义操作 $actions->append(new \App\Module\UrsPromotion\AdminControllers\Actions\SyncUserInfoAction()); $actions->append(new \App\Module\UrsPromotion\AdminControllers\Actions\ValidateMappingAction()); }); // 设置过滤器 $grid->filter(function (Grid\Filter $filter) { $filter->equal('urs_user_id', 'URS用户ID'); $filter->equal('user_id', '农场用户ID'); $filter->equal('status', '状态')->select([ UrsUserMapping::STATUS_INVALID => '无效', UrsUserMapping::STATUS_VALID => '有效', ]); $filter->equal('is_active', '活跃状态')->select(UrsUserMapping::$activeMap); $filter->between('mapping_time', '绑定时间')->datetime(); $filter->between('last_activity_check', '最后检查时间')->datetime(); $filter->between('created_at', '创建时间')->datetime(); }); // 设置默认排序 $grid->model()->orderBy('id', 'desc'); }); } /** * 详情页面 */ protected function detail($id): Show { return Show::make($id, new UrsUserMappingRepository(), function (Show $show) { $show->field('id', 'ID'); $show->field('urs_user_id', 'URS用户ID'); $show->field('user_id', '农场用户ID'); $show->field('mapping_time', '绑定时间'); $show->field('status', '状态')->using([ UrsUserMapping::STATUS_INVALID => '无效', UrsUserMapping::STATUS_VALID => '有效', ]); // 活跃用户信息 $show->divider('活跃用户信息'); $show->field('is_active', '活跃状态')->using(UrsUserMapping::$activeMap); $show->field('active_days_count', '活跃天数'); $show->field('last_activity_check', '最后检查时间'); $show->field('created_at', '创建时间'); $show->field('updated_at', '更新时间'); // 添加相关链接区域 $show->divider('相关信息'); $show->field('related_links', '相关链接')->unescape()->as(function ($value, $model) { $links = []; // 推荐关系链接 $referralUrl = admin_url('urs-promotion/user-referrals?urs_user_id=' . $model->urs_user_id); $links[] = ' 查看推荐关系 '; // 达人等级链接 $talentUrl = admin_url('urs-promotion/user-talents?urs_user_id=' . $model->urs_user_id); $links[] = ' 查看达人等级 '; // 收益记录链接(如果有农场用户ID) if ($model->user_id) { $profitUrl = admin_url('urs-promotion/profits?farm_user_id=' . $model->user_id); $links[] = ' 查看收益记录 '; } return implode(' ', $links); }); // 禁用编辑和删除按钮 $show->disableEditButton(); $show->disableDeleteButton(); }); } /** * 表单页面(禁用) */ protected function form(): Form { return Form::make(new UrsUserMappingRepository(), function (Form $form) { // 映射关系不允许手动创建或编辑 $form->display('id', 'ID'); $form->display('urs_user_id', 'URS用户ID'); $form->display('user_id', '农场用户ID'); $form->display('mapping_time', '绑定时间'); $form->display('status', '状态'); $form->display('created_at', '创建时间'); $form->display('updated_at', '更新时间'); // 禁用所有操作 $form->disableCreatingCheck(); $form->disableEditingCheck(); $form->disableViewCheck(); }); } }