用户管理前后端代码提交
This commit is contained in:
parent
93b45e0a14
commit
c84e1524ad
|
|
@ -1,11 +1,13 @@
|
||||||
package com.bonus.imgTool.model;
|
package com.bonus.imgTool.model;
|
||||||
|
|
||||||
import com.bonus.imgTool.base.entity.PageEntity;
|
import com.bonus.imgTool.base.entity.PageEntity;
|
||||||
|
import com.bonus.imgTool.system.vo.SelectVo;
|
||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import org.springframework.format.annotation.DateTimeFormat;
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
public class SysUser extends PageEntity {
|
public class SysUser extends PageEntity {
|
||||||
|
|
@ -149,6 +151,16 @@ public class SysUser extends PageEntity {
|
||||||
* 签字路径
|
* 签字路径
|
||||||
*/
|
*/
|
||||||
private String signImg;
|
private String signImg;
|
||||||
|
private List<SelectVo> projects;
|
||||||
|
/**
|
||||||
|
* 绑定工程
|
||||||
|
*/
|
||||||
|
private String project;
|
||||||
|
/**
|
||||||
|
* 角色级别
|
||||||
|
*/
|
||||||
|
private String levelName;
|
||||||
|
private String keyWord;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 角色级别
|
* 角色级别
|
||||||
|
|
|
||||||
|
|
@ -73,6 +73,18 @@ public class SelectController {
|
||||||
}
|
}
|
||||||
return ServerResponse.createErroe("操作失败");
|
return ServerResponse.createErroe("操作失败");
|
||||||
}
|
}
|
||||||
|
@GetMapping(value = "getProjectSelect")
|
||||||
|
@DecryptAndVerify(decryptedClass = SelectDto.class)//加解密统一管理
|
||||||
|
@LogAnnotation(operModul = "工程查询", operation = "下拉框", operDesc = "系统级事件",operType="查询")
|
||||||
|
public ServerResponse getProjectSelect(EncryptedReq<SelectDto> data) {
|
||||||
|
try {
|
||||||
|
List<SelectVo> list = service.getProjectSelect(data.getData());
|
||||||
|
return ServerResponse.createSuccess(list);
|
||||||
|
}catch (Exception e){
|
||||||
|
log.error(e.toString(),e);
|
||||||
|
}
|
||||||
|
return ServerResponse.createErroe("操作失败");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
private void setDictsList(Long pId, List<Dict> dictsAll, List<Dict> list) {
|
private void setDictsList(Long pId, List<Dict> dictsAll, List<Dict> list) {
|
||||||
|
|
|
||||||
|
|
@ -10,10 +10,7 @@ import java.util.Objects;
|
||||||
import com.bonus.imgTool.annotation.DecryptAndVerify;
|
import com.bonus.imgTool.annotation.DecryptAndVerify;
|
||||||
import com.bonus.imgTool.model.Role;
|
import com.bonus.imgTool.model.Role;
|
||||||
import com.bonus.imgTool.system.dao.UserDao;
|
import com.bonus.imgTool.system.dao.UserDao;
|
||||||
import com.bonus.imgTool.system.vo.EncryptedReq;
|
import com.bonus.imgTool.system.vo.*;
|
||||||
import com.bonus.imgTool.system.vo.Org;
|
|
||||||
import com.bonus.imgTool.system.vo.SysMenuVo;
|
|
||||||
import com.bonus.imgTool.system.vo.UserDto;
|
|
||||||
import com.bonus.imgTool.model.PasswordConfig;
|
import com.bonus.imgTool.model.PasswordConfig;
|
||||||
import com.bonus.imgTool.model.SysUser;
|
import com.bonus.imgTool.model.SysUser;
|
||||||
import com.bonus.imgTool.system.service.UserService;
|
import com.bonus.imgTool.system.service.UserService;
|
||||||
|
|
@ -140,13 +137,14 @@ public class UserController {
|
||||||
if (u != null && !Objects.equals(data.getData().getId(), u.getId())) {
|
if (u != null && !Objects.equals(data.getData().getId(), u.getId())) {
|
||||||
return ServerResponse.createErroe(data.getData().getLoginName() + "已存在");
|
return ServerResponse.createErroe(data.getData().getLoginName() + "已存在");
|
||||||
}
|
}
|
||||||
if(StringHelper.isNotEmpty(data.getData().getPhone())){
|
/* if(StringHelper.isNotEmpty(data.getData().getPhone())){
|
||||||
SysUser u2 = userService.getPhone(data.getData().getPhone());
|
SysUser u2 = userService.getPhone(data.getData().getPhone());
|
||||||
if (u2 != null && !Objects.equals(data.getData().getId(), u2.getId())) {
|
if (u2 != null && !Objects.equals(data.getData().getId(), u2.getId())) {
|
||||||
return ServerResponse.createErroe("手机号"+data.getData().getPhone() + "已存在");
|
return ServerResponse.createErroe("手机号"+data.getData().getPhone() + "已存在");
|
||||||
}
|
}
|
||||||
}
|
}*/
|
||||||
userService.updateUser(data.getData());
|
userService.updateUser(data.getData());
|
||||||
|
// 先删除对应的工程再新增
|
||||||
return ServerResponse.createBySuccessMsg("操作成功");
|
return ServerResponse.createBySuccessMsg("操作成功");
|
||||||
}catch (Exception e){
|
}catch (Exception e){
|
||||||
log.error(e.toString(),e);
|
log.error(e.toString(),e);
|
||||||
|
|
@ -168,6 +166,18 @@ public class UserController {
|
||||||
}
|
}
|
||||||
return ServerResponse.createErroe("操作失败");
|
return ServerResponse.createErroe("操作失败");
|
||||||
}
|
}
|
||||||
|
@PostMapping(value = "checkPassword")
|
||||||
|
@DecryptAndVerify(decryptedClass = SysUser.class)
|
||||||
|
@LogAnnotation(operModul = "系统管理-用户管理", operation = "校验用户名密码", operDesc = "系统级事件",operType="查询")
|
||||||
|
public ServerResponse checkPassword(EncryptedReq<SysUser> data) {
|
||||||
|
try {
|
||||||
|
ServerResponse response = userService.checkPassword(data.getData());
|
||||||
|
return response;
|
||||||
|
}catch (Exception e){
|
||||||
|
log.error(e.toString(),e);
|
||||||
|
}
|
||||||
|
return ServerResponse.createErroe("操作失败");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@PostMapping(value = "password")
|
@PostMapping(value = "password")
|
||||||
|
|
@ -214,7 +224,9 @@ public class UserController {
|
||||||
public ServerResponse user(EncryptedReq<UserDto> data) {
|
public ServerResponse user(EncryptedReq<UserDto> data) {
|
||||||
try {
|
try {
|
||||||
UserDto userDto = userService.getById(data.getData().getId());
|
UserDto userDto = userService.getById(data.getData().getId());
|
||||||
String loginType = userDto.getLoginType();
|
List<SelectVo> projects = userService.getProjects(userDto);
|
||||||
|
userDto.setProjects(projects);
|
||||||
|
/*String loginType = userDto.getLoginType();
|
||||||
if (loginType != null && !loginType.isEmpty()){
|
if (loginType != null && !loginType.isEmpty()){
|
||||||
String[] loginTypeArr = loginType.split(",");
|
String[] loginTypeArr = loginType.split(",");
|
||||||
List<Long> loginTypes = new ArrayList<>();
|
List<Long> loginTypes = new ArrayList<>();
|
||||||
|
|
@ -222,7 +234,7 @@ public class UserController {
|
||||||
loginTypes.add(Long.parseLong(type.trim()));
|
loginTypes.add(Long.parseLong(type.trim()));
|
||||||
}
|
}
|
||||||
userDto.setLoginTypes(loginTypes);
|
userDto.setLoginTypes(loginTypes);
|
||||||
}
|
}*/
|
||||||
return ServerResponse.createSuccess(userDto);
|
return ServerResponse.createSuccess(userDto);
|
||||||
}catch (Exception e){
|
}catch (Exception e){
|
||||||
log.error(e.toString(),e);
|
log.error(e.toString(),e);
|
||||||
|
|
|
||||||
|
|
@ -14,4 +14,6 @@ public interface SelectDao {
|
||||||
List<SelectVo> getProfessionSelect(SelectDto data);
|
List<SelectVo> getProfessionSelect(SelectDto data);
|
||||||
|
|
||||||
List<SelectVo> getProcessSelect(SelectDto data);
|
List<SelectVo> getProcessSelect(SelectDto data);
|
||||||
|
|
||||||
|
List<SelectVo> getProjectSelect(SelectDto data);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -5,10 +5,7 @@ import java.util.Map;
|
||||||
|
|
||||||
import com.bonus.imgTool.base.entity.DtreeVo;
|
import com.bonus.imgTool.base.entity.DtreeVo;
|
||||||
import com.bonus.imgTool.model.Role;
|
import com.bonus.imgTool.model.Role;
|
||||||
import com.bonus.imgTool.system.vo.LoginUser;
|
import com.bonus.imgTool.system.vo.*;
|
||||||
import com.bonus.imgTool.system.vo.Org;
|
|
||||||
import com.bonus.imgTool.system.vo.SysMenuVo;
|
|
||||||
import com.bonus.imgTool.system.vo.UserDto;
|
|
||||||
import com.bonus.imgTool.model.PasswordConfig;
|
import com.bonus.imgTool.model.PasswordConfig;
|
||||||
import com.bonus.imgTool.model.SysUser;
|
import com.bonus.imgTool.model.SysUser;
|
||||||
import org.apache.ibatis.annotations.Delete;
|
import org.apache.ibatis.annotations.Delete;
|
||||||
|
|
@ -197,4 +194,10 @@ public interface UserDao {
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
List<SysUser> getPersonList(SysUser data);
|
List<SysUser> getPersonList(SysUser data);
|
||||||
|
|
||||||
|
Integer deleteUserProject(Long id);
|
||||||
|
|
||||||
|
Integer saveUserProject(@Param("userId") Long id, @Param("proId")String proId);
|
||||||
|
|
||||||
|
List<SelectVo> getProjects(UserDto userDto);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -15,4 +15,6 @@ public interface SelectService {
|
||||||
List<SelectVo> getProfessionSelect(SelectDto data);
|
List<SelectVo> getProfessionSelect(SelectDto data);
|
||||||
|
|
||||||
List<SelectVo> getProcessSelect(SelectDto data);
|
List<SelectVo> getProcessSelect(SelectDto data);
|
||||||
|
|
||||||
|
List<SelectVo> getProjectSelect(SelectDto data);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ package com.bonus.imgTool.system.service;
|
||||||
|
|
||||||
import com.bonus.imgTool.model.Role;
|
import com.bonus.imgTool.model.Role;
|
||||||
import com.bonus.imgTool.system.vo.Org;
|
import com.bonus.imgTool.system.vo.Org;
|
||||||
|
import com.bonus.imgTool.system.vo.SelectVo;
|
||||||
import com.bonus.imgTool.system.vo.SysMenuVo;
|
import com.bonus.imgTool.system.vo.SysMenuVo;
|
||||||
import com.bonus.imgTool.system.vo.UserDto;
|
import com.bonus.imgTool.system.vo.UserDto;
|
||||||
import com.bonus.imgTool.model.PasswordConfig;
|
import com.bonus.imgTool.model.PasswordConfig;
|
||||||
|
|
@ -51,9 +52,8 @@ public interface UserService {
|
||||||
* @param user
|
* @param user
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
default ServerResponse changePassword(SysUser user) {
|
ServerResponse changePassword(SysUser user);
|
||||||
return null;
|
ServerResponse checkPassword(SysUser user);
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 管理员修改密码
|
* 管理员修改密码
|
||||||
|
|
@ -168,4 +168,6 @@ public interface UserService {
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
List<SysUser> getPersonList(SysUser data);
|
List<SysUser> getPersonList(SysUser data);
|
||||||
|
|
||||||
|
List<SelectVo> getProjects(UserDto userDto);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -40,4 +40,9 @@ public class SelectServiceImpl implements SelectService {
|
||||||
public List<SelectVo> getProcessSelect(SelectDto data) {
|
public List<SelectVo> getProcessSelect(SelectDto data) {
|
||||||
return dao.getProcessSelect(data);
|
return dao.getProcessSelect(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<SelectVo> getProjectSelect(SelectDto data) {
|
||||||
|
return dao.getProjectSelect(data);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,11 +7,13 @@ import com.bonus.imgTool.base.entity.DtreeVo;
|
||||||
import com.bonus.imgTool.model.Role;
|
import com.bonus.imgTool.model.Role;
|
||||||
import com.bonus.imgTool.system.vo.Org;
|
import com.bonus.imgTool.system.vo.Org;
|
||||||
import com.bonus.imgTool.model.PasswordConfig;
|
import com.bonus.imgTool.model.PasswordConfig;
|
||||||
|
import com.bonus.imgTool.system.vo.SelectVo;
|
||||||
import com.bonus.imgTool.system.vo.SysMenuVo;
|
import com.bonus.imgTool.system.vo.SysMenuVo;
|
||||||
import com.bonus.imgTool.utils.ServerResponse;
|
import com.bonus.imgTool.utils.ServerResponse;
|
||||||
import com.bonus.imgTool.utils.StringHelper;
|
import com.bonus.imgTool.utils.StringHelper;
|
||||||
import com.bonus.imgTool.utils.UserUtil;
|
import com.bonus.imgTool.utils.UserUtil;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
|
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
@ -44,9 +46,16 @@ public class UserServiceImpl implements UserService {
|
||||||
@Override
|
@Override
|
||||||
public ServerResponse saveUser(UserDto userDto) {
|
public ServerResponse saveUser(UserDto userDto) {
|
||||||
try {
|
try {
|
||||||
|
String project = userDto.getProject();
|
||||||
SysUser user = userDto;
|
SysUser user = userDto;
|
||||||
user.setPassword(passwordEncoder.encode(user.getPassword()));
|
user.setPassword(passwordEncoder.encode(user.getPassword()));
|
||||||
int num = userDao.saveUser(user);
|
int num = userDao.saveUser(user);
|
||||||
|
if (StringUtils.isNotBlank(project)){
|
||||||
|
for (String proId : project.split(",")) {
|
||||||
|
// 新增工程
|
||||||
|
userDao.saveUserProject(userDto.getId(), proId);
|
||||||
|
}
|
||||||
|
}
|
||||||
if (num > 0) {
|
if (num > 0) {
|
||||||
return ServerResponse.createSuccess("新增成功", num);
|
return ServerResponse.createSuccess("新增成功", num);
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -57,6 +66,7 @@ public class UserServiceImpl implements UserService {
|
||||||
}
|
}
|
||||||
return ServerResponse.createErroe("新增失败,数据异常");
|
return ServerResponse.createErroe("新增失败,数据异常");
|
||||||
}
|
}
|
||||||
|
|
||||||
private void saveUserRoles(Long userId, List<Long> roleIds) {
|
private void saveUserRoles(Long userId, List<Long> roleIds) {
|
||||||
if (roleIds != null) {
|
if (roleIds != null) {
|
||||||
userDao.deleteUserRole(userId);
|
userDao.deleteUserRole(userId);
|
||||||
|
|
@ -101,6 +111,20 @@ public class UserServiceImpl implements UserService {
|
||||||
return ServerResponse.createBySuccessMsg("修改成功");
|
return ServerResponse.createBySuccessMsg("修改成功");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ServerResponse checkPassword(SysUser user) {
|
||||||
|
Long userId = UserUtil.getLoginUser().getId();
|
||||||
|
UserDto bean = userDao.getById(userId);
|
||||||
|
SysUser u = userDao.getUser(bean.getLoginName());
|
||||||
|
if (u == null) {
|
||||||
|
return ServerResponse.createByErrorMsg(500,"用户不存在");
|
||||||
|
}
|
||||||
|
if (!passwordEncoder.matches(user.getOldP(), u.getPassword())) {
|
||||||
|
return ServerResponse.createByErrorMsg(500,"旧密码错误");
|
||||||
|
}
|
||||||
|
return ServerResponse.createSuccess("校验成功");
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void password(SysUser user) {
|
public void password(SysUser user) {
|
||||||
user.setPassword(passwordEncoder.encode(user.getPassword()));
|
user.setPassword(passwordEncoder.encode(user.getPassword()));
|
||||||
|
|
@ -164,6 +188,7 @@ public class UserServiceImpl implements UserService {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询锁定的用户
|
* 查询锁定的用户
|
||||||
|
*
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
|
|
@ -198,6 +223,7 @@ public class UserServiceImpl implements UserService {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 修改启用状态
|
* 修改启用状态
|
||||||
|
*
|
||||||
* @param data
|
* @param data
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
|
@ -269,12 +295,18 @@ public class UserServiceImpl implements UserService {
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<SelectVo> getProjects(UserDto userDto) {
|
||||||
|
return userDao.getProjects(userDto);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 修改用户
|
* 修改用户
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
@Transactional
|
@Transactional
|
||||||
public SysUser updateUser(UserDto userDto) {
|
public SysUser updateUser(UserDto userDto) {
|
||||||
|
String project = userDto.getProject();
|
||||||
if (userDto.getRoleId().isEmpty()) {
|
if (userDto.getRoleId().isEmpty()) {
|
||||||
userDto.setRoleId(null);
|
userDto.setRoleId(null);
|
||||||
}
|
}
|
||||||
|
|
@ -283,7 +315,14 @@ public class UserServiceImpl implements UserService {
|
||||||
}
|
}
|
||||||
userDao.update(userDto);
|
userDao.update(userDto);
|
||||||
// saveUserRoles(userDto.getId(), userDto.getRoleIds());
|
// saveUserRoles(userDto.getId(), userDto.getRoleIds());
|
||||||
|
// 先删除之前绑定的工程
|
||||||
|
userDao.deleteUserProject(userDto.getId());
|
||||||
|
if (StringUtils.isNotBlank(project)){
|
||||||
|
for (String proId : project.split(",")) {
|
||||||
|
// 在新增修改后的工程
|
||||||
|
userDao.saveUserProject(userDto.getId(), proId);
|
||||||
|
}
|
||||||
|
}
|
||||||
return userDto;
|
return userDto;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -40,6 +40,12 @@
|
||||||
major_id = #{pid}
|
major_id = #{pid}
|
||||||
</where>
|
</where>
|
||||||
</select>
|
</select>
|
||||||
|
<select id="getProjectSelect" resultType="com.bonus.imgTool.system.vo.SelectVo">
|
||||||
|
select
|
||||||
|
t.id,
|
||||||
|
t.name
|
||||||
|
from tb_project t where is_active = 1
|
||||||
|
</select>
|
||||||
|
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
|
||||||
|
|
@ -34,6 +34,10 @@
|
||||||
set sign_img=null
|
set sign_img=null
|
||||||
where id = #{id}
|
where id = #{id}
|
||||||
</delete>
|
</delete>
|
||||||
|
<delete id="deleteUserProject">
|
||||||
|
delete from tb_pro_user
|
||||||
|
where user_id = #{id}
|
||||||
|
</delete>
|
||||||
|
|
||||||
<select id="getLockUser" resultType="com.bonus.imgTool.model.SysUser">
|
<select id="getLockUser" resultType="com.bonus.imgTool.model.SysUser">
|
||||||
select user_name userName,login_name loginName,ls_time lsTime ,
|
select user_name userName,login_name loginName,ls_time lsTime ,
|
||||||
|
|
@ -134,6 +138,10 @@
|
||||||
t.org_id as orgId,
|
t.org_id as orgId,
|
||||||
so.org_name as orgName,
|
so.org_name as orgName,
|
||||||
sr.role_name roleName,
|
sr.role_name roleName,
|
||||||
|
case when sr.level = 0 then '项目部级'
|
||||||
|
when sr.level = 1 then '公司级'
|
||||||
|
else ''
|
||||||
|
end as levelName,
|
||||||
t.team_id as teamId,
|
t.team_id as teamId,
|
||||||
CASE
|
CASE
|
||||||
t.user_type
|
t.user_type
|
||||||
|
|
@ -151,17 +159,11 @@
|
||||||
LEFT JOIN sys_role sr ON sr.role_id = t.role_id
|
LEFT JOIN sys_role sr ON sr.role_id = t.role_id
|
||||||
LEFT JOIN sys_org so ON so.org_id = t.org_id
|
LEFT JOIN sys_org so ON so.org_id = t.org_id
|
||||||
where t.del_flag = 0
|
where t.del_flag = 0
|
||||||
<if test="username != null and username != ''">
|
<if test="keyWord!=null and keyWord!=''">
|
||||||
and t.user_name like concat('%', #{username}, '%')
|
AND (
|
||||||
</if>
|
INSTR(t.user_name,#{keyWord}) > 0 OR
|
||||||
<if test="phone != null and phone != ''">
|
INSTR(t.login_name,#{keyWord}) > 0
|
||||||
and t.phone like concat('%', #{phone}, '%')
|
)
|
||||||
</if>
|
|
||||||
<if test="orgId != null and orgId != ''">
|
|
||||||
and t.org_id = #{orgId}
|
|
||||||
</if>
|
|
||||||
<if test="userType != null and userType != ''">
|
|
||||||
and t.user_type = #{userType}
|
|
||||||
</if>
|
</if>
|
||||||
order by t.del_flag ASC , t.state,t.create_time DESC
|
order by t.del_flag ASC , t.state,t.create_time DESC
|
||||||
</select>
|
</select>
|
||||||
|
|
@ -175,6 +177,7 @@
|
||||||
<select id="getById" resultType="com.bonus.imgTool.system.vo.UserDto">
|
<select id="getById" resultType="com.bonus.imgTool.system.vo.UserDto">
|
||||||
select id,
|
select id,
|
||||||
user_name as username,
|
user_name as username,
|
||||||
|
password,
|
||||||
login_name as loginName,
|
login_name as loginName,
|
||||||
sex,
|
sex,
|
||||||
user_code as userCode,
|
user_code as userCode,
|
||||||
|
|
@ -279,6 +282,13 @@
|
||||||
and t.id=#{id}
|
and t.id=#{id}
|
||||||
order by t.del_flag ASC , t.state,t.create_time DESC
|
order by t.del_flag ASC , t.state,t.create_time DESC
|
||||||
</select>
|
</select>
|
||||||
|
<select id="getProjects" resultType="com.bonus.imgTool.system.vo.SelectVo">
|
||||||
|
select p.id,
|
||||||
|
p.name
|
||||||
|
from tb_pro_user t
|
||||||
|
left join tb_project p on t.pro_id = p.id
|
||||||
|
where t.user_id = #{id}
|
||||||
|
</select>
|
||||||
|
|
||||||
<insert id="saveUserRoles">
|
<insert id="saveUserRoles">
|
||||||
insert into sys_role_user(roleId, userId) values
|
insert into sys_role_user(roleId, userId) values
|
||||||
|
|
@ -286,6 +296,9 @@
|
||||||
(#{roleId}, #{userId})
|
(#{roleId}, #{userId})
|
||||||
</foreach>
|
</foreach>
|
||||||
</insert>
|
</insert>
|
||||||
|
<insert id="saveUserProject">
|
||||||
|
insert into tb_pro_user(user_id, pro_id) values (#{userId}, #{proId})
|
||||||
|
</insert>
|
||||||
|
|
||||||
<update id="update">
|
<update id="update">
|
||||||
update sys_user t
|
update sys_user t
|
||||||
|
|
@ -295,11 +308,9 @@
|
||||||
t.sex = #{sex},
|
t.sex = #{sex},
|
||||||
t.org_id = #{orgId},
|
t.org_id = #{orgId},
|
||||||
t.role_id = #{roleId},
|
t.role_id = #{roleId},
|
||||||
t.phone = #{phone},
|
|
||||||
t.user_type = #{userType},
|
t.user_type = #{userType},
|
||||||
t.login_type = #{loginType},
|
t.login_type = #{loginType},
|
||||||
t.team_id = #{teamId},
|
t.team_id = #{teamId},
|
||||||
t.state = #{state},
|
|
||||||
t.update_time = now()
|
t.update_time = now()
|
||||||
where t.id = #{id}
|
where t.id = #{id}
|
||||||
</update>
|
</update>
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
let form, layer, dtree, util, idParam, phoneParam;
|
let form, layer, dtree, util, idParam, phoneParam, formSelects;
|
||||||
let arr = ['background', 'web', 'mobile', 'wx'];
|
let arr = ['background', 'web', 'mobile', 'wx'];
|
||||||
let background, web, mobile, wx;
|
let background, web, mobile, wx;
|
||||||
let data = [], appResList = [];
|
let data = [], appResList = [];
|
||||||
|
|
@ -12,13 +12,15 @@ function setParams(params) {
|
||||||
console.log(params)
|
console.log(params)
|
||||||
idParam = JSON.parse(params).id;
|
idParam = JSON.parse(params).id;
|
||||||
layui.config({
|
layui.config({
|
||||||
base: "../../../js/layui-v2.6.8/dtree/", //此处路径请自行处理, 可以使用绝对路径
|
base: "../../../js/layui-v2.6.8/"
|
||||||
}).extend({
|
}).extend({
|
||||||
dtree: 'dtree'
|
dtree: 'dtree/dtree',
|
||||||
}).use(['form', 'layer', 'dtree', 'util'], function () {
|
formSelects: 'formSelects-v4',
|
||||||
|
}).use(['form', 'layer', 'dtree', 'util', 'formSelects'], function () {
|
||||||
layer = layui.layer;
|
layer = layui.layer;
|
||||||
form = layui.form;
|
form = layui.form;
|
||||||
util = layui.util;
|
util = layui.util;
|
||||||
|
formSelects = layui.formSelects;
|
||||||
dtree = layui.dtree;
|
dtree = layui.dtree;
|
||||||
var $ = layui.jquery;
|
var $ = layui.jquery;
|
||||||
roleList = getRoleSelected();
|
roleList = getRoleSelected();
|
||||||
|
|
@ -123,11 +125,11 @@ function getRoleSelected() {
|
||||||
* 获取工程数据
|
* 获取工程数据
|
||||||
*/
|
*/
|
||||||
function getProSelected() {
|
function getProSelected() {
|
||||||
let url = dataUrl + '/users/getRoleAll';
|
let url = dataUrl + '/sys/select/getProjectSelect';
|
||||||
ajaxRequest(url, "POST", null, true, function () {
|
ajaxRequest(url, "GET", null, true, function () {
|
||||||
}, function (result) {
|
}, function (result) {
|
||||||
if (result.code === 200) {
|
if (result.code === 200) {
|
||||||
setSelectValue(result.data, 'project');
|
setProjectValue(result.data);
|
||||||
} else {
|
} else {
|
||||||
layer.alert(result.msg, {icon: 2})
|
layer.alert(result.msg, {icon: 2})
|
||||||
}
|
}
|
||||||
|
|
@ -163,6 +165,21 @@ function setSelectValue(list, selectName) {
|
||||||
layui.form.render();
|
layui.form.render();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function setProjectValue(data) {
|
||||||
|
let keys = [];
|
||||||
|
$.each(data, function (index, item) {
|
||||||
|
let temp = {
|
||||||
|
"name": item.name,
|
||||||
|
"value": item.id
|
||||||
|
};
|
||||||
|
keys.push(temp);
|
||||||
|
})
|
||||||
|
formSelects.data('project', 'local', {
|
||||||
|
arr: keys
|
||||||
|
});
|
||||||
|
layui.form.render('select'); // 重新渲染 select 组件
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// function setOrgTree(data){
|
// function setOrgTree(data){
|
||||||
// orgTree = dtree.renderSelect({
|
// orgTree = dtree.renderSelect({
|
||||||
|
|
@ -249,17 +266,25 @@ function setFormData(data) {
|
||||||
document.getElementById('userType_0').checked = true;
|
document.getElementById('userType_0').checked = true;
|
||||||
}*/
|
}*/
|
||||||
|
|
||||||
if (data.state === 1) {
|
/* if (data.state === 1) {
|
||||||
document.getElementById('state_1').checked = true;
|
document.getElementById('state_1').checked = true;
|
||||||
} else if (data.state === 0) {
|
} else if (data.state === 0) {
|
||||||
document.getElementById('state_0').checked = true;
|
document.getElementById('state_0').checked = true;
|
||||||
}
|
}*/
|
||||||
$('#type_' + data.type).attr('checked', true)
|
$('#type_' + data.type).attr('checked', true)
|
||||||
$('#orgId').val(data.orgId)
|
$('#orgId').val(data.orgId)
|
||||||
$('#roleId').val(data.roleId)
|
$('#roleId').val(data.roleId)
|
||||||
$('#roleId option[value=' + data.roleId + ']').attr('selected', true)
|
$('#roleId option[value=' + data.roleId + ']').attr('selected', true)
|
||||||
$('#project').val(data.roleId)
|
if ($('#roleId option:selected').text().includes('项目部级')) {
|
||||||
$('#project option[value=' + data.project + ']').attr('selected', true)
|
$('#projectDiv').removeClass('layui-hide');
|
||||||
|
} else {
|
||||||
|
$('#projectDiv').addClass('layui-hide');
|
||||||
|
}
|
||||||
|
$('#project').val(data.project)
|
||||||
|
var selectedValues = data.projects.map(function (item) {
|
||||||
|
return item.id;
|
||||||
|
});
|
||||||
|
formSelects.value('project', selectedValues);
|
||||||
/*$('#teamId').val(data.teamId)
|
/*$('#teamId').val(data.teamId)
|
||||||
$('#teamId option[value=' + data.teamId + ']').attr('selected', true)*/
|
$('#teamId option[value=' + data.teamId + ']').attr('selected', true)*/
|
||||||
// var arrCB = data.loginTypes;
|
// var arrCB = data.loginTypes;
|
||||||
|
|
@ -284,17 +309,17 @@ function saveData(data) {
|
||||||
let loadingMsg = layer.msg('数据上传中,请稍候...', {icon: 16, scrollbar: false, time: 0});
|
let loadingMsg = layer.msg('数据上传中,请稍候...', {icon: 16, scrollbar: false, time: 0});
|
||||||
let url = dataUrl + "/users/addTemp";
|
let url = dataUrl + "/users/addTemp";
|
||||||
let params = data.field;
|
let params = data.field;
|
||||||
var arr_box = [];//固定复选框
|
// var arr_box = [];//固定复选框
|
||||||
$('#cbGuDing input[type=checkbox]:checked').each(function () {
|
// $('#cbGuDing input[type=checkbox]:checked').each(function () {
|
||||||
arr_box.push($(this).val());
|
// arr_box.push($(this).val());
|
||||||
});
|
// });
|
||||||
var arr_pro = [];//固定复选框
|
// var arr_pro = [];//固定复选框
|
||||||
$('#project input[type=checkbox]:checked').each(function () {
|
// $('#project input[type=checkbox]:checked').each(function () {
|
||||||
arr_pro.push($(this).val());
|
// arr_pro.push($(this).val());
|
||||||
});
|
// });
|
||||||
|
|
||||||
// params.loginType = arr_box.join()
|
// params.loginType = arr_box.join()
|
||||||
params.project = arr_pro.join()
|
// params.project = arr_pro.join()
|
||||||
// params.orgId = params.orgId_select_nodeId;
|
// params.orgId = params.orgId_select_nodeId;
|
||||||
if (params.id != "") {
|
if (params.id != "") {
|
||||||
url = dataUrl + "/users/update";
|
url = dataUrl + "/users/update";
|
||||||
|
|
|
||||||
|
|
@ -111,7 +111,7 @@ function initTable(dataList, limit, page) {
|
||||||
// {field: "orgName", title: "单位部门", unresize: true, align: "center"},
|
// {field: "orgName", title: "单位部门", unresize: true, align: "center"},
|
||||||
{field: "roleName", title: "角色", unresize: true, align: "center"},
|
{field: "roleName", title: "角色", unresize: true, align: "center"},
|
||||||
// {field: "phone", title: "联系电话", unresize: true, align: "center"},
|
// {field: "phone", title: "联系电话", unresize: true, align: "center"},
|
||||||
{field: "userType", title: "用户级别", unresize: true, align: "center"},
|
{field: "levelName", title: "用户级别", unresize: true, align: "center"},
|
||||||
{field: "state", title: "启用状态", align: "center", templet: '#is-state'},
|
{field: "state", title: "启用状态", align: "center", templet: '#is-state'},
|
||||||
{field: "createTime", title: "创建时间", unresize: true, align: "center"},
|
{field: "createTime", title: "创建时间", unresize: true, align: "center"},
|
||||||
{
|
{
|
||||||
|
|
@ -148,19 +148,13 @@ function getReqParams(page, limit, type) {
|
||||||
obj = {
|
obj = {
|
||||||
page: page + "",
|
page: page + "",
|
||||||
limit: limit + "",
|
limit: limit + "",
|
||||||
userName: $('#userName').val(),
|
keyWord: $('#keyWord').val(),
|
||||||
phone: $('#phone').val(),
|
|
||||||
orgId: selectOrgId,
|
|
||||||
userType: $('#userType').val(),
|
|
||||||
};
|
};
|
||||||
} else {
|
} else {
|
||||||
obj = {
|
obj = {
|
||||||
page: '1',
|
page: '1',
|
||||||
limit: '10',
|
limit: '10',
|
||||||
userName: '',
|
keyWord: '',
|
||||||
phone: '',
|
|
||||||
orgId: '',
|
|
||||||
userType: '',
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
console.log(obj)
|
console.log(obj)
|
||||||
|
|
@ -172,7 +166,7 @@ function getReqParams(page, limit, type) {
|
||||||
|
|
||||||
// 查询/重置
|
// 查询/重置
|
||||||
function query(type) {
|
function query(type) {
|
||||||
let pattern = new RegExp("[%_<>]");
|
/* let pattern = new RegExp("[%_<>]");
|
||||||
if (pattern.test($("#loginName").val())) {
|
if (pattern.test($("#loginName").val())) {
|
||||||
$("#loginName").val('');
|
$("#loginName").val('');
|
||||||
return layer.msg('用户名查询包含特殊字符,请重新输入', {
|
return layer.msg('用户名查询包含特殊字符,请重新输入', {
|
||||||
|
|
@ -186,7 +180,7 @@ function query(type) {
|
||||||
icon: 2,
|
icon: 2,
|
||||||
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
||||||
});
|
});
|
||||||
}
|
}*/
|
||||||
pageNum = 1;
|
pageNum = 1;
|
||||||
pages(1, limitSize);
|
pages(1, limitSize);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<link rel="stylesheet" href="../../../js/layui-v2.6.8/css/layui.css" media="all">
|
<link rel="stylesheet" href="../../../js/layui-v2.6.8/css/layui.css" media="all">
|
||||||
<link rel="stylesheet" href="../../../js/layui-v2.6.8/dtree/dtree.css">
|
<link rel="stylesheet" href="../../../js/layui-v2.6.8/dtree/dtree.css">
|
||||||
|
<link href="../../../js/layui-v2.6.8/formSelects-v4.css" rel="stylesheet" type="text/css"/>
|
||||||
<link rel="stylesheet" href="../../../js/layui-v2.6.8/dtree/font/dtreefont.css">
|
<link rel="stylesheet" href="../../../js/layui-v2.6.8/dtree/font/dtreefont.css">
|
||||||
<link rel="stylesheet" href="../../../css/dataForm.css">
|
<link rel="stylesheet" href="../../../css/dataForm.css">
|
||||||
<script src="../../../js/libs/jquery-3.7.0.min.js" charset="UTF-8" type="text/javascript"></script>
|
<script src="../../../js/libs/jquery-3.7.0.min.js" charset="UTF-8" type="text/javascript"></script>
|
||||||
|
|
@ -64,7 +65,9 @@
|
||||||
<div class="layui-form-item layui-hide" id="projectDiv">
|
<div class="layui-form-item layui-hide" id="projectDiv">
|
||||||
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>管理的工程</label>
|
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>管理的工程</label>
|
||||||
<div class="layui-input-inline">
|
<div class="layui-input-inline">
|
||||||
<select id="project" lay-verify="required" name="project" class="form-control input-sm">
|
<!-- <select id="project" lay-verify="required" name="project" class="form-control input-sm">-->
|
||||||
|
<!-- </select>-->
|
||||||
|
<select class="layui-select" name="project" id="project" xm-select="project" xm-select-show-count='3'>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -13,16 +13,16 @@
|
||||||
<fieldset>
|
<fieldset>
|
||||||
<input type="hidden" id="id" name="id">
|
<input type="hidden" id="id" name="id">
|
||||||
<div class="layui-form-item" style="margin-top: 2%;">
|
<div class="layui-form-item" style="margin-top: 2%;">
|
||||||
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>用户名</label>
|
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>登录账号</label>
|
||||||
<div class="layui-input-inline">
|
<div class="layui-input-inline">
|
||||||
<input class="form-control layui-input" placeholder="用户名" type="text" name="username" disabled id="username" maxlength="30"
|
<input class="form-control layui-input" placeholder="登录账号" type="text" name="loginName" disabled id="loginName" maxlength="30"
|
||||||
lay-verify="required">
|
lay-verify="required">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="layui-form-item" style="margin-top: 2%;">
|
<div class="layui-form-item" style="margin-top: 2%;">
|
||||||
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>登录名</label>
|
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>姓名</label>
|
||||||
<div class="layui-input-inline">
|
<div class="layui-input-inline">
|
||||||
<input class="form-control layui-input" placeholder="登录名" type="text" name="loginName" disabled id="loginName" maxlength="30"
|
<input class="form-control layui-input" placeholder="姓名" type="text" name="username" disabled id="username" maxlength="30"
|
||||||
lay-verify="required">
|
lay-verify="required">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue