var knowledgeTableIds = new Array();//存放选中了的ID号 knowledgeTableIds = []; //格式化日期 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 jsonData; function knowledgeTable() { jsonData = document.getElementById('knowledgeResult').value; var header = new Array(); header[0] = ["<input type='checkbox' name='ckAll' id='ckAll' class='ckAll' onclick='javascript:checkAll();'/>","checkbox","1%",""]; header[1] = ["知识来源","sourceLabel","10%",""]; header[2] = ["知识类型","knowledgeTypeLabel","10%",""]; header[3] = ["省份","provinceLabel","9%",""]; header[4] = ["知识摘要","summary","20%","20"]; header[5] = ["知识内容","content","10%","10"]; header[6] = ["创建时间","crtDate","10%",""]; header[7] = ["有效时间","validDate","10%",""]; header[8] = ["相似程度","hitNumber","10%",""]; header[9] = ["文件","firstFileName","10%",""]; window.pagging = new table_pagging({limit:10,tableId:'knowledgeResultTable',header:header}); 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; } 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==3){ if(tdContext==" "){ tdContext = "全国"; } } if(k==4){ if(tdContext!=" "){ tdContext = this.getData(this.objectlist[i],this.header[k][1]); } } if(k==5){ if(tdContext!=" "){ tdContext = this.getData(this.objectlist[i],this.header[k][1]); } } if(k==6){ if(tdContext==" "){ tdContext = " "; }else{ tdContext = df.format(new Date(tdContext)); } } if(k==7){ if(tdContext==" "){ tdContext = " "; }else{ tdContext = df.format(new Date(tdContext)); } } if(k==9){ tdContext = "<a href=\"javascript:;\" onclick=\"downFile('"+this.getData(this.objectlist[i],"firstFileName")+"','"+this.getData(this.objectlist[i],"crtDate")+"')\">"+this.getData(this.objectlist[i],"firstFileName")+"</a> "+ "<a href=\"javascript:;\" onclick=\"downFile('"+this.getData(this.objectlist[i],"secondFileName")+"','"+this.getData(this.objectlist[i],"crtDate")+"')\">"+this.getData(this.objectlist[i],"secondFileName")+"</a> "+ "<a href=\"javascript:;\" onclick=\"downFile('"+this.getData(this.objectlist[i],"thirdFileName")+"','"+this.getData(this.objectlist[i],"crtDate")+"')\">"+this.getData(this.objectlist[i],"thirdFileName")+"</a> "+ "<a href=\"javascript:;\" onclick=\"downFile('"+this.getData(this.objectlist[i],"fourthFileName")+"','"+this.getData(this.objectlist[i],"crtDate")+"')\">"+this.getData(this.objectlist[i],"fourthFileName")+"</a> "+ "<a href=\"javascript:;\" onclick=\"downFile('"+this.getData(this.objectlist[i],"fifthFileName")+"','"+this.getData(this.objectlist[i],"crtDate")+"')\">"+this.getData(this.objectlist[i],"fifthFileName")+"</a>"; } } } else { tdContext="<input type='checkbox' name='knowledgeBox"+i+"' class='knowledgebox' onclick='javascript:checkKnowledgeChoose(this);'/>"+"<span style='display:none'>"+i+"</span>"; for ( var t = 0; t < knowledgeTableIds.length; t++) { if (knowledgeTableIds[t] == this.getData(this.objectlist[i], "knowledgeId")){ tdContext="<input type='checkbox' name='knowledgeBox"+i+"' class='knowledgebox' checked onclick='javascript:checkKnowledgeChoose(this);'/>"+"<span style='display:none'>"+i+"</span>"; break; } } } } else { tdContext = " "; } if(this.header[k][1]){ if(k!=8){ if(!tdTitle){ tdTitle = removeSpan(tdContext); } } } if (this.header[k][3] && !(tdContext == " ")) { td.title = tdTitle; tdContext = tdContext + ""; var staticTdContext = tdContext; var orignLength = staticTdContext.length; staticTdContext = removeSpan(staticTdContext); var targetLength = staticTdContext.length; if(orignLength == targetLength){ if (tdContext.length > parseInt(this.header[k][3])) { tdContext = tdContext.substring(0, this.header[k][3]) + ".."; } } /*if (tdContext.length > parseInt(this.header[k][3])) { tdContext = tdContext.substring(0, this.header[k][3]) + ".."; }*/ } td.innerHTML = tdContext; } 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) { $("#ckAll").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 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 = "20%"; 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-5'><input type=\"text\" class=\"form-control\" id=\"goPageNo\" value=\"" + (currentPage + 1) + "\" size=\"3\" /></div><div class='col-sm-5' style='margin:0 -28px'><input type=\"button\" class=\"form-control\" 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 checkKnowledgeChoose(clickObj){ $("#ckAll").attr("checked",false); var obj = eval('(' + jsonData + ')'); if(clickObj.checked){ //xcdProvince += obj[parseInt(clickObj.nextSibling.innerHTML)].provinceName+","; //rows.push(parseInt(clickObj.nextSibling.innerHTML)); //xcdCodes.push(obj[parseInt(clickObj.nextSibling.innerHTML)].workingOrderCode); knowledgeTableIds.push(obj[parseInt(clickObj.nextSibling.innerHTML)].knowledgeId); } else{ var index=-1; for (var i = 0; i < knowledgeTableIds.length; i++) { if (knowledgeTableIds[i] == obj[parseInt(clickObj.nextSibling.innerHTML)].knowledgeId) { index=i; } } if (index > -1) { knowledgeTableIds.splice(index, 1); //rows.splice(index, 1); //xcdCodes.splice(index,1); } } if(knowledgeTableIds==""){ $("#updateKnowledge").attr("disabled",true); $("#deleteKnowledge").attr("disabled",true); }else{ if(knowledgeTableIds.length!=1){ $("#updateKnowledge").attr("disabled",true); }else{ $("#updateKnowledge").attr("disabled",false); } $("#deleteKnowledge").attr("disabled",false); } } function checkAll(){ var obj = eval('(' + jsonData + ')'); if($("#ckAll").attr("checked")=="checked"){//全选 $(".knowledgebox").each(function(){ knowledgeTableIds.push(obj[($(this).attr("name")).substr(12)].knowledgeId); //xcdCodes.push(obj[($(this).attr("name")).substr(6)].workingOrderCode); //rows.push(($(this).attr("name")).substr(6)); $(this).attr("checked","checked"); }); var uniqueArr = new Array(); uniqueCode = []; $.each(knowledgeTableIds, function(i, el){ if($.inArray(el, uniqueArr) == -1) uniqueArr.push(el); }); knowledgeTableIds=[]; knowledgeTableIds=uniqueArr; $("#updateKnowledge").attr("disabled",true); $("#deleteKnowledge").attr("disabled",false); // alert(ids.join(","));/////////////////////////////////////////////////////////////////////////////////////////// }else{//全不选 $(".knowledgebox").each(function(){ var index=-1; for (var i = 0; i < knowledgeTableIds.length; i++) { if (knowledgeTableIds[i] == obj[($(this).attr("name")).substr(12)].knowledgeId) { index=i; } } if (index > -1) { knowledgeTableIds.splice(index, 1); } $(this).attr("checked",false); }); $("#updateKnowledge").attr("disabled",true); $("#deleteKnowledge").attr("disabled",true); } } function removeSpan(s) { //alert(s.replace); s = s.replace(new RegExp("<span style='color:red'>","gm"),"") ; s = s.replace(new RegExp("</span>","gm"),""); return s; }