//先扩展一下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+).(dd).*$/, '$1$2.$3')) { //验证 小数位数 是否没有超过两位 return true; } else { return false; } } } }