From 6fb14149d62199cfcc0448c82eb2f51f9c5181de Mon Sep 17 00:00:00 2001 From: luliqiang <kidgrow> Date: Thu, 31 Dec 2020 16:55:30 +0800 Subject: [PATCH] Merge branch 'dev' of http://192.168.2.240:7070/r/kidgrow-microservices-platform into parter --- kidgrow-web/kidgrow-web-manager/src/main/resources/static/assets/js/common.js | 291 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 290 insertions(+), 1 deletions(-) diff --git a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/assets/js/common.js b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/assets/js/common.js index 89176d4..8c93db6 100644 --- a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/assets/js/common.js +++ b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/assets/js/common.js @@ -4,11 +4,33 @@ }).extend({ formSelects: 'formSelects/formSelects-v4', treetable: 'treetable-lay/treetable', + treetable2: 'treetable2/TreeTable', + autocomplete: 'complete/autocomplete', step: 'step-lay/step' -}).use(['layer'], function () { +}).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) { @@ -24,4 +46,271 @@ // 移除主题 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(); + } + }) } \ No newline at end of file -- Gitblit v1.8.0