From 8baef49505113fb3edee372c370e9c859cd7c762 Mon Sep 17 00:00:00 2001 From: Li Jun <buli@deloitte.com.cn> Date: 星期一, 09 五月 2022 11:50:04 +0800 Subject: [PATCH] PageBackup0509 --- force-app/main/default/pages/NewAndEditInquiryForm.page | 161 +++++++++++++++++++++++++++++++++-------------------- 1 files changed, 99 insertions(+), 62 deletions(-) diff --git a/force-app/main/default/pages/NewAndEditInquiryForm.page b/force-app/main/default/pages/NewAndEditInquiryForm.page index 7bf1bba..a4f750d 100644 --- a/force-app/main/default/pages/NewAndEditInquiryForm.page +++ b/force-app/main/default/pages/NewAndEditInquiryForm.page @@ -1,6 +1,6 @@ <apex:page standardController="Inquiry_form__c" extensions="NewAndEditInquiryFormController" id="page"> <apex:includeScript value="{! URLFOR($Resource.AWSService, 'AWSService.js') }" /> - <script src="../../soap/ajax/53.0/connection.js" type="text/javascript"></script> + <apex:includeScript value="{!URLFOR($Resource.connection20)}"/> <apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}"/> <apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}"/> <apex:includeScript value="{!URLFOR($Resource.PleaseWaitDialog)}"/> @@ -63,10 +63,14 @@ //payloadJson.AWS_Data_Id__c = r.object[0].dataId; payloadJson.AWS_Data_Id__c = '{!AWSDataId}'; - if (isNewMode) { + if (isNewMode || {!isCloneMode}) { payloadJson.AWS_Data_Id__c = r.object[0].dataId; + delete payloadJson.OwnerId; } else { payloadJson.AWS_Data_Id__c = '{!AWSDataId}'; + } + if('{!rtTypeId}'){ + payloadJson.RecordTypeId = '{!rtTypeId}';//Add by zhj for Record Type Issue 20220421 } return payloadJson; }, @@ -128,10 +132,23 @@ var VLookUpFields = {! VLookUpFieldsJson}; function ProcessPI(sobjJson, payloadForNewPI) { blockme(); - if ({!isNewMode}) { - NewPIToAWS(sobjJson, payloadForNewPI) + if ({!isNewMode} || {!isCloneMode}) { + NewPIToAWS(sobjJson, payloadForNewPI) }else { UpdatePIToAWS(sobjJson, payloadForNewPI) + } + } + + function EditButton(isDisabled){ + var topele = document.getElementById('topButtonRow'); + var bottomele = document.getElementById('bottomButtonRow'); + + if (isDisabled) { + topele.classList.add("disabledbutton"); + bottomele.classList.add("disabledbutton"); + }else { + topele.classList.remove("disabledbutton"); + bottomele.classList.remove("disabledbutton"); } } @@ -152,7 +169,7 @@ } function IsFormElement(tag_name){ - return ['input','select','textarea'].indexOf(tag_name)>-1; + return ['input','select','textarea','div'].indexOf(tag_name)>-1; } function getPIPayload(sobjJson) { @@ -161,22 +178,22 @@ function validateFieldValueFormate() { let error_msg = ''; - let textEmail = "[data-id='Email__c']"; - let textPhone = "[data-id='Phone__c']"; - if (document.querySelector("[data-id='Email__c']").value != "" && document.querySelector("[data-id='Email__c']").value != null) { - //Email - let email = document.querySelector(textEmail); - if(email && !/^[\w-]{3,12}@[\da-zA-Z]{2,16}\.[a-zA-Z]+$/.test(email.value)){ - error_msg += ';閭欢鏍煎紡閿欒'; - } - } + // let textEmail = "[data-id='Email__c']"; + // let textPhone = "[data-id='Phone__c']"; + // if (document.querySelector("[data-id='Email__c']").value != "" && document.querySelector("[data-id='Email__c']").value != null) { + // //Email + // let email = document.querySelector(textEmail); + // if(email && !/^[\w-]{3,12}@[\da-zA-Z]{2,16}\.[a-zA-Z]+$/.test(email.value)){ + // error_msg += ';閭欢鏍煎紡閿欒'; + // } + // } - if (document.querySelector("[data-id='Phone__c']").value != "" && document.querySelector("[data-id='Phone__c']").value != null) { - let phone = document.querySelector(textPhone); - if(phone && !/^1[3|5|8|7][0-9]\d{4,8}$/.test(phone.value)){ - error_msg += ';鐢佃瘽鍙风爜閿欒'; - } - } + // if (document.querySelector("[data-id='Phone__c']").value != "" && document.querySelector("[data-id='Phone__c']").value != null) { + // let phone = document.querySelector(textPhone); + // if(phone && !/^1[3|5|8|7][0-9]\d{4,8}$/.test(phone.value)){ + // error_msg += ';鐢佃瘽鍙风爜閿欒'; + // } + // } for(let ei in document.getElementsByTagName('select')){ let e = document.getElementsByTagName('select')[ei]; @@ -212,6 +229,9 @@ console.log(ele.id.indexOf('lkwgt')); if (ele.id.indexOf('lkwgt') == -1) { let vlookUpNodeId = ele.id + '_lkid'; + if (tag_name == 'div') { + vlookUpNodeId = ele.id.substring(0,ele.id.length-4) + '_lkid'; + } let vlook_ele = document.getElementById(vlookUpNodeId); let v = ''; if(vlook_ele){ @@ -228,20 +248,26 @@ } else if (ele.type == 'checkbox') { result[field_api_name] = ele.checked; } else if (ele.type == 'select-multiple') { - //field_api_name - let multiple = field_api_name; - let targets = ""; - //InquiryForm鐗规畩澶勭悊 - if(multiple == "Product1__c"){ - targets = GetEleByClass(config.ApiPrefix+'_'+field_api_name).parentNode.children[1].rows[1].cells[2].innerText; - }else if(multiple == "Request1__c"){ - targets = GetEleByClass(config.ApiPrefix+'_'+field_api_name).parentNode.children[2].rows[1].cells[2].innerText; - }else{ - targets = GetEleByClass(config.ApiPrefix+'_'+field_api_name).parentNode.children[1].children[0].children[1].children[2].children[0].innerText; + //After Update By zhj 20220411 Start + let multiple = nodelist[index].getAttribute("data-id"); + let targets = document.querySelector("[data-id=" + multiple + "]").options; + let selValues = []; + for(i=0; i < targets.length; i++){ + if(targets[i].selected){ + selValues.push(targets[i].value); + } } - targets = targets.replace(/\n/g, ";"); - console.log('targets = ' + targets); - result[field_api_name] = targets; + let setValuesStr = JSON.stringify(selValues); + setValuesStr = setValuesStr.substring(1,setValuesStr.length-1); + if(setValuesStr){ + setValuesStr = setValuesStr.replace(/"/g,""); + if(setValuesStr.indexOf(',')!=-1){ + setValuesStr = setValuesStr.replace(/,/g,";"); + } + } + console.log('targets = ' + setValuesStr); + result[nodelist[index].getAttribute("data-id")] = setValuesStr; + //After Update By zhj 20220411 end } else { result[field_api_name] = ele.value; } @@ -315,6 +341,7 @@ } //鎸夐挳鐐瑰嚮鏂规硶 function saveSobjectProcess(save_and_new) { + EditButton(true); if(save_and_new){ config.SaveAndNew = true; } @@ -353,6 +380,7 @@ let errorMsgNode = document.getElementById("page:form:block:msgContent"); errorMsgNode.innerText = errorMsg; errorMsgNode.className = 'pbError'; + EditButton(false); } function hiddenErrorMsgNode() { let errorMsgNode = document.getElementById("page:form:block:msgContent"); @@ -386,16 +414,17 @@ let searchContactKeyWord = document.querySelector("[data-id='Contact_Name__c']").value; if(accountValue !='000000000000000'){ 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+"&searchContactKeyWord=" + searchContactKeyWord; + // 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() { @@ -520,10 +549,10 @@ <div class="ptBody"> <div class="content"> <img src="/img/s.gif" alt="{! SobjectLabel}" class="pageTitleIcon" title="{! SobjectLabel}" /> - <h1 class="pageType">{! SobjectLabel}<apex:outputText rendered="{!isNewMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode)}">{!$Label.Edit}</apex:outputText> + <h1 class="pageType">{! SobjectLabel}<apex:outputText rendered="{!isNewMode || isCloneMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode || isCloneMode)}">{!$Label.Edit}</apex:outputText> <span class="titleSeparatingColon">:</span> </h1> - <h2 class="pageDescription"> <apex:outputText rendered="{!isNewMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode)}">{!$Label.Edit}</apex:outputText>{! SobjectLabel}</h2> + <h2 class="pageDescription"> <apex:outputText rendered="{!isNewMode || isCloneMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode || isCloneMode)}">{!$Label.Edit}</apex:outputText>{! SobjectLabel}</h2> <div class="blank"> </div> </div> <div class="links"> @@ -546,9 +575,9 @@ <tr> <td class="pbTitle"> <img src="/img/s.gif" alt="" class="minWidth" title="" width="1" height="1" /> - <h2 class="mainTitle">{! SobjectLabel}<apex:outputText rendered="{!isNewMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode)}">{!$Label.Edit}</apex:outputText></h2> + <h2 class="mainTitle">{! SobjectLabel}<apex:outputText rendered="{!isNewMode || isCloneMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode || isCloneMode)}">{!$Label.Edit}</apex:outputText></h2> </td> - <td class="pbButton" id="topButtonRow"> + <td class="pbButton" id="topButtonRow" style="pointer-events: none; opacity: 0.4;"> <input class="btn" type="Button" value="{!$Label.Save}" onclick="saveSobjectProcess()" /> <input class="btn" type="Button" value="{!$Label.SaveAndNew}" onclick="saveSobjectProcess(1)" /> <apex:commandButton action="{!cancel}" value="{!$Label.Cancel}" /> @@ -570,8 +599,9 @@ <!--Each section has layoutFields, let's iterate them as well--> <apex:repeat value="{!layoutSection.layoutFields}" var="layoutField"> - <apex:inputField styleClass="{!ApiPrefix} {!ApiPrefix}_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!Inquiry_form__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)}" - required="{!layoutField.isRequired}" /> + <apex:inputField styleClass="{!ApiPrefix} {!ApiPrefix}_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!Inquiry_form__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&&isNewMode}" required="{!layoutField.isRequired}" /> + <apex:inputField styleClass="{!ApiPrefix} {!ApiPrefix}_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!Inquiry_form__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&¬(isNewMode)&&layoutField.fieldAPI!='RecordTypeId'}" required="{!layoutField.isRequired}" /> + <apex:outputField styleClass="{!ApiPrefix} {!ApiPrefix}_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!Inquiry_form__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&¬(isNewMode)&&layoutField.fieldAPI=='RecordTypeId'}" /> <apex:pageblocksectionitem rendered="{!layoutField.isPlaceHolder}"> </apex:pageblocksectionitem> </apex:repeat> @@ -597,7 +627,17 @@ 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"); + } + } } } } @@ -628,11 +668,12 @@ replaceSearchLeadLookup(); document.querySelectorAll("[data-id='OwnerId']")[0].classList.add("disabledbutton"); // document.querySelectorAll("[data-id='OwnerId']")[1].classList.add("disabledbutton"); - + document.getElementById('topButtonRow').style = ''; + document.getElementById('bottomButtonRow').style = ''; jQuery('a[data-id="OwnerId"]').remove(); //Updated by Li Jun 20220322 Start - /* + /* jQuery(".lookupInput").on("mouseenter","img[generate]",function(e){ this.className = "closeIconOn"; @@ -646,10 +687,10 @@ 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'); + input.value = ''; + let hidden = document.getElementById(id+'_lkid'); if(hidden){ - hidden.value = ''; + hidden.value = ''; } } });*/ @@ -671,13 +712,6 @@ } }) }) - - // 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(() => { @@ -703,7 +737,7 @@ JSON.stringify(lookups), lookup_id, function (result, event) { console.log("result = " + result); - if (result != null ){ + if (result != null && result != '{}'){ var obj = JSON.parse(result.replaceAll('&'+'quot;','"')); for (let i = 0; i < lookups.length; i++) { let lookup = lookups[i]; @@ -726,6 +760,9 @@ } } + }else { + clearVlookup('Department_Class__c'); + clearVlookup('Hospital__c'); } }, { escape: true } @@ -755,7 +792,7 @@ <tr> <td class="pbTitle"> <img src="/img/s.gif" alt="" class="minWidth" title="" width="1" height="1" /> </td> - <td class="pbButtonb" id="bottomButtonRow"> + <td class="pbButtonb" id="bottomButtonRow" style="pointer-events: none; opacity: 0.4;"> <input class="btn" type="Button" value="{!$Label.Save}" onclick="saveSobjectProcess()" /> <input class="btn" type="Button" value="{!$Label.SaveAndNew}" onclick="saveSobjectProcess()" /> <apex:commandButton action="{!cancel}" value="{!$Label.Cancel}" /> -- Gitblit v1.9.1