<apex:page standardController="Report__c" extensions="NewAndEditReportController" 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 redirectMode = 'Save';//1. Save 2. SaveAndNew
|
var requiredFieldAPIList = JSON.parse('{!requiredFieldAPIListStr}');
|
var fieldAPIToLabelMap = JSON.parse('{!fieldAPIToLabelMapStr}');
|
var VLookUpFields = new Set(['Hospital_Reference__c', 'Department_Class_Ref__c', 'Daily_Report__c', 'OwnerId','Hospital_Department__c',
|
'Competition_Company_Name__c','Report_OPDPlan__c','Loaner_request_no1__c','Practitioner1__c','Practitioner2__c','Practitioner3__c','Practitioner4__c',
|
'Practitioner5__c','Opportunity1__c',
|
'Opportunity2__c','Product01__c','Product1__c','Product2__c','Product3__c','Product4__c','Product5__c','Order_No__c','Person_In_Charge__c']);
|
var closeField = '';
|
// var myCkeditor = null;
|
// try {
|
// myCkeditor = CKEDITOR;
|
// } catch (error) {
|
// console.log('没有CKEDITOR')
|
// }
|
|
|
//错误提示
|
function alertErrorMessage(errorMsg) {
|
let errorMsgNode = document.getElementById("page:form:j_id5:msgContent");
|
errorMsg = '错误:无效数据。'+'\n' + errorMsg;
|
errorMsgNode.innerText = errorMsg;
|
errorMsgNode.className = 'pbError';
|
unblockUI();
|
}
|
function hiddenErrorMsgNode() {
|
let errorMsgNode = document.getElementById("page:form:j_id5:msgContent");
|
errorMsgNode.innerText = '';
|
errorMsgNode.className = '';
|
}
|
|
function getCKEinstance(api_name){
|
let t = jQuery("label[for$='textAreaDelegate_"+api_name+"']").parent().next().find("textarea")[0];
|
if(t && t.id){
|
return CKEDITOR.instances[t.id]
|
|
}
|
return null;
|
}
|
|
//1。获取所有字段值
|
function getReportInformation() {
|
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') {
|
//nodelist[index].getAttribute("data-id")
|
//let targets = document.querySelector("[data-id=" + multiple + "]").nextSibling.children[0].children[1].children[2].innerText;
|
//Before Update By Li Jun 20220411
|
// let targets = document.querySelector("[data-id=" + multiple + "]").parentNode.children[2].children[0].children[1].children[2].children[0].innerText;
|
// targets = targets.replace(/\n/g, ";");
|
// console.log('targets = ' + targets);
|
// result[nodelist[index].getAttribute("data-id")] = targets;
|
//Before Update By Li Jun 20220411
|
|
//After Update By Li Jun 20220411 Start
|
let multiple = nodelist[index].getAttribute("data-id");
|
let targets = document.querySelector("[data-id=" + multiple + "]").options;
|
let selValues = [];
|
for(i=0; i < targets.length; i++){
|
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 Li Jun 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++;
|
}
|
}
|
//手术分类1
|
result.Technical_Category1__c = document.getElementById('page:form:j_id5:j_id35:4:j_id36:j_id37:2:j_id38')!=null?document.getElementById('page:form:j_id5:j_id35:4:j_id36:j_id37:2:j_id38').value:'';
|
//手术分类2
|
result.Technical_Category2__c = document.getElementById('page:form:j_id5:j_id35:4:j_id36:j_id37:4:j_id38')!=null?document.getElementById('page:form:j_id5:j_id35:4:j_id36:j_id37:4:j_id38').value:'';
|
//目的2
|
if(document.getElementById('page:form:j_id5:j_id35:2:j_id36:j_id37:1:j_id38')){
|
result.Purpose2__c = document.getElementById('page:form:j_id5:j_id35:2:j_id36:j_id37:1:j_id38').value;
|
}
|
//富文本框赋值
|
if(getCKEinstance('Customer_sigh_photo__c')){
|
result.Customer_sigh_photo__c = getCKEinstance('Customer_sigh_photo__c').getData()
|
}
|
if(getCKEinstance('Photo1__c')){
|
result.Photo1__c = getCKEinstance('Photo1__c').getData()
|
}
|
if(getCKEinstance('Photo2__c')){
|
result.Photo2__c = getCKEinstance('Photo2__c').getData()
|
}
|
if(getCKEinstance('Photo3__c')){
|
result.Photo3__c = getCKEinstance('Photo3__c').getData()
|
}
|
if(getCKEinstance('VOC_follow_up_result__c')){
|
result.VOC_follow_up_result__c = getCKEinstance('VOC_follow_up_result__c').getData()
|
}
|
if(getCKEinstance('VOC_follow_up_result1__c')){
|
result.VOC_follow_up_result1__c = getCKEinstance('VOC_follow_up_result1__c').getData()
|
}
|
//用户签字的照片
|
// if(document.querySelector("[aria-describedby = 'cke_34']")){
|
// result.Customer_sigh_photo__c = document.querySelector("[aria-describedby = 'cke_34']").contentWindow.document.getElementsByTagName('body')[0].innerHTML
|
// }
|
// //照片1 Photo1__c
|
// if(document.querySelector("[aria-describedby = 'cke_42']")){
|
// result.Photo1__c = document.querySelector("[aria-describedby = 'cke_42']").contentWindow.document.getElementsByTagName('body')[0].innerHTML
|
// }
|
// //照片2 Photo2__c
|
// if(document.querySelector("[aria-describedby = 'cke_75']")){
|
// result.Photo2__c = document.querySelector("[aria-describedby = 'cke_75']").contentWindow.document.getElementsByTagName('body')[0].innerHTML
|
// }
|
// //照片3 Photo3__c
|
// if(document.querySelector("[aria-describedby = 'cke_108']")){
|
// result.Photo3__c = document.querySelector("[aria-describedby = 'cke_108']").contentWindow.document.getElementsByTagName('body')[0].innerHTML
|
// }
|
// //对应结果 VOC_follow_up_result__c cke_38
|
// if(document.querySelector("[aria-describedby = 'cke_38']")){
|
// result.VOC_follow_up_result__c = document.querySelector("[aria-describedby = 'cke_38']").contentWindow.document.getElementsByTagName('body')[0].innerHTML
|
// }
|
// //对应结果第一次 VOC_follow_up_result1__c cke_71
|
// if(document.querySelector("[aria-describedby = 'cke_71']")){
|
// result.VOC_follow_up_result1__c = document.querySelector("[aria-describedby = 'cke_71']").contentWindow.document.getElementsByTagName('body')[0].innerHTML
|
// }
|
if(result.From__c){
|
result.From__c = result.From__c.replace(/\//g, '-')+':00';
|
}
|
if(result.To__c){
|
result.To__c = result.To__c.replace(/\//g, '-')+':00';
|
}
|
return result;
|
}
|
|
//2.验证规则
|
function validateFieldValueFormate() {
|
//VOC_Informer_Contact__c,Caller_phone_c__c
|
let error_msg = '';
|
let textEmail = "[data-id=' Follow_staff_email__c']";
|
let textPhone1 = "[data-id='VOC_Informer_Contact__c']";
|
let textPhone2 = "[data-id='Caller_phone_c__c']";
|
//Email
|
let email = document.querySelector(textEmail);
|
if(email && !/^[\w-]{3,12}@[\da-zA-Z]{2,16}\.[a-zA-Z]+$/.test(email.value)){
|
error_msg += ';对应者(邮箱)格式错误';
|
}
|
|
let phone1 = document.querySelector(textPhone1);
|
if(phone1 && !/^1[3|5|8|7][0-9]\d{4,8}$/.test(phone1.value)){
|
error_msg += ';信息提供人联系方式(电话)号码错误';
|
}
|
|
let phone2 = document.querySelector(textPhone2);
|
if(phone2 && !/^1[3|5|8|7][0-9]\d{4,8}$/.test(phone2.value)){
|
error_msg += ';联系电话号码错误';
|
}
|
|
for(let e of document.getElementsByTagName('select')){
|
for(let op of e.options){
|
if(op.value == "*****" && op.selected){
|
error_msg += ';下拉框不能主动选择密文选项';
|
}
|
}
|
}
|
|
if(error_msg.length>0 && error_msg[0]== ';'){
|
error_msg = error_msg.substring(1);
|
}
|
|
return error_msg;
|
}
|
|
//3.验证必填字段
|
function checkRequiredFieldMsg(formData) {
|
let blankRequiredFields = '';
|
for(i = 0;i<requiredFieldAPIList.length;i++){
|
if(formData[requiredFieldAPIList[i]]){
|
continue;
|
}else{
|
if(blankRequiredFields == ''){
|
blankRequiredFields =blankRequiredFields + fieldAPIToLabelMap[requiredFieldAPIList[i]];
|
}else{
|
blankRequiredFields =blankRequiredFields+',' + fieldAPIToLabelMap[requiredFieldAPIList[i]];
|
}
|
|
}
|
}
|
return blankRequiredFields;
|
}
|
|
//4.获取要加密的字段
|
function getPIPayload(reportJson) {
|
let reportPayloadList = [];
|
let reportPIData = new Object();
|
reportPIData.vocInformerName = document.querySelector("[data-id='VOC_Informer_Name__c']")!=null?document.querySelector("[data-id='VOC_Informer_Name__c']").value:'';
|
reportPIData.callerPhone = document.querySelector("[data-id='Caller_phone_c__c']")!=null?document.querySelector("[data-id='Caller_phone_c__c']").value:'';
|
reportPIData.vocInformerContact = document.querySelector("[data-id='VOC_Informer_Contact__c']")!=null?document.querySelector("[data-id='VOC_Informer_Contact__c']").value:'';
|
reportPIData.personInChargeText = document.querySelector("[data-id='Person_In_Charge_Text__c']")!=null?document.querySelector("[data-id='Person_In_Charge_Text__c']").value:'';
|
reportPIData.professorSighText = document.querySelector("[data-id='Professor_sigh_text__c']")!=null?document.querySelector("[data-id='Professor_sigh_text__c']").value:'';
|
reportPIData.staffInfoManual = document.querySelector("[data-id='Staff_Info_Manual_c__c']")!=null?document.querySelector("[data-id='Staff_Info_Manual_c__c']").value:'';
|
reportPIData.responsiblePersonHP = document.querySelector("[data-id='Responsible_Person_HP_c__c']")!=null?document.querySelector("[data-id='Responsible_Person_HP_c__c']").value:'';
|
reportPIData.practitioner1Part = document.querySelector("[data-id='Practitioner1_Part__c']")!=null?document.querySelector("[data-id='Practitioner1_Part__c']").value:'';
|
reportPIData.practitioner2Part = document.querySelector("[data-id='Practitioner2_Part__c']")!=null?document.querySelector("[data-id='Practitioner2_Part__c']").value:'';
|
reportPIData.practitioner3Part = document.querySelector("[data-id='Practitioner3_Part__c']")!=null?document.querySelector("[data-id='Practitioner3_Part__c']").value:'';
|
reportPIData.practitioner4Part = document.querySelector("[data-id='Practitioner4_Part__c']")!=null?document.querySelector("[data-id='Practitioner4_Part__c']").value:'';
|
reportPIData.practitioner5Part = document.querySelector("[data-id='Practitioner5_Part__c']")!=null?document.querySelector("[data-id='Practitioner5_Part__c']").value:'';
|
reportPIData.age = document.querySelector("[data-id='age__c']")!=null?document.querySelector("[data-id='age__c']").value:'';
|
reportPIData.medicalHistory = document.querySelector("[data-id='Medical_History__c']")!=null?document.querySelector("[data-id='Medical_History__c']").value:'';
|
reportPIData.sex = document.querySelector("[data-id='sex__c']")!=null?document.querySelector("[data-id='sex__c']").value:'';
|
reportPayloadList.push(reportPIData);
|
return JSON.stringify(reportPayloadList);
|
}
|
|
|
|
//5.新建或编辑
|
function ProcessPI(reportJson, payloadForNewPI) {
|
blockme();
|
if ({!isNewMode} || {!isCloneMode}) {
|
NewPIToAWS(reportJson, payloadForNewPI)
|
}else {
|
UpdatePIToAWS(reportJson, payloadForNewPI)
|
}
|
}
|
|
//新建
|
function NewPIToAWS(reportJson, payloadForNewPI) {
|
let controllerSaveMethod = '{!$RemoteAction.NewAndEditReportController.saveReport}';
|
AWSService.insert(staticResources.newUrl, reportJson, payloadForNewPI, controllerSaveMethod, staticResources.token, staticResources.transactionUrl, true, insertOrUpdateBack, redirectCallBack);
|
}
|
|
//编辑
|
function UpdatePIToAWS(reportJson, payloadForNewPI) {
|
let controllerSaveMethod = '{!$RemoteAction.NewAndEditReportController.saveReport}';
|
let obj = JSON.parse(payloadForNewPI);
|
obj[0].dataId = '{!AWSDataId}';
|
let payloadForNewPIJson = JSON.stringify(obj);
|
AWSService.update(staticResources.updateUrl, reportJson, payloadForNewPIJson, controllerSaveMethod, staticResources.token, staticResources.transactionUrl, false, insertOrUpdateBack,redirectCallBack);
|
}
|
|
//查询
|
function QueryLeadFromAWS() {
|
AWSService.query(staticResources.queryUrl, '{!AWSDataId}', queryBack, staticResources.token);
|
}
|
|
var queryBack = function queryBack(data) {
|
console.log('awsDataId = '+'{!AWSDataId}')
|
console.log('data = ' + JSON.stringify(data));
|
var i = 0;
|
//赋值
|
document.querySelector("[data-id='VOC_Informer_Name__c']")!=null?document.querySelector("[data-id='VOC_Informer_Name__c']").value=data.object.vocInformerName.replace(/"/g,""):i++;
|
document.querySelector("[data-id='Caller_phone_c__c']")!=null?document.querySelector("[data-id='Caller_phone_c__c']").value=data.object.callerPhone.replace(/"/g,""):i++;
|
document.querySelector("[data-id='VOC_Informer_Contact__c']")!=null?document.querySelector("[data-id='VOC_Informer_Contact__c']").value=data.object.vocInformerContact.replace(/"/g,""):i++;
|
document.querySelector("[data-id='Person_In_Charge_Text__c']")!=null?document.querySelector("[data-id='Person_In_Charge_Text__c']").value=data.object.personInChargeText.replace(/"/g,""):i++;
|
document.querySelector("[data-id='Professor_sigh_text__c']")!=null?document.querySelector("[data-id='Professor_sigh_text__c']").value=data.object.professorSighText.replace(/"/g,""):i++;
|
document.querySelector("[data-id='Staff_Info_Manual_c__c']")!=null?document.querySelector("[data-id='Staff_Info_Manual_c__c']").value=data.object.staffInfoManual.replace(/"/g,""):i++;
|
document.querySelector("[data-id='Responsible_Person_HP_c__c']")!=null?document.querySelector("[data-id='Responsible_Person_HP_c__c']").value=data.object.responsiblePersonHP.replace(/"/g,""):i++;
|
document.querySelector("[data-id='Practitioner1_Part__c']")!=null?document.querySelector("[data-id='Practitioner1_Part__c']").value=data.object.practitioner1Part.replace(/"/g,""):i++;
|
document.querySelector("[data-id='Practitioner2_Part__c']")!=null?document.querySelector("[data-id='Practitioner2_Part__c']").value=data.object.practitioner2Part.replace(/"/g,""):i++;
|
document.querySelector("[data-id='Practitioner3_Part__c']")!=null?document.querySelector("[data-id='Practitioner3_Part__c']").value=data.object.practitioner3Part.replace(/"/g,""):i++;
|
document.querySelector("[data-id='Practitioner4_Part__c']")!=null?document.querySelector("[data-id='Practitioner4_Part__c']").value=data.object.practitioner4Part.replace(/"/g,""):i++;
|
document.querySelector("[data-id='Practitioner5_Part__c']")!=null?document.querySelector("[data-id='Practitioner5_Part__c']").value=data.object.practitioner5Part.replace(/"/g,""):i++;
|
document.querySelector("[data-id='age__c']")!=null?document.querySelector("[data-id='age__c']").value=data.object.age.replace(/"/g,""):i++;
|
document.querySelector("[data-id='Medical_History__c']")!=null?document.querySelector("[data-id='Medical_History__c']").value=data.object.medicalHistory.replace(/"/g,""):i++;
|
document.querySelector("[data-id='sex__c']")!=null?document.querySelector("[data-id='sex__c']").value=data.object.sex.replace(/"/g,""):i++;
|
};
|
|
//替换vlookup
|
function replaceSearchContactLookup() {
|
if (!{!isNewMode}) {
|
queryContactName();
|
}
|
if(document.querySelector("[data-id='Practitioner1__c']") != null){
|
let contactHtmlString = '<img src="/img/s.gif" onclick="searchContact(\'page:form:contactId\',\'Practitioner1__c\')" alt="Reference Document Number Lookup" class="lookupIcon" title="Reference Document Number Lookup (New Window)"/>';
|
let lookUpNode = htmlToElement(contactHtmlString);
|
let parentNode = document.querySelector("[data-id='Practitioner1__c']").parentNode;
|
document.querySelector("[data-id='Practitioner1__c']").removeAttribute("onchange");
|
parentNode.replaceChild(lookUpNode, document.querySelector("[data-id='Practitioner1__c']").parentNode.children[2]);
|
}
|
if(document.querySelector("[data-id='Practitioner2__c']") != null){
|
let contactHtmlString = '<img src="/img/s.gif" onclick="searchContact(\'page:form:contactId\',\'Practitioner2__c\')" alt="Reference Document Number Lookup" class="lookupIcon" title="Reference Document Number Lookup (New Window)"/>';
|
let lookUpNode = htmlToElement(contactHtmlString);
|
let parentNode = document.querySelector("[data-id='Practitioner2__c']").parentNode;
|
document.querySelector("[data-id='Practitioner2__c']").removeAttribute("onchange");
|
parentNode.replaceChild(lookUpNode, document.querySelector("[data-id='Practitioner2__c']").parentNode.children[2]);
|
}
|
if(document.querySelector("[data-id='Practitioner3__c']") != null){
|
let contactHtmlString = '<img src="/img/s.gif" onclick="searchContact(\'page:form:contactId\',\'Practitioner3__c\')" alt="Reference Document Number Lookup" class="lookupIcon" title="Reference Document Number Lookup (New Window)"/>';
|
let lookUpNode = htmlToElement(contactHtmlString);
|
let parentNode = document.querySelector("[data-id='Practitioner3__c']").parentNode;
|
document.querySelector("[data-id='Practitioner3__c']").removeAttribute("onchange");
|
parentNode.replaceChild(lookUpNode, document.querySelector("[data-id='Practitioner3__c']").parentNode.children[2]);
|
}
|
if(document.querySelector("[data-id='Practitioner4__c']") != null){
|
let contactHtmlString = '<img src="/img/s.gif" onclick="searchContact(\'page:form:contactId\',\'Practitioner4__c\')" alt="Reference Document Number Lookup" class="lookupIcon" title="Reference Document Number Lookup (New Window)"/>';
|
let lookUpNode = htmlToElement(contactHtmlString);
|
let parentNode = document.querySelector("[data-id='Practitioner4__c']").parentNode;
|
document.querySelector("[data-id='Practitioner4__c']").removeAttribute("onchange");
|
parentNode.replaceChild(lookUpNode, document.querySelector("[data-id='Practitioner4__c']").parentNode.children[2]);
|
}
|
if(document.querySelector("[data-id='Practitioner5__c']") != null){
|
let contactHtmlString = '<img src="/img/s.gif" onclick="searchContact(\'page:form:contactId\',\'Practitioner5__c\')" alt="Reference Document Number Lookup" class="lookupIcon" title="Reference Document Number Lookup (New Window)"/>';
|
let lookUpNode = htmlToElement(contactHtmlString);
|
let parentNode = document.querySelector("[data-id='Practitioner5__c']").parentNode;
|
document.querySelector("[data-id='Practitioner5__c']").removeAttribute("onchange");
|
parentNode.replaceChild(lookUpNode, document.querySelector("[data-id='Practitioner5__c']").parentNode.children[2]);
|
}
|
if(document.querySelector("[data-id='Person_In_Charge__c']") != null){
|
let contactHtmlString = '<img src="/img/s.gif" onclick="searchContact(\'page:form:contactId\',\'Person_In_Charge__c\')" alt="Reference Document Number Lookup" class="lookupIcon" title="Reference Document Number Lookup (New Window)"/>';
|
let lookUpNode = htmlToElement(contactHtmlString);
|
let parentNode = document.querySelector("[data-id='Person_In_Charge__c']").parentNode;
|
document.querySelector("[data-id='Person_In_Charge__c']").removeAttribute("onchange");
|
parentNode.replaceChild(lookUpNode, document.querySelector("[data-id='Person_In_Charge__c']").parentNode.children[2]);
|
}
|
}
|
var newSearchContactWindow = null;
|
|
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 queryContactName() {
|
let contactsInfo = JSON.parse('{!contactsInfo}');
|
if(document.querySelector("[data-id='Practitioner1__c']") != null){
|
let sfId = document.getElementById(document.querySelector("[data-id='Practitioner1__c']").id + '_lkid').value;
|
let dataId = contactsInfo[sfId];
|
let url = staticResourcesContact.queryUrl;
|
queryContactNameFetch(url,dataId,'Practitioner1__c');
|
}
|
if(document.querySelector("[data-id='Practitioner2__c']") != null){
|
let sfId = document.getElementById(document.querySelector("[data-id='Practitioner2__c']").id + '_lkid').value;
|
let dataId = contactsInfo[sfId];
|
let url = staticResourcesContact.queryUrl;
|
queryContactNameFetch(url,dataId,'Practitioner2__c');
|
}
|
if(document.querySelector("[data-id='Practitioner3__c']") != null){
|
let sfId = document.getElementById(document.querySelector("[data-id='Practitioner3__c']").id + '_lkid').value;
|
let dataId = contactsInfo[sfId];
|
let url = staticResourcesContact.queryUrl;
|
queryContactNameFetch(url,dataId,'Practitioner3__c');
|
}
|
if(document.querySelector("[data-id='Practitioner4__c']") != null){
|
let sfId = document.getElementById(document.querySelector("[data-id='Practitioner4__c']").id + '_lkid').value;
|
let dataId = contactsInfo[sfId];
|
let url = staticResourcesContact.queryUrl;
|
queryContactNameFetch(url,dataId,'Practitioner4__c');
|
}
|
if(document.querySelector("[data-id='Practitioner5__c']") != null){
|
let sfId = document.getElementById(document.querySelector("[data-id='Practitioner5__c']").id + '_lkid').value;
|
let dataId = contactsInfo[sfId];
|
let url = staticResourcesContact.queryUrl;
|
queryContactNameFetch(url,dataId,'Practitioner5__c');
|
}
|
if(document.querySelector("[data-id='Person_In_Charge__c']") != null){
|
let sfId = document.getElementById(document.querySelector("[data-id='Person_In_Charge__c']").id + '_lkid').value;
|
let dataId = contactsInfo[sfId];
|
let url = staticResourcesContact.queryUrl;
|
queryContactNameFetch(url,dataId,'Person_In_Charge__c');
|
}
|
}
|
|
function queryContactNameFetch(url,dataId,filedId){
|
let queryBackContactNameFetch = function queryBackContactNameFetch(result){
|
document.querySelector("[data-id="+filedId+"]").value = result.object.lastName;
|
};
|
AWSService.query(url, dataId, queryBackContactNameFetch, staticResources.token);
|
}
|
|
//自定义lookup查询
|
function searchContact(contactNodeId,field){
|
closeField = field;
|
//searchContactKeyWord
|
let searchContactKeyWord = document.querySelector("[data-id="+field+"]").value
|
let accountValue = "";
|
if (document.querySelector("[data-id='Hospital_Department__c']")) {
|
let accountNodeId = document.querySelector("[data-id='Hospital_Department__c']").id + '_lkid';
|
accountValue = document.getElementById(accountNodeId).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('请先选择科室!');
|
}
|
}
|
//窗口关闭时发生
|
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="+closeField+"]").id + '_lkid';
|
document.getElementById(contactNodeId).value = contactInfo.ContactId;
|
document.querySelector("[data-id="+closeField+"]").value = contactInfo.Name;
|
}
|
|
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;
|
}
|
|
//新建编辑回调函数
|
var insertOrUpdateBack = function insertOrUpdateBack(payloadJson, result, isNewMode) {
|
console.log(result);
|
if(result.status != '0'){
|
unblockUI();
|
console.log('回调函数出错拉')
|
return
|
}
|
console.log('Result from AWS' + result);
|
console.log('payloadJson=' + payloadJson);
|
payloadJson.VOC_Informer_Name__c = result.object[0].vocInformerName;
|
payloadJson.Caller_phone_c__c = result.object[0].callerPhone;
|
payloadJson.VOC_Informer_Contact__c = result.object[0].vocInformerContact;
|
payloadJson.Person_In_Charge_Text__c = result.object[0].personInChargeText;
|
payloadJson.Staff_Info_Manual_c__c = result.object[0].staffInfoManual;
|
payloadJson.Responsible_Person_HP_c__c = result.object[0].responsiblePersonHP;
|
payloadJson.Professor_sigh_text__c = result.object[0].professorSighText;
|
payloadJson.Practitioner1_Part__c = result.object[0].practitioner1Part;
|
payloadJson.Practitioner2_Part__c = result.object[0].practitioner2Part;
|
payloadJson.Practitioner3_Part__c = result.object[0].practitioner3Part;
|
payloadJson.Practitioner4_Part__c = result.object[0].practitioner4Part;
|
payloadJson.Practitioner5_Part__c = result.object[0].practitioner5Part;
|
payloadJson.age__c = result.object[0].age;
|
payloadJson.Medical_History__c = result.object[0].medicalHistory;
|
payloadJson.sex__c = result.object[0].sex;
|
|
payloadJson.VOC_Informer_Name_Encrypted__c = result.object[0].vocInformerNameEncrypt;
|
payloadJson.Caller_phone_c_Encrypted__c = result.object[0].callerPhoneEncrypt;
|
payloadJson.VOC_Informer_Contact_Encrypted__c = result.object[0].vocInformerContactEncrypt;
|
payloadJson.Person_In_Charge_Text_Encrypted__c = result.object[0].personInChargeTextEncrypt;
|
payloadJson.Professor_sigh_text_Encrypted__c = result.object[0].professorSighTextEncrypt;
|
payloadJson.Staff_Info_Manual_c_Encrypted__c = result.object[0].staffInfoManualEncrypt;
|
payloadJson.Responsible_Person_HP_c_Encrypted__c = result.object[0].responsiblePersonHPEncrypt;
|
payloadJson.Practitioner1_Part_Encrypted__c = result.object[0].practitioner1PartEncrypt;
|
payloadJson.Practitioner2_Part_Encrypted__c = result.object[0].practitioner2PartEncrypt;
|
payloadJson.Practitioner3_Part_Encrypted__c = result.object[0].practitioner3PartEncrypt;
|
payloadJson.Practitioner4_Part_Encrypted__c = result.object[0].practitioner4PartEncrypt;
|
payloadJson.Practitioner5_Part_Encrypted__c = result.object[0].practitioner5PartEncrypt;
|
payloadJson.age_Encrypted__c = result.object[0].ageEncrypt;
|
payloadJson.Medical_History_Encrypted__c = result.object[0].medicalHistoryEncrypt;
|
payloadJson.sex_Encrypted__c = result.object[0].sexEncrypt;
|
if (isNewMode || {!isCloneMode}) {
|
payloadJson.AWS_Data_Id__c = result.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=' + '{!sobjectId}' + '&retURL=/' + '{!sobjectPrefix}' + '/o&save_new_url=/' + '{!sobjectPrefix}' + '/e?retURL=%2F' + '{!sobjectPrefix}' + '%2Fo', '_self');
|
}
|
}else{
|
alertErrorMessage(errorMessage);
|
}
|
}
|
|
//点击保存按钮
|
function saveReportProcess(saveMode) {
|
redirectMode = saveMode;
|
console.log('redirectMode' + redirectMode);
|
hiddenErrorMsgNode();
|
//1. Get report Information from Form
|
let reportJson = getReportInformation();
|
//2. Validate the report field value formate, for example the email formate or phone formate
|
let validationResultMessage = validateFieldValueFormate();
|
if (validationResultMessage) {
|
//Popup error message. - To Do After POC
|
alertErrorMessage(validationResultMessage);
|
return
|
}
|
// 3. Check Required Field
|
let checkRequiredFieldMsgResult = checkRequiredFieldMsg(reportJson);
|
if (checkRequiredFieldMsgResult) {
|
alertErrorMessage('{!Input_Required_Field_Msg}'+checkRequiredFieldMsgResult);
|
return
|
}
|
//4. Prepare the payload for New PI API To AWS - To Do
|
let payloadForNewPI = getPIPayload(reportJson);
|
console.log('加密字段:'+payloadForNewPI);
|
|
//5. report to AWS
|
ProcessPI(reportJson, payloadForNewPI);
|
}
|
</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" />
|
<!-- Error Msg-->
|
<!-- <apex:outputPanel id="errorMsg">
|
<apex:pageMessages id="msgContent" escape="false" />
|
</apex:outputPanel> -->
|
<apex:pageblock >
|
<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">
|
<input class="btn" type="Button" value="保存" onclick="saveReportProcess('Save')" />
|
<input class="btn" type="Button" value="保存并新建" onclick="saveReportProcess('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-title="{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" styleClass="{!layoutField.fieldAPI}" value="{!Report__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)}"
|
required="{!layoutField.isRequired}" />
|
<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
|
//document.querySelector("[data-id='LastName']").parentNode.parentNode.parentNode.children[2].children[0].innerText = '姓名';
|
//2. Query AWS Data by dataId
|
console.log('Mode for Lead Page:' + {!isNewMode});
|
if (!{!isNewMode}) {
|
QueryLeadFromAWS();
|
}
|
//Replace Vlookup Field
|
replaceSearchContactLookup();
|
//3. Set Readonly Attribute
|
document.querySelector("[data-id='OwnerId']").classList.add("disabledbutton");
|
|
//如果是OPD计划过来的
|
if('{!no1Name}' != '' && '{!no1Id}' != ''){
|
console.log('name = '+'{!no1Name}')
|
console.log('Id = '+'{!no1Id}')
|
document.querySelector("[data-id='Loaner_request_no1__c']").value = '{!no1Name}'
|
document.getElementById(document.querySelector("[data-id='Loaner_request_no1__c']").id + '_lkid').value = '{!no1Id}'
|
}
|
|
let previous_value = {};
|
jQuery(".lookupInput input").each(function(i,e){
|
let je =jQuery(e);
|
|
let dataid = je.attr('data-id');
|
if(['Practitioner1__c','Practitioner2__c','Practitioner3__c','Practitioner4__c','Practitioner5__c','Person_In_Charge__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(".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 (['Practitioner1__c','Practitioner2__c','Practitioner3__c','Practitioner4__c','Practitioner5__c','Person_In_Charge__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 = '';
|
// }
|
// }
|
// });
|
});
|
</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="pbButtonb" id="bottomButtonRow">
|
<input class="btn" type="Button" value="保存" onclick="saveReportProcess('Save')" />
|
<input class="btn" type="Button" value="保存并新建" onclick="saveReportProcess('SaveAndNew')" />
|
<apex:commandButton action="{!cancel}" value="取消" />
|
</td>
|
</tr>
|
</tbody>
|
</table>
|
</div>
|
</apex:pageblock>
|
|
</apex:form>
|
</apex:page>
|