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/NewRepair.page | 268 ++++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 232 insertions(+), 36 deletions(-)
diff --git a/force-app/main/default/pages/NewRepair.page b/force-app/main/default/pages/NewRepair.page
index eefaed7..4db1fd5 100644
--- a/force-app/main/default/pages/NewRepair.page
+++ b/force-app/main/default/pages/NewRepair.page
@@ -2,7 +2,7 @@
@description :
@author : ChangeMeIn@UserSettingsUnder.SFDoc
@group :
- @last modified on : 03-17-2022
+ @last modified on : 03-30-2022
@last modified by : ChangeMeIn@UserSettingsUnder.SFDoc
-->
<apex:page standardController="Repair__c" extensions="NewRepairController" id="page">
@@ -19,6 +19,8 @@
</style>
<script>
//Initial Required Information
+ var staticResourceContact = JSON.parse('{!staticResourceContact}');
+ var staticResourceAddress = JSON.parse('{!staticResourceAddress}');
var staticResources = JSON.parse('{!staticResource}');
var requiredFieldAPIList = JSON.parse('{!requiredFieldAPIListStr}');
var fieldAPIToLabelMap = JSON.parse('{!fieldAPIToLabelMapStr}');
@@ -28,29 +30,50 @@
//Redirect Required Parameter
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 {
- // alert(errorMessage);
+ if(sfId){
+ Visualforce.remoting.Manager.invokeAction(
+ 'NewRepairController.EncryptUpdate', // example
+ sfId,
+ function (result, event) {
+ console.log(result);
+ if(result.message){
+ alert(result.message);
+ }
+ 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');
+ }
+
+ },
+ { escape: true }
+ );
+
+ }else{
alertErrorMessage(errorMessage);
}
}
+ function GetEleApiName(ele){
+ for(let ci in ele.classList){
+ let c = ele.classList[ci];
+ if(c.indexOf('PIBackApi_')>-1){
+ return c.replace('PIBackApi_','');
+ }
+ }
+ return '';
+ }
//Query Required Parameter
- var queryBack = function queryBack(data) {
- console.log('data = ' + data);
- document.querySelector("[data-id='address_Contacts__c']").value = data.object.addressContacts;
- document.querySelector("[data-id='address_Contacts_Name__c']").value = data.object.addressContactsName;
- document.querySelector("[data-id='address_Telephone__c']").value = data.object.addressTelephone;
- document.querySelector("[data-id='address_ZipCode__c']").value = data.object.addressZipCode;
- document.querySelector("[data-id='Detailed_Address__c']").value = data.object.detailedAddress;
- document.querySelector("[data-id='RepairApplicant__c']").value = data.object.repairApplicant;
- unblockUI();
- };
+ // var queryBack = function queryBack(data) {
+ // console.log('data = ' + data);
+ // document.querySelector("[data-id='address_Contacts__c']").value = data.object.addressContacts;
+ // document.querySelector("[data-id='address_Contacts_Name__c']").value = data.object.addressContactsName;
+ // document.querySelector("[data-id='address_Telephone__c']").value = data.object.addressTelephone;
+ // document.querySelector("[data-id='address_ZipCode__c']").value = data.object.addressZipCode;
+ // document.querySelector("[data-id='Detailed_Address__c']").value = data.object.detailedAddress;
+ // document.querySelector("[data-id='RepairApplicant__c']").value = data.object.repairApplicant;
+ // unblockUI();
+ // };
//Check If Insert Or Update
var insertOrUpdateBack = function insertOrUpdateBack(payloadJson, result, isNewMode) {
@@ -129,8 +152,10 @@
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;
+ if(document.getElementById(vlookUpNodeId)!=null){
+ 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;
@@ -150,14 +175,60 @@
}
}
for (let i = 0; i < userVLookUpFields.length; i++) {
- let userVlookUpNodeValue = document.querySelector("[data-id='" + userVLookUpFields[i] + "']").children[1].value;
- console.log('userVlookUpNodeValue:'+userVlookUpNodeValue);
- if(userVlookUpNodeValue!='000000000000000'){
- result[userVLookUpFields[i]] = userVlookUpNodeValue;
+ if(document.querySelector("[data-id='" + userVLookUpFields[i] + "']")!=null){
+ // let userVlookUpNodeValue = document.querySelector("[data-id='" + userVLookUpFields[i] + "']").children[1].value;
+ let e = document.getElementById(jQuery('[data-id="'+userVLookUpFields[i]+'"] .lookupInput input').attr('id')+'_lkid');
+ //let userVlookUpNodeValue = jQuery('[data-id="Incharge_Staff__c"] .lookupInput input').val()
+ // console.log('userVlookUpNodeValue:'+e.value);
+ if(e && e.value!='000000000000000'){
+ result[userVLookUpFields[i]] = e.value;
+ }
}
}
- result.work_location_select__c = document.querySelector("[id='page:form:j_id30:j_id34:1:j_id35:j_id36:18:j_id37']").value;
+ // result.work_location_select__c = document.querySelector("[id='page:form:block:j_id34:1:j_id35:j_id36:18:j_id37']").value;
// result.ProblemDescription__c = document.querySelector("[aria-describedby = 'cke_34']").contentWindow.document.getElementsByTagName('body')[0].innerHTML
+ /*
+ if(result.engineerSendDate__c){
+ result.engineerSendDate__c = result.engineerSendDate__c.replace(/\//g, '-')+':00';
+ }
+ */
+ let e = null;
+ e = document.getElementById(jQuery('[data-id="Incharge_Staff__c"] .lookupInput input').attr('id')+'_lkid');
+ if(e){
+ result.Incharge_Staff__c = e.value;
+ }
+
+ e = document.getElementById(api_id_map['work_location_select__c']);
+ if(e){
+ result.work_location_select__c = e.value;
+ }
+ e = document.getElementById(jQuery('[data-id="OCSM_RC_CordingUser__c"] .lookupInput input').attr('id')+'_lkid');
+ if(e){
+ result.OCSM_RC_CordingUser__c = e.value;
+ }
+
+ e = document.getElementById(jQuery('[data-id="OSH_Affirmant__c"] .lookupInput input').attr('id')+'_lkid');
+ if(e){
+ result.OSH_Affirmant__c = e.value;
+ }
+ e = document.getElementById(jQuery('[data-id="OSHRAConfirmUser__c"] .lookupInput input').attr('id')+'_lkid');
+ if(e){
+ result.OSHRAConfirmUser__c = e.value;
+ }
+ e = document.getElementById(jQuery('[data-id="Repair_Authenticator__c"] .lookupInput input').attr('id')+'_lkid');
+ if(e){
+ result.Repair_Authenticator__c = e.value;
+ }
+ e = document.getElementById(jQuery('[data-id="Repair_Determine_result_ConfirmationUser__c"] .lookupInput input').attr('id')+'_lkid');
+ if(e){
+ result.Repair_Determine_result_ConfirmationUser__c = e.value;
+ }
+ //鏈慨鐞嗗綊杩樼悊鐢�
+ //page:form:block:j_id34:17:j_id35:j_id36:2:j_id37
+ //page:form:block:j_id34:17:j_id35:j_id36:2:j_id37
+ if(document.getElementById('page:form:block:j_id34:17:j_id35:j_id36:2:j_id37')){
+ result.Return_Without_Repair_Reason__c = document.getElementById('page:form:block:j_id34:17:j_id35:j_id36:2:j_id37').value;
+ }
console.log(JSON.stringify(result));
return result;
}
@@ -166,6 +237,27 @@
function QueryRepairFromAWS() {
AWSService.query(staticResources.queryUrl, '{!AWSDataId}', queryBack, staticResources.token);
}
+
+ var queryBack = function queryBack(data) {
+ console.log(data);
+ document.querySelector("[data-id='address_Contacts__c']").value = data.object.addressContacts;
+ document.querySelector("[data-id='address_Contacts_Name__c']").value = data.object.addressContactsName;
+ document.querySelector("[data-id='address_Telephone__c']").value = data.object.addressTelephone;
+ document.querySelector("[data-id='address_ZipCode__c']").value = data.object.addressZipCode;
+ document.querySelector("[data-id='Detailed_Address__c']").value = data.object.detailedAddress;
+ document.querySelector("[data-id='RepairApplicant__c']").value = data.object.repairApplicant;
+ AWSService.query(staticResourceAddress.queryUrl, '{!DecryptAWSDataId}', queryBackDecrypt, staticResourceAddress.token);
+ };
+ var queryBackContact = function queryBack(data) {
+ console.log(data);
+ document.querySelector("[data-id='address_Contacts__c']").value = data.object.lastName;
+ };
+ var queryBackDecrypt = function queryBack(data) {
+ document.querySelector("[data-id='Detailed_Address__c']").value = data.object.detailedAddress;
+ document.querySelector("[data-id='address_ZipCode__c']").value = data.object.zipCode;
+ document.querySelector("[data-id='address_Telephone__c']").value = data.object.telephone;
+ AWSService.query(staticResourceContact.queryUrl, '{!ContactAWSDataId}', queryBackContact, staticResourceContact.token);
+ }
//Update Sensitive Information to AWS
function UpdatePIToAWS(repairJson, payloadForNewPI) {
@@ -230,7 +322,7 @@
//Alert Error Message
function alertErrorMessage(errorMsg) {
- let errorMsgNode = document.getElementById("page:form:msgContent");
+ let errorMsgNode = document.getElementById("page:form:block:msgContent");
errorMsg = '閿欒锛氭棤鏁堟暟鎹��' + '\n' + errorMsg;
errorMsgNode.innerText = errorMsg;
errorMsgNode.className = 'pbError';
@@ -239,7 +331,7 @@
//Hide Error Message
function hiddenErrorMsgNode() {
- let errorMsgNode = document.getElementById("page:form:msgContent");
+ let errorMsgNode = document.getElementById("page:form:block:msgContent");
errorMsgNode.innerText = '';
errorMsgNode.className = '';
}
@@ -265,11 +357,7 @@
<div class="ptBreadcrumb"></div>
</div>
<apex:form id="form">
- <!-- Error Msg-->
- <apex:outputPanel id="errorMsg">
- <apex:pageMessages id="msgContent" escape="false" />
- </apex:outputPanel>
- <apex:pageblock >
+ <apex:pageblock id="block">
<div class="pbHeader">
<table cellspacing="0" cellpadding="0" border="0">
<tbody>
@@ -287,13 +375,19 @@
</tbody>
</table>
</div>
+ <!-- Error Msg-->
+ <div style="text-align: center;">
+ <apex:outputPanel id="errorMsg">
+ <apex:pageMessages id="msgContent" escape="false" />
+ </apex:outputPanel>
+ </div>
<!-- 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}">
<!--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="{!Repair__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)}"
+ <apex:inputField html-title="{!layoutField.fieldAPI}" styleClass="PIBackApi PIBackApi_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!Repair__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)}"
required="{!layoutField.isRequired}" />
<apex:pageblocksectionitem rendered="{!layoutField.isPlaceHolder}">
</apex:pageblocksectionitem>
@@ -302,6 +396,28 @@
</apex:pageBlockSection>
</apex:repeat>
<script>
+ function IsFormTag(tag_name){
+ if (!tag_name) {
+ return false;
+ }
+ return ['input','select','textarea'].indexOf(tag_name.toLowerCase())>-1;
+ }
+
+ function IsFormElement(e){
+ return IsFormTag(e.tagName);
+ }
+ var init_nodes = document.getElementsByClassName("PIBackApi");
+ var api_id_map={};
+ for(let ei in init_nodes){
+ let e = init_nodes[ei];
+ if(IsFormElement(e)){
+ if(e.getAttribute("multiple") != 'multiple' || e.style.display == 'none' && e.id.indexOf('selected') < 0){
+ api_id_map[GetEleApiName(e)] = e.id;
+ }
+
+ }
+ }
+
//Append Page
sfdcPage.appendToOnloadQueue(function () {
var layoutSections = JSON.parse('{!layoutSectionsStr}');
@@ -310,7 +426,16 @@
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);
+ 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");
+ }
+ }
}
}
}
@@ -319,8 +444,79 @@
if (!{!isNewMode}) {
blockme();
QueryRepairFromAWS();
+ unblockUI();
};
- document.querySelector("[data-id='OwnerId']").classList.add("disabledbutton");
+ if(document.querySelector("[data-id='OwnerId']") != null)
+ document.querySelector("[data-id='OwnerId']").classList.add("disabledbutton");
+
+ let previous_value = {};
+ jQuery(".lookupInput input").each(function(i,e){
+ let je =jQuery(e);
+
+ let dataid = je.attr('data-id');
+ if(['Incharge_Staff_Contact__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 = '';
+ }
+ })
+ })
+
+ //缁翠慨涓績
+ if('{!workLocationSelect}' != ''){
+ let wlNode = document.getElementById('page:form:block:j_id34:1:j_id35:j_id36:18:j_id37');
+ if(wlNode){
+ wlNode.removeAttribute("disabled")
+ var o = new Option()
+ o.text = '{!workLocationSelect}'
+ wlNode.options.add(o)
+ wlNode.value = '{!workLocationSelect}'
+ }
+ }
+
+ //濡傛灉浠庢姤淇瓙鍗曡繃鏉ワ紝闇�瑕佽В瀵嗘姤淇汉
+ if('{!RepairSubOrderAWSDataId}' != ''){
+ var staticResourceRepairSubOrder = JSON.parse('{!staticResourceRepairSubOrder}');
+ let queryBackRepairSubOrder = function queryBackRepairSubOrder(data) {
+ document.querySelector("[data-id='RepairApplicant__c']").value = data.object.repairApplicantName;
+ };
+ AWSService.query(staticResourceRepairSubOrder.queryUrl, '{!RepairSubOrderAWSDataId}', queryBackRepairSubOrder, staticResourceRepairSubOrder.token);
+ }
+
+ // 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(['Hospital_Name__c','Department_Class__c','OwnerId'].indexOf(dataid) > -1) return;
+ // 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">
--
Gitblit v1.9.1