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 |  177 +++++++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 117 insertions(+), 60 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 a1536b3..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,8 +4,10 @@
 }).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 () {
+}).use(['layer', 'config', 'index', 'element'], function () {
     var $ = layui.jquery;
     var layer = layui.layer;
     let config = layui.config;
@@ -65,22 +67,22 @@
  * @param format {date} 传入要格式化的日期类型
  * @returns {2015-01-31 16:30:00}
  */
-Date.prototype.dateFormat = function (format){
+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
+        "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));
+    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));
+    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;
@@ -96,35 +98,33 @@
      * @param date{date} 传入日期类型
      * @returns {星期四,...}
      */
-    nowFewWeeks:function(date){
-        if(date instanceof Date){
-            var dayNames = new Array("星期天","星期一","星期二","星期三","星期四","星期五","星期六");
+    nowFewWeeks: function (date) {
+        if (date instanceof Date) {
+            var dayNames = new Array("星期天", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六");
             return dayNames[date.getDay()];
-        } else{
+        } else {
             return "Param error,date type!";
         }
     },
     /**
      * 比较第一个时间值和第二个时间值的大小  如果第一个大 返回true  否则返回false
      * **/
-    compareDate:function(datebegin,dateend)
-    {
-        var datebegindate=dateUtil.strTurnDate(datebegin);
-        var dateenddate=dateUtil.strTurnDate(dateend);
+    compareDate: function (datebegin, dateend) {
+        var datebegindate = dateUtil.strTurnDate(datebegin);
+        var dateenddate = dateUtil.strTurnDate(dateend);
         if (datebegindate > dateenddate) {
-            return false;
-        } else {
             return true;
+        } else {
+            return false;
         }
     },
     /***
      * 获取今天的时间字符串
      */
-    getNowDate:function()
-    {
+    getNowDate: function () {
         var dayTime = new Date();
         dayTime.setTime(dayTime.getTime());
-        return dayTime.getFullYear()+"-" + (dayTime.getMonth()+1) + "-" + dayTime.getDate();
+        return dayTime.getFullYear() + "-" + (dayTime.getMonth() + 1) + "-" + dayTime.getDate();
     },
     /*
      * 方法作用:【字符串转换成日期】
@@ -132,11 +132,11 @@
      * @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);
+    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;
     },
@@ -148,13 +148,23 @@
      * @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));
+    dayMinus: function (startDate, endDate) {
+        if (startDate instanceof Date && endDate instanceof Date) {
+            var days = Math.floor((endDate - startDate) / (1000 * 60 * 60 * 24));
             return days;
-        }else{
+        } else {
             return "Param error,date type!";
         }
+    },
+    /**
+     * 判断一个字符串是否日期
+     * @param {字符串} strDate 
+     */
+    isDate: function (strDate) {
+        if (!strUtil.isEmpty(strDate) && !isNaN(Date.parse(strDate))) {
+            return true;
+        }
+        return false;
     }
 };
 
@@ -169,21 +179,21 @@
      * @param fileurl 文件路径,
      * @param filetype 文件类型,支持传入类型,js、css
      */
-    loadjscssfile:function(fileurl,filetype){
-        if(filetype == "js"){
+    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"){
+            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);
+            fileref.setAttribute("rel", "stylesheet");
+            fileref.setAttribute("type", "text/css");
+            fileref.setAttribute("href", fileurl);
         }
-        if(typeof fileref != "undefined"){
+        if (typeof fileref != "undefined") {
             document.getElementsByTagName("head")[0].appendChild(fileref);
-        }else{
+        } else {
             alert("loadjscssfile method error!");
         }
     }
@@ -199,10 +209,10 @@
      * @param str 传入的字符串
      * @returns {}
      */
-    isEmpty:function(str){
-        if(str != '' && str != undefined && str != null && str.length > 0){
+    isEmpty: function (str) {
+        if (str != '' && str != undefined && str != null) {
             return false;
-        }else{
+        } else {
             return true;
         }
     },
@@ -212,10 +222,10 @@
      * @param str2
      * @returns {Boolean}
      */
-    isEquals:function(str1,str2){
-        if(str1==str2){
+    isEquals: function (str1, str2) {
+        if (str1 == str2) {
             return true;
-        }else{
+        } else {
             return false;
         }
     },
@@ -225,10 +235,10 @@
      * @param str2
      * @returns {Boolean}
      */
-    isEqualsIgnorecase:function(str1,str2){
-        if(str1.toUpperCase() == str2.toUpperCase()){
+    isEqualsIgnorecase: function (str1, str2) {
+        if (str1.toUpperCase() == str2.toUpperCase()) {
             return true;
-        }else{
+        } else {
             return false;
         }
     },
@@ -237,10 +247,10 @@
      * @param value
      * @returns {Boolean}
      */
-    isNum:function (value){
-        if( value != null && value.length>0 && isNaN(value) == false){
+    isNum: function (value) {
+        if (value != null && value.length > 0 && isNaN(value) == false) {
             return true;
-        }else{
+        } else {
             return false;
         }
     },
@@ -249,11 +259,58 @@
      * @param str
      * @returns {Boolean}
      */
-    isChine:function(str){
+    isChine: function (str) {
         var reg = /^([u4E00-u9FA5]|[uFE30-uFFA0])*$/;
-        if(reg.test(str)){
+        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