//$('head').eq(0).append('');
//定义所有有查询功能的子页面
var navConnPermit=[
//数据管理内有查询功能的页面
{permit_item_name:'batttest_data_query_permit',num:11}, //电池充放电数据管理
{permit_item_name:'batttest_data_edit_permit',num:12}, //上传fbo/idc数据
{permit_item_name:'batttest_data_edit_permit',num:13}, //上传内阻电导数据
{permit_item_name:'batttest_data_query_permit',num:14}, //数据统计查询报表
{permit_item_name:'battinf_report_query_permit',num:19}, //电池信息统计查询
{permit_item_name:'battgroup_report_query_permit',num:20}, //电池组统计分析查询
{permit_item_name:'monomer_report_query_permit',num:21}, //电池单体统计分析查询
//作业管理内有查询功能的页面
{permit_item_name:'task_query_permit',num:33}, //作业管理
{permit_item_name:'task_query_permit',num:34}, //作业参数
{permit_item_name:'task_query_permit',num:35}, //节假日管理
{permit_item_name:'task_query_permit',num:36}, //作业模板管理
{permit_item_name:'task_query_permit',num:37}, //作业变更查询
{permit_item_name:'task_query_permit',num:38}, //作业报表
{permit_item_name:'task_query_permit',num:39}, //动环C接口状态
{permit_item_name:'task_query_permit',num:40}, //短信设备状态
{permit_item_name:'task_query_permit',num:41}, //短信查询
{permit_item_name:'task_query_permit',num:42}, //作业抽查管理
//用户和包机组管理权限
{permit_item_name:'usr_query_permit',num:44}, //用户管理
{permit_item_name:'usr_query_permit',num:46}, //包机组管理
{permit_item_name:'permit_query_permit',num:45}, //权限管理
//服务器参数设置权限
{permit_item_name:'server_param_query_permit',num:49}, //参数设置
//电池告警管理权限
{permit_item_name:'batt_alm_query_permit',num:27}, //电池告警实时查询
{permit_item_name:'batt_alm_query_permit',num:28}, //电池告警历史查询
//设备告警管理权限
{permit_item_name:'dev_alm_query_permit',num:29}, //设备告警实时查询
{permit_item_name:'dev_alm_query_permit',num:30}, //设备告警历史查询
//电池故障管理权限
{permit_item_name:'battfault_query_permit',num:24}, //电池故障维护查询
{permit_item_name:'battfault_query_permit',num:25}, //电池故障维护统计报表
//作业抽查任务管理权限
{permit_item_name:'usrtaskcheck_query_permit',num:42}, //作业抽查管理
//作业变更管理权限
{permit_item_name:'taskchange_query_permit',num:37}, //作业变更查询
//电池放电测试
{permit_item_name:'batt_test_op_permit',num:58}, //电池放电测试
{permit_item_name:'batt_discharge_model_permit',num:81}, //批量电池放电测试
{permit_item_name:'batt_discharge_model_permit',num:59}, //设备充放电模块参数
{permit_item_name:'battcfg_query_permit', num:63}, //电池信息配置
{permit_item_name:'batt_discharge_model_permit',num:68}, //线程监控管理
{permit_item_name:'batt_discharge_model_permit',num:64}, //用户密码重置
{permit_item_name:'batt_discharge_model_permit',num:65}, //班组管理
{permit_item_name:'batt_discharge_model_permit',num:71}, //电池组配组管理
{permit_item_name:'install_look_permit',num:82}, //基站安装审批
{permit_item_name:'batt_discharge_model_permit',num:83}, //BTS设备升级
{permit_item_name:'batt_discharge_model_permit',num:84}, //批量电池组参数设置
{permit_item_name:'batt_discharge_model_permit',num:85}, //批量系统参数设置
{permit_item_name:'batt_alm_param_query_permit',num:31}, // 电池告警参数设置
{permit_item_name:'batt_alm_param_query_permit',num:66} // 设备告警参数设置
];
//定义有关导航是否显示的权限的名称
var permitName=[
'batttest_data_query_permit','batttest_data_edit_permit','battinf_report_query_permit',
'battgroup_report_query_permit','monomer_report_query_permit',
'battlarm_report_query_permit','task_query_permit',
'usr_query_permit','permit_query_permit',
'server_param_query_permit','batt_alm_query_permit',
'dev_alm_query_permit','battfault_query_permit','usrtaskcheck_query_permit',
'taskchange_query_permit','batt_discharge_model_permit',
'batt_alm_param_edit_permit', 'batt_alm_param_query_permit','batt_test_op_permit', 'battcfg_query_permit', 'install_look_permit'
];
/*
* _navMainList主导航内容,_navChildList导航内容
* _permitList权限列表,_permitName所有权限的名称
* _linkList使权限列表和导航内容建立关系
* */
function changeNavByPermit(_navMainList,_navChildList,_permitList,_permitName,_linkList)
{
//console.info(_permitName);
var _allNavList=new Array();
//遍历_permitName判断是否拥有该权限
for(var i=0;i<_permitName.length;i++)
{
var isExist=findValIsExist(_permitName[i],_permitList);
if(!isExist) //不存在就遍历_linkList,根据_permitName[i]生成查询页面的数组
{
var _navNumList=new Array();
_navNumList=getNavNum(_permitName[i], _linkList); //获取导航的num
//console.info(_navNumList);
//遍历_navChildList根据_navNumList修改subflag=0
for(var k=0;k<_navChildList.length;k++)
{
for(var j=0;j<_navChildList[k].length;j++)
{
//遍历_navNumList
for(var q=0;q<_navNumList.length;q++)
{
if(_navChildList[k][j].num == _navNumList[q])
{
_navChildList[k][j].subflag=0;
}
}
}
}
}
}
//特殊的服务器参数设置
for(var i=0;i<_permitName.length;i++)
{
if(_permitName[i] == 'server_param_query_permit')
{
var isExist=findValIsExist(_permitName[i],_permitList);
if(!isExist)
{
//遍历主导航内容_navMainList
for(var j=0;j<_navMainList.length;j++)
{
if(_navMainList[j].num == 49)
{
_navMainList[j].subflag=0;
}
}
}
}
}
//遍历_navChildList
for(var i=0;i<_navChildList.length;i++)
{
var _isHasChild=isHasChildNav(_navChildList[i]);
if(!_isHasChild)
{
_navMainList[i].subflag=0;
}
}
_allNavList.push(_navMainList);
_allNavList.push(_navChildList);
return _allNavList;
}
//根据权限设置导航数据
function checkNavByPermit(list,_permitList,_permitName,_linkList){
for(var i=0;i<_permitName.length;i++){
var isExist = findValIsExist(_permitName[i],_permitList); //判断用户是否存在该权限
//console.info(_permitName[i]+"===="+isExist);
if(!isExist){
var _navNumList=new Array();
_navNumList=getNavNum(_permitName[i], _linkList); //获取该权限对应导航的num
//console.info(_navNumList);
for(var j =0 ;j<_navNumList.length;j++){
for(var k=0;k'); //主菜单的容器
var __main_li=new Array();
var __oneLevel_list=new Array();
// 生成一级目录
var mainLen=0;
for(var i=0;i'+mainArr[i].subname+'');
__main_li[mainLen]=$('');
__main_li[mainLen].append(__oneLevel_list[mainLen]);
if(childArr[i].length!=0)
{
createSecLevel(__main_li[mainLen],childArr[i]);
}
__main_ul.append( __main_li[mainLen]);
mainLen++;
}
}
ele.append(__main_ul); //将其添加到导航容器中
setNavLength(ele, mainArr);
}
//查模块询所有的配置
function createSqlMenu(){
var allconfig=new Array();
$.post('CustompageAction!searchAll',null,function(data){
var model=eval("("+data.result+")");
//console.info(model);
if(model.code==1){
allconfig=model.data;
//根据数组的0,1改变页面内容
var mainSqlArr=new Array();
var childSqlArr=new Array();
//console.info(allconfig);
var newNavArr = new Array(); //新导航数组
if(allconfig!=undefined && allconfig.length>0){
checkNavByPermit(allconfig,permits,permitName,navConnPermit);
for(var i=0;i0){
for(var i=0;i'); //创建二级目录的ul
var __sec_li=new Array(); //创建二级目录的li
var __sec_li_a=new Array(); //创建二级目录li内的链接
for(var i=0;i');
__sec_li_a[i]=$(''+childArr[i].subname+'');
__sec_li[i].append(__sec_li_a[i]);
__sec_ul.append( __sec_li[i]);
}
}
//如果存在子菜单执行下面内容
if(__sec_li.length!=0)
{
var __span=$('');
Con.append(__span);
Con.append(__sec_ul);
}
}
//查看变量是否在对象数组中(在返回true,不在返回false)
function findValIsExist(__val,__permitList)
{
var __isExist=false;
for(var i=0;i<__permitList.length;i++)
{
if(__permitList[i].permit_item_name == __val)
{
__isExist = true;
return __isExist;
}
}
return __isExist;
}
//createSqlMenu();
createSqlMenuBySession();
//根据权限名判断是否具有某个权限
function isHasPermit(_permitName,_permitList)
{
//console.info(_permitList);
var _isHasPermit=false;
//遍历_permitList根据_permitName找到该权限是否具有
for(var i=0;i<_permitList.length;i++)
{
//console.info(_permitList[i].permit_item_name);
//console.info(_permitList[i].permit_item_value);
if(_permitList[i].permit_item_name == _permitName && _permitList[i].permit_item_value == 1)
{
_isHasPermit = true;
return _isHasPermit;
}
}
return _isHasPermit;
}
/**
*
* @param {objec} element 导航容器jquery对象
* @param {array} mainList 主导航对象数组
*/
function setNavLength(element, mainList) {
var num = 0;
for(var i = 0; i < mainList.length; i++) {
if(mainList[i].subflag == 1) {
num++;
}
}
var liWidth = 99/num;
element.children('ul').children('li').css({
'width': liWidth+'%'
});
}
// 遍历导航数组
function eachMenuItems(menuItems) {
for(var i = 0; i < menuItems.length; i++) {
if(menuItems[i].child.length > 0) {
for(var k = 0; k < menuItems[i].child.length; k++){
if(menuItems[i].child[k].child.length > 0) {
addNav(menuItems[i].child[k].subname, menuItems[i].child[k].child);
}
}
}
}
}
/**
* 向已经生成的导航中添加子导航
* @param {[type]} str [description]
*/
function addNav(str, navList) {
//console.info(navList);
var nav_item_width = $('#nav>ul>li>a').width();
$('#nav>ul>li>ul a').each(function() {
if($(this).text() == str) {
$(this).addClass('active');
$(this).css({
'background-position': nav_item_width+'px 10px'
});
var contain = $(this).parent();
var ul = $('');
for(var i = 0; i < navList.length; i++) {
if(navList[i].subflag == 1) {
var li = $(''+navList[i].subname+'');
ul.append(li);
}
}
contain.find('ul').remove();
contain.append(ul);
if(contain.find('li').length == 0) {
contain.remove();
}
}
});
}
/**
* 根据导航信息生成页面中的导航
* @param array items 页面信息的对象数组
*/
function createNavBySql(items) {
var nav = $('#nav');
nav.text(" ");
var ul = $('');
for(var i = 0; i < items.length; i++) {
// 根据subflag,subname,sublink,child的值向ul中添加内容
addLiToUl({
flag: items[i].subflag,
name: items[i].subname,
link: items[i].sublink,
child: items[i].child
}, ul, true);
}
nav.append(ul);
}
/**
* 向ul中添加li
* @param object obj 向li中添加的内容和指示li是否添加到ul中
* @param object ul 被添加的li的ul
*/
function addLiToUl(obj, ul, isMain) {
if(obj.flag) {
var isHasChild = isHasChildNav(obj.child, isMain); // 判断是否是主导航且组导航存在自导航
var li = (isHasChild)?$(''+obj.name+''):$(''+obj.name+'');
var nextUl = $('');
if(obj.child.length > 0) {
// 判断child的值如果大于0递归函数
for(var k=0; k < obj.child.length; k++) {
var nextLi = addLiToUl({
flag: obj.child[k].subflag,
name: obj.child[k].subname,
link: obj.child[k].sublink,
child: obj.child[k].child
}, nextUl, false);
}
li.append(nextUl);
}
ul.append(li);
}
}
/**
*
* @param {objec} element 导航容器jquery对象
* @param {array} mainList 主导航对象数组
*/
function setNavLength(element, mainList) {
var num = 0;
for(var i = 0; i < mainList.length; i++) {
if(mainList[i].subflag == 1) {
num++;
}
}
var liWidth = 99/num;
element.children('ul').children('li').css({
'width': liWidth+'%'
});
}
/*
* 查询主导航是否存在子导航,并返回主导航
* @param array child 自导航对象数组
* @param bool isMain 是否是主导航
* */
function isHasChildNav(child, isMain) {
//var li = $(''+obj.name+'');
if(isMain) {
for(var i=0; i');
var url = location.href;
var lastIndex = url.indexOf("?")>0?url.indexOf("?"):url.length;
var fileName = url.substring(url.lastIndexOf("/") + 1, lastIndex);
//var fileName = url.substring(url.lastIndexOf("/") + 1)
// 根据fileName遍历导航内容
var nav = $('#nav a');
var nav_item = new Object();
nav.each(function(i) {
if($(this).attr('href') == fileName) {
nav_item ={
sublink: $(this).attr('href'),
subname: $(this).text(),
parent: getObj($(this))
};
}
});
}
function getObj(ele) {
var data = '';
var parent_a = ele.parent().parent().siblings('a');
if(parent_a.length == 0) {
ele.addClass('active');
return data;
}else {
data = {
sublink: parent_a.attr('href'),
subname: parent_a.text(),
parent: getObj(parent_a)
};
return data;
}
}
function createSqlMenuBySession() {
var allconfig=custompages;
if(allconfig == null) {
createSqlMenu();
return;
}
//根据数组的0,1改变页面内容
var mainSqlArr=new Array();
var childSqlArr=new Array();
//console.info(allconfig);
var newNavArr = new Array(); //新导航数组
if(allconfig!=undefined && allconfig.length>0){
checkNavByPermit(allconfig,permits,permitName,navConnPermit);
for(var i=0;i