//先扩展一下javascript的Date类型,增加一个函数,用于返回我们想要的 yyyy-MM-dd HH:mm:ss 这种时间格式
Date.prototype.format = function (pattern) {
/*初始化返回值字符串*/
var returnValue = pattern;
/*正则式pattern类型对象定义*/
var format = {
"y+": this.getFullYear(),
"M+": this.getMonth() + 1,
"d+": this.getDate(),
"H+": this.getHours(),
"m+": this.getMinutes(),
"s+": this.getSeconds(),
"S": this.getMilliseconds(),
"h+": (this.getHours() % 12),
"a": (this.getHours() / 12) <= 1 ? "AM" : "PM"
};
/*遍历正则式pattern类型对象构建returnValue对象*/
for (var key in format) {
var regExp = new RegExp("(" + key + ")");
if (regExp.test(returnValue)) {
var zero = "";
for (var i = 0; i < RegExp.$1.length; i++) { zero += "0"; }
var replacement = RegExp.$1.length == 1 ? format[key] : (zero + format[key]).substring((("" + format[key]).length));
returnValue = returnValue.replace(RegExp.$1, replacement);
}
}
return returnValue;
};
//翻页-------------------------------------------------------------------------------
function turnPage(pageIndex) {
var strWhereVal = $("#strWhere").val()
if ($("#strWhere") == undefined || $("#strWhere") == null ||
$("#strWhere").val() == undefined || $("#strWhere").val() == null)
getDataDrawTable("", pageIndex, UrlAction);
else
getDataDrawTable(strWhereVal, pageIndex, UrlAction);
}
function homePage() {
turnPage(1);
}
function previousPage() {
turnPage(parseInt($("#PageIndex").val()) - 1);
}
function nextPage() {
turnPage(parseInt($("#PageIndex").val()) + 1);
}
function endPage() {
turnPage(parseInt($("#TotalPages").val()));
}
function getDataDrawTable(strWhere, pageIndex, actionUrl) {
$.ajax({
url: actionUrl,
data: { strWhere: strWhere, pageIndex: pageIndex },
type: "POST",
dataType: 'text',
success: function (data) {
var pageTable = eval('(' + data + ')');
drawTable(pageTable.DataTable);
MakePagination(pageTable);
},
error: function (xhr, textStatus, error) {
alert(error);
}
});
}
function ajax(url, param, successFun) {
$.ajax({
url: url,
data: JSON.stringify(param),
contentType: "application/json;charset=UTF-8",
type: "POST",
dataType: "json",
async: true,
error: function (XMLHttpRequest, textStatus, errorThrown) {
artDialog.alert('<br>url:' + this.url
+ '<br>data:' + this.data
+ '<br>textStatus:' + textStatus
+ '<br>errorThrown:' + errorThrown);
},
success: successFun,
});
}
function pagination(page) {
var TotalCount = pageTable.TotalCount;//总记录数
var PageSize = pageTable.PageSize;//每页记录数
var HasPreviousPage = pageTable.HasPreviousPage;//是否有上一页
var HasNextPage = pageTable.HasNextPage;//是否有下一页
var PageIndex = pageTable.PageIndex;//当前页
var TotalPages = pageTable.TotalPages;//总页数
$("#PageIndex").val(PageIndex);
$("#TotalPages").val(TotalPages);
var strHomePagePreviousPage = "<a href='javascript:void(0)' onclick='homePage()'>首页</a>"
+ "<a href='javascript:void(0)' onclick='previousPage()'>"
+ "<img src='../css/image/tubiao_47.png' class='list-IMG' />"
+ "</a>";
var strNextPageEndPage = "<a href='javascript:void(0)' onclick='nextPage()'>"
+ "<img src='../css/image/tubiao_50.png' class='list-IMG' />"
+ "</a>"
+ "<a href='javascript:void(0)' onclick='endPage()'>尾页</a>";
strHomePagePreviousPage = HasPreviousPage ? strHomePagePreviousPage : "";
strNextPageEndPage = HasNextPage ? strNextPageEndPage : "";
var strPagination = "<div class='list-YeMa' id='divYeMa'>"
+ "<span class='JILU'>共 " + TotalCount + " 条记录,每页 " + PageSize + " 条</span>"
+ "<div class='TiaoZhuan'>"
+ strHomePagePreviousPage
+ "<span class='currentPageSpan'>" + PageIndex + "/" + TotalPages + "页</span>"
+ strNextPageEndPage
+ "</div>"
+ "</div>";
$("#divYeMa").remove();
$("#divTabel").append($(strPagination));
}
function MakePagination(pageTable) {
var TotalCount = pageTable.TotalCount;//总记录数
var PageSize = pageTable.PageSize;//每页记录数
var HasPreviousPage = pageTable.HasPreviousPage;//是否有上一页
var HasNextPage = pageTable.HasNextPage;//是否有下一页
var PageIndex = pageTable.PageIndex;//当前页
var TotalPages = pageTable.TotalPages;//总页数
$("#PageIndex").val(PageIndex);
$("#TotalPages").val(TotalPages);
var strHomePagePreviousPage = "<a href='javascript:void(0)' onclick='homePage()'>首页</a>"
+ "<a href='javascript:void(0)' onclick='previousPage()'>"
+ "<img src='../css/image/tubiao_47.png' class='list-IMG' />"
+ "</a>";
var strNextPageEndPage = "<a href='javascript:void(0)' onclick='nextPage()'>"
+ "<img src='../css/image/tubiao_50.png' class='list-IMG' />"
+ "</a>"
+ "<a href='javascript:void(0)' onclick='endPage()'>尾页</a>";
strHomePagePreviousPage = HasPreviousPage ? strHomePagePreviousPage : "";
strNextPageEndPage = HasNextPage ? strNextPageEndPage : "";
var strPagination = "<div class='list-YeMa' id='divYeMa'>"
+ "<span class='JILU'>共 " + TotalCount + " 条记录,每页 " + PageSize + " 条</span>"
+ "<div class='TiaoZhuan'>"
+ strHomePagePreviousPage
+ "<span class='currentPageSpan'>" + PageIndex + "/" + TotalPages + "页</span>"
+ strNextPageEndPage
+ "</div>"
+ "</div>";
$("#divYeMa").remove();
$("#divTabel").append($(strPagination));
}
//utility-------------------------------------------------------------------------------
function removeAll(tableId) {//清除table已有的内容
$("#" + tableId + " tr:not(:first)").remove();
}
function GetTable_Remove(tableId) {//清除table已有的内容
$("#" + tableId + " tr:not(:first)").remove();
return $("#" + tableId);
}
function format(value) {
return value == null ? "" : value;
}
function formatDate(jsonDate) {
if (jsonDate == undefined || jsonDate == null || jsonDate == '')
return '';
var strDate = new Date(jsonDate).toISOString().replace(/T/g, ' ').replace(/\.[\d]{3}Z/, '')
//var date = new Date(jsonDate.replace(/T/g, ' '));
var date = new Date(strDate);
return date.format("yyyy-MM-dd HH:mm");
}//2017-06-16T15:51:55.093
function formatDate_yMd(jsonDate) {
if (jsonDate == undefined || jsonDate == null || jsonDate == '')
return '';
var date = new Date(parseInt(jsonDate.toString().replace("/Date(", "").replace(")/", ""), 10));
return date.format("yyyy-MM-dd");
}//2017-06-16T15:51:55.093
function formatDate2(jsonDate) {
if (jsonDate == undefined || jsonDate == null || jsonDate == '')
return '';
//var date = new Date(parseInt(jsonDate.toString().replace("/Date(", "").replace(")/", ""), 10));
var date = new Date(parseInt(jsonDate, 10));
return date.format("yyyy-MM-dd HH:mm");
}//1497542400000
function formatDate3(jsonDate) {
if (jsonDate == undefined || jsonDate == null || jsonDate == '')
return '';
var date = new Date(parseInt(jsonDate.toString().replace("/Date(", "").replace(")/", ""), 10));
return date.format("yyyy-MM-dd HH:mm");
}// /Date(1436595149269)/
//DataGrid-------------------------------------------------------------------------------
function DataGrid(name, url, param, DrawTable, ifPage) {
this.name = name;
this.url = url;
this.param = param;
if (!this.param.pageIndex)
this.param.pageIndex = 1;
if (!this.param.pageSize)
this.param.pageSize = 10;
this.DrawTable = DrawTable;
this.ifPage = ifPage;
this.list = {};
this.totalPage = 0;
}
DataGrid.prototype.load = function () {
$.ajax({
url: this.url,
data: JSON.stringify(this.param),
contentType: "application/json;charset=UTF-8",
type: "POST",
dataType: "json",
async: true,
error: function (XMLHttpRequest, textStatus, errorThrown) {
artDialog.alert('<br>url:' + this.url
+ '<br>data:' + this.data
+ '<br>textStatus:' + textStatus
+ '<br>errorThrown:' + errorThrown);
},
success: this.produceSuccessFun(),
//success: function (data) {
// this.successFun(data);
//},
});
}
DataGrid.prototype.produceSuccessFun = function () {
var dataGrid = this;
function successFun(data) {
dataGrid.list = data.rows;
var list = dataGrid.list;
var table = GetTable_Remove(dataGrid.name);
if (list == null) {
var tr = $("<tr>");
tr.append($('<td>没有查询到数据</td>'));
table.append(tr);
} else {
dataGrid.DrawTable(table, list);
if (dataGrid.ifPage) {
var total = data.total;
var pageSize = dataGrid.param.pageSize;
var pageIndex = dataGrid.param.pageIndex;
var HasPreviousPage = pageIndex > 1;//是否有上一页
var TotalPage = Math.ceil(total / pageSize);//总页数
dataGrid.totalPage = TotalPage;
var HasNextPage = pageIndex < TotalPage;//是否有下一页
var strHomePagePreviousPage = "<a href='javascript:void(0)' onclick='" + dataGrid.name + ".homePage()'>首页</a>"
+ "<a href='javascript:void(0)' onclick='" + dataGrid.name + ".previousPage()'>"
+ "<img src='../css/image/tubiao_47.png' class='list-IMG' />"
+ "</a>";
var strNextPageEndPage = "<a href='javascript:void(0)' onclick='" + dataGrid.name + ".nextPage()'>"
+ "<img src='../css/image/tubiao_50.png' class='list-IMG' />"
+ "</a>"
+ "<a href='javascript:void(0)' onclick='" + dataGrid.name + ".endPage()'>尾页</a>";
strHomePagePreviousPage = HasPreviousPage ? strHomePagePreviousPage : "";
strNextPageEndPage = HasNextPage ? strNextPageEndPage : "";
var strPagination = "<div class='list-YeMa' id='divYeMa'>"
+ "<span class='JILU'>共 " + total + " 条记录,每页 " + pageSize + " 条</span>"
+ "<div class='TiaoZhuan'>"
+ strHomePagePreviousPage
+ "<span class='currentPageSpan'>" + pageIndex + "/" + TotalPage + "页</span>"
+ strNextPageEndPage
+ "</div>"
+ "</div>";
table.nextAll().remove();
table.parent().append($(strPagination));
}
}
}
return successFun;
};
DataGrid.prototype.turnPage = function (pageIndex) {
this.param.pageIndex = pageIndex;
this.load();
}
DataGrid.prototype.homePage = function () {
this.turnPage(1);
}
DataGrid.prototype.previousPage = function () {
this.turnPage(this.param.pageIndex - 1);
}
DataGrid.prototype.nextPage = function () {
this.turnPage(this.param.pageIndex + 1);
}
DataGrid.prototype.endPage = function () {
this.turnPage(this.totalPage);
}
/*DataGrid.prototype.reload = function () {
this.turnPage(this.param.pageIndex);
}*/
//DataGridJsonParse-------------------------------------------------------------------------------
function DataGridJsonParse_Construct(name, url, DrawTable, ifPage) {
return new DataGridJsonParse(name, url, {}, DrawTable, ifPage);
}//DataGridJsonParse的构造方法
function DataGridJsonParsePage(name, url, DrawTable) {
return new DataGridJsonParse(name, url, {}, DrawTable, true);
}//DataGridJsonParse的构造方法Page
function DataGridJsonParse(name, url, param, DrawTable, ifPage) {
this.name = name;
this.url = url;
this.param = param;
if (!this.param.pageIndex)
this.param.pageIndex = 1;
if (!this.param.pageSize)
this.param.pageSize = 10;
this.DrawTable = DrawTable;
this.ifPage = ifPage;
this.list = {};
this.totalPage = 0;
}//DataGridJsonParse类
DataGridJsonParse.prototype.load = function () {
$.ajax({
url: this.url,
data: JSON.stringify(this.param),
contentType: "application/json;charset=UTF-8",
type: "POST",
dataType: "json",
async: true,
error: function (XMLHttpRequest, textStatus, errorThrown) {
artDialog.alert('<br>url:' + this.url
+ '<br>data:' + this.data
+ '<br>textStatus:' + textStatus
+ '<br>errorThrown:' + errorThrown);
},
success: this.produceSuccessFun(),
//success: function (data) {
// this.successFun(data);
//},
});
}
DataGridJsonParse.prototype.produceSuccessFun = function () {
var dataGrid = this;
function successFun(data) {
data = JSON.parse(data);
dataGrid.list = data.rows;
var list = dataGrid.list;
var table = GetTable_Remove(dataGrid.name);
if (list == null) {
var tr = $("<tr>");
tr.append($('<td>没有查询到数据</td>'));
table.append(tr);
} else {
dataGrid.DrawTable(table, list);
if (dataGrid.ifPage) {
var total = data.total;
var pageSize = dataGrid.param.pageSize;
var pageIndex = dataGrid.param.pageIndex;
var HasPreviousPage = pageIndex > 1;//是否有上一页
var TotalPage = Math.ceil(total / pageSize);//总页数
dataGrid.totalPage = TotalPage;
var HasNextPage = pageIndex < TotalPage;//是否有下一页
var strHomePagePreviousPage = "<a href='javascript:void(0)' onclick='" + dataGrid.name + ".homePage()'>首页</a>"
+ "<a href='javascript:void(0)' onclick='" + dataGrid.name + ".previousPage()'>"
+ "<img src='../css/image/tubiao_47.png' class='list-IMG' />"
+ "</a>";
var strNextPageEndPage = "<a href='javascript:void(0)' onclick='" + dataGrid.name + ".nextPage()'>"
+ "<img src='../css/image/tubiao_50.png' class='list-IMG' />"
+ "</a>"
+ "<a href='javascript:void(0)' onclick='" + dataGrid.name + ".endPage()'>尾页</a>";
strHomePagePreviousPage = HasPreviousPage ? strHomePagePreviousPage : "";
strNextPageEndPage = HasNextPage ? strNextPageEndPage : "";
var strPagination = "<div class='list-YeMa' id='divYeMa'>"
+ "<span class='JILU'>共 " + total + " 条记录,每页 " + pageSize + " 条</span>"
+ "<div class='TiaoZhuan'>"
+ strHomePagePreviousPage
+ "<span class='currentPageSpan'>" + pageIndex + "/" + TotalPage + "页</span>"
+ strNextPageEndPage
+ "</div>"
+ "</div>";
table.nextAll().remove();
table.parent().append($(strPagination));
}
}
}
return successFun;
};
DataGridJsonParse.prototype.turnPage = function (pageIndex) {
this.param.pageIndex = pageIndex;
this.load();
}
DataGridJsonParse.prototype.homePage = function () {
this.turnPage(1);
}
DataGridJsonParse.prototype.previousPage = function () {
this.turnPage(this.param.pageIndex - 1);
}
DataGridJsonParse.prototype.nextPage = function () {
this.turnPage(this.param.pageIndex + 1);
}
DataGridJsonParse.prototype.endPage = function () {
this.turnPage(this.totalPage);
}
//GetByModelId-------------------------------------------------------------------------------
function GetByModelId(ModelId, models, IdName) {
for (var i = 0; i < models.length; i++) {
if (models[i][IdName] == ModelId)
return models[i];
}
return null;
}
//工具-------------------------------------------------------------------------------
function isNotANumber(inputData) {
//isNaN(inputData)不能判断空串或一个空格
//如果是一个空串或是一个空格,而isNaN是做为数字0进行处理的,而parseInt与parseFloat是返回一个错误消息,这个isNaN检查不严密而导致的。
if (parseFloat(inputData).toString() == "NaN") {
//alert("请输入数字……");注掉,放到调用时,由调用者弹出提示。
return false;
}
else {
//(parseFloat(inputData).toString() == "NaN"),这种方法不能判断“4e”、“3f”等形式的错误,
//所以需加上isNaN
if (isNaN(inputData)) {
return false;
}
else {
if (inputData == inputData.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3')) {
//验证 小数位数 是否没有超过两位
return true;
}
else {
return false;
}
}
}
}