From ead4df22dca33a867279471821ca675f91dec760 Mon Sep 17 00:00:00 2001
From: buli <137736985@qq.com>
Date: 星期六, 14 五月 2022 18:44:54 +0800
Subject: [PATCH] FixIssue0514

---
 force-app/main/default/pages/NEWCreateSWOQuote.page |  134 ++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 128 insertions(+), 6 deletions(-)

diff --git a/force-app/main/default/pages/NEWCreateSWOQuote.page b/force-app/main/default/pages/NEWCreateSWOQuote.page
index 7835391..b2e2489 100644
--- a/force-app/main/default/pages/NEWCreateSWOQuote.page
+++ b/force-app/main/default/pages/NEWCreateSWOQuote.page
@@ -7,8 +7,88 @@
 <apex:includeScript value="{!URLFOR($Resource.SWOJS)}"/>
 <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
 </script>
 <style type="text/css"> 
         .Page{
@@ -133,7 +213,9 @@
                         <tr>
 
                             <td colspan="2" align="left" ><apex:inputField 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/>
@@ -154,7 +236,7 @@
                             <td colspan="2" align="left" ><apex:outputField id="COMPANY" value="{!QuotesPage.COMPANY__c}"/>
                             <!-- <apex:outputLink value="/{!QuotesPage.COMPANYId__c}" target="LINK_{!QuotesPage.COMPANYId__c}" ><c:PDFWbr targetStr="{!QuotesPage.COMPANYName__c}"/></apex:outputLink> -->
                             </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>
@@ -445,8 +527,8 @@
                             <td align="left" >{!$ObjectType.Quotes__c.fields.SHIP_TO__c.label}</td>
                         </tr>
                         <tr>
-                            <td colspan="2" align="left" ><apex:inputField id="BILL_TO" value="{!QuotesPage.BILL_TO__c }" style="width: 90%;height: 80PX"/></td>
-                            <td colspan="2" align="left" ><apex:inputField id="SHIP_TO" value="{!QuotesPage.SHIP_TO__c}" style="width: 90%;height: 80PX"/></td> 
+                            <td colspan="2" align="left" ><apex:inputField 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:inputField 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>
@@ -856,7 +938,7 @@
                         <th>INTERNAL ONLY</th>
                     </tr>
                     <apex:repeat value="{!mailList}" var="mail" id="lines">
-                        <tr>
+                        <tr id="{!mail.mm.AWS_Data_Id__c}" onmouseover="showPI('{!mail.mm.AWS_Data_Id__c}')">
                             <td><apex:outputLink value="/apex/SendEmail?id={!mail.mm.ID}&type=Quotes&typeid={!Id}&openType=View">View</apex:outputLink>&nbsp;&nbsp;<apex:outputLink value="/apex/SendEmail?id={!mail.mm.ID}&type=Quotes&typeid={!Id}&openType=Reply">Reply</apex:outputLink></td> 
                             <td><apex:outputField value="{!mail.mm.DATE__c}" /></td>
                             <td><apex:outputField value="{!mail.mm.FROM__c}" /></td>
@@ -867,7 +949,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>
@@ -885,6 +967,46 @@
     
     <table border="0">
 </table>
+<script>
+    var mailListObj = JSON.parse('{!awsDataIdStr}');
+    var staticResourceMailMerge = JSON.parse('{!staticResourceMailMerge}')
+    var mailList = []
+    var PIDataObjList = {}
+
+
+    function showPI(awsId) {
+        if (awsId) {
+            document.getElementById(awsId).children[2].children[0].children[0].innerText = PIDataObjList[awsId].author
+            document.getElementById(awsId).children[5].children[0].innerText = PIDataObjList[awsId].premaryRecipient
+            document.getElementById(awsId).children[6].children[0].innerText = PIDataObjList[awsId].cc
+        }
+    }
+
+
+    for (var i = 0; i < mailListObj.length; i++) {
+        mailList.push(mailListObj[i])
+    }
+    var queryBack = function queryBack(data) {
+        console.log(data)
+        if (data.object) {
+            for (var i = 0; i < data.object.length; i++) {
+                var PIDataObj = {};
+                PIDataObj.author = data.object[i].author
+                PIDataObj.premaryRecipient = data.object[i].premaryRecipient
+                PIDataObj.cc = data.object[i].cc
+                PIDataObjList[data.object[i].dataId] = PIDataObj;
+            }
+        }
+        unblockUI();
+    };
+    document.body.onload = function () {
+        blockme();
+        console.log('appendToOnloadQueue');
+        let searchPayload = new Object();
+        searchPayload.dataIds = mailList;
+        AWSService.search(staticResourceMailMerge.searchUrl, JSON.stringify(searchPayload), queryBack, staticResourceMailMerge.token);
+    }
+</script>
 </apex:form>
 <!-- <apex:relatedList list="ProcessSteps"/> -->
 </apex:page>
\ No newline at end of file

--
Gitblit v1.9.1