var gMenu = []; var gOldHomeText = ''; var gMenuDisplayName = { 'home':'首页', 'terminalmanagement':'终端管理', 'networkmanagement':'网络连接', 'hardwareconfig':'硬件管理', 'mediacontrol':'媒体控制', 'advanceset':'高级设置', 'initializer':'终端初始化', 'browser':'浏览器设置', 'entities':'实体管理', 'uosfeature':'UOS特性', 'notifycenter':'消息通知', 'userconfig':'账号管理', 'crontab':'作业调度', 'bootmanager':'启动选项', 'branchserver':'分行服务', 'centersettings':'集中配置', 'localnetwork':'本地网络', 'dns':'DNS', 'adapters':'适配器', 'cardissuer':'发卡器', 'contactless':'非接读卡器', 'idcertificate':'身份证阅读器', 'pinpad':'密码键盘', 'fingerprint':'指纹仪', 'hspscanner':'高拍仪', 'gpio':'GPIO', 'watchdog':'看门狗', 'ups':'UPS', 'logswitch': '日志开关', 'microphone':'麦克风', 'loudspeaker':'扬声器', 'camera':'摄像头', 'volumn':'音量调节', 'banquet':'坐席', 'adv':'广告管理', 'basicinfo':'基本信息', 'version':'版本', 'vermanagement':'版本管理', 'upgrade':'升级', 'module':'模块管理', 'clearruncfg':'运行时管理', 'system':'系统', 'reboot':'应用重启', 'poweroff':'关机', 'diagnosis':'诊断', 'reset':'重置', 'develop':'开发者', 'business':'业务中台', 'context':'环境切换' }; function getDisplayName(name) { if(typeof gMenuDisplayName[name] === 'undefined') return name; return gMenuDisplayName[name]; } function getname(menu) { for (var item1 in menu) { var item = {}; item.menuid = item1; item.pagename = item1; var item1Value = menu[item1]; if (typeof item1Value === 'string') { item.displayName = item1Value; gMenu.push(item); } else { var submenus = []; for (var subitem in item1Value) { var temp2 = {}; temp2.menuid = subitem; temp2.pagename = subitem; var temp2Value = item1Value[subitem]; if (typeof temp2Value === 'string') { temp2.displayName = temp2Value; submenus.push(temp2); } else { var sub3menus = []; for (var sub2item in temp2Value) { var temp3 = {}; temp3.menuid = sub2item; temp3.pagename = sub2item; temp3.displayName = temp2Value[sub2item]; sub3menus.push(temp3); } if (sub3menus.length > 0) { if (sub3menus.length > 1) { temp2.submenus = sub3menus; } else { temp2.menuid = sub3menus[0].menuid; temp2.pagename = sub3menus[0].pagename; temp2.displayName = sub3menus[0].displayName; } submenus.push(temp2); } } } if (submenus.length > 0) { if (submenus.length === 1) { if (submenus[0].submenus) { item = submenus[0] } else { item.menuid = submenus[0].menuid; item.pagename = submenus[0].pagename; item.displayName = submenus[0].displayName; } } else { item.submenus = submenus; } gMenu.push(item); } } } } var OldMenu = { FirstMenu: 'home', SecondMenu: '', ThirdMenu: '' }; var CurrentMenu = { FirstMenu: 'home', SecondMenu: '', ThirdMenu: '' }; var oldHref = ''; var newHref = window.location.href; var hrefHashChangeTimer = window.setInterval(listenHashChange, 200); function listenHashChange() { newHref = window.location.href; if (gMenu.length === 0) { return; } if (oldHref === newHref) { return; } $('.submit_background,.out_win_content,.submit_white_content').hide(); $('#submit_fade').hide(); var oldHash = oldHref.split('#')[1]; if (typeof window[oldHash + 'Destruction'] === 'function') { window[oldHash + 'Destruction'](); } oldHref = newHref; getCurrentMenu(); showNewPage(true); } function rememberOldMenu() { OldMenu.FirstMenu = CurrentMenu.FirstMenu; OldMenu.SecondMenu = CurrentMenu.SecondMenu; OldMenu.ThirdMenu = CurrentMenu.ThirdMenu; } function initCurrentMenu(first, second, third) { rememberOldMenu(); CurrentMenu.FirstMenu = first; CurrentMenu.SecondMenu = second; CurrentMenu.ThirdMenu = third; } function getCurrentMenu() { var hash = window.location.hash; debugInfo(hash); if (hash.length <= 0) { window.location.href = GLOBAL.INDEX_NO_SIMREDIRECT_PAGE_URL; return; } var pagename = hash.substr(1); var find = false; debugInfo('getCurrentMenu pagename', pagename); for (var i = 0; i < gMenu.length; i++) { var topmenuitem = gMenu[i]; if (topmenuitem.pagename === pagename) { if (typeof topmenuitem.submenus === 'undefined') { initCurrentMenu(pagename, '', ''); find = true; break; } else { pagename = topmenuitem.submenus[0].pagename; initCurrentMenu(topmenuitem.pagename, pagename, ''); find = true; } } else { if (typeof topmenuitem.submenus !== 'undefined') { var Submenus = topmenuitem.submenus; debugInfo('Submenus', Submenus); for (var j = 0; j < Submenus.length; j++) { debugInfo(j, Submenus[j].pagename); var submenuj = Submenus[j]; if (pagename === submenuj.pagename) { if (typeof submenuj.submenus === 'undefined') { initCurrentMenu(topmenuitem.pagename, pagename, ''); find = true; break; } else { debugInfo('submenuj', submenuj); if (typeof submenuj.submenus !== 'undefined') { pagename = submenuj.submenus[0].pagename; initCurrentMenu(topmenuitem.pagename, submenuj.pagename, pagename); } else { pagename = submenuj.pagename; initCurrentMenu(topmenuitem.pagename, pagename, ''); } find = true; break; } } else if (typeof submenuj.submenus !== 'undefined') { var thirdmenu = submenuj.submenus; var thirdmenulength = thirdmenu.length; for (var k = 0; k < thirdmenulength; k++) { if (pagename === thirdmenu[k].pagename) { initCurrentMenu(topmenuitem.pagename, submenuj.pagename, pagename); find = true; break; } } } } if (find) { break; } } if (find) { break; } } } if (!find) { window.location.href = GLOBAL.HOME_PAGE_URL; } } function disSelectMenuItem(menuitem) { if (menuitem !== '') { $('#menu_' + menuitem).addClass('color_Darkgray').removeClass('selectmenu'); $('#menu_top_' + menuitem).addClass('topmenu_normal').removeClass('topmenu_selected'); $('#ic_' + menuitem + '_icon').addClass('ic_' + menuitem).removeClass('ic_' + menuitem + '_selected'); } } function selectMenu(menuitem) { if (menuitem !== '') { $('#menu_' + menuitem).addClass('selectmenu').removeClass('color_Darkgray'); $('#menu_top_' + menuitem).addClass('topmenu_selected').removeClass('topmenu_normal'); $('#ic_' + menuitem + '_icon').removeClass('ic_' + menuitem).addClass('ic_' + menuitem + '_selected'); } } function hideAllPage() { for (var i = 0; i < gMenu.length; i++) { var menuitems = gMenu[i]; $('#' + menuitems.pagename + '_page').hide(); disSelectMenuItem(menuitems.pagename); if (typeof menuitems.submenus !== 'undefined') { var subitems = menuitems.submenus; $('#' + subitems.pagename + '_childrens_menu').hide(); for (var j = 0; j < subitems.length; j++) { if (typeof subitems[j].submenus !== 'undefined') { $('#' + subitems[j].pagename + '_childrens_menu').hide(); $('#menu_' + subitems[j].pagename + '_arrow').removeClass('menu_arrow_open').addClass('menu_arrow_close'); var thirdmenus = subitems[j].submenus; for (var k = 0; k < thirdmenus.length; k++) { $('#' + thirdmenus[k].pagename + '_page').hide(); disSelectMenuItem(thirdmenus[k].pagename); } } $('#' + subitems[j].pagename + '_page').hide(); disSelectMenuItem(subitems[j].pagename); } } if (OldMenu.FirstMenu !== CurrentMenu.FirstMenu) { $('#' + menuitems.pagename + '_childrens_menu').hide(); } } } function setWidth(isfull) { if (isfull) { $('#leftmenuarea').hide(); $('#rightpagearea').css('width', '100%'); } else { $('#leftmenuarea').show(); $('#rightpagearea').css('width', '690px'); } } function beforeRenderPage(model) { return; } function afterRenderPage(model) { return; } function modelCallback(fn) { var fun = window[fn]; if (typeof fun === 'function') { fun.call(this); resetMenuheight(); } } function resetMenuheight() { $('#leftmenuarea').css('height', 'auto'); setTimeout(function () { var bodyHeight = $(document).height(); var colHeight = bodyHeight - 233; $('#leftmenuarea').css('height', colHeight + 'px'); }, 50); } if (window.addEventListener) { window.addEventListener('resize', resetMenuheight, false); } else { window.attachEvent('resize', resetMenuheight); } function guidePage(firstMenu) { var result = false; if(typeof firstMenu === 'undefined') { return result; } var curmenu = $('#menu_top_' + firstMenu); if(typeof curmenu == 'undefined') { return result; } if(firstMenu === 'mediacontrol') { const driver = new Driver(stepGlobalOptions); driver.defineSteps([ { element: '#menu_volumn', popover: { className: 'popover-class', title: '媒体音量调节', description: '控制设备扬声器音量大小等', position: 'right', } } ]); driver.start(); result = true; } return result; } var renderFirst = true; function showNewPage(type) { $(document).css('height', 'auto'); var href = window.location.href; if (href.indexOf('/ManagerDesktop/page.html') < 0) { window.location.href = '/'; return; } if (typeof type === 'undefined') { return; } hideAllPage(); var Firmenu = CurrentMenu.FirstMenu; var Senmenu = CurrentMenu.SecondMenu; var Thimenu = CurrentMenu.ThirdMenu; var callback; var page; var pageIsExists = true; if (Senmenu === '' && Thimenu === '') { if (Firmenu === 'home') { $('#rightpagearea').attr('class', 'rightpagearea margin-left-0'); } else { $('#rightpagearea').attr('class', 'rightpagearea margin-left-165'); } setWidth(true); page = $('#' + Firmenu + '_page'); if (page.length > 0) { callback = Firmenu + 'RenderPage'; modelCallback(callback); page.show(); RVC.Scroll.adapterleftLabelStyle(); } else { pageIsExists = false; utilLoadPage('./js/page/' + Firmenu + '.js', function () { callback = Firmenu + 'GenPage'; modelCallback(callback); }); } } else if (Senmenu !== '' && Thimenu === '') { setWidth(false); page = $('#' + Senmenu + '_page'); var childmenu = $('#' + Firmenu + '_childrens_menu'); if (childmenu.length <= 0) { generateSecondMenu(Firmenu); } childmenu.show(); $('#rightpagearea').attr('class', 'rightpagearea margin-left-50'); if (page.length > 0) { callback = Senmenu + 'RenderPage'; modelCallback(callback); page.show(); RVC.Scroll.adapterleftLabelStyle(); } else { pageIsExists = false; utilLoadPage('./js/page/' + Senmenu + '.js', function () { callback = Senmenu + 'GenPage'; modelCallback(callback); }); } } else if (Senmenu !== '' && Thimenu !== '') { setWidth(false); page = $('#' + Thimenu + '_page'); if ($('#' + Firmenu + '_childrens_menu').length <= 0) { generateSecondMenu(Firmenu); } $('#' + Firmenu + '_childrens_menu').show(); $('#' + Senmenu + '_childrens_menu').show(); var menuArrowId = 'menu_' + Senmenu + '_arrow'; var arrowObj = $('#' + menuArrowId); arrowObj.addClass('menu_arrow_open').removeClass('menu_arrow_close'); $('#rightpagearea').attr('class', 'rightpagearea margin-left-50'); if (page.length > 0) { callback = Thimenu + 'RenderPage'; modelCallback(callback); page.show(); RVC.Scroll.adapterleftLabelStyle(); } else { pageIsExists = false; utilLoadPage('./js/page/' + Thimenu + '.js', function () { callback = Thimenu + 'GenPage'; modelCallback(callback); }); } } else { window.location.href = 'page.html'; } selectMenu(Firmenu); selectMenu(Senmenu); selectMenu(Thimenu); if(false && !pageIsExists && renderFirst) { if(guidePage(Firmenu)) { renderFirst = false; } } } function utilLoadPage(scriptName, callback) { $.getScript(scriptName + '?r=' + Math.random()).done(function () { if (callback) { callback(); } $('.btn_new,.btn_edit').click(function () { setTimeout(function () { RVC.Scroll.adapterleftLabelStyle('out_win_content'); }, 100) }); //bindEyeEvent(); //preLoadEyeImg(); }).fail(function (xhr, setting, ex) { alert(setting); debugInfo('error...', xhr, setting, ex); }); } function selectPage(pagename) { var hashname = pagename; var find = false; for (var i = 0; i < gMenu.length; i++) { var topmenuitem = gMenu[i]; if (topmenuitem.pagename === pagename) { if (typeof topmenuitem.submenus === 'undefined') { find = true; break; } else { hashname = topmenuitem.submenus[0].pagename; find = true; } } else { if (typeof topmenuitem.submenus !== 'undefined') { var Submenus = topmenuitem.submenus; for (var j = 0; j < Submenus.length; j++) { var submenuj = Submenus[j]; if (pagename === submenuj.pagename) { if (typeof submenuj.submenus === 'undefined') { find = true; break; } else { if (typeof Submenus[0].submenus !== 'undefined') { hashname = Submenus[0].submenus[0].pagename; } else { hashname = Submenus[0].pagename; } find = true; break; } } else if (typeof submenuj.submenus !== 'undefined') { var thirdmenu = submenuj.submenus; var thirdmenulength = thirdmenu.length; for (var k = 0; k < thirdmenulength; k++) { if (pagename === thirdmenu[k].pagename) { find = true; break; } } } } if (find) { break; } } if (find) { break; } } } if (!find) { hashname = 'home'; } window.location.hash = '#' + hashname; } function selectThirdPage(pagename, objId) { var obj = '#menu_' + objId; if ($(obj).hasClass('selectmenu')) { $('#' + objId + '_childrens_menu').hide(); $(obj).addClass('color_Darkgray').removeClass('selectmenu'); $('#menu_' + objId + '_arrow').addClass('menu_arrow_close').removeClass('menu_arrow_open'); } else { $('#' + objId + '_childrens_menu').show(); $(obj).addClass('selectmenu').removeClass('color_Darkgray'); $('#menu_' + objId + '_arrow').addClass('menu_arrow_open').removeClass('menu_arrow_close'); if ($('#' + objId + '_childrens_menu').find('#menu_' + CurrentMenu.ThirdMenu).length === 0) { selectPage(pagename); } } } function generateMenu() { var menupage = []; var right1 = '50px'; var left1 = $('.headcontainer').css('margin-left'); for (var i = 0; i < gMenu.length; i++) { var menuitems = gMenu[i]; var hash = menuitems.pagename; if (menuitems.submenus) { var subitems = menuitems.submenus; hash = subitems[0].pagename; if (typeof subitems[0].submenus !== 'undefined') { hash = subitems[0].submenus[0].pagename; } } if (i === gMenu.length - 1) { right1 = '0px'; } else { right1 = '50px'; } menupage[i] = '