From 01f207d979d6be17c8cdec293feab48828c0ec3e Mon Sep 17 00:00:00 2001 From: 黄千龙 <huangqianlong@prec-tech.com> Date: 星期五, 08 四月 2022 14:22:52 +0800 Subject: [PATCH] Merge branch 'master' of http://47.92.229.245:8089/r/OlyMEBG --- force-app/main/default/pages/NewAndEditTenderinformation.page | 125 ++++++++++++++++++++++++++++++++++++++--- 1 files changed, 114 insertions(+), 11 deletions(-) diff --git a/force-app/main/default/pages/NewAndEditTenderinformation.page b/force-app/main/default/pages/NewAndEditTenderinformation.page index 8cfa411..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) { @@ -77,7 +78,8 @@ let arr = data.object[f].split(';'); // 缁欓殣钘忕殑select璧嬪�� - for(let op of ele.options){ + for(let opi in ele.options){ + let op = ele.options[opi] op.selected = arr.indexOf(op.value)>-1; } @@ -140,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) { @@ -186,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; } @@ -203,9 +212,9 @@ v = ele.value; } - if(v && v != "000000000000000"){ + //if(v && v != "000000000000000"){ result[field_api_name] = v; - } + //} } } else if (ele.type == 'checkbox') { @@ -221,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() { @@ -314,7 +331,7 @@ // Check Required Field let checkRequiredFieldMsgResult = checkRequiredFieldMsg(sobjJson); if (checkRequiredFieldMsgResult) { - alertErrorMessage('requiredErrorMsg' + checkRequiredFieldMsgResult); + alertErrorMessage('{!$Label.Input_Required_Field_Msg}' + checkRequiredFieldMsgResult); return } // //3. Prepare the payload for New PI API To AWS - To Do @@ -402,16 +419,102 @@ </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"]'); + let oi = document.getElementById(ot.attr("id")+'_lkid'); + ot.val('{!CurrentUserName}'); + ot.attr("readonly",""); + ot.css("background","unset"); + ot.css("border","0"); + ot.css( "outline","0"); + jQuery('a[data-id="OwnerId"]').remove(); + if(oi){ + oi.value = '{!CurrentUserId}' + } + } + //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__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