From ed33f828fc3fcd6562294dcadcd166a602bc6f47 Mon Sep 17 00:00:00 2001
From: 涂煌豪 <997058689@qq.com>
Date: 星期五, 11 三月 2022 19:31:29 +0800
Subject: [PATCH] 会议决裁申请
---
force-app/main/default/pages/NewAndEditLead.page | 560 ++++++++++++++++++++++++++++---------------------------
1 files changed, 283 insertions(+), 277 deletions(-)
diff --git a/force-app/main/default/pages/NewAndEditLead.page b/force-app/main/default/pages/NewAndEditLead.page
index 41e3771..a18feb9 100644
--- a/force-app/main/default/pages/NewAndEditLead.page
+++ b/force-app/main/default/pages/NewAndEditLead.page
@@ -1,49 +1,55 @@
-<apex:page standardController="Lead" extensions="NewAndEditLeadController">
+<apex:page standardController="Lead" extensions="NewAndEditLeadController" id="page">
+ <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>
+ <style>
+ .disabledbutton {
+ pointer-events: none;
+ opacity: 0.4;
+ }
+ </style>
<script>
- var TestToken = 'eyJhbGciOiJIUzUxMiJ9.eyJjcmVhdGVkIjoxNjQzMDk5NDgyNjA2LCJhcHBpZCI6IjZMeml6Y1JmN2g4eUx4MjgiLCJleHAiOjE2NDM3MDQyODJ9.V_94zxiDwEa1jZpOphw9W4QfjmqqKQcjCZ4z31KsDe7SjCF9sxKSKiZe6rp8ML6-namlVSyzqpTeZQ6NJi88Og';
- var AWSAppId = '6LzizcRf7h8yLx28';
- var AWSAppSecret = 'UkLohQcHNjg164SdRc7gnS4rgu4d7FjINM3mtzRbyTS6IrUP5V';
- var NewLeadURL = 'https://52.83.101.205/api/lead/insert';
- var UpdateLeadURL = '';
- var QueryLeadURL = 'https://52.83.101.205/api/lead/query';
- var TransactionURL = "https://52.83.101.205/api/tx/confirm";
+ AWSService.sfSessionId = '{!GETSESSIONID()}';
+ var staticResources = JSON.parse('{!staticResource}');
+ var staticResourcesContact = JSON.parse('{!staticResourceContact}');
+ var requiredFieldAPIList = JSON.parse('{!requiredFieldAPIListStr}');
+ var fieldAPIToLabelMap = JSON.parse('{!fieldAPIToLabelMapStr}');
+ var redirectMode = 'Save';//1. Save 2. SaveAndNew
+ var requiredAPIToChangedLabelMap = new Map();
+ requiredAPIToChangedLabelMap.set('LastName', '{!PIPL_Name_Label}');
+ console.log('{!contactsInfo}');
var VLookUpFields = new Set(['Hospital_Name__c', 'Department_Class__c', 'Contact_Name__c', 'Campaign__c']);
- var LeadIdPage = "https://ocsm--stagefull--c.visualforce.com/apex/NewAndEditLead?RecordType=01210000000QiRa";
- // function ProcessPI(payloadForNewPI) {
- // let TokenURL = "https://52.83.101.205/api/token/getToken?app_id=" + AWSAppId + "&app_secret=" + AWSAppSecret;
- // console.log('Get Token Process');
- // fetch(TokenURL, {
- // method: 'GET',
- // mode: 'no-cors',
- // headers: {
- // 'Content-Type': 'application/json'
- // }
- // }).then((data) => {
- // console.log(data.text())
- // return data.text()
- // }).then((awsToken) => {
- // if({!isNewMode}){
- // NewPIToAWS(awsToken, payloadForNewPI)
- // }else{
- // UpdatePIToAWS(awsToken, payloadForNewPI)
- // }
- // });
- // }
+ function ProcessPI(leadJson, payloadForNewPI) {
+ blockme();
+ if ({!isNewMode}) {
+ NewPIToAWS(leadJson, payloadForNewPI)
+ }else {
+ UpdatePIToAWS(leadJson, payloadForNewPI)
+ }
+ }
- function loadAWSAuthentication() {
- console.log('Get Sesion Session');
- sforce.connection.sessionId = '{!GETSESSIONID()}';
- let awsConfiguration = "SELECT App_Id__c,App_Secret__c,New_Lead_URL__c FROM AWS_Integration_Info__mdt WHERE DeveloperName = 'AWS_Integration_Configuration'";
- let awsConfigurationResult = sforce.connection.query(awsConfiguration);
- let recordsAWSConfiguration = awsConfigurationResult.getArray("records");
- if (recordsAWSConfiguration && recordsAWSConfiguration.length > 0) {
- recordAWSConfiguration = recordsAWSConfiguration[0];
- AWSAppId = recordAWSConfiguration.App_Id__c;
- AWSAppSecret = recordAWSConfiguration.App_Secret__c;
- NewLeadURL = recordAWSConfiguration.New_Lead_URL__c;
+ function enableButton(obj) {
+ obj.classList.remove("btnDisabled");
+ }
+
+ function disableButton(obj) {
+ obj.classList.add("btnDisabled");
+ }
+
+ function disableButtonStatus() {
+ let btnList = document.getElementsByClassName('btn');
+ for (let i = 0; i < btnList.length; i++) {
+ disableButton(btnList[i]);
}
- console.log('AWS Configuration:' + AWSAppId + '----- APP Secret:' + AWSAppSecret);
+ }
+
+ function enableButtonStatus() {
+ let btnList = document.getElementsByClassName('btn');
+ for (let i = 0; i < btnList.length; i++) {
+ enableButton(btnList[i]);
+ }
}
function getPIPayload(leadJson) {
@@ -63,44 +69,40 @@
}
function validateFieldValueFormate() {
+ let error_msg = '';
let textEmail = "[data-id='Email']";
let textPhone = "[data-id='Phone']";
//Email
- let email = document.querySelector(textEmail).value;
- let phone = document.querySelector(textPhone).value;
+ let email = document.querySelector(textEmail);
+ if(email.value!='' && !/^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.[a-zA-Z0-9]{2,6}$/.test(email.value)){
+ error_msg += ';閭欢鏍煎紡閿欒';
+ }
+ let phone = document.querySelector(textPhone);
- let regEmail = /^[\w-]{3,12}@[\da-zA-Z]{2,6}\.[a-zA-Z]+$/;
- let regPhone = /^1[3|5|8|7][0-9]\d{4,8}$/;
+ if(phone.value!='' && !/^1[3|5|8|7][0-9]\d{4,8}$/.test(phone.value)){
+ error_msg += ';鐢佃瘽鍙风爜閿欒';
+ }
- let emailFormate = regEmail.test(email);
- let phoneFormate = regPhone.test(phone);
-
- console.log(emailFormate);
- console.log(phoneFormate);
-
-
- email.oninput = function () {
- //email
- if (emailFormate) {
- //phone
- phone.oninput = function () {
- if (phoneFormate) {
- return true;
- } else {
- return false;
- }
+ for(let e of document.getElementsByTagName('select')){
+ for(let op of e.options){
+ if(op.value == "*****" && op.selected){
+ error_msg += ';涓嬫媺妗嗕笉鑳戒富鍔ㄩ�夋嫨瀵嗘枃閫夐」';
}
- } else {
- return false;
}
}
- return true;
+
+ if(error_msg.length>0 && error_msg[0]== ';'){
+ error_msg = error_msg.substring(1);
+ }
+
+ return error_msg;
}
function getLeadInformation() {
let nodelist = document.querySelectorAll("[data-id]");
let result = {}
+ result.RecordTypeId = '{!rtTypeId}';
for (let index = 0; index < nodelist.length; index++) {
if (VLookUpFields.has(nodelist[index].getAttribute("data-id"))) {
console.log(nodelist[index].id.indexOf('lkwgt'));
@@ -109,220 +111,214 @@
let vlookUpNodeValue = document.getElementById(vlookUpNodeId).value;
result[nodelist[index].getAttribute("data-id")] = vlookUpNodeValue;
}
+ } 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 + "]").parentNode.children[1].children[0].children[1].children[2].children[0].innerText;
+ targets = targets.replace(/\n/g, ";");
+ console.log('targets = ' + targets);
+ result[nodelist[index].getAttribute("data-id")] = targets;
} else {
result[nodelist[index].getAttribute("data-id")] = nodelist[index].value;
}
+ let x = index + 1;
+ if (x <= nodelist.length - 1 && (nodelist[x].getAttribute("data-id") == nodelist[index].getAttribute("data-id"))) {
+ index++;
+ }
}
- console.log(JSON.stringify(result));
- console.log('lead Number:' + result.Lead_No__c);
- let leadJson = JSON.stringify(result);
- let transId = "11111";
- let AWSDataId = "22222";
-
- // Visualforce.remoting.Manager.invokeAction(
- // '{!$RemoteAction.NewAndEditLeadController.saveLead}',
- // leadJson, transId,{!isNewMode},
- // function (result, event) {
- // console.log("result: " + result);
- // window.open('/' + result.recordId, "_self");
- // },
- // { escape: true }
- // );
return result;
-
-
- //绗簩绉�
- // let leadJson = {};
- // let fieldApiList = '{!fieldApiListStr}'.substring(1, '{!fieldApiListStr}'.length - 1).replace(/\"/g, "").split(',');
- // for (var i in fieldApiList) {
- // if(document.querySelector("[data-id=\"" + fieldApiList[i] + "\"]") != null){
- // leadJson[fieldApiList[i]] = document.querySelector("[data-id=\"" + fieldApiList[i] + "\"]").value;
- // }else{
- // leadJson[fieldApiList[i]] = '';
- // }
- // }
- // return leadJson;
}
- function QueryLeadFromAWS(awsDataId) {
- fetch(QueryLeadURL + '?dataId=' + awsDataId, {
- method: 'GET',
- headers: {
- 'Content-Type': 'application/json',
- 'pi_token': TestToken
- }
- }).then((data) => {
- console.log('data = ' + data);
- document.querySelector("[data-id='LastName']").value = data.object[0].lastName;
- document.querySelector("[data-id='phone']").value = data.object[0].phone;
- document.querySelector("[data-id='email']").value = data.object[0].email;
- })
+ function QueryLeadFromAWS() {
+ AWSService.query(staticResources.queryUrl, '{!AWSDataId}', queryBack, staticResources.token);
}
- function UpdatePIToAWS(awsToken, payloadForNewPI) {
- fetch(UpdateLeadURL, {
- method: 'POST',
- body: payloadForNewPI,
- headers: {
- 'Content-Type': 'application/json',
- //'token': awsToken
+ var queryBack = function queryBack(data) {
+ console.log('data = ' + data);
+ document.querySelector("[data-id='LastName']").value = data.object.lastName.replace(/"/g,"");
+ document.querySelector("[data-id='Phone']").value = data.object.phone.replace(/"/g,"");
+ document.querySelector("[data-id='Email']").value = data.object.email.replace(/"/g,"");
+ unblockUI();
+ };
+
+ var insertOrUpdateBack = function insertOrUpdateBack(payloadJson, result, isNewMode) {
+ console.log(result);
+ let r = result;
+ console.log('Result from AWS' + r);
+ console.log('payloadJson=' + payloadJson);
+ payloadJson.LastName = r.object[0].lastName;
+ payloadJson.Phone = r.object[0].phone;
+ payloadJson.Email = r.object[0].email;
+ payloadJson.Name_Encrypted__c = r.object[0].lastNameEncrypt;
+ payloadJson.Phone_Encrypted__c = r.object[0].phoneEncrypt;
+ payloadJson.Email_Encrypted__c = r.object[0].emailEncrypt;
+ //payloadJson.AWS_Data_Id__c = r.object[0].dataId;
+ payloadJson.AWS_Data_Id__c = '{!AWSDataId}';
+ if (isNewMode) {
+ payloadJson.AWS_Data_Id__c = r.object[0].dataId;
+ } else {
+ payloadJson.AWS_Data_Id__c = '{!AWSDataId}';
+ }
+ return payloadJson;
+ }
+
+ var redirectCallBack = function redirectCallBack(sfId, errorMessage) {
+ if (sfId) {
+ if (redirectMode == 'Save') {
+ window.open('/' + sfId, '_self');
+ } else if (redirectMode == 'SaveAndNew') {
+ window.open('/setup/ui/recordtypeselect.jsp?ent=' + '{!sobjecttypeForFrontEnd}' + '&retURL=/' + '{!sobjectPrefix}' + '/o&save_new_url=/' + '{!sobjectPrefix}' + '/e?retURL=%2F' + '{!sobjectPrefix}' + '%2Fo', '_self');
}
- }).then((data) => { return data.json() }).then((result) => {
- let r = JSON.parse(result);
- console.log('Result from AWS' + r);
- leadJson.lastName = r.object[0].lastName;
- leadJson.phone = r.object[0].phone;
- leadJson.email = r.object[0].email;
- leadJson.Name_Encrypted__c = r.object[0].lastNameEncrypt;
- leadJson.Phone_Encrypted__c = r.object[0].phoneEncrypt;
- leadJson.Email_Encrypted__c = r.object[0].emailEncrypt;
- leadJson.AWS_Data_Id__c = '{!AWSDataId}';
- let transId = result.txId;
- let AWSDataId = r.object[0].dataId;
+ } else {
+ // alert(errorMessage);
+ alertErrorMessage(errorMessage);
+ }
+ }
- // Assign the value to NonPII Data Payload
- //7. New NonPII Data To Salesforce
- Visualforce.remoting.Manager.invokeAction(
- '{!$RemoteAction.NewAndEditLeadController.saveLead}',
- leadJson, transId, {!isNewMode},
- function (result, event) {
- if (event.status) {
- if (result.stauts == 'success') {
- //get Lead Id from sf backend
- let leadId = result.recordId;
- //8. Confirm Trans to AWS
- transParameters = {
- txId: transId,
- isSuccess: event.status
- };
- fetch(TransactionURL, {
- method: 'POST',
- body: JSON.stringify(transParameters),
- headers: {
- 'Content-Type': 'application/json',
- // 'token': awsToken
- }
- }).then((result) => {
- if (JSON.parse(result).status == 0) {
- //9. Redirect to lead Id page.
- window.location.href = LeadIdPage;
- // let data = {
- // transId:result.txId,
- // dataId:dataId,
- // status:result.status
- // }
- // return JSON.stringify(data);
- }
- })
- // window.open(LeadIdPage);
- // console.log(result);
- // window.location.href = LeadIdPage;
- } else {
- //result.stauts == 'fail'
- }
+ function UpdatePIToAWS(leadJson, payloadForNewPI) {
+ let controllerSaveMethod = '{!$RemoteAction.NewAndEditLeadController.saveLead}';
+ let obj = JSON.parse(payloadForNewPI);
+ obj[0].dataId = '{!AWSDataId}';
+ let payloadForNewPIJson = JSON.stringify(obj);
+ AWSService.update(staticResources.updateUrl, leadJson, payloadForNewPIJson, controllerSaveMethod, staticResources.token, staticResources.transactionUrl, false, insertOrUpdateBack, redirectCallBack);
+ }
+
+ function NewPIToAWS(leadJson, payloadForNewPI) {
+ let controllerSaveMethod = '{!$RemoteAction.NewAndEditLeadController.saveLead}';
+ AWSService.insert(staticResources.newUrl, leadJson, payloadForNewPI, controllerSaveMethod, staticResources.token, staticResources.transactionUrl, true, insertOrUpdateBack, redirectCallBack);
+ }
+
+ function checkRequiredFieldMsg(formData) {
+ let blankRequiredFields = '';
+ for (i = 0; i < requiredFieldAPIList.length; i++) {
+ if (formData[requiredFieldAPIList[i]]) {
+ continue;
+ } else {
+ let fieldAPIValue = requiredFieldAPIList[i]
+ let fieldLabelValue = fieldAPIToLabelMap[fieldAPIValue];
+ if (requiredAPIToChangedLabelMap.has(fieldAPIValue)) {
+ fieldLabelValue = requiredAPIToChangedLabelMap.get(fieldAPIValue);
}
- },
- { escape: true }
- );
- }).catch (error => {
- console.log(error);
- });
- }
- function NewPIToAWS(leadJson,awsToken, payloadForNewPI) {
- console.log('Process New PI Data');
- console.log(JSON.stringify(payloadForNewPI));
- fetch(NewLeadURL, {
- method: 'POST',
- body: payloadForNewPI,
- headers: {
- 'Content-Type': 'application/json',
- 'pi_token': awsToken
- }
- }).then((data) => { console.log('data='+data);return data.json() }).then((result) => {
- console.log(result);
- let r = result;
- console.log('Result from AWS' + r);
- console.log('leadJson='+leadJson);
- leadJson.lastName = r.object[0].lastName;
- leadJson.phone = r.object[0].phone;
- leadJson.email = r.object[0].email;
- leadJson.Name_Encrypted__c = r.object[0].lastNameEncrypt;
- leadJson.Phone_Encrypted__c = r.object[0].phoneEncrypt;
- leadJson.Email_Encrypted__c = r.object[0].emailEncrypt;
- leadJson.AWS_Data_Id__c = 'testAWSID';
- let transId = result.txId + '';
- let AWSDataId = r.object[0].dataId;
-
- // Assign the value to NonPII Data Payload
- //7. New NonPII Data To Salesforce
- Visualforce.remoting.Manager.invokeAction(
- '{!$RemoteAction.NewAndEditLeadController.saveLead}',
- JSON.stringify(leadJson), transId, {!isNewMode},
- function (result, event) {
- if (event.status) {
- console.log('Lead Id from SF Backend:'+JSON.stringify(result));
- if (result.status == 'success') {
- //get Lead Id from sf backend
- let leadId = result.recordId;
- window.open('/'+leadId,'_self');
- //8. Confirm Trans to AWS
- // transParameters = {
- // txId: transId,
- // isSuccess: result.status
- // };
- // fetch(TransactionURL, {
- // method: 'POST',
- // body: JSON.stringify(transParameters),
- // headers: {
- // 'Content-Type': 'application/json',
- // 'pi_token': TestToken
- // }
- // }).then((result) => {
- // if (JSON.parse(result).status == 0) {
- // //9. Redirect to lead Id page.
- // window.location.href = LeadIdPage;
- // // let data = {
- // // transId:result.txId,
- // // dataId:dataId,
- // // status:result.status
- // // }
- // // return JSON.stringify(data);
- // }
- // })
- // window.open(LeadIdPage);
- // console.log(result);
- // window.location.href = LeadIdPage;
- } else {
- //result.stauts == 'fail'
- }
+ if (blankRequiredFields == '') {
+ blankRequiredFields = blankRequiredFields + fieldLabelValue;
+ } else {
+ blankRequiredFields = blankRequiredFields + ',' + fieldLabelValue;
}
- },
- { escape: true }
- );
- }).catch (error => {
- console.log(error);
- });
+
+ }
+ }
+ return blankRequiredFields;
}
- function saveLeadProcess() {
+ function saveLeadProcess(saveMode) {
+
+ disableButtonStatus();
+ redirectMode = saveMode;
+ console.log('redirectMode' + redirectMode);
+ hiddenErrorMsgNode();
//1. Get Lead Information from Form
let leadJson = getLeadInformation();
//2. Validate the Lead field value formate, for example the email formate or phone formate
- // let validationResultMessage = validateFieldValueFormate();
- // console.log(validationResultMessage);
- // if (!validationResultMessage) {
- // //Popup error message. - To Do After POC
- // alert('閭鎴栫數璇濆彿鐮佹牸寮忔湁璇�');
- // }
-
- // //3. Prepare the payload for New PI API To AWS - To Do
+ let validationResultMessage = validateFieldValueFormate();
+ console.log(validationResultMessage);
+ if (validationResultMessage) {
+ //Popup error message. - To Do After POC
+ alertErrorMessage(validationResultMessage);
+ return
+ }
+ // Check Required Field
+ let checkRequiredFieldMsgResult = checkRequiredFieldMsg(leadJson);
+ if (checkRequiredFieldMsgResult) {
+ alertErrorMessage('{!Input_Required_Field_Msg}' + checkRequiredFieldMsgResult);
+ return
+ }
+ //3. Prepare the payload for New PI API To AWS - To Do
let payloadForNewPI = getPIPayload(leadJson);
- // //4. Get Authentication Information for AWS
- // loadAWSAuthentication();
+ //4. lead to AWS
+ ProcessPI(leadJson, payloadForNewPI);
+ }
- // //5. lead to AWS
- //ProcessPI(payloadForNewPI);
- awsToken = TestToken;
- NewPIToAWS(leadJson,awsToken, payloadForNewPI)
+ function alertErrorMessage(errorMsg) {
+ enableButtonStatus();
+ let errorMsgNode = document.getElementById("page:form:block:msgContent");
+ errorMsg = '閿欒锛氭棤鏁堟暟鎹��' + '\n' + errorMsg;
+ errorMsgNode.innerText = errorMsg;
+ errorMsgNode.className = 'pbError';
+ unblockUI();
+ }
+ function hiddenErrorMsgNode() {
+ let errorMsgNode = document.getElementById("page:form:block:msgContent");
+ errorMsgNode.innerText = '';
+ errorMsgNode.className = '';
+ }
+ 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');
+ html = html.trim(); // Never return a text node of whitespace as the result
+ template.innerHTML = html;
+ return template.content.firstChild;
+ }
+ function searchContact(contactNodeId) {
+ //1. Check account value
+ let accountNodeId = document.querySelector("[data-id='Hospital_Name__c']").id + '_lkid';
+ let accountValue = document.getElementById(accountNodeId).value;
+ console.log(accountValue);
+ if (accountValue != '000000000000000') {
+ let baseUrl = "/apex/SearchContactPage";
+ let suffixUrl = "?contactId=" + contactNodeId + "&accountId=" + accountValue;
+ 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 {
+ //alertErrorMessage('{!PIPL_Input_Account_Error_Msg}');
+ alertErrorMessage('璇峰厛閫夋嫨鍖婚櫌鍚�');
+ }
+ }
+ function closePopupWindow() {
+ if (null != newSearchContactWindow) {
+ newSearchContactWindow.close();
+ }
+ let contactInfoStr = document.getElementById('page:form:contactId').value;
+ console.log('closePopup:' + contactInfoStr);
+ let contactInfo = JSON.parse(contactInfoStr);
+ let contactNodeId = document.querySelector("[data-id='Contact_Name__c']").id + '_lkid';
+ document.getElementById(contactNodeId).value = contactInfo.ContactId;
+ document.querySelector("[data-id='Contact_Name__c']").value = contactInfo.Name;
+ }
+ function replaceSearchContactLookup() {
+ let lookUpNode = htmlToElement(contactHtmlString);
+ console.log(lookUpNode);
+ if (!{!isNewMode}) {
+ //1. Query Contact from AWS by AWSDataId
+ queryContactName()
+ //document.querySelector("[data-id='Contact_Name__c']").value = '鐜嬪';
+ }
+ 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]);
+ }
+
+ function queryContactName() {
+ let sfId = document.getElementById(document.querySelector("[data-id='Contact_Name__c']").id + '_lkid').value;
+ let contactsInfo = JSON.parse('{!contactsInfo}');
+ let dataId = contactsInfo[sfId];
+ 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;
+ })
}
</script>
<div class="bPageTitle">
@@ -345,10 +341,9 @@
</div>
<div class="ptBreadcrumb"></div>
</div>
- <apex:form >
- <!-- Error Msg-->
- <apex:pageMessages />
- <apex:pageblock >
+ <apex:form id="form">
+ <apex:inputHidden value="{!contactId}" id="contactId" />
+ <apex:pageblock id="block">
<div class="pbHeader">
<table cellspacing="0" cellpadding="0" border="0">
<tbody>
@@ -358,17 +353,25 @@
<h2 class="mainTitle">鎰忓悜缂栬緫</h2>
</td>
<td class="pbButton" id="topButtonRow">
- <input class="btn" type="Button" value="淇濆瓨" onclick="saveLeadProcess()" />
- <input class="btn" type="Button" value="淇濆瓨骞舵柊寤�" onclick="saveLeadProcess()" />
+ <input class="btn" type="Button" value="淇濆瓨" onclick="saveLeadProcess('Save')" />
+ <input class="btn" type="Button" value="淇濆瓨骞舵柊寤�" onclick="saveLeadProcess('SaveAndNew')" />
<apex:commandButton action="{!cancel}" value="鍙栨秷" />
</td>
</tr>
</tbody>
</table>
</div>
+ <!-- Error Msg-->
+ <div style="text-align: center;">
+ <apex:outputPanel id="errorMsg">
+ <apex:pageMessages id="msgContent" escape="false" />
+ </apex:outputPanel>
+ </div>
+ <br/>
<!-- Iterate the layoutSections, which is a list of sections -->
<apex:repeat value="{!layoutSections}" var="layoutSection">
- <apex:pageBlockSection title="{!layoutSection.name}" collapsible="{!layoutSection.allowCollapse}" columns="{!layoutSection.columns}">
+ <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">
@@ -383,15 +386,18 @@
<script>
sfdcPage.appendToOnloadQueue(function () {
//1. Set Last Name label
- document.querySelector("[data-id='LastName']").parentNode.parentNode.parentNode.children[2].children[0].innerText = '濮撳悕';
+ console.log('NameLabel = ' + '{!PIPL_Name_Label}')
+ document.querySelector("[data-id='LastName']").parentNode.parentNode.parentNode.children[0].children[0].innerText = '{!PIPL_Name_Label}';
//2. Query AWS Data by dataId
console.log('Mode for Lead Page:' + {!isNewMode});
- if (!{!isNewMode}) {
- //2.1. Query AWS Data by
- let leadPIData = QueryLeadFromAWS({!awsDataId});
- //2.2. Update the value to Front-End
- //document.querySelector("[data-id='LastName']").value = '234234';
- }
+ if (!{!isNewMode}) {
+ blockme();//for loading search by Li Jun 20220218
+ QueryLeadFromAWS();
+ }
+ //Replace Vlookup Field
+ replaceSearchContactLookup();
+ //3. Set Readonly Attribute
+ document.querySelector("[data-id='OwnerId']").classList.add("disabledbutton");
});
</script>
<div class="pbBottomButtons">
@@ -400,9 +406,9 @@
<tr>
<td class="pbTitle">
<img src="/img/s.gif" alt="" class="minWidth" title="" width="1" height="1" /> </td>
- <td class="pbButtonb" id="bottomButtonRow">
- <input class="btn" type="Button" value="淇濆瓨" onclick="saveLeadProcess()" />
- <input class="btn" type="Button" value="淇濆瓨骞舵柊寤�" onclick="saveLeadProcess()" />
+ <td class="pbButton" id="bottomButtonRow">
+ <input class="btn" type="Button" value="淇濆瓨" onclick="saveLeadProcess('Save')" />
+ <input class="btn" type="Button" value="淇濆瓨骞舵柊寤�" onclick="saveLeadProcess('SaveAndNew')" />
<apex:commandButton action="{!cancel}" value="鍙栨秷" />
</td>
</tr>
--
Gitblit v1.9.1