| | |
| | | <apex:page Controller="OrderPdf2Controller" showHeader="false" sidebar="false" id="allPage" action="{!init}" renderAs="pdf" > <!-- renderAs="pdf" --> |
| | | <apex:page Controller="OrderPdf2Controller" showHeader="false" sidebar="false" id="allPage" action="{!init}" > <!-- renderAs="pdf" --> |
| | | <head> |
| | | <style> |
| | | @page { |
| | |
| | | td.border-thick-title { border-width: 1pt 0pt 1pt 0pt; border-style: solid; border-color: black; text-align: center;} |
| | | td.border-thick-bottom { border-width: 0pt 0pt 1pt 0pt; border-style: solid; border-color: black; text-align: center;} |
| | | td.detail { text-align: center; } |
| | | /* 20220221 PI改造 by 徐亮 start */ |
| | | body{margin: 0 auto; |
| | | width: 780px;} |
| | | #title1{height: 30px;} |
| | | #title2{height: 110px;} |
| | | /* 20220221 PI改造 by 徐亮 end */ |
| | | |
| | | </style> |
| | | <!-- 20220221 PI改造 by 徐亮 start --> |
| | | <apex:includeScript value="{! URLFOR($Resource.AWSService, 'AWSService.js') }" /> |
| | | <script src="../../soap/ajax/53.0/connection.js" type="text/javascript"></script> |
| | | <apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}"/> |
| | | <apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}"/> |
| | | <apex:includeScript value="{!URLFOR($Resource.PleaseWaitDialog)}"/> |
| | | |
| | | <apex:includeScript value="{!URLFOR($Resource.jspdf)}"/> |
| | | <apex:includeScript value="{!URLFOR($Resource.html2canvas)}"/> |
| | | |
| | | |
| | | <!-- 20220221 PI改造 by 徐亮 end --> |
| | | </head> |
| | | <body style="font-family: Arial Unicode MS; page-break-inside: auto; font-size: 8pt;"> |
| | | <body style="font-family: Arial Unicode MS; page-break-inside: auto; font-size: 8pt;line-height: 16pt;"> |
| | | <div id="pdf-wrapper"> |
| | | <div id="title1"></div> |
| | | <table border="0" width="100%"> |
| | | <tr> |
| | | <td style="text-align: center; font-size: 16pt;">完税订货单</td> |
| | |
| | | </tr> |
| | | <tr> |
| | | <td style="text-align: right;">联系地址:</td> |
| | | <td style="text-align: left;" colspan="5">{!header.delivery_address}</td> |
| | | <td style="text-align: left;" colspan="5" id="delivery_address">{!header.delivery_address}</td> |
| | | </tr> |
| | | <tr> |
| | | <td style="text-align: right;">城市:</td> |
| | |
| | | </tr> |
| | | <tr> |
| | | <td style="text-align: right;">收货人姓名:</td> |
| | | <td style="text-align: left;">{!header.delivery_user}</td> |
| | | <td style="text-align: left;" id="delivery_user">{!header.delivery_user}</td> |
| | | <td style="text-align: right;">固话:</td> |
| | | <td style="text-align: left;">{!header.delivery_phone}</td> |
| | | <td style="text-align: left;" id="delivery_phone">{!header.delivery_phone}</td> |
| | | <td style="text-align: right;">手机:</td> |
| | | <td style="text-align: left;">{!header.delivery_tel}</td> |
| | | <td style="text-align: left;" id="delivery_tel">{!header.delivery_tel}</td> |
| | | </tr> |
| | | </table> |
| | | <table style="border:solid 1px black" width="100%"> |
| | |
| | | </tr> |
| | | <tr> |
| | | <td style="text-align: right;">联系地址:</td> |
| | | <td style="text-align: left;" colspan="5">{!header.user_address}</td> |
| | | <td style="text-align: left;" colspan="5" id="user_address">{!header.user_address}</td> |
| | | </tr> |
| | | <tr> |
| | | <td style="text-align: right;">城市:</td> |
| | |
| | | </tr> |
| | | <tr> |
| | | <td style="text-align: right;">用户姓名:</td> |
| | | <td style="text-align: left;">{!header.user_name2}</td> |
| | | <td style="text-align: left;" id="user_name2">{!header.user_name2}</td> |
| | | <td style="text-align: right;">固话:</td> |
| | | <td style="text-align: left;">{!header.user_phone}</td> |
| | | <td style="text-align: left;" id="user_phone">{!header.user_phone}</td> |
| | | <td style="text-align: right;">手机:</td> |
| | | <td style="text-align: left;">{!header.user_tel}</td> |
| | | <td style="text-align: left;" id="user_tel">{!header.user_tel}</td> |
| | | </tr> |
| | | <apex:outputPanel layout="none" rendered="{!IF(productSegment == 'IE', true, false)}"> |
| | | <tr> |
| | |
| | | <td style="text-align: left;"> </td> |
| | | </tr> --> |
| | | </table> |
| | | </div> |
| | | </body> |
| | | <!-- 20220221 PI改造 by 徐亮 start --> |
| | | <script> |
| | | AWSService.sfSessionId = '{!GETSESSIONID()}'; |
| | | var staticResources = JSON.parse('{!staticResource}'); |
| | | |
| | | function Fun(pdf){ |
| | | var iframe = document.createElement('iframe'); |
| | | iframe.setAttribute('style', 'position:absolute;right:0; top:0; bottom:0; height:100%; width:100%'); |
| | | document.body.appendChild(iframe); |
| | | iframe.src = pdf.output('datauristring'); |
| | | for(let e of document.body.childNodes){ |
| | | if( e != iframe && e.style){ |
| | | e.style.display = 'none'; |
| | | } |
| | | } |
| | | } |
| | | |
| | | let id = "pdf-wrapper"; |
| | | var target = document.getElementById(id); |
| | | function jsPdfDownload(){ |
| | | let pdfName = "测试"; |
| | | let id = "pdf-wrapper"; |
| | | var target = document.getElementById(id); |
| | | target.style.background = "#FFFFFF"; |
| | | if(pdfName==''||pdfName==undefined) pdfName= getNowFormatDate(); |
| | | |
| | | html2canvas(target, { |
| | | scale: 2, |
| | | onrendered:function(canvas) { |
| | | let landscape = false; |
| | | let pw = 595.28; |
| | | let ph = 841.89; |
| | | const marginw = 40; |
| | | |
| | | let orientation = ''; |
| | | if (landscape) { |
| | | let temp =ph; |
| | | ph = pw; |
| | | pw = temp; |
| | | orientation = 'l'; |
| | | } |
| | | |
| | | |
| | | var contentWidth = canvas.width; |
| | | var contentHeight = canvas.height; |
| | | |
| | | //一页pdf显示html页面生成的canvas高度; |
| | | var pageHeight = contentWidth / pw * ph; |
| | | //未生成pdf的html页面高度 |
| | | var leftHeight = contentHeight; |
| | | //页面偏移 |
| | | var position = 0; |
| | | //a4纸的尺寸[595.28,841.89],html页面生成的canvas在pdf中图片的宽高 |
| | | var imgWidth = pw-2*marginw;//595.28//左右边距20 |
| | | var imgHeight = imgWidth/contentWidth * contentHeight;//左右边距20 |
| | | |
| | | var pageData = canvas.toDataURL('image/jpeg', 1.0); |
| | | |
| | | var pdf = new jsPDF(orientation, 'pt', 'a4');// 第一个参数填字母l,注意不是数字1,为横向pdf |
| | | |
| | | //有两个高度需要区分,一个是html页面的实际高度,和生成pdf的页面高度(841.89) |
| | | //当内容未超过pdf一页显示的范围,无需分页 |
| | | if (leftHeight < pageHeight) { |
| | | pdf.addImage(pageData, 'JPEG', marginw, 0, imgWidth, imgHeight );//左右边距20 |
| | | } else { |
| | | while(leftHeight > 0) { |
| | | pdf.addImage(pageData, 'JPEG', marginw, position, imgWidth, imgHeight)//左右边距20 |
| | | leftHeight -= pageHeight; |
| | | position -= ph; |
| | | //避免添加空白页 |
| | | if(leftHeight > 0) { |
| | | pdf.addPage(); |
| | | } |
| | | } |
| | | } |
| | | Fun(pdf); |
| | | } |
| | | }) |
| | | } |
| | | |
| | | //blockme(); |
| | | document.body.onload = function(){ |
| | | let dataIds = []; |
| | | |
| | | if('{!header.delivery_aws_data_id}')dataIds.push('{!header.delivery_aws_data_id}'); |
| | | if('{!header.user_aws_data_id}')dataIds.push('{!header.user_aws_data_id}'); |
| | | |
| | | AWSService.post(staticResources.searchUrl, JSON.stringify({ |
| | | dataIds:dataIds |
| | | }), function(data){ |
| | | |
| | | //unblockUI(); |
| | | if(data && data.object && data.object.length){ |
| | | for (const obj of data.object) { |
| | | if (obj.dataId == '{!header.delivery_aws_data_id}') { |
| | | document.getElementById("delivery_address").innerHTML = obj.address1; |
| | | document.getElementById("delivery_user").innerHTML = obj.lastName; |
| | | document.getElementById("delivery_phone").innerHTML = obj.phone; |
| | | document.getElementById("delivery_tel").innerHTML = obj.mobilePhone; |
| | | } |
| | | |
| | | if (obj.dataId == '{!header.user_aws_data_id}') { |
| | | document.getElementById("user_address").innerHTML = obj.address1; |
| | | document.getElementById("user_name2").innerHTML = obj.lastName; |
| | | document.getElementById("user_phone").innerHTML = obj.phone; |
| | | document.getElementById("user_tel").innerHTML = obj.mobilePhone; |
| | | } |
| | | } |
| | | |
| | | |
| | | setTimeout(() => { |
| | | jsPdfDownload(); |
| | | }, 1500); |
| | | } |
| | | |
| | | |
| | | |
| | | }, staticResources.token); |
| | | |
| | | |
| | | |
| | | } |
| | | |
| | | document.body.onclick = function(){ |
| | | //jsPdfDownload(); |
| | | } |
| | | </script> |
| | | <!-- 20220221 PI改造 by 徐亮 end --> |
| | | </apex:page> |