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.

897 lines
45 KiB
JavaScript

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

//格式化日期的函数 yyyy:年 MM:月 dd:日 HH:小时 mm:分钟 ss:秒 DAY:星期几 算是Date的一个扩展方法
$(function () {
Date.prototype.FormateDate = function (formateStr) {
//return formateStr.replace("yyyy", this.getFullYear()).replace("MM",this.getMonth()<9?'0'+ (this.getMonth() + 1):(this.getMonth() + 1)).replace("dd", this.getDate()).replace("HH", this.getHours()<10?'0'+this.getHours():this.getHours()).replace("mm", this.getMinutes()<10?'0'+this.getMinutes():this.getMinutes()).replace("ss", this.getMilliseconds()<10?'0'+this.getMilliseconds():this.getMilliseconds()).replace('DAY', WeekCns[this.getDay()]);
return formateStr.replace("yyyy", this.getFullYear()).replace("MM", (this.getMonth() + 1)).replace("dd", this.getDate()).replace("HH",this.getHours()).replace("mm", this.getMinutes()).replace("ss", this.getMilliseconds()).replace('DAY', WeekCns[this.getDay()]);
}
var WeekCns = { 1: '一', 2: '二', 3: '三', 4: '四', 5: '五', 6: '六', 0: '日' };
})
var Common = {};
//为了IE9 不支持 new Date('2016-10-10 11:00') 不支持分和秒
Common.NewDae = function (dateStr) {
//IE9 上的NEW date
var date = '';
if ((navigator.userAgent.indexOf('MSIE') >= 0) && (navigator.userAgent.indexOf('Opera') < 0) ||
(navigator.userAgent.indexOf('Trident') >= 0)) {
var dateStrs = dateStr.split(' ');
var ymd = dateStrs[0];
var hms = dateStrs[1];
var ymdArr = ymd.split('-');
var y = ymdArr[0];
var m = ymdArr[1];
var d = ymdArr[2];
var hmsArr = hms.split(':');
var h = hmsArr.length >= 1 ? hmsArr[0] : 0;
var m = hmsArr.length >= 2 ? hmsArr[1] : 0;
var s = hmsArr.length >= 3 ? hmsArr[2] : 0;
date = new Date(y, m, d, h, m, s);
} else {
date = new Date(dateStr);
}
return date;
}
//判断是否是管理员登录
Common.IsAdministrator = function () {
if ($ != undefined && $.cookie != undefined) {//先判断是否引入了$.COOKIE
return $.cookie()["MenuGroupNames"] != undefined && $.cookie()["MenuGroupNames"].indexOf('管理员') >= 0;
} else {
return false;
}
}
Common.MaxLengthError = function () {
if ((navigator.userAgent.indexOf('MSIE') >= 0) && (navigator.userAgent.indexOf('Opera') < 0) ||
(navigator.userAgent.indexOf('Trident') >= 0)) {
$('textarea[maxlength]').bind('blur', function () {
var isCalendar = $(this).hasClass('TBcalendar');
//日期控件部做截取控制
if (isCalendar) { return; }
var mx = parseInt($(this).attr('maxlength'));
var str = $(this).val();
if (str.length > mx) {
$(this).val(str.substr(0, mx));
return false;
}
});
$('input[maxlength]').bind('blur', function () {
var isCalendar = $(this).hasClass('TBcalendar');
//日期控件部做截取控制
if (isCalendar) { return; }
var str = $(this).val();
var mx = parseInt($(this).attr('maxlength'));
if (str.length > mx) {
$(this).val(str.substr(0, mx));
return false;
}
});
}
}
//把后台返回的错误打印到控制台
Common.ConsoleLogError = function (data, methodName) {
//if (data == undefined || data == "") {
// console.log(methodName + ':');
// console.log("返回的data 为:" + data + " ,methodName:" + methodName);
//} else {
// var errorData = JSON.parse(data);
// if (errorData.Error == true) {
// console.log(methodName + ':' + errorData.ErrorMsg);
// }
//}
}
//设置用户COOKIE
Common.SetStaffCookie = function () {
var userId = Common.GetQueryString("userid");
if (userId != null && userId != undefined && userId != "") {
//如果cookie不存在STAFFID 或者STAFFID与传过来的STAFFID不一致就写COOKIE没有就是新增有就是覆盖
if ($.cookie("StaffID") != undefined && $.cookie("StaffID") == userId) {
return;
}
//通过USERID请求USER相关数据写COOKIE
$.ajax({
type: "post",
async: true,
url: "../../Ashx/CCD/OnDutyHandler.ashx?method=GetStaffById&userId=" + userId + "&u=" + Math.random(),
dataType: 'html',
success: function (data) {
var userCookie = JSON.parse(data);
for (var cookie in userCookie) {
$.cookie(cookie,
userCookie[cookie]);
}
},
error: function (http, error) {
//$("body").html(http.responseText);
//console.log(http.responseText);
}
});
}
//如果没有使用框架传过来STAFFID又没有登录的COOKIE就调转到登录页面
else if ($.cookie("StaffID") == undefined) {
window.location.href = "/PortalLogin.aspx";
}
}
//通过参数名称获取参数值 url=reportDetail.html?reportId=12 时 name=reportId 即可取出来值12
Common.GetQueryString = function (name) {
var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)');
var r = window.location.search.substr(1).match(reg);
if (r != null) return (r[2]);
}
/*
不用 --先保留下 2016-06-02
自定义分页插件
默认值如下:
PageSize: 10,
PageIndex: 1,
PageCount: 1,
DivId: 'listDiv',
countUrl: '',
countParam: {},
listUrl: '',
listParam:{},
RenderOverFun: undefined, 表格渲染完执行
IsShowAll: false,
LocalData: null,
IsUseLocalData: false
DataEmptyRender:数据为空时的处理函数
*/
Common.CustomPagePlug1 = function (operation) {
var PageData = function (operation) {
//数据分页
//未设置参数使用默认参数 对设置的进行配置
for (var property in operation) {
PageData.InitData[property] = operation[property];
}
PageData.SetDataToDivData($('#' + PageData.InitData.DivId), PageData.InitData);
if (PageData.InitData.IsShowAll) {
PageData.InitPlanList(operation.DivId);
}
else {
PageData.InitPlan(PageData.InitData.DivId);
}
};
PageData.DateFromMSJsonString = function (value) {
var d = eval('new ' + (value.replace(/\//g, '')));
var result = d.getFullYear() + '-' + (d.getMonth() + 1) + '-' + d.getDate() + ' ' + d.getHours() + ':' + d.getMinutes() + ':' + d.getSeconds();
return result;
};
PageData.InitData = {
PageSize: 10, PageIndex: 1, PageCount: 1, DivId: 'listDiv', countUrl: '', listUrl: '', RenderOverFun: undefined, IsShowAll: false, LocalData: null, IsUseLocalData: false, DataEmptyRender: function () {
var html = "";
// html += "<tr style='text-align: center;'>";
// html += "<td>";
// html += '没有查询记录';
// html += "</td>";
// html += "</tr>";
$("#" + PageData.InitData.DivId + ' table tbody').html(html);
$("#" + PageData.InitData.DivId + " .loadDate").css("display", "none");
}
};
//Load
PageData.Load = function (obj) {
PageData.InitData = obj;
}
//页面跳转
PageData.ToPage = function (val) {
if (val.target == undefined || typeof (val.target) == "function") {
return;
}
val = val.target;
if (val.nodeName == "I") {//类似冒泡的错误
val = val.parentNode;
}
//初始化
PageData.Load($(val.parentElement.parentElement).data());//GoToPage
switch (val.title) {
case "下一页":
if (PageData.InitData.PageIndex == PageData.InitData.pageCount) {
alert("没有下一页,请重新选择。");
return;
}
else {
PageData.InitData.PageIndex++;
}
$("#" + PageData.InitData.DivId + " .pagination-panel input").val(PageData.InitData.PageIndex);
break;
case "上一页":
if (PageData.InitData.PageIndex == 1) {
alert("没有上一页,请重新选择。");
return;
}
else {
PageData.InitData.PageIndex--;
}
$("#" + PageData.InitData.DivId + " .pagination-panel input").val(PageData.InitData.PageIndex);
break;
case "转到":
var value = $("#" + PageData.InitData.DivId + " .pagination-panel input").val();
var currentPageIndex = 0;
if (isNaN(parseInt(value))) {
alert("请输入数字。");
$('#' + PageData.InitData.DivId + " .pagination-panel input").val(PageData.InitData.PageIndex);
return;
}
currentPageIndex = parseInt(value);
if (currentPageIndex > PageData.InitData.PageCount) {
alert("输入的页码数大于总页数。");
$('#' + PageData.InitData.DivId + " .pagination-panel input").val(PageData.InitData.PageIndex);
return;
}
else if (currentPageIndex < 1) {
alert("请输入大于0的整数。");
$('#' + PageData.InitData.DivId + " .pagination-panel input").val(PageData.InitData.PageIndex);
return;
}
PageData.InitData.PageIndex = currentPageIndex;
break;
}
$("#" + PageData.InitData.DivId + " .loadDate").css("display", "block");
if (PageData.InitData.PageIndex == 1) {
$("#" + PageData.InitData.DivId + " .pagination-panel button[title=上一页]").addClass("disabled");
$("#" + PageData.InitData.DivId + " .pagination-panel button[title=上一页]").attr("disabled", "disabled");
} else if (PageData.InitData.PageIndex == PageData.InitData.PageCount) {
$("#" + PageData.InitData.DivId + " .pagination-panel button[title=下一页]").addClass("disabled");
$("#" + PageData.InitData.DivId + " .pagination-panel button[title=下一页]").attr("disabled", "disabled");
}
if (PageData.InitData.PageIndex != 1) {
$("#" + PageData.InitData.DivId + " .pagination-panel button[title=上一页]").removeClass("disabled");
$("#" + PageData.InitData.DivId + " .pagination-panel button[title=上一页]").removeAttr("disabled", "disabled");
}
if (PageData.InitData.PageIndex != PageData.InitData.PageCount) {
$("#" + PageData.InitData.DivId + " .pagination-panel button[title=下一页]").removeClass("disabled");
$("#" + PageData.InitData.DivId + " .pagination-panel button[title=下一页]").removeAttr("disabled", "disabled");
}
PageData.InitPlanList(PageData.InitData.DivId);
};
PageData.CountButton = function () {
$("#" + PageData.InitData.DivId + " .pagination-panel .pagination-panel-total").html(PageData.InitData.PageCount);
$("#" + PageData.InitData.DivId + " .pagination-panel input").val(PageData.InitData.PageIndex);
//刷新分页控件
if (PageData.InitData.PageCount > 1) {
$("#" + PageData.InitData.DivId + " .pagination-panel button[title=下一页]").removeClass('disabled');
$("#" + PageData.InitData.DivId + " .pagination-panel button[title=上一页]").removeClass('disabled');
$("#" + PageData.InitData.DivId + " .pagination-panel button[title=转到]").removeClass('disabled');
$("#" + PageData.InitData.DivId + " .pagination-panel input").removeAttr("disabled", "disabled");
$("#" + PageData.InitData.DivId + " .pagination-panel button[title=下一页]").removeAttr("disabled", "disabled");
$("#" + PageData.InitData.DivId + " .pagination-panel button[title=上一页]").removeAttr("disabled", "disabled");
$("#" + PageData.InitData.DivId + " .pagination-panel button[title=转到]").removeAttr("disabled", "disabled");
}
else {
$("#" + PageData.InitData.DivId + " .pagination-panel button[title=下一页]").addClass('disabled');
$("#" + PageData.InitData.DivId + " .pagination-panel button[title=上一页]").addClass('disabled');
$("#" + PageData.InitData.DivId + " .pagination-panel button[title=转到]").addClass('disabled');
$("#" + PageData.InitData.DivId + " .pagination-panel input").addClass('disabled');
$("#" + PageData.InitData.DivId + " .pagination-panel button[title=下一页]").attr("disabled", "disabled");
$("#" + PageData.InitData.DivId + " .pagination-panel button[title=上一页]").attr("disabled", "disabled");
$("#" + PageData.InitData.DivId + " .pagination-panel button[title=转到]").attr("disabled", "disabled");
$("#" + PageData.InitData.DivId + " .pagination-panel input").attr("disabled", "disabled");
}
};
PageData.InitPlanList = function (DivId) {
var initList = function (data) {
//初始化
PageData.Load($('#' + DivId).data());
Common.ConsoleLogError(data, PageData.InitData.IsShowAll ? PageData.InitData.listUrl : PageData.InitData.listUrl + "&pageIndex=" + PageData.InitData.PageIndex + "&pageSize=" + PageData.InitData.PageSize + "&u=" + Math.random());
if (data == "" || data==undefined) {
if (PageData.InitData.DataEmptyRender != null && typeof (PageData.InitData.DataEmptyRender) == "function") {
PageData.InitData.DataEmptyRender();
}
return;
}
var obj = JSON.parse(data);
var html = "";
$.each(obj, function (k, obje) {
html += "<tr>";
if (obje) {
var headers = $("#" + PageData.InitData.DivId + " table thead tr th");
for (var i = 0; i < headers.length; i++) {
if ($(headers[i]).data != undefined && $(headers[i]).data().colname != undefined && obje[$(headers[i]).data().colname] != undefined) {
if ($(headers[i]).data().coltype != undefined && $(headers[i]).data().coltype == "date") {//类型是日期的TD
html += "<td>" + PageData.DateFromMSJsonString(obje[$(headers[i]).data().colname]) + "</td>"
}
else if ($(headers[i]).data().opeation != undefined) {//存在操作按钮的TD
//添加字符截取功能
if ($(headers[i]).data().charlength != undefined) {
var charlength = $(headers[i]).data().charlength;
html += "<td title='" + obje[$(headers[i]).data().colname] + "'> <a onclick=" + $(headers[i]).data().opeation + ">" + (obje[$(headers[i]).data().colname].length <= charlength ? obje[$(headers[i]).data().colname] : (obje[$(headers[i]).data().colname].substr(0, charlength)) + "...") + "</a></td>"
} else {
html += "<td> <a onclick=" + $(headers[i]).data().opeation + ">" + obje[$(headers[i]).data().colname] + "</a></td>"
}
}
//是否把TITLE放上去
else if ($(headers[i]).data().title != undefined) {
if ($(headers[i]).data().title != undefined) {
var title = $(headers[i]).data().title;
if (title == "true" || title) {
html += "<td title='" + obje[$(headers[i]).data().colname] + "'>" + obje[$(headers[i]).data().colname] + "</td>"
}
else {
html += "<td>" + obje[$(headers[i]).data().colname] + "</td>"
}
}
}
else if ($(headers[i]).data().visiable != undefined) {
html += "<td style='display:none;'>" + obje[$(headers[i]).data().colname] + "</td>"
}
else {//添加字符截取功能 没有类型的TD
if ($(headers[i]).data().charlength != undefined) {
var charlength = $(headers[i]).data().charlength;
html += "<td title='" + obje[$(headers[i]).data().colname] + "'>" + (obje[$(headers[i]).data().colname].length <= charlength ? obje[$(headers[i]).data().colname] : (obje[$(headers[i]).data().colname].substr(0, charlength) + "...")) + "</td>"
} else {
html += "<td>" + obje[$(headers[i]).data().colname] + "</td>";
}
}
}
else if ($(headers[i]).data().coltype != undefined && $(headers[i]).data().coltype == "SN") {//序号 序号的类型是SN colname列名称为空
html += "<td>" + (parseInt(k) + 1 + parseInt(PageData.InitData.PageSize) * (parseInt(PageData.InitData.PageIndex) - 1)) + "</td>";
}
else if ($(headers[i]).data().coltype != undefined && $(headers[i]).data().coltype == "Operation") {//序号 序号的类型是SN colname列名称为空){
html += ('<td><a style="text-decoration:underline;" href="#" onclick="updateReport(this)" class="btn btn-link btn_det">编辑</a>' + '<a href="#" style="text-decoration:underline;" onclick="delReport(this)" class="btn btn-link btn_det">删除</a></td>');
html += "</tr>";
}
//自定义内容
else if ($(headers[i]).data().custom != undefined && $(headers[i]).data().customcontent != undefined) {
var tmp = '';
var customCount = parseInt($(headers[i]).data().customcontent);
for (var j = 1; j <= customCount; j++) {
//标签; 属性;VALUE
var tmpC = $(headers[i]).data()["customcontent" + j];
tmpC = tmpC.split('@');
tmp += '<' + tmpC[0] + ' ' + tmpC[1] + '>' + tmpC[2] + '</' + tmpC[0] + '>';
}
html += ('<td>' + tmp + '</td>');
}
else {
html += "<td>" + "" + "</td>"
}
}
}
});
$("#" + PageData.InitData.DivId + ' table tbody').html(html);
$("#" + PageData.InitData.DivId + " .loadDate").css("display", "none");
//改变一下父窗体中IFRAME的高度
//当列表被嵌在id=dayReporFrame的IFRAME里时初始完页面后对父页面中的IFRAME设置高度
/*if (parent.document.getElementById('dayReporFrame') != null) {
var bodyHeight = $('body').height() + 30;
$(parent.document.getElementById('dayReporFrame')).height(bodyHeight);
}*/
//绑定完成的回调函数
if (PageData.InitData.RenderOverFun != null && typeof (PageData.InitData.RenderOverFun) == 'function') {
PageData.InitData.RenderOverFun();
}
}
if (PageData.InitData.IsUseLocalData) {
initList(PageData.InitData.LocalData);
}
else {
$.ajax({
type: "post",
async: true,
url: PageData.InitData.IsShowAll ? PageData.InitData.listUrl : PageData.InitData.listUrl + "&pageIndex=" + PageData.InitData.PageIndex + "&pageSize=" + PageData.InitData.PageSize + "&u=" + Math.random(),
dataType: 'html',
success: function (data) {
initList(data);
},
error: function (http, error) {
$("body").html(http.responseText);
}
});
}
};
PageData.InitPlan = function (DivId) {
$.ajax({
type: "post",
async: true,
url: PageData.InitData.countUrl + "&u=" + Math.random(),
dataType: 'html',
success: function (Counts) {
Common.ConsoleLogError(Counts, PageData.InitData.countUrl + "&u=" + Math.random());
//初始化
PageData.Load($('#' + DivId).data());
//计算页数
if (parseInt(Counts / PageData.InitData.PageSize) < Counts / PageData.InitData.PageSize) {
PageData.InitData.PageCount = parseInt(Counts / PageData.InitData.PageSize) + 1;
}
else if (parseInt(Counts / PageData.InitData.PageSize) == Counts / PageData.InitData.PageSize) {
PageData.InitData.PageCount = parseInt(Counts / PageData.InitData.PageSize);
}
PageData.CountButton();
if (PageData.InitData.PageCount > 0) {
PageData.InitPlanList(PageData.InitData.DivId);
}
else {
if (PageData.InitData.DataEmptyRender != null && typeof (PageData.InitData.DataEmptyRender) == "function") {
PageData.InitData.DataEmptyRender();
}
}
//初始化表格数据 默认第一页
$("#" + PageData.InitData.DivId + " .pagination-panel button[title=上一页]").addClass('disabled');
$("#" + PageData.InitData.DivId + " .pagination-panel button[title=上一页]").attr("disabled", "disabled");
//上一页,下一页,转到按钮的事件绑定
$("#" + PageData.InitData.DivId + " .pagination-panel button[title=上一页]").bind('click', PageData.ToPage);
$("#" + PageData.InitData.DivId + " .pagination-panel button[title=下一页]").bind('click', PageData.ToPage);
$("#" + PageData.InitData.DivId + " .pagination-panel button[title=转到]").bind('click', PageData.ToPage);
$("#" + PageData.InitData.DivId + " .pagination-panel label select").bind('change', PageData.UpdatePageSize);
},
error: function (http, error) {
$("body").html(http.responseText);
}
});
};
//更新PAGESIZE
PageData.UpdatePageSize = function (val) {
//初始化
val = val.target;
PageData.Load($(val.parentElement.parentElement.parentElement).data());
var selectValue = val.value;
//改变PAGESIZE时全部跳到第一页
if (selectValue != -1) {
PageData.InitData.PageIndex = 1;
PageData.InitData.PageSize = selectValue;
} else {
PageData.InitData.PageIndex = 1;
PageData.InitData.PageSize = parseInt(PageData.InitData.PageCount) * parseInt(PageData.InitData.PageSize);
}
$(PageData.InitData.DivId).data.PageSize = PageData.InitData.PageSize;
PageData.InitPlan(PageData.InitData.DivId);
};
//将dataObj的每个属性依次赋值给divObj的data() 上 divObj是HTML元素即可
PageData.SetDataToDivData = function (divObj, dataObj) {
for (var property in dataObj) {
divObj.data()[property] = dataObj[property];
}
}
return new PageData(operation);
}
/*自定义分页插件
默认值如下:
PageSize: 10,//为-1时或者界面选中的SELECT 值为-1时第一次显示全部
PageIndex: 1,
PageCount: 1,
DivId: 'listDiv',
countUrl: '', //获取COUNT值得URL
listUrl: '', //获取列表的URL
RenderOverFun: undefined, 表格渲染完时执行的函数
IsShowAll: false, //也是是否显示全部 这个为TRUE时分页条不好使 ...(不要分页条的时候用)
LocalData: null, // 和IsUseLocalData一起使用 使用时 不分页
IsUseLocalData: false
DataEmptyRender:数据为空时的处理函数
*/
Common.CustomPagePlug = function (operation) {
var PageData = function (operation) {
var _this = this;
this.InitData = {
PageSize: 10,
PageIndex: 1,
PageCount: 1,
DivId: 'listDiv',
countUrl: '',
countParam: {},
listUrl: '',
listParam:{},
////渲染完TABLE执行的函数的参数
RenderOverParam: {},
//渲染完TABLE执行的函数
RenderOverFun: undefined,
IsShowAll: false,
LocalData: null,
IsUseLocalData: false,
DataEmptyRender: function (obj) {
var html = "";
html += "<tr style='text-align: center;'>";
var ths = $("#" + obj.InitData.DivId + " table thead tr th");
var colSpan = ths.length;
for (var i = 0; i < ths.length; i++) {
if ($(ths[i]).css('display') == "none") {
colSpan -= 1;
}
}
html += "<td colspan='" + colSpan + "'>";
//console.log(colSpan)
// html += '没有查询记录';
html += "</td>";
html += "</tr>";
$("#" + obj.InitData.DivId + ' table tbody').html(html);
$("#" + obj.InitData.DivId + " .loadDate").css("display", "none");
}
};
//数据分页
//未设置参数使用默认参数 对设置的进行配置
for (var property in operation) {
_this.InitData[property] = operation[property];
}
_this.SetDataToDivData($('#' + _this.InitData.DivId), _this.InitData);
if (_this.InitData.IsShowAll) {
_this.InitPlanList(operation.DivId);
}
else {
_this.InitPlan(_this.InitData.DivId);
}
};
PageData.prototype.DateFromMSJsonString = function (value) {
var d = eval('new ' + (value.replace(/\//g, '')));
var result = d.getFullYear() + '-' + (d.getMonth() + 1) + '-' + d.getDate() + ' ' + d.getHours() + ':' + d.getMinutes() + ':' + d.getSeconds();
return result;
};
//Load
PageData.prototype.Load = function (obj) {
this.InitData = obj;
}
//页面跳转
PageData.prototype.ToPage = function (val) {
var _this = val.data.thisPage;
if (val.target == undefined || typeof (val.target) == "function") {
return;
}
val = val.target;
//console.log(val.nodeName+"a");
if (val.nodeName == "I") {//类似冒泡的错误
val = val.parentNode;
//return;
}
//初始化
_this.Load($(val.parentElement.parentElement).data());//GoToPage
var value = $("#" + _this.InitData.DivId + " .pagination-panel input").val();
var currentPageIndex = 0;
if (isNaN(parseInt(value))) {
alert("请输入数字。");
$('#' + _this.InitData.DivId + " .pagination-panel input").val(_this.InitData.PageIndex);
return;
}
currentPageIndex = parseInt(value);
switch (val.title) {
case "下一页":
//if (_this.InitData.PageIndex == _this.InitData.pageCount || currentPageIndex == _this.InitData.pageCount) {
if (currentPageIndex == _this.InitData.PageCount) {
alert("没有下一页,请重新选择。");
return;
}
else {
//_this.InitData.PageIndex++;
currentPageIndex++;
_this.InitData.PageIndex = currentPageIndex;
}
$("#" + _this.InitData.DivId + " .pagination-panel input").val(_this.InitData.PageIndex);
break;
case "上一页":
//if (_this.InitData.PageIndex == 1 || currentPageIndex == 1) {
if (currentPageIndex == 1) {
alert("没有上一页,请重新选择。");
return;
}
else {
//_this.InitData.PageIndex--;
currentPageIndex--;
_this.InitData.PageIndex = currentPageIndex;
}
$("#" + _this.InitData.DivId + " .pagination-panel input").val(_this.InitData.PageIndex);
break;
case "转到":
if (currentPageIndex > _this.InitData.PageCount) {
alert("输入的页码数大于总页数。");
$('#' + _this.InitData.DivId + " .pagination-panel input").val(_this.InitData.PageIndex);
return;
}
else if (currentPageIndex < 1) {
alert("请输入大于0的整数。");
$('#' + _this.InitData.DivId + " .pagination-panel input").val(_this.InitData.PageIndex);
return;
}
_this.InitData.PageIndex = currentPageIndex;
break;
}
$("#" + _this.InitData.DivId + " .loadDate").css("display", "block");
if (_this.InitData.PageIndex == 1) {
$("#" + _this.InitData.DivId + " .pagination-panel button[title=上一页]").addClass("disabled");
$("#" + _this.InitData.DivId + " .pagination-panel button[title=上一页]").attr("disabled", "disabled");
} else if (_this.InitData.PageIndex == _this.InitData.PageCount) {
$("#" + _this.InitData.DivId + " .pagination-panel button[title=下一页]").addClass("disabled");
$("#" + _this.InitData.DivId + " .pagination-panel button[title=下一页]").attr("disabled", "disabled");
}
if (_this.InitData.PageIndex != 1) {
$("#" + _this.InitData.DivId + " .pagination-panel button[title=上一页]").removeClass("disabled");
$("#" + _this.InitData.DivId + " .pagination-panel button[title=上一页]").removeAttr("disabled", "disabled");
}
if (_this.InitData.PageIndex != _this.InitData.PageCount) {
$("#" + _this.InitData.DivId + " .pagination-panel button[title=下一页]").removeClass("disabled");
$("#" + _this.InitData.DivId + " .pagination-panel button[title=下一页]").removeAttr("disabled", "disabled");
}
_this.InitPlanList(_this.InitData.DivId);
};
PageData.prototype.CountButton = function () {
var _this = this;
$("#" + _this.InitData.DivId + " .pagination-panel .pagination-panel-total").html(_this.InitData.PageCount);
$("#" + _this.InitData.DivId + " .pagination-panel input").val(_this.InitData.PageIndex);
//刷新分页控件
if (_this.InitData.PageCount > 1) {
$("#" + _this.InitData.DivId + " .pagination-panel button[title=下一页]").removeClass('disabled');
$("#" + _this.InitData.DivId + " .pagination-panel button[title=上一页]").removeClass('disabled');
$("#" + _this.InitData.DivId + " .pagination-panel button[title=转到]").removeClass('disabled');
$("#" + _this.InitData.DivId + " .pagination-panel input").removeAttr("disabled", "disabled");
$("#" + _this.InitData.DivId + " .pagination-panel button[title=下一页]").removeAttr("disabled", "disabled");
$("#" + _this.InitData.DivId + " .pagination-panel button[title=上一页]").removeAttr("disabled", "disabled");
$("#" + _this.InitData.DivId + " .pagination-panel button[title=转到]").removeAttr("disabled", "disabled");
}
else {
$("#" + _this.InitData.DivId + " .pagination-panel button[title=下一页]").addClass('disabled');
$("#" + _this.InitData.DivId + " .pagination-panel button[title=上一页]").addClass('disabled');
$("#" + _this.InitData.DivId + " .pagination-panel button[title=转到]").addClass('disabled');
$("#" + _this.InitData.DivId + " .pagination-panel input").addClass('disabled');
$("#" + _this.InitData.DivId + " .pagination-panel button[title=下一页]").attr("disabled", "disabled");
$("#" + _this.InitData.DivId + " .pagination-panel button[title=上一页]").attr("disabled", "disabled");
$("#" + _this.InitData.DivId + " .pagination-panel button[title=转到]").attr("disabled", "disabled");
$("#" + _this.InitData.DivId + " .pagination-panel input").attr("disabled", "disabled");
}
};
PageData.prototype.InitPlanList = function (DivId) {
var _this = this;
var initList = function (data) {
//初始化
_this.Load($('#' + DivId).data());
Common.ConsoleLogError(data, _this.InitData.IsShowAll ? _this.InitData.listUrl : _this.InitData.listUrl + "&pageIndex=" + _this.InitData.PageIndex + "&pageSize=" + _this.InitData.PageSize + "&u=" + Math.random());
var obj = JSON.parse(data).DTObjs;
var html = "";
$.each(obj, function (k, obje) {
if (DivId == "sample_3Div" && window.document.URL.indexOf("portal.aspx") > 0) {
html += "<tr onclick='showUnReadMessages(this," + obje.MsgCategoryID + "," + obje.MsgID + ")'>";
} else {
html += "<tr>";
}
if (obje) {
//把OBJE的值过一遍 replace 掉: json 转的时候转化了这些值,转化回来
for (var ele in obje) {
obje[ele] = obje[ele];
}
var headers = $("#" + _this.InitData.DivId + " table thead tr th");
for (var i = 0; i < headers.length; i++) {
if ($(headers[i]).data != undefined && $(headers[i]).data().colname != undefined && obje[$(headers[i]).data().colname] != undefined) {
if ($(headers[i]).data().coltype != undefined && $(headers[i]).data().coltype == "date") {//类型是日期的TD
html += "<td>" + _this.DateFromMSJsonString(obje[$(headers[i]).data().colname]) + "</td>"
}
else if ($(headers[i]).data().opeation != undefined) {//存在操作按钮的TD
//添加字符截取功能
if ($(headers[i]).data().charlength != undefined) {
var charlength = $(headers[i]).data().charlength;
html += "<td title='" + obje[$(headers[i]).data().colname] + "'> <a onclick=" + $(headers[i]).data().opeation + ">" + (obje[$(headers[i]).data().colname].length <= charlength ? obje[$(headers[i]).data().colname] : (obje[$(headers[i]).data().colname].substr(0, charlength)) + "...") + "</a></td>"
} else {
html += "<td> <a onclick=" + $(headers[i]).data().opeation + ">" + obje[$(headers[i]).data().colname] + "</a></td>"
}
}
//是否把TITLE放上去
else if ($(headers[i]).data().title != undefined) {
if ($(headers[i]).data().title != undefined) {
var title = $(headers[i]).data().title;
if (title == "true" || title) {
html += "<td title='" + obje[$(headers[i]).data().colname] + "'>" + obje[$(headers[i]).data().colname] + "</td>"
}
else {
html += "<td>" + obje[$(headers[i]).data().colname] + "</td>"
}
}
}
else if ($(headers[i]).data().visiable != undefined) {
html += "<td style='display:none;'>" + obje[$(headers[i]).data().colname] + "</td>"
}
else {//添加字符截取功能 没有类型的TD
if ($(headers[i]).data().charlength != undefined) {
var charlength = $(headers[i]).data().charlength;
html += "<td title='" + obje[$(headers[i]).data().colname] + "'>" + (obje[$(headers[i]).data().colname].length <= charlength ? obje[$(headers[i]).data().colname] : (obje[$(headers[i]).data().colname].substr(0, charlength) + "...")) + "</td>"
} else {
html += "<td>" + obje[$(headers[i]).data().colname] + "</td>";
}
}
}
else if ($(headers[i]).data().coltype != undefined && $(headers[i]).data().coltype == "SN") {//序号 序号的类型是SN colname列名称为空
html += "<td>" + (parseInt(k) + 1 + parseInt(_this.InitData.PageSize) * (parseInt(_this.InitData.PageIndex) - 1)) + "</td>";
}
else if ($(headers[i]).data().coltype != undefined && $(headers[i]).data().coltype == "Operation") {//序号 序号的类型是SN colname列名称为空){
html += ('<td><a style="text-decoration:underline;" href="#" onclick="updateReport(this)" class="btn btn-link btn_det">编辑</a>' + '<a href="#" style="text-decoration:underline;" onclick="delReport(this)" class="btn btn-link btn_det">删除</a></td>');
html += "</tr>";
}
//自定义内容
else if ($(headers[i]).data().custom != undefined && $(headers[i]).data().customcontent != undefined) {
var tmp = '';
var customCount = parseInt($(headers[i]).data().customcontent);
for (var j = 1; j <= customCount; j++) {
//标签; 属性;VALUE
var tmpC = $(headers[i]).data()["customcontent" + j];
tmpC = tmpC.split('@');
tmp += '<' + tmpC[0] + ' ' + tmpC[1] + '>' + tmpC[2] + '</' + tmpC[0] + '>';
}
html += ('<td>' + tmp + '</td>');
}
else {
html += "<td>" + "" + "</td>"
}
}
}
});
if (obj == "") {
if (_this.InitData.DataEmptyRender != null && typeof (_this.InitData.DataEmptyRender) == "function") {
_this.InitData.DataEmptyRender(_this);
}
} else {
$("#" + _this.InitData.DivId + ' table tbody').html(html);
$("#" + _this.InitData.DivId + " .loadDate").css("display", "none");
}
//把TR的 DATA-DATA设置为该行的对象值
var trData = $("#" + _this.InitData.DivId + " table thead tr");
if (trData != undefined && trData.data != undefined && trData.data() != undefined && trData.data().data != undefined && trData.data().data == true) {
$.each(obj, function (i, obje) {
$($('#' + _this.InitData.DivId + ' table tbody tr')[i]).data().data = obje;
});
}
//改变一下父窗体中IFRAME的高度
//当列表被嵌在id=dayReporFrame的IFRAME里时初始完页面后对父页面中的IFRAME设置高度
/*if (parent.document.getElementById('dayReporFrame') != null) {
var bodyHeight = $('body').height() + 30;
$(parent.document.getElementById('dayReporFrame')).height(bodyHeight);
}*/
//绑定完成的回调函数
if (_this.InitData.RenderOverFun != null && typeof (_this.InitData.RenderOverFun) == 'function') {
_this.InitData.RenderOverFun(_this.InitData.RenderOverParam);
}
}
if (_this.InitData.IsUseLocalData) {
initList(_this.InitData.LocalData);
}
else {
$.ajax({
type: "post",
async: true,
url: _this.InitData.IsShowAll ? _this.InitData.listUrl : _this.InitData.listUrl + "&pageIndex=" + _this.InitData.PageIndex + "&pageSize=" + _this.InitData.PageSize + "&u=" + Math.random(),
dataType: 'html',
success: function (data) {
initList(data);
},
error: function (http, error) {
$("body").html(http.responseText);
}
});
}
};
PageData.prototype.InitPlan = function (DivId) {
var _this = this;
$.ajax({
type: "post",
async: true,
url: _this.InitData.countUrl + "&u=" + Math.random(),
dataType: 'html',
success: function (Counts) {
Counts = JSON.parse(Counts).DTCout[0].Count;
//如果是ALL就把PAGESIZE设成PAGECOUNT+1 为了解决首次加载默认显示全部
if ($('#' + DivId + ' .pagination-panel label select').val() == '-1' || _this.InitData.PageSize==-1) {
_this.InitData.PageSize = Counts + 1;
}
//初始化
_this.Load($('#' + DivId).data());
//计算页数
if (parseInt(Counts / _this.InitData.PageSize) < Counts / _this.InitData.PageSize) {
_this.InitData.PageCount = parseInt(Counts / _this.InitData.PageSize) + 1;
}
else if (parseInt(Counts / _this.InitData.PageSize) == Counts / _this.InitData.PageSize) {
_this.InitData.PageCount = parseInt(Counts / _this.InitData.PageSize);
}
_this.CountButton();
if (_this.InitData.PageCount > 0) {
_this.InitPlanList(_this.InitData.DivId);
}
else {
if (_this.InitData.DataEmptyRender != null && typeof (_this.InitData.DataEmptyRender) == "function") {
_this.InitData.DataEmptyRender(_this);
}
}
//初始化表格数据 默认第一页
$("#" + _this.InitData.DivId + " .pagination-panel button[title=上一页]").addClass('disabled');
$("#" + _this.InitData.DivId + " .pagination-panel button[title=上一页]").attr("disabled", "disabled");
//上一页,下一页,转到按钮的事件绑定
$("#" + _this.InitData.DivId + " .pagination-panel button[title=上一页]").unbind('click');
$("#" + _this.InitData.DivId + " .pagination-panel button[title=上一页]").bind('click', { thisPage: _this }, _this.ToPage);
$("#" + _this.InitData.DivId + " .pagination-panel button[title=下一页]").unbind('click');
$("#" + _this.InitData.DivId + " .pagination-panel button[title=下一页]").bind('click', { thisPage: _this }, _this.ToPage);
$("#" + _this.InitData.DivId + " .pagination-panel button[title=转到]").unbind('click');
$("#" + _this.InitData.DivId + " .pagination-panel button[title=转到]").bind('click', { thisPage: _this }, _this.ToPage);
//绑定页数的选择
$("#" + _this.InitData.DivId + " .pagination-panel label select").unbind('change');
$("#" + _this.InitData.DivId + " .pagination-panel label select").bind('change', { thisPage: _this }, _this.UpdatePageSize);
},
error: function (http, error) {
$("body").html(http.responseText);
}
});
};
//更新PAGESIZE
PageData.prototype.UpdatePageSize = function (val) {
var _this = val.data.thisPage;
//初始化
val = val.target;
_this.Load($(val.parentElement.parentElement.parentElement).data());
var selectValue = val.value;
//改变PAGESIZE时全部跳到第一页
if (selectValue != -1) {
_this.InitData.PageIndex = 1;
_this.InitData.PageSize = selectValue;
} else {
_this.InitData.PageIndex = 1;
_this.InitData.PageSize = parseInt(_this.InitData.PageCount) * parseInt(_this.InitData.PageSize);
}
$(_this.InitData.DivId).data.PageSize = _this.InitData.PageSize;
_this.InitPlan(_this.InitData.DivId);
};
//将dataObj的每个属性依次赋值给divObj的data() 上 divObj是HTML元素即可
PageData.prototype.SetDataToDivData = function (divObj, dataObj) {
for (var property in dataObj) {
divObj.data()[property] = dataObj[property];
}
}
return new PageData(operation);
}