Browse Source

部门修改不允许最后层级节点选择

RuoYi 6 years ago
parent
commit
d24481f9a5

+ 1 - 1
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDeptController.java

@@ -149,7 +149,7 @@ public class SysDeptController extends BaseController
     @ResponseBody
     public List<Map<String, Object>> treeData()
     {
-        List<Map<String, Object>> tree = deptService.selectDeptTree();
+        List<Map<String, Object>> tree = deptService.selectDeptTree(new SysDept());
         return tree;
     }
 

+ 11 - 0
ruoyi-admin/src/main/resources/static/ruoyi/js/ry-ui.js

@@ -744,6 +744,17 @@
     		    }
         		return true;
         	},
+        	// 不允许最后层级节点选择
+        	notAllowLastLevel: function(_tree) {
+    		    var nodes = _tree.getSelectedNodes();
+    		    for (var i = 0; i < nodes.length; i++) {
+    		    	if (nodes[i].level == nodes.length + 1) {
+    		    		$.modal.msgError("不能选择最后层级节点(" + nodes[i].name + ")");
+    		            return false;
+    		        }
+    		    }
+        		return true;
+        	},
         	// 隐藏/显示搜索栏
         	toggleSearch: function() {
         		$('#search').slideToggle(200);

+ 7 - 4
ruoyi-admin/src/main/resources/templates/system/dept/edit.html

@@ -123,10 +123,13 @@
 		}
 		
 		function doSubmit(index, layero){
-   			var body = layer.getChildFrame('body', index);
-   			$("#treeId").val(body.find('#treeId').val());
-   			$("#treeName").val(body.find('#treeName').val());
-   			layer.close(index);
+			var tree = layero.find("iframe")[0].contentWindow.$._tree;
+			if ($.tree.notAllowLastLevel(tree)) {
+	   			var body = layer.getChildFrame('body', index);
+	   			$("#treeId").val(body.find('#treeId').val());
+	   			$("#treeName").val(body.find('#treeName').val());
+	   			layer.close(index);
+			}
 		}
 	</script>
 </body>

+ 2 - 1
ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDeptService.java

@@ -23,9 +23,10 @@ public interface ISysDeptService
     /**
      * 查询部门管理树
      * 
+     * @param dept 部门信息
      * @return 所有部门信息
      */
-    public List<Map<String, Object>> selectDeptTree();
+    public List<Map<String, Object>> selectDeptTree(SysDept dept);
 
     /**
      * 根据角色ID查询菜单

+ 5 - 2
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java

@@ -28,6 +28,7 @@ public class SysDeptServiceImpl implements ISysDeptService
     /**
      * 查询部门管理数据
      * 
+     * @param dept 部门信息
      * @return 部门信息集合
      */
     @Override
@@ -40,13 +41,15 @@ public class SysDeptServiceImpl implements ISysDeptService
     /**
      * 查询部门管理树
      * 
+     * @param dept 部门信息
      * @return 所有部门信息
      */
     @Override
-    public List<Map<String, Object>> selectDeptTree()
+    @DataScope(tableAlias = "d")
+    public List<Map<String, Object>> selectDeptTree(SysDept dept)
     {
         List<Map<String, Object>> trees = new ArrayList<Map<String, Object>>();
-        List<SysDept> deptList = selectDeptList(new SysDept());
+        List<SysDept> deptList = deptMapper.selectDeptList(dept);
         trees = getTrees(deptList, false, null);
         return trees;
     }