软测单独项目
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.
 
 
 
 
 
 

225 lines
6.8 KiB

var AllMenuData = [];
layui.use([ 'form', 'element', 'layer', 'jquery'], function () {
var form = layui.form,
element = layui.element;
$ = layui.$;
layer = parent.layer === undefined ? layui.layer : top.layer;
$(document).ready(function () {
checklogin();
//加载日期
showDT();
//加载菜单
//getFMenu();
//菜单拖动
setMenuTD();
//加载菜单
getMenuData();
});
//检查登录状态
function checklogin() {
//var userInfo = window.sessionStorage.getItem("userInfo");
//if (userInfo == null) {
// layer.msg("您未登录或登录超时请登录后使用,页面将在3秒后关闭!", { icon: 0 });
// setTimeout(function () { window.location.href = "/"; }, 3000)
//}
}
//日期
function showDT() {
var currentDT = new Date();
var y, m, date, day, hs, ms, ss, theDateStr;
y = currentDT.getFullYear(); //四位整数表示的年份
m = currentDT.getMonth(); //月
date = currentDT.getDate(); //日
day = currentDT.getDay(); //星期
hs = currentDT.getHours(); //时
ms = currentDT.getMinutes(); //分
ss = currentDT.getSeconds(); //秒
theDateStr = y + "-" + m + "-" + date;
theTimeStr = hs + ":" + ms + ":" + ss
//document.getElementById("theDate").innerHTML = theDateStr;
$("#theDate").html(theDateStr);
// setTimeout 在执行时,是在载入后延迟指定时间后,去执行一次表达式,仅执行一次
//document.getElementById("theTime").innerHTML = theTimeStr;
$("#theTime").html(theTimeStr);
window.setTimeout(showDT, 1000);
}
//菜单拖动
function setMenuTD() {
let tableScroll = document.getElementById('second-menu'); //滚动条部分
let tableBox = document.getElementById('second-menu-ul'); //需要拖拽的内容部分
let tableScrollWidth = tableScroll.style.width; //滚动可见宽度
let tableBoxWidth = tableBox.style.width; //内容宽度
//鼠标按下的时候
tableBox.onmousedown = function (ev) {
let oEvent = ev || event; //ev 成立时 oEvent = event,否则 oEvent = ev , 事件对象 兼容处理
let mousePlace = oEvent.screenX //点击时当前鼠标的位置
//鼠标移动的时候
document.onmousemove = function (ev) {
let oEvent = ev || event;  //当前的事件对象  oDiv2
let distance = oEvent.clientX;  //oEvent.clientX 表示 oDiv2相对于页面左侧的距离,l表示现在的大小
let actual = mousePlace - distance; //拖动的距离
let scrollNum = tableScroll.scrollLeft; //当前滚动条的位置
scrollNum = scrollNum + actual; //当前滚动条的位置
tableScroll.scrollLeft = scrollNum
};
document.onmouseup = function () {
document.onmousemove = null;
document.onmouseup = null;
};
};
tableBox.onmouseup = function () {
tableBox.onmousemove = null;
}
//鼠标滚轮滑动的时候
tableBox.onmousewheel = function (ev) {
let e = ev || event;  //当前的事件对象  oDiv2
let scrollNum = tableScroll.scrollLeft; //当前滚动条的位置
let moveNum = 120;
let lNum = scrollNum + moveNum;
let rNum = scrollNum - moveNum;
//tableScroll.scrollLeft = scrollNum;
if (e.wheelDelta) { //判断浏览器IE,谷歌滑轮事件
if (e.wheelDelta > 0) { //当滑轮向上滚动时
tableScroll.scrollLeft = rNum;
}
else{ //当滑轮向下滚动时
tableScroll.scrollLeft = lNum;
}
} else if (e.detail) { //Firefox滑轮事件
if (e.detail > 0) { //当滑轮向上滚动时
tableScroll.scrollLeft = rNum;
}
else{ //当滑轮向下滚动时
tableScroll.scrollLeft = lNum;
}
}
}
}
//获取全部菜单
function getMenuData() {
$.post("../ashx/ZYMenuHandler.ashx", {
Action: "GetUserMenu",
random: new Date().getTime()//随机参数
}, function (data) {
//console.log(data);
//$("#main_iframe").attr("src", "Fire/Map/Map.html");
AllMenuData = data;
showFMenu(data);
});
}
//加载一级菜单
function showFMenu(menuData) {
var mHtml = '';
menuData.forEach(function (item, index) {
mHtml += '<li menu-url="' + item.href + '" menu-id="' + item.id + '" menu-index="' + index +'" ';
if (index == 0) {
mHtml += 'class="current"';
//设置默认页
$("#mainframe").attr("src","../" +item.href);
getSMenu(index);
}
mHtml += '><a href="javascript: void (0);" >';
mHtml += '<div class="menu-icon ' + item.icon +'"></div>';
mHtml += '<span>' + item.title +'</span>';
mHtml += '</a></li>';
});
$(".menu ul").html(mHtml);
//菜单点击事件
clientFMenu();
}
//一级菜单点击事件
function clientFMenu() {
$(".menu ul li a").click(function () {
$(".second-menu ul").html('');
$(".menu ul li").removeClass("current");
$(this).parent().addClass("current");
var url = $(this).parent().attr("menu-url");
var id = $(this).parent().attr("menu-id");
var index = $(this).parent().attr("menu-index");
if (url != undefined && url != "") {
$("#mainframe").attr("src", "../" + url);
}
getSMenu(index);
});
}
function getSMenu(index) {
var SMenuData = AllMenuData[index];
if (SMenuData && SMenuData.children && SMenuData.children.length > 0) {
showSMenu(SMenuData.children);
$(".second-menu ul").width(180 * SMenuData.children.length);
$(".maincontent").css("top", "60px");
} else {
$(".maincontent").css("top", "0px");
}
}
//加载二级三级菜单
function showSMenu(menuData) {
var mHtml = '';
menuData.forEach(function (item, index) {
mHtml += '<li menu-url="' + item.href + '" menu-id="' + item.id + '" >';
mHtml += ' <a href="javascript: void (0);" class="second-menu-li-a ';
if (index == 0) {
mHtml += 'current';
if (item.href && item.href != null) {
$("#mainframe").attr("src","../"+ item.href);
}
}
mHtml += ' " >' + item.title + '</a>';
if (item.children && item.children.length > 0) {
mHtml += '<ul>';
item.children.forEach(function (clditem, index) {
mHtml += '<li menu-url="' + clditem.href + '" menu-id="' + clditem.id + '" ';
mHtml += '><a href="javascript: void (0);" class="three-menu-li-a" >' + clditem.title + '</a>';
mHtml += '</li>';
});
mHtml += '</ul>';
}
//mHtml += '<ul><li><a href="javascript: void (0);">三级菜单</a></li><li><a href="javascript: void (0);">三级菜单</a></li><li><a href="javascript: void (0);">三级菜单</a></li></ul>';
mHtml += '</li>';
});
$(".second-menu ul").html(mHtml);
//二级三级菜单点击事件
clientSMenu();
}
//二级三级菜单点击事件
function clientSMenu() {
$(".second-menu-li-a").click(function () {
$(".second-menu ul li a").removeClass("current");
$(this).addClass("current");
var url = $(this).parent().attr("menu-url");
if (url != undefined && url != "") {
$("#mainframe").attr("src", "../" + url);
}
});
//三级菜单点击事件
$(".three-menu-li-a").click(function () {
var url = $(this).parent().attr("menu-url");
if (url != undefined && url != "") {
$("#mainframe").attr("src", "../" + url);
}
});
}
});