高章伟
2022-02-18 8b5f4c6c281cfa548f92de52c8021e37aa81901e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
<apex:page standardController="Quote" extensions="QuotePDFExtensionController" showHeader="false" sidebar="false" renderAs="pdf" action="{!startQuote}">
<apex:stylesheet value="{!URLFOR($Resource.quotepdf)}"/>
<head>
 
<style>
 
</style>
 
</head>
 
<body style="font-family: Arial Unicode MS;">
 
    <!-- ページ番号の定義 -->  
    <apex:variable var="count" value="{!0}"/>
    
    <!-- ページのリピート -->
    <apex:repeat value="{!printRecords}" var="items" id="thePage">
 
    <!-- ページキャンバス -->        
    <div class="pageCanvas">
    
        <!-- ページ番号インクリメント -->
        <apex:variable var="count" value="{!count + 1}"/>
        
        <!-- 各ページのタイトル -->
        <div class="quoteTitle">{!$Label.Quote_Title}</div>
        <!-- 各ページのヘッダキャンバス -->
        <div class="headerCanvas">
            <table style="border-style:none; border-color:red;">
                <tr>
                    <td>
                        <div>Quotation</div>
                        <div>&nbsp;</div>
                        <div>{!$Label.Quote_Client_Name}</div>
                        <div><apex:outputpanel rendered="{!params.Agent1Name!=null}">{!$Label.Contract_Detail_Dealer_Name}</apex:outputpanel><apex:outputpanel rendered="{!params.Agent1Name==null}">&nbsp;</apex:outputpanel></div>
                        <div><apex:outputpanel rendered="{!params.Agent2Name!=null}">{!$Label.Contract_Detail_Dealer_Name}</apex:outputpanel><apex:outputpanel rendered="{!params.Agent2Name==null}">&nbsp;</apex:outputpanel></div>
                    </td>
                    <td>
                        <div>:&nbsp;</div>
                        <div>&nbsp;</div>
                        <div>:&nbsp;</div>
                        <div><apex:outputpanel rendered="{!params.Agent1Name!=null}">:</apex:outputpanel>&nbsp;</div>
                        <div><apex:outputpanel rendered="{!params.Agent2Name!=null}">:</apex:outputpanel>&nbsp;</div>
                    </td>
                    <td>
                        <div>&nbsp;{!params.quoteNo}</div>
                        <div>&nbsp;</div>
                        <div>&nbsp;{!params.clientName}</div>
                        <div>&nbsp;<apex:outputpanel rendered="{!params.Agent1Name!=null}">{!params.agent1Name}</apex:outputpanel></div>
                        <div>&nbsp;<apex:outputpanel rendered="{!params.Agent2Name!=null}">{!params.agent2Name}</apex:outputpanel></div>
                    </td>
                </tr>
            </table>
            <table style="border-style:none; top:0px; right:0px; position:absolute;">
                <tr>
                    <td>
                        <div style="text-align:right;">报价日期 :&nbsp;&nbsp;{!params.quoteDateString}</div>
                        <div>此报价单自报价日起三个月内有效</div>
                    </td>
                </tr>
            </table>
            <table style="border-style:none; border-color:green; top:36px; right:0px; position:absolute;">
                <tr>
                    <td>
                        <div>&nbsp;{!$Label.Quote_Department}</div>
                        <div>&nbsp;<apex:outputpanel rendered="{!params.Agent1Name!=null}">{!$Label.phone}</apex:outputpanel></div>
                        <div>&nbsp;<apex:outputpanel rendered="{!params.Agent2Name!=null}">{!$Label.phone}</apex:outputpanel></div>
                    </td>
                    <td>
                        <div>:&nbsp;</div>
                        <div><apex:outputpanel rendered="{!params.Agent1Name!=null}">:</apex:outputpanel>&nbsp;</div>
                        <div><apex:outputpanel rendered="{!params.Agent2Name!=null}">:</apex:outputpanel>&nbsp;</div>
                    </td>
                    <td>
                        <div>&nbsp;{!params.departmentName}</div>
                        <div>&nbsp;<apex:outputpanel rendered="{!params.Agent1Name!=null}">{!params.agent1Phone}</apex:outputpanel></div>
                        <div>&nbsp;<apex:outputpanel rendered="{!params.Agent2Name!=null}">{!params.agent2Phone}</apex:outputpanel></div>
                    </td>
                    <td>
                        <div style="width:40px; border-style:none;"></div>
                    </td>
                    <td>
                        <div>&nbsp;</div>
                        <div>&nbsp;<apex:outputpanel rendered="{!params.Agent1Name!=null}">{!$Label.fax}</apex:outputpanel></div>
                        <div>&nbsp;<apex:outputpanel rendered="{!params.Agent2Name!=null}">{!$Label.fax}</apex:outputpanel></div>
                    </td>
                    <td>
                        <div>&nbsp;</div>
                        <div><apex:outputpanel rendered="{!params.Agent1Name!=null}">:</apex:outputpanel>&nbsp;</div>
                        <div><apex:outputpanel rendered="{!params.Agent2Name!=null}">:</apex:outputpanel>&nbsp;</div>
                    </td>
                    <td>
                        <div>&nbsp;</div>
                        <div>&nbsp;<apex:outputpanel rendered="{!params.Agent1Name!=null}">{!params.agent1Fax}</apex:outputpanel></div>
                        <div>&nbsp;<apex:outputpanel rendered="{!params.Agent2Name!=null}">{!params.agent2Fax}</apex:outputpanel></div>
                    </td>
                </tr>
            </table>
        </div>
        
        <!-- 詳細部分のヘッダ -->
        <div class="currencyType">単位: {!params.trade}</div>
        
        <!-- ページ内の詳細のREPEAT -->
        <div class="detailCanvas">
            <apex:dataTable value="{!items}" var="item" id="dataTable" styleClass="detailTable" headerClass="detailTableHeader" columnClasses="detailTableCols">
                <apex:column styleClass="detailRowNumber" style="vertical-align:text-top; text-align: center;">
                        <apex:facet name="header">{!$Label.Quote_Product_Code}</apex:facet>
                        <apex:outputText value="{!item.qli.Item_Order__c}"/>
                </apex:column>
                <apex:column styleClass="detailRowString" style="vertical-align:text-top;">
                        <apex:facet name="header"></apex:facet>
                        <apex:outputText value="{!item.qli.Asset_Model_No_forPrint__c}"/>
                </apex:column>
                <apex:column styleClass="detailRowString" style="vertical-align:text-top;">
                        <apex:facet name="header"></apex:facet>
                        <apex:outputText value="{!item.qli.NameForPrintDelimiter__c}"/>
                </apex:column>
                <apex:column styleClass="detailRowString" style="vertical-align:text-top;">
                        <apex:facet name="header">{!$Label.Quote_Product_Name}</apex:facet>
                        <!-- CHAN-BC6AFM LHJ 20190515 Start-->
                        <!-- <apex:outputText value="{!item.qli.NameForPrint__c}"/> -->
                        <c:PDFWbr targetStr="{!item.qli.NameForPrint__c}"/>
                        <!-- CHAN-BC6AFM LHJ 20190515 End-->
                </apex:column>
                <apex:column styleClass="detailRowNumeric" style="vertical-align:text-top;" rendered="{!params.isUnitPrice==true}">
                        <apex:facet name="header">{!$Label.Detail_Price}</apex:facet>
                        <apex:outputText value="{0, number, ###,##0.00}">
                            <apex:param value="{!item.UnitPrice_c}" />
                        </apex:outputText>
                </apex:column>
                <apex:column styleClass="detailRowNumeric" style="vertical-align:text-top;">
                        <apex:facet name="header">{!$Label.Quantity}</apex:facet>
                        <apex:outputText value="{0, number, ###,###}">
                            <apex:param value="{!item.qli.Quantity}" />
                        </apex:outputText>
                </apex:column>
                <!-- 2021/01/18 liying start -->
                <apex:column styleClass="detailRowNumeric" style="text-align: center; vertical-align:text-top;" rendered="{!IF(params.isGuranteePeriod, true, false)}">
                        <apex:facet name="header">特殊保修年限</apex:facet>    
                        <apex:outputText value="{!item.qli.GuaranteePeriod__c}"/>                  
                </apex:column>
                <!-- 2021/01/18 liying end -->
                <apex:column styleClass="detailRowNumeric"  style="vertical-align:text-top;" rendered="{!params.isOfferAmount==true}">
                        <apex:facet name="header">{!$Label.Detail_Sum}</apex:facet>
                        <apex:outputText value="{0, number, ###,##0.00}">
                            <apex:param value="{!item.TotalPrice_c}" />
                        </apex:outputText>
                </apex:column>
            </apex:dataTable>
        </div>
        
        <!-- 最終ページにだけ表示する合計欄 -->
        <apex:outputPanel rendered="{!count==maxPageNumber}">
            <div class="totalCanvas">
                <div style="width:120px;">
                    <apex:outputPanel rendered="{!params.iSTotalPrice}"><div class="totalLabel">报价总额 : </div></apex:outputPanel>
                    <!-- <apex:outputPanel rendered="{!params.isMultiYearPrice && IF(params.trade == 'RMB', true, false)}"><div class="totalLabel">服务报价总额 : </div></apex:outputPanel> -->
                    <apex:outputPanel rendered="{!params.isDiscountRate}"><div class="totalLabel">{!$Label.Total_Discount_Percent} : </div></apex:outputPanel>
                    <apex:outputPanel rendered="{!params.isDiscountAmount}"><div class="totalLabel">{!$Label.Discount_Amount} : </div></apex:outputPanel>
                    <apex:outputPanel rendered="{!params.isTradingPrice}"><div class="totalLabel">{!$Label.Row_Total_Sum} : </div></apex:outputPanel>
                </div>
                <div style="position: absolute; top: 0px; right: 0px; padding-right:5px;">
                    <div class="totalValue"><apex:outputText rendered="{!params.iSTotalPrice}" value="{0, number, ###,##0.00}"><apex:param value="{!params.totalPrice}"/></apex:outputText></div>
                   <!--  <div class="totalValue"><apex:outputText rendered="{!params.isDiscountAmount}" value="{0, number, ###,##0.00}"><apex:param value="{!params.MultiYearWarrantyTotalPrice}"/></apex:outputText></div> -->
                   <!-- <div class="totalValue"><apex:outputText rendered="{!params.isMultiYearPrice && IF(params.trade == 'RMB', true, false)}" value="{0, number, ###,##0.00}"><apex:param value="{!params.MultiYearWarrantyTotalPrice}"/></apex:outputText></div> -->
                    <div class="totalValue"><apex:outputText rendered="{!params.isDiscountRate}">{!params.discountRate}%</apex:outputText></div>
                    <div class="totalValue"><apex:outputText rendered="{!params.isDiscountAmount}" value="{0, number, ###,##0.00}"><apex:param value="{!params.discountAmount}"/></apex:outputText></div>
                    <div class="totalValue"><apex:outputText rendered="{!params.isTradingPrice}"   value="{0, number, ###,##0.00}"><apex:param value="{!params.tradingPrice}"  /></apex:outputText></div>
                </div>
            </div>
        </apex:outputPanel>
              
        <br />
        
        <!-- 各ページのフッタキャンバス -->
        <apex:outputPanel rendered="{!count==maxPageNumber}">
            <div class="footerCanvas">
                <div class="footerSignLast">
                    {!$Label.Quote_OWner} : {!params.ownerName} {!$Label.Quote_Mobile_Phone} : {!params.mobilePhone}<br />
                    <br />
                    ({!$Label.Quote_Owner_Signature})<br />
                    
                </div>
                
                <div class="footerAddress">
                    
                    <div>
                        □{!params.addressName}   <br />
                        {!params.address}(邮编:{!params.postCode})
                    </div>
                    <!-- <div style="height: 10px;"></div>
                    <div>
                        □奥林巴斯(北京)销售服务有限公司上海分公司   <br />
                        &nbsp;&nbsp;{!params.address}(邮编:{!params.postCode})
                    </div>
                    <div style="height: 10px;"></div>
                    <div>
                        □奥林巴斯(北京)销售服务有限公司广州分公司   <br />
                        &nbsp;&nbsp;{!params.address}(邮编:{!params.postCode})
                    </div> -->
 
                </div>
            </div>
        </apex:outputPanel>
        <apex:outputPanel rendered="{!count!=maxPageNumber}">
            <div class="footerSign"  style="position:absolute; top:880px;">
                {!$Label.Quote_OWner} : {!params.ownerName} {!$Label.Quote_Mobile_Phone} : {!params.mobilePhone}<br />
                <br />
                ({!$Label.Quote_Owner_Signature})<br />
            </div>
        </apex:outputPanel>
     
     </div>
        
        <!-- 各ページを区切る改ページ、最終ページには出さないようにしている -->
        <apex:outputpanel rendered="{!count<maxPageNumber}">
        <div style="page-break-after: always;"/>
        </apex:outputpanel>
        
    </apex:repeat>
 
</body>
 
</apex:page>