// 以下代码是配置layui扩展模块的目录,以及加载主题
|
layui.config({
|
base: '/module/'
|
}).extend({
|
formSelects: 'formSelects/formSelects-v4',
|
treetable: 'treetable-lay/treetable',
|
treetable2: 'treetable2/TreeTable',
|
autocomplete: 'complete/autocomplete',
|
step: 'step-lay/step'
|
}).use(['layer', 'config', 'index', 'element'], function () {
|
var $ = layui.jquery;
|
var layer = layui.layer;
|
let config = layui.config;
|
let index = layui.index;
|
let element = layui.element;
|
|
// 检查是否登录
|
if (!config.getToken() || config.getToken() == '') {
|
location.replace('login.html');
|
return;
|
}
|
|
// 检查多标签功能是否开启
|
index.checkPageTabs();
|
|
// 获取当前用户信息
|
index.getUser(function (user) {
|
$('.layui-layout-admin .layui-header').vm(user);
|
index.initLeftNav();
|
element.render('nav');
|
index.initRouter();
|
index.bindEvent();
|
});
|
// 加载设置的主题
|
var theme = layui.data('easyweb').theme;
|
if (theme) {
|
layui.link('/assets/css/theme/' + theme + '.css');
|
}
|
|
// 移除loading动画
|
setTimeout(function () {
|
$('.page-loading').remove();
|
}, window == top ? 500 : 300);
|
});
|
|
// 移除主题
|
function removeTheme() {
|
layui.jquery('link[id^=layuicss-assetscsstheme]').remove();
|
}
|
|
/**
|
* js常用工具类
|
*/
|
|
/**
|
* 方法作用:【格式化时间】
|
* 使用方法
|
* 示例:
|
* 使用方式一:
|
* var now = new Date();
|
* var nowStr = now.dateFormat("yyyy-MM-dd hh:mm:ss");
|
* 使用方式二:
|
* new Date().dateFormat("yyyy年MM月dd日");
|
* new Date().dateFormat("MM/dd/yyyy");
|
* new Date().dateFormat("yyyyMMdd");
|
* new Date().dateFormat("yyyy-MM-dd hh:mm:ss");
|
* @param format {date} 传入要格式化的日期类型
|
* @returns {2015-01-31 16:30:00}
|
*/
|
Date.prototype.dateFormat = function (format) {
|
var o = {
|
"M+": this.getMonth() + 1, //month
|
"d+": this.getDate(), //day
|
"h+": this.getHours(), //hour
|
"m+": this.getMinutes(), //minute
|
"s+": this.getSeconds(), //second
|
"q+": Math.floor((this.getMonth() + 3) / 3), //quarter
|
"S": this.getMilliseconds() //millisecond
|
}
|
if (/(y+)/.test(format)) {
|
format = format.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
|
}
|
for (var k in o) {
|
if (new RegExp("(" + k + ")").test(format)) {
|
format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length));
|
}
|
}
|
return format;
|
}
|
/***********************************************************************
|
* 日期时间工具类 *
|
* 注:调用方式,deteUtil.方法名 *
|
* ********************************************************************/
|
var dateUtil = {
|
/*
|
* 方法作用:【取传入日期是星期几】
|
* 使用方法:dateUtil.nowFewWeeks(new Date());
|
* @param date{date} 传入日期类型
|
* @returns {星期四,...}
|
*/
|
nowFewWeeks: function (date) {
|
if (date instanceof Date) {
|
var dayNames = new Array("星期天", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六");
|
return dayNames[date.getDay()];
|
} else {
|
return "Param error,date type!";
|
}
|
},
|
/**
|
* 比较第一个时间值和第二个时间值的大小 如果第一个大 返回true 否则返回false
|
* **/
|
compareDate: function (datebegin, dateend) {
|
var datebegindate = dateUtil.strTurnDate(datebegin);
|
var dateenddate = dateUtil.strTurnDate(dateend);
|
if (datebegindate > dateenddate) {
|
return true;
|
} else {
|
return false;
|
}
|
},
|
/***
|
* 获取今天的时间字符串
|
*/
|
getNowDate: function () {
|
var dayTime = new Date();
|
dayTime.setTime(dayTime.getTime());
|
return dayTime.getFullYear() + "-" + (dayTime.getMonth() + 1) + "-" + dayTime.getDate();
|
},
|
/*
|
* 方法作用:【字符串转换成日期】
|
* 使用方法:dateUtil.strTurnDate("2010-01-01");
|
* @param str {String}字符串格式的日期,传入格式:yyyy-mm-dd(2015-01-31)
|
* @return {Date}由字符串转换成的日期
|
*/
|
strTurnDate: function (str) {
|
var re = /^(\d{4})\S(\d{1,2})\S(\d{1,2})$/;
|
var dt;
|
if (re.test(str)) {
|
dt = new Date(RegExp.$1, RegExp.$2 - 1, RegExp.$3);
|
}
|
return dt;
|
},
|
/*
|
* 方法作用:【计算2个日期之间的天数】
|
* 传入格式:yyyy-mm-dd(2015-01-31)
|
* 使用方法:dateUtil.dayMinus(startDate,endDate);
|
* @startDate {Date}起始日期
|
* @endDate {Date}结束日期
|
* @return endDate - startDate的天数差
|
*/
|
dayMinus: function (startDate, endDate) {
|
if (startDate instanceof Date && endDate instanceof Date) {
|
var days = Math.floor((endDate - startDate) / (1000 * 60 * 60 * 24));
|
return days;
|
} else {
|
return "Param error,date type!";
|
}
|
},
|
/**
|
* 判断一个字符串是否日期
|
* @param {字符串} strDate
|
*/
|
isDate: function (strDate) {
|
if (!strUtil.isEmpty(strDate) && !isNaN(Date.parse(strDate))) {
|
return true;
|
}
|
return false;
|
}
|
};
|
|
/***********************************************************************
|
* 加载工具类 *
|
* 注:调用方式,loadUtil.方法名 *
|
* ********************************************************************/
|
var loadUtil = {
|
/*
|
* 方法说明:【动态加载js文件css文件】
|
* 使用方法:loadUtil.loadjscssfile("http://XXXXXXXXXXXXXXXXXX/jquery.js","js")
|
* @param fileurl 文件路径,
|
* @param filetype 文件类型,支持传入类型,js、css
|
*/
|
loadjscssfile: function (fileurl, filetype) {
|
if (filetype == "js") {
|
var fileref = document.createElement('script');
|
fileref.setAttribute("type", "text/javascript");
|
fileref.setAttribute("src", fileurl);
|
} else if (filetype == "css") {
|
|
var fileref = document.createElement('link');
|
fileref.setAttribute("rel", "stylesheet");
|
fileref.setAttribute("type", "text/css");
|
fileref.setAttribute("href", fileurl);
|
}
|
if (typeof fileref != "undefined") {
|
document.getElementsByTagName("head")[0].appendChild(fileref);
|
} else {
|
alert("loadjscssfile method error!");
|
}
|
}
|
};
|
|
/***********************************************************************
|
* 字符串操作工具类 *
|
* 注:调用方式,strUtil.方法名 *
|
* ********************************************************************/
|
var strUtil = {
|
/*
|
* 判断字符串是否为空
|
* @param str 传入的字符串
|
* @returns {}
|
*/
|
isEmpty: function (str) {
|
if (str != '' && str != undefined && str != null) {
|
return false;
|
} else {
|
return true;
|
}
|
},
|
/*
|
* 判断两个字符串子否相同
|
* @param str1
|
* @param str2
|
* @returns {Boolean}
|
*/
|
isEquals: function (str1, str2) {
|
if (str1 == str2) {
|
return true;
|
} else {
|
return false;
|
}
|
},
|
/*
|
* 忽略大小写判断字符串是否相同
|
* @param str1
|
* @param str2
|
* @returns {Boolean}
|
*/
|
isEqualsIgnorecase: function (str1, str2) {
|
if (str1.toUpperCase() == str2.toUpperCase()) {
|
return true;
|
} else {
|
return false;
|
}
|
},
|
/**
|
* 判断是否是数字
|
* @param value
|
* @returns {Boolean}
|
*/
|
isNum: function (value) {
|
if (value != null && value.length > 0 && isNaN(value) == false) {
|
return true;
|
} else {
|
return false;
|
}
|
},
|
/**
|
* 判断是否是中文
|
* @param str
|
* @returns {Boolean}
|
*/
|
isChine: function (str) {
|
var reg = /^([u4E00-u9FA5]|[uFE30-uFFA0])*$/;
|
if (reg.test(str)) {
|
return false;
|
}
|
return true;
|
}
|
};
|
//从当前页面的url地址中获取参数数据
|
function getRequest() {
|
var url = location.search; //获取url中"?"符后的字串
|
var theRequest = new Object();
|
if (url.indexOf("?") != -1) {
|
var str = url.substr(1);
|
strs = str.split("&");
|
for (var i = 0; i < strs.length; i++) {
|
theRequest[strs[i].split("=")[0]] = unescape(strs[i].split("=")[1]);
|
}
|
}
|
return theRequest;
|
}
|
/**
|
* 1.判断用户是否在登录状态
|
* 2.自动将没权限的按钮隐藏
|
* 如果页面有列表,则在列表的 done事件内调用
|
* 如果页面没有列表,则在页面所有js执行的最后调用此函数
|
*
|
* 所有需要权限控制显示的按钮,需要在class内加上permissions,
|
* 同时在控件上增加permissions="user-btn-import"这样的自定义属性
|
* 其中引号内是菜单管理--里面对应的资源的菜单path
|
*/
|
function permissionsInput(res,config) {
|
if(!strUtil.isEmpty(res)&&res.code==401){
|
config.removeToken();
|
if(res.msg.includes("Access token expired")){
|
layer.msg('登录过期', {icon: 2, time: 1500}, function () {
|
location.replace('/login.html');
|
}, 5000);
|
}else if(res.msg.includes("Invalid access token")){
|
layer.msg('您的账号在其他地方登陆,请重新登录或修改密码', {icon: 2, time: 1500}, function () {
|
location.replace('/login.html');
|
}, 5000);
|
}
|
|
return;
|
}
|
var needpPermissions = $(".permissions");
|
var permissions = layui.sessionData('tempData')['permissions'];
|
needpPermissions.each(function () {
|
var item = $(this);
|
if (permissions.indexOf(item.attr("permissions")) < 0) {
|
item.hide();
|
}
|
})
|
}
|