You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
185 lines
6.6 KiB
185 lines
6.6 KiB
var $,tab,dataStr,layer;
|
|
layui.config({
|
|
base : "js/"
|
|
}).extend({
|
|
"bodyTab" : "bodyTab"
|
|
})
|
|
layui.use(['bodyTab', 'form', 'element', 'layer', 'jquery'], function () {
|
|
var form = layui.form,
|
|
element = layui.element;
|
|
$ = layui.$;
|
|
//判断登录
|
|
if ($.cookie(".SessionCookie") == undefined || $.cookie(".SessionCookie") == null || $.cookie(".SessionCookie") == "null") {
|
|
//alert("您未登录或登录超时请登录后使用");
|
|
window.location.href = "login/index.html";
|
|
} else {
|
|
//alert(sessionStorage.getItem('UserName'));
|
|
getUserInfo();
|
|
//通过顶部菜单获取左侧二三级菜单 注:此处只做演示之用,实际开发中通过接口传参的方式获取导航数据
|
|
getData();
|
|
}
|
|
function getUserInfo() {
|
|
|
|
if (window.sessionStorage.getItem("userInfo") != null && window.sessionStorage.getItem("userInfo") != "null" && window.sessionStorage.getItem("userInfo") != undefined) {
|
|
var userInfo = JSON.parse(window.sessionStorage.getItem("userInfo"));
|
|
//$(".UserName").html(userInfo.USERS_NAME);
|
|
$(".UserName").html("账户名:" + userInfo.USERS_NAME);
|
|
} else {
|
|
//获取信息
|
|
$.post("../../ashx/ZYSysUserHandler.ashx", {
|
|
Action: "UserInfo"
|
|
|
|
}, function (res) {
|
|
|
|
if (res.code == 1) {
|
|
$(".UserName").html("账户名:"+res.data.USERS_NAME);
|
|
window.sessionStorage.setItem("userInfo", JSON.stringify(res.data));
|
|
} else {
|
|
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
layer = parent.layer === undefined ? layui.layer : top.layer;
|
|
tab = layui.bodyTab({
|
|
openTabNum: "50", //最大可打开窗口数量
|
|
url: "json/navs.json" //获取菜单json地址
|
|
});
|
|
|
|
//获取左侧菜单
|
|
function getData() {
|
|
$.post("ashx/ZYMenuHandler.ashx", {
|
|
Action: "GetUserMenu",
|
|
random: new Date().getTime()//随机参数
|
|
}, function (data) {
|
|
console.log(data);
|
|
dataStr = data;
|
|
tab.render();
|
|
});
|
|
// $.getJSON(tab.tabConfig.url, function (data) {
|
|
|
|
// dataStr = data;
|
|
// tab.render();
|
|
//
|
|
// })
|
|
}
|
|
//页面加载时判断左侧菜单是否显示
|
|
//通过顶部菜单获取左侧菜单
|
|
$(".topLevelMenus li,.mobileTopLevelMenus dd").click(function () {
|
|
if ($(this).parents(".mobileTopLevelMenus").length != "0") {
|
|
$(".topLevelMenus li").eq($(this).index()).addClass("layui-this").siblings().removeClass("layui-this");
|
|
} else {
|
|
$(".mobileTopLevelMenus dd").eq($(this).index()).addClass("layui-this").siblings().removeClass("layui-this");
|
|
}
|
|
$(".layui-layout-admin").removeClass("showMenu");
|
|
$("body").addClass("site-mobile");
|
|
getData();
|
|
//渲染顶部窗口
|
|
//tab.tabMove();
|
|
})
|
|
|
|
//隐藏左侧导航
|
|
$(".hideMenu").click(function () {
|
|
if ($(".topLevelMenus li.layui-this a").data("url")) {
|
|
layer.msg("此栏目状态下左侧菜单不可展开"); //主要为了避免左侧显示的内容与顶部菜单不匹配
|
|
return false;
|
|
}
|
|
$(".layui-layout-admin").toggleClass("showMenu");
|
|
//渲染顶部窗口
|
|
tab.tabMove();
|
|
})
|
|
|
|
|
|
|
|
//手机设备的简单适配
|
|
$('.site-tree-mobile').on('click', function () {
|
|
$('body').addClass('site-mobile');
|
|
});
|
|
$('.site-mobile-shade').on('click', function () {
|
|
$('body').removeClass('site-mobile');
|
|
});
|
|
|
|
// 添加新窗口
|
|
$("body").on("click", ".layui-nav .layui-nav-item a:not('.mobileTopLevelMenus .layui-nav-item a')", function () {
|
|
//如果不存在子级
|
|
if ($(this).siblings().length == 0) {
|
|
addTab($(this));
|
|
$('body').removeClass('site-mobile'); //移动端点击菜单关闭菜单层
|
|
}
|
|
$(this).parent("li").siblings().removeClass("layui-nav-itemed");
|
|
})
|
|
|
|
//刷新后还原打开的窗口
|
|
if (cacheStr == "true") {
|
|
if (window.sessionStorage.getItem("menu") != null) {
|
|
menu = JSON.parse(window.sessionStorage.getItem("menu"));
|
|
curmenu = window.sessionStorage.getItem("curmenu");
|
|
var openTitle = '';
|
|
for (var i = 0; i < menu.length; i++) {
|
|
openTitle = '';
|
|
if (menu[i].icon) {
|
|
if (menu[i].icon.split("-")[0] == 'icon') {
|
|
openTitle += '<i class="seraph ' + menu[i].icon + '"></i>';
|
|
} else {
|
|
openTitle += '<i class="layui-icon">' + menu[i].icon + '</i>';
|
|
}
|
|
}
|
|
openTitle += '<cite>' + menu[i].title + '</cite>';
|
|
openTitle += '<i class="layui-icon layui-unselect layui-tab-close" data-id="' + menu[i].layId + '">ဆ</i>';
|
|
element.tabAdd("bodyTab", {
|
|
title: openTitle,
|
|
content: "<iframe src='" + menu[i].href + "' data-id='" + menu[i].layId + "'></frame>",
|
|
id: menu[i].layId
|
|
})
|
|
//定位到刷新前的窗口
|
|
if (curmenu != "undefined") {
|
|
if (curmenu == '' || curmenu == "null") { //定位到后台首页
|
|
element.tabChange("bodyTab", '');
|
|
} else if (JSON.parse(curmenu).title == menu[i].title) { //定位到刷新前的页面
|
|
element.tabChange("bodyTab", menu[i].layId);
|
|
}
|
|
} else {
|
|
element.tabChange("bodyTab", menu[menu.length - 1].layId);
|
|
}
|
|
}
|
|
//渲染顶部窗口
|
|
tab.tabMove();
|
|
}
|
|
} else {
|
|
window.sessionStorage.removeItem("menu");
|
|
window.sessionStorage.removeItem("curmenu");
|
|
}
|
|
})
|
|
|
|
//打开新窗口
|
|
function addTab(_this){
|
|
tab.tabAdd(_this);
|
|
}
|
|
|
|
|
|
|
|
function loginOut() {
|
|
//提交信息
|
|
$.post("ashx/ZYLoginHandler.ashx", {
|
|
Action: "loginOut"
|
|
|
|
}, function (res) {
|
|
|
|
if (res.code == 1) {
|
|
$.cookie(".SessionCookie", null);
|
|
$.cookie(".UserId", null);
|
|
$.cookie(".UserName", null);
|
|
window.sessionStorage.setItem('UserId', null);
|
|
window.sessionStorage.setItem('UserName', null);
|
|
window.sessionStorage.setItem('userInfo', null);
|
|
window.location.href = "login/index.html";
|
|
|
|
} else {
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|