| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275 | <!DOCTYPE html><html>  <head>    <meta charset="utf-8" />    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />    <meta name="renderer" content="webkit" />    <title>角色菜单</title>	<link rel="stylesheet" href="../cross/css/cross.css" type="text/css" />    <link rel="stylesheet" href="../cross/css/cross.ui.css" type="text/css" />    <link rel="stylesheet" href="../iconfont/iconfont.css" type="text/css" />	<link rel="stylesheet" href="../widget/artDialog/4.1.7/css/artDialog.css" type="text/css" />	<link rel="stylesheet" href="../widget/zTree/3.5.18/css/zTreeStyle.min.css" type="text/css" />	  </head>  <style>  	.add-del-w { width: 100px; margin:150px 10px 0;}  	.w420 {width: 420px;}  	.w970 {width: 970px;}  </style>    <body>  	<div>  		<div class="ptb10 c-f14 c-666" id="sysHtml">        </div>        <div class="bgc-f9f9f9">            <div class="c-main w970 ptb15">                <div class="clearfix">                    <div class="fl w420 bgc-fff">                        <div class="c-border list">                        	<div class="plr15 ptb10 c-f14 c-666 c-border-b">角色</div>                            <div class="ptb10" style="height:380px; overflow:auto;">                            	<div class="c-line-h2" id="role-radio-list">                            		<ul id="rolelist">                                                                	</ul>                            	</div>                            </div>                        </div>                    </div>                    <div class="fl add-del-w">                    </div>                    <div class="fl w420 bgc-fff">                        <div class="c-border list">                            <div class="plr15 ptb10 c-f14 c-666 c-border-b">菜单</div>                            <div class="ptb10" style="height:380px; overflow:auto;">                            	<ul id="menuTree" class="ztree"></ul>                                <!-- <ul>                                    <li class="c-999 c-f15"><label class="chooseAllSelected"><input type="checkbox" name="" id="" />全选</label></li>                                	<div id="menuList"></div>                                </ul> -->                            </div>                        </div>                    </div>                </div>            </div>        </div>        <div class="c-t-center">            <a href="javascript:saveRoleMenu();" class="c-btn c-btn-blue"><i class="iconfont"></i>保存</a>        </div>    </div>          	<script type="text/javascript" src="../cross/js/jquery/1.8.3/jquery.js"></script>  	<script type="text/javascript" src="../cross/js/cross.ui.js"></script>	<script type="text/javascript" src="../widget/artDialog/4.1.7/js/artDialog.js"></script>    <script type="text/javascript" src="../widget/zTree/3.5.18/js/jquery.ztree.min.js"></script>		<script type="text/javascript">	var artLoading = null;	var roleMenu;		$(function(){		getRole();		getMenu();				//选中角色事件		$('#role-radio-list').on('click','label.radio',function(){			 var $this = $(this);			 var value = $this.find('input:radio').val();			 getRoleMenu(value);		});				//菜单全选		$('.chooseAllSelected').click(function(){		    if($(this).find(':checkbox').is(':checked')) {		        $(this).parent().siblings().find(':checkbox').prop({'checked':true});		    } else {		        $(this).parent().siblings().find(':checkbox').prop({'checked':false});		    }		});	});		//获取角色	function getRole() {		var param = {};		param.typeName = "roles";				artLoading = art.dialog({lock: true,content: '<img src="../widget/artDialog/4.1.7/images/loading.gif" class="mr10" />数据加载中,请稍候...', tips:true});		$.ajax({			url : "/JkEdu/configDict/getDict",			cache : false,			async : false,			data: param,			success:function(data){				artLoading.close();				var data = eval("(" + data + ")");				if (data.Code == 10000) {					var ret = data.result;					var html = '';					$.each(ret, function(i, v) {						html += '<li><label class="radio demo-radio-elem"><input type="radio" name="radiogroup" value="'+v.code+'" data-id="'+v.codeName+'">';						html += '<i class="icon-radio"></i>' + v.codeName;						html += '</label></li>';					});					$("#rolelist").append(html);					$('#role-radio-list').radioGroup({elemClass:'.demo-radio-elem'});				} else {					ask(data.Message);				}			}		});	}		var setting = {		check: {			enable: true		},		data: {			simpleData: {				enable: true			}		}	};		//获取菜单	function getMenu() {		artLoading = art.dialog({lock: true,content: '<img src="../widget/artDialog/4.1.7/images/loading.gif" class="mr10" />数据加载中,请稍候...', tips:true});		$.post("/JkEdu/menu/getMenu", {}, function(result) {			artLoading.close();			var data = eval("(" + result + ")");			if (data.Code == 1) {				var ret = data.Result;				var html = '';				var zNodes = new Array();				var temp = {};				$.each(ret, function(i, v) {					//获取角色是否配置菜单					var flag = 0;					if (roleMenu != null && roleMenu != "") {						$.each(roleMenu, function(j, t) {							if (t.menuid == v.menuid) {								flag = 1;								return false;							}						});					}										//配置菜单树形					temp = {};					if (v.fathermenuid && v.fathermenuid != null && v.fathermenuid != "") {						if (flag == 1) {							temp = {								id : v.menuid,								pId : v.fathermenuid,								name : v.menuname,								checked : true,								open : true							}						} else {							temp = {								id : v.menuid,								pId : v.fathermenuid,								name : v.menuname,								open : true							}						}						zNodes.push(temp);					} else {						if (flag == 1) {							temp = {								id : v.menuid,								pId : 0,								name : v.menuname,								checked : true,								open : true							}						} else {							temp = {								id : v.menuid,								pId : 0,								name : v.menuname,								open : true							}						}						zNodes.push(temp);					}				});				$.fn.zTree.init($("#menuTree"), setting, zNodes);			} else {				ask(data.Message);			}		});	}		//获取该角色配置的菜单	function getRoleMenu(roleId) {		var param = {};		param.roleId = roleId;				artLoading = art.dialog({lock: true, content:'<img src="../widget/artDialog/4.1.7/images/loading.gif" class="mr10" />数据加载中,请稍候...', tips:true});  		$.post("/JkEdu/menu/getMenuRole", param, function(data){  			artLoading.close();  			var data = eval("(" + data + ")");  			if (data.Code == 1) {  				roleMenu = data.Result;  				getMenu();  			} else {  				ask(data.Message);  			}  		});	}		//保存角色配置菜单	function saveRoleMenu() {		 //获取角色ID和角色名称		 var roleId = $('#role-radio-list').radioGroup({operate:'getKey'});		 var roleName = $('#role-radio-list').radioGroup({operate:'other',opreateDataOther:'data-id'});		 if (roleId == null || roleId == "") {			 ask("请选中要配置的角色!");			 return;		 }		 //获取配置的菜单ID		 var menuId = "";		 var treeObj = $.fn.zTree.getZTreeObj("menuTree");		 var nodes = treeObj.getCheckedNodes(true);		 $.each(nodes, function(i, v) {			 if (v.id != 0) {				 menuId += v.id + ",";			 }		 });		if (menuId != "") {			menuId = menuId.substring(0, menuId.length-1);		}				var param = {};		param.roleId = roleId;		param.roleName = roleName;		param.menuId = menuId;				artLoading = art.dialog({lock: true, content:'<img src="../widget/artDialog/4.1.7/images/loading.gif" class="mr10" />数据加载中,请稍候...', tips:true});  		$.post("/JkEdu/menu/saveMenuRole", param, function(data){  			artLoading.close();  			var data = eval("(" + data + ")");  			ask(data.Message);  		});	}		//提示信息	function ask(message){	 	art.dialog({			lock : true,			artIcon : 'ask',			opacity : 0.4,			width : 250,			title : '提示',			content : message,			ok : function() {							}		});	}			</script>  </body></html>
 |