authority.vm 4.23 KB

#set($page_title="编辑")
#set($crumbs="首页:/home,角色列表:/role/list.do")

#set($url_roleMenu = "/role/roleMenu.do")
#set($url_authority = "/role/authority.do")


<div class="page-content">
    <div class="page-header">
        <h1>
            <small>
                <i class="icon-double-angle-right"></i>
                分配权限
            </small>
        </h1>
    </div>
    <!-- /.page-header -->

    <div class="row">
        <div class="col-xs-12">
            <!-- PAGE CONTENT BEGINS -->

            <form class="form-horizontal" role="form" method="post" action="$url_authority">
                <input type="hidden" value="$roleId" name="id">
##                <div class="form-group">
##
##                    <label class="col-sm-3 control-label no-padding-right"
##                           for="form-field-1"> 菜单: </label>
##                </div>

                <div>
                    <div id="ztree" class="ztree"></div>
                </div>
                <div id="formHidden"></div>

                <div class="clearfix form-actions">
                    <div class="col-md-offset-3 col-md-9">
                        <button class="btn btn-info" type="submit" id="submitbtn">
                            <i class="icon-ok bigger-110"></i>
                            提交
                        </button>

                        &nbsp; &nbsp; &nbsp;
                        <a class="btn btn-info" href="javascript:history.back()">
                            <i class="icon-undo bigger-110"></i>
                            返回
                        </a>
                    </div>
                </div>
            </form>
        </div>
    </div>
</div>

<link rel="stylesheet" href="/static/module/ztree/css/zTreeStyle/zTreeStyle.css" type="text/css">
<script type="text/javascript" src="/static/module/ztree/js/jquery.ztree.core-3.5.js"></script>
<script type="text/javascript" src="/static/module/ztree/js/jquery.ztree.excheck-3.5.js"></script>


#macro(makeResTree $tree)
    #foreach(${item} in ${tree})
        #if($velocityCount> 1),#end{
            id:"menu:$!{item.id}"
            , name: "$!{item.label}"
            ,ttype:"menu"
##            ,open:true
            ,isParent: true
            , children: [
                #makeResTree(${item.children})
            ]
            #if(${menuRoles.contains(${item.id})})
            , checked: true
            #end
            #if(${item.type} == 1)
##            #else
                ,isParent: true
                ,open:true
                ,children:[
                #foreach($res in $menuResrouceMap.get($item))
                    #if($velocityCount> 1),#end
                    {
                    id:"res:${res.id}"
                    ,name:"$res.resourceName"
                    ,ttype:"res"
                    #if(${assignedMap.containsKey(${res.id})})
                    , checked: true
                    #end
                }
                #end
                ]
            #end
        }
    #end
#end
<script type="text/javascript">
    var znodes = [
        #makeResTree($menus)
    ];
    var setting = {
        check: {
            enable: true
        }
        ,callback: {
            onNodeCreated: function(event, treeId, treeNode){
                console.log(treeNode.ttype)
                if(treeNode.ttype == "res"){
                    $("#" + treeNode.tId).addClass("menuRes")
                } else {
                    $("#" + treeNode.tId).addClass("clearfix")
//                    $("#" + treeId).addClass("menuCl")
                }

            }
        }
    }

    $(function(){
        var tree = $.fn.zTree.init($("#ztree"), setting, znodes);
        $("#submitbtn").click(function(){
            var div = $("#formHidden");
            div.html("");
            var items = tree.getCheckedNodes();
            for(var i in items) {
                var item = items[i];
                var hi = "<input type='hidden' name='authority' value='"+item.id+"'>"
                div.append(hi);
            }
        });
    })

</script>


<style type="text/css">
    .menuRes{
        display: inline-block;
        float:left;
    }
    .menuRes span.button.switch{
        background-image:none;
        background-color:#fff;
    }
</style>