buli
2022-05-13 2f4492ee18f90274582fcc2bb06f5e9bf64136e8
force-app/main/default/pages/NewLoanerApplication.page
@@ -2,212 +2,26 @@
    <apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}"/>
    <apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}"/>
    <apex:includeScript value="{!URLFOR($Resource.PleaseWaitDialog)}"/>
    <!-- Update 20220318 By Yang Kaiyu Start -->
   <apex:includeScript value="{!URLFOR($Resource.CommonUtilJs)}"/>
   <apex:includeScript value="{!URLFOR($Resource.AWSService, 'AWSService.js') }" />
   <apex:includeScript value="/soap/ajax/40.0/connection.js"/>
    <!-- Update 20220318 By Yang Kaiyu End -->
    <script>
        // Update 20220318 By Yang Kaiyu Start
        aws_result = '';
        lu_aws_result = '';
        AWSService.sfSessionId = '{!GETSESSIONID()}';
        var staticResource = JSON.parse('{!staticResource}');
        var staticResourceContact = JSON.parse('{!staticResourceContact}');
        var staticResourceLoanerUser = JSON.parse('{!staticResourceLoanerUser}');
        function searchPI(){
            console.log('---searchPI---');
            var conAwsDataid ='';
            conAwsDataid = document.getElementById("page:mainfrom:idSearchSetProduct:con_AWS_Data_Id__c").value;
            if(conAwsDataid){
                blockme();
                console.log('---AWSService---');
                AWSService.query(staticResourceContact.queryUrl,conAwsDataid,function(data){
                    unblockUI();
                    if(data.object){
                        console.log('----------------data-----------------');
                        console.log(data);
                        console.log('----------------data-----------------');
                        document.getElementById("page:mainfrom:idSearchSetProduct:Contact__c").value = '{!contactID}';
                        document.getElementById("page:mainfrom:idSearchSetProduct:ContactNumber__c").value = data.object.phone;
                        if(document.getElementById("page:mainfrom:idSearchSetProduct:ContactNumber__c").value){
                            AWSService.post(staticResourceLoanerUser.newUrl, GetLUObj(), function(result){
                                if(result && result.object){
                                    lu_aws_result = result;
                                    console.log('----------------result-----------------');
                                    console.log(result);
                                    console.log('----------------result-----------------');
                                    document.getElementById("page:mainfrom:idSearchSetProduct:lu_AWS_Data_Id__c").value = result.object.dataId;
                                    document.getElementById("page:mainfrom:idSearchSetProduct:ContactNumber__c").value = result.object.phone;
                                    document.getElementById("page:mainfrom:idSearchSetProduct:ContactNumber_Encrypted__c").value = result.object.phoneEncrypted;
                                }
                            }, staticResourceLoanerUser.token);
                        }
                    }
                },staticResourceContact.token);
            }
        }
        function GetLUObj(){
            return JSON.stringify([{
                contactNumber : document.getElementById("page:mainfrom:idSearchSetProduct:ContactNumber__c").value,
                dataId : document.getElementById("page:mainfrom:idSearchSetProduct:lu_AWS_Data_Id__c").value,
            }]);
        }
        function ProcessPI(sobjJson, payloadForNewPI,callback) {
            console.log('---insert---');
            AWSService.post(staticResource.newUrl, payloadForNewPI, function(result){
                aws_result = result
                SetEditObj();
                if(callback){
                    callback();
                }
            }, staticResource.token);
        }
        function SetEditObj(){
            let obj = GetAWSResultObj();
            if(obj){
                document.getElementById("page:mainfrom:idSearchSetProduct:AWS_Data_Id__c").value                                = obj.dataId;
    function saveJs() {
        blockme();
        saveBtn();
    }
                document.getElementById("page:mainfrom:idSearchSetProduct:ReceiveInfo:pc:Post_Code__c").value                   = obj.postCode;
                document.getElementById("page:mainfrom:idSearchSetProduct:ReceiveInfo:lrsp:Loaner_receive_staff_phone__c").value= obj.loanerReceiveStaffPhone;
                document.getElementById("page:mainfrom:idSearchSetProduct:ReceiveInfo:lrs:Loaner_receive_staff__c").value       = obj.loanerReceiveStaff;
                document.getElementById("page:mainfrom:idSearchSetProduct:LoanerApplicationDetailInfo:ls:Loaner_Ser__c").value  = obj.loanerSer;
                document.getElementById("page:mainfrom:idSearchSetProduct:ReceiveInfo:dsa:direct_shippment_address__c").value   = obj.directShippmentAddress;
                document.getElementById("page:mainfrom:idSearchSetProduct:direct_shippment_address_Encrypted__c").value         = obj.directShippmentAddressEncrypt;
                document.getElementById("page:mainfrom:idSearchSetProduct:Pos_Code_Encrypted__c").value                         = obj.postCodeEncrypt;
                document.getElementById("page:mainfrom:idSearchSetProduct:Loaner_receive_staff_phone_Encrypted__c").value       = obj.loanerReceiveStaffPhoneEncrypt;
                document.getElementById("page:mainfrom:idSearchSetProduct:Loaner_receive_staff_Encrypted__c").value             = obj.loanerReceiveStaffEncrypt;
                document.getElementById("page:mainfrom:idSearchSetProduct:Loaner_Ser_Encrypted__c").value                       = obj.loanerSerEncrypt;
            }
    function cancelJs() {
        var baseUrl = '{!baseUrl}';
        var rtUrl = '{!contactID}';
        if (rtUrl == 'null' || rtUrl == '') {
            rtUrl = '{!accountID}';
        }
        function GetAWSResultObj(){
            if(aws_result && aws_result.object && aws_result.object.length > 0){
                return aws_result.object[0];
            }
            return null;
        }
        function GetObj(){
            return JSON.stringify([{
                dataId : document.getElementById("page:mainfrom:idSearchSetProduct:AWS_Data_Id__c").value,
                postCode : document.getElementById("page:mainfrom:idSearchSetProduct:ReceiveInfo:pc:Post_Code__c").value,
                loanerReceiveStaffPhone : document.getElementById("page:mainfrom:idSearchSetProduct:ReceiveInfo:lrsp:Loaner_receive_staff_phone__c").value,
                loanerReceiveStaff : document.getElementById("page:mainfrom:idSearchSetProduct:ReceiveInfo:lrs:Loaner_receive_staff__c").value,
                loanerSer : document.getElementById("page:mainfrom:idSearchSetProduct:LoanerApplicationDetailInfo:ls:Loaner_Ser__c").value,
                directShippmentAddress : document.getElementById("page:mainfrom:idSearchSetProduct:ReceiveInfo:dsa:direct_shippment_address__c").value,
            }]);
        }
        var bt1 = false;
        var bt2 = false;
        var laid = '';
        function Redirect(){
            if(bt1 && bt2){
                window.location.href = '/'+laid;
            }
        }
        //aws 确认
        function Transla(){
            let e = HasError();
            if(!e){
                AWSService.post(staticResourceLoanerUser.transactionUrl, JSON.stringify({
                    "txId":lu_aws_result.txId,
                    "isSuccess":e ? 0 : 1
                }), function(result){
                    console.log('---result---');
                    console.log(result);
                    console.log('finish');
                    bt1=true;
                    Redirect();
                    //window.location.reload();
                }, staticResourceLoanerUser.token);
            }
        }
        function Trans(){
            let b = HasError();
            console.log('---HasError---');
            console.log(b);
            console.log('---aws_result---');
            console.log(aws_result);
            if(b){
                //清空pi
                document.getElementById('page:mainfrom:idSearchSetProduct:ReceiveInfo:pc:Post_Code__c').value=''
                document.getElementById('page:mainfrom:idSearchSetProduct:ReceiveInfo:lrsp:Loaner_receive_staff_phone__c').value=''
                document.getElementById('page:mainfrom:idSearchSetProduct:ReceiveInfo:lrs:Loaner_receive_staff__c').value=''
                document.getElementById('page:mainfrom:idSearchSetProduct:LoanerApplicationDetailInfo:ls:Loaner_Ser__c').value=''
                document.getElementById('page:mainfrom:idSearchSetProduct:ReceiveInfo:dsa:direct_shippment_address__c').value=''
            }
            AWSService.post(staticResource.transactionUrl, JSON.stringify({
                    "txId":aws_result.txId,
                    "isSuccess":b ? 0 : 1
                }), function(result){
                    console.log('---result---');
                    console.log(result);
                    console.log('finish');
                    bt2=true;
                    Redirect();
                    //window.location.reload();
                }, staticResource.token);
        }
        function HasError(){
            let e = document.getElementById("page:mainfrom:message");
            console.log(e);
            if (!e) {
                return false;
            }
            if(j$(e).find(".editListError").length > 0){
                return true;
            }
            let divs = j$(e).find("div.message");
            for (let i = 0; i < divs.length; i++) {
                for (let j = 0; j < divs[i].classList.length; j++) {
                    for(let cls in divs[i].classList){
                        if (cls.indexOf('error')>-1) {
                            return true;
                        }
                    }
                }
            }
            return false;
        }
        // Update 20220318 By Yang Kaiyu End
        function saveJs() {
            blockme();
            // Update 20220318 By Yang Kaiyu Start
            searchPI();
            ProcessPI({},GetObj(),function(){
                saveBtn();
            });
            // Update 20220318 By Yang Kaiyu End
        }
        function cancelJs() {
            var baseUrl = '{!baseUrl}';
            var rtUrl = '{!contactID}';
            if (rtUrl == 'null' || rtUrl == '') {
                rtUrl = '{!accountID}';
            }
            window.location.href = baseUrl + "/" + rtUrl;
        }
        window.location.href = baseUrl + "/" + rtUrl;
    }
    </script>
    <apex:form id="mainfrom">
        <!-- Update 20220318 By Yang Kaiyu Start -->
        <script>
            laid = '{!laid}';
        </script>
        <!-- Update 20220318 By Yang Kaiyu End -->
        <apex:actionFunction action="{!saveBtn}" name="saveBtn" reRender="mainfrom,message" oncomplete="unblockUI();Transla();Trans();"/>
        <apex:actionFunction action="{!saveBtn}" name="saveBtn" reRender="mainForm,message" oncomplete="unblockUI();"/>
        <apex:actionFunction action="{!cancelBtn}" name="cancelBtn" reRender="mainForm,message" oncomplete="unblockUI();"/>
        <apex:outputPanel id="message">
@@ -221,9 +35,7 @@
            </apex:pageBlockButtons>
           
            <apex:outputPanel layout="none" >
                <!-- Update 20220318 By Yang Kaiyu Start -->
                <apex:pageBlockSection id="LoanerApplicationDetailInfo" title="样机借出申请详细信息" columns="2">
                <!-- Update 20220318 By Yang Kaiyu End -->
                <apex:pageBlockSection title="样机借出申请详细信息" columns="2">
                    <apex:pageBlockSectionItem >
                        <apex:outputLabel value="样机借出申请名称" for="la_Name"/>
@@ -233,15 +45,11 @@
                        <apex:outputLabel value="样机分类" for="la_Type"/>
                        <apex:inputField value="{!la.Equipment_Type__c}" id="la_Type" required="true"/>
                    </apex:pageBlockSectionItem>
                    <!-- Update 20220318 By Yang Kaiyu Start -->
                    <apex:pageBlockSectionItem id="ls" >
                    <!-- Update 20220318 By Yang Kaiyu End -->
                    <apex:pageBlockSectionItem >
                        <apex:outputLabel value="借用担当" for="Loaner_Ser__c"/>
                        <!-- Update 20220318 By Yang Kaiyu Start -->
                        <apex:inputField value="{!la.Loaner_Ser__c}" id="Loaner_Ser__c" required="true"/><!--pi-->
                        <!-- Update 20220318 By Yang Kaiyu End -->
                        <apex:inputField value="{!la.Loaner_Ser__c}" id="Loaner_Ser__c" required="true"/>
                    </apex:pageBlockSectionItem>
                        <apex:pageBlockSectionItem rendered="{!IF(userType == 'Standard', false , true)}">
                            <apex:outputLabel value="审批人" for="Approver__c"/>
                            <apex:inputField value="{!la.Approver__c}" id="Approver__c" required="true"/>
@@ -509,70 +317,35 @@
                    </apex:pageBlockSectionItem>
                </apex:pageBlockSection>
                <!-- Update 20220318 By Yang Kaiyu Start -->
                <apex:pageBlockSection id="ReceiveInfo" title="收件人信息" columns="2">
                    <apex:pageBlockSectionItem id="lrs" >
                        <!-- Update 20220318 By Yang Kaiyu End -->
                <apex:pageBlockSection title="收件人信息" columns="2">
                    <apex:pageBlockSectionItem >
                        <apex:outputLabel value="收件人姓名" for="Loaner_receive_staff__c"/>
                        <!-- Update 20220318 By Yang Kaiyu Start -->
                        <apex:inputField value="{!la.Loaner_receive_staff__c}" id="Loaner_receive_staff__c"/><!--pi-->
                        <!-- Update 20220318 By Yang Kaiyu End -->
                        <apex:inputField value="{!la.Loaner_receive_staff__c}" id="Loaner_receive_staff__c"/>
                    </apex:pageBlockSectionItem>
                    <apex:pageBlockSectionItem >
                         <apex:outputLabel value="自提时间" for="pickup_time__c"/>
                        <apex:inputField value="{!la.pickup_time__c}" id="pickup_time__c"/>
                    </apex:pageBlockSectionItem>  
                    <!-- Update 20220318 By Yang Kaiyu Start -->
                    <apex:pageBlockSectionItem id="dsa" >
                    <!-- Update 20220318 By Yang Kaiyu End -->
                    <apex:pageBlockSectionItem >
                        <apex:outputLabel value="收件人详细地址" for="direct_shippment_address__c"/>
                        <!-- Update 20220318 By Yang Kaiyu Start -->
                        <apex:inputField value="{!la.direct_shippment_address__c}" id="direct_shippment_address__c"/><!--pi-->
                        <!-- Update 20220318 By Yang Kaiyu End -->
                        <apex:inputField value="{!la.direct_shippment_address__c}" id="direct_shippment_address__c"/>
                    </apex:pageBlockSectionItem>
                    <apex:pageBlockSectionItem >
                        &nbsp;
                    </apex:pageBlockSectionItem>
                    <!-- Update 20220318 By Yang Kaiyu Start -->
                    <apex:pageBlockSectionItem id="lrsp" >
                    <!-- Update 20220318 By Yang Kaiyu End -->
                    <apex:pageBlockSectionItem >
                        <apex:outputLabel value="收件人电话" for="Loaner_receive_staff_phone__c"/>
                        <!-- Update 20220318 By Yang Kaiyu Start -->
                        <apex:inputField value="{!la.Loaner_receive_staff_phone__c}" id="Loaner_receive_staff_phone__c"/><!--pi-->
                        <!-- Update 20220318 By Yang Kaiyu Emd -->
                        <apex:inputField value="{!la.Loaner_receive_staff_phone__c}" id="Loaner_receive_staff_phone__c"/>
                    </apex:pageBlockSectionItem>
                    <apex:pageBlockSectionItem >
                        &nbsp;
                    </apex:pageBlockSectionItem>
                    <!-- Update 20220318 By Yang Kaiyu Start -->
                    <apex:pageBlockSectionItem id="pc" >
                    <!-- Update 20220318 By Yang Kaiyu End -->
                    <apex:pageBlockSectionItem >
                        <apex:outputLabel value="邮编" for="Post_Code__c"/>
                        <!-- Update 20220318 By Yang Kaiyu Start -->
                        <apex:inputField value="{!la.Post_Code__c}" id="Post_Code__c"/><!--pi-->
                        <!-- Update 20220318 By Yang Kaiyu End -->
                    </apex:pageBlockSectionItem>
                        <apex:inputField value="{!la.Post_Code__c}" id="Post_Code__c"/>
                    </apex:pageBlockSectionItem>
                </apex:pageBlockSection>
                <!-- Update 20220318 By Yang Kaiyu Start -->
                <apex:inputHidden id="AWS_Data_Id__c" value="{!la.AWS_Data_Id__c}"/>
                <apex:inputHidden id="Loaner_Ser_Encrypted__c"  value="{!la.Loaner_Ser_Encrypted__c}"/>
                <apex:inputHidden id="Pos_Code_Encrypted__c" value="{!la.Pos_Code_Encrypted__c}"/>
                <apex:inputHidden id="direct_shippment_address_Encrypted__c" value="{!la.direct_shippment_address_Encrypted__c}"/>
                <apex:inputHidden id="Loaner_receive_staff_phone_Encrypted__c" value="{!la.Loaner_receive_staff_phone_Encrypted__c}"/>
                <input id="page:mainfrom:idSearchSetProduct:Loaner_receive_staff_Encrypted__c" type="hidden" name="page:mainfrom:idSearchSetProduct:Loaner_receive_staff_Encrypted__c" value="{!la.Loaner_receive_staff_Encrypted__c}"/>
                <apex:inputHidden id="Contact__c" value="{!lu.Contact__c}"/>
                <!-- <apex:inputHidden id="lu_AWS_Data_Id__c" value="{!lu.AWS_Data_Id__c}"/>  -->
                <apex:inputHidden id="ContactNumber__c" value="{!lu.ContactNumber__c}"/>
                <apex:inputHidden id="ContactNumber_Encrypted__c" value="{!lu.ContactNumber_Encrypted__c}"/>
                <!-- <input id="page:mainfrom:idSearchSetProduct:Contact__c" type="hidden" name="page:mainfrom:idSearchSetProduct:Contact__c" value="{!lu.Contact__c}"/> -->
                <input id="page:mainfrom:idSearchSetProduct:lu_AWS_Data_Id__c" type="hidden" name="page:mainfrom:idSearchSetProduct:lu_AWS_Data_Id__c" value="{!lu.AWS_Data_Id__c}"/>
                <!-- <input id="page:mainfrom:idSearchSetProduct:ContactNumber__c" type="hidden" name="page:mainfrom:idSearchSetProduct:ContactNumber__c" value="{!lu.ContactNumber__c}"/> -->
                <!-- <input id="page:mainfrom:idSearchSetProduct:ContactNumber_Encrypted__c" type="hidden" name="page:mainfrom:idSearchSetProduct:ContactNumber_Encrypted__c" value="{!lu.ContactNumber_Encrypted__c}"/> -->
                <apex:inputHidden id="con_AWS_Data_Id__c" value="{!con.AWS_Data_Id__c}"/>
                <apex:inputHidden id="con_id" value="{!con.id}"/>
                <!-- Update 20220318 By Yang Kaiyu End -->
                <apex:pageBlockSection title="备注" >
                    <apex:pageBlockSectionItem >
                        <apex:outputLabel value="备注" for="loaner_Remark__c"/>
@@ -601,9 +374,7 @@
                        <apex:inputField value="{!la.DealerOrder_From__c}" id="DealerOrder_From__c"/>
                    </apex:pageBlockSectionItem>  
                </apex:pageBlockSection>
                <!-- Update 20220318 By Yang Kaiyu Start -->
                <!-- <apex:inputHidden id="Loaner_receive_staff_Encrypted__c" value="{!la.Loaner_receive_staff_Encrypted__c}"/> -->
                <!-- Update 20220318 By Yang Kaiyu End -->