From ca7998ae82d116f177e7a1f26e99a57346069102 Mon Sep 17 00:00:00 2001
From: Li Jun <buli@deloitte.com.cn>
Date: 星期四, 21 四月 2022 18:03:18 +0800
Subject: [PATCH] PIPLPageEnhancement

---
 force-app/main/default/pages/NewRepair.page |   90 ++++++++++++++++++++++++++++++++++-----------
 1 files changed, 68 insertions(+), 22 deletions(-)

diff --git a/force-app/main/default/pages/NewRepair.page b/force-app/main/default/pages/NewRepair.page
index eb79765..174fbdc 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-25-2022
+  @last modified on  : 03-30-2022
   @last modified by  : ChangeMeIn@UserSettingsUnder.SFDoc
 -->
 <apex:page standardController="Repair__c" extensions="NewRepairController" id="page">
@@ -30,26 +30,38 @@
 
         //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);
             }
         }
-        var GetEleApiName = function(ele){
-                    for(let ci in ele.classList){
-                        let c = ele.classList[ci];
-                        if(c.indexOf('PIBackApi'+'_')>-1){
-                            return c.replace('PIBackApi'+'_','');
-                        }
-                    }
-                    return '';
+        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) {
@@ -88,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;
         }
 
@@ -211,6 +225,10 @@
            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;
         }
@@ -348,7 +366,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="鍙栨秷" />
@@ -369,8 +387,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)&&not(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)&&not(isNewMode)&&layoutField.fieldAPI=='RecordTypeId'}"
+                       />
                         <apex:pageblocksectionitem rendered="{!layoutField.isPlaceHolder}">
                         </apex:pageblocksectionitem>
                     </apex:repeat>
@@ -429,7 +451,10 @@
                         unblockUI();
                     };
                     if(document.querySelector("[data-id='OwnerId']") != null)
-                    	document.querySelector("[data-id='OwnerId']").classList.add("disabledbutton");
+                        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){
@@ -448,6 +473,27 @@
                             }
                         })
                     })
+
+                    //缁翠慨涓績
+                    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}' != ''){
+                        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');
@@ -486,7 +532,7 @@
                         <tr>
                             <td class="pbTitle">
                                 <img src="/img/s.gif" alt="" class="minWidth" title="" width="1" height="1" />&nbsp;</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