diff --git a/pom.xml b/pom.xml index 987bb1090..18c73d39e 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ com.ruoyi RuoYi - 1.0.2 + 1.0.3 jar RuoYi diff --git a/src/main/java/com/ruoyi/project/system/role/service/IRoleService.java b/src/main/java/com/ruoyi/project/system/role/service/IRoleService.java index 75f40a2fa..dbf5d37af 100644 --- a/src/main/java/com/ruoyi/project/system/role/service/IRoleService.java +++ b/src/main/java/com/ruoyi/project/system/role/service/IRoleService.java @@ -19,7 +19,7 @@ public interface IRoleService * @return 权限列表 */ public Set selectRoleKeys(Long userId); - + /** * 根据用户ID查询角色 * @@ -28,4 +28,11 @@ public interface IRoleService */ public List selectRolesByUserId(Long userId); + /** + * 查询所有角色 + * + * @return 权限列表 + */ + public List selectRoleAll(); + } diff --git a/src/main/java/com/ruoyi/project/system/role/service/RoleServiceImpl.java b/src/main/java/com/ruoyi/project/system/role/service/RoleServiceImpl.java index 54b14960f..fcda398fa 100644 --- a/src/main/java/com/ruoyi/project/system/role/service/RoleServiceImpl.java +++ b/src/main/java/com/ruoyi/project/system/role/service/RoleServiceImpl.java @@ -67,4 +67,14 @@ public class RoleServiceImpl implements IRoleService return roles; } + /** + * 查询所有角色 + * + * @return 权限列表 + */ + public List selectRoleAll() + { + return roleDao.selectRolesAll(); + } + } diff --git a/src/main/java/com/ruoyi/project/system/user/controller/UserController.java b/src/main/java/com/ruoyi/project/system/user/controller/UserController.java index 2592204f2..96874d2be 100644 --- a/src/main/java/com/ruoyi/project/system/user/controller/UserController.java +++ b/src/main/java/com/ruoyi/project/system/user/controller/UserController.java @@ -75,8 +75,10 @@ public class UserController extends BaseController */ @Log(title = "系统管理", action = "用户管理-新增用户") @GetMapping("/add") - public String add() + public String add(Model model) { + List roles = roleService.selectRoleAll(); + model.addAttribute("roles", roles); return prefix + "/add"; } diff --git a/src/main/java/com/ruoyi/project/system/user/dao/IUserDao.java b/src/main/java/com/ruoyi/project/system/user/dao/IUserDao.java index a16499a90..5dc1a87c2 100644 --- a/src/main/java/com/ruoyi/project/system/user/dao/IUserDao.java +++ b/src/main/java/com/ruoyi/project/system/user/dao/IUserDao.java @@ -71,6 +71,14 @@ public interface IUserDao */ public int updateUser(User user); + /** + * 新增用户信息 + * + * @param user 用户信息 + * @return 结果 + */ + public int insertUser(User user); + /** * 批量新增用户角色信息 * diff --git a/src/main/java/com/ruoyi/project/system/user/dao/UserDaoImpl.java b/src/main/java/com/ruoyi/project/system/user/dao/UserDaoImpl.java index e47a35035..07b5046cc 100644 --- a/src/main/java/com/ruoyi/project/system/user/dao/UserDaoImpl.java +++ b/src/main/java/com/ruoyi/project/system/user/dao/UserDaoImpl.java @@ -97,7 +97,18 @@ public class UserDaoImpl extends DynamicObjectBaseDao implements IUserDao */ public int updateUser(User user) { - return this.save("SystemUserMapper.updateUser", user); + return this.update("SystemUserMapper.updateUser", user); + } + + /** + * 新增用户信息 + * + * @param user 用户信息 + * @return 结果 + */ + public int insertUser(User user) + { + return this.save("SystemUserMapper.insertUser", user); } /** diff --git a/src/main/java/com/ruoyi/project/system/user/service/UserServiceImpl.java b/src/main/java/com/ruoyi/project/system/user/service/UserServiceImpl.java index b74226962..ff623bfd1 100644 --- a/src/main/java/com/ruoyi/project/system/user/service/UserServiceImpl.java +++ b/src/main/java/com/ruoyi/project/system/user/service/UserServiceImpl.java @@ -6,6 +6,7 @@ import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import com.ruoyi.common.utils.StringUtils; import com.ruoyi.framework.web.page.PageUtilEntity; import com.ruoyi.framework.web.page.TableDataInfo; import com.ruoyi.project.system.user.dao.IUserDao; @@ -91,21 +92,41 @@ public class UserServiceImpl implements IUserService public int saveUser(User user) { Long userId = user.getUserId(); - // 删除用户与角色关联 - userDao.deleteUserRoleByUserId(userId); + if (StringUtils.isNotNull(userId)) + { + // 删除用户与角色关联 + userDao.deleteUserRoleByUserId(userId); + } + else + { + // 新增用户信息 + userDao.insertUser(user); + + } + insertUserRole(user); + return userDao.updateUser(user); + } + + /** + * 新增用户角色信息 + * + * @param user 用户对象 + */ + public void insertUserRole(User user) + { // 新增用户与角色管理 List list = new ArrayList<>(); for (Long roleId : user.getRoleIds()) { UserRole ur = new UserRole(); - ur.setUserId(userId); + ur.setUserId(user.getUserId()); ur.setRoleId(roleId); list.add(ur); } - if (list.size() > 0) { + if (list.size() > 0) + { userDao.batchUserRole(list); } - return userDao.updateUser(user); } } diff --git a/src/main/resources/mybatis/system/SystemUserMapper.xml b/src/main/resources/mybatis/system/SystemUserMapper.xml index 0faad593e..5b9639711 100644 --- a/src/main/resources/mybatis/system/SystemUserMapper.xml +++ b/src/main/resources/mybatis/system/SystemUserMapper.xml @@ -84,7 +84,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and user_id = #{userId} - + insert into sys_user( user_id, dept_id, diff --git a/src/main/resources/static/ruoyi/js/index.js b/src/main/resources/static/ruoyi/js/index.js index 64f1b1fac..0be44132e 100644 --- a/src/main/resources/static/ruoyi/js/index.js +++ b/src/main/resources/static/ruoyi/js/index.js @@ -212,7 +212,6 @@ $(function() { return false; } }); - // 选项卡菜单不存在 if (flag) { var str = '' + menuName + ' '; diff --git a/src/main/resources/static/ruoyi/system/user/add.js b/src/main/resources/static/ruoyi/system/user/add.js new file mode 100644 index 000000000..b25999cf0 --- /dev/null +++ b/src/main/resources/static/ruoyi/system/user/add.js @@ -0,0 +1,82 @@ +$("#form-user-add").validate({ + rules:{ + loginName:{ + required:true, + }, + userName:{ + required:true, + }, + password:{ + required:true, + }, + email:{ + required:true, + }, + phonenumber:{ + required:true, + }, + }, + submitHandler:function(form){ + add(); + } +}); + +function getIsChecked(_name) { + var adIds = ""; + $('input:checkbox[name="'+_name+'"]:checked').each(function(i) { + if (0 == i) { + adIds = $(this).val(); + } else { + adIds += ("," + $(this).val()); + } + }); + return adIds; +} + +function add() { + var userId = $("input[name='userId']").val(); + var deptId = $("input[name='deptId']").val(); + var loginName = $("input[name='loginName']").val(); + var userName = $("input[name='userName']").val(); + var password = $("input[name='password']").val(); + var email = $("input[name='email']").val(); + var phonenumber = $("input[name='phonenumber']").val(); + var status = $("input[name='status']").is(':checked') == true ? 0 : 1; + var roleIds = getIsChecked("role"); + $.ajax({ + cache : true, + type : "POST", + url : "/system/user/save", + data : { + "userId": userId, + "deptId": deptId, + "loginName": loginName, + "userName": userName, + "password": password, + "email": email, + "phonenumber": phonenumber, + "status": status, + "roleIds": roleIds + }, + async : false, + error : function(request) { + parent.layer.alert("系统错误"); + }, + success : function(data) { + if (data.code == 0) { + parent.layer.msg('修改成功',{icon:1,time:1000}); + layer_close(); + window.parent.location.reload(); + } else { + parent.layer.alert(data.m , {icon: 2,title:"系统提示"}); + } + + } + }); +} + +/*用户管理-修改-选择部门树*/ +function selectDeptTree() { + var url = "/system/user/selectDeptTree"; + layer_show("选择部门", url, '400', '410'); +} diff --git a/src/main/resources/static/ruoyi/system/user/edit.js b/src/main/resources/static/ruoyi/system/user/edit.js index b903a3854..ad137cf23 100644 --- a/src/main/resources/static/ruoyi/system/user/edit.js +++ b/src/main/resources/static/ruoyi/system/user/edit.js @@ -70,8 +70,3 @@ function selectDeptTree() { var url = "/system/user/selectDeptTree"; layer_show("选择部门", url, '400', '410'); } - -function loadDept(deptId,deptName){ - $("#deptId").val(deptId); - $("#deptName").val(deptName); -} diff --git a/src/main/resources/static/ruoyi/system/user/tree.js b/src/main/resources/static/ruoyi/system/user/tree.js new file mode 100644 index 000000000..72504a437 --- /dev/null +++ b/src/main/resources/static/ruoyi/system/user/tree.js @@ -0,0 +1,128 @@ + // 树结构初始化加载 + var setting = {view:{selectedMulti:false},data:{key:{title:"title"},simpleData:{enable:true}}, + callback:{onClick:function(event, treeId, treeNode){ + var deptId = treeNode.id; + var deptName = treeNode.name; + $("#deptId").val(deptId); + $("#deptName").val(deptName); + }} + }, tree, loadTree = function(){ + $.get("/system/dept/treeData", function(data) { + tree = $.fn.zTree.init($("#tree"), setting, data); + // 展开第一级节点 + var nodes = tree.getNodesByParam("level", 0); + for (var i = 0; i < nodes.length; i++) { + tree.expandNode(nodes[i], true, false, false); + } + // 展开第二级节点 + nodes = tree.getNodesByParam("level", 1); + for (var i = 0; i < nodes.length; i++) { + tree.expandNode(nodes[i], true, false, false); + } + }, null, null, "正在加载,请稍后..."); + };loadTree(); + + $('#btnExpand').click(function() { + tree.expandAll(true); + }); + $('#btnCollapse').click(function() { + tree.expandAll(false); + }); + +function loadUser(){ + var deptId = $("#deptId").val(); + var deptName = $("#deptName").val(); + parent.$("#deptId").val(deptId); + parent.$("#deptName").val(deptName); + var index = parent.layer.getFrameIndex(window.name); // 获取窗口索引 + parent.layer.close(index); +} + +var lastValue = "", nodeList = [], key = $("#keyword"); +key.bind("focus", focusKey).bind("blur", blurKey).bind("change cut input propertychange", searchNode); +key.bind("keydown", function (e){if(e.which == 13){searchNode();}}); + +function focusKey(e) { + if (key.hasClass("empty")) { + key.removeClass("empty"); + } +} + +function blurKey(e) { + if (key.get(0).value === "") { + key.addClass("empty"); + } + searchNode(e); +} + +function searchNode() { + var value = $.trim(key.get(0).value); + var keyType = "name"; + if (lastValue === value) { + return; + } + lastValue = value; + var nodes = tree.getNodes(); + if (value == "") { + showAllNode(nodes); + return; + } + hideAllNode(nodes); + nodeList = tree.getNodesByParamFuzzy(keyType, value); + updateNodes(nodeList); +} + +function hideAllNode(nodes){ + var tree = $.fn.zTree.getZTreeObj("tree"); + nodes = tree.transformToArray(nodes); + for(var i=nodes.length-1; i>=0; i--) { + tree.hideNode(nodes[i]); + } +} + +function showAllNode(nodes){ + nodes = tree.transformToArray(nodes); + for(var i=nodes.length-1; i>=0; i--) { + if(nodes[i].getParentNode()!=null){ + tree.expandNode(nodes[i],false,false,false,false); + }else{ + tree.expandNode(nodes[i],true,true,false,false); + } + tree.showNode(nodes[i]); + showAllNode(nodes[i].children); + } +} + +function updateNodes(nodeList) { + tree.showNodes(nodeList); + for(var i=0, l=nodeList.length; i若依后台管理框架

一直想做一款后台管理系统,看了很多优秀的开源项目但是发现没有合适自己的。于是利用空闲休息时间开始自己写一套后台系统。如此有了若依管理系统。,她可以用于所有的Web应用程序,如网站管理后台网站会员中心CMSCRMOA等等,当然,您也可以对她进行深度定制,以做出更强系统。所有前端后台代码封装过后十分精简易上手,出错效率低。同时支持移动客户端访问。系统会陆续更新一些实用功能。

- 当前版本:v1.0.2 + 当前版本:v1.0.3

¥免费开源 @@ -94,13 +94,27 @@

+
+
+
+ v1.0.32018.03.08 +
+
+
+
+
    +
  1. 新增用户管理(新增、删除、修改、查询、部门选择)
  2. +
+
+
+
v1.0.22018.03.04
-
+
  1. 新增部门管理 (新增、删除、修改、查询)
  2. diff --git a/src/main/resources/templates/system/user/add.html b/src/main/resources/templates/system/user/add.html index 30d74d258..b17363208 100644 --- a/src/main/resources/templates/system/user/add.html +++ b/src/main/resources/templates/system/user/add.html @@ -1 +1,85 @@ -test \ No newline at end of file + + + + + + +
    +
    + +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    + + +
    +
    +
    +
    + +
    +
    + +
    +
    +
    + +
    +
    + + +
    +
    +
    +
    +
    + + + + + diff --git a/src/main/resources/templates/system/user/tree.html b/src/main/resources/templates/system/user/tree.html index ac9fffa05..4dfff4cb2 100644 --- a/src/main/resources/templates/system/user/tree.html +++ b/src/main/resources/templates/system/user/tree.html @@ -31,57 +31,6 @@ button{font-family: "SimSun","Helvetica Neue",Helvetica,Arial;}
- + diff --git a/src/main/resources/templates/system/user/user.html b/src/main/resources/templates/system/user/user.html index d5ac697be..3a3930575 100644 --- a/src/main/resources/templates/system/user/user.html +++ b/src/main/resources/templates/system/user/user.html @@ -16,7 +16,7 @@ 组织机构
- +