<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>
|
AWSService.sfSessionId = '{!GETSESSIONID()}';
|
var staticResources = JSON.parse('{!staticResource}');
|
var staticResourcesContact = JSON.parse('{!staticResourceContact}');
|
var staticResourceInquiryForm = JSON.parse('{!staticResourceInquiryForm}');
|
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}');
|
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} || {!isCloneMode}) {
|
NewPIToAWS(leadJson, payloadForNewPI)
|
}else {
|
UpdatePIToAWS(leadJson, payloadForNewPI)
|
}
|
}
|
|
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]);
|
}
|
}
|
|
function enableButtonStatus() {
|
let btnList = document.getElementsByClassName('btn');
|
for (let i = 0; i < btnList.length; i++) {
|
enableButton(btnList[i]);
|
}
|
}
|
|
function getPIPayload(leadJson) {
|
let leadPayloadList = [];
|
let LastName = leadJson.LastName;
|
let Email = leadJson.Email;
|
let Phone = leadJson.Phone;
|
let leadPIData = new Object();
|
leadPIData.lastName = LastName;
|
leadPIData.email = Email;
|
leadPIData.phone = Phone;
|
leadPIData.sfRecordId = '';
|
console.log('Lead PI Data:' + leadPIData);
|
leadPayloadList.push(leadPIData);
|
console.log(JSON.stringify(leadPayloadList));
|
return JSON.stringify(leadPayloadList);
|
}
|
|
function validateFieldValueFormate() {
|
let error_msg = '';
|
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);
|
|
// if (phone.value != '' && !/^1[3|5|8|7][0-9]\d{4,8}$/.test(phone.value)) {
|
// error_msg += ';电话号码错误';
|
// }
|
|
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] == ';') {
|
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'));
|
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;
|
}
|
} else if (nodelist[index].type == 'checkbox') {
|
result[nodelist[index].getAttribute("data-id")] = nodelist[index].checked;
|
} else if (nodelist[index].type == 'select-multiple') {
|
//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);
|
}
|
}
|
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[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++;
|
}
|
}
|
return result;
|
}
|
function QueryLeadFromAWS() {
|
AWSService.query(staticResources.queryUrl, '{!AWSDataId}', queryBack, staticResources.token);
|
}
|
function QueryLeadFromAWSIFS() {
|
//staticResourceInquiryForm
|
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();
|
};
|
|
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 || {!isCloneMode}) {
|
payloadJson.AWS_Data_Id__c = r.object[0].dataId;
|
delete payloadJson.OwnerId;
|
} 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');
|
}
|
} else {
|
// alert(errorMessage);
|
alertErrorMessage(errorMessage);
|
}
|
}
|
|
|
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);
|
}
|
if (blankRequiredFields == '') {
|
blankRequiredFields = blankRequiredFields + fieldLabelValue;
|
} else {
|
blankRequiredFields = blankRequiredFields + ',' + fieldLabelValue;
|
}
|
|
}
|
}
|
return blankRequiredFields;
|
}
|
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
|
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. lead to AWS
|
ProcessPI(leadJson, 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;
|
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+"&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) {
|
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;
|
document.querySelector("[data-id='LastName']").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 dataId = '';
|
if ('{!contactsInfo}' != '') {
|
let contactsInfo = JSON.parse('{!contactsInfo}');
|
dataId = contactsInfo[sfId];
|
} else if ('{!contactDataId}' != '') {
|
dataId = '{!contactDataId}';
|
}
|
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);
|
|
// 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;
|
// })
|
}
|
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">
|
<div class="ptBody">
|
<div class="content">
|
<img src="/img/s.gif" alt="意向" class="pageTitleIcon" title="意向" />
|
<h1 class="pageType">潜在客户编辑
|
<span class="titleSeparatingColon">:</span>
|
</h1>
|
<h2 class="pageDescription"> 新建意向</h2>
|
<div class="blank"> </div>
|
</div>
|
<div class="links">
|
<a href="javascript:openPopupFocusEscapePounds(%27https://help.salesforce.com/apex/htdoor?loc=help&target=leads_edit.htm&section=Leads&language=zh_CN&release=234.18.8&instance=CS117&showSplash=true%27, %27Help%27, 700, 600, %27width=700,height=600,resizable=yes,toolbar=yes,status=no,scrollbars=yes,menubar=yes,directories=no,location=no,dependant=no%27, false, false);"
|
title="此页面的帮助 (新窗口)">
|
<span class="helpLink">此页面的帮助</span>
|
<img src="/img/s.gif" alt="" class="helpIcon" />
|
</a>
|
</div>
|
</div>
|
<div class="ptBreadcrumb"></div>
|
</div>
|
<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>
|
<tr>
|
<td class="pbTitle">
|
<img src="/img/s.gif" alt="" class="minWidth" title="" width="1" height="1" />
|
<h2 class="mainTitle">意向编辑</h2>
|
</td>
|
<td class="pbButton" id="topButtonRow" style="pointer-events: none; opacity: 0.4;">
|
<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}" 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">
|
<apex:inputField html-data-id="{!layoutField.fieldAPI}" value="{!Lead[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&&isNewMode}" required="{!layoutField.isRequired}" />
|
<apex:inputField html-data-id="{!layoutField.fieldAPI}" value="{!Lead[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&&layoutField.fieldAPI!='RecordTypeId'}" required="{!layoutField.isRequired}" />
|
<apex:outputField html-data-id="{!layoutField.fieldAPI}" value="{!Lead[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&&layoutField.fieldAPI=='RecordTypeId'}" />
|
<apex:pageblocksectionitem rendered="{!layoutField.isPlaceHolder}">
|
</apex:pageblocksectionitem>
|
</apex:repeat>
|
|
</apex:pageBlockSection>
|
</apex:repeat>
|
<script>
|
sfdcPage.appendToOnloadQueue(function () {
|
|
//判断是否为只读选项
|
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");
|
}
|
if (e.tagName == 'DIV') {
|
e.classList.add("disabledbutton");
|
}
|
}
|
}
|
}
|
}
|
|
//1. Set Last Name label
|
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}) {
|
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");
|
|
//是否解密联系人
|
if('{!isDecryptContact}' == '1'){
|
queryContactName2();
|
}
|
|
|
//如果是产品咨询单过来的
|
if ('{!ifc}' != '') {
|
blockme();
|
//状态
|
document.querySelector("[data-id='Status']").value = '未跟进'
|
//会议询问单
|
if ('{!ifc.Id}')
|
document.getElementById(document.querySelector("[data-id='Lead_Inquiry_form__c']").id+'_lkid').value = '{!ifc.Id}'
|
if ('{!ifc.Name}')
|
document.querySelector("[data-id='Lead_Inquiry_form__c']").value = '{!ifc.Name}'
|
//客户姓名
|
if ('{!ifc.Contact_Id__c}')
|
document.getElementById(document.querySelector("[data-id='Contact_Name__c']").id + '_lkid').value = '{!ifc.Contact_Id__c}'
|
//医院
|
if ('{!ifc.Hospital_Name__c}')
|
document.getElementById(document.querySelector("[data-id='Hospital_Name__c']").id+'_lkold').value = '{!ifc.Hospital_Name__c}'
|
if ('{!ifc.Hospital_ID__c}')
|
document.getElementById(document.querySelector("[data-id='Hospital_Name__c']").id+'_lkid').value = '{!ifc.Hospital_ID__c}'
|
//战略科室分类
|
if ('{!ifc.Department_Class__c}')
|
document.getElementById(document.querySelector("[data-id='Department_Class__c']").id+'_lkold').value = '{!ifc.Department_Class__c}'
|
if ('{!ifc.Department_ID__c}')
|
document.getElementById(document.querySelector("[data-id='Department_Class__c']").id+'_lkid').value = '{!ifc.Department_ID__c}'
|
//已有询价名称
|
if ('{!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(document.querySelector("[data-id='Opp_Name_Search__c']").id + '_lkid').value = '{!ifc.Opp_Name_Search_ID__c}'
|
//主要学会
|
if ('{!ifc.Campaign__c}')
|
document.getElementById(document.querySelector("[data-id='Campaign__c']").id +'_lkold').value = '{!ifc.Campaign__c}'
|
if ('{!ifc.Campaign_ID__c}')
|
document.getElementById(document.querySelector("[data-id='Campaign__c']").id +'_lkid').value = '{!ifc.Campaign_ID__c}'
|
//取消原因
|
if ('{!ifc.Cancel_Reason__c}')
|
document.querySelector("[data-id='Cancel_Reason__c']").value = '{!ifc.Cancel_Reason__c}'
|
//电话
|
if ('{!ifc.Phone__c}')
|
document.querySelector("[data-id='Phone']").value = '{!ifc.Phone__c}'
|
//邮件
|
if ('{!ifc.Email__c}')
|
document.querySelector("[data-id='Email']").value = '{!ifc.Email__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}'
|
//委托事项
|
if ('{!ifc.Request1__c}') {
|
var Request1__c = '{!ifc.Request1__c}';
|
//赋值给第二个多选框
|
var array = Request1__c.split(';');
|
//赋值给第二个多选框
|
for (var i = 0; i < array.length; i++) {
|
for (var j = document.querySelector("[data-id='Request__c']").parentNode.children[1].children[0].children[1].children[0].children[0].options.length - 1; j >= 0; j--) {
|
if (array[i] == document.querySelector("[data-id='Request__c']").parentNode.children[1].children[0].children[1].children[0].children[0].options[j].innerHTML) {
|
var option = new Option();
|
option.text = array[i];
|
option.value = j;
|
document.querySelector("[data-id='Request__c']").parentNode.children[1].children[0].children[1].children[2].children[0].add(option);
|
}
|
}
|
}
|
//删除第一个多选框的重复值
|
for (var i = 0; i < array.length; i++) {
|
for (var j = document.querySelector("[data-id='Request__c']").parentNode.children[1].children[0].children[1].children[0].children[0].options.length - 1; j >= 0; j--) {
|
if (array[i] == document.querySelector("[data-id='Request__c']").parentNode.children[1].children[0].children[1].children[0].children[0].options[j].innerHTML) {
|
document.querySelector("[data-id='Request__c']").parentNode.children[1].children[0].children[1].children[0].children[0].options[j] = null;
|
}
|
}
|
}
|
}
|
//紧急
|
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;
|
}
|
//查找客户姓名
|
queryContactName2();
|
//解密
|
QueryLeadFromAWSIFS();
|
|
unblockUI();
|
}
|
|
document.getElementById('topButtonRow').style = '';
|
document.getElementById('bottomButtonRow').style = '';
|
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) < 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'];
|
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
|
});
|
|
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');
|
|
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">
|
<tbody>
|
<tr>
|
<td class="pbTitle">
|
<img src="/img/s.gif" alt="" class="minWidth" title="" width="1" height="1" /> </td>
|
<td class="pbButton" id="bottomButtonRow" style="pointer-events: none; opacity: 0.4;">
|
<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>
|
</apex:pageblock>
|
|
</apex:form>
|
</apex:page>
|