buli
2022-05-14 ead4df22dca33a867279471821ca675f91dec760
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>
@@ -195,7 +277,7 @@
                        <tr>
                            <td align="left" ><apex:outputField id="ESTIMATE" value="{!QuotesPage.ESTIMATE__c }" /></td>
                            <td/>
                            <td align="left" ><apex:outputField id="CONTACT_EMAIL" value="{!QuotesPage.CONTACT_EMAIL__c}"/></td>
                            <td align="left" ><apex:outputField id="CONTACT_EMAIL" html-aws-obj="Contact" html-aws-api="emailD" html-aws-id="{!QuotesPage.CONTACT_NAME__r.AWS_Data_Id__c}" value="{!QuotesPage.CONTACT_EMAIL__c}"/></td>
                        
                        </tr>
                        <tr>
@@ -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>
@@ -808,7 +890,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>
@@ -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>
@@ -837,6 +919,47 @@
    
    <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>