| | |
| | | <!-- |
| | | @description : |
| | | @author : ChangeMeIn@UserSettingsUnder.SFDoc |
| | | @group : |
| | | @last modified on : 03-17-2022 |
| | | @last modified by : ChangeMeIn@UserSettingsUnder.SFDoc |
| | | --> |
| | | <apex:page standardController="RepairSubOrder__c" extensions="NewAndEditRepairSubOrderController" id="page"> |
| | | <apex:includeScript value="{! URLFOR($Resource.AWSService, 'AWSService.js') }" /> |
| | | <script src="../../soap/ajax/53.0/connection.js" type="text/javascript"></script> |
| | |
| | | SaveAndNew:false, |
| | | AWSToSobjectMap:{!AWSToSobjectMapJson}, |
| | | AWSToSobjectNonEncryptedMap:{!AWSToSobjectNonEncryptedMapJson}, |
| | | AWSToSobjectNonEncryptedMapKeySet:{!AWSToSobjectNonEncryptedMapKeySet}, |
| | | AWSToSobjectEncryptedMap:{!AWSToSobjectEncryptedMapJson}, |
| | | SobjectToAWSModel:function (sobjJson) { |
| | | let leadPayloadList = []; |
| | |
| | | } |
| | | |
| | | function IsFormTag(tag_name){ |
| | | if (!tag_name) { |
| | | return false; |
| | | } |
| | | return ['input','select','textarea'].indexOf(tag_name.toLowerCase())>-1; |
| | | } |
| | | |
| | | function IsFormElement(tag_name){ |
| | | return ['input','select','textarea'].indexOf(tag_name)>-1; |
| | | function IsFormElement(e){ |
| | | return IsFormTag(e.tagName); |
| | | } |
| | | |
| | | function getPIPayload(sobjJson) { |
| | |
| | | if(phone ){ |
| | | if(phone.value){ |
| | | if(!/^1[3|5|8|7][0-9]\d{4,8}$/.test(phone.value)){ |
| | | error_msg += ';电话号码错误'; |
| | | error_msg += ';电话号码错误'; |
| | | } |
| | | }else{ |
| | | if(phone.previousSibling && phone.previousSibling.className.indexOf('requiredBlock')>-1){ |
| | |
| | | |
| | | let nodelist = document.getElementsByClassName(config.ApiPrefix); |
| | | let result = {} |
| | | for (let index = 0; index < nodelist.length; index++) { |
| | | let ele = nodelist[index]; |
| | | let field_api_name = GetEleApiName(ele); |
| | | for (let index in api_id_map) { |
| | | let ele = document.getElementById(api_id_map[index]); |
| | | |
| | | let field_api_name = index; |
| | | let tag_name = ele.tagName.toLowerCase(); |
| | | if(!IsFormElement(tag_name)){ |
| | | if(!IsFormTag(tag_name)){ |
| | | console.log('tag_name='+tag_name+',field_api_name'+field_api_name+' is not a form element'); |
| | | continue; |
| | | } |
| | |
| | | } else { |
| | | result[field_api_name] = ele.value; |
| | | } |
| | | } |
| | | if(api_id_map['AssetType__c']){ |
| | | result.AssetType__c= document.getElementById(api_id_map['AssetType__c']).value!='_\x01_'?document.getElementById(api_id_map['AssetType__c']).value:''; |
| | | } |
| | | return result; |
| | | } |
| | |
| | | <img src="/img/s.gif" alt="" class="minWidth" title="" width="1" height="1" /> |
| | | <h2 class="mainTitle">{! SobjectLabel}<apex:outputText rendered="{!isNewMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode)}">{!$Label.Edit}</apex:outputText></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="{!$Label.Save}" onclick="saveSobjectProcess()" /> |
| | | <input class="btn" type="Button" value="{!$Label.SaveAndNew}" onclick="saveSobjectProcess(1)" /> |
| | | <apex:commandButton action="{!cancel}" value="{!$Label.Cancel}" /> |
| | |
| | | |
| | | <!--Each section has layoutFields, let's iterate them as well--> |
| | | <apex:repeat value="{!layoutSection.layoutFields}" var="layoutField"> |
| | | <apex:inputField styleClass="{!ApiPrefix} {!ApiPrefix}_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!RepairSubOrder__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)}" |
| | | <apex:inputField styleClass="PIBackApi PIBackApi_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!RepairSubOrder__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&&isNewMode}" |
| | | required="{!layoutField.isRequired}" /> |
| | | <apex:inputField styleClass="PIBackApi PIBackApi_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!RepairSubOrder__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="{!RepairSubOrder__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&¬(isNewMode)&&layoutField.fieldAPI=='RecordTypeId'}" |
| | | /> |
| | | <apex:pageblocksectionitem rendered="{!layoutField.isPlaceHolder}"> |
| | | </apex:pageblocksectionitem> |
| | | </apex:repeat> |
| | |
| | | <script> |
| | | var init_nodes = document.getElementsByClassName("PIBackApi"); |
| | | var api_id_map={}; |
| | | for(let e in init_nodes){ |
| | | for(let ei in init_nodes){ |
| | | let e = init_nodes[ei]; |
| | | if(IsFormElement(e)){ |
| | | api_id_map[GetEleApiName(e)] = e.id; |
| | | if(e.getAttribute("multiple") != 'multiple' || e.style.display == 'none' && e.id.indexOf('selected') < 0){ |
| | | api_id_map[GetEleApiName(e)] = e.id; |
| | | } |
| | | |
| | | } |
| | | } |
| | | console.log(api_id_map); |
| | |
| | | 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"); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | replaceSearchContactLookup(); |
| | | //3. Set Readonly Attribute |
| | | document.querySelectorAll("[data-id='OwnerId']")[0].classList.add("disabledbutton"); |
| | | |
| | | document.getElementById('topButtonRow').style = ''; |
| | | document.getElementById('bottomButtonRow').style = ''; |
| | | jQuery('a[data-id="OwnerId"]').remove(); |
| | | /* |
| | | jQuery(".lookupInput").each(function(i,e){ |
| | | let je =jQuery(e).find('input'); |
| | | je.attr("readonly",""); |
| | |
| | | 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'); |
| | | input.value = ''; |
| | | let hidden = document.getElementById(id+'_lkid'); |
| | | if(hidden){ |
| | | hidden.value = ''; |
| | | hidden.value = ''; |
| | | } |
| | | } |
| | | }); |
| | | */ |
| | | let previous_value = {}; |
| | | jQuery(".lookupInput input").each(function(i,e){ |
| | | let je =jQuery(e); |
| | | |
| | | let dataid = je.attr('data-id'); |
| | | if(['ContactId'].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 = ''; |
| | | } |
| | | }) |
| | | }) |
| | | }); |
| | | </script> |
| | | <div class="pbBottomButtons"> |
| | |
| | | <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="{!$Label.Save}" onclick="saveSobjectProcess()" /> |
| | | <input class="btn" type="Button" value="{!$Label.SaveAndNew}" onclick="saveSobjectProcess()" /> |
| | | <apex:commandButton action="{!cancel}" value="{!$Label.Cancel}" /> |