liuxiaolong
2019-05-09 0d1d88cdb668e75ea8609417ac18ae19947e9525
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ include file="/webpage/include/taglib.jsp"%>
<html>
<head>
    <title>角色管理</title>
    <meta name="decorator" content="default"/>
    <%@include file="/webpage/include/treeview.jsp" %>
    <script type="text/javascript">
 
          var validateForm;
        function doSubmit(){//回调函数,在编辑和保存动作时,供openDialog调用提交表单。
          if(validateForm.form()){
              $("#inputForm").submit();
              return true;
          }
 
          return false;
        }
            
        $(document).ready(function(){
            $("#name").focus();
            validateForm = $("#inputForm").validate({
            
                submitHandler: function(form){
                    var ids = [], nodes = tree.getCheckedNodes(true);
                    for(var i=0; i<nodes.length; i++) {
                        ids.push(nodes[i].id);
                    }
                    $("#menuIds").val(ids);
                    loading('正在提交,请稍等...');
                    form.submit();
                },
                errorContainer: "#messageBox",
                errorPlacement: function(error, element) {
                    $("#messageBox").text("输入有误,请先更正。");
                    if (element.is(":checkbox")||element.is(":radio")||element.parent().is(".input-append")){
                        error.appendTo(element.parent().parent());
                    } else {
                        error.insertAfter(element);
                    }
                }
            });
 
            var setting = {check:{enable:true,nocheckInherit:true},view:{selectedMulti:false},
                    data:{simpleData:{enable:true}},callback:{beforeClick:function(id, node){
                        tree.checkNode(node, !node.checked, true, true);
                        return false;
                    }}};
            
            // 用户-菜单
            var zNodes=[
                    <c:forEach items="${menuList}" var="menu">{id:"${menu.id}", pId:"${not empty menu.parent.id?menu.parent.id:0}", name:"${not empty menu.parent.id?menu.name:'权限列表'}"},
                    </c:forEach>];
            // 初始化树结构
            var tree = $.fn.zTree.init($("#menuTree"), setting, zNodes);
            // 不选择父节点
            tree.setting.check.chkboxType = { "Y" : "ps", "N" : "s" };
            // 默认选择节点
            var ids = "${role.menuIds}".split(",");
            for(var i=0; i<ids.length; i++) {
                var node = tree.getNodeByParam("id", ids[i]);
                try{tree.checkNode(node, true, false);}catch(e){}
            }
            // 默认展开全部节点
            tree.expandAll(true);
        
        });
        
    </script>
</head>
<body>
    <form:form id="inputForm" modelAttribute="role" action="${ctx}/sys/role/save" method="post" class="form-horizontal">
        <form:hidden path="id"/>
        <input  name="office.id" type="hidden" value="${role.office.id}">
        <input  name="office.name" type="hidden" value="${role.office.name}">
        <input  name="name" type="hidden" value="${role.name}">
        <input  name="oldName" type="hidden" value="${role.name}">
        <input  name="enname" type="hidden" value="${role.enname}">
        <input  name="oldEnname" type="hidden" value="${role.enname}">
        <input  name="roleType" type="hidden" value="${role.roleType}">
        <input  name="sysData" type="hidden" value="${role.sysData}">
        <input  name="useable" type="hidden" value="${role.useable}">
        <input  name="dataScope" type="hidden" value="${role.dataScope}">
        <input  name="remarks" type="hidden" value="${role.remarks}">
        <div id="menuTree" class="ztree" style="margin-top:3px;float:left;"></div>
                    <form:hidden path="menuIds"/>
        <form:hidden path="officeIds"/>
    </form:form>
</body>
</html>