用户管理前后端代码提交

This commit is contained in:
liang.chao 2025-04-02 18:31:05 +08:00
parent 93b45e0a14
commit c84e1524ad
15 changed files with 427 additions and 299 deletions

View File

@ -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;
/** /**
* 角色级别 * 角色级别

View File

@ -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) {

View File

@ -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);

View File

@ -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);
} }

View File

@ -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);
} }

View File

@ -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);
} }

View File

@ -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);
} }

View File

@ -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);
}
} }

View File

@ -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;
} }

View File

@ -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>

View File

@ -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>

View File

@ -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";

View File

@ -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);
} }

View File

@ -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>

View File

@ -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>