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/NEWCreateSWOQuoteReadOnly.page | 137 +++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 130 insertions(+), 7 deletions(-) diff --git a/force-app/main/default/pages/NEWCreateSWOQuoteReadOnly.page b/force-app/main/default/pages/NEWCreateSWOQuoteReadOnly.page index b3cb2e6..995f5c9 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> @@ -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> <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> \ No newline at end of file -- Gitblit v1.9.1