/*! * Copyright (c) 2013-Now http://jeesite.com All rights reserved. * * 通用公共JavaScript,注意:项目请不要修改公共CSS样式,若需要新增或调整,请在common.js中覆盖 * @author ThinkGem * @version 2019-7-10 */ if (typeof jQuery === "undefined") { throw new Error("JSHERP's JavaScript requires jQuery") } (function($, window, undefined) { parent.$("iframe.ui-layout-content").each(function() { if (document.body.ownerDocument === this.contentWindow.document) { $("body").addClass("ui-layout-content"); return } }); $(function() { if ($.fn.iCheck !== undefined) { $("input[type=checkbox].form-control:not(.noicheck),input[type=radio].form-control:not(.noicheck)").each(function() { $(this).iCheck({ checkboxClass: "icheckbox_" + ($(this).data("style") || "minimal-grey"), radioClass: "iradio_" + ($(this).data("style") || "minimal-grey") }).on("ifChanged", function() { try { $(this).resetValid() } catch (e) {} }) }) } if ($.fn.select2 !== undefined) { $("select.form-control:not(.noselect2)").each(function() { $(this).select2({ minimumResultsForSearch: 10, templateResult: function(result, container) { var element = $(result.element) , parent = $(container) , style = element.attr("style") , clazz = element.attr("class"); if (style && style != "") { parent.attr("style", style) } if (clazz && clazz != "") { parent.addClass(clazz) } return result.text } }).on("change", function() { try { $(this).resetValid() } catch (e) {} }) }) } if (js.ie) { $("a").bind("focus", function() { if (this.blur) { this.blur() } }) } $("#inputForm input[type=text]:not([readonly]):not([disabled]):not(.nofocus):eq(0)").focus(); $(document).on("click", ".addTabPage", function(e) { var $this = $(this) , href = $this.data("href") || $this.attr("href") , title = $this.data("title") || $this.attr("title") || $this.text(); if (href && href != "" && href != "blank") { js.addTabPage($this, $.trim(title || js.text("tabpanel.newTabPage")), href); if ($this.parent().hasClass("treeview")) { window.funId = $this.data("code"); //功能id top.window.isMenuClickFlag = true; top.window.location.hash = href.replace("#", "") } return false } return true }); if (js.ie && js.ie <= 9) { setTimeout(function() { $("input[placeholder],textarea[placeholder]").placeholder() }, 500) } if ($("#scroll-up").length > 0) { var btnScrollTop = $("#scroll-up") , isVisible = false; $(window).on("scroll.btnScrollTop", function() { var scroll = $(document).scrollTop() , h = $(window).height() , sh = document.body.scrollHeight; if (scroll > parseInt(h / 4) || (scroll > 0 && sh >= h && h + scroll >= sh - 1)) { if (!isVisible) { btnScrollTop.addClass("display"); isVisible = true } } else { if (isVisible) { btnScrollTop.removeClass("display"); isVisible = false } } }).triggerHandler("scroll.btnScrollTop"); btnScrollTop.on("click", function() { $("html,body").animate({ scrollTop: 0 }, 500); return false }) } if (typeof FastClick != "undefined") { FastClick.attach(document.body) } }); var js = { log: function(msg) { if (typeof (console) !== "undefined") { console.log(msg) } }, error: function(msg) { if (typeof (console) !== "undefined") { console.error(msg) } }, encodeUrl: function(url) { return encodeURIComponent(url) }, decodeUrl: function(url) { return decodeURIComponent(url) }, ie: function() { var agent = navigator.userAgent.toLowerCase(); return (!!window.ActiveXObject || "ActiveXObject"in window) ? ((agent.match(/msie\s(\d+)/) || [])[1] || (agent.match(/Trident/i) && agent.match(/rv:(\d+)/) || [])[1] || false) : false }(), val: function(jsonObj, attrName) { if (jsonObj === undefined) { return "" } if (attrName === undefined || attrName == "") { return typeof jsonObj === "string" ? jsonObj : "" } var ret = jsonObj[attrName], prm = [], p, i; if (ret === undefined) { try { if (typeof attrName === "string") { prm = attrName.split(".") } i = prm.length; if (i) { ret = jsonObj; while (ret && i--) { p = prm.shift(); ret = ret[p] } } } catch (e) {} } if (ret === undefined) { return "" } return ret }, hashCode: function(str, caseSensitive) { if (caseSensitive != true) { str = str.toLowerCase() } var hash = 1315423911, i, ch; for (i = str.length - 1; i >= 0; i--) { ch = str.charCodeAt(i); hash ^= ((hash << 5) + ch + (hash >> 2)) } return (hash & 2147483647) }, loadFile: function(file, callback, error) { callback = callback || function() {} ; error = error || function(data) { js.showMessage(data) } ; var files = typeof file == "string" ? [file] : file; var htmlDoc = document.getElementsByTagName("head")[0], okCounts = 0, fileCounts = files.length, i, loadFilePath = null; for (i = 0; i < fileCounts; i++) { var includeFile = null, att = null, ext, hash; loadFilePath = files[i]; hash = js.hashCode(loadFilePath); if (document.getElementById("loadHash_" + hash)) { okCounts += 1; if (okCounts == fileCounts) { callback(); return true } continue } att = loadFilePath.split("?")[0].split("."); ext = att[att.length - 1].toLowerCase(); switch (ext) { case "css": includeFile = document.createElement("link"); includeFile.setAttribute("rel", "stylesheet"); includeFile.setAttribute("type", "text/css"); includeFile.setAttribute("href", loadFilePath); break; case "js": includeFile = document.createElement("script"); includeFile.setAttribute("type", "text/javascript"); includeFile.setAttribute("src", loadFilePath); break; case "jpg": case "jpeg": case "png": case "gif": includeFile = document.createElement("img"); includeFile.setAttribute("src", loadFilePath); break; default: error("载入的格式不支持:" + loadFilePath); return false } if (typeof includeFile != "undefined") { includeFile.setAttribute("id", "loadHash_" + hash); htmlDoc.appendChild(includeFile); includeFile.onreadystatechange = function() { if (includeFile.readyState == "loaded" || includeFile.readyState == "complete") { okCounts += 1; if (okCounts == fileCounts) { callback(); return true } } } ; includeFile.onload = function() { okCounts += 1; if (okCounts == fileCounts) { callback(); return true } } ; includeFile.onerror = function() { $("#loadhash_" + hash).remove(); return false } } } }, windowOpen: function(url, name, width, height) { if (!(width && height)) { width = window.screen.width - 200; height = window.screen.height - 150 } var top = parseInt((window.screen.height - height) / 2 - 20, 10) , left = parseInt((window.screen.width - width) / 2, 10) , options = "location=no,menubar=no,toolbar=no,dependent=yes,minimizable=no,modal=yes,alwaysRaised=yes,resizable=yes,scrollbars=yes,width=" + width + ",height=" + height + ",top=" + top + ",left=" + left; window.open(url, name, options) }, windowClose: function() { setTimeout(function() { window.opener = null; window.open("", "_self"); window.close() }, 100) }, addParam: function(url, params) { if (params != "") { url += (url.indexOf("?") == -1 ? "?" : "&"); url += params } return url }, getParam: function(paramName, url) { var reg = new RegExp("(^|&)" + paramName + "=([^&]*)(&|$)","i"); if (!url || url == "") { url = window.location.search } else { url = url.substring(url.indexOf("?")) } var val = url.substr(1).match(reg); if (val != null) { return unescape(val[2]) } return null }, removeParam: function(paramName, url) { var reg = new RegExp("(^|&)" + paramName + "=([^&]*)(&|$)","i"), params; if (!url || url == "") { params = window.location.search } else { params = url.substring(url.indexOf("?")) } if (params != "") { if (js.startsWith(params, "?") || js.startsWith(params, "&")) { params = params.substr(1) } url = url.substring(0, url.indexOf("?") + 1) + params.replace(reg, "$1"); if (js.endsWith(url, "?") || js.endsWith(url, "&")) { return url.substring(0, url.length - 1) } } return url }, alertObj: function(obj) { var ob = eval(obj); var index = 1 , property = ""; for (var p in ob) { property += (index++) + "、" + p + " = " + ob[p] + "\n" } alert(property) }, text: function(code, params) { if (code) { js.i18n = js.i18n || {}; var text = js.i18n[code]; if (!(text && text != "")) { text = code } if (params) { for (var i = 1; i < arguments.length; i++) { var re = new RegExp("\\{" + (i - 1) + "\\}","gm"); text = text.replace(re, arguments[i]) } } return text } return code }, getDictLabel: function(dictListJson, value, defaultValue, inCss) { var result = []; for (var i = 0; i < dictListJson.length; i++) { var row = dictListJson[i]; if (("," + value + ",").indexOf("," + row.dictValue + ",") != -1) { var str = ""; if (inCss && (row.cssClass || row.cssStyle)) { str += "" + row.dictLabel + "") } else { result.push(row.dictLabel) } } } return result.length > 0 ? result.join(",") : defaultValue }, loading: function(message, ignoreMessageIfExists) { var topJs; try { top.loadingFlag = true; topJs = top.js || parent.parent.js || parent.js } catch (e) {} if (typeof loadingFlag == "undefined" && topJs) { if (typeof topJs.loading == "function") { topJs.loading(message); return } } if (message == undefined || message == "") { message = js.text("loading.message") } if (message == "none") { return } setTimeout(function() { if (!js.pageLoadingNum) { js.pageLoadingNum = 0 } if (!js.pageLoadingStyle) { if ($("body").hasClass("loading-topline")) { js.pageLoadingStyle = 2 } else { js.pageLoadingStyle = 1 } } if (js.pageLoadingStyle == 1) { message += '×'; if ($("#page-loading").length == 0) { $("body").append('
' + message + "
") } else { if (!(ignoreMessageIfExists == true)) { $("#page-loading").html(message) } } } else { if (js.pageLoadingStyle == 2) { if ($("#page-loading-top").length == 0) { $("body").append('
'); $("#page-loading-top").animate({ width: "65%" }, 2000, function() { $(this).animate({ width: "85%" }, 8000) }) } } } js.pageLoadingNum++ }, 0) }, closeLoading: function(timeout, forceClose) { var topJs; try { top.loadingFlag = true; topJs = top.js || parent.parent.js || parent.js } catch (e) {} if (typeof loadingFlag == "undefined" && topJs) { if (typeof topJs.closeLoading == "function") { topJs.closeLoading(timeout, forceClose); return } } setTimeout(function() { if (!js.pageLoadingNum) { js.pageLoadingNum = 0 } js.pageLoadingNum--; if (forceClose || js.pageLoadingNum <= 0) { if (js.pageLoadingStyle == 1) { $("#page-loading").remove() } else { if (js.pageLoadingStyle == 2) { $("#page-loading-top").stop().animate({ width: "100%" }, 200, function() { $(this).fadeOut(300, function() { $(this).remove() }) }) } } js.pageLoadingNum = 0 } }, timeout == undefined ? 0 : timeout) }, layer: function() { try { if (top.layer && top.layer.window) { return top.layer } if (parent.parent.layer && parent.parent.layer.window) { return parent.parent.layer } if (parent.layer && parent.layer.window) { return parent.layer } } catch (e) {} if (window.layer) { return layer } return null }(), showMessage: function(message, title, type, timeout) { var msgType, layerIcon, msg = String(message), msgTimeout = timeout == undefined ? 4000 : timeout; var contains = function(str, searchs) { if (searchs) { var ss = searchs.split(","); for (var i = 0; i < ss.length; i++) { if (msg.indexOf(ss[i]) >= 0) { return true } } } return false }; if (type == "error" || contains(msg, js.text("showMessage.error"))) { msgType = "error"; layerIcon = 2 } else { if (type == "warning" || contains(msg, js.text("showMessage.warning"))) { msgType = "warning"; layerIcon = 5 } else { if (type == "success" || contains(msg, js.text("showMessage.success"))) { msgType = "success"; layerIcon = 1 } else { msgType = "info"; layerIcon = 6 } } } try { if (top.toastr) { var positionClass = "toast-bottom-right"; if (msg && msg.length >= 8 && msg.indexOf("posfull:") >= 0) { if (timeout == undefined) { msgTimeout = 0 } positionClass = "toast-top-full-width"; msg = msg.substring(8); js.log(msg) } top.toastr.options = { closeButton: true, positionClass: positionClass, timeOut: msgTimeout }; top.toastr[msgType](msg, title); return } } catch (e) {} if (!js.layer) { alert(msg); return } if (layerIcon) { js.layer.msg(msg, { icon: layerIcon, time: msgTimeout }) } else { js.layer.msg(msg, { time: msgTimeout }) } }, showErrorMessage: function(responseText) { if (responseText && responseText != "") { js.error(js.abbr(responseText, 500)); if (responseText.indexOf(")/g, "") , data = data || []; if (typeof callback == "function") { laytpl(tpl).render(data || [], function(render) { callback(render) }); return null } return laytpl(tpl).render(data || []) }, ajaxSubmit: function(url, data, callback, dataType, async, message) { $(".btn").attr("disabled", true); if (typeof data == "function") { message = async; async = dataType; dataType = callback; callback = data; data = undefined } var options = {}; if (typeof callback == "object") { options = callback; callback = options.callback; dataType = options.dataType; async = options.async; message = options.message } js.loading(message == undefined ? js.text("loading.submitMessage") : message); $.ajax($.extend(true, { type: "POST", url: url, data: data, dataType: dataType == undefined ? "json" : dataType, async: async == undefined ? true : async, error: function(data) { $(".btn").attr("disabled", false); js.showErrorMessage(data.responseText); js.closeLoading(0, true) }, success: function(data, status, xhr) { $(".btn").attr("disabled", false); js.closeLoading(); if (typeof callback == "function") { callback(data, status, xhr) } else { js.log(data) } } }, options)) }, ajaxSubmitForm: function(formJqueryObj, callback, dataType, async, message) { $(".btn").attr("disabled", true); var options = {}; if (typeof callback == "object") { options = callback; callback = options.callback; dataType = options.dataType; async = options.async; message = options.message } js.loading(message == undefined ? js.text("loading.submitMessage") : message); if (options.downloadFile === true) { options.iframe = true } formJqueryObj.ajaxSubmit($.extend(true, { type: "POST", xhrFields: { withCredentials: true }, url: formJqueryObj.attr("action"), dataType: dataType == undefined ? "json" : dataType, async: async == undefined ? true : async, error: function(data) { $(".btn").attr("disabled", false); js.showErrorMessage(data.responseText); js.closeLoading(0, true) }, success: function(data, status, xhr) { $(".btn").attr("disabled", false); js.closeLoading(); if (typeof callback == "function") { callback(data, status, xhr) } else { js.log(data) } } }, options)); if (options.downloadFile === true) { $(".btn").attr("disabled", false); js.closeLoading() } }, trim: function(str) { return jQuery.trim(str) }, startWith: function(str, start) { var reg = new RegExp("^" + start); return reg.test(str) }, startsWith: function(str, prefix) { if (!str || !prefix || str.length < prefix.length) { return false } return str.slice(0, prefix.length) === prefix }, endWith: function(str, end) { var reg = new RegExp(end + "$"); return reg.test(str) }, endsWith: function(str, suffix) { if (!str || !suffix || str.length < suffix.length) { return false } return str.indexOf(suffix, str.length - suffix.length) !== -1 }, abbr: function(name, maxLength) { if (!maxLength) { maxLength = 20 } if (name == null || name.length < 1) { return "" } var w = 0; var s = 0; var p = false; var b = false; var nameSub; for (var i = 0; i < name.length; i++) { if (i > 1 && b == false) { p = false } if (i > 1 && b == true) { p = true } var c = name.charCodeAt(i); if ((c >= 1 && c <= 126) || (65376 <= c && c <= 65439)) { w++; b = false } else { w += 2; s++; b = true } if (w > maxLength && i <= name.length - 1) { if (b == true && p == true) { nameSub = name.substring(0, i - 2) + "..." } if (b == false && p == false) { nameSub = name.substring(0, i - 3) + "..." } if (b == true && p == false) { nameSub = name.substring(0, i - 2) + "..." } if (p == true) { nameSub = name.substring(0, i - 2) + "..." } break } } if (w <= maxLength) { return name } return nameSub }, formatNumber: function(num, cent, isThousand, defaultValue) { if (typeof num == "undefined" || num == null || num === "") { return defaultValue || "" } num = String(num).replace(/\$|\,/g, ""); if (isNaN(num)) { num = "0" } var sign = (num == (num = Math.abs(num))); num = Math.floor(num * Math.pow(10, cent) + 0.50000000001); var cents = num % Math.pow(10, cent); num = Math.floor(num / Math.pow(10, cent)).toString(); cents = cents.toString(); while (cents.length < cent) { cents = "0" + cents } if (isThousand) { for (var i = 0; i < Math.floor((num.length - (1 + i)) / 3); i++) { num = num.substring(0, num.length - (4 * i + 3)) + "," + num.substring(num.length - (4 * i + 3)) } } if (cent > 0) { return (((sign) ? "" : "-") + num + "." + cents) } else { return (((sign) ? "" : "-") + num) } }, formatMoney: function(s, n) { if (s == undefined || s == "") { return "0.00" } n = n >= 0 && n <= 20 ? n : 2; s = parseFloat((s + "").replace(/[^\d\.-]/g, "")).toFixed(n) + ""; var l = s.split(".")[0].split("").reverse(), r = s.split(".")[1], i, t = ""; for (i = 0; i < l.length; i++) { t += l[i] + ((i + 1) % 3 == 0 && (i + 1) != l.length ? "," : "") } return t.split("").reverse().join("") + (r ? "." + r : "") }, numberPad: function(num, n) { var len = num.toString().length; while (len < n) { num = "0" + num; len++ } return num }, formatDate: function(date, f) { if (date == undefined) { return "" } if (f == undefined) { f = "yyyy-MM-dd HH:mm" } var o = { "M+": date.getMonth() + 1, "d+": date.getDate(), "H+": date.getHours(), "m+": date.getMinutes(), "s+": date.getSeconds(), "q+": Math.floor((date.getMonth() + 3) / 3), S: date.getMilliseconds() }; if (/(y+)/.test(f)) { f = f.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length)) } for (var k in o) { if (new RegExp("(" + k + ")").test(f)) { f = f.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length)) } } return f }, parseDate: function(date) { if (date == undefined) { return null } return new Date(date.replace(/-/g, "/")) }, addDate: function(date, dadd) { date = date.valueOf(); date = date + dadd * 24 * 60 * 60 * 1000; return new Date(date) }, quickSelectDate: function(type, beginDateId, endDateId) { var now = new Date() , nowYear = now.getFullYear() , nowMonth = now.getMonth() , nowDay = now.getDate() , nowDayOfWeek = now.getDay() , beginDate = $("#" + beginDateId) , endDate = $("#" + endDateId) , formatDate = function(date) { return js.formatDate(date, "yyyy-MM-dd") } , getMonthDays = function(myMonth) { var monthStartDate = new Date(nowYear,myMonth,1); var monthEndDate = new Date(nowYear,myMonth + 1,1); var days = (monthEndDate - monthStartDate) / (1000 * 60 * 60 * 24); return days }; if (type == "1") { beginDate.val(formatDate(now)); endDate.val(beginDate.val()) } else { if (type == "2") { nowDayOfWeek = nowDayOfWeek == 0 ? 6 : nowDayOfWeek - 1; var weekStartDate = new Date(nowYear,nowMonth,nowDay - nowDayOfWeek); var weekEndDate = new Date(nowYear,nowMonth,nowDay + (6 - nowDayOfWeek)); beginDate.val(formatDate(weekStartDate)); endDate.val(formatDate(weekEndDate)) } else { if (type == "3") { var monthStartDate = new Date(nowYear,nowMonth,1); var monthEndDate = new Date(nowYear,nowMonth,getMonthDays(nowMonth)); beginDate.val(formatDate(monthStartDate)); endDate.val(formatDate(monthEndDate)) } else { if (type == "4") { var quarterStartMonth = 0; if (nowMonth < 3) { quarterStartMonth = 0 } if (2 < nowMonth && nowMonth < 6) { quarterStartMonth = 3 } if (5 < nowMonth && nowMonth < 9) { quarterStartMonth = 6 } if (nowMonth > 8) { quarterStartMonth = 9 } var quarterEndMonth = quarterStartMonth + 2; var quarterStartDate = new Date(nowYear,quarterStartMonth,1); var quarterEndDate = new Date(nowYear,quarterEndMonth,getMonthDays(quarterEndMonth)); beginDate.val(formatDate(quarterStartDate)); endDate.val(formatDate(quarterEndDate)) } else { if (type == "5") { var lastMonthDate = new Date(); lastMonthDate.setDate(1); lastMonthDate.setMonth(lastMonthDate.getMonth() - 1); var lastYear = lastMonthDate.getYear(); var lastMonth = lastMonthDate.getMonth(); var lastMonthStartDate = new Date(nowYear,lastMonth,1); var lastMonthEndDate = new Date(nowYear,lastMonth,getMonthDays(lastMonth)); beginDate.val(formatDate(lastMonthStartDate)); endDate.val(formatDate(lastMonthEndDate)) } } } } } beginDate.change(); endDate.change() }, cookie: function(name, value, options) { if (typeof value != "undefined") { options = options || {}; if (value === null) { value = ""; options.expires = -1 } var expires = ""; if (options.expires && (typeof options.expires == "number" || options.expires.toUTCString)) { var date; if (typeof options.expires == "number") { date = new Date(); date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000)) } else { date = options.expires } expires = "; expires=" + date.toUTCString() } var path = "; path=" + (options.path ? options.path : (window.ctxPath ? window.ctxPath : "/")); var domain = options.domain ? "; domain=" + options.domain : ""; var secure = options.secure ? "; secure" : ""; document.cookie = [name, "=", encodeURIComponent(value), expires, path, domain, secure].join("") } else { var cookieValue = null; if (document.cookie && document.cookie != "") { var cookies = document.cookie.split(";"); for (var i = 0; i < cookies.length; i++) { var cookie = jQuery.trim(cookies[i]); if (cookie.substring(0, name.length + 1) == (name + "=")) { cookieValue = decodeURIComponent(cookie.substring(name.length + 1)); break } } } return cookieValue } }, tabPage: function() { if (window.tabPage) { return tabPage } try { if (parent.tabPage) { return parent.tabPage } if (parent.parent.tabPage) { return parent.parent.tabPage } if (top.tabPage) { return top.tabPage } } catch (e) {} return null }(), initTabPage: function(id, options) { if (js.cookie("tabPageModel") == "true") { options.maxLength = 1 } var tabPage = window.tabPage; return tabPage.initTabPage(id, options) }, addTabPage: function($this, title, url, closeable, refresh) { top.prevWindow = window; var tabPage = js.tabPage; if (!tabPage || typeof tabPage.addTabPage != "function" || (js.cookie("formLayerModel") == "true" && $this && $this.data("layer") != false && ($this.hasClass("btnTool") || $this.hasClass("btnList"))) || ($this && $this.data("layer") == true)) { if (js.layer) { var layerWidth, layerHeight, layerLeft, layerTop; if ($this) { layerWidth = $this.data("layerWidth"); layerHeight = $this.data("layerHeight"); layerLeft = $this.data("layerLeft"); layerTop = $this.data("layerTop") } if (layerWidth == null || layerWidth == "") { layerWidth = $(top.window).width(); if (layerLeft != null && layerLeft != "") { layerWidth -= parseInt(layerLeft) * 2 } else { layerWidth -= 100 * 2 } } if (layerHeight == null || layerHeight == "") { layerHeight = $(top.window).height(); if (layerTop != null && layerTop != "") { layerHeight -= parseInt(layerTop) * 2 } else { layerHeight -= 50 * 2 } } js.layer.open({ type: 2, maxmin: true, shadeClose: false, title: title, area: [layerWidth + "px", layerHeight + "px"], content: url, contentFormData: { __layer: true }, success: function(layero, index) { if ($(js.layer.window).width() < layerWidth || $(js.layer.window).height() < layerHeight) { js.layer.full(index) } } }) } else { js.windowOpen(url, title, "auto", "auto") } return } return tabPage.addTabPage($this, title, url, closeable, refresh) }, getCurrentTabPage: function(currentTabCallback) { var tabPage = js.tabPage; if (!tabPage || typeof tabPage.getCurrentTabPage != "function") { return } tabPage.getCurrentTabPage(currentTabCallback) }, getPrevTabPage: function(preTabCallback, isCloseCurrentTab) { var tabPage = js.tabPage; if (!tabPage || typeof tabPage.getPrevTabPage != "function") { return } tabPage.getPrevTabPage(preTabCallback, isCloseCurrentTab) }, closeCurrentTabPage: function(preTabCallback) { var tabPage = js.tabPage; if (!tabPage || typeof tabPage.closeCurrentTabPage != "function" || window.name.indexOf("layui-layer") != -1) { var layerIndex; if (js.layer) { layerIndex = js.layer.getFrameIndex(window.name) } if (layerIndex) { js.layer.close(layerIndex) } else { js.windowClose() } if (typeof preTabCallback == "function") { try { preTabCallback(top.prevWindow) } catch (e) { js.error(e) } } return } tabPage.closeCurrentTabPage(preTabCallback) } }; window.js = js; window.log = js.log; window.error = js.error; window.lang = window.lang || "zh_CN"; window.text = js.text } )(window.jQuery, window); !function(a, c) { var b = a(); a.fn.dropdownHover = function(d) { return "ontouchstart"in document ? this : (b = b.add(this.parent()), this.each(function() { function f() { m.parents(".navbar").find(".navbar-toggle").is(":visible") || (c.clearTimeout(o), c.clearTimeout(j), j = c.setTimeout(function() { b.find(":focus").blur(), p.instantlyCloseOthers === !0 && b.removeClass("open"), c.clearTimeout(j), m.attr("aria-expanded", "true"), t.addClass("open"), m.trigger(k) }, p.hoverDelay)) } var o, j, m = a(this), t = m.parent(), q = { delay: 500, hoverDelay: 0, instantlyCloseOthers: !0 }, g = { delay: a(this).data("delay"), hoverDelay: a(this).data("hover-delay"), instantlyCloseOthers: a(this).data("close-others") }, k = "show.bs.dropdown", n = "hide.bs.dropdown", p = a.extend(!0, {}, q, d, g); t.hover(function(h) { return t.hasClass("open") || m.is(h.target) ? void f(h) : !0 }, function() { c.clearTimeout(j), o = c.setTimeout(function() { m.attr("aria-expanded", "false"), t.removeClass("open"), m.trigger(n) }, p.delay) }), m.hover(function(h) { return t.hasClass("open") || t.is(h.target) ? void f(h) : !0 }), t.find(".dropdown-submenu").each(function() { var i, h = a(this); h.hover(function() { c.clearTimeout(i), h.children(".dropdown-menu").show(), h.siblings().children(".dropdown-menu").hide() }, function() { var l = h.children(".dropdown-menu"); i = c.setTimeout(function() { l.hide() }, p.delay) }) }) })) } , a(document).ready(function() { a('[data-hover="dropdown"]').dropdownHover() }) }(jQuery, window); (function(W) { function B(k, h, n) { var p = k[0] , m = /er/.test(n) ? T : /bl/.test(n) ? O : U , l = n == j ? { checked: p[U], disabled: p[O], indeterminate: "true" == k.attr(T) || "false" == k.attr(o) } : p[m]; if (/^(ch|di|in)/.test(n) && !l) { P(k, m) } else { if (/^(un|en|de)/.test(n) && l) { N(k, m) } else { if (n == j) { for (m in l) { l[m] ? P(k, m, !0) : N(k, m, !0) } } else { if (!h || "toggle" == n) { if (!h) { k[R]("ifClicked") } l ? p[S] !== C && N(k, m) : P(k, m) } } } } } function P(y, x, u) { var v = y[0] , t = y.parent() , q = x == U , n = x == T , m = x == O , w = n ? o : q ? K : "enabled" , l = V(y, w + i(v[S])) , s = V(y, x + i(v[S])); if (!0 !== v[x]) { if (!u && x == U && v[S] == C && v.name) { var k = y.closest("form") , h = 'input[name="' + v.name + '"]' , h = k.length ? k.find(h) : W(h); h.each(function() { this !== v && W(this).data(Q) && N(W(this), x) }) } n ? (v[x] = !0, v[U] && N(y, U, "force")) : (u || (v[x] = !0), q && v[T] && N(y, T, !1)); b(y, q, x, u) } v[O] && V(y, f, !0) && t.find("." + g).css(f, "default"); t[A](s || V(y, x) || ""); m ? t.attr("aria-disabled", "true") : t.attr("aria-checked", n ? "mixed" : "true"); t[c](l || V(y, w) || "") } function N(y, x, v) { var w = y[0] , s = y.parent() , n = x == U , m = x == T , k = x == O , l = m ? o : n ? K : "enabled" , D = V(y, l + i(w[S])) , z = V(y, x + i(w[S])); if (!1 !== w[x]) { if (m || !v || "force" == v) { w[x] = !1 } b(y, n, l, v) } !w[O] && V(y, f, !0) && s.find("." + g).css(f, "pointer"); s[c](z || V(y, x) || ""); k ? s.attr("aria-disabled", "false") : s.attr("aria-checked", "false"); s[A](D || V(y, l) || "") } function a(k, h) { if (k.data(Q)) { k.parent().html(k.attr("style", k.data(Q).s || "")); if (h) { k[R](h) } k.off(".i").unwrap(); W(r + '[for="' + k[0].id + '"]').add(k.closest(r)).off(".i") } } function V(k, h, l) { if (k.data(Q)) { return k.data(Q).o[h + (l ? "" : "Class")] } } function i(h) { return h.charAt(0).toUpperCase() + h.slice(1) } function b(k, h, l, m) { if (!m) { if (h) { k[R]("ifToggled") } k[R]("ifChanged")[R]("if" + i(l)) } } var Q = "iCheck" , g = Q + "-helper" , C = "radio" , U = "checked" , K = "un" + U , O = "disabled" , o = "determinate" , T = "in" + o , j = "update" , S = "type" , A = "addClass" , c = "removeClass" , R = "trigger" , r = "label" , f = "cursor" , d = /ipad|iphone|ipod|android|blackberry|windows phone|opera mini|silk/i.test(navigator.userAgent); W.fn[Q] = function(D, v) { var s = 'input[type="checkbox"], input[type="' + C + '"]' , t = W() , q = function(k) { k.each(function() { var w = W(this); t = w.is(s) ? t.add(w) : t.add(w.find(s)) }) }; if (/^(check|uncheck|toggle|indeterminate|determinate|disable|enable|update|destroy)$/i.test(D)) { return D = D.toLowerCase(), q(this), t.each(function() { var k = W(this); "destroy" == D ? a(k, "ifDestroyed") : B(k, !0, D); W.isFunction(v) && v() }) } if ("object" != typeof D && D) { return this } var p = W.extend({ checkedClass: U, disabledClass: O, indeterminateClass: T, checkboxClass: "icheckbox_minimal-grey", radioClass: "iradio_minimal-grey", labelHover: !0, aria: !1 }, D) , n = p.handle , m = p.hoverClass || "hover" , z = p.focusClass || "focus" , E = p.activeClass || "active" , u = !!p.labelHover , l = p.labelHoverClass || "hover" , h = ("" + p.increaseArea).replace("%", "") | 0; if ("checkbox" == n || n == C) { s = 'input[type="' + n + '"]' } -50 > h && (h = -50); q(this); return t.each(function() { var L = W(this); a(L); var I = this , J = I.id , G = -h + "%" , H = 100 + 2 * h + "%" , H = { position: "absolute", top: G, left: G, display: "block", width: H, height: H, margin: 0, padding: 0, background: "#fff", border: 0, opacity: 0 } , G = d ? { position: "absolute", visibility: "hidden" } : h ? H : { position: "absolute", opacity: 0 } , y = "checkbox" == I[S] ? p.checkboxClass || "icheckbox" : p.radioClass || "i" + C , x = W(r + '[for="' + J + '"]').add(L.closest(r)) , w = !!p.aria , M = Q + "-" + Math.random().toString(36).replace("0.", "") , F = '
")[R]("ifCreated").parent().append(p.insert); H = W('').css(H).appendTo(F); L.data(Q, { o: p, s: L.attr("style") }).css(G); p.inheritClass && F[A](I.className || ""); p.inheritID && J && F.attr("id", Q + "-" + J); "static" == F.css("position") && F.css("position", "relative"); B(L, !0, j); if (x.length) { x.on("click.i mouseover.i mouseout.i touchbegin.i touchend.i", function(k) { var Y = k[S] , X = W(this); if (!I[O]) { if ("click" == Y) { if (W(k.target).is("a")) { return } B(L, !1, !0) } else { u && (/ut|nd/.test(Y) ? (F[c](m), X[c](l)) : (F[A](m), X[A](l))) } if (d) { k.stopPropagation() } else { return !1 } } }) } L.on("click.i focus.i blur.i keyup.i keydown.i keypress.i", function(k) { var X = k[S]; k = k.keyCode; if ("click" == X) { return !1 } if ("keydown" == X && 32 == k) { return I[S] == C && I[U] || (I[U] ? N(L, U) : P(L, U)), !1 } if ("keyup" == X && I[S] == C) { !I[U] && P(L, U) } else { if (/us|ur/.test(X)) { F["blur" == X ? c : A](z) } } }); H.on("click mousedown mouseup mouseover mouseout touchbegin.i touchend.i", function(k) { var Y = k[S] , X = /wn|up/.test(Y) ? E : m; if (!I[O]) { if ("click" == Y) { B(L, !1, !0) } else { if (/wn|er|in/.test(Y)) { F[A](X) } else { F[c](X + " " + E) } if (x.length && u && X == m) { x[/ut|nd/.test(Y) ? c : A](l) } } if (d) { k.stopPropagation() } else { return !1 } } }) }) } } )(window.jQuery || window.Zepto);