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 = "<h2 class='pf-model-name'> <span class='iconfont'>" + parent_icon + "</span><span class='pf-name'>" + parent_name + "</span><span class='toggle-icon'></span></h2>";
|
|
html += "<ul class='sider-nav'>";
|
var len = 0;
|
for (var i = 0; i < menuList.length; i++) {
|
//如果匹配到上级菜单ID
|
if (menuList[i].pId == parnet_Id) {
|
var icon = "";
|
if (len == 0) {
|
html += "<li class='open'>";
|
icon = "";
|
}
|
else {
|
html += "<li>";
|
icon = "";
|
}
|
html += "<a href='javascript:void(0);'>";
|
html += "<span class='iconfont sider-nav-icon'>&" + menuList[i].iconSkin + "</span>";
|
html += "<span class='sider-nav-title'>" + menuList[i].name + "</span>";
|
html += "<i class='iconfont'>" + icon + "</i>";
|
html += "</a>";
|
var menu_children = $.grep(menuList, function (item) {
|
return item.pId == menuList[i].id;
|
});
|
var html_child = GetChiled(menu_children);
|
html += html_child;
|
html += "</li>";
|
len++;
|
}
|
}
|
html += "</ul>";
|
$('#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 += "<li class='pf-nav-item home' name='li_name_menu' data-menu='sys-manage'>";
|
html += "<a href=\"javascript:void(0)\" name='" + menu_JSON[i].id + "'>";//CreateMenuChildren('" + menu_JSON[i].id + "')
|
html += "<span class='iconfont'>&" + menu_JSON[i].iconSkin + "</span>";
|
html += "<span class='pf-nav-title'>" + menu_JSON[i].name + "</span>";
|
html += "</a>";
|
html += "</li>";
|
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 += "<ul class='sider-nav-s'>";
|
for (var i = 0; i < menuList.length; i++) {
|
html += "<li><a href=\"javascript:addTab('" + menuList[i].name + "','" + menuList[i].url + "','" + menuList[i].id + "')\">" + menuList[i].name + "</a></li>";
|
}
|
html += "</ul>";
|
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 = '<iframe name="iName" scrolling="auto" frameborder="0" src="' + url + '" style="width:100%;height:100%;"></iframe>';
|
|
//监听右键事件,创建右键菜单
|
$('#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 = '<iframe scrolling="auto" frameborder="0" src="' + iframe.attr('src') + '" style="width:100%;height:100%;"></iframe>';
|
else
|
content = '<iframe scrolling="auto" frameborder="0" src="' + url + '" style="width:100%;height:100%;"></iframe>';
|
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 = "<div class='system-panel'> <ul class='system-opt'>";
|
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 += "<li onclick=\"appLocatioin('" + data[i].CN_S_URL + "','" + data[i].CN_S_APPCODE + "')\">";
|
html += "<a href='javascript:void(0)'>";
|
html += "<i class='iconfont'>&" + icon + "</i>";
|
html += "<span class='pf-opt-name'>" + data[i].CN_S_APPNAME + "</span>";
|
html += "</a>";
|
html += "</li>";
|
}
|
else {//当前系统
|
var appName = data[i].CN_S_APPNAME;
|
document.title = appName;
|
$("span[name='sp_sysName']").text(appName);
|
now_html += " <span class='iconfont switchIcon'></span>";
|
now_html += "<h4 class='system-name ellipsis'>" + appName + "</h4>";
|
now_html += "<i class='iconfont xiala'></i>";
|
}
|
}
|
html += "</ui></div>";
|
$(".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;
|
}
|