service = new UserService(); } /** * 列表页面 * * @return Grid */ protected function grid() { return Grid::make(new User(), function (Grid $grid) { $helper = new GridHelper($grid, $this); // 使用高复用价值的列方法 $helper->columnUserInfo(); // 组合列,显示用户ID、用户名和头像 $helper->columnStatus(); // 状态显示,带标签 $helper->columnUserContact('phone', 'email', 'wx_id'); // 组合列,显示联系方式 $helper->columnTimes(); // 组合列,显示创建和更新时间 // 筛选器 $grid->filter(function (Grid\Filter $filter) { $helper = new FilterHelper($filter, $this); // 使用高复用价值的筛选方法组 $helper->addUserBasicFilterGroup(); // 添加完整的用户基本筛选组 $helper->likePhone(); // 手机号筛选 $helper->likeEmail(); // 邮箱筛选 }); }); } /** * 详情页面 * * @param mixed $id * @return Show */ protected function detail($id) { return Show::make($id, new User(), function (Show $show) { $helper = new ShowHelper($show, $this); // 使用高复用价值的面板方法 $helper->addUserBasicPanel(); // 添加完整的用户基本信息面板 $helper->addUserContactPanel(); // 添加完整的用户联系信息面板 $helper->addUserSecurityPanel(); // 添加完整的用户安全信息面板 $helper->addUserTimePanel(); // 添加完整的用户时间信息面板 // 显示其他特殊字段 $show->field('google2fa_secret', 'Google双因素密钥'); }); } /** * 表单页面 * * @return Form */ protected function form() { return Form::make(new User(), function (Form $form) { $helper = new FormHelper($form, $this); $form->display('id', 'ID'); // 使用高复用价值的表单方法组 $helper->addUserBasicFields($form->isCreating()); // 添加完整的用户基本信息表单组 $helper->addUserContactFields(); // 添加完整的用户联系信息表单组 $helper->addUserSecurityFields(); // 添加完整的用户安全信息表单组 // 添加其他特殊字段 $form->text('google2fa_secret', 'Google双因素密钥'); $form->display('created_at', '创建时间'); $form->display('updated_at', '更新时间'); }); } }