组织机构使用ztree插件,加载数据时使用数据权限过滤(只能访问登录用户的单位及其下属单位), 点击部门加载相应用户。
<!-- 数据范围过滤 --> BaseService.dataScopeFilter(user, "a", ""),
${sqlMap.dsf} 比如使用jn_jsb登录,生成的sqlMap.dsf 是 AND (a.id = '7' OR a.parent_ids LIKE '0,1,7,%' OR a.id IS NULL) ,
这个静态常量 DEL_FLAG_NORMAL 是在baseEntity里面, sqlMap 也是其中一个父类的属性。
<%@ page contentType="text/html;charset=UTF-8" %> <%@ include file="/WEB-INF/views/include/taglib.jsp"%> <html> <head> <title>用户管理</title> <meta name="decorator" content="default"/> <%@include file="/WEB-INF/views/include/treeview.jsp" %> <style type="text/css"> .ztree {overflow:auto;margin:0;_margin-top:10px;padding:10px 0 0 10px;} </style> </head> <body> <sys:message content="${message}"/> <div id="content" class="row-fluid"> <div id="left" class="accordion-group"> <div class="accordion-heading"> <a class="accordion-toggle">组织机构<i class="icon-refresh pull-right" onclick="refreshTree();"></i></a> </div> <div id="ztree" class="ztree"></div> </div> <div id="openClose" class="close"> </div> <div id="right"> <iframe id="officeContent" src="${ctx}/sys/user/list" width="100%" height="91%" frameborder="0"></iframe> </div> </div> <script type="text/javascript"> var setting = {data:{simpleData:{enable:true,idKey:"id",pIdKey:"pId",rootPId:'0'}}, //回调函数,树节点的点击事件 callback:{onClick:function(event, treeId, treeNode){ var id = treeNode.id == '0' ? '' :treeNode.id; $('#officeContent').attr("src","${ctx}/sys/user/list?office.id="+id+"&office.name="+treeNode.name); } } }; function refreshTree(){ $.getJSON("${ctx}/sys/office/treeData",function(data){ $.fn.zTree.init($("#ztree"), setting, data).expandAll(true); }); } refreshTree(); var leftWidth = 180; // 左侧窗口大小 var htmlObj = $("html"), mainObj = $("#main"); var frameObj = $("#left, #openClose, #right, #right iframe"); function wSize(){ var strs = getWindowSize().toString().split(","); htmlObj.css({"overflow-x":"hidden", "overflow-y":"hidden"}); mainObj.css("width","auto"); frameObj.height(strs[0] - 5); var leftWidth = ($("#left").width() < 0 ? 0 : $("#left").width()); $("#right").width($("#content").width()- leftWidth - $("#openClose").width() -5); $(".ztree").width(leftWidth - 10).height(frameObj.height() - 46); } </script> <script src="${ctxStatic}/common/wsize.min.js" type="text/javascript"></script> </body> </html>