From f127c76b19f5316032d4bed127a1dde710c48d74 Mon Sep 17 00:00:00 2001 From: Li Jun <buli@deloitte.com.cn> Date: 星期四, 24 三月 2022 10:10:36 +0800 Subject: [PATCH] PIPLFunctionFixBug0324 --- force-app/main/default/pages/SearchContactPage.page | 93 +++++++++++++++++++++++++++++++--------------- 1 files changed, 63 insertions(+), 30 deletions(-) diff --git a/force-app/main/default/pages/SearchContactPage.page b/force-app/main/default/pages/SearchContactPage.page index b09aeb7..782df44 100644 --- a/force-app/main/default/pages/SearchContactPage.page +++ b/force-app/main/default/pages/SearchContactPage.page @@ -20,10 +20,10 @@ var staticResources = JSON.parse('{!staticResource}'); var contactAWSIds = JSON.parse('{!contactAWSIds}'); var contactsInfo = JSON.parse('{!contactsInfo}'); - var searchContactName = ''; + var searchKeyWord = '{!searchKeyWord}'; + var searchContactName = searchKeyWord; queryLeadFromAWS(); function searchAWSContact(){ - console.log('Search process!'); //1. reset table; resetTable(); //2. get contact name value @@ -47,7 +47,6 @@ function queryLeadFromAWS() { //1. Prepare the payload for contact search let requestSearchPayload = preparePayloadForSearchContact(); - console.log('request payload body:'+requestSearchPayload); //2. Invoke AWS Service // fetch(staticResources.searchUrl, { // method: 'POST', @@ -64,9 +63,10 @@ // } // }) let queryBackContactName = function queryBackContactName(result){ - if(result.object&&result.object.length>0){ - initContactTable(result); - } + // if(result.object){ + // initContactTable(result); + // } + initContactTable(result); }; AWSService.search(staticResources.searchUrl,requestSearchPayload,queryBackContactName,staticResources.token) } @@ -101,11 +101,12 @@ let tableBody = document.createElement('TBODY'); table.appendChild(tableBody); let headerTR = document.createElement('TR'); + let colsHeader = ['濮撳悕','瀹㈡埛鍚嶇О','閭', '鐢佃瘽']; tableBody.appendChild(headerTR); - for (let i = 0; i < cols.length; i++) { + for (let i = 0; i < colsHeader.length; i++) { let td = document.createElement('TH'); td.width = '75'; - td.appendChild(document.createTextNode(cols[i])); + td.appendChild(document.createTextNode(colsHeader[i])); headerTR.appendChild(td); } //3. Init the AWS data @@ -116,13 +117,17 @@ for (let j = 0; j < cols.length; j++) { let td = document.createElement('TD'); td.width = '75'; - if (!contactsInfo.hasOwnProperty(contactInfoTemp.AWSDataId)) { - continue; - } - if(j == 0){ - td.id = contactsInfo[contactInfoTemp.AWSDataId].Id; - } - td.appendChild(document.createTextNode(contactInfoTemp[cols[j]])); + if(contactInfoTemp.pi){ + if (!contactsInfo.hasOwnProperty(contactInfoTemp.AWSDataId)) { + continue; + } + if(j == 0 && contactsInfo[contactInfoTemp.AWSDataId] ){ + td.id = contactsInfo[contactInfoTemp.AWSDataId].Id; + } + }else{ + td.id = contactInfoTemp.sfRecordId; + } + td.appendChild(document.createTextNode(contactInfoTemp[cols[j]]!=null?contactInfoTemp[cols[j]]:'')); if (cols[j] == 'Name') { td.addEventListener("click", function (obj) { redirectToParentPage(obj); @@ -134,31 +139,59 @@ myTableDiv.appendChild(table); } function initContactTable(data) { - let cols = ['Name', 'Email', 'Phone']; + let cols = ['Name','AccountName', 'Email', 'Phone']; let contactInfoList = []; let awsDataIds = []; - for(var i=0;i<data.object.length;i++){ - if(data.object[i].dataId){ - let contactInfo = new Object(); - contactInfo.Name = data.object[i].lastName; - contactInfo.Email = data.object[i].email; - contactInfo.Phone = data.object[i].phone; - contactInfo.AWSDataId = data.object[i].dataId; - awsDataIds.push(contactInfo.AWSDataId); - contactInfo.sfRecordId = ''; - contactInfoList.push(contactInfo); - } + if(data.object){ + for(var i=0;i<data.object.length;i++){ + if(data.object[i].dataId){ + let contactInfo = new Object(); + contactInfo.Name = data.object[i].lastName; + contactInfo.Email = data.object[i].email; + contactInfo.Phone = data.object[i].phone; + contactInfo.AWSDataId = data.object[i].dataId; + contactInfo.pi = true; + awsDataIds.push(contactInfo.AWSDataId); + contactInfo.sfRecordId = ''; + contactInfoList.push(contactInfo); + } + } } let AWSIdToSFIdMapValue = {}; - console.log(awsDataIds); //Invoke SF BackEnd Visualforce.remoting.Manager.invokeAction( '{!$RemoteAction.SearchContactController.searchContacts}', - JSON.stringify(awsDataIds), + JSON.stringify(awsDataIds),searchContactName,'{!aId}', function (result, event) { if(event.status){ if(result.status = 'success'){ - contactsInfo = JSON.parse(result.message.replace(/("\;)/g,"\"")); + if(result.message){ + contactsInfo = JSON.parse(result.message.replace(/("\;)/g,"\"")); + if(Object.keys(contactsInfo).length>0){ + for(let i=0;i<contactInfoList.length;i++){ + let contactFromSF = contactsInfo[contactInfoList[i]['AWSDataId']]; + if(contactFromSF){ + contactInfoList[i].sfRecordId = contactFromSF['Id']; + contactInfoList[i].AccountName = contactFromSF['Account']['Name']; + } + } + } + } + //1. get SF 闈炴晱鎰熺殑鑱旂郴浜轰俊鎭� + if(result.noPIContactList){ + var noPIInfo = JSON.parse(result.noPIContactList.replace(/("\;)/g,"\"")); + for(let f in noPIInfo){ + let contactInfo = new Object(); + contactInfo.Name = noPIInfo[f].Name!=null?noPIInfo[f].Name:''; + contactInfo.Email = noPIInfo[f].Email!=null?noPIInfo[f].Email:''; + contactInfo.Phone = noPIInfo[f].Phone!=null?noPIInfo[f].Phone:''; + contactInfo.AWSDataId = ''; + contactInfo.sfRecordId = noPIInfo[f].Id!=null?noPIInfo[f].Id:''; + contactInfo.AccountName = noPIInfo[f]['Account']['Name']; + contactInfo.pi = false; + contactInfoList.push(contactInfo); + } + } refreshTable(cols,contactInfoList); }else{ console.log('No result'); -- Gitblit v1.9.1