From 01f207d979d6be17c8cdec293feab48828c0ec3e Mon Sep 17 00:00:00 2001
From: 黄千龙 <huangqianlong@prec-tech.com>
Date: 星期五, 08 四月 2022 14:22:52 +0800
Subject: [PATCH] Merge branch 'master' of http://47.92.229.245:8089/r/OlyMEBG

---
 force-app/main/default/pages/NewAndEditInspectionReport.page |  122 +++++++++++++++++++++++++++++++++++++---
 1 files changed, 111 insertions(+), 11 deletions(-)

diff --git a/force-app/main/default/pages/NewAndEditInspectionReport.page b/force-app/main/default/pages/NewAndEditInspectionReport.page
index 5038294..39bdc71 100644
--- a/force-app/main/default/pages/NewAndEditInspectionReport.page
+++ b/force-app/main/default/pages/NewAndEditInspectionReport.page
@@ -1,4 +1,5 @@
 <apex:page standardController="Inspection_Report__c" extensions="NewAndEditInspectionReportController" id="page">
+    <apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}"/>
     <apex:includeScript value="{! URLFOR($Resource.AWSService, 'AWSService.js') }" />
     <script src="../../soap/ajax/53.0/connection.js" type="text/javascript"></script>
     <apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}"/>
@@ -77,7 +78,8 @@
                                    let arr = data.object[f].split(';');
 
                                    // 缁欓殣钘忕殑select璧嬪��
-                                   for(let op of ele.options){
+                                   for(let opi in ele.options){
+                                       let op = ele.options[opi]
                                        op.selected = arr.indexOf(op.value)>-1;
                                    }
                                    
@@ -140,8 +142,15 @@
             return '';
         }
 
-        function IsFormElement(tag_name){
-            return ['input','select','textarea'].indexOf(tag_name)>-1;
+        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);
         }
 
         function getPIPayload(sobjJson) {
@@ -188,7 +197,7 @@
                 let field_api_name = GetEleApiName(ele);
                 console.log('field_api_name:'+field_api_name)
                 let tag_name = ele.tagName.toLowerCase();
-                if(!IsFormElement(tag_name)){
+                if(!IsFormElement(ele)){
                     console.log('tag_name='+tag_name+',field_api_name'+field_api_name+' is not a form element');
                     continue;
                 }
@@ -205,9 +214,9 @@
                             v = ele.value;
                         }
 
-                        if(v && v != "000000000000000"){
+                        //if(v && v != "000000000000000"){
                             result[field_api_name] = v;
-                        }
+                        //}
                         
                     }
                 } else if (ele.type == 'checkbox') {
@@ -224,9 +233,15 @@
                 }
                 
             }
-            //let reporter = GetEleApiName(nodelist[5])
-            //console.log('reporter:'+reporter);
-            result['Reporter__c'] = document.getElementById('page:form:block:j_id50:0:j_id51:j_id52:4:j_id53_lkid').value;
+             //璧嬪�煎瘜鏂囨湰鍖哄煙
+            //绉戝璐熻矗浜虹瀛�
+            if(document.querySelector("[title = 'RTF 绶ㄨ集鍣�, page:form:block:j_id51:0:j_id52:j_id53:5:j_id54:textAreaDelegate_ResponsiblePerson_Sign__c']")){
+                result.ResponsiblePerson_Sign__c = document.querySelector("[title = 'RTF 绶ㄨ集鍣�, page:form:block:j_id51:0:j_id52:j_id53:5:j_id54:textAreaDelegate_ResponsiblePerson_Sign__c']").contentWindow.document.getElementsByTagName('body')[0].innerHTML
+            }
+            if(document.querySelector("[data-id='Reporter__c']")){
+                result['Reporter__c'] = document.getElementById(document.querySelector("[data-id='Reporter__c']").children[7].children[0].id + '_lkid').value;
+            }
+            
             return result;
         }
         function QuerySobjectFromAWS() {
@@ -316,7 +331,7 @@
             console.log('sobjJson:'+sobjJson);
             console.log('check:'+checkRequiredFieldMsgResult);
             if (checkRequiredFieldMsgResult) {
-                alertErrorMessage('requiredErrorMsg' + checkRequiredFieldMsgResult);
+                alertErrorMessage('{!$Label.Input_Required_Field_Msg}' + checkRequiredFieldMsgResult);
                 return
             }
             // //3. Prepare the payload for New PI API To AWS - To Do
@@ -404,7 +419,29 @@
                 </apex:pageBlockSection>
             </apex:repeat>
             <script>
+                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;
+                        }
+                        
+                    }
+                }
+                console.log(api_id_map);
                 sfdcPage.appendToOnloadQueue(function () {
+                    var layoutSections = JSON.parse('{!layoutSectionsStr}');
+                    for (let m = 0; m < layoutSections.length; m++) {
+                        let layoutSection = layoutSections[m].layoutFields;
+                        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);
+                            }
+                        }
+                    }
                     //1. Set Last Name label
                     //document.querySelector("[data-id='LastName']").parentNode.parentNode.parentNode.children[2].children[0].innerText = '濮撳悕';
                     //2. Query AWS Data by dataId 
@@ -412,8 +449,71 @@
                     if (!{!isNewMode}) {
                         blockme();
                         QuerySobjectFromAWS();
-                    }   
+                    }else{
+                        let ot = jQuery('input[data-id="OwnerId"]');
+                        let oi = document.getElementById(ot.attr("id")+'_lkid');
+                        ot.val('{!CurrentUserName}');
+                        ot.attr("readonly","");
+                        ot.css("background","unset");
+                        ot.css("border","0");
+                        ot.css( "outline","0");
+                        jQuery('a[data-id="OwnerId"]').remove();
+                        if(oi){
+                            oi.value = '{!CurrentUserId}'
+                        }
+                    }
+                    
+                    //Replace Contact Vlookup Field
+                    replaceSearchContactLookup();
+                    //Replace Lead Vlookup Field
+                    replaceSearchLeadLookup(); 
+                    document.querySelectorAll("[data-id='OwnerId']")[0].classList.add("disabledbutton");
+                    // document.querySelectorAll("[data-id='OwnerId']")[1].classList.add("disabledbutton");
+                    
+                    jQuery('a[data-id="OwnerId"]').remove();
+
+                    let previous_value = {};
+                    jQuery(".lookupInput input").each(function(i,e){
+                        let je =jQuery(e);
+
+                        let dataid = je.attr('data-id');
+                        if(['Hospital__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").on("click","img.closeIconOn",function(){
+                    //     if (jQuery(this).siblings("input").attr("data-id") == 'Hospital_Name__c'){
+                    //         clearVlookup('Department_Class__c');
+                    //         clearVlookup('Hospital__c');
+                    //     }
+                    // });
+
+                    jQuery("body").on("change","input[data-id='Hospital_Name__c']",function(){
+                        setTimeout(() => {
+                            console.log(document.getElementById(this.id+'_lkid').value);
+                            var hospitalNameValue = document.getElementById(this.id+'_lkid').value;
+                            if (hospitalNameValue != "000000000000000" && hospitalNameValue != '') {
+                                console.log("hospitalNameValue = " + hospitalNameValue);
+
+                                var ls = ['Department_Class__c','Hospital__c'];
+                                setVlookup(ls,hospitalNameValue);
+                            }else{
+                                clearVlookup('Department_Class__c');
+                                clearVlookup('Hospital__c');
+                            }
+                        }, 50);
+                    });                   
                 });
+
             </script>
             <div class="pbBottomButtons">
                 <table cellspacing="0" cellpadding="0" border="0">

--
Gitblit v1.9.1