You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

461 lines
13 KiB
JavaScript

2 months ago
//#region ajax初始化设置
function ajaxInit(WindowLoadModel) {
$.ajaxSetup({
type: "POST",
contentType: "application/json",
converters: { "* text": window.String, "text html": true, "text json": Sys.Serialization.JavaScriptSerializer.deserialize, "text xml": jQuery.parseXML },
dataType: "json",
data: "{}",
cache: false,
error: function (xhr, status) {
}
});
}
//#endregion
//#region 返回首页
function BackHome() {
var objwin = window.parent;
if (objwin == null) { window.location = '../Login.aspx'; }
else { objwin.location = '../Login.aspx'; }
}
function BackError() {
var objwin = window.parent;
if (objwin == null) { window.location = '../Error.aspx'; }
else { objwin.location = '../Error.aspx'; }
}
//#endregion
//#region Table平均分配未分配的列
function TableAveColWidth(id) {
var cols = $("#" + id).find("col");
var width = parseInt($("#" + id).width());
var width2 = 0;
var i = 0;
$(cols).each(function () {
var aa = $(this).attr("width");
if (aa == "" || aa=="0px") {
i++;
return true;
}
width2 += parseInt(aa.substr(0, aa.length - 2));
});
var colWidth = (width - width2) / i;
$(cols).each(function () {
var aa = $(this).attr("width");
if (aa == "" || aa=="0px") {
$(this).css("width", colWidth + "px");
}else{
$(this).css("width", aa);
}
});
}
//#endregion
//#region 换行
function ReplaceNewLine(value) {
if (value == undefined || value == null) return value;
if (typeof (value) != "string") return value;
return value.replace(/\r\n/g, "<br>").replace(/\n/g, "<br>");
}
//#endregion
//#region Base64
var Base64 = {
// private property
_keyStr: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",
// public method for encoding
encode: function (input) {
var output = "";
var chr1, chr2, chr3, enc1, enc2, enc3, enc4;
var i = 0;
input = Base64._utf8_encode(input);
while (i < input.length) {
chr1 = input.charCodeAt(i++);
chr2 = input.charCodeAt(i++);
chr3 = input.charCodeAt(i++);
enc1 = chr1 >> 2;
enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
enc4 = chr3 & 63;
if (isNaN(chr2)) {
enc3 = enc4 = 64;
} else if (isNaN(chr3)) {
enc4 = 64;
}
output = output + this._keyStr.charAt(enc1) + this._keyStr.charAt(enc2) + this._keyStr.charAt(enc3) + this._keyStr.charAt(enc4);
}
return output;
},
// public method for decoding
decode: function (input) {
var output = "";
var chr1, chr2, chr3;
var enc1, enc2, enc3, enc4;
var i = 0;
input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");
while (i < input.length) {
enc1 = this._keyStr.indexOf(input.charAt(i++));
enc2 = this._keyStr.indexOf(input.charAt(i++));
enc3 = this._keyStr.indexOf(input.charAt(i++));
enc4 = this._keyStr.indexOf(input.charAt(i++));
chr1 = (enc1 << 2) | (enc2 >> 4);
chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
chr3 = ((enc3 & 3) << 6) | enc4;
output = output + String.fromCharCode(chr1);
if (enc3 != 64) {
output = output + String.fromCharCode(chr2);
}
if (enc4 != 64) {
output = output + String.fromCharCode(chr3);
}
}
output = Base64._utf8_decode(output);
return output;
},
// private method for UTF-8 encoding
_utf8_encode: function (string) {
string = string.replace(/\r\n/g, "\n");
var utftext = "";
for (var n = 0; n < string.length; n++) {
var c = string.charCodeAt(n);
if (c < 128) {
utftext += String.fromCharCode(c);
} else if ((c > 127) && (c < 2048)) {
utftext += String.fromCharCode((c >> 6) | 192);
utftext += String.fromCharCode((c & 63) | 128);
} else {
utftext += String.fromCharCode((c >> 12) | 224);
utftext += String.fromCharCode(((c >> 6) & 63) | 128);
utftext += String.fromCharCode((c & 63) | 128);
}
}
return utftext;
},
// private method for UTF-8 decoding
_utf8_decode: function (utftext) {
var string = "";
var i = 0;
var c = c1 = c2 = 0;
while (i < utftext.length) {
c = utftext.charCodeAt(i);
if (c < 128) {
string += String.fromCharCode(c);
i++;
} else if ((c > 191) && (c < 224)) {
c2 = utftext.charCodeAt(i + 1);
string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
i += 2;
} else {
c2 = utftext.charCodeAt(i + 1);
c3 = utftext.charCodeAt(i + 2);
string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
i += 3;
}
}
return string;
}
}
//#endregion
//#region 替换网址
function replaceAll(s, s2) {
var url = "http://" + $.url.attr("host");
var port = $.url.attr("port");
if (port != "80") url += ":" + port;
return s.replace(new RegExp(url, "gm"), s2);
}
//#endregion
//#region 读取星期1-7
function GetDateWeek(InDate) {
var week = InDate.getDay();
if (week == 0) week = 7;
return week;
}
//#endregion
//#region 验证日期
function JqueryIsData(value) {
if (value == "") return true;
var a = Date.parseInvariant(value, "yyyy-MM-dd");
if (a == null) { return false; }
if (a.getFullYear() < 1900) { return false; }
return true
}
//#endregion
//#region 验证邮箱地址
function JqueryIsEmail(value) {
if (value == "") return true;
var myreg = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;
if (!myreg.test(value)) {
return false;
}
return true;
}
//#endregion
//#region 验证身份证
function JqueryIsIdentityCard(value) {
if (value == "") return true;
var myreg = /^\d{18}$|^\d{15}$|\d{17}(\d|X|x)$/;
if (!myreg.test(value)) {
return false;
}
return true;
}
//#endregion
//#region 验证邮政编码
function JqueryIsPostalcode(value) {
if (value == "") return true;
var myreg = /^\d{6}$/;
if (!myreg.test(value)) {
return false;
}
return true;
}
//#endregion
//#region 验证电话号码或手机
function JqueryIsPhone(value) {
if (value == "") return true;
var myreg = /^\d{11}$|\d{8}$|0\d{2,3}-?\d{8}$/;
if (!myreg.test(value)) {
return false;
}
return true;
}
//#endregion
//#region 检测文件是否是图片类型
function IsImage(filename) {
var extStart = filename.lastIndexOf(".") + 1;
var ext = filename.substring(extStart, filename.length).toUpperCase();
if (ext != "BMP" && ext != "PNG" && ext != "GIF" && ext != "JPG" && ext != "JPEG") {
return false;
} else {
return true;
}
}
//#endregion
//#region 检测文件是否是Excel
function IsExcel(filename) {
var extStart = filename.lastIndexOf(".") + 1;
var ext = filename.substring(extStart, filename.length).toUpperCase();
if (ext != "XLS" && ext != "XLSX") {
return false;
} else {
return true;
}
}
//#endregion
//#region 检测文件是否是Word
function IsWord(filename) {
var extStart = filename.lastIndexOf(".") + 1;
var ext = filename.substring(extStart, filename.length).toUpperCase();
if (ext != "DOC" && ext != "DOCX") {
return false;
} else {
return true;
}
}
//#endregion
//#region 检测文件是否是CSV
function IsCSV(filename) {
var extStart = filename.lastIndexOf(".") + 1;
var ext = filename.substring(extStart, filename.length).toUpperCase();
if (ext != "CSV") {
return false;
} else {
return true;
}
}
//#endregion
//#region 格式化数字
function FormatNumber(value, num) {
return parseFloat(parseFloat(value).localeFormat("n" + num)).localeFormat("d");
}
//#endregion
//#region 复制日期
function cloneDate(cDate) {
var dt = new Date();
dt.setFullYear(cDate.getFullYear());
dt.setMonth(cDate.getMonth());
dt.setDate(cDate.getDate());
dt.setHours(cDate.getHours());
dt.setMinutes(cDate.getMinutes());
dt.setSeconds(cDate.getSeconds());
dt.setMilliseconds(cDate.getMilliseconds());
return dt;
}
//#endregion
//#region 增加秒
function addSeconds(dt, num) {
var dt2 = cloneDate(dt);
dt2.setSeconds(dt2.getSeconds() + num);
return dt2;
}
//#endregion
//#region 增加分钟
function addMinutes(dt, num) {
var dt2 = cloneDate(dt);
dt2.setMinutes(dt2.getMinutes() + num);
return dt2;
}
//#endregion
//#region 增加小时
function addHours(dt, num) {
var dt2 = cloneDate(dt);
dt2.setHours(dt2.getHours() + num);
return dt2;
}
//#endregion
//#region 增加天
function addDays(dt, num) {
var dt2 = cloneDate(dt);
dt2.setDate(dt2.getDate() + num);
return dt2;
}
//#endregion
//#region 增加星期
function addWeeks(dt, num) {
var dt2 = cloneDate(dt);
dt2.addDays(num * 7);
return dt2;
}
//#endregion
//#region 增加月份
function addMonths(dt, num) {
var dt2 = cloneDate(dt);
var d = dt2.getDate();
dt2.setMonth(dt2.getMonth() + num);
if (dt2.getDate() < d) dt2.setDate(0);
return dt2;
}
//#endregion
//#region 增加年份
function addYears(dt, num) {
var m = dt.getMonth();
var dt2 = cloneDate(dt);
dt2.setFullYear(dt2.getFullYear() + num);
if (m < dt2.getMonth()) dt2.setDate(0);
return dt2;
}
//#endregion
//#region 解析返回数据
function ParseData(msg) {
var ss = msg.split("^");
var model = new Object();
$(ss).each(function () {
if (this == "" || this == null || this == undefined) return true;
var index = this.indexOf("=");
if (index == -1) return true;
var key = $.trim(this.substr(0, index));
var value = "";
if (this.length > index + 1) value = this.substr(index + 1);
value = $.trim(value);
model[key] = value;
});
return model;
}
//#endregion
//#region 左边补字符
function PadLeft(value, len, paddingChar) {
var plen = len - value.length;
if (plen <= 0) return value;
var padString = "";
for (i = 0; i < plen; i++) {
padString += paddingChar;
}
value = padString + value;
return value;
}
//#endregion
//#region 右边补字符
function PadRight(value, len, paddingChar) {
var plen = len - value.length;
if (plen <= 0) return value;
for (i = 0; i < plen; i++) {
value += paddingChar;
}
return value;
}
//#region JsonTable创建html表格
function JsonTableToHtml(tb) {
var html = new Sys.StringBuilder();
var ColIndex = 0;
html.append("<table class='DataGridTableStyle' style='width: 100%; text-align: left;'>");
if (tb.Cells.length > 0) {
$(tb.Cells).each(function (i) {
if (ColIndex == 0) {
if (this.IsHader == true) { html.append("<tr class='HeaderStyle' rowindex='" + i + "'>"); }
else { html.append("<tr class='DataGridRowStyle' rowindex='" + i + "'>"); }
}
if (this.IsHader == true) {
//创建列
html.append("<th index='" + i + "'>" + this.CellText + "</th>");
} else {
html.append("<td index='" + i + "'>" + this.CellText + "</td>");
}
if (ColIndex == tb.ColumnNumber - 1) html.append("</tr>");
ColIndex++;
if (ColIndex == tb.ColumnNumber) ColIndex = 0;
});
if (ColIndex > 0) {
for (var i = ColIndex; i < data.d.ColumnNumber; i++) {
html.append("<td index='0'></td>");
}
if (ColIndex > 0) html.append("</tr>");
}
} else {
$(tb.Rows).each(function (i) {
if (this[0].IsHader == true) { html.append("<tr class='HeaderStyle' rowindex='" + i + "'>"); }
else { html.append("<tr class='DataGridRowStyle' rowindex='" + i + "'>"); }
$(this).each(function (j) {
if (this.ColSpan > 0 || this.RowSpan > 0) {
if (this.IsHader == true) {
html.append("<th colspan='" + this.ColSpan + "' rowspan='" + this.RowSpan + "' colindex='" + j + "'>" + this.CellText + "</th>");
} else {
html.append("<td colspan='" + this.ColSpan + "' rowspan='" + this.RowSpan + "' colindex='" + j + "'>" + this.CellText + "</td>");
}
}
});
html.append("</tr>");
});
}
html.append("</table>");
return html.toString();
}
//#endregion
//#endregion