From f5a94e721ae5a26f817f0df75065b64f1f192eb3 Mon Sep 17 00:00:00 2001 From: Li Jun <buli@deloitte.com.cn> Date: 星期一, 28 三月 2022 21:43:51 +0800 Subject: [PATCH] PIPLFunctionDeploy0328 --- force-app/main/default/pages/NewAndEditInquiryForm.page | 119 ++++++++++++++++++++++++++++++++++++++--------------------- 1 files changed, 76 insertions(+), 43 deletions(-) diff --git a/force-app/main/default/pages/NewAndEditInquiryForm.page b/force-app/main/default/pages/NewAndEditInquiryForm.page index 794606e..056f814 100644 --- a/force-app/main/default/pages/NewAndEditInquiryForm.page +++ b/force-app/main/default/pages/NewAndEditInquiryForm.page @@ -382,18 +382,21 @@ 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; + let baseUrl = "/apex/SearchContactPage"; + let newSearchContactParam = 'height=600,width=800,left=100,top=100,dialogHide=true,resizable=no,scrollbars=yes,toolbar=no,status=no'; + newSearchContactWindow = window.open(baseUrl+suffixUrl, 'Popup', newSearchContactParam); + if (window.focus) { + newSearchContactWindow.focus(); + } + return false; }else{ - suffixUrl = "?contactId="+contactNodeId; + // suffixUrl = "?contactId="+contactNodeId+"&searchContactKeyWord=" + searchContactKeyWord; + alertErrorMessage('璇峰厛閫夋嫨绉戝鍚�'); } - let baseUrl = "/apex/SearchContactPage"; - let newSearchContactParam = 'height=600,width=800,left=100,top=100,dialogHide=true,resizable=no,scrollbars=yes,toolbar=no,status=no'; - newSearchContactWindow = window.open(baseUrl+suffixUrl, 'Popup', newSearchContactParam); - if (window.focus) { - newSearchContactWindow.focus(); - } - return false; } //绐楀彛鍏抽棴鏃跺彂鐢� function closePopupWindow() { @@ -412,11 +415,13 @@ function replaceSearchContactLookup() { 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() - } + let eleContactValue = document.querySelector("[data-id='Contact_Name__c']").parentNode.parentNode.children[1].value; + 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]); @@ -465,7 +470,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); @@ -574,14 +580,35 @@ </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; for (let n = 0; n < layoutSection.length; n++) { let layoutField = layoutSection[n]; if (layoutField.fieldAPI != '' && document.querySelector("[data-id='"+layoutField.fieldAPI+"']") != null) { - document.querySelector("[data-id='"+layoutField.fieldAPI+"']").disabled = !(layoutField.editableField); + let e = document.querySelector("[data-id='"+layoutField.fieldAPI+"']"); + e.disabled = !(layoutField.editableField); + if (!(layoutField.editableField)) { + if (e.getAttribute("multiple") && e.getAttribute("multiple") == 'multiple') { + e.parentNode.classList.add("disabledbutton"); + }else if (e.tagName == 'DIV') { + e.classList.add("disabledbutton"); + }else if (VLookUpFields.indexOf(layoutField.fieldAPI) >= 0) { + e.parentNode.classList.add("disabledbutton"); + } + } } } } @@ -615,15 +642,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','Hospital__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"; @@ -643,24 +663,37 @@ hidden.value = ''; } } - }); + });*/ + //Updated by Li Jun 20220322 End + let previous_value = {}; + jQuery(".lookupInput input").each(function(i,e){ + let je =jQuery(e); - let eleHospitalName = document.querySelector("[data-id='Hospital_Name__c']"); - let vlook_HospitalName = document.getElementById(eleHospitalName.id + '_lkid'); - - // let eleInput = eleHospitalName.parentNode.childNodes[0]; - // let eleImg = eleHospitalName.parentNode.childNodes[1]; - // let eleBlank = eleHospitalName.parentNode.childNodes[2]; + 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; + }) - if("\v"=="v"){//true涓篒E娴忚鍣� - vlook_ele.attachEvent("onporpertychange",function(e){ - console.log("inputting!!"); - }); - }else{ - eleHospitalName.parentNode.addEventListener("click",function(e){ - console.log("inputting!!"); - var hospitalNameValue = vlook_HospitalName.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); @@ -670,8 +703,8 @@ clearVlookup('Department_Class__c'); clearVlookup('Hospital__c'); } - }); - } + }, 50); + }); }); function setVlookup(lookups, lookup_id){ @@ -708,7 +741,7 @@ }, { escape: true } ); - } + }; function clearVlookup(lookup){ let ele = document.querySelector("[data-id='"+lookup+"']"); -- Gitblit v1.9.1