js獲取easyui資料,根據厚度,寬度,材質一致合併,長度相加顯示
阿新 • • 發佈:2018-11-29
<a href="javascript:printBill()" class="bt" style="margin-left:5px;text-decoration:none;color:#ffffff;float: right;background-color:#1FB5AC;border: 1px #1FB5AC solid; width: 75px; height: 25px;text-align: center;font-family: '微軟雅黑';font-size: 12px;line-height: 25px;border-radius: 3px"> 列印清單 </a>
<div id="printDiv" style="display: none">
<table border="1" cellpadding="2" cellspacing="0" width="100%" style="font-size:13px;">
<div style="width: 100%">
<tr id="printTable">
</tr>
</div>
</table>
</div>
//需求,如果封邊材質,封邊厚度,封邊寬度,一致則把封邊長度相加合併。 //js列印清單 function printBill() { var userName = $("#userName").val(); var date = getNowFormatDate(); //獲取選中行 var checkedItems = $('#div1').datagrid('getChecked'); //所有的工單編號 var workSheetCodes = new Array(); var workSheetCodeStr = ""; //所有的產品名稱 var productNames = new Array(); var productNameStr = ""; for(var i = 0; i < checkedItems.length; i++){ workSheetCodes[i] = checkedItems[i]['workSheetCode']; productNames[i] = checkedItems[i]['workSheetProductName']; } //去重開始 for(var i = 0; i < checkedItems.length-1; i++){ //列印條數數量去重 for(var j = i+1; j < checkedItems.length; j++){ if((checkedItems[i]['hardwareProperty']==checkedItems[j]['hardwareProperty'])&& (checkedItems[i]['hardwareThick']==checkedItems[j]['hardwareThick'])&& (checkedItems[i]['productName']==checkedItems[j]['productName'])){ checkedItems[i]['plateName']=(Number(checkedItems[i]['plateName']) + Number(checkedItems[j]['plateName'])); checkedItems.splice(j,1); j--; } } //工單編號去重 for(var j = i+1; j < workSheetCodes.length; j++){ if(workSheetCodes[i]==workSheetCodes[j]){ workSheetCodes.splice(j,1); j--; } } //產品名稱去重 for(var j = i+1; j < productNames.length; j++){ if(productNames[i]==productNames[j]){ productNames.splice(j,1); j--; } } } for(var i =0; i<workSheetCodes.length; i++){ if(i==0){ workSheetCodeStr = workSheetCodes[i]; }else{ workSheetCodeStr += ","+workSheetCodes[i]; } } for(var i =0; i<productNames.length; i++){ if(i==0){ productNameStr = productNames[i]; }else{ productNameStr += ","+productNames[i]; } } var code = getNowcode(); $("#formCode").html(code); $("#beginFormDate").html(date); if(checkedItems.length == 0){ layerContent("請選擇需要列印的資料!"); return; } var LODOP; LODOP=getLodop(); var dataRow = ""; var nums =0; dataRow += '<tr height="25">'; dataRow += '<td align="center" valign="middle" colspan="4">工單號</td>'; dataRow += '<td align="center" valign="middle" colspan="28">'+workSheetCodeStr+'</td>'; dataRow += '</tr>'; dataRow += '<tr height="25">'; dataRow += '<td align="center" valign="middle" colspan="4">產品名稱</td>'; dataRow += '<td align="center" valign="middle" colspan="28">'+productNameStr+'</td>'; dataRow += '</tr>'; dataRow += '<tr style="height: 25px;">'; dataRow += ' <td colspan="8" align="center" valign="middle">封邊材質</td>'; dataRow += ' <td colspan="8" align="center" valign="middle">封邊厚度</td>'; dataRow += ' <td colspan="8" align="center" valign="middle">封邊寬度</td>'; dataRow += ' <td colspan="8" align="center" valign="middle">封邊長度</td>'; dataRow += '</tr>'; $.each(checkedItems, function (index, item) { var productName = item.productName; if(productName == undefined){ productName =""; } var hardwareProperty = item.hardwareProperty; if(hardwareProperty == undefined){ hardwareProperty =""; } var hardwareThick = item.hardwareThick; if(hardwareThick == undefined){ hardwareThick =""; } var plateName = item.plateName; if(plateName == undefined){ plateName =""; } else{ plateName = (parseFloat(plateName)/1000).toFixed(1); } dataRow += '<tr height="25">'; dataRow += '<td align="center" valign="middle" colspan="8">' + productName + '</td>'; dataRow += '<td align="center" valign="middle" colspan="8">' + hardwareProperty + '</td>'; dataRow += '<td align="center" valign="middle" colspan="8">' + hardwareThick + '</td>'; dataRow += '<td align="center" valign="middle" colspan="8">' + plateName + '</td>'; //dataRow += '<td align="center" valign="middle" colspan="8">' + planDateStart1 + '-' + planDateEnd1 + '</td>'; dataRow += '</tr>'; nums += parseInt(); // 頁碼(迴圈) LODOP.SET_PRINT_STYLE("FontSize",10); LODOP.ADD_PRINT_HTM("190mm","260mm","50mm","5mm","<span tdata='pageNO' style='font-size:13px;'>第 ## 頁</span> / <span tdata='pageCount' style='font-size:13px;'>共 ## 頁</span>"); LODOP.SET_PRINT_STYLEA(0,"ItemType",1); }); dataRow += '<tr height="25">'; dataRow += '<td align="center" valign="middle" colspan="4">說明</td>'; dataRow += '<td align="center" valign="middle" colspan="28"></td>'; dataRow += '</tr>'; dataRow += '<tr height="25">'; dataRow += '<td align="center" valign="middle" colspan="4">制單人</td>'; dataRow += '<td align="center" valign="middle" colspan="4">'+userName+'  </td>'; dataRow += '<td align="center" valign="middle" colspan="4">稽核人</td>'; dataRow += '<td align="center" valign="middle" colspan="4">      </td>'; dataRow += '<td align="center" valign="middle" colspan="4">列印人</td>'; dataRow += '<td align="center" valign="middle" colspan="4">'+userName+'  </td>'; dataRow += '<td align="center" valign="middle" colspan="4">列印日期</td>'; dataRow += '<td align="center" valign="middle" colspan="4">'+date+'</td>'; dataRow += '</tr>'; dataRow += '<tr height="25">'; dataRow += '<td align="center" valign="middle" colspan="4">制單簽字</td>'; dataRow += '<td align="center" valign="middle" colspan="4"></td>'; dataRow += '<td align="center" valign="middle" colspan="4">領料簽字</td>'; dataRow += '<td align="center" valign="middle" colspan="4"></td>'; dataRow += '<td align="center" valign="middle" colspan="4">倉庫簽字</td>'; dataRow += '<td align="center" valign="middle" colspan="4"></td>'; dataRow += '<td align="center" valign="middle" colspan="4">審批簽字</td>'; dataRow += '<td align="center" valign="middle" colspan="4"></td>'; dataRow += '</tr>'; dataRow += '<tr height="25">'; dataRow += '<td align="center" valign="middle" colspan="32">說明:封邊採購使用此單領用,倉庫和領料人必須簽字才可領料。' + '對於需要退回包裝的材料必須退回包裝才可使用此單領料。</td>'; dataRow += '</tr>'; $("#printTable").html(dataRow); LODOP.SET_PRINT_PAGESIZE(2,0,0,"A4"); // 表格表頭(迴圈) LODOP.SET_PRINT_STYLE("FontSize",15); LODOP.SET_PRINT_STYLE("Bold",1); LODOP.ADD_PRINT_TEXT("5mm","120mm","100mm","20mm","封邊採購領用單" ); //top left width high // 表格資料 LODOP.SET_PRINT_STYLE("Bold",0); LODOP.ADD_PRINT_TABLE("16mm","8mm","280mm","160mm",$("#printDiv").html()); LODOP.SET_SHOW_MODE("LANDSCAPE_DEFROTATED",1);//橫向列印預覽正向顯示 LODOP.PREVIEW(); // LODOP.PRINT; $('#div1').datagrid('reload'); }