var mainPlatform = { init: function () { $.ajax({ type: 'GET', url: '../Power/GetMenu', success: function (d) { //获得传递的值 var d_json = (new Function("return " + d))(); //保存所有菜单信息 $(document).data('menulist', d_json.UserMenuList); //初始化菜单 initMenu(d); //第一个大菜单点击事件 var s = $(".pf-nav-item").first().trigger("click"); }, error: function (msg) { alert(msg); } }); $.ajax({ type: 'GET', url: '../Power/GetApp', success: function (d) { CreateApp(d); }, error: function (e) { alert(e); } }) this.bindEvent(); }, bindEvent: function () { var self = this; // 顶部大菜单单击事件 $(document).on('click', '.pf-nav-item', function () { $('.pf-nav-item').removeClass('current'); $(this).addClass('current'); var menu_name = $(this).find(".pf-nav-title").text(); var menu_id = $(this).find("a").attr("name"); var menu_icon = $(this).find(".iconfont").html(); // 渲染对应侧边菜单 var m = $(document).data('menulist'); self.render(menu_name, menu_id, menu_icon, m); }); //二级菜单点击收缩展开 $(document).on('click', '.sider-nav li', function () { //当前菜单是否展开 var hasClass = $(this).hasClass("open"); //是否有子菜单选中 var len = $(this).find("li.active").length; //收缩 if (hasClass) { //收缩 展开 if (len == 0) { $(this).removeClass("current"); } $(this).removeClass("open"); $(this).find("i.iconfont").html(""); } else {//展开 if (len > 0) { $(this).addClass("current"); $('.sider-nav li').not(this).removeClass('current'); } $(this).addClass("open"); $('.sider-nav li').not(this).removeClass('open'); } //设置二级菜单右侧小图标向上和乡下 $(".sider-nav li").each(function () { var hasClass = $(this).hasClass("open"); //收缩 if (hasClass) { //收缩当前 $(this).find("i.iconfont").html(""); } else { $(this).find("i.iconfont").html(""); } }) }); //三级菜单选中效果 $(document).on('click', '.sider-nav-s li', function () { $('.sider-nav-s li').removeClass('active'); $(this).addClass('active'); $('iframe').attr('src', $(this).data('src')); }); //退出系统 $(document).on('click', '.pf-logout', function () { $.messager.confirm("确定退出", "您确定要退出吗?", function (data) { if (data) { var ajaxUrl = "../Home/Exit"; var ajaxData = { endType: "hand" }; var msg = AjaxLogin(ajaxData, ajaxUrl); location.href = 'Login'; } }); }); //修改密码 $(document).on('click', '.pf-modify-pwd', function () { $('#openFrameDiv').dialog({ title: "修改密码", width: 400, height: 300, closed: true, cache: false, modal: true, resizable: true, onClose: function () { parent.$('#openIframe')[0].src = "none.html"; }, buttons: null }); $('#openIframe')[0].src = "/Home/UpdatePwd"; $('#openFrameDiv').dialog('open'); }); //左侧菜单收起 $(document).on('click', '.toggle-icon', function () { $(this).closest("#pf-bd").toggleClass("toggle"); setTimeout(function () { resize(); }, 300) }); //头部下拉影藏显示多个菜单 $(document).on('click', '.pf-nav-next', function () { if ($('.pf-nav-more').css('display') == 'none') { $('.pf-nav-more').slideDown(200); } else { $('.pf-nav-more').slideUp(200); } }); $(document).on('click', '.pf-notice-item', function () { $('#pf-page').find('iframe').eq(0).attr('src', 'backend/notice.html') }); }, render: function (parent_name, parnet_Id, parent_icon, menuList) { var current, html = "

" + parent_icon + "" + parent_name + "

"; html += ""; $('#pf-sider').html(html); } }; //初始化生成菜单 function initMenu(menu_JSON) { //获得菜单信息 var menu_JSON = $(document).data('menulist'); //获得顶部可以放菜单的区域宽度 var top_width = $("#pf-hd").width() - 600; top_width = Math.floor(top_width / 100) * 100; //设置顶部可以存放菜单的宽度 $("#div_top_menu").width(top_width); $("#div_left_menu").width(top_width); //初始化一级菜单 var html_show = ""; var html_hide = ""; var len = 0; for (var i = 0; i < menu_JSON.length; i++) { if (menu_JSON[i].pId == "-1") { var li_id = menu_JSON[i].id; var html = ""; html += "
  • "; html += "";//CreateMenuChildren('" + menu_JSON[i].id + "') html += "&" + menu_JSON[i].iconSkin + ""; html += "" + menu_JSON[i].name + ""; html += ""; html += "
  • "; len++; if ((len * 100) > top_width) { html_hide += html; } else { html_show += html; } } } $("#menu_top").append(html_show); $("#menu_show").append(html_hide); //如果能放下,则隐藏下拉按钮 if ((len * 100) <= top_width) { $("#first_menu_all").hide(); } else { $("#first_menu_all").show(); } }; //获得三级目录 function GetChiled(menuList) { var html = ""; html += ""; return html; } var menuDataList = new Array(); var msg = false;//设置全局变量; //新增tab function addTab(title, url, menu_id) { if (menu_id != "" && menu_id != null && menu_id != undefined) { if (url.indexOf("?") != -1) { url = url + "&menuid=" + menu_id; } else { url = url + "?menuid=" + menu_id; } } //判断是否存在 var isHasTab = $('#tabs_top').tabs('exists', title); if (isHasTab) { $('#tabs_top').tabs('select', title); Reload(title, url); } else { //用于缓存页面iframe var content = ''; //监听右键事件,创建右键菜单 $('#tabs_top').tabs({ onContextMenu: function (e, title, index) { e.preventDefault(); if (index > 0) { $('#mm').menu('show', { left: e.pageX, top: e.pageY }).data("tabTitle", title); } }, onSelect: function (tt) { return false; }, onBeforeClose: function (title, index) { if (title == "Bom热点维护") {//直接写死“Bom热点维护”页面才有关闭提示功能 if (msg) { //判定全局变量为真; msg = false; //设置全局变量为false; return true; //关闭页面; } else { $.messager.confirm('提示', '您确定关闭当前页面吗?', function (r) { if (r) { //弹窗提示选择为确定; msg = true; //设置全局变量为真,及关闭页面; // $('#tabs_top').tabs('close'); CloseTabByTitle(title); //再次调用关闭页面方法.全局变量为true,则进入弹出窗方法. } }); return false; //关闭页面时,全局变量为false,则不进行关闭页面. } } }, onClose: function (tt, index) { var title = "首页"; if (menuDataList != null && menuDataList.length > 0) { for (index in menuDataList) { if (menuDataList[index] == tt) { title = menuDataList[index - 1]; menuDataList.splice(index, 1); break; } } } $('#tabs_top').tabs('select', title); //var tabs = $('#tabs_top').tabs('tabs'); //var len = index - 1; //var title = tabs[len].panel('options').title; //$('#tabs_top').tabs('select', title); } }); //右键菜单click $("#mm").menu({ onClick: function (item) { switch (item.name) { case 1://关闭全部 CloseTab_All(); break; case 2://关闭其他 CloseTab_Other(); break; case 3://刷新当前 Reload(); break; } } }); $('#tabs_top').tabs('add', { title: title, content: content, closable: true }); menuDataList.push(title); } } //删除所有 function CloseTab_All() { CloseTab("首页", ""); } //除此之外全部删除 function CloseTab_Other() { var $tb = $('#tabs_top'); //获得当前选中tab var sel_tab = $tb.tabs('getSelected').panel('options').tab.text(); CloseTab("首页", sel_tab); } //刷新当前页 function Reload(subtitle, url) { var tb = $('#tabs_top'); var title = tb.tabs('getSelected').panel('options').tab.text(); if (subtitle != undefined && subtitle != "") { title = subtitle; } if (tb.tabs('exists', title)) { var currTab = tb.tabs('getTab', title), iframe = $(currTab.panel('options').content); if (url == undefined || url == undefined || url == "") content = ''; else content = ''; tb.tabs('update', { tab: currTab, options: { content: content, closable: true } }); } } function CloseTabByTitle(title, select_title) { $('#tabs_top').tabs('close', title); if (select_title != undefined && select_title != "") { $('#tabs_top').tabs('select', select_title); } } //删除所有tab function CloseTab(tab_title, sel_title) { var $tb = $('#tabs_top'); var tiles = new Array(); var tabs = $tb.tabs('tabs'); var len = tabs.length; if (len > 0) { for (var j = 0; j < len; j++) { var a = tabs[j].panel('options').title; tiles.push(a); } for (var i = 0; i < tiles.length; i++) { if (tiles[i] != tab_title && tiles[i] != sel_title) { $tb.tabs('close', tiles[i]); } } } } //加载应用列表 function CreateApp(d) { var arr = new Array(); arr = d.split('|'); //有权限的应用集合 var data = (new Function("return " + arr[0]))().LIST; //当前应用 var appCode = arr[1]; var now_html = ""; var html = "
    "; $(".systemSwitch").html(now_html + html); } //系统跳转 //url:跳转后项目的URL //afterAppCode: 跳转后的应用ID function appLocatioin(url, afterAppCode) { var ajaxUrl = "../Home/ChangeApp"; var ajaxData = { after_appCode: afterAppCode }; var data = AjaxLogin(ajaxData, ajaxUrl); if (data != null) { //当前系统用户名 var userName = data.UserCode; //var data = (new Function("", "return " + msg))(); if (data.Success == "true" || data.Success == true) { window.location.href = url + "?userName=" + userName + "&flag=" + data.AfterFlag + "&appCode=" + afterAppCode; //window.open(url + "?userName=" + userName + "&flag=" + data.AfterFlag + "&appCode=" + afterAppCode); } else { ShowMsg(data.Msg); } } } //读取cookie function GetCookie(name) { var arr, reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)"); if (arr = document.cookie.match(reg)) return unescape(arr[2]); else return null; } //页面初始化 mainPlatform.init(); //Ajax POST方法 function AjaxLogin(data, url) { var msg = ""; $.ajax({ type: "POST", url: url, data: data, dataType: "json", async: false, success: function (result) { msg = result; } }); return msg; }