var roleMsg1 = undefined;
var roleMsg2 = undefined;
var roleInfoList = undefined;
var roleMenuBtnList = undefined;
var currentMenuId ='4.1';//当前界面对应的menuid
$(function(){
	queryAllRole();
	var str2 = getSelectOfficeBoxHtml(2);
	roleMsg2 = str2;
	var str1 = getSelectOfficeBoxHtml(1);
	roleMsg1 = str1;
	if(!roleInfoList.length){
		$("#roleId").attr("value",roleInfoList.RoleId);
		$("#selectOffice").html(roleInfoList.RoleName);
		loadMenuByRoleId(roleInfoList.RoleId,roleInfoList.RoleName);
	}else{
		$("#roleId").attr("value",roleInfoList[0].RoleId);
		$("#selectOffice").html(roleInfoList[0].RoleName);
		loadMenuByRoleId(roleInfoList[0].RoleId,roleInfoList[0].RoleName);
	}
	
	$('.office-btns').on('click',function(){
		if(!$("#divMenuBtnTitle").attr("roleId")){
			return ;
		}
		//设置对话框中的值
		$("#txtBtnName").val("");
		$("#txtBtnType").val("");
		$("#txtBtnAPI").val("");
		$("#txtBtnAction").val("");
		//加载菜单选项
		var contents=$('.office-box').get(0);
		var artBox=art.dialog({
			lock: true,
			artIcon:'add',
			opacity:0.4,
			width: 550,
			padding:'0px 0px',
			title:'新增功能',
			content: contents,
			ok: function () {
				var btnName = $("#txtBtnName").val();
				var btnType = $("#txtBtnType").val();
				var btnAPI = $("#txtBtnAPI").val();
				var btnAction = $("#txtBtnAction").val();
				if( !btnName ){
					Commonjs.alert('按钮名称不能为空');
					document.getElementById("txtBtnName").focus();
					return false;
				}
				if( !btnType ){
					Commonjs.alert('按钮类型不能为空');
					document.getElementById("txtBtnType").focus();
					return false;
				}
				//保存菜单
				var roleMenuBtnObje ={};
				roleMenuBtnObje.btnName = btnName;
				roleMenuBtnObje.btnType = btnType;
				roleMenuBtnObje.menuName = menuName;
				roleMenuBtnObje.API = btnAPI;
				roleMenuBtnObje.action = btnAction;
				roleMenuBtnObje.roleId = $("#divMenuBtnTitle").attr("roleId");
				roleMenuBtnObje.menuId = $("#divMenuBtnTitle").attr("menuId");
				roleMenuBtnObje.menuName = $("#divMenuBtnTitle").attr("menuName");
				saveOrUpdateRoleMenuBtn(roleMenuBtnObje);
			},
			cancel: true
		});	
		return false;	
	});
	
	Commonjs.btnPermissionControl(currentMenuId);
});
function showorhideRole(obj){
	var a = $(obj).next('div');
	var id = a.attr('id');
	var idx = id.substring(id.length-1,id.length);
	if(a.css('display')=="none"){
		a.show();
		var api = a.jScrollPane({"autoReinitialise": true}).data('jsp');
		if(idx==1){
			api.getContentPane().html(roleMsg1);
		}else{
			api.getContentPane().html(roleMsg2);
		}
		api.reinitialise();
	}else{
		a.hide();
	}
}
//查询所有职务角色
function queryAllRole(){
	var Service = {};
	var pageIndex = 0;
	var pageSize = 100;
	var page = {};
	page.PIndex = pageIndex;
	page.PSize = pageSize;
	var code = 2005;
	var param = {};
	var params = Commonjs.getParams(code,Service,page);//获取参数
	param.Api = "QueryAllRole";
	param.Params = Commonjs.jsonToString(params);
	var d = Commonjs.ajax('../account_callAccountApi.do',param,false);
	if(d.RespCode==10000){
		roleInfoList = d.Data;
	}
}
//生成职务选择框下拉数据
function getSelectOfficeBoxHtml(index){
	var str = "
"
	//str +="添加职务
";
	return str;
}
// 设置选中值
function setSelectOffice(index,roleId,roleName){
	$("#roleId").attr("value",roleId);
	$("#selectOffice").html(decodeURI(decodeURI(roleName)));
	$('#selectOfficeBox').hide();
	loadMenuByRoleId(roleId,decodeURI(decodeURI(roleName)));
}
//根据选择的职务角色,加载菜单
function loadMenuByRoleId(roleId,roleName){
	
	var Service = {};
	var code = 2005;
	var param = {};
	var params = Commonjs.getParams(code,Service);//获取参数
	Service.RoleId = roleId;
	param.Api = "QueryMenuByRoleId";
	param.Params = Commonjs.jsonToString(params);
	var d = Commonjs.ajax('../account_callAccountApi.do',param,false);
	if(d.RespCode=10000){
		var menuInfo = d.Data;
		
		var str = "| 菜单ID | 菜单名称 | 
";
		if(!menuInfo.length){
			str += "";
			str +="| "+menuInfo.MenuId+" | ";
			str +=""+menuInfo.MenuName+" | ";
			str +="
";
		}else{
			for(var i=0;i";
				str +=""+obj.MenuId+" | ";
				str +=""+obj.MenuName+" | ";
				str +="";
			}
		}
		$("#tb").html(str);
	}else{
		Commonjs.alert(d.RespMessage);
	}
}
//根据角色ID查询功能	权限
function showRoleMenuButton(roleId,roleName,menuId,menuName){
	$("#divMenuBtnTitle").html("菜单功能:"+roleName+"->"+menuName);
	$("#divMenuBtnTitle").attr("roleId",roleId);
	$("#divMenuBtnTitle").attr("menuId",menuId);
	$("#divMenuBtnTitle").attr("menuName",menuName);
	loadButtonTab(roleId,menuId);
}
//保存功能按钮信息
function saveOrUpdateRoleMenuBtn(RoleMenuBtnObj){
	var Service = {};
	var page = {};
	var code = 2005;
	Service.MenuID = RoleMenuBtnObj.menuId;
	Service.RoleId = RoleMenuBtnObj.roleId;
	Service.MenuName = RoleMenuBtnObj.menuName;
	Service.ButtonType = RoleMenuBtnObj.btnType;
	Service.ButtonName = RoleMenuBtnObj.btnName;
	Service.APIPermission = RoleMenuBtnObj.API;
	Service.ActionPermission = RoleMenuBtnObj.action;
	if(RoleMenuBtnObj.roleMenuButtonId){
		Service.RoleMenuButtonId = RoleMenuBtnObj.roleMenuButtonId ;
	}
	var param = {};
	var params = Commonjs.getParams(code,Service);//获取参数
	param.Api = "SaveOrUpdateRoleMenuButton";
	param.Params = Commonjs.jsonToString(params);
	//调用API
	var d = Commonjs.ajax('../account_callAccountApi.do',param,false);
	if(d.RespCode!=10000){
		//异常提示
		Commonjs.alert(d.RespMessage);
	}
	loadButtonTab(RoleMenuBtnObj.roleId,RoleMenuBtnObj.menuId);
}
function loadButtonTab(roleId,menuId){
	var Service = {};
	Service.RoleId = roleId;
	Service.MenuId = menuId;
	code=2005;
	var param = {};
	var params = Commonjs.getParams(code,Service);//获取参数
	param.Api = "QueryRoleMenuButton";
	param.Params = Commonjs.jsonToString(params);
	var d = Commonjs.ajax('../account_callAccountApi.do',param,false);
	if(d.RespCode=10000){
		roleMenuBtnList = d.Data;
		var str = "| 按钮名称 | 操作类型 | 调用API | 调用Action | 状态 | 操作 | 
";
		if(roleMenuBtnList.length == null){
			str += "";
			str +="| "+roleMenuBtnList.ButtonName+" | ";
			str +=""+roleMenuBtnList.ButtonType+" | ";
			str +=""+roleMenuBtnList.ApiPermission+" | ";
			str +=""+roleMenuBtnList.ActionPermission+" | ";
			//str +=""+roleMenuBtnList.State+" | ";
			if(roleMenuBtnList.State == 0){
				str += "
";
		}else{
			for(var i=0;i";
				str +=""+obj.ButtonName+" | ";
				str +=""+obj.ButtonType+" | ";
				str +=""+obj.ApiPermission+" | ";
				str +=""+obj.ActionPermission+" | ";
				//str +=""+obj.State+" | ";
				if(obj.State == 0){
					str += "