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