From 1b214a96d371ce90578fb7d6c14eecfcba5f87f0 Mon Sep 17 00:00:00 2001
From: 涂煌豪 <tuhuanghao@prec-tech.com>
Date: 星期一, 11 四月 2022 18:52:32 +0800
Subject: [PATCH] Sfdc2PoContactBatch修改
---
force-app/main/default/pages/NewAndEditLead.page | 249 +++++++++++++++++++++++++++++++++++++------------
1 files changed, 189 insertions(+), 60 deletions(-)
diff --git a/force-app/main/default/pages/NewAndEditLead.page b/force-app/main/default/pages/NewAndEditLead.page
index 86729fa..b030efe 100644
--- a/force-app/main/default/pages/NewAndEditLead.page
+++ b/force-app/main/default/pages/NewAndEditLead.page
@@ -1,8 +1,8 @@
<apex:page standardController="Lead" extensions="NewAndEditLeadController" id="page">
- <apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}"/>
+ <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)}"/>
+ <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 {
@@ -20,11 +20,10 @@
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', 'Lead_Inquiry_form__c', 'Opp_Name_Search__c']);
function ProcessPI(leadJson, payloadForNewPI) {
blockme();
- if ({!isNewMode}) {
+ if ({!isNewMode} || {!isCloneMode}) {
NewPIToAWS(leadJson, payloadForNewPI)
}else {
UpdatePIToAWS(leadJson, payloadForNewPI)
@@ -74,25 +73,29 @@
let textEmail = "[data-id='Email']";
let textPhone = "[data-id='Phone']";
//Email
- 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 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);
- if(phone.value!='' && !/^1[3|5|8|7][0-9]\d{4,8}$/.test(phone.value)){
- error_msg += ';鐢佃瘽鍙风爜閿欒';
- }
+ // if (phone.value != '' && !/^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){
+ let es = document.getElementsByTagName('select')
+ for(let ei in es){
+ let e = es[ei];
+ for(let opi in e.options){
+ let op = e.options[opi];
+ if(!op)continue;
if(op.value == "*****" && op.selected){
error_msg += ';涓嬫媺妗嗕笉鑳戒富鍔ㄩ�夋嫨瀵嗘枃閫夐」';
}
}
}
- if(error_msg.length>0 && error_msg[0]== ';'){
+ if (error_msg.length > 0 && error_msg[0] == ';') {
error_msg = error_msg.substring(1);
}
@@ -136,11 +139,18 @@
}
function QueryLeadFromAWSIFS() {
//staticResourceInquiryForm
- AWSService.query(staticResourceInquiryForm.queryUrl, '{!AWSDataIdInquiryForm}', queryBack, staticResourceInquiryForm.token);
+ AWSService.query(staticResourceInquiryForm.queryUrl, '{!AWSDataIdInquiryForm}', queryBackIFS, staticResourceInquiryForm.token);
}
var queryBack = function queryBack(data) {
console.log('data = ' + data);
document.querySelector("[data-id='LastName']").value = data.object.lastName == null ? '' : data.object.lastName;
+ document.querySelector("[data-id='Phone']").value = data.object.phone == null ? '' : data.object.phone;
+ document.querySelector("[data-id='Email']").value = data.object.email == null ? '' : data.object.email;
+ unblockUI();
+ };
+ var queryBackIFS = function queryBackIFS(data) {
+ console.log('data = ' + data);
+ //document.querySelector("[data-id='LastName']").value = document.querySelector("[data-id='Contact_Name__c']").value
document.querySelector("[data-id='Phone']").value = data.object.phone == null ? '' : data.object.phone;
document.querySelector("[data-id='Email']").value = data.object.email == null ? '' : data.object.email;
unblockUI();
@@ -159,7 +169,7 @@
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) {
+ if (isNewMode || {!isCloneMode}) {
payloadJson.AWS_Data_Id__c = r.object[0].dataId;
} else {
payloadJson.AWS_Data_Id__c = '{!AWSDataId}';
@@ -269,10 +279,11 @@
//1. Check account value
let accountNodeId = document.querySelector("[data-id='Hospital_Name__c']").id + '_lkid';
let accountValue = document.getElementById(accountNodeId).value;
+ let searchContactKeyWord = document.querySelector("[data-id='Contact_Name__c']").value;
console.log(accountValue);
if (accountValue != '000000000000000') {
let baseUrl = "/apex/SearchContactPage";
- let suffixUrl = "?contactId=" + contactNodeId + "&accountId=" + accountValue;
+ let suffixUrl = "?contactId=" + contactNodeId + "&accountId=" + accountValue+"&searchContactKeyWord=" + searchContactKeyWord;
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) {
@@ -294,6 +305,7 @@
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;
+ document.querySelector("[data-id='LastName']").value = contactInfo.Name;
}
function replaceSearchContactLookup() {
let lookUpNode = htmlToElement(contactHtmlString);
@@ -319,6 +331,7 @@
}
let queryBackContactName = function queryBackContactName(result){
document.querySelector("[data-id='Contact_Name__c']").value = result.object.lastName;
+ //document.querySelector("[data-id='LastName']").value = result.object.lastName;
};
AWSService.query(staticResourcesContact.queryUrl, dataId, queryBackContactName, staticResourcesContact.token);
@@ -334,6 +347,25 @@
// }).then((result) => {
// document.querySelector("[data-id='Contact_Name__c']").value = result.object.lastName;
// })
+ }
+ function queryContactName2() {
+ let sfId = document.getElementById(document.querySelector("[data-id='Contact_Name__c']").id + '_lkid').value;
+ let dataId = '';
+ if ('{!contactsInfo}' != '') {
+ let contactsInfo = JSON.parse('{!contactsInfo}');
+ dataId = contactsInfo[sfId];
+ } else if ('{!contactDataId}' != '') {
+ dataId = '{!contactDataId}';
+ }else{
+ //娌℃湁杩涜鍔犲瘑
+ document.querySelector("[data-id='LastName']").value = document.querySelector("[data-id='Contact_Name__c']").value;
+ return;
+ }
+ let queryBackContactName = function queryBackContactName(result){
+ document.querySelector("[data-id='Contact_Name__c']").value = result.object.lastName;
+ document.querySelector("[data-id='LastName']").value = result.object.lastName;
+ };
+ AWSService.query(staticResourcesContact.queryUrl, dataId, queryBackContactName, staticResourcesContact.token);
}
</script>
<div class="bPageTitle">
@@ -407,8 +439,17 @@
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) {
- document.querySelector("[data-id='" + layoutField.fieldAPI + "']").disabled = !(layoutField.editableField);
+ 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");
+ }
+ if (e.tagName == 'DIV') {
+ e.classList.add("disabledbutton");
+ }
+ }
}
}
}
@@ -427,10 +468,9 @@
//3. Set Readonly Attribute
document.querySelector("[data-id='OwnerId']").classList.add("disabledbutton");
- //濡傛灉鏄仈绯讳汉杩囨潵鐨勭偣鍑绘柊寤烘剰鍚�
- if('{!isQueryContact}' == '1'){
- //鏌ユ壘瀹㈡埛濮撳悕
- queryContactName();
+ //鏄惁瑙e瘑鑱旂郴浜�
+ if('{!isDecryptContact}' == '1'){
+ queryContactName2();
}
@@ -438,15 +478,13 @@
if ('{!ifc}' != '') {
blockme();
//鐘舵��
- document.querySelector("[data-id='Status']").value = '璺熻繘涓�'
+ document.querySelector("[data-id='Status']").value = '鏈窡杩�'
//浼氳璇㈤棶鍗�
if ('{!ifc.Id}')
document.getElementById('page:form:block:j_id34:0:j_id35:j_id36:15:j_id37_lkid').value = '{!ifc.Id}'
if ('{!ifc.Name}')
document.querySelector("[data-id='Lead_Inquiry_form__c']").value = '{!ifc.Name}'
//瀹㈡埛濮撳悕
- // if('{!ifc.Contact_Name__c}')
- // document.querySelector("[data-id='Contact_Name__c']").value = '{!ifc.Contact_Name__c}'
if ('{!ifc.Contact_Id__c}')
document.getElementById(document.querySelector("[data-id='Contact_Name__c']").id + '_lkid').value = '{!ifc.Contact_Id__c}'
//鍖婚櫌
@@ -461,9 +499,10 @@
document.getElementById('page:form:block:j_id34:0:j_id35:j_id36:4:j_id37_lkid').value = '{!ifc.Department_ID__c}'
//宸叉湁璇环鍚嶇О
if ('{!ifc.Opp_Name_Search__c}')
- document.getElementById('page:form:block:j_id34:0:j_id35:j_id36:12:j_id37_lkold').value = '{!ifc.Opp_Name_Search__c}'
+ //document.getElementById('page:form:block:j_id34:0:j_id35:j_id36:12:j_id37_lkold').value = '{!ifc.Opp_Name_Search__c}'
+ document.getElementById(document.querySelector("[data-id='Opp_Name_Search__c']").id + '_lkold').value = '{!ifc.Opp_Name_Search__c}'
if ('{!ifc.Opp_Name_Search_ID__c}')
- document.getElementById('page:form:block:j_id34:0:j_id35:j_id36:12:j_id37_lkid').value = '{!ifc.Opp_Name_Search_ID__c}'
+ document.getElementById(document.querySelector("[data-id='Opp_Name_Search__c']").id + '_lkid').value = '{!ifc.Opp_Name_Search_ID__c}'
//涓昏瀛︿細
if ('{!ifc.Campaign__c}')
document.getElementById('page:form:block:j_id34:1:j_id35:j_id36:3:j_id37_lkold').value = '{!ifc.Campaign__c}'
@@ -478,12 +517,9 @@
//閭欢
if ('{!ifc.Email__c}')
document.querySelector("[data-id='Email']").value = '{!ifc.Email__c}'
- //濮撳悕
- if ('{!ifc.Last_Name__c}')
- document.querySelector("[data-id='LastName']").value = '{!ifc.Last_Name__c}'
//鍜ㄨ鍗曟潵婧�
- if ('{!ifc.LeadSource__c}' && document.querySelector("[data-id='LeadSource__c']"))
- document.querySelector("[data-id='LeadSource__c']").value = '{!ifc.LeadSource__c}'
+ if ('{!ifc.LeadSource__c}' && document.querySelector("[data-id='LeadSource']"))
+ document.querySelector("[data-id='LeadSource']").value = '{!ifc.LeadSource__c}'
//鎰忓悜鍖哄垎
if ('{!ifc.Opportunity_Division__c}')
document.querySelector("[data-id='Opportunity_Division__c']").value = '{!ifc.Opportunity_Division__c}'
@@ -515,42 +551,135 @@
//绱ф��
if ('{!ifc.Urgent__c}')
document.querySelector("[data-id='urgent__c']").checked = '{!ifc.Urgent__c}' == 'false' ? false : true;
+ //鍏徃锛堢瀹わ級 = 绉戝鍚嶇О
+ if(document.querySelector("[data-id='Company']") && document.querySelector("[data-id='Hospital_Name__c']").value != ''){
+ document.querySelector("[data-id='Company']").value = document.querySelector("[data-id='Hospital_Name__c']").value;
+ }
//鏌ユ壘瀹㈡埛濮撳悕
- queryContactName();
+ queryContactName2();
//瑙e瘑
QueryLeadFromAWSIFS();
+
unblockUI();
}
- jQuery(".lookupInput").each(function (i, e) {
- let je = jQuery(e).find('input');
- je.attr("readonly", "");
- je.css("background", "unset");
+ let previous_value = {};
+ jQuery(".lookupInput input").each(function(i,e){
+ let je =jQuery(e);
- let dataid = je.attr('data-id');
- if (['Contact_Name__c'].indexOf(dataid) > -1)
- jQuery(e).children(":last-child").before('<img class="closeIcon" data-id="' + dataid + '" generate="" alt="Clear" src="/s.gif" style="display: inline-block;">');
- })
+ let dataid = je.attr('data-id');
+ if(['Contact_Name__c'].indexOf(dataid) < 0) return;
- jQuery(".lookupInput").on("mouseenter", "img[generate]", function (e) {
- this.className = "closeIconOn";
+ 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'];
+ setVlookup(ls,hospitalNameValue);
+ }else{
+ clearVlookup('Department_Class__c');
+ }
+ }, 50);
+ });
+ //Updated by Li Jun 20220323 Start
+ // jQuery(".lookupInput").each(function (i, e) {
+ // let je = jQuery(e).find('input');
+ // je.attr("readonly", "");
+ // je.css("background", "unset");
+
+ // let dataid = je.attr('data-id');
+ // if (['Contact_Name__c'].indexOf(dataid) > -1)
+ // jQuery(e).children(":last-child").before('<img class="closeIcon" data-id="' + dataid + '" generate="" alt="Clear" src="/s.gif" style="display: inline-block;">');
+ // })
+
+ // 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 20220323 Start
});
- jQuery(".lookupInput").on("mouseleave", "img[generate]", function (e) {
- this.className = "closeIcon"
- });
+ function setVlookup(lookups, lookup_id){
+ //鍏徃锛堢瀹わ級
+ document.querySelector("[data-id='Company']").value = document.querySelector("[data-id='Hospital_Name__c']").value;
+ let controllerSaveMethod = '{!$RemoteAction.NewAndEditLeadController.queryAccount}';
+ Visualforce.remoting.Manager.invokeAction(
+ controllerSaveMethod,
+ JSON.stringify(lookups), lookup_id,
+ function (result, event) {
+ console.log("result = " + result);
+ if (result != null ){
+ 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');
- 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 = '';
- }
+ 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;";
+ }
+
+ }
+ }
+ },
+ { 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">
--
Gitblit v1.9.1