From ea5686cada5a3e63edaa0d3e8c2db8def4f9ff31 Mon Sep 17 00:00:00 2001 From: Li Jun <buli@deloitte.com.cn> Date: 星期一, 11 四月 2022 11:52:41 +0800 Subject: [PATCH] PIPLCloneButton --- force-app/main/default/pages/NewRepair.page | 167 ++++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 140 insertions(+), 27 deletions(-) diff --git a/force-app/main/default/pages/NewRepair.page b/force-app/main/default/pages/NewRepair.page index bc80e27..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-23-2022 + @last modified on : 03-30-2022 @last modified by : ChangeMeIn@UserSettingsUnder.SFDoc --> <apex:page standardController="Repair__c" extensions="NewRepairController" id="page"> @@ -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 @@ -156,20 +177,58 @@ 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; + } + //鏈慨鐞嗗綊杩樼悊鐢� + //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; } @@ -181,22 +240,22 @@ 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; + 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']").innerHTML = data.object.lastName; + 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; + 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); } @@ -328,7 +387,7 @@ <!--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 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> @@ -337,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}'); @@ -345,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"); + } + } } } } @@ -354,8 +444,10 @@ 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){ @@ -375,6 +467,27 @@ }) }) + //缁翠慨涓績 + 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",""); -- Gitblit v1.9.1