
五、若依管理系统——添加用户数据预加载(流程、代码理解
getTreeselect():获取部门树状图(因为在点击新增用户后,有一个下拉列表是选部门的。getUser(): 获取用户其他的一些信息,进行回调,进行下拉列表的预填充。后端:查询到预加载的数据,传给前端,回填到表单中。reset():表单重置,把表单里的内容清空。
·
添加用户数据预加载
前端入口
reset():表单重置,把表单里的内容清空
getTreeselect():获取部门树状图(因为在点击新增用户后,有一个下拉列表是选部门的
getUser(): 获取用户其他的一些信息,进行回调,进行下拉列表的预填充
后端:查询到预加载的数据,传给前端,回填到表单中
/**
* 根据用户编号获取详细信息
*/
@PreAuthorize("@ss.hasPermi('system:user:query')")
@GetMapping(value = { "/", "/{userId}" })
public AjaxResult getInfo(@PathVariable(value = "userId", required = false) Long userId)
{
// 检查用户数据范围权限
userService.checkUserDataScope(userId);
// 创建成功的Ajax响应对象
AjaxResult ajax = AjaxResult.success();
// 获取所有角色列表
List<SysRole> roles = roleService.selectRoleAll();
// 如果用户是管理员,返回所有角色,否则返回非管理员角色
ajax.put("roles", SysUser.isAdmin(userId) ? roles : roles.stream().filter(r -> !r.isAdmin()).collect(Collectors.toList()));
// 获取所有岗位列表
ajax.put("posts", postService.selectPostAll());
// 如果userId不为空,则获取该用户的详细信息
if (StringUtils.isNotNull(userId))
{
// 通过userId获取用户信息
SysUser sysUser = userService.selectUserById(userId);
// 将用户信息添加到响应中
ajax.put(AjaxResult.DATA_TAG, sysUser);
// 获取用户的岗位ID列表
ajax.put("postIds", postService.selectPostListByUserId(userId));
// 获取用户的角色ID列表
ajax.put("roleIds", sysUser.getRoles().stream().map(SysRole::getRoleId).collect(Collectors.toList()));
}
// 返回Ajax响应对象
return ajax;
}
@PreAuthorize("@ss.hasPermi('system:user:query')"): 这是一个安全注解,用于检查调用该方法的用户是否具有system:user:query权限。@GetMapping(value = { "/", "/{userId}" }): 这是一个映射注解,表示该方法响应HTTP GET请求,URL路径可以是/或者带有用户编号的/{userId}。@PathVariable(value = "userId", required = false) Long userId: 这是一个路径变量,它从URL中获取userId参数。required = false表示这个参数是可选的,如果URL中没有提供,userId将为null。userService.checkUserDataScope(userId): 调用userService中的方法来检查用户数据范围权限。AjaxResult.success(): 创建一个表示成功的AjaxResult对象
更多推荐
reset():表单重置,把表单里的内容清空

所有评论(0)