From 03523642de0c4f319d90d0aec8a756f9e80e6a7e Mon Sep 17 00:00:00 2001 From: Li Jun <buli@deloitte.com.cn> Date: 星期四, 17 三月 2022 21:27:47 +0800 Subject: [PATCH] PIPLFunctionDeployV2 --- force-app/main/default/pages/NewAndEditContact.page | 144 +++++++++++++++++++++++++++++++++++------------- 1 files changed, 105 insertions(+), 39 deletions(-) diff --git a/force-app/main/default/pages/NewAndEditContact.page b/force-app/main/default/pages/NewAndEditContact.page index ef36178..93657c4 100644 --- a/force-app/main/default/pages/NewAndEditContact.page +++ b/force-app/main/default/pages/NewAndEditContact.page @@ -1,9 +1,9 @@ -<apex:page standardController="Contact" extensions="NewAndEditContactController" id="page"> - <apex:includeScript value="{! URLFOR($Resource.AWSService, 'AWSService.js') }" /> +<apex:page standardController="Contact" extensions="NewAndEditContactController" id="page" action="{!PageLoad}"> <script src="../../soap/ajax/53.0/connection.js" type="text/javascript"></script> <apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}"/> <apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}"/> <apex:includeScript value="{!URLFOR($Resource.PleaseWaitDialog)}"/> + <apex:includeScript value="{! URLFOR($Resource.AWSService, 'AWSService.js') }" /> <script> var config = {}; @@ -71,7 +71,8 @@ queryBack:function (data) { console.log('data = ' + data); if(data.object){ - for(let f of config.AWSToSobjectNonEncryptedMapKeySet){ + for(let fi in config.AWSToSobjectNonEncryptedMapKeySet){ + let f = config.AWSToSobjectNonEncryptedMapKeySet[fi]; let ele = document.getElementById(api_id_map[config.AWSToSobjectNonEncryptedMap[f]]) if(data.object.hasOwnProperty(f) && ele){ @@ -86,32 +87,10 @@ } let arr = v.split(';'); - - // 娓呯┖宸叉湁閫夐」 - /* - let sl = document.getElementById(ele.id + '_selected'); - if(sl){ - for(let op of sl.options){ - op.selected = true; - } - let la = document.getElementById(ele.id + '_left_arrow'); - if(la){ - la.click(); - } - } - // 璧嬪�兼柊閫夐」 - let us = document.getElementById(ele.id + '_unselected'); - if(us){ - for(let op of us.options){ - op.selected = arr.indexOf(op.value)>-1; - } - let ra = document.getElementById(ele.id + '_right_arrow'); - if(ra){ - ra.click(); - } - }*/ - for(let op of ele.options){ + for(let opi in ele.options){ + let op = ele.options[opi]; + if(!op)continue; op.selected = arr.indexOf(op.value)>-1; } let ra = document.getElementById(ele.id + '_right_arrow'); @@ -169,7 +148,8 @@ } var GetEleApiName = function(ele){ - for(let c of ele.classList){ + for(let ci in ele.classList){ + let c = ele.classList[ci]; if(c.indexOf(config.ApiPrefix+'_')>-1){ return c.replace(config.ApiPrefix+'_',''); } @@ -178,6 +158,9 @@ } function IsFormTag(tag_name){ + if (!tag_name) { + return false; + } return ['input','select','textarea'].indexOf(tag_name.toLowerCase())>-1; } @@ -195,17 +178,37 @@ let textPhone = "[data-id='Phone']"; //Email let email = document.querySelector(textEmail); - if(email && email.previousSibling && email.previousSibling.className.indexOf('requiredBlock')>-1 && !/^[\w-]{3,12}@[\da-zA-Z]{2,16}\.[a-zA-Z]+$/.test(email.value)){ - error_msg += ';閭欢鏍煎紡閿欒'; + if(email ){ + if(email.value){ + if(!/^[\w-]{3,12}@[\da-zA-Z]{2,16}\.[a-zA-Z]+$/.test(email.value)){ + error_msg += ';閭欢鏍煎紡閿欒'; + } + }else{ + if(email.previousSibling && email.previousSibling.className.indexOf('requiredBlock')>-1){ + error_msg += ';閭欢鏍煎紡閿欒'; + } + } } let phone = document.querySelector(textPhone); - if(phone && phone.previousSibling && phone.previousSibling.className.indexOf('requiredBlock')>-1 && !/^1[3|5|8|7][0-9]\d{4,8}$/.test(phone.value)){ - error_msg += ';鐢佃瘽鍙风爜閿欒'; + if(phone ){ + if(phone.value){ + if(!/^1[3|5|8|7][0-9]\d{4,8}$/.test(phone.value)){ + error_msg += ';鐢佃瘽鍙风爜閿欒'; + } + }else{ + if(phone.previousSibling && phone.previousSibling.className.indexOf('requiredBlock')>-1){ + error_msg += ';鐢佃瘽鍙风爜閿欒'; + } + } } - for(let e of document.getElementsByTagName('select')){ - for(let op of e.options){ + let es = document.getElementsByTagName('select') + for(let ei in es){ + let e = es[ei]; + for(let opi in e.options){ + let op = e.options[opi]; + if(!op)continue; if(op.value == "*****" && op.selected){ error_msg += ';涓嬫媺妗嗕笉鑳戒富鍔ㄩ�夋嫨瀵嗘枃閫夐」'; } @@ -244,9 +247,9 @@ v = ele.value; } - if(v && v != "000000000000000"){ + // if(v && v != "000000000000000"){ result[field_api_name] = v; - } + // } } } else if (ele.type == 'checkbox') { @@ -354,7 +357,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 @@ -444,7 +447,8 @@ <script> var init_nodes = document.getElementsByClassName("PIBackApi"); var api_id_map={}; - for(let e of init_nodes){ + 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; @@ -454,6 +458,13 @@ } console.log(api_id_map); sfdcPage.appendToOnloadQueue(function () { + + jQuery('option').each(function(i,e){ + if(e.value == '_\x01_'){ + e.value = ''; + } + }) + //1. Set Last Name label //document.querySelector("[data-id='LastName']").parentNode.parentNode.parentNode.children[2].children[0].innerText = '濮撳悕'; //2. Query AWS Data by dataId @@ -461,7 +472,62 @@ if (!{!isNewMode}) { 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"); + + if(oi){ + oi.value = '{!CurrentUserId}' + } } + 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;">'); + }) + + 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 = ''; + } + } + }); + + 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); + } + } + } + }); </script> <div class="pbBottomButtons"> -- Gitblit v1.9.1