|  |  | 
 |  |  | <apex:page standardController="Report__c" extensions="NewAndEditReportController" id="page"> | 
 |  |  | <apex:page standardController="Report__c" extensions="NewAndEditReportController" id="page" lightningStylesheets="true"> | 
 |  |  |     <apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}"/> | 
 |  |  |     <apex:includeScript value="{! URLFOR($Resource.AWSService, 'AWSService.js') }" /> | 
 |  |  |     <apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}"/> | 
 |  |  |     <apex:includeScript value="{!URLFOR($Resource.PleaseWaitDialog)}"/> | 
 |  |  |     <script src="../../soap/ajax/53.0/connection.js" type="text/javascript"></script> | 
 |  |  |     <apex:includeScript value="{!URLFOR($Resource.connection20)}"/> | 
 |  |  |  | 
 |  |  |     <style> | 
 |  |  |         .disabledbutton { | 
 |  |  | 
 |  |  |     </style> | 
 |  |  |  | 
 |  |  |     <script> | 
 |  |  |         sforce.connection.sessionId = '{!GETSESSIONID()}'; | 
 |  |  |         AWSService.sfSessionId = '{!GETSESSIONID()}'; | 
 |  |  |         var staticResources = JSON.parse('{!staticResource}'); | 
 |  |  |          //zhj MEBG新方案改造 2022-11-29 start | 
 |  |  |          var staticResourcesV2 = JSON.parse('{!staticResourceV2}'); | 
 |  |  |         //zhj MEBG新方案改造 2022-11-29 end | 
 |  |  |         var staticResourcesContact = JSON.parse('{!staticResourceContact}'); | 
 |  |  |         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', | 
 |  |  |         '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']); | 
 |  |  |         // 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','Responsible_Person__c', | 
 |  |  |         // 'Opportunity2__c','Product01__c','Product1__c','Product2__c','Product3__c','Product4__c','Product5__c','Order_No__c','Person_In_Charge__c','CIC_Number__c']); | 
 |  |  |         var VLookUpFields = {! VLookUpFieldsJson}; | 
 |  |  |         var closeField = ''; | 
 |  |  |         // var myCkeditor = null; | 
 |  |  |         // try { | 
 |  |  | 
 |  |  |         //     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) { | 
 |  |  |             let errorMsgNode = document.getElementById("page:form:j_id5:msgContent"); | 
 |  |  |             let errorMsgNode = document.getElementById("page:form:pageBlock:msgContent"); | 
 |  |  |             errorMsg = '错误:无效数据。'+'\n' + errorMsg; | 
 |  |  |             errorMsgNode.innerText = errorMsg; | 
 |  |  |             errorMsgNode.className = 'pbError'; | 
 |  |  |             unblockUI(); | 
 |  |  |             EditButton(false); | 
 |  |  |         } | 
 |  |  |         function hiddenErrorMsgNode() { | 
 |  |  |             let errorMsgNode = document.getElementById("page:form:j_id5:msgContent"); | 
 |  |  |             let errorMsgNode = document.getElementById("page:form:pageBlock:msgContent"); | 
 |  |  |             errorMsgNode.innerText = ''; | 
 |  |  |             errorMsgNode.className = ''; | 
 |  |  |         } | 
 |  |  | 
 |  |  |             let result = {} | 
 |  |  |             result.RecordTypeId = '{!rtTypeId}'; | 
 |  |  |             for (let index = 0; index < nodelist.length; index++) { | 
 |  |  |                 if (VLookUpFields.has(nodelist[index].getAttribute("data-id"))) { | 
 |  |  |                 let tag_name = nodelist[index].tagName.toLowerCase(); | 
 |  |  |                 if(tag_name == 'div'){ | 
 |  |  |                     console.log(nodelist[index]) | 
 |  |  |                 } | 
 |  |  |                 if (VLookUpFields.indexOf(nodelist[index].getAttribute("data-id")) >= 0) { | 
 |  |  |                     console.log(nodelist[index].id.indexOf('lkwgt')); | 
 |  |  |                     if (nodelist[index].id.indexOf('lkwgt') == -1) { | 
 |  |  |                         let vlookUpNodeId = nodelist[index].id + '_lkid'; | 
 |  |  |                         let vlookUpNodeValue = document.getElementById(vlookUpNodeId).value; | 
 |  |  |                         result[nodelist[index].getAttribute("data-id")] = vlookUpNodeValue; | 
 |  |  |                         if (tag_name == 'div') { | 
 |  |  |                             vlookUpNodeId = nodelist[index].id.substring(0,nodelist[index].id.length-4) + '_lkid'; | 
 |  |  |                         } | 
 |  |  |                         let vlookUpNodeValue = document.getElementById(vlookUpNodeId); | 
 |  |  |                         let v = ''; | 
 |  |  |                         if(vlookUpNodeValue){ | 
 |  |  |                             v = vlookUpNodeValue.value; | 
 |  |  |                         }else{ | 
 |  |  |                             v = nodelist[index].value; | 
 |  |  |                         } | 
 |  |  |                         result[nodelist[index].getAttribute("data-id")] = v; | 
 |  |  |                     } | 
 |  |  |                 } else if (nodelist[index].type == 'checkbox') { | 
 |  |  |                     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; | 
 |  |  | 
 |  |  |                     //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++){ | 
 |  |  | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |             //手术分类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() | 
 |  |  | 
 |  |  |             // if(document.querySelector("[aria-describedby = 'cke_38']")){ | 
 |  |  |             //     result.VOC_follow_up_result__c = document.querySelector("[aria-describedby = 'cke_38']").contentWindow.document.getElementsByTagName('body')[0].innerHTML | 
 |  |  |             // } | 
 |  |  |             // //对应结果第一次    VOC_follow_up_result1__c cke_71 | 
 |  |  |             // //对应结果第一次    VOC_follow_up_result1__c cke_71 | 
 |  |  |             // if(document.querySelector("[aria-describedby = 'cke_71']")){ | 
 |  |  |             //     result.VOC_follow_up_result1__c = document.querySelector("[aria-describedby = 'cke_71']").contentWindow.document.getElementsByTagName('body')[0].innerHTML | 
 |  |  |             // } | 
 |  |  | 
 |  |  |         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){ | 
 |  |  | 
 |  |  |         function checkRequiredFieldMsg(formData) { | 
 |  |  |             let blankRequiredFields = ''; | 
 |  |  |             for(i = 0;i<requiredFieldAPIList.length;i++){ | 
 |  |  |                 if(formData[requiredFieldAPIList[i]]){ | 
 |  |  |                 if (formData[requiredFieldAPIList[i]] && (VLookUpFields.indexOf(requiredFieldAPIList[i]) == -1)) { | 
 |  |  |                     continue; | 
 |  |  |                 }else if((VLookUpFields.indexOf(requiredFieldAPIList[i]) != -1) && formData[requiredFieldAPIList[i]] != '000000000000000'){ | 
 |  |  |                     continue; | 
 |  |  |                 }else{ | 
 |  |  |                     if(blankRequiredFields == ''){ | 
 |  |  | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |             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','div'].indexOf(tag_name.toLowerCase())>-1; | 
 |  |  |         } | 
 |  |  |          | 
 |  |  |         function IsFormElement(e){ | 
 |  |  |             return IsFormTag(e.tagName); | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         //4.获取要加密的字段 | 
 |  |  | 
 |  |  |         //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) | 
 |  |  | 
 |  |  |         //新建 | 
 |  |  |         function NewPIToAWS(reportJson, payloadForNewPI) { | 
 |  |  |             let controllerSaveMethod = '{!$RemoteAction.NewAndEditReportController.saveReport}'; | 
 |  |  |             AWSService.insert(staticResources.newUrl, reportJson, payloadForNewPI, controllerSaveMethod, staticResources.token, staticResources.transactionUrl, true, insertOrUpdateBack, redirectCallBack); | 
 |  |  |             //zhj MEBG新方案改造 2022-11-29 start | 
 |  |  |             //AWSService.insert(staticResources.newUrl, reportJson, payloadForNewPI, controllerSaveMethod, staticResources.token, staticResources.transactionUrl, {!isNewMode}, insertOrUpdateBack, redirectCallBack); | 
 |  |  |             AWSService.insert(staticResourcesV2.newUrl, reportJson, payloadForNewPI, controllerSaveMethod, staticResourcesV2.token, staticResourcesV2.transactionUrl, {!isNewMode}, insertOrUpdateBack, redirectCallBack); | 
 |  |  |             //zhj MEBG新方案改造 2022-11-29 end | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         //编辑 | 
 |  |  | 
 |  |  |             let obj = JSON.parse(payloadForNewPI); | 
 |  |  |             obj[0].dataId = '{!AWSDataId}'; | 
 |  |  |             let payloadForNewPIJson = JSON.stringify(obj); | 
 |  |  |             AWSService.update(staticResources.updateUrl, reportJson, payloadForNewPIJson, controllerSaveMethod, staticResources.token, staticResources.transactionUrl, false, insertOrUpdateBack,redirectCallBack); | 
 |  |  |             //zhj MEBG新方案改造 2022-11-29 start | 
 |  |  |             //AWSService.update(staticResources.updateUrl, reportJson, payloadForNewPIJson, controllerSaveMethod, staticResources.token, staticResources.transactionUrl, false, insertOrUpdateBack,redirectCallBack); | 
 |  |  |             AWSService.update(staticResourcesV2.updateUrl, reportJson, payloadForNewPIJson, controllerSaveMethod, staticResourcesV2.token, staticResources.transactionUrl, false, insertOrUpdateBack,redirectCallBack); | 
 |  |  |             //zhj MEBG新方案改造 2022-11-29 end | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         //查询 | 
 |  |  | 
 |  |  |             payloadJson.Medical_History__c = result.object[0].medicalHistory; | 
 |  |  |             payloadJson.sex__c = result.object[0].sex; | 
 |  |  |  | 
 |  |  |             payloadJson.VOC_Informer_Name_Encrypted__c = result.object[0].vocInformerNameEncrypt; | 
 |  |  |             payloadJson.Caller_phone_c_Encrypted__c = result.object[0].callerPhoneEncrypt; | 
 |  |  |             payloadJson.VOC_Informer_Contact_Encrypted__c = result.object[0].vocInformerContactEncrypt; | 
 |  |  |             payloadJson.Person_In_Charge_Text_Encrypted__c = result.object[0].personInChargeTextEncrypt; | 
 |  |  |             payloadJson.Professor_sigh_text_Encrypted__c = result.object[0].professorSighTextEncrypt; | 
 |  |  |             payloadJson.Staff_Info_Manual_c_Encrypted__c = result.object[0].staffInfoManualEncrypt; | 
 |  |  |             payloadJson.Responsible_Person_HP_c_Encrypted__c = result.object[0].responsiblePersonHPEncrypt; | 
 |  |  |             payloadJson.Practitioner1_Part_Encrypted__c = result.object[0].practitioner1PartEncrypt; | 
 |  |  |             payloadJson.Practitioner2_Part_Encrypted__c = result.object[0].practitioner2PartEncrypt; | 
 |  |  |             payloadJson.Practitioner3_Part_Encrypted__c = result.object[0].practitioner3PartEncrypt; | 
 |  |  |             payloadJson.Practitioner4_Part_Encrypted__c = result.object[0].practitioner4PartEncrypt; | 
 |  |  |             payloadJson.Practitioner5_Part_Encrypted__c = result.object[0].practitioner5PartEncrypt; | 
 |  |  |             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}) { | 
 |  |  |             //zhj MEBG新方案改造 2022-11-29 start | 
 |  |  |             // payloadJson.VOC_Informer_Name_Encrypted__c = result.object[0].vocInformerNameEncrypt; | 
 |  |  |             // payloadJson.Caller_phone_c_Encrypted__c = result.object[0].callerPhoneEncrypt; | 
 |  |  |             // payloadJson.VOC_Informer_Contact_Encrypted__c = result.object[0].vocInformerContactEncrypt; | 
 |  |  |             // payloadJson.Person_In_Charge_Text_Encrypted__c = result.object[0].personInChargeTextEncrypt; | 
 |  |  |             // payloadJson.Professor_sigh_text_Encrypted__c = result.object[0].professorSighTextEncrypt; | 
 |  |  |             // payloadJson.Staff_Info_Manual_c_Encrypted__c = result.object[0].staffInfoManualEncrypt; | 
 |  |  |             // payloadJson.Responsible_Person_HP_c_Encrypted__c = result.object[0].responsiblePersonHPEncrypt; | 
 |  |  |             // payloadJson.Practitioner1_Part_Encrypted__c = result.object[0].practitioner1PartEncrypt; | 
 |  |  |             // payloadJson.Practitioner2_Part_Encrypted__c = result.object[0].practitioner2PartEncrypt; | 
 |  |  |             // payloadJson.Practitioner3_Part_Encrypted__c = result.object[0].practitioner3PartEncrypt; | 
 |  |  |             // payloadJson.Practitioner4_Part_Encrypted__c = result.object[0].practitioner4PartEncrypt; | 
 |  |  |             // payloadJson.Practitioner5_Part_Encrypted__c = result.object[0].practitioner5PartEncrypt; | 
 |  |  |             // 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; | 
 |  |  |             //zhj MEBG新方案改造 2022-11-29 end | 
 |  |  |  | 
 |  |  |             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('{!sfRecordIdForEdit}'){ | 
 |  |  |                 payloadJson.Id = '{!sfRecordIdForEdit}'; | 
 |  |  |             } | 
 |  |  |             if('{!rtTypeId}'){ | 
 |  |  |                 payloadJson.RecordTypeId = '{!rtTypeId}';//Add by Li Jun for Record Type Issue 20220421 | 
 |  |  |             } | 
 |  |  |             if('{!isCloneMode}' == 'true'){ | 
 |  |  |                 var reportId = '{!sfRecordIdForEdit}'; | 
 |  |  |                 var r = sforce.connection.query("select Practitioner4__c,Practitioner5__c from Report__c where id='"+reportId+"'") | 
 |  |  |                 payloadJson.Practitioner4__c = r.getArray("records")[0].Practitioner4__c | 
 |  |  |                 payloadJson.Practitioner5__c = r.getArray("records")[0].Practitioner5__c | 
 |  |  |                 payloadJson.Id = null | 
 |  |  |             } | 
 |  |  |             return payloadJson; | 
 |  |  |         } | 
 |  |  | 
 |  |  |  | 
 |  |  |         //点击保存按钮 | 
 |  |  |         function saveReportProcess(saveMode) { | 
 |  |  |             EditButton(true); | 
 |  |  |  | 
 |  |  |             redirectMode = saveMode; | 
 |  |  |             console.log('redirectMode' + redirectMode); | 
 |  |  |             hiddenErrorMsgNode(); | 
 |  |  | 
 |  |  |         <!-- <apex:outputPanel id="errorMsg"> | 
 |  |  |             <apex:pageMessages id="msgContent" escape="false" /> | 
 |  |  |         </apex:outputPanel> --> | 
 |  |  |         <apex:pageblock > | 
 |  |  |         <apex:pageblock id="pageBlock"> | 
 |  |  |             <div class="pbHeader"> | 
 |  |  |                 <table cellspacing="0" cellpadding="0" border="0"> | 
 |  |  |                     <tbody> | 
 |  |  | 
 |  |  |                                 <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="取消" /> | 
 |  |  | 
 |  |  |  | 
 |  |  |                     <!--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> | 
 |  |  | 
 |  |  |                 </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 () { | 
 |  |  |                     debugger | 
 |  |  |                     //判断是否为只读选项 | 
 |  |  |                     var layoutSections = JSON.parse('{!layoutSectionsStr}'); | 
 |  |  |                     for (let m = 0; m < layoutSections.length; m++) { | 
 |  |  | 
 |  |  |                     //Replace Vlookup Field | 
 |  |  |                     replaceSearchContactLookup(); | 
 |  |  |                     //3. Set Readonly Attribute | 
 |  |  |                     document.querySelector("[data-id='OwnerId']").classList.add("disabledbutton"); | 
 |  |  |                     if(document.querySelector("[data-id='OwnerId']")) | 
 |  |  |                         document.querySelector("[data-id='OwnerId']").classList.add("disabledbutton"); | 
 |  |  |  | 
 |  |  |                     //如果是OPD计划过来的 | 
 |  |  |                     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); | 
 |  |  | 
 |  |  |                         <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="取消" /> |