//$('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