JS前台分分页打印

 //插件打印
        function Printing() {
            var all_length = KStarForm.koContentModel.MXList().length;//總長度--會改變
            var all_length_BB = KStarForm.koContentModel.MXList().length;//總長度--固定
            var pageSize = 27;                                        //頁面明細個數
            var count = Math.ceil(all_length / pageSize);             //页数(向上取整,有小数就整数部分加1)

            //校驗
            if (KStarForm.koContentModel.MXList().length == 0) {
                alert("无数据不可以打印!");
                return;
            } else {
                //校驗
                for (var i = 0; i < KStarForm.koContentModel.MXList().length; i++) {
                    if (KStarForm.koContentModel.MXList()[i].AccessoriesNumber() == null || KStarForm.koContentModel.MXList()[i].AccessoriesNumber() == "") {
                        KStar.Modaldialog.alert({ msg: "第" + (i + 1) + "行的配件編號為空,請刪除或者補充!" });
                        IndexToRed(i)
                        return false;
                    } else if (KStarForm.koContentModel.MXList()[i].MouldName_NumberAndName().trim() == null || KStarForm.koContentModel.MXList()[i].MouldName_NumberAndName().trim() == "") {
                        KStar.Modaldialog.alert({ msg: "第" + (i + 1) + "行模具名稱的不能為空!" });
                        IndexToRed(i)
                        return false;
                    } else if (KStarForm.koContentModel.MXList()[i].Customer_KJ() == null || KStarForm.koContentModel.MXList()[i].Customer_KJ() == "" || KStarForm.koContentModel.MXList()[i].Customer_KJ() == "[]") {
                        KStar.Modaldialog.alert({ msg: "第" + (i + 1) + "行的客戶不能為空!" });
                        IndexToRed(i)
                        return false;
                    } else if (KStarForm.koContentModel.MXList()[i].StandardNumber() == null || KStarForm.koContentModel.MXList()[i].StandardNumber() == "" || parseInt(KStarForm.koContentModel.MXList()[i].StandardNumber()) <= 0) {
                        KStar.Modaldialog.alert({ msg: "第" + (i + 1) + "行的標準套數需要大於0!" });
                        IndexToRed(i)
                        return false;
                    } else if (KStarForm.koContentModel.MXList()[i].StockNumber() == null || KStarForm.koContentModel.MXList()[i].StockNumber() == "" || parseInt(KStarForm.koContentModel.MXList()[i].StockNumber()) <= 0) {
                        KStar.Modaldialog.alert({ msg: "第" + (i + 1) + "行的入庫存數需要大於0!" });
                        IndexToRed(i)
                        return false;
                    } else if (KStarForm.koContentModel.MXList()[i].Unit().trim() == null || KStarForm.koContentModel.MXList()[i].Unit().trim() == "") {
                        KStar.Modaldialog.alert({ msg: "第" + (i + 1) + "行的單位不能為空!" });
                        IndexToRed(i)
                        return false;
                    }
                }

            }
            var showStr = '';
            var win;
            //分页打印
            for (var i = 0; i < count; i++) {
                //打印HTML
                showStr += '<body style="margin:0;padding:0;display:block;">';//解決打印多出一頁空白頁問題
                showStr += '<div style="page-break-after:always;width:750px;">';//強制分頁
                showStr += '<table style="border:1px solid #ddd;width:750px;border-collapse:collapse;border-spacing:0;padding:10px;">';
                showStr += '<caption>';
                showStr += '<b style="font-size:28px;">模具移交單</b>';
                showStr += '<div style="margin-top:30px;">';
                if (count == (i + 1)) {
                    //最後一頁
                    showStr += '<div style="float:left;">行數:' + all_length_BB + '-' + all_length + '</div>';
                } else {
                    showStr += '<div style="float:left;">行數:' + all_length_BB + '-' + 30 + '</div>';
                }
               
                showStr += '<div style="float:right;">頁數:' + count + '-' + (i + 1) + '</div>';
                showStr += '</div">';
                showStr += '</caption>';
                showStr += '<thead>';
                showStr += '<tr style="text-align:center;height:30px;">';
                showStr += '<td style="border: 1px solid;">配件編號</td>';
                showStr += '<td style="border: 1px solid;">客戶</td>';
                showStr += '<td style="border: 1px solid;width:160px;">備注</td>';
                showStr += '<td style="border: 1px solid;">模具名稱</td>';
                showStr += '<td style="border: 1px solid;">標準套數</td>';
                showStr += '<td style="border: 1px solid;">入庫存數</td>';
                showStr += '</tr>';
                showStr += '</thead>';
                showStr += '<tbody>';
                if (all_length < pageSize) {
                    for (var j = 0; j < all_length; j++) {
                        showStr += '<tr style="text-align:center;height:28px;">'
                        showStr += '<td style="border: 1px solid;">' + KStarForm.koContentModel.MXList()[i * pageSize + j].AccessoriesNumber() + '</td>'
                        showStr += '<td style="border: 1px solid;">' + JSON.parse(KStarForm.koContentModel.MXList()[i * pageSize + j].Customer_KJ())[0].id + '</td>'
                        showStr += '<td style="border: 1px solid;width:160px;">' + KStarForm.koContentModel.MXList()[i * pageSize + j].Remark() + '</td>'
                        showStr += '<td style="border: 1px solid;">' + KStarForm.koContentModel.MXList()[i * pageSize + j].MouldName_NumberAndName().substring(KStarForm.koContentModel.MXList()[i * pageSize + j].MouldName_NumberAndName().indexOf('-') + 1) + '</td>'
                        showStr += '<td style="border: 1px solid;">' + KStarForm.koContentModel.MXList()[i * pageSize + j].StandardNumber() + '</td>'
                        showStr += '<td style="border: 1px solid;">' + KStarForm.koContentModel.MXList()[i * pageSize + j].StockNumber() + '</td>'
                        showStr += '</tr>'
                    }
                } else {
                    for (var j = 0; j < pageSize; j++) {
                        showStr += '<tr style="text-align:center;height:28px;">'
                        showStr += '<td style="border: 1px solid;">' + KStarForm.koContentModel.MXList()[i * pageSize + j].AccessoriesNumber() + '</td>'
                        showStr += '<td style="border: 1px solid;">' + JSON.parse(KStarForm.koContentModel.MXList()[i * pageSize + j].Customer_KJ())[0].id + '</td>'
                        showStr += '<td style="border: 1px solid;">' + KStarForm.koContentModel.MXList()[i * pageSize + j].Remark() + '</td>'
                        showStr += '<td style="border: 1px solid;">' + KStarForm.koContentModel.MXList()[i * pageSize + j].MouldName_NumberAndName().substring(KStarForm.koContentModel.MXList()[i * pageSize + j].MouldName_NumberAndName().indexOf('-') + 1) + '</td>'
                        showStr += '<td style="border: 1px solid;">' + KStarForm.koContentModel.MXList()[i * pageSize + j].StandardNumber() + '</td>'
                        showStr += '<td style="border: 1px solid;">' + KStarForm.koContentModel.MXList()[i * pageSize + j].StockNumber() + '</td>'
                        showStr += '</tr>'
                    }
                    all_length -= pageSize;
                }

                showStr += '</tbody>'
                showStr += '</table>'
                showStr += '<div style="text-align:center;font-size:20px;width:750px;margin-top:40px;height:30px;">'
                showStr += '<div style="width:25%;float:left;"><b>移交人:&nbsp;</b></div>'
                showStr += '<div style="width:25%;float:left;"><b>移交日期:&nbsp;</b></div>'
                showStr += '<div style="width:25%;float:left;"><b>簽收人:&nbsp;</b></div>'
                showStr += '<div style="width:25%;float:left;"><b>簽收日期:&nbsp;</b></div>'
                showStr += '</div>'
                showStr += '</div>';
            }
            showStr += '</body>';
            win = window.open('打印.html');
            //输出
            win.document.write(showStr);
            //调用浏览器打印 Ctrl + P
            win.print();

        }

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

laizhixue

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值