//格式化日期 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"); // var xcdId; var xcdlen; function xcdFindTable(){ jsonData=document.getElementById('wadt').value; var header = new Array(); header[0] = ["","<input type='radio' name='update'id='update' onclick='javascript:radioChoose(this);'/>","1%",""]; header[1] = ["编号","innerWorkingOrderId","4%",""]; header[2] = ["内部协查单标题","title","8%","15"]; header[3] = ["省份","provinceName","4%",""]; header[4] = ["发生时间","eventHappenTime","4%",""]; header[5] = ["事件子来源","suborigin","4%",""]; header[6] = ["工单状态","workingOrderStatus","7%",""]; header[7] = ["关联告警","alarmListRelation","7%",""]; header[8] = ["告警附件下载","fileAddress","7%",""]; window.pagging = new table_pagging({limit:12,tableId:'xcdResultTable',header:header}); // console.log(jsonData) pagging.pagging(jsonData); } var table_pagging = function() { this.init.apply(this, arguments); } table_pagging.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; } xcdlen=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==4){ tdContext = this.formateDate(tdContext); } if(k==6){ if(tdContext!==" "){ switch (tdContext){ case '1': tdContext ='未确认'; break; case '2': tdContext ='关闭'; break; case '3': tdContext ='已下发协查单'; break; } } } if(k==7){ var o=""; tdContext.forEach(function (t,i) { if(i!==tdContext.length-1){ o=o+ t.warningId+"," }else{ o=o+ t.warningId } }); tdContext = "<a class='warningId' id='"+o+"' onclick='showWarningDetail(this)' style='cursor: pointer' >告警详情</a>" } if(k==8){ if(tdContext ==null){ tdContext = " " }else{ tdContext = "<a class='downloadFile' id='"+tdContext+"' onclick='downloadFile(this)' style='cursor: pointer' >下载附件</a>" } } } } else { tdContext=this.header[k][1]+"<span style='display:none'>"+i+"</span>"; // tdContext=this.header[k][1]; } } 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]; } }, // 格式化Date数据 formateDate : function(dateObj) { var date = new Date(dateObj); return date.getFullYear() + "-" + (date.getMonth()+1) + "-"+date.getDate()+ " "+ date.getHours()+":"+(date.getMinutes()<10?"0"+date.getMinutes():date.getMinutes())+":"+ (date.getSeconds()<10?"0"+date.getSeconds():date.getSeconds()); }, operator : function(_start, _end) { 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 currentPage = 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 = "25%"; td3.align = "center"; // td3.innerHTML = "Page <input id='table_pagging_page_input_id' // type='text' size='1' id='currentIndex' value='"+(currentPage+1)+"' // >of "+totalPage; td3.innerHTML = "<div class='col-sm-4'><input class=\"form-control\" type=\"text\" id=\"goPageNo\" value=\"" + (currentPage + 1) + "\" size=\"3\" /></div><div class='col-sm-5'><input class=\"form-control\" type=\"button\" value=\"跳转\" onclick=\"javascript:" + objectName + ".jump2PageNum()\" /></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'>" + (currentPage + 1) + "</span>/" + totalPage; }, // 点击跳转,未开发 jump2PageNum : function() { var re = /^[1-9]+[0-9]*]*$/; if (!re.test(document.getElementById('goPageNo').value)) { alert("请输入正整数"); } else { if (parseInt(document.getElementById('goPageNo').value) > Math .ceil(this.objectlist.length / this.limit)) { alert("你输入的数值过大!"); } else { this .operator( this.limit * (parseInt(document .getElementById('goPageNo').value) - 1), (this.limit * (parseInt(document .getElementById('goPageNo').value) - 1) + this.limit)); } } }, test : function() { alert(this.start); alert(this.step); alert(this.cellStep); alert(this.tablename); } } function showWarningDetail(e){ console.log(e) var ids = e.id; ids = ids.split(","); batchOpenDialog(ids); } function checkChoose(clickObj){ var obj = eval('(' + jsonStr + ')'); if(clickObj.checked){ ids.push(parseInt(obj[parseInt(clickObj.nextSibling.innerHTML)].changeOrderId)); }else{ var index=-1; for (var i = 0; i < ids.length; i++) { if (ids[i] == parseInt(obj[parseInt(clickObj.nextSibling.innerHTML)].changeOrderId)) { index=i; } } if (index > -1) { ids.splice(index, 1);} } } function radioChoose(clickObj){ var obj = eval("(" + jsonData + ")"); //alert(obj); if(clickObj.checked){ //alert(clickObj); //alert(clickObj.nextSibling.innerHTML); $("#updateButton").attr("disabled", false); xcdId=parseInt(obj[parseInt(clickObj.nextSibling.innerHTML)].workingOrderId); } }