|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //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; | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | 
|---|
|  |  |  | let arr = data.object[f].split(';'); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 给隐藏的select赋值 | 
|---|
|  |  |  | for(let op of ele.options){ | 
|---|
|  |  |  | for(let opi in ele.options){ | 
|---|
|  |  |  | let op = ele.options[opi]; | 
|---|
|  |  |  | op.selected = arr.indexOf(op.value)>-1; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | var VLookUpFields = {! VLookUpFieldsJson}; | 
|---|
|  |  |  | function ProcessPI(sobjJson, payloadForNewPI) { | 
|---|
|  |  |  | blockme(); | 
|---|
|  |  |  | if ({!isNewMode}) { | 
|---|
|  |  |  | 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"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 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+'_',''); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 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 e of document.getElementsByTagName('select')){ | 
|---|
|  |  |  | for(let op of e.options){ | 
|---|
|  |  |  | for(let ei in document.getElementsByTagName('select')){ | 
|---|
|  |  |  | let e = document.getElementsByTagName('select')[ei]; | 
|---|
|  |  |  | for(let opi in e.options){ | 
|---|
|  |  |  | let op = e.options[opi]; | 
|---|
|  |  |  | if(op.value == "*****" && op.selected){ | 
|---|
|  |  |  | error_msg += ';下拉框不能主动选择密文选项'; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | v = ele.value; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if(v && v != "000000000000000"){ | 
|---|
|  |  |  | //if(v && v != "000000000000000"){ | 
|---|
|  |  |  | result[field_api_name] = v; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //} | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } 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; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //按钮点击方法 | 
|---|
|  |  |  | function saveSobjectProcess(save_and_new) { | 
|---|
|  |  |  | EditButton(true); | 
|---|
|  |  |  | if(save_and_new){ | 
|---|
|  |  |  | config.SaveAndNew = true; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | // 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 | 
|---|
|  |  |  | 
|---|
|  |  |  | 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"); | 
|---|
|  |  |  | 
|---|
|  |  |  | errorMsgNode.className = ''; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | var newSearchContactWindow = null; | 
|---|
|  |  |  | var newSearchContactWindow = null; | 
|---|
|  |  |  | var contactHtmlString = '<img src="/img/s.gif" onclick="searchContact(\'page:form:contactId\')" alt="Reference Document Number Lookup" class="lookupIcon"  title="Reference Document Number Lookup (New Window)"/>'; | 
|---|
|  |  |  | function htmlToElement(html) { | 
|---|
|  |  |  | var template = document.createElement('template'); | 
|---|
|  |  |  | 
|---|
|  |  |  | accountValue = document.getElementById(accountNodeId).value; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | console.log(accountValue); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | let searchContactKeyWord = document.querySelector("[data-id='Contact_Name__c']").value; | 
|---|
|  |  |  | if(accountValue !='000000000000000'){ | 
|---|
|  |  |  | suffixUrl = "?contactId="+contactNodeId+"&accountId="+accountValue; | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  | // 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() { | 
|---|
|  |  |  | 
|---|
|  |  |  | function replaceSearchContactLookup() { | 
|---|
|  |  |  | let lookUpNode = htmlToElement(contactHtmlString); | 
|---|
|  |  |  | console.log(lookUpNode); | 
|---|
|  |  |  | if (!{!isNewMode}) { | 
|---|
|  |  |  | //1. Query Contact from AWS by AWSDataId | 
|---|
|  |  |  | queryContactName() | 
|---|
|  |  |  | } | 
|---|
|  |  |  | let eleContactValue = document.querySelector("[data-id='Contact_Name__c']").parentNode.parentNode.children[0].value; | 
|---|
|  |  |  | if (eleContactValue) { | 
|---|
|  |  |  | if (!{!isNewMode} || (eleContactValue != '000000000000000')) { | 
|---|
|  |  |  | //1. Query Contact from AWS by AWSDataId | 
|---|
|  |  |  | queryContactName() | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | let parentNode = document.querySelector("[data-id='Contact_Name__c']").parentNode; | 
|---|
|  |  |  | document.querySelector("[data-id='Contact_Name__c']").removeAttribute("onchange"); | 
|---|
|  |  |  | parentNode.replaceChild(lookUpNode, document.querySelector("[data-id='Contact_Name__c']").parentNode.children[2]); | 
|---|
|  |  |  | 
|---|
|  |  |  | let sfId = document.getElementById(document.querySelector("[data-id='Contact_Name__c']").id + '_lkid').value; | 
|---|
|  |  |  | let contactsInfo = JSON.parse('{!LookUpOverrideFieldsMapJson}'); | 
|---|
|  |  |  | let dataId = contactsInfo[sfId]; | 
|---|
|  |  |  | // let queryContactBack = function(data){ | 
|---|
|  |  |  | //     //To Do later | 
|---|
|  |  |  | //     console.log('ContactData = ' + data.object); | 
|---|
|  |  |  | let queryContactBack = function(data){ | 
|---|
|  |  |  | //To Do later | 
|---|
|  |  |  | console.log('ContactData = ' + data.object); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //     document.querySelector("[data-id='Contact_Name__c']").value = data.object.lastName; | 
|---|
|  |  |  | // } | 
|---|
|  |  |  | // AWSService.query(staticResourcesContact.queryUrl, dataId, queryContactBack, staticResources.token); | 
|---|
|  |  |  | let url = staticResourcesContact.queryUrl + '?dataId=' + dataId; | 
|---|
|  |  |  | fetch(url, { | 
|---|
|  |  |  | method: 'GET', | 
|---|
|  |  |  | headers: { | 
|---|
|  |  |  | 'Content-Type': 'application/json', | 
|---|
|  |  |  | 'pi-token': staticResources.token | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }).then((data) => { | 
|---|
|  |  |  | return data.json(); | 
|---|
|  |  |  | }).then((result) => { | 
|---|
|  |  |  | document.querySelector("[data-id='Contact_Name__c']").value = result.object.lastName; | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | document.querySelector("[data-id='Contact_Name__c']").value = data.object.lastName; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | AWSService.query(staticResourcesContact.queryUrl, dataId, queryContactBack, staticResources.token); | 
|---|
|  |  |  | // let url = staticResourcesContact.queryUrl + '?dataId=' + dataId; | 
|---|
|  |  |  | // fetch(url, { | 
|---|
|  |  |  | //     method: 'GET', | 
|---|
|  |  |  | //     headers: { | 
|---|
|  |  |  | //         'Content-Type': 'application/json', | 
|---|
|  |  |  | //         'pi-token': staticResources.token | 
|---|
|  |  |  | //     } | 
|---|
|  |  |  | // }).then((data) => { | 
|---|
|  |  |  | //     return data.json(); | 
|---|
|  |  |  | // }).then((result) => { | 
|---|
|  |  |  | //     document.querySelector("[data-id='Contact_Name__c']").value = result.object.lastName; | 
|---|
|  |  |  | // }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //For Lead Search | 
|---|
|  |  |  | 
|---|
|  |  |  | function searchLead(leadNodeId){ | 
|---|
|  |  |  | // let accountValue = ""; | 
|---|
|  |  |  | // let suffixUrl = ""; | 
|---|
|  |  |  | let suffixUrl = "?leadId="+leadNodeId; | 
|---|
|  |  |  | let searchLeadKeyWord = document.querySelector("[data-id='Lead_link__c']").value; | 
|---|
|  |  |  | let suffixUrl = "?leadId="+leadNodeId+"&searchLeadKeyWord=" + searchLeadKeyWord; | 
|---|
|  |  |  | let baseUrl = "/apex/SearchLeadPage"; | 
|---|
|  |  |  | let newSearchLeadParam = 'height=600,width=800,left=100,top=100,dialogHide=true,resizable=no,scrollbars=yes,toolbar=no,status=no'; | 
|---|
|  |  |  | newSearchLeadWindow = window.open(baseUrl+suffixUrl, 'Popup', newSearchLeadParam); | 
|---|
|  |  |  | 
|---|
|  |  |  | let sfId = document.getElementById(document.querySelector("[data-id='Lead_link__c']").id + '_lkid').value; | 
|---|
|  |  |  | let leadsInfo = JSON.parse('{!LookUpOverrideFieldsMapJson}'); | 
|---|
|  |  |  | let dataId = leadsInfo[sfId]; | 
|---|
|  |  |  | // let queryLeadBack = function(data){ | 
|---|
|  |  |  | //     //To Do later | 
|---|
|  |  |  | //     console.log('ContactData = ' + data.object); | 
|---|
|  |  |  | let queryLeadBack = function(data){ | 
|---|
|  |  |  | //To Do later | 
|---|
|  |  |  | console.log('ContactData = ' + data.object); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //     document.querySelector("[data-id='Lead_link__c']").value = data.object.lastName; | 
|---|
|  |  |  | // } | 
|---|
|  |  |  | // AWSService.query(staticResourcesLead.queryUrl, dataId, queryLeadBack, staticResources.token); | 
|---|
|  |  |  | let url = staticResourcesLead.queryUrl + '?dataId=' + dataId; | 
|---|
|  |  |  | fetch(url, { | 
|---|
|  |  |  | method: 'GET', | 
|---|
|  |  |  | headers: { | 
|---|
|  |  |  | 'Content-Type': 'application/json', | 
|---|
|  |  |  | 'pi-token': staticResources.token | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }).then((data) => { | 
|---|
|  |  |  | return data.json(); | 
|---|
|  |  |  | }).then((result) => { | 
|---|
|  |  |  | document.querySelector("[data-id='Lead_link__c']").value = result.object.lastName; | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | document.querySelector("[data-id='Lead_link__c']").value = data.object.lastName; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | AWSService.query(staticResourcesLead.queryUrl, dataId, queryLeadBack, staticResources.token); | 
|---|
|  |  |  | // let url = staticResourcesLead.queryUrl + '?dataId=' + dataId; | 
|---|
|  |  |  | // fetch(url, { | 
|---|
|  |  |  | //     method: 'GET', | 
|---|
|  |  |  | //     headers: { | 
|---|
|  |  |  | //         'Content-Type': 'application/json', | 
|---|
|  |  |  | //         'pi-token': staticResources.token | 
|---|
|  |  |  | //     } | 
|---|
|  |  |  | // }).then((data) => { | 
|---|
|  |  |  | //     return data.json(); | 
|---|
|  |  |  | // }).then((result) => { | 
|---|
|  |  |  | //     document.querySelector("[data-id='Lead_link__c']").value = result.object.lastName; | 
|---|
|  |  |  | // }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | </script> | 
|---|
|  |  |  | <div class="bPageTitle"> | 
|---|
|  |  |  | <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"> | 
|---|
|  |  |  | 
|---|
|  |  |  | <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}" /> | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <!--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> | 
|---|
|  |  |  | 
|---|
|  |  |  | </apex:pageBlockSection> | 
|---|
|  |  |  | </apex:repeat> | 
|---|
|  |  |  | <script> | 
|---|
|  |  |  | var api_id_map={}; | 
|---|
|  |  |  | sfdcPage.appendToOnloadQueue(function () { | 
|---|
|  |  |  | var init_nodes = document.getElementsByClassName("PIBackApi"); | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 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) { | 
|---|
|  |  |  | 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"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //1. Set Last Name label | 
|---|
|  |  |  | //document.querySelector("[data-id='LastName']").parentNode.parentNode.parentNode.children[2].children[0].innerText = '姓名'; | 
|---|
|  |  |  | //2. Query AWS Data by dataId | 
|---|
|  |  |  | 
|---|
|  |  |  | blockme(); | 
|---|
|  |  |  | QuerySobjectFromAWS(); | 
|---|
|  |  |  | unblockUI(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }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"); | 
|---|
|  |  |  | jQuery('a[data-id="OwnerId"]').remove(); | 
|---|
|  |  |  | if(oi){ | 
|---|
|  |  |  | oi.value = '{!CurrentUserId}' | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //Replace Contact Vlookup Field | 
|---|
|  |  |  | replaceSearchContactLookup(); | 
|---|
|  |  |  | //Replace Lead Vlookup Field | 
|---|
|  |  |  | replaceSearchLeadLookup(); | 
|---|
|  |  |  | document.querySelectorAll("[data-id='OwnerId']")[0].classList.add("disabledbutton"); | 
|---|
|  |  |  | document.querySelectorAll("[data-id='OwnerId']")[1].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"; | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 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 = ''; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | });*/ | 
|---|
|  |  |  | //Updated by Li Jun 20220322 End | 
|---|
|  |  |  | let previous_value = {}; | 
|---|
|  |  |  | jQuery(".lookupInput input").each(function(i,e){ | 
|---|
|  |  |  | let je =jQuery(e); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | let dataid = je.attr('data-id'); | 
|---|
|  |  |  | if(['Contact_Name__c','Lead_link__c'].indexOf(dataid) < 0) return; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | jQuery(e).focus(function(){ | 
|---|
|  |  |  | previous_value[this.id] = this.value; | 
|---|
|  |  |  | }) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | jQuery(e).change(function(){ | 
|---|
|  |  |  | if (previous_value[this.id] != jQuery(this).val()) { | 
|---|
|  |  |  | document.getElementById(this.id+'_lkid').value = ''; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | jQuery("body").on("change","input[data-id='Hospital_Name__c']",function(){ | 
|---|
|  |  |  | setTimeout(() => { | 
|---|
|  |  |  | console.log(document.getElementById(this.id+'_lkid').value); | 
|---|
|  |  |  | var hospitalNameValue = document.getElementById(this.id+'_lkid').value; | 
|---|
|  |  |  | if (hospitalNameValue != "000000000000000" && hospitalNameValue != '') { | 
|---|
|  |  |  | console.log("hospitalNameValue = " + hospitalNameValue); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | var ls = ['Department_Class__c','Hospital__c']; | 
|---|
|  |  |  | setVlookup(ls,hospitalNameValue); | 
|---|
|  |  |  | }else{ | 
|---|
|  |  |  | clearVlookup('Department_Class__c'); | 
|---|
|  |  |  | clearVlookup('Hospital__c'); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, 50); | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | function setVlookup(lookups, lookup_id){ | 
|---|
|  |  |  | let controllerSaveMethod = '{!$RemoteAction.NewAndEditInquiryFormController.queryAccount}'; | 
|---|
|  |  |  | Visualforce.remoting.Manager.invokeAction( | 
|---|
|  |  |  | controllerSaveMethod, | 
|---|
|  |  |  | JSON.stringify(lookups), lookup_id, | 
|---|
|  |  |  | function (result, event) { | 
|---|
|  |  |  | console.log("result = " + result); | 
|---|
|  |  |  | if (result != null && result != '{}'){ | 
|---|
|  |  |  | var obj = JSON.parse(result.replaceAll('&'+'quot;','"')); | 
|---|
|  |  |  | for (let i = 0; i < lookups.length; i++) { | 
|---|
|  |  |  | let lookup = lookups[i]; | 
|---|
|  |  |  | if (!obj[lookup]) { | 
|---|
|  |  |  | continue; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | let ele = document.querySelector("[data-id='"+lookup+"']"); | 
|---|
|  |  |  | let elei1 = document.getElementById(ele.id + '_lkid'); | 
|---|
|  |  |  | let elei2 = document.getElementById(ele.id + '_lkold'); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | ele.value=obj[lookup].Name; | 
|---|
|  |  |  | elei1.value = obj[lookup].Id; | 
|---|
|  |  |  | elei2.value = obj[lookup].Name; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | let inputele = document.querySelector("[data-id='"+lookup+"']").parentNode; | 
|---|
|  |  |  | if (inputele.childNodes.length > 4){ | 
|---|
|  |  |  | inputele.childNodes[0].style = ""; | 
|---|
|  |  |  | inputele.childNodes[1].style = "display: inline-block;"; | 
|---|
|  |  |  | inputele.childNodes[2].style = "display: none;"; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }else { | 
|---|
|  |  |  | clearVlookup('Department_Class__c'); | 
|---|
|  |  |  | clearVlookup('Hospital__c'); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { escape: true } | 
|---|
|  |  |  | ); | 
|---|
|  |  |  | }; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | function clearVlookup(lookup){ | 
|---|
|  |  |  | let ele = document.querySelector("[data-id='"+lookup+"']"); | 
|---|
|  |  |  | let elei1 = document.getElementById(ele.id + '_lkid'); | 
|---|
|  |  |  | let elei2 = document.getElementById(ele.id + '_lkold'); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | ele.value=''; | 
|---|
|  |  |  | elei1.value = ''; | 
|---|
|  |  |  | elei2.value = ''; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | let inputele = document.querySelector("[data-id='"+lookup+"']").parentNode; | 
|---|
|  |  |  | if (inputele.childNodes.length > 4){ | 
|---|
|  |  |  | inputele.childNodes[0].style = "display: none;"; | 
|---|
|  |  |  | inputele.childNodes[1].style = "display: none;"; | 
|---|
|  |  |  | inputele.childNodes[2].style = ""; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | </script> | 
|---|
|  |  |  | <div class="pbBottomButtons"> | 
|---|
|  |  |  | <table cellspacing="0" cellpadding="0" border="0"> | 
|---|
|  |  |  | 
|---|
|  |  |  | <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}" /> | 
|---|