Files
jshERP/erp_web/js/common/jsherp.js
2020-02-20 17:19:16 +08:00

1434 lines
56 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/*!
* 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 += "<span";
if (row.cssClass) {
str += ' class="' + row.cssClass + '"'
}
if (row.cssStyle) {
str += ' style="' + row.cssStyle + '"'
}
result.push(str + ">" + row.dictLabel + "</span>")
} 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 += '<em onclick="js.closeLoading(0, true)">×</em>';
if ($("#page-loading").length == 0) {
$("body").append('<div id="page-loading" onmouseover="$(this).find(\'em\').show()" onmouseout="$(this).find(\'em\').hide()">' + message + "</div>")
} else {
if (!(ignoreMessageIfExists == true)) {
$("#page-loading").html(message)
}
}
} else {
if (js.pageLoadingStyle == 2) {
if ($("#page-loading-top").length == 0) {
$("body").append('<div id="page-loading-top" class="page-loading-top"></div>');
$("#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("<html ") != -1 || responseText.indexOf("<head ") != -1 || responseText.indexOf("<body ") != -1) {
js.showMessage("未知错误F12查看异常信息", null, "error")
} else {
try {
var json = JSON.parse(responseText);
if (typeof json == "object" && typeof json.message != "undefined") {
js.showMessage(json.message, null, "error");
return
}
} catch (e) {}
js.showMessage(responseText, null, "error")
}
}
},
closeMessage: function() {
try {
if (top.toastr) {
top.toastr.clear()
}
} catch (e) {}
},
alert: function(message, options, closed) {
if (typeof options != "object") {
closed = options;
options = {
icon: 1
}
}
if (!js.layer) {
alert(message);
if (typeof closed == "function") {
closed()
}
return
}
js.layer.alert(message, options, function(index) {
if (typeof closed == "function") {
closed(index)
}
js.layer.close(index)
})
},
confirm: function(message, urlOrFun, data, callback, dataType, async, loadingMessage) {
if (typeof data == "function") {
loadingMessage = async;
async = dataType;
dataType = callback;
callback = data;
data = undefined
}
var sendAjax = function() {
js.loading(loadingMessage == undefined ? js.text("loading.submitMessage") : loadingMessage);
$.ajax({
type: "POST",
url: urlOrFun,
data: data,
dataType: dataType == undefined ? "json" : dataType,
async: async == undefined ? true : async,
error: function(data) {
js.showErrorMessage(data.responseText);
js.closeLoading(0, true)
},
success: function(data) {
if (typeof callback == "function") {
callback(data)
}
js.closeLoading()
}
})
};
if (!js.layer) {
if (confirm(message)) {
if (typeof urlOrFun == "function") {
urlOrFun()
} else {
sendAjax()
}
}
return
}
var options = {
icon: 3
};
js.layer.confirm(message, options, function(index) {
if (typeof urlOrFun == "function") {
urlOrFun()
} else {
sendAjax()
}
js.layer.close(index)
});
return false
},
template: function(id, data, callback) {
var tpl = String($("#" + id).html()).replace(/(\/\/\<!\-\-)|(\/\/\-\->)/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 = '<div class="' + y + '" ' + (w ? 'role="' + I[S] + '" ' : "");
x.length && w && x.each(function() {
F += 'aria-labelledby="';
this.id ? F += this.id : (this.id = M,
F += M);
F += '"'
});
F = L.wrap(F + "/>")[R]("ifCreated").parent().append(p.insert);
H = W('<ins class="' + g + '"/>').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);