From fb04e7c01d119c60632b4298d18fd93f3ccb3d79 Mon Sep 17 00:00:00 2001 From: Li Jun <buli@deloitte.com.cn> Date: 星期三, 06 四月 2022 10:32:05 +0800 Subject: [PATCH] 20220405DeployProduction --- force-app/main/default/pages/NewAndEditTenderinformation.page | 137 +++++++++++++++++++++++++++++++-------------- 1 files changed, 94 insertions(+), 43 deletions(-) diff --git a/force-app/main/default/pages/NewAndEditTenderinformation.page b/force-app/main/default/pages/NewAndEditTenderinformation.page index 274b8fb..21fb942 100644 --- a/force-app/main/default/pages/NewAndEditTenderinformation.page +++ b/force-app/main/default/pages/NewAndEditTenderinformation.page @@ -54,6 +54,7 @@ } } + //payloadJson.AWS_Data_Id__c = r.object[0].dataId; payloadJson.AWS_Data_Id__c = '{!AWSDataId}'; if (isNewMode) { @@ -141,8 +142,15 @@ return ''; } - function IsFormElement(tag_name){ - return ['input','select','textarea'].indexOf(tag_name)>-1; + function IsFormTag(tag_name){ + if (!tag_name) { + return false; + } + return ['input','select','textarea'].indexOf(tag_name.toLowerCase())>-1; + } + + function IsFormElement(e){ + return IsFormTag(e.tagName); } function getPIPayload(sobjJson) { @@ -187,7 +195,7 @@ let ele = nodelist[index]; let field_api_name = GetEleApiName(ele); let tag_name = ele.tagName.toLowerCase(); - if(!IsFormElement(tag_name)){ + if(!IsFormElement(ele)){ console.log('tag_name='+tag_name+',field_api_name'+field_api_name+' is not a form element'); continue; } @@ -222,12 +230,20 @@ targets.push(ele.selectedOptions[i].value); } //targets = targets.replace(/\n/g, ";"); - console.log('targets = ' + targets); - result[field_api_name] = targets.join(";"); + if (targets !=''){ + result[field_api_name] = targets.join(";"); + } } else { result[field_api_name] = ele.value; } } + // result['subInfoType__c'] = document.getElementById('page:form:block:j_id50:1:j_id51:j_id52:3:j_id53').value; + if(document.getElementById(api_id_map['InfoType__c']).value == ''){ + result['subInfoType__c'] = ''; + }else{ + result['subInfoType__c'] = document.getElementById(api_id_map['subInfoType__c']).value; + } + return result; } function QuerySobjectFromAWS() { @@ -403,13 +419,35 @@ </apex:pageBlockSection> </apex:repeat> <script> + var init_nodes = document.getElementsByClassName("PIBackApi"); + var api_id_map={}; + 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; + } + + } + } + console.log(api_id_map); sfdcPage.appendToOnloadQueue(function () { + 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); + } + } + } //1. Set Last Name label //document.querySelector("[data-id='LastName']").parentNode.parentNode.parentNode.children[2].children[0].innerText = '濮撳悕'; //2. Query AWS Data by dataId console.log('Mode for Sobject Page:' + {!isNewMode}); if (!{!isNewMode}) { - bolckme(); + blockme(); QuerySobjectFromAWS(); }else{ let ot = jQuery('input[data-id="OwnerId"]'); @@ -424,46 +462,59 @@ oi.value = '{!CurrentUserId}' } } - 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); - } - } - } - jQuery(".lookupInput").each(function(i,e){ - let je =jQuery(e).find('input'); - je.attr("readonly",""); - je.css("background","unset"); - + //Replace Contact Vlookup Field + replaceSearchContactLookup(); + //Replace Lead Vlookup Field + replaceSearchLeadLookup(); + document.querySelectorAll("[data-id='OwnerId']")[0].classList.add("disabledbutton"); + // document.querySelectorAll("[data-id='OwnerId']")[1].classList.add("disabledbutton"); + + jQuery('a[data-id="OwnerId"]').remove(); + + let previous_value = {}; + jQuery(".lookupInput input").each(function(i,e){ + let je =jQuery(e); + 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;">'); - }) - - jQuery(".lookupInput").on("mouseenter","img[generate]",function(e){ - this.className = "closeIconOn"; - }); - - jQuery(".lookupInput").on("mouseleave","img[generate]",function(e){ - this.className = "closeIcon" - }); - - jQuery(".lookupInput").on("click","img[generate]",function(e){ - let id = jQuery("input[data-id='"+jQuery(this).attr("data-id")+ "']").attr("id"); - let input = document.getElementById(id); - if(input){ - input.value = ''; - let hidden = document.getElementById(id+'_lkid'); - if(hidden){ - hidden.value = ''; + if(['Hospital__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); + }); }); + + + </script> <div class="pbBottomButtons"> <table cellspacing="0" cellpadding="0" border="0"> -- Gitblit v1.9.1