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 = " ";
for (var i = 0; i < data.length; i++) {
if (appCode != data[i].CN_S_APPCODE) {
var icon = data[i].CN_S_IMAGE;
if (icon == undefined) {
icon = "";
}
html += "- ";
html += "";
html += "&" + icon + "";
html += "" + data[i].CN_S_APPNAME + "";
html += "";
html += "
";
}
else {//当前系统
var appName = data[i].CN_S_APPNAME;
document.title = appName;
$("span[name='sp_sysName']").text(appName);
now_html += " ";
now_html += "" + appName + "
";
now_html += "";
}
}
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;
}