From 24fda5246494953a232b37547fb50bde77bd9886 Mon Sep 17 00:00:00 2001 From: Li Jun <buli@deloitte.com.cn> Date: 星期三, 27 四月 2022 12:03:42 +0800 Subject: [PATCH] PIPLButtonIssueFix --- force-app/main/default/pages/NewAndEditReport.page | 142 ++++++++++++++++++++++++++++++++++++---------- 1 files changed, 110 insertions(+), 32 deletions(-) diff --git a/force-app/main/default/pages/NewAndEditReport.page b/force-app/main/default/pages/NewAndEditReport.page index 16baa76..97c0d49 100644 --- a/force-app/main/default/pages/NewAndEditReport.page +++ b/force-app/main/default/pages/NewAndEditReport.page @@ -19,7 +19,7 @@ var redirectMode = 'Save';//1. Save 2. SaveAndNew var requiredFieldAPIList = JSON.parse('{!requiredFieldAPIListStr}'); var fieldAPIToLabelMap = JSON.parse('{!fieldAPIToLabelMapStr}'); - var VLookUpFields = new Set(['Hospital_Reference__c', 'Department_Class_Ref__c', 'Daily_Report__c', 'OwnerId','Hospital_Department__c', + var VLookUpFields = new Set(['Hospital_Reference__c','Consum_Apply__c','Department_Class_Ref__c', 'Daily_Report__c', 'OwnerId','Hospital_Department__c', 'Competition_Company_Name__c','Report_OPDPlan__c','Loaner_request_no1__c','Practitioner1__c','Practitioner2__c','Practitioner3__c','Practitioner4__c', 'Practitioner5__c','Opportunity1__c', 'Opportunity2__c','Product01__c','Product1__c','Product2__c','Product3__c','Product4__c','Product5__c','Order_No__c','Person_In_Charge__c']); @@ -31,6 +31,18 @@ // console.log('娌℃湁CKEDITOR') // } + 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 alertErrorMessage(errorMsg) { @@ -39,6 +51,7 @@ errorMsgNode.innerText = errorMsg; errorMsgNode.className = 'pbError'; unblockUI(); + EditButton(false); } function hiddenErrorMsgNode() { let errorMsgNode = document.getElementById("page:form:j_id5:msgContent"); @@ -72,7 +85,6 @@ result[nodelist[index].getAttribute("data-id")] = nodelist[index].checked; } else if (nodelist[index].type == 'select-multiple') { //nodelist[index].getAttribute("data-id") - let multiple = nodelist[index].getAttribute("data-id"); //let targets = document.querySelector("[data-id=" + multiple + "]").nextSibling.children[0].children[1].children[2].innerText; //Before Update By Li Jun 20220411 // let targets = document.querySelector("[data-id=" + multiple + "]").parentNode.children[2].children[0].children[1].children[2].children[0].innerText; @@ -82,6 +94,7 @@ //Before Update By Li Jun 20220411 //After Update By Li Jun 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++){ @@ -111,13 +124,22 @@ } } //鎵嬫湳鍒嗙被1 - result.Technical_Category1__c = document.getElementById('page:form:j_id5:j_id35:4:j_id36:j_id37:2:j_id38')!=null?document.getElementById('page:form:j_id5:j_id35:4:j_id36:j_id37:2:j_id38').value:''; - //鎵嬫湳鍒嗙被2 - result.Technical_Category2__c = document.getElementById('page:form:j_id5:j_id35:4:j_id36:j_id37:4:j_id38')!=null?document.getElementById('page:form:j_id5:j_id35:4:j_id36:j_id37:4:j_id38').value:''; - //鐩殑2 - if(document.getElementById('page:form:j_id5:j_id35:2:j_id36:j_id37:1:j_id38')){ - result.Purpose2__c = document.getElementById('page:form:j_id5:j_id35:2:j_id36:j_id37:1:j_id38').value; + if(api_id_map['Technical_Category1__c']){ + result.Technical_Category1__c = document.getElementById(api_id_map['Technical_Category1__c']).value!='_\x01_'?document.getElementById(api_id_map['Technical_Category1__c']).value:''; } + //result.Technical_Category1__c = document.getElementById('page:form:j_id5:j_id35:4:j_id36:j_id37:2:j_id38')!=null?document.getElementById('page:form:j_id5:j_id35:4:j_id36:j_id37:2:j_id38').value:''; + //鎵嬫湳鍒嗙被2 + if(api_id_map['Technical_Category2__c']){ + result.Technical_Category2__c = document.getElementById(api_id_map['Technical_Category2__c']).value!='_\x01_'?document.getElementById(api_id_map['Technical_Category2__c']).value:''; + } + //result.Technical_Category2__c = document.getElementById('page:form:j_id5:j_id35:4:j_id36:j_id37:4:j_id38')!=null?document.getElementById('page:form:j_id5:j_id35:4:j_id36:j_id37:4:j_id38').value:''; + //鐩殑2 + if(api_id_map['Purpose2__c']){ + result.Purpose2__c = document.getElementById(api_id_map['Purpose2__c']).value; + } + // if(document.getElementById('page:form:j_id5:j_id35:2:j_id36:j_id37:1:j_id38')){ + // result.Purpose2__c = document.getElementById('page:form:j_id5:j_id35:2:j_id36:j_id37:1:j_id38').value; + // } //瀵屾枃鏈璧嬪�� if(getCKEinstance('Customer_sigh_photo__c')){ result.Customer_sigh_photo__c = getCKEinstance('Customer_sigh_photo__c').getData() @@ -174,24 +196,24 @@ function validateFieldValueFormate() { //VOC_Informer_Contact__c,Caller_phone_c__c let error_msg = ''; - let textEmail = "[data-id=' Follow_staff_email__c']"; - let textPhone1 = "[data-id='VOC_Informer_Contact__c']"; - let textPhone2 = "[data-id='Caller_phone_c__c']"; - //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=' Follow_staff_email__c']"; + // let textPhone1 = "[data-id='VOC_Informer_Contact__c']"; + // let textPhone2 = "[data-id='Caller_phone_c__c']"; + // //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 phone1 = document.querySelector(textPhone1); - if(phone1 && !/^1[3|5|8|7][0-9]\d{4,8}$/.test(phone1.value)){ - error_msg += ';淇℃伅鎻愪緵浜鸿仈绯绘柟寮忥紙鐢佃瘽锛夊彿鐮侀敊璇�'; - } + // let phone1 = document.querySelector(textPhone1); + // if(phone1 && !/^1[3|5|8|7][0-9]\d{4,8}$/.test(phone1.value)){ + // error_msg += ';淇℃伅鎻愪緵浜鸿仈绯绘柟寮忥紙鐢佃瘽锛夊彿鐮侀敊璇�'; + // } - let phone2 = document.querySelector(textPhone2); - if(phone2 && !/^1[3|5|8|7][0-9]\d{4,8}$/.test(phone2.value)){ - error_msg += ';鑱旂郴鐢佃瘽鍙风爜閿欒'; - } + // let phone2 = document.querySelector(textPhone2); + // if(phone2 && !/^1[3|5|8|7][0-9]\d{4,8}$/.test(phone2.value)){ + // error_msg += ';鑱旂郴鐢佃瘽鍙风爜閿欒'; + // } for(let e of document.getElementsByTagName('select')){ for(let op of e.options){ @@ -226,6 +248,33 @@ return blankRequiredFields; } + var GetEleByClass = function(class_name){ + let eles = document.getElementsByClassName(class_name); + if(eles.length > 0) return eles[0]; + return null; + } + + var GetEleApiName = function(ele){ + for(let ci in ele.classList){ + let c = ele.classList[ci]; + if(c.indexOf('{!ApiPrefix}'+'_')>-1){ + return c.replace('{!ApiPrefix}'+'_',''); + } + } + return ''; + } + + 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); + } + //4.鑾峰彇瑕佸姞瀵嗙殑瀛楁 function getPIPayload(reportJson) { let reportPayloadList = []; @@ -254,7 +303,7 @@ //5.鏂板缓鎴栫紪杈� function ProcessPI(reportJson, payloadForNewPI) { blockme(); - if ({!isNewMode} || {!isCloneMode}) { + if ({!isNewMode} || {!isCloneMode} || !'{!AWSDataId}') {//Add by Li Jun for PIPL 20220413 NewPIToAWS(reportJson, payloadForNewPI) }else { UpdatePIToAWS(reportJson, payloadForNewPI) @@ -491,10 +540,14 @@ payloadJson.age_Encrypted__c = result.object[0].ageEncrypt; payloadJson.Medical_History_Encrypted__c = result.object[0].medicalHistoryEncrypt; payloadJson.sex_Encrypted__c = result.object[0].sexEncrypt; - if (isNewMode || {!isCloneMode}) { + if (isNewMode || {!isCloneMode}||!'{!AWSDataId}') {//Add by Li Jun for PIPL 20220413 payloadJson.AWS_Data_Id__c = result.object[0].dataId; + delete payloadJson.OwnerId; } else { payloadJson.AWS_Data_Id__c = '{!AWSDataId}'; + } + if('{!rtTypeId}'){ + payloadJson.RecordTypeId = '{!rtTypeId}';//Add by Li Jun for Record Type Issue 20220421 } return payloadJson; } @@ -514,6 +567,8 @@ //鐐瑰嚮淇濆瓨鎸夐挳 function saveReportProcess(saveMode) { + EditButton(true); + redirectMode = saveMode; console.log('redirectMode' + redirectMode); hiddenErrorMsgNode(); @@ -576,7 +631,7 @@ <img src="/img/s.gif" alt="" class="minWidth" title="" width="1" height="1" /> <h2 class="mainTitle">鎶ュ憡涔︾紪杈�</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="saveReportProcess('Save')" /> <input class="btn" type="Button" value="淇濆瓨骞舵柊寤�" onclick="saveReportProcess('SaveAndNew')" /> <apex:commandButton action="{!cancel}" value="鍙栨秷" /> @@ -599,8 +654,14 @@ <!--Each section has layoutFields, let's iterate them as well--> <apex:repeat value="{!layoutSection.layoutFields}" var="layoutField"> - <apex:inputField html-data-id="{!layoutField.fieldAPI}" styleClass="{!layoutField.fieldAPI}" value="{!Report__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)}" + <!-- <apex:inputField html-title="{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" styleClass="{!ApiPrefix} {!ApiPrefix}_{!layoutField.fieldAPI}" value="{!Report__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)}" + required="{!layoutField.isRequired}" /> --> + <apex:inputField styleClass="PIBackApi PIBackApi_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!Report__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&&isNewMode}" required="{!layoutField.isRequired}" /> + <apex:inputField styleClass="PIBackApi PIBackApi_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!Report__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&¬(isNewMode)&&layoutField.fieldAPI!='RecordTypeId'}" + required="{!layoutField.isRequired}" /> + <apex:outputField styleClass="PIBackApi PIBackApi_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!Report__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&¬(isNewMode)&&layoutField.fieldAPI=='RecordTypeId'}" + /> <apex:pageblocksectionitem rendered="{!layoutField.isPlaceHolder}"> </apex:pageblocksectionitem> </apex:repeat> @@ -608,6 +669,18 @@ </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}'); @@ -646,10 +719,15 @@ if('{!no1Name}' != '' && '{!no1Id}' != ''){ console.log('name = '+'{!no1Name}') console.log('Id = '+'{!no1Id}') - document.querySelector("[data-id='Loaner_request_no1__c']").value = '{!no1Name}' - document.getElementById(document.querySelector("[data-id='Loaner_request_no1__c']").id + '_lkid').value = '{!no1Id}' + if(document.querySelector("[data-id='Loaner_request_no1__c']")){ + document.querySelector("[data-id='Loaner_request_no1__c']").value = '{!no1Name}' + document.getElementById(document.querySelector("[data-id='Loaner_request_no1__c']").id + '_lkid').value = '{!no1Id}' + } } - + + document.getElementById('topButtonRow').style = ''; + document.getElementById('bottomButtonRow').style = ''; + let previous_value = {}; jQuery(".lookupInput input").each(function(i,e){ let je =jQuery(e); @@ -705,7 +783,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="淇濆瓨" onclick="saveReportProcess('Save')" /> <input class="btn" type="Button" value="淇濆瓨骞舵柊寤�" onclick="saveReportProcess('SaveAndNew')" /> <apex:commandButton action="{!cancel}" value="鍙栨秷" /> -- Gitblit v1.9.1