//$('head').eq(0).append('<link rel="shortcut icon" href="image/favicon.ico"><link rel="icon" type="image/gif" href="image/favicon.gif">');
|
|
//定义所有有查询功能的子页面
|
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_test_op_permit',num:81}, //批量电池放电测试
|
//{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<list.length;k++){
|
if(list[k].num == _navNumList[j]){
|
//console.info("设置成功");
|
list[k].subflag = 0;
|
}
|
}
|
}
|
}
|
}
|
}
|
|
//获取导航的num值返回数组
|
function getNavNum(__permitName, __linkList)
|
{
|
var __navNumList=new Array();
|
//遍历__linkList根据__permitName获取num
|
for(var j=0;j<__linkList.length;j++)
|
{
|
if(__linkList[j].permit_item_name == __permitName)
|
{
|
__navNumList.push(__linkList[j].num);
|
}
|
}
|
return __navNumList;
|
}
|
|
//判断主导航下是否有导航
|
function isHasChildNav(__navChildList)
|
{
|
var __isHasChildNav=false;
|
if(__navChildList.length == 0)
|
{
|
__isHasChildNav=true;
|
return __isHasChildNav;
|
}
|
//遍历__navChildList
|
for(var _i=0;_i<__navChildList.length;_i++)
|
{
|
if(__navChildList[_i].subflag == 1)
|
{
|
__isHasChildNav=true;
|
return __isHasChildNav;
|
}
|
}
|
return __isHasChildNav;
|
}
|
|
|
function createNav(ele,mainArr,childArr){
|
//console.info(mainArr);
|
//清空导航容器内的内容
|
ele.text('');
|
var __main_ul=$('<ul></ul>'); //主菜单的容器
|
var __main_li=new Array();
|
var __oneLevel_list=new Array();
|
// 生成一级目录
|
var mainLen=0;
|
for(var i=0;i<mainArr.length;i++)
|
{
|
//判断是否显示
|
if(mainArr[i].subflag==1)
|
{
|
__oneLevel_list[mainLen]=$('<a href="'+mainArr[i].sublink+'">'+mainArr[i].subname+'</a>');
|
__main_li[mainLen]=$('<li></li>');
|
__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;i<allconfig.length;i++){
|
allconfig[i].child = new Array();
|
allconfig[i].isAdd = false;
|
if(allconfig[i].subjudge==2){
|
newNavArr.push(allconfig[i]); //添加一级导航
|
allconfig[i].isAdd = true;
|
}
|
}
|
for(var i = 0;i<allconfig.length;i++){
|
if(allconfig[i].subjudge == 1 && allconfig[i].isAdd == false){
|
for(var j = 0;j<newNavArr.length;j++){
|
if(newNavArr[j].navigate_order == allconfig[i].navigate_order){
|
newNavArr[j].child.push(allconfig[i]); //添加二级导航
|
allconfig[i].isAdd = true;
|
break;
|
}
|
}
|
}
|
}
|
for(var i=0;i<allconfig.length;i++){
|
var flag = true;
|
if(allconfig[i].subjudge == 3 && allconfig[i].isAdd == false){
|
for(var j= 0;j<newNavArr.length && flag;j++){
|
for(var k=0;k<newNavArr[j].child.length && flag;k++){
|
//console.info(newNavArr[j].child[k].num +"=="+ allconfig[i].navigate_order);
|
if(newNavArr[j].child[k].num == allconfig[i].navigate_order){
|
newNavArr[j].child[k].child.push(allconfig[i]);
|
allconfig[i].isAdd == true;
|
flag = false;
|
}
|
}
|
}
|
}
|
}
|
}
|
//console.info(newNavArr);
|
createNavBySql(newNavArr);
|
//console.info(newNavArr);
|
setNavLength($('#nav'), newNavArr);
|
createBreadcrumb();
|
/*var main_index=-1;
|
var clild_index=-1;
|
//console.info(allconfig);
|
if(allconfig!=undefined && allconfig.length>0){
|
for(var i=0;i<allconfig.length;i++){
|
if(allconfig[i].subjudge==2){
|
mainSqlArr[++main_index]=allconfig[i];
|
childSqlArr[++clild_index]=new Array();
|
}else if(allconfig[i].subjudge==1){
|
childSqlArr[clild_index].push(allconfig[i]);
|
}
|
}
|
}
|
|
//console.info("主导航");
|
//console.info(mainSqlArr);
|
//console.info("子导航");
|
//console.info(childSqlArr);
|
|
//var allNavList=changeNavByPermit(mainSqlArr,childSqlArr,permits,permitName,navConnPermit);
|
createNav($('#nav'),mainSqlArr,childSqlArr);
|
//console.info(isHasPermit("batt_discharge_model_permit",permits));
|
//if(isHasPermit("batt_discharge_model_permit",permits)){ //
|
eachMenuItems(newNavArr);*/
|
//}
|
}
|
});
|
}
|
|
|
//LinkArr是链接的数组和TxtArr的顺序对应
|
function createSecLevel(Con,childArr){
|
var __sec_ul=$('<ul></ul>'); //创建二级目录的ul
|
var __sec_li=new Array(); //创建二级目录的li
|
var __sec_li_a=new Array(); //创建二级目录li内的链接
|
for(var i=0;i<childArr.length;i++)
|
{
|
if(childArr[i].subflag==1)
|
{
|
__sec_li[i]=$('<li></li>');
|
__sec_li_a[i]=$('<a href="'+childArr[i].sublink+'">'+childArr[i].subname+'</a>');
|
__sec_li[i].append(__sec_li_a[i]);
|
__sec_ul.append( __sec_li[i]);
|
}
|
}
|
//如果存在子菜单执行下面内容
|
if(__sec_li.length!=0)
|
{
|
var __span=$('<span class="triangle"></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 = $('<ul></ul>');
|
for(var i = 0; i < navList.length; i++) {
|
if(navList[i].subflag == 1) {
|
var li = $('<li><a href="'+navList[i].sublink+'">'+navList[i].subname+'</a></li>');
|
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 = $('<ul></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)?$('<li><a href="'+obj.link+'">'+obj.name+'</a><span class="triangle"></span></li>'):$('<li><a href="'+obj.link+'">'+obj.name+'</a></li>');
|
|
var nextUl = $('<ul></ul>');
|
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 = $('<li><a href="'+obj.link+'">'+obj.name+'</a></li>');
|
if(isMain) {
|
for(var i=0; i<child.length; i++) {
|
if(child[i].subflag) {
|
return true;
|
}
|
}
|
return false;
|
}else {
|
return false;
|
}
|
// 遍历child对象根据
|
}
|
// 根据title和导航的数据生成面包屑导航条
|
function createBreadcrumb() {
|
var breadcrumb = $('<div class="breadcrumb"></div>');
|
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<allconfig.length;i++){
|
allconfig[i].child = new Array();
|
allconfig[i].isAdd = false;
|
if(allconfig[i].subjudge==2){
|
newNavArr.push(allconfig[i]); //添加一级导航
|
allconfig[i].isAdd = true;
|
}
|
}
|
for(var i = 0;i<allconfig.length;i++){
|
if(allconfig[i].subjudge == 1 && allconfig[i].isAdd == false){
|
for(var j = 0;j<newNavArr.length;j++){
|
if(newNavArr[j].navigate_order == allconfig[i].navigate_order){
|
newNavArr[j].child.push(allconfig[i]); //添加二级导航
|
allconfig[i].isAdd = true;
|
break;
|
}
|
}
|
}
|
}
|
for(var i=0;i<allconfig.length;i++){
|
var flag = true;
|
if(allconfig[i].subjudge == 3 && allconfig[i].isAdd == false){
|
for(var j= 0;j<newNavArr.length && flag;j++){
|
for(var k=0;k<newNavArr[j].child.length && flag;k++){
|
//console.info(newNavArr[j].child[k].num +"=="+ allconfig[i].navigate_order);
|
if(newNavArr[j].child[k].num == allconfig[i].navigate_order){
|
newNavArr[j].child[k].child.push(allconfig[i]);
|
allconfig[i].isAdd == true;
|
flag = false;
|
}
|
}
|
}
|
}
|
}
|
}
|
//console.info(newNavArr);
|
createNavBySql(newNavArr);
|
//console.info(newNavArr);
|
setNavLength($('#nav'), newNavArr);
|
createBreadcrumb();
|
}
|