From 639b0139b5713badf37e67b4fe7b9d3b3a592163 Mon Sep 17 00:00:00 2001 From: Li Jun <buli@deloitte.com.cn> Date: 星期一, 09 五月 2022 13:38:24 +0800 Subject: [PATCH] fixRequiredFieldValidation0509 --- force-app/main/default/pages/NewAndEditCase.page | 65 ++++++++++++++++++++++++++------ 1 files changed, 52 insertions(+), 13 deletions(-) diff --git a/force-app/main/default/pages/NewAndEditCase.page b/force-app/main/default/pages/NewAndEditCase.page index 44934f5..3646fcf 100644 --- a/force-app/main/default/pages/NewAndEditCase.page +++ b/force-app/main/default/pages/NewAndEditCase.page @@ -3,7 +3,7 @@ <apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}"/> <apex:includeScript value="{!URLFOR($Resource.PleaseWaitDialog)}"/> <apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}"/> - <script src="../../soap/ajax/53.0/connection.js" type="text/javascript"></script> + <apex:includeScript value="{!URLFOR($Resource.connection20)}"/> <style> .disabledbutton { pointer-events: none; @@ -20,7 +20,7 @@ var requiredAPIToChangedLabelMap = new Map(); requiredAPIToChangedLabelMap.set('LastName', '{!PIPL_Name_Label}'); console.log('{!contactsInfo}'); - var VLookUpFields = new Set(['Account__c', 'ContactId', 'Asset__c', 'prod__c', 'Competitor_info__c', 'AccountId', 'Field1_staff__c']); + var VLookUpFields = new Set(['Account__c', 'ContactId', 'Asset__c', 'prod__c', 'Competitor_info__c', 'AccountId', 'Field1_staff__c','OwnerId']); //鍒ゆ柇insert or update function ProcessPI(caseJson, payloadForNewPI) { blockme(); @@ -30,6 +30,20 @@ UpdatePIToAWS(caseJson, 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"); + } + } + //闃叉鎸夐挳閲嶅鐐瑰嚮 function enableButton(obj){ obj.classList.remove("btnDisabled"); @@ -109,7 +123,7 @@ for (let idx = 0; idx < describedbyAll.length; idx++) { let describedby = describedbyAll[idx]; if (describedby.title.indexOf('Text_attachement__c') > 0){ - result.Text_attachement__c = describedby.contentWindow.document.getElementsByTagName('body')[0].innerHTML; + result.Text_attachement__c = describedby.contentWindow.document.getElementsByTagName('body')[0].innerHTML; if (result.Text_attachement__c == '<br>') { result.Text_attachement__c = ''; } @@ -121,7 +135,7 @@ console.log(nodelist[index].id.indexOf('lkwgt')); if (nodelist[index].id.indexOf('lkwgt') == -1) { let vlookUpNodeId = nodelist[index].id + '_lkid'; - if (nodelist[index].getAttribute("data-id") == 'Field1_staff__c') { + if (nodelist[index].tagName.toLowerCase() == 'div') { vlookUpNodeId = nodelist[index].id.substring(0,nodelist[index].id.length-4) + '_lkid'; } let vlookUpNodeValue = document.getElementById(vlookUpNodeId).value; @@ -183,6 +197,9 @@ } else { payloadJson.AWS_Data_Id__c = '{!AWSDataId}'; } + if('{!rtTypeId}'){ + payloadJson.RecordTypeId = '{!rtTypeId}';//Add by zhj for Record Type Issue 20220421 + } return payloadJson; } //鍥炶皟鍑芥暟锛岀偣鍑诲悗浜嬩欢 @@ -216,7 +233,9 @@ function checkRequiredFieldMsg(formData) { let blankRequiredFields = ''; for (i = 0; i < requiredFieldAPIList.length; i++) { - if (formData[requiredFieldAPIList[i]]) { + if (formData[requiredFieldAPIList[i]] && !VLookUpFields.has(requiredFieldAPIList[i])) { + continue; + }else if(VLookUpFields.has(requiredFieldAPIList[i]) && formData[requiredFieldAPIList[i]] != '000000000000000'){ continue; } else { let fieldAPIValue = requiredFieldAPIList[i] @@ -236,6 +255,8 @@ } //鎸夐挳鐐瑰嚮浜嬩欢 function saveCaseProcess(saveMode) { + EditButton(true); + disableButtonStatus(); redirectMode = saveMode; console.log('redirectMode'+redirectMode); @@ -273,6 +294,7 @@ errorMsgNode.innerText = errorMsg; errorMsgNode.className = 'pbError'; unblockUI(); + EditButton(false); } function hiddenErrorMsgNode() { let errorMsgNode = document.getElementById("page:form:block:msgContent"); @@ -395,7 +417,7 @@ <img src="/img/s.gif" alt="" class="minWidth" title="" width="1" height="1" /> <h2 class="mainTitle">CIC缂栬緫</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="淇濆瓨" onclick="saveCaseProcess('Save')" /> <input class="btn" type="Button" value="淇濆瓨骞跺叧闂�" onclick="saveCaseProcess('SaveAndClose')" /> <input class="btn" type="Button" value="淇濆瓨骞舵柊寤�" onclick="saveCaseProcess('SaveAndNew')" /> @@ -417,8 +439,10 @@ <apex:pageBlockSection title="{!layoutSection.name}" showHeader="{!layoutSection.useHeader}" collapsible="{!layoutSection.allowCollapse}" columns="{!layoutSection.columns}"> <!--Each section has layoutFields, let's iterate them as well--> <apex:repeat value="{!layoutSection.layoutFields}" var="layoutField"> - <apex:inputField html-data-id="{!layoutField.fieldAPI}" value="{!Case[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)}" - required="{!layoutField.isRequired}" /> + <apex:inputField html-data-id="{!layoutField.fieldAPI}" value="{!Case[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&&isNewMode}" required="{!layoutField.isRequired}" /> + <apex:inputField html-data-id="{!layoutField.fieldAPI}" value="{!Case[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&¬(isNewMode)&&layoutField.fieldAPI!='RecordTypeId'}" required="{!layoutField.isRequired}" /> + <apex:outputField html-data-id="{!layoutField.fieldAPI}" value="{!Case[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&¬(isNewMode)&&layoutField.fieldAPI=='RecordTypeId'}" /> + <apex:pageblocksectionitem rendered="{!layoutField.isPlaceHolder}"> </apex:pageblocksectionitem> </apex:repeat> @@ -432,7 +456,19 @@ 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"); + } + } + */ } } } @@ -450,6 +486,9 @@ //3. Set Readonly Attribute document.querySelector("[data-id='OwnerId']").classList.add("disabledbutton"); document.querySelector("[data-id='RecordTypeId']").classList.add("disabledbutton"); + + document.getElementById('topButtonRow').style = ''; + document.getElementById('bottomButtonRow').style = ''; //闇�瑕侀殣钘� // document.querySelector("[data-id='SuppliedEmail']").classList.add("displayblock"); @@ -494,10 +533,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 = ''; // } // } // }); @@ -509,7 +548,7 @@ <tr> <td class="pbTitle"> <img src="/img/s.gif" alt="" class="minWidth" title="" width="1" height="1" /> </td> - <td class="pbButton" id="bottomButtonRow"> + <td class="pbButton" id="bottomButtonRow" style="pointer-events: none; opacity: 0.4;"> <input class="btn" type="Button" value="淇濆瓨" onclick="saveCaseProcess('Save')" /> <input class="btn" type="Button" value="淇濆瓨骞跺叧闂�" onclick="saveCaseProcess('SaveAndClose')" /> <input class="btn" type="Button" value="淇濆瓨骞舵柊寤�" onclick="saveCaseProcess('SaveAndNew')" /> -- Gitblit v1.9.1