From af0cf4a4c55406b80584acfa0a126af7e826d124 Mon Sep 17 00:00:00 2001
From: 李彤 <litong@prec-tech.com>
Date: 星期六, 02 四月 2022 17:56:46 +0800
Subject: [PATCH] 目标录入相关判断修改_1
---
force-app/main/default/pages/NewRepair.page | 237 +++++++++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 182 insertions(+), 55 deletions(-)
diff --git a/force-app/main/default/pages/NewRepair.page b/force-app/main/default/pages/NewRepair.page
index e3f4b2a..3cafc75 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}');
@@ -39,18 +41,27 @@
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 +140,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 +163,54 @@
}
}
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;
+ }
console.log(JSON.stringify(result));
return result;
}
@@ -166,6 +219,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 +304,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 +313,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 +339,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 +357,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 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 +378,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 +408,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,38 +426,58 @@
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");
- 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(['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 = '';
+ 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 = '';
}
- }
- });
+ })
+ })
+
+ // 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