1. 程式人生 > >js獲取easyui資料,根據厚度,寬度,材質一致合併,長度相加顯示

js獲取easyui資料,根據厚度,寬度,材質一致合併,長度相加顯示

 <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+'&nbsp&nbsp</td>';
        dataRow += '<td align="center" valign="middle" colspan="4">稽核人</td>';
        dataRow += '<td align="center" valign="middle" colspan="4">&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp</td>';
        dataRow += '<td align="center" valign="middle" colspan="4">列印人</td>';
        dataRow += '<td align="center" valign="middle" colspan="4">'+userName+'&nbsp&nbsp</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');
    }

在這裡插入圖片描述
在這裡插入圖片描述