|
|
//性能曲线图
|
|
|
layui.define(['element', 'admin'], function (exports) {
|
|
|
layui.define(['element', 'admin', 'view'], function (exports) {
|
|
|
var $ = layui.$;
|
|
|
var admin = layui.admin;
|
|
|
var view = layui.view;
|
|
|
var setter = layui.setter;
|
|
|
var domainName = sessionStorage.getItem('domainName');
|
|
|
|
|
|
var obj = {
|
|
|
data: {
|
|
|
batchNo: '',
|
|
|
contextmenuTips: null,
|
|
|
currentPageTitle:'',
|
|
|
currentPageTitle: '',
|
|
|
contextmenus: [],
|
|
|
classNams: [],
|
|
|
handleLog: [] //lsq 页面点击操作集
|
...
|
...
|
@@ -19,23 +21,142 @@ layui.define(['element', 'admin'], function (exports) { |
|
|
},
|
|
|
|
|
|
/**
|
|
|
* 渲染完成后初始化函数
|
|
|
* @returns {[]}
|
|
|
* hash变更
|
|
|
*/
|
|
|
init: function (pageHref,paeTitle) {
|
|
|
var that = this;
|
|
|
hashChane: function () {
|
|
|
debugger
|
|
|
var hash = window.top.location.hash;
|
|
|
sessionStorage.setItem("pagePath", hash);
|
|
|
sessionStorage.setItem("batchNo", window.generateUUID().replace(/-/g, ""));
|
|
|
|
|
|
if (hash == '#/') {
|
|
|
sessionStorage.setItem("pageName", "首页");
|
|
|
sessionStorage.setItem("menuName", "首页");
|
|
|
sessionStorage.setItem("menuPath", "");
|
|
|
return;
|
|
|
} else if (hash == '#/user/login/redirect=%2F') {
|
|
|
sessionStorage.setItem("pageName", "登录");
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
|
|
|
var url = [];
|
|
|
window.top.location.hash.split('/').map(function (v) {
|
|
|
if (v.indexOf('=') == -1 && v != '#' && v != '') {
|
|
|
url.push(v);
|
|
|
return v;
|
|
|
}
|
|
|
return '';
|
|
|
})
|
|
|
|
|
|
if (url.length > 0) {
|
|
|
$.ajax({
|
|
|
url: setter.views + url.join('/') + setter.engine,
|
|
|
async: false,
|
|
|
success(res) {
|
|
|
var html = '<div>' + res + '</div>';
|
|
|
var elemTitle = $(html).find('title')
|
|
|
, title = elemTitle.text() || (html.match(/\<title\>([\s\S]*)\<\/title>/) || [])[1];
|
|
|
sessionStorage.setItem("pageName", title);
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
/**
|
|
|
* hash变更
|
|
|
*/
|
|
|
viewReqHeader: function (options) {
|
|
|
options.headers['batchNo'] = this.getPath("batchNo");
|
|
|
options.headers['groupId'] = this.getPath("groupId");
|
|
|
|
|
|
options.headers['pagePath'] = this.getPath("pagePath");
|
|
|
options.headers['pageName'] = this.getEncodeName('pageName'); //encodeURIComponent(sessionStorage.getItem("pageName"))
|
|
|
|
|
|
options.headers['menuPath'] = this.getPath("menuPath")
|
|
|
options.headers['menuName'] = this.getEncodeName('menuName'); //encodeURIComponent(sessionStorage.getItem("menuName"))
|
|
|
|
|
|
options.headers['buttonPath'] = this.getPath("buttonPath")
|
|
|
options.headers['buttonName'] = this.getEncodeName('buttonName'); //encodeURIComponent(sessionStorage.getItem("buttonName"))
|
|
|
},
|
|
|
|
|
|
ajaxSetupInit: function () {
|
|
|
setTimeout(function () {
|
|
|
// 绑定菜单点击事件
|
|
|
that.bindMenuClickEvent();
|
|
|
// 绑定元素点击事件
|
|
|
that.bindElemClickEvent();
|
|
|
console.log("日志事件注册完成!")
|
|
|
}, 500)
|
|
|
|
|
|
// sessionStorage.setItem("batchNo", "");
|
|
|
// sessionStorage.setItem("groupId", "");
|
|
|
//
|
|
|
// // 清空按钮名称
|
|
|
// sessionStorage.setItem("pagePath", "");
|
|
|
// sessionStorage.setItem("pageName", "");
|
|
|
// // 清空按钮名称
|
|
|
// sessionStorage.setItem("menuPath", "");
|
|
|
// sessionStorage.setItem("pageName", "");
|
|
|
// 清空按钮名称
|
|
|
sessionStorage.setItem("buttonPath", "");
|
|
|
sessionStorage.setItem("buttonName", "");
|
|
|
|
|
|
|
|
|
$.ajaxSetup({
|
|
|
headers: {
|
|
|
batchNo: this.getPath("batchNo"),
|
|
|
groupId: this.getPath("groupId"),
|
|
|
pagePath: this.getPath("pagePath"),
|
|
|
pageName: this.getEncodeName('pageName'),// encodeURIComponent(sessionStorage.getItem(sessionStorage.getItem("pageName"))),
|
|
|
|
|
|
menuPath: this.getPath("menuPath"),
|
|
|
menuName: this.getEncodeName('menuName'),//encodeURIComponent(sessionStorage.getItem("menuName")),
|
|
|
|
|
|
// 首页
|
|
|
obj.data.batchNo = 'H' + (new Date()).getTime();
|
|
|
buttonPath: this.getPath("buttonPath"),
|
|
|
buttonName: this.getEncodeName('buttonName'),//encodeURIComponent(sessionStorage.getItem("buttonName"))
|
|
|
}
|
|
|
});
|
|
|
},
|
|
|
|
|
|
getPath:(key)=>{
|
|
|
var val = sessionStorage.getItem(key);
|
|
|
if(val){
|
|
|
return val;
|
|
|
}
|
|
|
return '';
|
|
|
},
|
|
|
|
|
|
getEncodeName:(key)=>{
|
|
|
var val = sessionStorage.getItem(key);
|
|
|
if(val){
|
|
|
return encodeURIComponent(val);
|
|
|
}
|
|
|
return '';
|
|
|
},
|
|
|
|
|
|
/**
|
|
|
* 渲染完成后初始化函数
|
|
|
* @returns {[]}
|
|
|
*/
|
|
|
init: function () {
|
|
|
var that = this;
|
|
|
|
|
|
obj.data.currentPageTitle = paeTitle
|
|
|
// 绑定菜单事件
|
|
|
// setTimeout(function () {
|
|
|
// // 绑定菜单点击事件
|
|
|
// that.bindMenuClickEvent();
|
|
|
// // 绑定元素点击事件
|
|
|
// that.bindElemClickEvent();
|
|
|
// console.log("日志事件注册完成!")
|
|
|
// }, 500)
|
|
|
|
|
|
//lsq给带有title的元素绑定点击事件复制元素内容 2022-09-05
|
|
|
that.copyTitle();
|
|
|
|
|
|
if (that.data.contextmenus.length > 0) {
|
|
|
// 绑定右键提示功能
|
|
|
that.bindContextMenuEvent();
|
|
|
return that.data.contextmenus;
|
|
|
}
|
...
|
...
|
@@ -51,6 +172,7 @@ layui.define(['element', 'admin'], function (exports) { |
|
|
$.each(res.data, function (i, v) {
|
|
|
that.data.contextmenus.push(v.ddicCode);
|
|
|
});
|
|
|
// 绑定右键提示功能
|
|
|
that.bindContextMenuEvent();
|
|
|
}
|
|
|
})
|
...
|
...
|
@@ -93,35 +215,22 @@ layui.define(['element', 'admin'], function (exports) { |
|
|
}
|
|
|
})
|
|
|
},
|
|
|
/**
|
|
|
* ajax掉接口之前传参
|
|
|
* @author lsq
|
|
|
* @date 2022-08-18
|
|
|
* */
|
|
|
sendAjaxData(menuPath, elementName) {
|
|
|
let name = encodeURIComponent(elementName);
|
|
|
let layerTitle = $('.layui-layer-title');
|
|
|
let currentPageTitle = '';
|
|
|
if(obj.data.currentPageTitle){
|
|
|
currentPageTitle = encodeURIComponent(obj.data.currentPageTitle);
|
|
|
} else if(layerTitle && layerTitle.length > 0){
|
|
|
// 详情页标题
|
|
|
currentPageTitle = layerTitle.text();
|
|
|
} else {
|
|
|
// 页签名称
|
|
|
currentPageTitle = $('#LAY_app_tabsheader li.layui-this span').text()
|
|
|
}
|
|
|
|
|
|
$.ajaxSetup({
|
|
|
headers: {
|
|
|
currentPageTitle:currentPageTitle,
|
|
|
batchNo: obj.data.batchNo,
|
|
|
menuPath: obj.getCurrentHash(),
|
|
|
elementName: name
|
|
|
}
|
|
|
|
|
|
});
|
|
|
},
|
|
|
// /**
|
|
|
// * ajax掉接口之前传参
|
|
|
// * @author lsq
|
|
|
// * @date 2022-08-18
|
|
|
// * */
|
|
|
// sendAjaxData(menuPath, elementName) {
|
|
|
// let name = encodeURIComponent(elementName);
|
|
|
//
|
|
|
// $.ajaxSetup({
|
|
|
// headers: {
|
|
|
// menuPath: obj.getCurrentHash(),
|
|
|
// elementName: name
|
|
|
// }
|
|
|
//
|
|
|
// });
|
|
|
// },
|
|
|
/**
|
|
|
* 左侧菜单,鼠标点击事件
|
|
|
*/
|
...
|
...
|
@@ -134,8 +243,7 @@ layui.define(['element', 'admin'], function (exports) { |
|
|
//start lsq 元素鼠标点击事件操作 2022-08-11
|
|
|
//绑定事件时增加一个class防止多次绑定事件
|
|
|
$(this).addClass("on_fn");
|
|
|
// 菜单点击设置批次号
|
|
|
obj.data.batchNo = 'M' + (new Date()).getTime();
|
|
|
|
|
|
// 获取当前点击的菜单 2022-08-11
|
|
|
if ($(this).parent('li').length > 0) {
|
|
|
//如果菜单是第一级,则清空菜单数组,重新插入
|
...
|
...
|
@@ -144,11 +252,6 @@ layui.define(['element', 'admin'], function (exports) { |
|
|
that.pushArrNoRepeat($(this), 1);
|
|
|
}));
|
|
|
}
|
|
|
|
|
|
//lsq 给页面的元素绑定点击事件 2022-08-11
|
|
|
setTimeout(function () {
|
|
|
that.bindElemClickEvent();
|
|
|
}, 500)
|
|
|
},
|
|
|
/**
|
|
|
* @desc 点击元素插入数组时的处理
|
...
|
...
|
@@ -186,8 +289,9 @@ layui.define(['element', 'admin'], function (exports) { |
|
|
}
|
|
|
//菜单点击传入属性lay-href的值,普通元素传入当前页面路由
|
|
|
if (flg) {
|
|
|
that.sendAjaxData(layHref, text)
|
|
|
|
|
|
//that.sendAjaxData(layHref, text)
|
|
|
sessionStorage.setItem("menuName", text);
|
|
|
sessionStorage.setItem("menuPath", layHref);
|
|
|
} else {
|
|
|
let locationPath = location.hash;
|
|
|
let pathArr = locationPath.split("#/");
|
...
|
...
|
@@ -195,8 +299,9 @@ layui.define(['element', 'admin'], function (exports) { |
|
|
if (pathArr && pathArr.length > 1) {
|
|
|
path = pathArr[1]
|
|
|
}
|
|
|
that.sendAjaxData(path, text)
|
|
|
|
|
|
// that.sendAjaxData(path, text)
|
|
|
sessionStorage.setItem("buttonName", text);
|
|
|
sessionStorage.setItem("buttonPath", layHref);
|
|
|
}
|
|
|
},
|
|
|
/**
|
...
|
...
|
@@ -206,26 +311,33 @@ layui.define(['element', 'admin'], function (exports) { |
|
|
*/
|
|
|
clickEventHandle(thisObj, key) {
|
|
|
let that = this;
|
|
|
debugger
|
|
|
sessionStorage.setItem("groupId",window.generateUUID().replace(/-/g, ""));
|
|
|
|
|
|
let layHref = thisObj.attr('lay-href') ? thisObj.attr('lay-href') : '';
|
|
|
sessionStorage.setItem("buttonName", thisObj.text());
|
|
|
sessionStorage.setItem("buttonPath", layHref);
|
|
|
|
|
|
//绑定事件时增加一个class防止多次绑定事件
|
|
|
thisObj.addClass("on_fn");
|
|
|
that.pushArrNoRepeat(thisObj);
|
|
|
// 把点击的元素按顺序展示
|
|
|
let handleStr = '';
|
|
|
let menuStrArr = [];
|
|
|
let menuStrArrSecond = [];
|
|
|
that.data.handleLog.map(item => {
|
|
|
if (item.menuType) {
|
|
|
menuStrArr.push(item.text)
|
|
|
} else {
|
|
|
menuStrArrSecond.push(item.text)
|
|
|
}
|
|
|
})
|
|
|
if (menuStrArr.length > 0) {
|
|
|
handleStr = menuStrArr.join('->');
|
|
|
}
|
|
|
if (menuStrArrSecond.length > 0) {
|
|
|
handleStr += '->' + menuStrArrSecond.join(',');
|
|
|
}
|
|
|
// thisObj.addClass("on_fn");
|
|
|
// that.pushArrNoRepeat(thisObj);
|
|
|
// // 把点击的元素按顺序展示
|
|
|
// let handleStr = '';
|
|
|
// let menuStrArr = [];
|
|
|
// let menuStrArrSecond = [];
|
|
|
// that.data.handleLog.map(item => {
|
|
|
// if (item.menuType) {
|
|
|
// menuStrArr.push(item.text)
|
|
|
// } else {
|
|
|
// menuStrArrSecond.push(item.text)
|
|
|
// }
|
|
|
// })
|
|
|
// if (menuStrArr.length > 0) {
|
|
|
// handleStr = menuStrArr.join('->');
|
|
|
// }
|
|
|
// if (menuStrArrSecond.length > 0) {
|
|
|
// handleStr += '->' + menuStrArrSecond.join(',');
|
|
|
// }
|
|
|
},
|
|
|
/**
|
|
|
* 页面其他元素绑定事件
|
...
|
...
|
@@ -234,15 +346,22 @@ layui.define(['element', 'admin'], function (exports) { |
|
|
*/
|
|
|
bindElemClickEvent() {
|
|
|
let that = this;
|
|
|
var eventKeys = ['button', '[data-bizid]', '.layui-table-link', '[data-zymc]', '[data-busid]'];
|
|
|
var eventKeys = ['button', '[data-bizid]', '.layui-table-link', '[data-zymc]', '[data-busid]','.layui-tree-txt','.layui-cols-items'];
|
|
|
eventKeys.map(item => {
|
|
|
if (!$(item).hasClass("on_fn")) {
|
|
|
// if (!$(item).hasClass("on_fn")) {
|
|
|
// console.log(`${item}元素点击事件绑定完成!`)
|
|
|
// $(item).unbind('click.handle').on('click.handle', (function (e) {
|
|
|
// e.preventDefault();
|
|
|
// that.clickEventHandle($(this), item)
|
|
|
// }))
|
|
|
// }
|
|
|
setTimeout(function (){
|
|
|
console.log(`${item}元素点击事件绑定完成!`)
|
|
|
$(item).unbind('click.handle').on('click.handle', (function (e) {
|
|
|
e.preventDefault();
|
|
|
that.clickEventHandle($(this), item)
|
|
|
}))
|
|
|
}
|
|
|
|
|
|
},300)
|
|
|
})
|
|
|
},
|
|
|
/**
|
...
|
...
|
@@ -292,7 +411,7 @@ layui.define(['element', 'admin'], function (exports) { |
|
|
let elementName = thatItem.text().replace(reg, "");
|
|
|
that.getTipsDetail(elementName, thatItem);
|
|
|
})
|
|
|
console.log(obj.data)
|
|
|
|
|
|
}, 1000)
|
|
|
}
|
|
|
|
...
|
...
|
@@ -305,22 +424,12 @@ layui.define(['element', 'admin'], function (exports) { |
|
|
if (val.indexOf('el::') != -1) {
|
|
|
let elName = val.replace('el::', '');
|
|
|
bindContextEvent(elName, 0);
|
|
|
console.log(`${elName}元素右键提示绑定完成!`)
|
|
|
}
|
|
|
})
|
|
|
}, 300)
|
|
|
}
|
|
|
// 获取当前页面,是否在配置中
|
|
|
// var page = that.getCurrentHash();
|
|
|
// $(contextmenus).each(function (index) {
|
|
|
// let val = contextmenus[index];
|
|
|
// if (val.indexOf('page::') != -1) {
|
|
|
// let elName = val.replace('page::', '');
|
|
|
// if (elName == page) {
|
|
|
// bind();
|
|
|
// return;
|
|
|
// }
|
|
|
// }
|
|
|
// })
|
|
|
|
|
|
bind();
|
|
|
// 点击关闭所有tips
|
|
|
$(document).on('click', function (event) {
|
...
|
...
|
|