var changeId = new Array(); changeId = []; var changeCode = new Array(); changeCode = []; var jsonStr; //格式化日期 function Format(){ this.jsjava_class="jsjava.text.Format"; } function DateFormat(){ this.jsjava_class="jsjava.text.DateFormat"; } DateFormat.prototype=new Format(); DateFormat.prototype.constructor=DateFormat; DateFormat.zh_cn_month2=["01","02","03","04","05","06","07","08","09","10","11","12"]; DateFormat.zh_cn_month3=["\u4e00\u6708","\u4e8c\u6708","\u4e09\u6708","\u56db\u6708","\u4e94\u6708","\u516d\u6708","\u4e03\u6708","\u516b\u6708","\u4e5d\u6708","\u5341\u6708","\u5341\u4e00\u6708","\u5341\u4e8c\u6708",]; DateFormat.zh_cn_month4=["\u4e00\u6708","\u4e8c\u6708","\u4e09\u6708","\u56db\u6708","\u4e94\u6708","\u516d\u6708","\u4e03\u6708","\u516b\u6708","\u4e5d\u6708","\u5341\u6708","\u5341\u4e00\u6708","\u5341\u4e8c\u6708",]; DateFormat.en_us_month4=["Janu","Febr","Marc","Apri","May","Juhn","July","Augu","Sept","Octo","Nove","Dece"]; DateFormat.en_us_month3=["Jan","Feb","Mar","Apr","May","Juh","Jul","Aug","Sep","Oct","Nov","Dec"]; DateFormat.en_us_month2=["01","02","03","04","05","06","07","08","09","10","11","12"]; DateFormat.zh_cn_week=["\u661f\u671f\u65e5","\u661f\u671f\u4e00","\u661f\u671f\u4e8c","\u661f\u671f\u4e09","\u661f\u671f\u56db","\u661f\u671f\u4e94","\u661f\u671f\u516d"]; DateFormat.zh_cn_am="\u4e0b\u5348"; DateFormat.zh_cn_pm="\u4e0a\u5348"; DateFormat.language=(navigator.userLanguage==undefined?navigator.language:navigator.userLanguage).replace("-","_").toLowerCase(); DateFormat.prototype.format=function(date){ var year4=date.getFullYear(); var year2=year4.toString().substring(2); var pattern=this.pattern; pattern=pattern.replace(/yyyy/,year4); pattern=pattern.replace(/yy/,year2); var month=date.getMonth(); pattern=pattern.replace(/MMMM/,eval("DateFormat."+DateFormat.language+"_month4[month]")); pattern=pattern.replace(/MMM/,eval("DateFormat."+DateFormat.language+"_month3[month]")); pattern=pattern.replace(/MM/,eval("DateFormat."+DateFormat.language+"_month2[month]")); var dayOfMonth=date.getDate(); var dayOfMonth2=dayOfMonth; var dayOfMonthLength=dayOfMonth.toString().length; if(dayOfMonthLength==1){ dayOfMonth2="0"+dayOfMonth; } pattern=pattern.replace(/dd/,dayOfMonth2); pattern=pattern.replace(/d/,dayOfMonth); var hours=date.getHours(); var hours2=hours; var hoursLength=hours.toString().length; if(hoursLength==1){ hours2="0"+hours; } pattern=pattern.replace(/HH/,hours2); pattern=pattern.replace(/H/,hours); var minutes=date.getMinutes(); var minutes2=minutes; var minutesLength=minutes.toString().length; if(minutesLength==1){ minutes2="0"+minutes; } pattern=pattern.replace(/mm/,minutes2); pattern=pattern.replace(/m/,minutes); var seconds=date.getSeconds(); var seconds2=seconds; var secondsLength=seconds.toString().length; if(secondsLength==1){ seconds2="0"+seconds; } pattern=pattern.replace(/ss/,seconds2); pattern=pattern.replace(/s/,seconds); var milliSeconds=date.getMilliseconds(); pattern=pattern.replace(/S+/,milliSeconds); var day=date.getDay(); // pattern=pattern.replace(/E+/,eval("DateFormat."+DateFormat.language+"_week[day]")); if(hours>12){ pattern=pattern.replace(/a+/,eval("DateFormat."+DateFormat.language+"_am")); }else{ pattern=pattern.replace(/a+/,eval("DateFormat."+DateFormat.language+"_pm")); } var kHours=hours; if(kHours==0){ kHours=24; } var kHours2=kHours; var kHoursLength=kHours.toString().length; if(kHoursLength==1){ kHours2="0"+kHours; } pattern=pattern.replace(/kk/,kHours2); pattern=pattern.replace(/k/,kHours); var KHours=hours; if(hours>11){ KHours=hours-12; } var KHours2=KHours; var KHoursLength=KHours.toString().length; if(KHoursLength==1){ KHours2="0"+KHours; } pattern=pattern.replace(/KK/,KHours2); pattern=pattern.replace(/K/,KHours); var hHours=KHours; if(hHours==0){ hHours=12; } var hHours2=hHours; var hHoursLength=hHours.toString().length; if(KHoursLength==1){ hHours2="0"+hHours; } pattern=pattern.replace(/hh/,hHours2); pattern=pattern.replace(/h/,hHours); return pattern; }; function SimpleDateFormat(){ this.jsjava_class="jsjava.text.SimpleDateFormat"; } SimpleDateFormat.prototype=new DateFormat(); SimpleDateFormat.prototype.constructor=SimpleDateFormat; SimpleDateFormat.prototype.applyPattern=function(pattern){ this.pattern=pattern; }; var df=new SimpleDateFormat(); df.applyPattern("yyyy-MM-dd HH:mm:ss"); function xcdChangeTable(){ jsonStr=document.getElementById('xcdChangeOrderPage').value; var header = new Array(); header[0] = ["<input type='checkbox' name='changeAll' id='changeAll' class='changeAll' onclick='javascript:changeCheckAll();'/>","changeCheckBox","2%",""]; header[1] = ["变更单编号","changeOrderCode","8%",""]; header[2] = ["变更单标题","changeOrderTitle","35%","35"]; header[3] = ["变更单描述","changeOrderComments","10%","10"]; header[4] = ["省份","provinceName","5%",""]; header[5] = ["事件发生时间","changeStartTime","20%",""]; header[6] = ["实际完成时间","changeEndTime","20%",""]; window.paggingOne = new table_paggingOne({limit:10,tableId:'xcdChangeTable',header:header}); paggingOne.pagging(jsonStr); } var table_paggingOne = function() { this.init.apply(this, arguments); } table_paggingOne.prototype = { init : function(s) { // 从第几个数据开始获取,缺省状态下从0开始显示 if (s.start) { this.start = parseInt(s.start); } else { this.start = 0; } // limit是指从start开始一共要用几条数据,缺省状态下显示10条 if (s.limit) { this.limit = parseInt(s.limit); } else { this.limit = 10; } // cellStep表示每行要显示的行数.缺省状态下为1,一行一条记录. if (s.cellStep) { this.cellStep = parseInt(s.cellStep); } else { this.cellStep = 1; } // 要执行的表的名字 if (s.tableId) { this.tableObj = document.getElementById(s.tableId); } else { alert("missing table id~"); } // 头部的样式编码 if (s.headTrClassName) { this.headTrClassName = s.headTrClassName; } else { this.headTrClassName = ""; } if (s.trClassName) { this.trClassName = s.trClassName; } else { this.trClassName = ""; } // 定义头部信息 if (this.checkHeadersIsArray(s.header)) { this.header = s.header; } else { alert("header is wrong~"); } // 初始化头部 this.createTableHeader(); }, cloumnModel : function() { }, pagging : function(objectJson) { this.objectlist = eval('(' + objectJson + ')'); if (this.start + this.limit >= this.objectlist.length) { this.end = this.objectlist.length; } else { this.end = this.start + this.limit; } this.clearSearchTable(); this.createTableBodyTd(); }, checkHeadersIsArray : function(header) { if (!(header instanceof Array)) { return false; } for ( var i = 0; i < header.length; i++) { if (!(header[i] instanceof Array) || header[i].length < 4) { return false; } } return true; }, // 清空表格数据 clearSearchTable : function() { for ( var i = this.tableObj.rows.length; i > 1; i--) { this.tableObj.deleteRow(i - 1); } }, // 创建头部 createTableHeader : function() { var tr = this.tableObj.insertRow(this.tableObj.rows.length); if (this.headTrClassName) { tr.className = this.headTrClassName; } var rowLength = this.header.length; for ( var i = 0; i < rowLength; i++) { var td = tr.insertCell(i); td.innerHTML = this.header[i][0]; if (this.header[i][2]) { td.width = this.header[i][2]; } } }, // 创建table的数据区域 createTableBodyTd : function() { this.clearSearchTable(); if (this.start > this.objectlist.length) { return; } if (this.start > this.end) { return; } if (this.end > this.objectlist.length) { this.end = this.objectlist.length; } var rowLength = this.header.length; // alert(rowLength); for ( var i = this.start; i < this.end; i++) { var tr = this.tableObj.insertRow(this.tableObj.rows.length); if (this.trClassName) { tr.className = this.trClassName; } for ( var j = 0; j < this.cellStep; j++) { for ( var k = 0; k < rowLength; k++) { var td = tr.insertCell(rowLength * j + k); var tdContext = " "; var tdTitle = ""; if (this.header[k][1]) { var reg = /\%\{([\d\w.]+)\}\%/g; if (k != 0) { if (result = reg.exec(this.header[k][1])) { // var result = reg.exec(this.header[k][1]); var context = this.header[k][1]; while (reg.lastIndex != 0) { var value = this.getData( this.objectlist[i], result[1]); context = context.replace( /\%\{[\d\w.]+\}\%/, value); result = reg.exec(this.header[k][1]); } tdContext = context; } else { tdContext = this.getData(this.objectlist[i],this.header[k][1]); if(tdContext==null){ tdContext = " "; } if(k==5){ if(tdContext==" "){ tdContext = " "; }else{ tdContext = df.format(new Date(tdContext)); } }else if(k==6){ if(tdContext==" "){ tdContext = " "; }else{ tdContext = df.format(new Date(tdContext)); } } } } else { tdContext="<input type='checkbox' name='changeBox"+i+"' class='changeBox' onclick='javascript:checkChangeChoose(this);'/>"+"<span style='display:none'>"+i+"</span>"; for ( var t = 0; t < changeId.length; t++) { if (changeId[t] == this.getData(this.objectlist[i], "changeOrderId")){ tdContext="<input type='checkbox' name='changeBox"+i+"' class='changeBox' checked onclick='javascript:checkChangeChoose(this);'/>"+"<span style='display:none'>"+i+"</span>"; break; } } } } else { tdContext = " "; } if (!tdTitle) { tdTitle = tdContext; } if (this.header[k][3] && !(tdContext == " ")) { td.title = tdTitle; tdContext = tdContext + ""; if (tdContext.length > parseInt(this.header[k][3])) { tdContext = tdContext.substring(0, this.header[k][3]) + ".."; } } td.innerHTML = tdContext; // alert(tdContext+"----i:"+i+",j:"+j+",k:"+k); } i = i + j; if (i >= this.start + this.limit) { break; } } if (i >= this.start + this.limit) { break; } } this.createPageTr(); }, // 从json获取数据,其中key如果带有.这个符号,说明需要获取的数据是多维数组(也可以看成对象) getData : function(arrayObj, key) { if (key.indexOf(".") > 0) { var keys = key.split("."); var obj; for ( var c = 0; c < keys.length; c++) { if (c == keys.length - 1) { return obj[keys[c]]; } if (!arrayObj[keys[c]]) { return " " } else { obj = arrayObj[keys[c]] } } } else { return arrayObj[key]; } }, operator : function(_start, _end) { $("#changeAll").attr("checked",false); this.start = _start; this.end = _end; this.createTableBodyTd(); }, // 获取当前对象名 getObjectName : function() { for ( var a in window) { if (window[a] == this) { return a; } } }, // 创建尾部,上一页,下一页,当前页之类信息 createPageTr : function() { var objectName = this.getObjectName(); var tr = this.tableObj.insertRow(this.tableObj.rows.length); td = tr.insertCell(0); td.colSpan = this.header.length + ''; var totalPage = Math.ceil(this.objectlist.length / this.limit); var currentPage1 = Math.ceil(this.start / this.limit); var tableName = objectName + "assrotCurrentIndexTable"; td.innerHTML = "<table id='" + tableName + "' width='100%'></table>"; var tableObj = document.getElementById(tableName); var tr = tableObj.insertRow(0); var td1 = tr.insertCell(0); td1.width = "15%"; td1.align = "center"; if (this.start >= this.limit) { td1.innerHTML = "<a href='javascript:" + objectName + ".operator(0," + this.limit + ")'>首页</a>"; } else { td1.innerHTML = "<a>首页</a>"; } var td2 = tr.insertCell(1); td2.width = "15%"; td2.align = "center"; if (this.start >= this.limit) { td2.innerHTML = "<a href='javascript:" + objectName + ".operator(" + (this.start - this.limit) + "," + this.start + ")'>上一页</a>"; } else { td2.innerHTML = "<a>上一页</a>"; } var td3 = tr.insertCell(2); td3.width = "20%"; td3.align = "center"; // td3.innerHTML = "Page <input id='table_pagging_page_input_id' // type='text' size='1' id='currentIndex' value='"+(currentPage1+1)+"' // >of "+totalPage; td3.innerHTML = "<div class='col-sm-5'><input type=\"text\" class=\"form-control\" id=\"goPageNo1\" value=\"" + (currentPage1 + 1) + "\" size=\"3\" /></div><div class='col-sm-5' style='margin:0 -28px'><input type=\"button\" class=\"form-control\" value=\"跳转\" onclick=\"javascript:" + objectName + ".jump2PageNum1()\" /></div>"; var td4 = tr.insertCell(3); td4.width = "15%"; td4.align = "center"; if (this.end >= this.objectlist.length) { td4.innerHTML = "<a>下一页<a>"; } else { if ((this.end + this.limit) > this.objectlist.length) { td4.innerHTML = "<a href='javascript:" + objectName + ".operator(" + this.end + "," + this.objectlist.length + ")'>下一页<a>"; } else { td4.innerHTML = "<a href='javascript:" + objectName + ".operator(" + this.end + "," + (this.end + this.limit) + ")'>下一页<a>"; } } var td5 = tr.insertCell(4); td5.width = "15%"; td5.align = "center"; if (this.end >= this.objectlist.length) { td5.innerHTML = "<a>末页</a>"; } else { td5.innerHTML = "<a href='javascript:" + objectName + ".operator(" + this.limit * (totalPage - 1) + "," + this.objectlist.length + ")'>末页</a>"; } var td6 = tr.insertCell(5); td6.align = 'right'; td6.width = "25%"; // td6.innerHTML = // "显示第"+this.start+"到第"+this.end+"记录,共"+this.objectlist.length+"条记录"; td6.innerHTML = "页数:<span style='color:blue'>" + (currentPage1 + 1) + "</span>/" + totalPage; }, // 点击跳转,未开发 jump2PageNum1: function() { var re = /^[1-9]+[0-9]*]*$/; if (!re.test(document.getElementById('goPageNo1').value)) { alert("请输入正整数"); } else { if (parseInt(document.getElementById('goPageNo1').value) > Math .ceil(this.objectlist.length / this.limit)) { alert("你输入的数值过大!"); } else { this .operator( this.limit * (parseInt(document .getElementById('goPageNo1').value) - 1), (this.limit * (parseInt(document .getElementById('goPageNo1').value) - 1) + this.limit)); } } }, test : function() { alert(this.start); alert(this.step); alert(this.cellStep); alert(this.tablename); } } var changeRows= new Array(); function checkChangeChoose(clickObj){ var clickFlag = true; //$("#changeAll").attr("checked",false); var obj = eval('(' + jsonStr + ')'); if(clickObj.checked){ $(".changeBox").each(function(){ if($(this).attr("checked") == null||$(this).attr("checked") == false){ clickFlag = false; } }); changeRows.push(parseInt(clickObj.nextSibling.innerHTML)); changeId.push(parseInt(obj[parseInt(clickObj.nextSibling.innerHTML)].changeOrderId)); changeCode.push(obj[parseInt(clickObj.nextSibling.innerHTML)].changeOrderCode); }else{ $(".changeBox").each(function(){ if($(this).attr("checked") == null||$(this).attr("checked") == false){ clickFlag = false; } }); var index=-1; for (var i = 0; i < changeId.length; i++) { if (changeId[i] == parseInt(obj[parseInt(clickObj.nextSibling.innerHTML)].changeOrderId)) { index=i; } } if (index > -1) { changeId.splice(index, 1); changeRows.splice(index, 1); changeCode.splice(index, 1); } } $("#changeAll").attr("checked",clickFlag); } function changeCheckAll(){ var obj = eval('(' + jsonStr + ')'); if($("#changeAll").attr("checked")=="checked"){//全选 $(".changeBox").each(function(){ changeId.push(obj[($(this).attr("name")).substr(9)].changeOrderId); changeRows.push(($(this).attr("name")).substr(9)); changeCode.push(obj[($(this).attr("name")).substr(9)].changeOrderCode); $(this).attr("checked","checked"); }); var uniqueArr = new Array(); var uniqueRow = new Array(); var uniqueCode = new Array(); uniqueArr = []; uniqueRow = []; uniqueCode = []; $.each(changeId, function(i, el){ if($.inArray(el, uniqueArr) == -1) uniqueArr.push(el); }); $.each(changeRows, function(i, el){ if($.inArray(el, uniqueRow) == -1) uniqueRow.push(el); }); $.each(changeCode, function(i, el){ if($.inArray(el, uniqueCode) == -1) uniqueCode.push(el); }); changeId=[]; changeCode=[]; changeRows=[]; changeRows = uniqueRow; changeCode = uniqueCode; changeId=uniqueArr; // alert(ids.join(","));/////////////////////////////////////////////////////////////////////////////////////////// }else{//全不选 $(".changeBox").each(function(){ var index=-1; for (var i = 0; i < changeId.length; i++) { if (changeId[i] == obj[($(this).attr("name")).substr(9)].changeOrderId) { index=i; } } if (index > -1) { changeId.splice(index, 1); changeCode.splice(index, 1); changeRows.splice(index, 1); } $(this).attr("checked",false); }); } } function getChangeProvinceNames(){ var obj = eval('(' + jsonStr + ')'); var provinceNames = new Array(); for(var i=0;i<changeRows.length;i++){ provinceNames.push(obj[changeRows[i]].provinceName); } return provinceNames; } function isChangeSameProv(){ var changeTrue = true; var changeProvince = getChangeProvinceNames(); for(var i=0;i<changeProvince.length;i++){ for(var j=0;j<changeProvince.length;j++){ if(i!=j){ if(changeProvince[i]!=changeProvince[j]){ changeTrue = false; } } } } return changeTrue; }