From 0953b3b5fcf19c627c6479a6b86648df653c40db Mon Sep 17 00:00:00 2001
From: buli <137736985@qq.com>
Date: 星期一, 09 五月 2022 17:50:33 +0800
Subject: [PATCH] SF PIPL Page Fix Lookup Required issue

---
 force-app/main/default/pages/NEWCreateSWOQuoteReadOnly.page |   92 +++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 87 insertions(+), 5 deletions(-)

diff --git a/force-app/main/default/pages/NEWCreateSWOQuoteReadOnly.page b/force-app/main/default/pages/NEWCreateSWOQuoteReadOnly.page
index b3cb2e6..2568d35 100644
--- a/force-app/main/default/pages/NEWCreateSWOQuoteReadOnly.page
+++ b/force-app/main/default/pages/NEWCreateSWOQuoteReadOnly.page
@@ -6,9 +6,89 @@
 <apex:includeScript value="{!URLFOR($Resource.NewQuoteEntryJS)}"/>
 <apex:includeScript value="{!URLFOR($Resource.connection20)}"/>
 <apex:includeScript value="{!URLFOR($Resource.apex20)}"/>
+<apex:includeScript value="{! URLFOR($Resource.AWSService, 'AWSService.js') }" />
 
 <script type="text/javascript">
+        // 20220311 PI鏀归�� by Bright start
+        AWSService.sfSessionId = '{!GETSESSIONID()}';
+    	var staticResource = JSON.parse('{!staticResource}');
+    	var contactstaticResource = JSON.parse('{!contactstaticResource}');
 
+		var aws_data = {};
+
+		function Decrypt(r,dataIds,callback){
+			if (!(dataIds && dataIds.length)) {
+				if(callback)callback();
+				return;
+			}
+
+			let Foo = function(){
+				for (const id of dataIds) {
+					if (aws_data.hasOwnProperty(id)) {
+						let d = aws_data[id];
+						let $e =j$("[aws-id='"+d.dataId+ "']");
+						$e.each((i,e)=>{
+							j$(e).html(d[j$(e).attr("aws-api")]);
+						})
+						
+					}
+				}
+				if(callback)callback();
+			}
+			let ids = [];
+			for (const id of dataIds) {
+				if (!aws_data.hasOwnProperty(id)) {
+					ids.push(id);
+				}
+			}
+			if (ids.length > 0) {
+				
+				AWSService.search(r.searchUrl,JSON.stringify({
+					"dataIds":ids
+				}),function(data){
+					
+					if(data.object && data.object.length > 0){
+						
+						for(let d of data.object){
+							if(d.dataId){
+								aws_data[d.dataId] = d;
+							}
+						}
+						Foo();
+					}else{
+						if(callback)callback();
+					}
+				},r.token);
+			}else{
+				Foo();
+			}
+		}
+
+		function DecryptAll(callback){
+			let dataIds1 = [];
+			j$('[aws-id][aws-obj="Contact"]').each((i,e)=>{
+				let v = j$(e).attr('aws-id');
+				if (v) {
+					dataIds1.push(v);
+				}
+			});
+			Decrypt(contactstaticResource,dataIds1,callback);
+
+            let dataIds2 = [];
+			j$('[aws-id][aws-obj="Quotes__c"]').each((i,e)=>{
+				let v = j$(e).attr('aws-id');
+				if (v) {
+					dataIds2.push(v);
+				}
+			});
+			Decrypt(staticResource,dataIds2,callback);
+		}
+
+		j$(function(){
+			DecryptAll();
+			
+		})
+        // 20220311 PI鏀归�� by Bright end
         
         function openPDF(){
             
@@ -137,7 +217,9 @@
                         <tr>
 
                             <td colspan="2" align="left" ><apex:outputField id="CURRENCY" value="{!QuotesPage.CURRENCY__c}" style="width: 56%"/></td>
-                            <td colspan="2" align="left" ><apex:outputField value="{!QuotesPage.CONTACT_NAME__c}" style="width: 63%"/></td>
+                            <td colspan="2" align="left" >
+                                <a href="/{!QuotesPage.CONTACT_NAME__c}" aws-obj="Contact" aws-api="lastName" aws-id="{!QuotesPage.CONTACT_NAME__r.AWS_Data_Id__c}">{!QuotesPage.CONTACT_NAME__r.Name}</a>
+                            </td>
                             <td colspan="2"/>
                             <td colspan="2" class="title1">Summary</td>
                             <td/>
@@ -157,7 +239,7 @@
                         <tr>
                             <td colspan="2" align="left" ><apex:outputField id="COMPANY" value="{!QuotesPage.COMPANY__c}"/>
                             </td>
-                            <td align="left" ><apex:outputField id="CONTACT_PHONE" value="{!QuotesPage.CONTACT_PHONE__c}"/></td>
+                            <td align="left" ><apex:outputField html-aws-obj="Quotes__c" html-aws-api="contactPhone" html-aws-id="{!QuotesPage.AWS_Data_Id__c}" id="CONTACT_PHONE" value="{!QuotesPage.CONTACT_PHONE__c}"/></td>
                             <td colspan="3"/>
                             <td class="title2">{!$ObjectType.Quotes__c.fields.DISCOUNT__c.label}</td>
                             <td class="title2" align="left" ><apex:outputField value="{!QuotesPage.DISCOUNT__c}" style="width: 62%"/></td>
@@ -460,8 +542,8 @@
                             <td class="hand" align="left" >{!$ObjectType.Quotes__c.fields.SHIP_TO__c.label}</td>
                         </tr>
                         <tr>
-                            <td colspan="2" align="left" ><apex:outputField id="BILL_TO" value="{!QuotesPage.BILL_TO__c }" style="width: 90%;height: 80PX"/></td>
-                            <td colspan="2" align="left" ><apex:outputField id="SHIP_TO" value="{!QuotesPage.SHIP_TO__c}" style="width: 90%;height: 80PX"/></td> 
+                            <td colspan="2" align="left" ><apex:outputField html-aws-obj="Quotes__c" html-aws-api="billTo" html-aws-id="{!QuotesPage.AWS_Data_Id__c}" id="BILL_TO" value="{!QuotesPage.BILL_TO__c }" style="width: 90%;height: 80PX"/></td>
+                            <td colspan="2" align="left" ><apex:outputField html-aws-obj="Quotes__c" html-aws-api="shipTo" html-aws-id="{!QuotesPage.AWS_Data_Id__c}" id="SHIP_TO" value="{!QuotesPage.SHIP_TO__c}" style="width: 90%;height: 80PX"/></td> 
                         </tr>
                         <tr>
                              <td colspan="9"> <hr/></td>
@@ -819,7 +901,7 @@
                             <td><apex:outputText value="{!mail.haveAtt}" /></td>
                             <td>
                                 <apex:repeat value="{!mail.attList}" var="att" id="lines">
-                                    <apex:outputLink value="/{!att.Id}" target="LINK_{!att.Id}"><c:PDFWbr targetStr="{!att.Name}" /></apex:outputLink>
+                                    <apex:outputLink value="/{!att.Id}" target="LINK_{!att.Id}"><c:PDFWbr targetStr="{!att.FileName__c}" /></apex:outputLink>
                                     <br/>
                                 </apex:repeat>
                             </td>

--
Gitblit v1.9.1