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

203 lines
6.7 KiB

//扩展jquery的格式化方法
$.fn.parseForm = function () {
var serializeObj = {};
var array = this.serializeArray();
var str = this.serialize();
$(array).each(function () {
if (serializeObj[this.name]) {
if ($.isArray(serializeObj[this.name])) {
serializeObj[this.name].push(this.value);
} else {
serializeObj[this.name] = [serializeObj[this.name], this.value];
}
} else {
serializeObj[this.name] = this.value;
}
});
return serializeObj;
};
window.alert = function (msg) {
ShowMessage(msg);
}
window.alert = function (msg, type) {
ShowMessageByType(msg, type);
}
$.fn.serializeObject = function () {
var o = {};
var a = this.serializeArray();
$.each(a, function () {
if (o[this.name]) {
if (!o[this.name].push) {
o[this.name] = [o[this.name]];
}
o[this.name].push(this.value || '');
} else {
o[this.name] = this.value || '';
}
});
return o;
};
function positionRoute(SEQ, Contect, Method, Result) {
var positionType = new Object();
positionType.SEQ = SEQ;
positionType.Contect = Contect;
positionType.Method = Method;
positionType.Result = Result;
return positionType;
}
function serializeArray() {
return this.map( function() {
// Can add propHook for "elements" to filter or add form elements
var elements = jQuery.prop( this, "elements" );
return elements ? jQuery.makeArray( elements ) : this;
} )
.filter( function() {
var type = this.type;
// Use .is(":disabled") so that fieldset[disabled] works
return this.name && !jQuery( this ).is( ":disabled" ) &&
rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) &&
( this.checked || !rcheckableType.test( type ) );
} )
.map( function( i, elem ) {
var val = jQuery( this ).val();
return val == null ?
null :
jQuery.isArray( val ) ?
jQuery.map( val, function( val ) {
return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) };
} ) :
{ name: elem.name, value: val.replace( rCRLF, "\r\n" ) };
} ).get();
}
//合并单元格
function Merger(gridName, CellName) {
//得到显示到界面的id集合
var mya = $("#" + gridName + "").getDataIDs();
//当前显示多少条
var length = mya.length;
for (var i = 0; i < length; i++) {
//从上到下获取一条信息
var before = $("#" + gridName + "").jqGrid('getRowData', mya[i]);
//定义合并行数
var rowSpanTaxCount = 1;
for (j = i + 1; j <= length; j++) {
//和上边的信息对比 如果值一样就合并行数+1 然后设置rowspan 让当前单元格隐藏
var end = $("#" + gridName + "").jqGrid('getRowData', mya[j]);
if (before[CellName] == end[CellName]) {
rowSpanTaxCount++;
$("#" + gridName + "").setCell(mya[j], CellName, '', { display: 'none' });
}
else {
rowSpanTaxCount = 1;
break;
}
$("#" + CellName + "" + mya[i] + "").attr("rowspan", rowSpanTaxCount);
}
}
}
//合并单元格//FrontCellName列未合并的行 不能合并
function MergerRows(gridName, CellName, FrontCellName) {
//得到显示到界面的id集合
var mya = $("#" + gridName + "").getDataIDs();
//当前显示多少条
var length = mya.length;
for (var i = 0; i < length; i++) {
//从上到下获取一条信息
var before = $("#" + gridName + "").jqGrid('getRowData', mya[i]);
//定义合并行数
var rowSpanTaxCount = 1;
for (j = i + 1; j <= length; j++) {
//和上边的信息对比 如果值一样就合并行数+1 然后设置rowspan 让当前单元格隐藏
var end = $("#" + gridName + "").jqGrid('getRowData', mya[j]);
if (before[CellName] == end[CellName] && before[FrontCellName] == end[FrontCellName]) {
rowSpanTaxCount++;
$("#" + gridName + "").setCell(mya[j], CellName, '', { display: 'none' });
}
else {
rowSpanTaxCount = 1;
break;
}
$("#" + CellName + "" + mya[i] + "").attr("rowspan", rowSpanTaxCount);
}
}
}
function ShowMessageByType(str, type) {
if (type == "warning") { toastr.options.timeOut = "3000"; toastr.warning(str); }
if (type == "error") { toastr.error(str); }
if (type == "success") { toastr.options.timeOut = "3000"; toastr.success(str); }
if (type == "info") { toastr.options.timeOut = "3000"; toastr.info(str); }
if (type != "warning" && type != "error" && type != "success" && type != "info") { toastr.options.timeOut = "3000"; toastr.info(str); }
}
function ShowMessage(str) {
toastr.options.timeOut = "3000";
toastr.info(str);
}
function ShowMessage_TimeOut(str, timeOut) {
toastr.options.timeOut = timeOut;
toastr.info(str);
}
//字符串前面补0
function PrefixZero(num, n) {
return (Array(n).join(0) + num).slice(-n);
}
function GetWeek(dateString) {
var da = '';
if (dateString == undefined) {
var now = new Date();
var now_m = now.getMonth() + 1;
now_m = (now_m < 10) ? '0' + now_m : now_m;
var now_d = now.getDate();
now_d = (now_d < 10) ? '0' + now_d : now_d;
da = now.getFullYear() + '-' + now_m + '-' + now_d;
} else {
da = dateString;//日期格式2015-12-30
}
var date1 = new Date(da.substring(0, 4), parseInt(da.substring(5, 7)) - 1, da.substring(8, 10));//当前日期
var date2 = new Date(da.substring(0, 4), 0, 1); //1月1号
//获取1月1号星期(以周一为第一天,0周一~6周日)
var dateWeekNum = date2.getDay() - 1;
if (dateWeekNum < 0) { dateWeekNum = 6; }
if (dateWeekNum < 4) {
//前移日期
date2.setDate(date2.getDate() - dateWeekNum);
} else {
//后移日期
date2.setDate(date2.getDate() + 7 - dateWeekNum);
}
var d = Math.round((date1.valueOf() - date2.valueOf()) / 86400000);
if (d < 0) {
var date3 = (date1.getFullYear() - 1) + "-12-31";
return getYearWeek(date3);
} else {
//得到年数周数
var year = date1.getFullYear();
var week = Math.ceil((d + 1) / 7);
return week;
}
}