From 8badb57ea2c82557850ad5b39281c3e8714eb119 Mon Sep 17 00:00:00 2001
From: liuyan <liuyan@prec-tech.com>
Date: 星期四, 24 十一月 2022 10:08:31 +0800
Subject: [PATCH] 科室信息漏传SPO问题
---
force-app/main/default/pages/NewRepair.page | 215 +++++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 183 insertions(+), 32 deletions(-)
diff --git a/force-app/main/default/pages/NewRepair.page b/force-app/main/default/pages/NewRepair.page
index bc80e27..20b67eb 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-23-2022
+ @last modified on : 03-30-2022
@last modified by : ChangeMeIn@UserSettingsUnder.SFDoc
-->
<apex:page standardController="Repair__c" extensions="NewRepairController" id="page">
@@ -10,7 +10,7 @@
<apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}"/>
<apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}"/>
<apex:includeScript value="{!URLFOR($Resource.PleaseWaitDialog)}"/>
- <script src="../../soap/ajax/53.0/connection.js" type="text/javascript"></script>
+ <apex:includeScript value="{!URLFOR($Resource.connection20)}"/>
<style>
.disabledbutton {
pointer-events: none;
@@ -30,16 +30,37 @@
//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
@@ -79,7 +100,9 @@
} else {
payloadJson.AWS_Data_Id__c = '{!AWSDataId}';
}
- debugger
+ if('{!rtTypeId}'){
+ payloadJson.RecordTypeId = '{!rtTypeId}';//Add by zhj for Record Type Issue 20220421
+ }
return payloadJson;
}
@@ -156,24 +179,72 @@
for (let i = 0; i < userVLookUpFields.length; i++) {
if(document.querySelector("[data-id='" + userVLookUpFields[i] + "']")!=null){
// let userVlookUpNodeValue = document.querySelector("[data-id='" + userVLookUpFields[i] + "']").children[1].value;
- let userVlookUpNodeValue = jQuery('[data-id="Incharge_Staff__c"] .lookupInput input').val()
- console.log('userVlookUpNodeValue:'+userVlookUpNodeValue);
- if(userVlookUpNodeValue!='000000000000000'){
- result[userVLookUpFields[i]] = userVlookUpNodeValue;
+ 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:block: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;
+ }
+ //鏈慨鐞嗗綊杩樼悊鐢�
+ if(api_id_map['Return_Without_Repair_Reason__c']){
+ result.Return_Without_Repair_Reason__c = document.getElementById(api_id_map['Return_Without_Repair_Reason__c']).value!='_\x01_'?document.getElementById(api_id_map['Return_Without_Repair_Reason__c']).value:'';
+ }
console.log(JSON.stringify(result));
return result;
}
+
+ function EditButton(isDisabled){
+ var topele = document.getElementById('topButtonRow');
+ var bottomele = document.getElementById('bottomButtonRow');
+ if (isDisabled) {
+ topele.classList.add("disabledbutton");
+ bottomele.classList.add("disabledbutton");
+ }else {
+ topele.classList.remove("disabledbutton");
+ bottomele.classList.remove("disabledbutton");
+ }
+ }
//Query from AWS
function QueryRepairFromAWS() {
AWSService.query(staticResources.queryUrl, '{!AWSDataId}', queryBack, staticResources.token);
@@ -181,22 +252,32 @@
var queryBack = function queryBack(data) {
console.log(data);
- document.querySelector("[data-id='address_Contacts__c']").innerHTML = data.object.addressContacts;
- document.querySelector("[data-id='address_Contacts_Name__c']").innerHTML = data.object.addressContactsName;
- document.querySelector("[data-id='address_Telephone__c']").innerHTML = data.object.addressTelephone;
- document.querySelector("[data-id='address_ZipCode__c']").innerHTML = data.object.addressZipCode;
- document.querySelector("[data-id='Detailed_Address__c']").innerHTML = data.object.detailedAddress;
- document.querySelector("[data-id='RepairApplicant__c']").innerHTML = data.object.repairApplicant;
+ if(document.querySelector("[data-id='address_Contacts__c']"))
+ document.querySelector("[data-id='address_Contacts__c']").value = data.object.addressContacts;
+ if(document.querySelector("[data-id='address_Contacts_Name__c']"))
+ document.querySelector("[data-id='address_Contacts_Name__c']").value = data.object.addressContactsName;
+ if(document.querySelector("[data-id='address_Telephone__c']"))
+ document.querySelector("[data-id='address_Telephone__c']").value = data.object.addressTelephone;
+ if(document.querySelector("[data-id='address_ZipCode__c']"))
+ document.querySelector("[data-id='address_ZipCode__c']").value = data.object.addressZipCode;
+ if(document.querySelector("[data-id='Detailed_Address__c']"))
+ document.querySelector("[data-id='Detailed_Address__c']").value = data.object.detailedAddress;
+ if(document.querySelector("[data-id='RepairApplicant__c']"))
+ 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']").innerHTML = data.object.lastName;
+ if(document.querySelector("[data-id='address_Contacts__c']"))
+ document.querySelector("[data-id='address_Contacts__c']").value = data.object.lastName;
};
var queryBackDecrypt = function queryBack(data) {
- document.querySelector("[data-id='Detailed_Address__c']").innerHTML = data.object.detailedAddress;
- document.querySelector("[data-id='address_ZipCode__c']").innerHTML = data.object.zipCode;
- document.querySelector("[data-id='address_Telephone__c']").innerHTML = data.object.telephone;
+ if(document.querySelector("[data-id='Detailed_Address__c']"))
+ document.querySelector("[data-id='Detailed_Address__c']").value = data.object.detailedAddress;
+ if(document.querySelector("[data-id='address_ZipCode__c']"))
+ document.querySelector("[data-id='address_ZipCode__c']").value = data.object.zipCode;
+ if(document.querySelector("[data-id='address_Telephone__c']"))
+ document.querySelector("[data-id='address_Telephone__c']").value = data.object.telephone;
AWSService.query(staticResourceContact.queryUrl, '{!ContactAWSDataId}', queryBackContact, staticResourceContact.token);
}
@@ -219,7 +300,9 @@
function checkRequiredFieldMsg(formData) {
let blankRequiredFields = '';
for (i = 0; i < requiredFieldAPIList.length; i++) {
- if (formData[requiredFieldAPIList[i]]) {
+ if (formData[requiredFieldAPIList[i]] && !VLookUpFields.has(requiredFieldAPIList[i])) {
+ continue;
+ }else if(VLookUpFields.has(requiredFieldAPIList[i]) && formData[requiredFieldAPIList[i]] != '000000000000000'){
continue;
} else {
if (blankRequiredFields == '') {
@@ -235,6 +318,7 @@
//Base Process
function saveRepairProcess(saveMode) {
+ EditButton(true);
redirectMode = saveMode;
console.log('redirectMode' + redirectMode);
hiddenErrorMsgNode();
@@ -268,6 +352,7 @@
errorMsgNode.innerText = errorMsg;
errorMsgNode.className = 'pbError';
unblockUI();
+ EditButton(false);
}
//Hide Error Message
@@ -307,7 +392,7 @@
<img src="/img/s.gif" alt="" class="minWidth" title="" width="1" height="1" />
<h2 class="mainTitle">淇悊缂栬緫</h2>
</td>
- <td class="pbButton" id="topButtonRow">
+ <td class="pbButton" id="topButtonRow" style="pointer-events: none; opacity: 0.4;">
<input class="btn" type="Button" value="淇濆瓨" onclick="saveRepairProcess('Save')" />
<input class="btn" type="Button" value="淇濆瓨骞舵柊寤�" onclick="saveRepairProcess('SaveAndNew')" />
<apex:commandButton action="{!cancel}" value="鍙栨秷" />
@@ -328,8 +413,12 @@
<!--Each section has layoutFields, let's iterate them as well-->
<apex:repeat value="{!layoutSection.layoutFields}" var="layoutField">
- <apex:inputField styleClass="PIBackApi PIBackApi_{!layoutField.fieldAPI}" 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)&&isNewMode}"
required="{!layoutField.isRequired}" />
+ <apex:inputField styleClass="PIBackApi PIBackApi_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!Repair__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&¬(isNewMode)&&layoutField.fieldAPI!='RecordTypeId'}"
+ required="{!layoutField.isRequired}" />
+ <apex:outputField styleClass="PIBackApi PIBackApi_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!Repair__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&¬(isNewMode)&&layoutField.fieldAPI=='RecordTypeId'}"
+ />
<apex:pageblocksectionitem rendered="{!layoutField.isPlaceHolder}">
</apex:pageblocksectionitem>
</apex:repeat>
@@ -337,6 +426,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}');
@@ -345,7 +456,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");
+ }
+ }
}
}
}
@@ -354,8 +474,13 @@
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");
+
+ document.getElementById('topButtonRow').style = '';
+聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 document.getElementById('bottomButtonRow').style = '';
let previous_value = {};
jQuery(".lookupInput input").each(function(i,e){
@@ -374,6 +499,32 @@
}
})
})
+
+ //缁翠慨涓績
+ if('{!workLocationSelect}' != ''){
+ let wlNode = document.getElementById(api_id_map['work_location_select__c']);
+ if(wlNode){
+ wlNode.removeAttribute("disabled")
+ var o = new Option()
+ o.text = '{!workLocationSelect}'
+ wlNode.options.add(o)
+ wlNode.value = '{!workLocationSelect}'
+ }
+ }
+
+ //濡傛灉浠庢姤淇瓙鍗曡繃鏉ワ紝闇�瑕佽В瀵嗘姤淇汉
+ if('{!RepairSubOrderAWSDataId}' != ''){
+ EditButton(true);//add by Li Jun 20220428 By Li Jun
+ blockme();//add by Li Jun 20220428 By Li Jun
+ var staticResourceRepairSubOrder = JSON.parse('{!staticResourceRepairSubOrder}');
+ let queryBackRepairSubOrder = function queryBackRepairSubOrder(data) {
+ if(document.querySelector("[data-id='RepairApplicant__c']"))
+ document.querySelector("[data-id='RepairApplicant__c']").value = data.object.repairApplicantName;
+ unblockUI();//add by Li Jun 20220428 By Li Jun
+ EditButton(false);//add by Li Jun 20220428 By Li Jun
+ };
+ AWSService.query(staticResourceRepairSubOrder.queryUrl, '{!RepairSubOrderAWSDataId}', queryBackRepairSubOrder, staticResourceRepairSubOrder.token);
+ }
// jQuery(".lookupInput").each(function(i,e){
// let je =jQuery(e).find('input');
@@ -412,7 +563,7 @@
<tr>
<td class="pbTitle">
<img src="/img/s.gif" alt="" class="minWidth" title="" width="1" height="1" /> </td>
- <td class="pbButtonb" id="bottomButtonRow">
+ <td class="pbButtonb" id="bottomButtonRow" style="pointer-events: none; opacity: 0.4;">
<input class="btn" type="Button" value="淇濆瓨" onclick="saveRepairProcess('Save')" />
<input class="btn" type="Button" value="淇濆瓨骞舵柊寤�" onclick="saveRepairProcess('SaveAndNew')" />
<apex:commandButton action="{!cancel}" value="鍙栨秷" />
--
Gitblit v1.9.1