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/NewAndEditInquiryForm.page | 146 ++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 120 insertions(+), 26 deletions(-) diff --git a/force-app/main/default/pages/NewAndEditInquiryForm.page b/force-app/main/default/pages/NewAndEditInquiryForm.page index f505ce3..7bf1bba 100644 --- a/force-app/main/default/pages/NewAndEditInquiryForm.page +++ b/force-app/main/default/pages/NewAndEditInquiryForm.page @@ -382,10 +382,12 @@ accountValue = document.getElementById(accountNodeId).value; } console.log(accountValue); + + let searchContactKeyWord = document.querySelector("[data-id='Contact_Name__c']").value; if(accountValue !='000000000000000'){ - suffixUrl = "?contactId="+contactNodeId+"&accountId="+accountValue; + suffixUrl = "?contactId=" + contactNodeId + "&accountId=" + accountValue+"&searchContactKeyWord=" + searchContactKeyWord; }else{ - suffixUrl = "?contactId="+contactNodeId; + suffixUrl = "?contactId="+contactNodeId+"&searchContactKeyWord=" + searchContactKeyWord; } let baseUrl = "/apex/SearchContactPage"; let newSearchContactParam = 'height=600,width=800,left=100,top=100,dialogHide=true,resizable=no,scrollbars=yes,toolbar=no,status=no'; @@ -413,10 +415,12 @@ let lookUpNode = htmlToElement(contactHtmlString); console.log(lookUpNode); let eleContactValue = document.querySelector("[data-id='Contact_Name__c']").parentNode.parentNode.children[0].value; - if (!{!isNewMode} || (eleContactValue != '000000000000000')) { - //1. Query Contact from AWS by AWSDataId - queryContactName() - } + if (eleContactValue) { + if (!{!isNewMode} || (eleContactValue != '000000000000000')) { + //1. Query Contact from AWS by AWSDataId + queryContactName() + } + } let parentNode = document.querySelector("[data-id='Contact_Name__c']").parentNode; document.querySelector("[data-id='Contact_Name__c']").removeAttribute("onchange"); parentNode.replaceChild(lookUpNode, document.querySelector("[data-id='Contact_Name__c']").parentNode.children[2]); @@ -425,15 +429,7 @@ function queryContactName() { let sfId = document.getElementById(document.querySelector("[data-id='Contact_Name__c']").id + '_lkid').value; let contactsInfo = JSON.parse('{!LookUpOverrideFieldsMapJson}'); - // if (contactsInfo == null){ - // contactsInfo = JSON.parse('{!urlCheckContactAWSid}'); - // } let dataId = contactsInfo[sfId]; - // let dataId = JSON.parse('{!urlCheckContactAWSid}') - // if (dataId == '') { - // let contactsInfo = JSON.parse('{!LookUpOverrideFieldsMapJson}'); - // dataId = contactsInfo[sfId]; - // } let queryContactBack = function(data){ //To Do later console.log('ContactData = ' + data.object); @@ -473,7 +469,8 @@ function searchLead(leadNodeId){ // let accountValue = ""; // let suffixUrl = ""; - let suffixUrl = "?leadId="+leadNodeId; + let searchLeadKeyWord = document.querySelector("[data-id='Lead_link__c']").value; + let suffixUrl = "?leadId="+leadNodeId+"&searchLeadKeyWord=" + searchLeadKeyWord; let baseUrl = "/apex/SearchLeadPage"; let newSearchLeadParam = 'height=600,width=800,left=100,top=100,dialogHide=true,resizable=no,scrollbars=yes,toolbar=no,status=no'; newSearchLeadWindow = window.open(baseUrl+suffixUrl, 'Popup', newSearchLeadParam); @@ -518,7 +515,6 @@ // document.querySelector("[data-id='Lead_link__c']").value = result.object.lastName; // }) } - </script> <div class="bPageTitle"> <div class="ptBody"> @@ -583,7 +579,18 @@ </apex:pageBlockSection> </apex:repeat> <script> + var api_id_map={}; sfdcPage.appendToOnloadQueue(function () { + var init_nodes = document.getElementsByClassName("PIBackApi"); + for(let ei in init_nodes){ + let e = init_nodes[ei]; + if(IsFormElement(e)){ + if(e.getAttribute("multiple") != 'multiple' || e.style.display == 'none' && e.id.indexOf('selected') < 0){ + api_id_map[GetEleApiName(e)] = e.id; + } + } + } + var layoutSections = JSON.parse('{!layoutSectionsStr}'); for (let m = 0; m < layoutSections.length; m++) { let layoutSection = layoutSections[m].layoutFields; @@ -624,15 +631,8 @@ jQuery('a[data-id="OwnerId"]').remove(); - jQuery(".lookupInput").each(function(i,e){ - let je =jQuery(e).find('input'); - je.attr("readonly",""); - je.css("background","unset"); - - let dataid = je.attr('data-id'); - if(['Hospital_Name__c','Department_Class__c','OwnerId'].indexOf(dataid) > -1) return; - jQuery(e).children(":last-child").before('<img class="closeIcon" data-id="'+dataid+'" generate="" alt="Clear" src="/s.gif" style="display: inline-block;">'); - }) + //Updated by Li Jun 20220322 Start + /* jQuery(".lookupInput").on("mouseenter","img[generate]",function(e){ this.className = "closeIconOn"; @@ -652,8 +652,102 @@ hidden.value = ''; } } - }); + });*/ + //Updated by Li Jun 20220322 End + let previous_value = {}; + jQuery(".lookupInput input").each(function(i,e){ + let je =jQuery(e); + + let dataid = je.attr('data-id'); + if(['Contact_Name__c','Lead_link__c'].indexOf(dataid) < 0) return; + + jQuery(e).focus(function(){ + previous_value[this.id] = this.value; + }) + + jQuery(e).change(function(){ + if (previous_value[this.id] != jQuery(this).val()) { + document.getElementById(this.id+'_lkid').value = ''; + } + }) + }) + + // jQuery(".lookupInput").on("click","img.closeIconOn",function(){ + // if (jQuery(this).siblings("input").attr("data-id") == 'Hospital_Name__c'){ + // clearVlookup('Department_Class__c'); + // clearVlookup('Hospital__c'); + // } + // }); + + jQuery("body").on("change","input[data-id='Hospital_Name__c']",function(){ + setTimeout(() => { + console.log(document.getElementById(this.id+'_lkid').value); + var hospitalNameValue = document.getElementById(this.id+'_lkid').value; + if (hospitalNameValue != "000000000000000" && hospitalNameValue != '') { + console.log("hospitalNameValue = " + hospitalNameValue); + + var ls = ['Department_Class__c','Hospital__c']; + setVlookup(ls,hospitalNameValue); + }else{ + clearVlookup('Department_Class__c'); + clearVlookup('Hospital__c'); + } + }, 50); + }); }); + + function setVlookup(lookups, lookup_id){ + let controllerSaveMethod = '{!$RemoteAction.NewAndEditInquiryFormController.queryAccount}'; + Visualforce.remoting.Manager.invokeAction( + controllerSaveMethod, + JSON.stringify(lookups), lookup_id, + function (result, event) { + console.log("result = " + result); + if (result != null ){ + var obj = JSON.parse(result.replaceAll('&'+'quot;','"')); + for (let i = 0; i < lookups.length; i++) { + let lookup = lookups[i]; + if (!obj[lookup]) { + continue; + } + let ele = document.querySelector("[data-id='"+lookup+"']"); + let elei1 = document.getElementById(ele.id + '_lkid'); + let elei2 = document.getElementById(ele.id + '_lkold'); + + ele.value=obj[lookup].Name; + elei1.value = obj[lookup].Id; + elei2.value = obj[lookup].Name; + + let inputele = document.querySelector("[data-id='"+lookup+"']").parentNode; + if (inputele.childNodes.length > 4){ + inputele.childNodes[0].style = ""; + inputele.childNodes[1].style = "display: inline-block;"; + inputele.childNodes[2].style = "display: none;"; + } + + } + } + }, + { escape: true } + ); + }; + + function clearVlookup(lookup){ + let ele = document.querySelector("[data-id='"+lookup+"']"); + let elei1 = document.getElementById(ele.id + '_lkid'); + let elei2 = document.getElementById(ele.id + '_lkold'); + + ele.value=''; + elei1.value = ''; + elei2.value = ''; + + let inputele = document.querySelector("[data-id='"+lookup+"']").parentNode; + if (inputele.childNodes.length > 4){ + inputele.childNodes[0].style = "display: none;"; + inputele.childNodes[1].style = "display: none;"; + inputele.childNodes[2].style = ""; + } + } </script> <div class="pbBottomButtons"> <table cellspacing="0" cellpadding="0" border="0"> -- Gitblit v1.9.1