<apex:page Controller="OrderPdf2Controller" showHeader="false" sidebar="false" id="allPage" action="{!init}" renderAs="pdf"><!-- renderAs="pdf" -->
|
|
<head>
|
<style>
|
@page {
|
size: A4 landscape;
|
margin: 12mm 12mm 5mm 12mm;
|
|
@bottom-center {
|
content: counter(page) " / " counter(pages);
|
}
|
}
|
|
table { border-collapse: collapse; }
|
|
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: 80px;}
|
#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;line-height: 16pt;">
|
<div id="pdf-wrapper">
|
<div id="title1"></div>
|
<table border="0" width="100%" style="margin-bottom: 8pt;">
|
<apex:outputPanel layout="none" rendered="{!IF(productSegment == 'NDT', true, false)}">
|
<tr>
|
<td style="text-align: center; font-size: 16pt;">SSBG-NDT内贸订货单</td>
|
</tr>
|
</apex:outputPanel>
|
<apex:outputPanel layout="none" rendered="{!IF(productSegment == 'NDT', false, true)}">
|
<tr>
|
<td style="text-align: center; font-size: 16pt;">SSBG-ANI内贸订货单</td>
|
</tr>
|
</apex:outputPanel>
|
</table>
|
|
<table style="border:solid 1px black" width="100%">
|
<colgroup>
|
<col width="15%"/>
|
<col width="35%"/>
|
<col width="10%"/>
|
<col width="40%"/>
|
</colgroup>
|
<tr>
|
<td style="text-align: right;">买方:</td>
|
<td style="text-align: left;">{!header.buyer_name}</td>
|
<td style="text-align: right;">卖方:</td>
|
<td style="text-align: left;">{!header.seller_name}</td>
|
</tr>
|
|
<tr>
|
<td style="text-align: right;">地址:</td>
|
<td style="text-align: left;">{!header.buyer_address}</td>
|
<td style="text-align: right;">地址:</td>
|
<td style="text-align: left;">中国(上海)自由贸易试验区日樱北路199-9号102及302部位</td>
|
</tr>
|
|
<tr>
|
<td style="text-align: right;">城市:</td>
|
<td style="text-align: left;">{!header.buyer_city}</td>
|
<td style="text-align: right;">城市:</td>
|
<td style="text-align: left;">{!header.seller_city}</td>
|
</tr>
|
<tr>
|
<td style="text-align: right;">省份:</td>
|
<td style="text-align: left;">{!header.buyer_province}</td>
|
<td style="text-align: right;">省份:</td>
|
<td style="text-align: left;">{!header.seller_province}</td>
|
</tr>
|
<tr>
|
<td style="text-align: right;">电话:</td>
|
<td style="text-align: left;">{!header.buyer_phone}</td>
|
<td style="text-align: right;">电话:</td>
|
<td style="text-align: left;">{!header.seller_phone}</td>
|
</tr>
|
</table>
|
<table style="border:solid 1px black" width="100%">
|
<colgroup>
|
<col width="15%"/>
|
<col width="35%"/>
|
<col width="10%"/>
|
<col width="40%"/>
|
</colgroup>
|
<tr>
|
<td style="text-align: right;">①订单编号:</td>
|
<td style="text-align: left;">{!header.pdf_order_no}</td>
|
<!-- <td style="text-align: right;">要求交期:</td>
|
<td style="text-align: left;">{!header.order_require_date}</td> -->
|
</tr>
|
<tr>
|
<td style="text-align: right;">CRM报备号:</td>
|
<td style="text-align: left;">{!header.order_crm_no}</td>
|
<td style="text-align: right;">中间商:</td>
|
<td style="text-align: left;">{!header.order_subdealer}</td>
|
</tr>
|
</table>
|
<table style="border:solid 1px black" width="100%">
|
<colgroup>
|
<col width="15%"/>
|
<col width="20%"/>
|
<col width="10%"/>
|
<col width="20%"/>
|
<col width="10%"/>
|
<col width="25%"/>
|
</colgroup>
|
<tr>
|
<td style="text-align: center;">③收货信息</td>
|
<td style="text-align: left;" colspan="5"> </td>
|
</tr>
|
<tr>
|
<td style="text-align: right;">收货公司:</td>
|
<td style="text-align: left;" colspan="5">{!header.delivery_name}</td>
|
</tr>
|
<tr>
|
<td style="text-align: right;">科室:</td>
|
<td style="text-align: left;" colspan="5">{!header.delivery_department}</td>
|
</tr>
|
<tr>
|
<td style="text-align: right;">联系地址:</td>
|
<td style="text-align: left;" colspan="5">{!header.delivery_address}</td>
|
</tr>
|
<tr>
|
<td style="text-align: right;">城市:</td>
|
<td style="text-align: left;">{!header.delivery_city}</td>
|
<td style="text-align: right;">省份:</td>
|
<td style="text-align: left;" colspan="3">{!header.delivery_province}</td>
|
</tr>
|
<tr>
|
<td style="text-align: right;">收货人姓名:</td>
|
<td style="text-align: left;" id="delivery_user">{!header.delivery_user}</td>
|
<td style="text-align: right;">固话:</td>
|
<td style="text-align: left;" id="delivery_phone">{!header.delivery_phone}</td>
|
<td style="text-align: right;">手机:</td>
|
<td style="text-align: left;" id="delivery_tel">{!header.delivery_tel}</td>
|
</tr>
|
</table>
|
<table style="border:solid 1px black" width="100%">
|
<colgroup>
|
<col width="15%"/>
|
<col width="20%"/>
|
<col width="10%"/>
|
<col width="20%"/>
|
<col width="10%"/>
|
<col width="25%"/>
|
</colgroup>
|
<tr>
|
<td style="text-align: center;">④用户信息</td>
|
<td style="text-align: left;" colspan="5"> </td>
|
</tr>
|
<tr>
|
<td style="text-align: right;">用户名称:</td>
|
<td style="text-align: left;" colspan="3">{!header.user_name}</td>
|
<td style="text-align: right;">CRM客户编号:</td>
|
<td style="text-align: left;">{!header.user_no}</td>
|
</tr>
|
<tr>
|
<td style="text-align: right;">科室:</td>
|
<td style="text-align: left;" colspan="5">{!header.user_department}</td>
|
</tr>
|
<tr>
|
<td style="text-align: right;">联系地址:</td>
|
<td style="text-align: left;" colspan="5" id="user_address">{!header.user_address}</td>
|
</tr>
|
<tr>
|
<td style="text-align: right;">城市:</td>
|
<td style="text-align: left;">{!header.user_city}</td>
|
<td style="text-align: right;">省份:</td>
|
<td style="text-align: left;" colspan="3">{!header.user_province}</td>
|
</tr>
|
<tr>
|
<td style="text-align: right;">用户姓名:</td>
|
<td style="text-align: left;" id="user_name2">{!header.user_name2}</td>
|
<td style="text-align: right;">固话:</td>
|
<td style="text-align: left;" id="user_phone">{!header.user_phone}</td>
|
<td style="text-align: right;">手机:</td>
|
<td style="text-align: left;" id="user_tel">{!header.user_tel}</td>
|
</tr>
|
<tr>
|
<td style="text-align: right;">Sub Use:</td>
|
<td style="text-align: left;" colspan="5">{!header.user_product_IE}</td>
|
</tr>
|
</table>
|
|
<apex:variable var="count" value="{!0}"/>
|
|
<apex:repeat value="{!pageDetails}" var="details">
|
|
<apex:variable var="count" value="{!count + 1}"/>
|
|
<table style="border-collapse:collapse;" border="1" width="100%">
|
<colgroup>
|
<col width= "5%" />
|
<col width= "12%" />
|
<col width= "27%" />
|
<col width= "20%" />
|
<col width= "8%" />
|
<col width= "13%" />
|
<col width= "15%" />
|
</colgroup>
|
<tr>
|
<td style="text-align: center;" colspan="9">⑤订货明细</td>
|
</tr>
|
<tr>
|
<td style="text-align: center;">NO.</td>
|
<td style="text-align: center;">U8</td>
|
<td style="text-align: center;">UPC CODE</td>
|
<td style="text-align: center;">产品描述</td>
|
<td style="text-align: center;">数量</td>
|
<td style="text-align: center;">单价(RMB)</td>
|
<td style="text-align: center;">总价(RMB)</td>
|
|
</tr>
|
<apex:repeat value="{!details}" var="detail">
|
<tr>
|
<td style="text-align: center;"><apex:outputText value="{!detail.lineno}" /></td>
|
<td style="text-align: left;"><apex:outputText value="{!detail.otcode}" /></td>
|
<td style="text-align: left;"><c:PDFWbr targetStr="{!detail.eccode}"/></td>
|
<td style="text-align: left;"> <c:PDFWbr targetStr="{!detail.name}"/></td>
|
<td style="text-align: center;"><apex:outputText value="{!detail.quantity}" /></td>
|
<td style="text-align: right;"><apex:outputText value="{!detail.price}" /></td>
|
<td style="text-align: right;"><apex:outputText value="{!detail.price_d}" /></td>
|
|
</tr>
|
</apex:repeat>
|
</table>
|
|
<apex:outputpanel rendered="{!count < pageCnt}">
|
<div style="page-break-after: always;"/>
|
</apex:outputpanel>
|
|
</apex:repeat>
|
<table style="border:solid 1px black" width="100%">
|
<colgroup>
|
<col width="70%"/>
|
<col width="20%"/>
|
<col width="10%"/>
|
</colgroup>
|
|
<tr>
|
<td style="text-align: right;">合计:</td>
|
<td style="text-align: right;">{!header.order_subtotal}</td>
|
<td style="text-align: center;"> </td>
|
|
</tr>
|
<tr>
|
<td style="text-align: right;">折扣率:</td>
|
<td style="text-align: right;">{!header.order_discount_rate}</td>
|
<td style="text-align: center;"> </td>
|
</tr>
|
<tr>
|
<td style="text-align: right;">折扣值:</td>
|
<td style="text-align: right;">{!header.order_discount_value}</td>
|
<td style="text-align: center;"> </td>
|
</tr>
|
<tr>
|
<td style="text-align: right;">ECN折扣后合计 (ECN->代理商):</td>
|
<td style="text-align: right;">{!header.order_totalprice}</td>
|
<td style="text-align: center;"> </td>
|
</tr>
|
</table>
|
|
<table style="border:solid 1px black" width="100%">
|
<colgroup>
|
<col width="12%"/>
|
<col width="48%"/>
|
<col width="10"/>
|
<col width="30"/>
|
</colgroup>
|
<tr>
|
<td style="text-align: left;">IE/RVI填写</td>
|
<td style="text-align: center;"> </td>
|
</tr>
|
<tr>
|
<td style="text-align: left;">INQUIRY NO.:</td>
|
<td style="text-align: left;" colspan="3">{!header.order_inquiry_no}</td>
|
</tr>
|
<tr style="border-bottom: thin solid black;">
|
<td style="text-align: left;">报备单号:</td>
|
<td style="text-align: left;" colspan="3">{!header.order_no}</td>
|
</tr>
|
<tr style="border-bottom: thin solid black;">
|
<td style="text-align: left;">备注:</td>
|
<td style="text-align: left;" ><c:PDFWbr targetStr="{!order.Description}"/><!-- <apex:outputText id="Description" value="{!order.Description}"></apex:outputText> --></td>
|
</tr>
|
<tr><td style="text-align-last: left;" colspan="4"> </td></tr>
|
<tr><td style="text-align-last: left;" colspan="4"> </td></tr>
|
|
<tr>
|
<td style="text-align: left;" colspan="3"> </td>
|
<td style="text-align: center; border-top: thin solid black;">买方盖章</td>
|
|
|
</tr>
|
</table>
|
<table border="0" width="100%">
|
|
<tr>
|
<td style="text-align: left;">单位名称:仪景通光学科技(上海)有限公司</td>
|
|
</tr>
|
<!-- <tr>
|
<td style="text-align: left;">整机账户(NDT/ANI 内贸业务)</td>
|
|
</tr> -->
|
<tr>
|
<td style="text-align: left;">开 户 行:招商银行股份有限公司上海外高桥支行 </td>
|
|
</tr>
|
<tr>
|
<td style="text-align: left;">银行账号:121944940610202 </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>
|