Li Jun
2022-04-21 ca7998ae82d116f177e7a1f26e99a57346069102
force-app/main/default/pages/NewRepair.page
@@ -30,14 +30,26 @@
        //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);
            }
        }
@@ -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="取消" />