From 8d384b6f5e510fd23f30061b0678abceb624c2a3 Mon Sep 17 00:00:00 2001 From: zhaoxiaohao <913652501@qq.com> Date: Fri, 24 Apr 2020 11:39:25 +0800 Subject: [PATCH] 添加数据权限的功能 --- kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysRoleMapper.xml | 3 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/resources/application.yml | 1 kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/BaseSupperModel.java | 3 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/dto/SysRoleOrganizationDto.java | 25 + kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/system/role.html | 230 ++++++++++-- kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysRoleOrganizationMapper.xml | 51 ++ kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysRoleOrganizationService.java | 40 ++ kidgrow-web/kidgrow-web-manager/src/main/resources/static/module/index.js | 1 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/model/SysRole.java | 1 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysDoctorMapper.xml | 41 ++ kidgrow-config/src/main/resources/application-dev.properties | 5 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysRoleOrganizationController.java | 130 +++++++ kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/SuperModel.java | 5 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysDoctorService.java | 3 kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/SysOrganization.java | 71 ++- kidgrow-springcloud/kidgrow-springcloud-zuul/src/main/java/com/kidgrow/zuul/filter/UserInfoHeaderFilter.java | 3 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysDoctorServiceImpl.java | 30 + kidgrow-commons/kidgrow-db-spring-boot-starter/src/main/java/com/kidgrow/db/config/DateMetaObjectHandler.java | 26 + kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/SysUserOrg.java | 2 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/model/SysRoleOrganization.java | 54 +++ kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/constant/SecurityConstants.java | 2 kidgrow-commons/kidgrow-ribbon-spring-boot-starter/src/main/java/com/kidgrow/ribbon/config/FeignHttpInterceptorConfig.java | 1 kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/SysRole.java | 1 kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/SuperEntity.java | 6 kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/header.html | 21 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysDoctorController.java | 7 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/mapper/SysRoleOrganizationMapper.java | 34 + kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysRoleOrganizationServiceImpl.java | 192 ++++++++++ kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/sysOrganization.html | 6 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysOrganizationServiceImpl.java | 51 ++ 30 files changed, 943 insertions(+), 103 deletions(-) diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/dto/SysRoleOrganizationDto.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/dto/SysRoleOrganizationDto.java new file mode 100644 index 0000000..46e7059 --- /dev/null +++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/dto/SysRoleOrganizationDto.java @@ -0,0 +1,25 @@ +package com.kidgrow.usercenter.dto; + +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.util.List; + +@Data +public class SysRoleOrganizationDto { + /** + * 1代表全部数据权限,2自定义数据权限,3本部门数据权限,4本部门及以下数据权限,5仅本人数据权限 + */ + // @NotEmpty(message = "1代表全部数据权限,2自定义数据权限,3本部门数据权限,4本部门及以下数据权限,5仅本人数据权限不能为空") + @NotNull(message = "权限范围不能为空") + private Integer type; + /** + * 角色id + */ + @NotNull(message = "角色不能为空") + private Long roleId; + /** + * 部门id organization_id + */ + private List<Long> orgIds; +} diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/model/SysRole.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/model/SysRole.java index 8ec8dad..838d3b7 100644 --- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/model/SysRole.java +++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/model/SysRole.java @@ -49,4 +49,5 @@ */ @NotEmpty(message = "状态,1启用,0停用不能为空") private Integer enabled; + } diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/model/SysRoleOrganization.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/model/SysRoleOrganization.java new file mode 100644 index 0000000..99d5a2f --- /dev/null +++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/model/SysRoleOrganization.java @@ -0,0 +1,54 @@ +package com.kidgrow.usercenter.model; + +import com.kidgrow.common.model.SuperModel; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import org.hibernate.validator.constraints.*; + +import javax.validation.constraints.*; +import java.util.Date; + +/** + * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br> + * + * @version 1.0 + * @Description: 角色对应的 部门<br> + * @Project: 用户中心<br> + * @CreateDate: Created in 2020-04-21 14:24:41 <br> + * @Author: <a href="4345453@kidgrow.com">liuke</a> + */ +@Data +@EqualsAndHashCode(callSuper = false) +@NoArgsConstructor +@AllArgsConstructor +@TableName("sys_role_organization") +public class SysRoleOrganization extends SuperModel { + private static final long serialVersionUID = 1L; + + /** + * 1代表全部数据权限,2自定义数据权限,3本部门数据权限,4本部门及以下数据权限,5仅本人数据权限 + */ + /** + * 角色id + */ + private Long roleId; + /** + * 部门id organization_id + */ + private Long orgId; + /** + * 部门code organization_code + */ + private String orgCode; + /** + * 是否删除,1删除,0未删除 + */ + private Boolean isDel; +} diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/mapper/SysRoleOrganizationMapper.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/mapper/SysRoleOrganizationMapper.java new file mode 100644 index 0000000..9bd3f32 --- /dev/null +++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/mapper/SysRoleOrganizationMapper.java @@ -0,0 +1,34 @@ +package com.kidgrow.usercenter.mapper; + +import com.kidgrow.usercenter.model.SysRoleOrganization; +import com.kidgrow.db.mapper.SuperMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Param; + +import java.util.List; +import java.util.Map; + +/** + * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br> + * @Description: 角色对应的 部门<br> + * @Project: 用户中心<br> + * @CreateDate: Created in 2020-04-21 14:24:41 <br> + * @Author: <a href="4345453@kidgrow.com">liuke</a> + * @version 1.0 + */ +public interface SysRoleOrganizationMapper extends SuperMapper<SysRoleOrganization> { + /** + * 分页查询角色对应的 部门列表 + * @param page + * @param params + * @return + */ + List<SysRoleOrganization> findList(Page<SysRoleOrganization> page, @Param("p") Map<String, Object> params); + + /** + * 根据SysRoleOrganization对象当做查询条件进行查询 + * @param + * @return SysRoleOrganization对象 + */ + SysRoleOrganization findByObject(@Param("p") SysRoleOrganization sysRoleOrganization); +} diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysDoctorService.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysDoctorService.java index 988ccbb..6ac963d 100644 --- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysDoctorService.java +++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysDoctorService.java @@ -1,6 +1,7 @@ package com.kidgrow.usercenter.service; import com.kidgrow.common.model.ResultBody; +import com.kidgrow.common.model.SysUser; import com.kidgrow.usercenter.model.SysDoctor; import com.kidgrow.common.model.PageResult; import com.kidgrow.common.service.ISuperService; @@ -24,7 +25,7 @@ * @param params * @return */ - PageResult<SysDoctorVo> findList(Map<String, Object> params); + PageResult<SysDoctorVo> findList(Map<String, Object> params, SysUser user); /** diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysRoleOrganizationService.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysRoleOrganizationService.java new file mode 100644 index 0000000..f3d2c59 --- /dev/null +++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysRoleOrganizationService.java @@ -0,0 +1,40 @@ +package com.kidgrow.usercenter.service; + +import com.kidgrow.common.model.ResultBody; +import com.kidgrow.common.model.SysUser; +import com.kidgrow.usercenter.dto.SysRoleOrganizationDto; +import com.kidgrow.usercenter.model.SysRoleOrganization; +import com.kidgrow.common.model.PageResult; +import com.kidgrow.common.service.ISuperService; + +import java.util.Map; + +/** + * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br> + * @Description: 角色对应的 部门<br> + * @Project: 用户中心<br> + * @CreateDate: Created in 2020-04-21 14:24:41 <br> + * @Author: <a href="4345453@kidgrow.com">liuke</a> + * @version 1.0 + */ +public interface ISysRoleOrganizationService extends ISuperService<SysRoleOrganization> { + /** + * 列表 + * @param params + * @return + */ + PageResult<SysRoleOrganization> findList(Map<String, Object> params); + + + /** + * 根据SysRoleOrganization对象当做查询条件进行查询 + * @param sysRoleOrganization + * @return SysRoleOrganization对象 + */ + SysRoleOrganization findByObject(SysRoleOrganization sysRoleOrganization); + + boolean saveOrUpdateSer(SysRoleOrganizationDto sysRoleOrganizationDto, SysUser user); + + ResultBody getTree(Map<String, Object> params,SysUser user); +} + diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysDoctorServiceImpl.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysDoctorServiceImpl.java index 8d64181..a5cdc88 100644 --- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysDoctorServiceImpl.java +++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysDoctorServiceImpl.java @@ -1,10 +1,15 @@ package com.kidgrow.usercenter.service.impl; import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.kidgrow.common.constant.SecurityConstants; import com.kidgrow.common.model.*; import com.kidgrow.redis.util.RedisConstant; import com.kidgrow.redis.util.RedisUtils; +import com.kidgrow.usercenter.mapper.SysRoleMapper; +import com.kidgrow.usercenter.mapper.SysRoleOrganizationMapper; +import com.kidgrow.usercenter.model.SysRoleOrganization; +import com.kidgrow.usercenter.service.ISysRoleOrganizationService; import com.kidgrow.usercenter.service.ISysUserOrgService; import com.kidgrow.usercenter.service.ISysUserService; import com.kidgrow.usercenter.vo.SysDoctorDto; @@ -53,11 +58,32 @@ @Autowired private ISysUserOrgService sysUserOrgService; @Autowired - RedisUtils redisUtils; + private RedisUtils redisUtils; + @Autowired + private SysRoleOrganizationMapper sysRoleOrganizationMapper; + @Autowired + private SysRoleMapper sysRoleMapper; @Override - public PageResult<SysDoctorVo> findList(Map<String, Object> params) { + public PageResult<SysDoctorVo> findList(Map<String, Object> params, SysUser user) { Page<SysDoctor> page = new Page<>(MapUtils.getInteger(params, "page"), MapUtils.getInteger(params, "limit")); + List<SysRole> roles = user.getRoles(); + List<Map<SysRole,List<SysRoleOrganization>>> listroleOrg=new ArrayList<>(); + if (!roles.isEmpty()) { + roles.forEach(e->{ + Map<SysRole,List<SysRoleOrganization>> rolemap=new HashMap<>(); + Map<String,Object> map=new HashMap<>(); + map.put("role_id",e.getId()); + List<SysRoleOrganization> sysRoleOrganizations = sysRoleOrganizationMapper.selectByMap(map); + if(sysRoleOrganizations.size()>0){ + SysRole sysRole = sysRoleMapper.selectById(e.getId()); + rolemap.put(sysRole,sysRoleOrganizations); + listroleOrg.add(rolemap); + } + }); + } + + params.put("likes",listroleOrg); List<SysDoctor> list = baseMapper.findList(page, params); List<SysDoctorVo> listvo = new ArrayList<>(); list.forEach(e -> { diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysOrganizationServiceImpl.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysOrganizationServiceImpl.java index d815af8..f217783 100644 --- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysOrganizationServiceImpl.java +++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysOrganizationServiceImpl.java @@ -158,7 +158,7 @@ for (Long id : idList ) { Map<String, Object> map = new HashMap<>(); - map.put("id", id); + map.put("id", ""+id); map.put("name", collect.get(id).getOrgName()); map.put("level", collect.get(id).getOrgLevel()); List<Long> childs = sysOrganizations.stream().filter(e -> e.getOrgParentId() == id).map(e -> e.getId()).collect(Collectors.toList()); @@ -180,15 +180,64 @@ @Override @Transactional public boolean saveOrUpdateSer(SysOrganization sysOrganization) { + //获取code + if (sysOrganization.getId() == null) { //保存 + String code = this.getCode(sysOrganization); + sysOrganization.setOrgCode(code); baseMapper.insert(sysOrganization); } else { //更新 + SysOrganization sysOrg = baseMapper.selectById(sysOrganization.getId()); + if(sysOrg.getOrgParentId()!=sysOrganization.getOrgParentId()){ + String code = this.getCode(sysOrganization); + sysOrganization.setOrgCode(code); + } int i = baseMapper.updateById(sysOrganization); } redisUtils.hdel(RedisConstant.ORGANIZATION, sysOrganization.getId().toString()); redisUtils.hset(RedisConstant.ORGANIZATION, sysOrganization.getId().toString(), sysOrganization); return true; } + + + /** + * 获取自己组织的code + * @param sysOrganization + * @return + */ + public String getCode(SysOrganization sysOrganization){ + //获取父级 + Long orgParentId = sysOrganization.getOrgParentId(); + if (orgParentId == null) { + return null; + } + SysOrganization sysOrg = baseMapper.selectById(orgParentId); + if(sysOrg!=null){ + String orgCode = sysOrg.getOrgCode(); + //查询 + QueryWrapper queryWrapper=new QueryWrapper(); + queryWrapper.eq("org_parent_id",sysOrg.getId()); + queryWrapper.orderByAsc("id"); + List<SysOrganization> list = baseMapper.selectList(queryWrapper); + if (list.size()>0) { + SysOrganization sysOrganizationLast = list.get(list.size() - 1); + String orgCodeLast = sysOrganizationLast.getOrgCode(); + String orgCodeLastQianZhui=orgCodeLast.substring(0,orgCodeLast.length() - 4); + Integer codenum = Integer.valueOf(orgCodeLast.substring(orgCodeLast.length() - 4)); + String str="0000"; + str+=(codenum+1); + String substring = str.substring(str.length() - 4); + return orgCodeLastQianZhui+substring; + }else { + String fucode = sysOrg.getOrgCode(); + String str="0001"; + return fucode+str; + } + + } + return null; + } + } diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysRoleOrganizationServiceImpl.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysRoleOrganizationServiceImpl.java new file mode 100644 index 0000000..661a1a8 --- /dev/null +++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysRoleOrganizationServiceImpl.java @@ -0,0 +1,192 @@ +package com.kidgrow.usercenter.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.kidgrow.common.annotation.LoginUser; +import com.kidgrow.common.model.*; +import com.kidgrow.usercenter.dto.SysRoleOrganizationDto; +import com.kidgrow.usercenter.service.ISysOrganizationService; +import com.kidgrow.usercenter.service.ISysRoleService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.kidgrow.common.service.impl.SuperServiceImpl; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +import org.apache.commons.collections4.MapUtils; +import lombok.extern.slf4j.Slf4j; + +import com.kidgrow.usercenter.model.SysRoleOrganization; +import com.kidgrow.usercenter.mapper.SysRoleOrganizationMapper; +import com.kidgrow.usercenter.service.ISysRoleOrganizationService; + +/** + * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br> + * + * @version 1.0 + * @Description: 角色对应的 部门<br> + * @Project: 用户中心<br> + * @CreateDate: Created in 2020-04-21 14:24:41 <br> + * @Author: <a href="4345453@kidgrow.com">liuke</a> + */ +@Slf4j +@Service +public class SysRoleOrganizationServiceImpl extends SuperServiceImpl<SysRoleOrganizationMapper, SysRoleOrganization> implements ISysRoleOrganizationService { + + + private final Integer TYPE_QUAN_BU = 1;//全部数据权限 + private final Integer TYPE_ZI_DING_YI = 2;//自定义数据权限 + private final Integer TYPE_BEN_BU_MEN = 3;//本部门数据权限 + private final Integer TYPE_BEN_BU_MEN_YI_XIA = 4;//本部门及以下数据权限 + private final Integer TYPE_BEN_REN = 5;//仅本人数据权限不能为空 + @Autowired + private ISysOrganizationService iSysOrganizationService; + @Autowired + private ISysRoleService iSysRoleService; + @Autowired + private SysOrganizationServiceImpl sysOrganizationService; + + /** + * 列表 + * + * @param params + * @return + */ + @Override + public PageResult<SysRoleOrganization> findList(Map<String, Object> params) { + Page<SysRoleOrganization> page = new Page<>(MapUtils.getInteger(params, "page"), MapUtils.getInteger(params, "limit")); + List<SysRoleOrganization> list = baseMapper.findList(page, params); + return PageResult.<SysRoleOrganization>builder().data(list).code(0).count(page.getTotal()).build(); + } + + /** + * 根据SysRoleOrganization对象当做查询条件进行查询 + * + * @param sysRoleOrganization + * @return SysRoleOrganization + */ + @Override + public SysRoleOrganization findByObject(SysRoleOrganization sysRoleOrganization) { + return baseMapper.findByObject(sysRoleOrganization); + } + + @Override + public boolean saveOrUpdateSer(SysRoleOrganizationDto sysRoleOrganizationDto, SysUser user) { + if (sysRoleOrganizationDto.getRoleId() != null) { + SysRole sysRole = iSysRoleService.getById(sysRoleOrganizationDto.getRoleId()); + sysRole.setType(sysRoleOrganizationDto.getType()); + boolean b = iSysRoleService.updateById(sysRole); + } + SysRoleOrganization sysRoleOrganization = new SysRoleOrganization(); + sysRoleOrganization.setRoleId(sysRoleOrganizationDto.getRoleId()); + List<SysOrganization> organizations = user.getOrganizations(); + // 1代表全部数据权限,2自定义数据权限,3本部门数据权限,4本部门及以下数据权限,5仅本人数据权限不能为空") + //先清除数据 + if(sysRoleOrganizationDto.getRoleId()!=null){ + Map<String,Object> map=new HashMap<>(); + map.put("role_id",sysRoleOrganizationDto.getRoleId()); + map.put("is_del",0); + List<SysRoleOrganization> sysRoleOrganizations = baseMapper.selectByMap(map); + List<Long> collect = sysRoleOrganizations.stream().map(e -> e.getId()).collect(Collectors.toList()); + if(collect.size()>0){ + int i = baseMapper.deleteBatchIds(collect); + } + } + + //全部数据 + if (sysRoleOrganizationDto.getType() == TYPE_QUAN_BU) { +// sysRoleOrganization.setOrgCode("10"); +// if (organizations != null && organizations.size() > 0) { +// sysRoleOrganization.setOrgId(organizations.get(organizations.size()-1).getId()); +// } +// baseMapper.insert(sysRoleOrganization); + } + //2自定义数据权限 + if (sysRoleOrganizationDto.getType() == TYPE_ZI_DING_YI) { + + List<Long> orgIds = sysRoleOrganizationDto.getOrgIds(); + orgIds.forEach(e -> { + sysRoleOrganization.setId(null); + sysRoleOrganization.setOrgId(e); + SysOrganization byId = iSysOrganizationService.getById(e); + if (byId != null) { + sysRoleOrganization.setOrgCode(byId.getOrgCode()); + } + baseMapper.insert(sysRoleOrganization); + }); + }else { + + } + //3本部门数据权限 + if (sysRoleOrganizationDto.getType() == TYPE_BEN_BU_MEN) { + if (organizations != null && organizations.size() > 0) { + sysRoleOrganization.setOrgCode(organizations.get(organizations.size()-1).getOrgCode()); + sysRoleOrganization.setOrgId(organizations.get(organizations.size()-1).getId()); + baseMapper.insert(sysRoleOrganization); + } else { + return false; + } + } + //4本部门及以下数据权限 + if (sysRoleOrganizationDto.getType() == TYPE_BEN_BU_MEN_YI_XIA) { + if (organizations != null && organizations.size() > 0) { + sysRoleOrganization.setOrgCode(organizations.get(organizations.size()-1).getOrgCode()); + sysRoleOrganization.setOrgId(organizations.get(organizations.size()-1).getId()); + baseMapper.insert(sysRoleOrganization); + } else { + return false; + } + } + //5仅本人数据权限不能为空 + if (sysRoleOrganizationDto.getType() == TYPE_BEN_REN) { + sysRoleOrganization.setOrgCode(organizations.get(organizations.size()-1).getOrgCode()); + sysRoleOrganization.setOrgId(organizations.get(organizations.size()-1).getId()); + baseMapper.insert(sysRoleOrganization); + } + return true; + } + + @Override + public ResultBody getTree(Map<String, Object> params, SysUser user) { + List<SysOrganization> sysOrganizations = sysOrganizationService.listByMap(params); + QueryWrapper queryWrapper = new QueryWrapper(); + List<Long> roleIdList = user.getRoles().stream().map(e -> e.getId()).collect(Collectors.toList()); + queryWrapper.in("role_id", roleIdList); + List<SysRoleOrganization> list = baseMapper.selectList(queryWrapper); + List<Long> collect = list.stream().map(e -> e.getOrgId()).collect(Collectors.toList()); + List<Map<String, Object>> treeData = getTreeData(Long.valueOf("-1"), sysOrganizations, collect); + return ResultBody.ok().data(treeData); + } + + /** + * 将数据 封装成 tree (递归方式) + * + * @param MyId + * @param sysOrganizations + * @return + */ + public List<Map<String, Object>> getTreeData(Long MyId, List<SysOrganization> sysOrganizations, List<Long> col) { + List<Map<String, Object>> listMap = new ArrayList<>(); + Map<Long, SysOrganization> collect = sysOrganizations.stream().collect(Collectors.toMap(SysOrganization::getId, SysOrganization -> SysOrganization)); + List<Long> idList = sysOrganizations.stream().filter(e -> e.getOrgParentId() == MyId).map(e -> e.getId()).collect(Collectors.toList()); + for (Long id : idList + ) { + Map<String, Object> map = new HashMap<>(); + map.put("id", "" + id); + map.put("name", collect.get(id).getOrgName()); + map.put("level", collect.get(id).getOrgLevel()); + map.put("checked", col.contains(id)); + List<Long> childs = sysOrganizations.stream().filter(e -> e.getOrgParentId() == id).map(e -> e.getId()).collect(Collectors.toList()); + if (childs.size() > 0) { + List<Map<String, Object>> treeData = getTreeData(id, sysOrganizations, col); + map.put("children", treeData); + } + listMap.add(map); + } + return listMap; + } +} diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysDoctorMapper.xml b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysDoctorMapper.xml index e9af41f..ff9e67e 100644 --- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysDoctorMapper.xml +++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysDoctorMapper.xml @@ -90,6 +90,47 @@ <if test="p.updateTime != null and p.updateTime !=''"> and update_time = #{p.updateTime} </if> + <if test="p.likes != null and p.likes.size>0"> + + <foreach item="item" collection="p.likes" index=""> + <foreach item="itemto" collection="item" index="inx"> + + + <choose> + <when test="inx.type == 1"></when> + + <when test="inx.type==2"> + AND + <foreach item="itemtoto" collection="itemto" separator="or" open="(" close=")" index=""> + create_user_org_code like '${itemtoto.orgCode}%' + </foreach> + </when> + <when test="inx.type == 3"> + AND + <foreach item="itemtoto" collection="itemto" separator="or" open="(" close=")" index=""> + create_user_org_code = #{itemtoto.orgCode} + </foreach> + </when> + <when test="inx.type == 4"> + AND + <foreach item="itemtoto" collection="itemto" separator="or" open="(" close=")" index=""> + create_user_org_code like '${itemtoto.orgCode}%' + </foreach> + </when> + <when test="inx.type == 5"> + AND + <foreach item="itemtoto" collection="itemto" separator="or" open="(" close=")" index=""> + create_user_id = #{itemtoto.orgCode} + </foreach> + </when> + <otherwise> + AND id is null + </otherwise> + </choose> + + </foreach> + </foreach> + </if> </where> </sql> diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysRoleMapper.xml b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysRoleMapper.xml index 949796b..85e28cc 100644 --- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysRoleMapper.xml +++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysRoleMapper.xml @@ -10,7 +10,8 @@ update_time, is_del, enabled, - tenant_id + tenant_id, + type </sql> <sql id="where"> diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysRoleOrganizationMapper.xml b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysRoleOrganizationMapper.xml new file mode 100644 index 0000000..e9731e8 --- /dev/null +++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysRoleOrganizationMapper.xml @@ -0,0 +1,51 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<!--角色对应的 部门--> +<mapper namespace="com.kidgrow.usercenter.mapper.SysRoleOrganizationMapper"> + <!--定义查询列--> + <sql id="Column_List"> + * + </sql> + + <!--sql查询片段--> + <sql id="where"> + <where> + <!--查询条件自行添加--> + is_del=0 + <if test="p.id != null and p.id !=''"> + and id = #{p.id} + </if> + <if test="p.type != null and p.type !=''"> + and type = #{p.type} + </if> + <if test="p.roleId != null and p.roleId !=''"> + and role_id = #{p.roleId} + </if> + <if test="p.orgId != null and p.orgId !=''"> + and org_id = #{p.orgId} + </if> + <if test="p.orgCode != null and p.orgCode !=''"> + and org_code = #{p.orgCode} + </if> + </where> + </sql> + + <!--定义根据-SysRoleOrganization当作查询条件返回对象--> + <select id="findByObject" resultType="com.kidgrow.usercenter.model.SysRoleOrganization"> + select + <include refid="Column_List"/> + from sys_role_organization + <include refid="where"/> + order by id desc + limit 1 + </select> + + <!--定义根据-SysRoleOrganization当作查询条件返回对象集合--> + <select id="findList" resultType="com.kidgrow.usercenter.model.SysRoleOrganization"> + select + <include refid="Column_List"/> + from sys_role_organization + <include refid="where"/> + order by id desc + </select> +</mapper> \ No newline at end of file diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysDoctorController.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysDoctorController.java index 0a589ab..54232c6 100644 --- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysDoctorController.java +++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysDoctorController.java @@ -1,6 +1,8 @@ package com.kidgrow.usercenter.controller; import java.util.Map; + +import com.kidgrow.common.annotation.LoginUser; import com.kidgrow.common.controller.BaseController; import com.kidgrow.usercenter.vo.SysDoctorVo; import com.kidgrow.usercenter.vo.SysDoctorDto; @@ -51,12 +53,13 @@ @ApiImplicitParam(name = "limit", value = "分页结束位置", required = true, dataType = "Integer") }) @GetMapping - public PageResult<SysDoctorVo> list(@RequestParam Map<String, Object> params) { + public PageResult<SysDoctorVo> list(@RequestParam Map<String, Object> params,@LoginUser SysUser user) { if(params.size()==0){ params.put("page",1); params.put("limit",10); } - return sysDoctorService.findList(params); + + return sysDoctorService.findList(params,user); } /** diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysRoleOrganizationController.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysRoleOrganizationController.java new file mode 100644 index 0000000..9e07de2 --- /dev/null +++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysRoleOrganizationController.java @@ -0,0 +1,130 @@ +package com.kidgrow.usercenter.controller; + +import java.util.Map; + +import com.kidgrow.common.annotation.LoginUser; +import com.kidgrow.common.constant.SecurityConstants; +import com.kidgrow.common.controller.BaseController; +import com.kidgrow.usercenter.dto.SysRoleOrganizationDto; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; + +import com.kidgrow.usercenter.model.SysRoleOrganization; +import com.kidgrow.usercenter.service.ISysRoleOrganizationService; +import com.kidgrow.common.model.*; + +import org.springframework.validation.BindingResult; +import org.springframework.validation.ObjectError; + +import javax.servlet.http.HttpServletRequest; +import javax.validation.Valid; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Set; + + +/** + * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br> + * @Description: 角色对应的 部门 + * @Project: 用户中心 + * @CreateDate: Created in 2020-04-21 14:24:41 <br> + * @Author: <a href="4345453@kidgrow.com">liuke</a> + * @version: 1.0 + */ +@Slf4j +@RestController +@RequestMapping("/sysroleorganization") +@Api(tags = "角色对应的 部门") +public class SysRoleOrganizationController extends BaseController{ + @Autowired + private ISysRoleOrganizationService sysRoleOrganizationService; + + /** + * 列表 + */ + @ApiOperation(value = "查询列表") + @ApiImplicitParams({ + @ApiImplicitParam(name = "page", value = "分页起始位置", required = true, dataType = "Integer"), + @ApiImplicitParam(name = "limit", value = "分页结束位置", required = true, dataType = "Integer") + }) + @GetMapping + public ResultBody<PageResult> list(@RequestParam Map<String, Object> params) { + if(params.size()==0){ + params.put("page",1); + params.put("limit",10); + } + return ResultBody.ok().data(sysRoleOrganizationService.findList(params)); + } + + /** + * 查询 + */ + @ApiOperation(value = "查询") + @GetMapping("/{id}") + public ResultBody findById(@PathVariable Long id) { + SysRoleOrganization model = sysRoleOrganizationService.getById(id); + return ResultBody.ok().data(model).msg("查询成功"); + } + + /** + * 根据SysRoleOrganization当做查询条件进行查询 + */ + @ApiOperation(value = "根据SysRoleOrganization当做查询条件进行查询") + @PostMapping("/query") + public ResultBody findByObject(@RequestBody SysRoleOrganization sysRoleOrganization) { + SysRoleOrganization model = sysRoleOrganizationService.findByObject(sysRoleOrganization); + return ResultBody.ok().data(model).msg("查询成功"); + } + + /** + * 新增or更新 + */ + @ApiOperation(value = "保存") + @PostMapping + public ResultBody save(@Valid @RequestBody SysRoleOrganizationDto sysRoleOrganizationDto, BindingResult bindingResult, @LoginUser SysUser user, HttpServletRequest request) { + List<String> errMsg= new ArrayList<>(); + String header = request.getHeader(SecurityConstants.USER_ORG_ID_HEADER); + if (bindingResult.hasErrors()) { + for (ObjectError error : bindingResult.getAllErrors()) { + errMsg.add(error.getDefaultMessage()); + } + return ResultBody.failed().msg(errMsg.toString()); + } else { + boolean v= sysRoleOrganizationService.saveOrUpdateSer(sysRoleOrganizationDto,user); + if(v) { + return ResultBody.ok().data(sysRoleOrganizationDto).msg("保存成功"); + } + else { + return ResultBody.failed().msg("保存失败"); + } + } + } + @ApiOperation(value = "获取tree") + @GetMapping("getTree") + public ResultBody getTree(@RequestParam Map<String, Object> params,@LoginUser SysUser user) { + return sysRoleOrganizationService.getTree(params,user); + } + + /** + * 删除 + */ + @ApiOperation(value = "删除") + @DeleteMapping("/{id}") + public ResultBody delete(@PathVariable Long id) { + boolean v= sysRoleOrganizationService.removeById(id); + if(v) { + return ResultBody.ok().msg("删除成功"); + } + else { + return ResultBody.failed().msg("删除失败"); + } + } +} diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/resources/application.yml b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/resources/application.yml index e657ca1..a075215 100644 --- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/resources/application.yml +++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/resources/application.yml @@ -71,6 +71,7 @@ - sys_department - sys_area - sys_company + - sys_role_organization ignoreSqls: - com.kidgrow.usercenter.mapper.SysRoleMapper.findAll diff --git a/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/constant/SecurityConstants.java b/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/constant/SecurityConstants.java index fb4ef28..1d3a207 100644 --- a/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/constant/SecurityConstants.java +++ b/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/constant/SecurityConstants.java @@ -25,7 +25,7 @@ String USER_ID_HEADER = "x-userid-header"; /** - * 用户所属组织 为集合 + * 用户所属组织 */ String USER_ORGS_HEADER="x-user-orgs-header"; /** diff --git a/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/BaseSupperModel.java b/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/BaseSupperModel.java index cd6eaf5..406da29 100644 --- a/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/BaseSupperModel.java +++ b/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/BaseSupperModel.java @@ -55,6 +55,9 @@ @TableField(fill = FieldFill.INSERT_UPDATE) private String updateUserName; + @TableField(fill = FieldFill.INSERT) + private String createUserOrgCode; + @Override protected Serializable pkVal() { return this.id; diff --git a/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/SuperEntity.java b/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/SuperEntity.java index 4bf3189..73324ae 100644 --- a/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/SuperEntity.java +++ b/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/SuperEntity.java @@ -22,7 +22,8 @@ * @Author: <a href="4345453@kidgrow.com">liuke</a> */ @Data -public class SuperEntity<T extends Model<?>> extends Model<T> { +public class SuperEntity<T extends Model<?>> extends Model<T> { + /** * 主键ID,防止Long类型四舍五入 */ @@ -54,6 +55,9 @@ @TableField(fill = FieldFill.INSERT_UPDATE) private String updateUserName; + @TableField(fill = FieldFill.INSERT) + private String createUserOrgCode; + @Override protected Serializable pkVal() { return this.id; diff --git a/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/SuperModel.java b/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/SuperModel.java index 5ab461a..4bdd526 100644 --- a/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/SuperModel.java +++ b/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/SuperModel.java @@ -24,6 +24,8 @@ */ @Data public class SuperModel<T extends Model<?>> extends Model<T>{ + + /** * 主键ID,雪花算法类型 */ @@ -55,6 +57,9 @@ @TableField(fill = FieldFill.INSERT_UPDATE) private String updateUserName; + @TableField(fill = FieldFill.INSERT) + private String createUserOrgCode; + @Override protected Serializable pkVal() { return this.id; diff --git a/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/SysOrganization.java b/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/SysOrganization.java index 8df2cad..d718c0d 100644 --- a/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/SysOrganization.java +++ b/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/SysOrganization.java @@ -17,11 +17,12 @@ /** * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br> + * + * @version 1.0 * @Description: 组织架构表<br> * @Project: 用户中心<br> * @CreateDate: Created in 2020-03-31 11:01:35 <br> * @Author: <a href="4345453@kidgrow.com">liuke</a> - * @version 1.0 */ @Data @EqualsAndHashCode(callSuper = false) @@ -29,36 +30,40 @@ @AllArgsConstructor @TableName("sys_organization") public class SysOrganization extends SuperModel { - private static final long serialVersionUID=1L; + private static final long serialVersionUID = 1L; - /** - * 节点级别取值 0-9 - */ - @NotNull(message = "节点级别取值 0-9不能为空") - private Integer orgLevel; - /** - * 节点属性(集团/公司/部门等,取值0,1,2,3,4) - */ - private Integer orgAttr; - /** - * 上级组织ID - */ - private Long orgParentId; - /** - * 组织名称 - */ - @NotBlank(message = "组织名称不能为空") - private String orgName; - /** - * 排序 - */ - private Integer orgOrder; - /** - * 是否删除,1删除,0未删除 - */ - private Boolean isDel; - /** - * 状态,1启用,0停用 - */ - private Boolean enabled; - } + /** + * 节点级别取值 0-9 + */ + @NotNull(message = "节点级别取值 0-9不能为空") + private Integer orgLevel; + /** + * 节点属性(集团/公司/部门等,取值0,1,2,3,4) + */ + private Integer orgAttr; + /** + * 上级组织ID + */ + private Long orgParentId; + /** + * 组织名称 + */ + @NotBlank(message = "组织名称不能为空") + private String orgName; + /** + * 排序 + */ + private Integer orgOrder; + /** + * 部门的code + */ + private String orgCode; + /** + * 是否删除,1删除,0未删除 + */ + private Boolean isDel; + /** + * 状态,1启用,0停用 + */ + private Boolean enabled; +} diff --git a/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/SysRole.java b/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/SysRole.java index 43d0f14..da1b7d8 100644 --- a/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/SysRole.java +++ b/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/SysRole.java @@ -30,4 +30,5 @@ @JsonSerialize(using = ToStringSerializer.class) @TableField(exist = false) private Long userId; + private Integer type; } diff --git a/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/SysUserOrg.java b/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/SysUserOrg.java index ecff84f..1cd9232 100644 --- a/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/SysUserOrg.java +++ b/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/SysUserOrg.java @@ -27,7 +27,7 @@ @AllArgsConstructor @TableName("sys_user_org") public class SysUserOrg extends SuperModel { - private static final long serialVersionUID=1L; +// private static final long serialVersionUID = -2071565876962058344L; /** * 用户id diff --git a/kidgrow-commons/kidgrow-db-spring-boot-starter/src/main/java/com/kidgrow/db/config/DateMetaObjectHandler.java b/kidgrow-commons/kidgrow-db-spring-boot-starter/src/main/java/com/kidgrow/db/config/DateMetaObjectHandler.java index 9f50db7..6fe6978 100644 --- a/kidgrow-commons/kidgrow-db-spring-boot-starter/src/main/java/com/kidgrow/db/config/DateMetaObjectHandler.java +++ b/kidgrow-commons/kidgrow-db-spring-boot-starter/src/main/java/com/kidgrow/db/config/DateMetaObjectHandler.java @@ -1,12 +1,15 @@ package com.kidgrow.db.config; +import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler; import com.kidgrow.common.constant.SecurityConstants; +import com.kidgrow.common.model.SysOrganization; import org.apache.ibatis.reflection.MetaObject; import org.springframework.beans.factory.annotation.Autowired; import javax.servlet.http.HttpServletRequest; import java.util.Date; +import java.util.List; /** * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br> @@ -23,10 +26,11 @@ private final static String UPDATE_TIME = "updateTime"; private final static String CREATE_TIME = "createTime"; - private final static String CREATE_USER_ID="createUserId"; - private final static String UPDATE_USER_ID="updateUserId"; - private final static String CREATE_USER_NAME="createUserName"; - private final static String UPDATE_USER_NAME="updateUserName"; + private final static String CREATE_USER_ID = "createUserId"; + private final static String UPDATE_USER_ID = "updateUserId"; + private final static String CREATE_USER_NAME = "createUserName"; + private final static String UPDATE_USER_NAME = "updateUserName"; + private final static String CREATE_USER_ORG_CODE = "createUserOrgCode"; /** * 插入填充,字段为空自动填充 @@ -39,20 +43,28 @@ Object updateUserId = getFieldValByName(UPDATE_USER_ID, metaObject); Object createUserName = getFieldValByName(CREATE_USER_NAME, metaObject); Object updateUserName = getFieldValByName(UPDATE_USER_NAME, metaObject); - if (createTime == null || updateTime == null || createUserId==null || updateUserId==null || createUserName==null || updateUserName==null) { + Object createUserOrgCode = getFieldValByName(CREATE_USER_ORG_CODE, metaObject); + if (createTime == null || updateTime == null || createUserId == null || updateUserId == null || createUserName == null || updateUserName == null || createUserOrgCode == null) { Date date = new Date(); if (createTime == null) { setFieldValByName(CREATE_TIME, date, metaObject); } - if(request.getHeader(SecurityConstants.USER_ID_HEADER)!=null) { + if (request.getHeader(SecurityConstants.USER_ID_HEADER) != null) { setFieldValByName(CREATE_USER_ID, Long.valueOf(request.getHeader(SecurityConstants.USER_ID_HEADER).toString()), metaObject); } if (createUserName == null) { - if(request.getHeader(SecurityConstants.USER_HEADER)!=null) { + if (request.getHeader(SecurityConstants.USER_HEADER) != null) { setFieldValByName(CREATE_USER_NAME, request.getHeader(SecurityConstants.USER_HEADER), metaObject); } } + if (createUserOrgCode == null) { + if (request.getHeader(SecurityConstants.USER_ORGS_HEADER) != null) { + //获取orgLevel等级高的 + List<SysOrganization> sysOrganizations = JSON.parseArray(request.getHeader(SecurityConstants.USER_ORGS_HEADER), SysOrganization.class); + setFieldValByName(CREATE_USER_ORG_CODE,sysOrganizations.get(sysOrganizations.size()-1).getOrgCode() , metaObject); + } + } } } diff --git a/kidgrow-commons/kidgrow-ribbon-spring-boot-starter/src/main/java/com/kidgrow/ribbon/config/FeignHttpInterceptorConfig.java b/kidgrow-commons/kidgrow-ribbon-spring-boot-starter/src/main/java/com/kidgrow/ribbon/config/FeignHttpInterceptorConfig.java index b6caf75..b978715 100644 --- a/kidgrow-commons/kidgrow-ribbon-spring-boot-starter/src/main/java/com/kidgrow/ribbon/config/FeignHttpInterceptorConfig.java +++ b/kidgrow-commons/kidgrow-ribbon-spring-boot-starter/src/main/java/com/kidgrow/ribbon/config/FeignHttpInterceptorConfig.java @@ -34,6 +34,7 @@ requestHeaders.add(SecurityConstants.USER_DEP_ID_HEADER); requestHeaders.add(SecurityConstants.USER_DEP_NAME_HEADER); requestHeaders.add(SecurityConstants.USER_ORG_ID_HEADER); + requestHeaders.add(SecurityConstants.USER_ORGS_HEADER); requestHeaders.add(SecurityConstants.USER_ORG_NAME_HEADER); requestHeaders.add(SecurityConstants.ROLE_HEADER); requestHeaders.add(SecurityConstants.CLIENT_HEADER); diff --git a/kidgrow-config/src/main/resources/application-dev.properties b/kidgrow-config/src/main/resources/application-dev.properties index 9466bc1..c55752b 100644 --- a/kidgrow-config/src/main/resources/application-dev.properties +++ b/kidgrow-config/src/main/resources/application-dev.properties @@ -8,7 +8,8 @@ ##### Redis\u914D\u7F6E # \u662F\u5426\u5F00\u542FRedis\u7F13\u5B58 true\u5F00\u542F false \u5173\u95ED spring.redis.open=true -spring.redis.host=192.168.2.240 +#spring.redis.host=192.168.2.240 +spring.redis.host=127.0.0.1 spring.redis.port=6379 spring.redis.password=kidgrow spring.redis.timeout=5000 @@ -18,7 +19,7 @@ kidgrow.druid.loginpwd=123456 #eureka \u6CE8\u518C\u4E2D\u5FC3Url -kidgrow.eureka.client.serviceUrl.defaultZone=http://192.168.2.240:9001/eureka/ +kidgrow.eureka.client.serviceUrl.defaultZone=http://127.0.0.1:9001/eureka/ kidgrow.eureka.instance.hostname=127.0.0.1 ##eureka client\u53D1\u9001\u5FC3\u8DF3\u7ED9server\u7AEF\u7684\u9891\u7387 eureka.instance.lease-renewal-interval-in-seconds=30 diff --git a/kidgrow-springcloud/kidgrow-springcloud-zuul/src/main/java/com/kidgrow/zuul/filter/UserInfoHeaderFilter.java b/kidgrow-springcloud/kidgrow-springcloud-zuul/src/main/java/com/kidgrow/zuul/filter/UserInfoHeaderFilter.java index d99e066..c1e4482 100644 --- a/kidgrow-springcloud/kidgrow-springcloud-zuul/src/main/java/com/kidgrow/zuul/filter/UserInfoHeaderFilter.java +++ b/kidgrow-springcloud/kidgrow-springcloud-zuul/src/main/java/com/kidgrow/zuul/filter/UserInfoHeaderFilter.java @@ -77,9 +77,10 @@ ctx.addZuulRequestHeader(SecurityConstants.USER_ORG_NAME_HEADER, URLEncoder.encode(organizations.get(0).getOrgName(),"UTF-8")); ctx.addZuulRequestHeader(SecurityConstants.USER_DEP_ID_HEADER,String.valueOf(organizations.get(organizations.size()-1).getId())); ctx.addZuulRequestHeader(SecurityConstants.USER_DEP_NAME_HEADER,URLEncoder.encode(organizations.get(organizations.size()-1).getOrgName(),"UTF-8")); - ctx.addZuulRequestHeader(SecurityConstants.USER_ORGS_HEADER,JSON.toJSONString(organizations.get(organizations.size()-1))); + ctx.addZuulRequestHeader(SecurityConstants.USER_ORGS_HEADER,JSON.toJSONString(organizations)); //将角色放到header ctx.addZuulRequestHeader(SecurityConstants.ROLE_HEADER, JSON.toJSONString(user.getRoles())); + tenantId=String.valueOf(organizations.get(0).getId()); } diff --git a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/module/index.js b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/module/index.js index 439f445..300d258 100644 --- a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/module/index.js +++ b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/module/index.js @@ -199,6 +199,7 @@ // debugger; config.putUser(user); admin.putTempData("permissions", user.permissions); + admin.putTempData("organization",user.organizations[user.organizations.length-1]); success(user); } else { if (data.code === 1000) { diff --git a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/header.html b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/header.html index 1cf9fae..a7dd0cd 100644 --- a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/header.html +++ b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/header.html @@ -12,9 +12,12 @@ </li> </ul> <ul class="layui-nav layui-layout-right"> - <!--<li class="layui-nav-item" lay-unselect>--> - <!--<a id="btnMessage" title="消息"><i class="layui-icon layui-icon-notice"></i></a>--> - <!--</li>--> + <!-- <li class="layui-nav-item" lay-unselect> + <a id="btnMessage" title="消息"><i class="layui-icon layui-icon-notice"></i></a> + </li> --> + <li class="layui-nav-item" lay-unselect> + <a title="消息"><i class="layui-icon layui-icon-notice" id="organization">1231</i></a> + </li> <li class="layui-nav-item layui-hide-xs" lay-unselect> <a ew-event="fullScreen" title="全屏"><i class="layui-icon layui-icon-screen-full"></i></a> </li> @@ -42,4 +45,14 @@ <!-- <li class="layui-nav-item" lay-unselect>--> <!-- <a ew-event="theme" title="主题"><i class="layui-icon layui-icon-more-vertical"></i></a>--> <!-- </li>--> -</ul> \ No newline at end of file +</ul> +<script> + layui.use([ 'admin'], function () { + var admin = layui.admin + , $ = layui.jquery; + var organization=admin.getTempData("organization"); + $("#organization").html("wer"); + console.log($("#organization").html()) + }) + +</script> \ No newline at end of file diff --git a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/sysOrganization.html b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/sysOrganization.html index 32ef61f..6c05b53 100644 --- a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/sysOrganization.html +++ b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/sysOrganization.html @@ -139,9 +139,11 @@ if (d.orgAttr == 0) { return "集团"; } else if (d.orgAttr == 1) { - return "公司"; + return "公司/医院"; } else if (d.orgAttr == 2) { - return "部门"; + return "部门/科室"; + }else{ + return "子部门/子科室"; } } }, diff --git a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/system/role.html b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/system/role.html index 581fd44..66ee95e 100644 --- a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/system/role.html +++ b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/system/role.html @@ -1,11 +1,11 @@ -<link rel="stylesheet" href="/assets/libs/zTree/css/zTreeStyle/zTreeStyle.css"/> +<link rel="stylesheet" href="/assets/libs/zTree/css/zTreeStyle/zTreeStyle.css" /> <script type="text/javascript" src="/assets/libs/zTree/js/jquery.ztree.all-3.5.min.js"></script> <div class="layui-card"> <div class="layui-card-header"> <h2 class="header-title">角色管理</h2> <span class="layui-breadcrumb pull-right"> - <a href="#!console">首页</a> - <a><cite>角色管理</cite></a> + <a href="#!console">首页</a> + <a><cite>角色管理</cite></a> </span> </div> <div class="layui-card-body"> @@ -16,13 +16,13 @@ <option value="">-请选择-</option> <option value="name">角色名称</option> </select>  - <input id="role-edit-value" class="layui-input search-input" type="text" placeholder="输入关键字"/>  + <input id="role-edit-value" class="layui-input search-input" type="text" placeholder="输入关键字" />  <button id="role-btn-search" class="layui-btn icon-btn"><i class="layui-icon"></i>搜索</button> <button id="role-btn-add" class="layui-btn icon-btn"><i class="layui-icon"></i>添加</button> </div> <!-- 数据表格 --> - <table class="layui-table" id="role-table" lay-filter="role-table"></table> + <table class="layui-hide" id="role-table" lay-filter="role-table"></table> </div> </div> @@ -57,11 +57,55 @@ </form> </script> +<!-- 数据权限 表单弹窗 --> +<script type="text/html" id="role-model-role"> + <form id="role-form" lay-filter="role-form" class="layui-form model-form"> + <input name="id" type="hidden"/> + <div class="layui-form-item"> + <label class="layui-form-label">角色名</label> + <div class="layui-input-block"> + <input name="name" placeholder="请输入角色名" type="text" class="layui-input" maxlength="20" + lay-verify="required" required/> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">Code</label> + <div class="layui-input-block"> + <input name="code" placeholder="请输入Code" type="text" class="layui-input" maxlength="20" + lay-verify="required" required /> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">权限范围</label> + <div class="layui-input-block"> + <select name="type" lay-filter="role_organization"> + <option value="">请选择权限</option> + <option value="1">全部数据权限</option> + <option value="2">自定义数据权限</option> + <option value="3">本部门数据权限</option> + <option value="4">本部门及以下数据权限</option> + <option value="5">仅本人数据权限</option> + </select> + </div> + </div> + <div class="layui-form-item" id="tree"> + <!-- <label class="layui-form-label">数据权限</label> --> + <!-- <div id="orgParentId-tree" class="demo-tree demo-tree-box"></div> --> + <ul id="treeMenu-role" class="ztree" style="padding: 25px 0px 20px 60px;"></ul> + </div> + <div class="layui-form-item model-form-footer"> + <button class="layui-btn layui-btn-primary" ew-event="closeDialog" type="button">取消</button> + <button class="layui-btn" lay-filter="role-form-submit-role" lay-submit>保存</button> + </div> + </form> +</script> + <!-- 表格操作列 --> <script type="text/html" id="role-table-bar"> <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="edit">修改</a> <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a> <a class="layui-btn layui-btn-xs" lay-event="auth">权限分配</a> + <a class="layui-btn layui-btn-xs" lay-event="auth_role">分配数据权限</a> </script> <!-- 表格状态列 --> @@ -71,7 +115,7 @@ </script> <script> - layui.use(['form', 'table', 'util', 'config', 'admin', 'formSelects'], function () { + layui.use(['form', 'table', 'util', 'config', 'tree', 'admin', 'formSelects'], function () { var form = layui.form; var table = layui.table; var config = layui.config; @@ -79,27 +123,33 @@ var util = layui.util; var admin = layui.admin; var formSelects = layui.formSelects; - var clientsAll =null; + //树形插件 + var tree = layui.tree; + var layer = layui.layer + , $ = layui.jquery; + //常量 + var clientsAll = null; //渲染表格 table.render({ elem: '#role-table', url: config.base_server + 'api-user/roles', - headers:{'Authorization': 'Bearer ' + config.getToken().access_token}, + headers: { 'Authorization': 'Bearer ' + config.getToken().access_token }, page: true, + cellMinWidth: 80, cols: [[ - {type: 'numbers'}, - {field: 'id', sort: true, title: 'ID',width: 80}, - {field: 'name', sort: true, title: '角色名'}, - {field: 'code', sort: true, title: 'Code'}, - {field: 'tenantId', sort: true, title: '应用标识'}, + { type: 'numbers' }, + { field: 'id', sort: true, title: 'ID', width: 80 }, + { field: 'name', sort: true, title: '角色名' }, + { field: 'code', sort: true, title: 'Code' }, + { field: 'tenantId', sort: true, title: '应用标识' }, { field: 'createTime', sort: true, templet: function (d) { return util.toDateString(d.createTime); }, title: '创建时间' }, - {field: 'enabled', width: 100,sort: true, templet: '#role-tpl-state', title: '状态'}, - {align: 'center', toolbar: '#role-table-bar', title: '操作',width: 250} + { field: 'enabled', width: 100, sort: true, templet: '#role-tpl-state', title: '状态' }, + { align: 'center', toolbar: '#role-table-bar', title: '操作', width: 320 } ]] }); @@ -109,8 +159,8 @@ layer.closeAll('loading'); if (0 === data.code) { let selected = false; - clientsAll=data.data; - $.each(data.data,function(index,item){ + clientsAll = data.data; + $.each(data.data, function (index, item) { if (config.clientId === item.clientId) { selected = true; } else { @@ -121,7 +171,7 @@ }) form.render(); } else { - layer.msg(data.msg, {icon: 2, time: 500}); + layer.msg(data.msg, { icon: 2, time: 500 }); } }, 'GET'); @@ -132,20 +182,50 @@ // 表单提交事件 form.on('submit(role-form-submit)', function (data) { - data.field.tenantId=$('#role_clients_add').val(); + data.field.tenantId = $('#role_clients_add').val(); let tenantId = $('#role_clients_add').val(); layer.load(2); - admin.req('api-user/roles/saveOrUpdate?tenantId='+tenantId, JSON.stringify(data.field), function (data) { + admin.req('api-user/roles/saveOrUpdate?tenantId=' + tenantId, JSON.stringify(data.field), function (data) { layer.closeAll('loading'); // console.log(data); if (data.code === 0) { - layer.msg(data.msg, {icon: 1, time: 500}); + layer.msg(data.msg, { icon: 1, time: 500 }); table.reload('role-table'); layer.closeAll('page'); } else { - layer.msg(data.msg, {icon: 2, time: 500}); + layer.msg(data.msg, { icon: 2, time: 500 }); } }, $('#role-form').attr('method')); + return false; + }); + // 表单提交事件 + form.on('submit(role-form-submit-role)', function (data) { + var array=new Array(); + var treeObj = $.fn.zTree.getZTreeObj('treeMenu-role'); + var nodes = treeObj.getCheckedNodes(true); + $.each(nodes,function(i,item){ + // console.log(item) + if(!item.children){ + array.push(item.id); + } + }) + if(array.length>0){ + data.field.orgIds=array + } + data.field.roleId= data.field.id + layer.load(2); + admin.req('api-user/sysroleorganization', JSON.stringify(data.field), function (data) { + layer.closeAll('loading'); + console.log(data); + if (data.code === 0) { + layer.msg(data.msg, { icon: 1, time: 500 }); + table.reload('role-table'); + layer.closeAll('page'); + } else { + layer.msg(data.msg, { icon: 2, time: 500 }); + } + }, $('#role-form').attr('method')); + layer.closeAll('page'); return false; }); @@ -157,7 +237,9 @@ } else if (obj.event === 'del') { //删除 doDelete(obj); } else if (obj.event === 'auth') { // 权限分配 - showMenuDialog(obj.data.id,obj.data.tenantId); + showMenuDialog(obj.data.id, obj.data.tenantId); + } else if (obj.event === 'auth_role') { + showEditModelRole(data); } }); @@ -170,9 +252,9 @@ }, function (data) { layer.closeAll('loading'); if (data.code == 0) { - layer.msg(data.msg, {icon: 1, time: 500}); + layer.msg(data.msg, { icon: 1, time: 500 }); } else { - layer.msg(data.msg, {icon: 2, time: 500}); + layer.msg(data.msg, { icon: 2, time: 500 }); $(obj.elem).prop('checked', !obj.elem.checked); form.render('checkbox'); } @@ -184,9 +266,37 @@ $('#role-btn-search').click(function () { var key = $('#role-search-key').val(); var value = $('#role-edit-value').val(); - table.reload('role-table', {where: {searchKey: key, searchValue: value}}); + table.reload('role-table', { where: { searchKey: key, searchValue: value } }); }); + var getData = function () { + admin.req('api-user/sysroleorganization/getTree', { is_del: 0 }, function (data) { + layer.closeAll('loading'); + var data1 = [{ + name: '常用文件夹', + id: 1, + children: [ + { name: '所有未读', id: 11 }, + { name: '置顶邮件', id: 12 }, + { name: '标签邮件', id: 13 }] + }]; + if (0 === data.code) { + var setting = { + check: { enable: true }, + data: { + simpleData: { + enable: true + } + } + }; + $.fn.zTree.init($('#treeMenu-role'), setting, data.data); + layer.closeAll('loading'); + + } else { + layer.msg(data.msg, { icon: 2, time: 500 }); + } + }, 'get'); + } // 显示编辑弹窗 var showEditModel = function (data) { layer.open({ @@ -199,10 +309,10 @@ $('#role-form')[0].reset(); $('#role-form').attr('method', 'POST'); if (data) { - $("input[name='code']").attr('disabled',true); - $("input[name='code']").attr('class',"layui-input layui-disabled"); + $("input[name='code']").attr('disabled', true); + $("input[name='code']").attr('class', "layui-input layui-disabled"); let selected = false; - $.each(clientsAll,function(index,item){ + $.each(clientsAll, function (index, item) { if (data.tenantId === item.clientId) { selected = true; } else { @@ -211,37 +321,69 @@ //往下拉菜单里添加元素 $('#role_clients_add').append(new Option(item.clientName, item.clientId, false, selected)); }) - $('#role_clients_add').attr('disabled',true); + $('#role_clients_add').attr('disabled', true); form.render(); form.val('role-form', data); $('#role-form').attr('method', 'POST'); } - else{ - $.each(clientsAll,function(index,item){ + else { + $.each(clientsAll, function (index, item) { //往下拉菜单里添加元素 $('#role_clients_add').append(new Option(item.clientName, item.clientId)); }) - $('#role_clients_add').attr('disabled',false); + $('#role_clients_add').attr('disabled', false); form.render(); $('#role-form').attr('method', 'POST'); } } }); }; + //数据权限的点击事件 + form.on('select(role_organization)', function (data) { + console.log(data.value) + if (data.value == 2) { + $("#tree").show(); + }else{ + $("#tree").hide(); + } + }); + // 显示分配数据权限弹窗 + var showEditModelRole = function (data) { + layer.open({ + type: 1, + title: "分配数据权限", + area: '450px', + offset: '120px', + content: $('#role-model-role').html(), + success: function () { + $('#role-form')[0].reset(); + $('#role-form').attr('method', 'POST'); + if (data) { + getData(); + console.log(data.type) + if(data.type!=2){ + $("#tree").hide(); + } + form.render(); + form.val('role-form', data); + } + } + }); + }; // 删除 var doDelete = function (obj) { layer.confirm('确定要删除吗?', function (i) { let tenantId = $('#role_clients').val(); layer.close(i); layer.load(2); - admin.req('api-user/roles/' + obj.data.id+'?tenantId='+tenantId, {}, function (data) { + admin.req('api-user/roles/' + obj.data.id + '?tenantId=' + tenantId, {}, function (data) { layer.closeAll('loading'); if (data.code === 0) { - layer.msg(data.msg, {icon: 1, time: 500}); + layer.msg(data.msg, { icon: 1, time: 500 }); obj.del(); } else { - layer.msg(data.msg, {icon: 2, time: 500}); + layer.msg(data.msg, { icon: 2, time: 500 }); } }, 'DELETE'); }); @@ -249,7 +391,7 @@ // 菜单管理 - var showMenuDialog = function (roleId,tenantId) { + var showMenuDialog = function (roleId, tenantId) { // let tenantId = $('#role_clients').val(); layer.open({ type: 1, @@ -263,14 +405,14 @@ $(layero).children('.layui-layer-content').css('overflow-y', 'auto'); layer.load(2); var setting = { - check: {enable: true}, + check: { enable: true }, data: { simpleData: { enable: true } } }; - admin.req('api-user/menus/'+roleId+'/menus', {tenantId: tenantId}, function (data) { + admin.req('api-user/menus/' + roleId + '/menus', { tenantId: tenantId }, function (data) { if (data.code === 0) { $.fn.zTree.init($('#treeMenu'), setting, data.data); layer.closeAll('loading'); @@ -290,13 +432,13 @@ data.roleId = roleId; data.menuIds = ids; - admin.req('api-user/menus/granted?tenantId='+tenantId, JSON.stringify(data) , function (data) { + admin.req('api-user/menus/granted?tenantId=' + tenantId, JSON.stringify(data), function (data) { layer.closeAll('loading'); if (0 == data.code) { - layer.msg(data.msg, {icon: 1, time: 500}); + layer.msg(data.msg, { icon: 1, time: 500 }); layer.close(index); } else { - layer.msg(data.msg, {icon: 2, time: 500}); + layer.msg(data.msg, { icon: 2, time: 500 }); } }, 'POST'); } @@ -304,8 +446,8 @@ } // 应用下来框点击事件 - form.on('select(role_clients)', function(data){ - table.reload('role-table', {where: {tenantId: data.value}}); + form.on('select(role_clients)', function (data) { + table.reload('role-table', { where: { tenantId: data.value } }); }); }); -- Gitblit v1.8.0