From fb04e7c01d119c60632b4298d18fd93f3ccb3d79 Mon Sep 17 00:00:00 2001
From: Li Jun <buli@deloitte.com.cn>
Date: 星期三, 06 四月 2022 10:32:05 +0800
Subject: [PATCH] 20220405DeployProduction

---
 force-app/main/default/pages/StraightBackAddress.page |  258 +++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 186 insertions(+), 72 deletions(-)

diff --git a/force-app/main/default/pages/StraightBackAddress.page b/force-app/main/default/pages/StraightBackAddress.page
index 790dde0..fe52d01 100644
--- a/force-app/main/default/pages/StraightBackAddress.page
+++ b/force-app/main/default/pages/StraightBackAddress.page
@@ -30,6 +30,21 @@
 
         var addressAwsData = {};
 
+        var isBlocking = false;
+        function b(){
+            if (!isBlocking) {
+                blockme();
+                isBlocking = true;
+            }
+        }
+
+        function ub(){
+            if (isBlocking) {
+                unblockUI();
+                isBlocking = false;
+            }
+        }
+        
         //鏇挎崲vlookup
         var newSearchContactWindow = null;
         window.onload = function () {
@@ -60,23 +75,38 @@
                 document.getElementById('allPage:allForm:oppBlock2:UpdAddressId:ZipCode__c').value=''
                 document.getElementById('allPage:allForm:oppBlock2:UpdAddressId:Detailed_Address__c').value=''
             }
+
+            //{!IF(isSearchBtn,'searchBtnJs()',false)};
+            let b1= false;
+            let b2= false;
+
+            let Foo = function(){
+                if (b1 && b2 && !b) {
+                    window.location.reload();
+                }
+            }
+
             AWSService.post(staticResource.transactionUrl, JSON.stringify({
-                    "txId":add_aws_result.txId,
+                "txId":add_aws_result.txId,
+                "isSuccess":b ? 0 : 1
+            }), function(result){
+                b1 = true;
+                Foo();
+            }, staticResource.token);
+
+            if(isAddCon){
+                AWSService.post(staticResourceContact.transactionUrl, JSON.stringify({
+                    "txId":con_aws_result.txId,
                     "isSuccess":b ? 0 : 1
                 }), function(result){
-                    if(isAddCon){
-                        AWSService.post(staticResourceContact.transactionUrl, JSON.stringify({
-                            "txId":con_aws_result.txId,
-                            "isSuccess":b ? 0 : 1
-                        }), function(result){
-                            if(!b)
-                            window.location.reload();
-                        }, staticResourceContact.token);
-                    }else{
-                        if(!b)
-                        window.location.reload();
-                    }
-                }, staticResource.token);
+                    b2 = true;
+                    Foo();
+                }, staticResourceContact.token);
+            }else{
+                b2 = true;
+                Foo();
+            }
+                
             
         }
 
@@ -136,7 +166,7 @@
         }
         //淇濆瓨鏂规硶
         function savaJs(){
-            //blockme();
+            //b();
             if(document.getElementById('allPage:allForm:oppBlock2:UpdAddressId:Create_Contacts__c').value != ''){
                 isAddCon = true;
             }
@@ -149,7 +179,7 @@
                 document.getElementById("errorMsg").innerHTML = '<strong>銆愯仈绯讳汉銆戝拰銆愯仈绯讳汉锛堟柊寤猴級銆戜笉鑳藉悓鏃舵湁鍊硷紒</strong> ';
                 return;
             }
-            blockme();
+            b();
             console.log('{!insUpdData}')
             if(document.getElementById("allPage:allForm:oppBlock2:UpdAddressId:Create_Contacts__c").value){
                 //new contact
@@ -264,7 +294,7 @@
             }
         }
         function searchBtnJs(){
-            blockme();
+            b();
             var addressDataIds = '';
             //鏌ヨ鍦板潃
             if(document.getElementById('allPage:allForm:searchBlock:txtAddressId').value != ''){
@@ -285,7 +315,9 @@
                         }
                     };
                     var addressName = document.getElementById('allPage:allForm:searchBlock:txtAddressId').value;
-                    AWSService.queryAddress('https://sfpi-mebg-test.olympuschina.com/api/address/search',addressName.trim(),queryBack,staticResource.token);
+                    AWSService.post(staticResource.searchUrl,{
+                        detailedAddress:addressName.trim()
+                    },queryBack,staticResource.token);
                 }).then(function(data){
                     console.log('data = '+data)
                     console.log('addressDataIds = '+addressDataIds)
@@ -333,19 +365,22 @@
 
         
 
-        function adoptSaveJs(address){
+        function adoptSaveJs(address,isUpload){
             //鐢变簬瑕佹妸閲囩敤鏃堕棿璁板綍鍒板湴鍧�琛ㄤ腑锛屾墍浠ユ柊寤轰竴涓湴鍧�瀵硅薄
             // Address__c DatetimeUpdate = new Address__c();
             // DatetimeUpdate = tableData[i].address;
             //璇︾粏鍦板潃
-            let address_str = address.Detailed_Address__c.trim();addressAwsData
+            let address_str = address.Detailed_Address__c.trim();
+            if (addressAwsData.hasOwnProperty(address.AWS_Data_Id__c)) {
+                address_str = addressAwsData[address.AWS_Data_Id__c].detailedAddress;
+            }
             let cityName = '';//甯�
             //甯備笉涓虹┖锛屽洜涓鸿浣跨敤 __r.Name  濡傛灉涓虹┖锛屼細鎶ラ敊
             if(address.City__c){
                 cityName = address.City__r.Name.trim();
                 //鐪� 鍚屼笂
                 if(address.Province__c){
-                    let ProvinceCity = address.Province__r.name.trim()+cityName;
+                    let ProvinceCity = address.Province__r.Name.trim()+cityName;
                     //闃叉璇︾粏鍦板潃閲岄潰甯︾潃鐪佷唤鍜屽競
                     if(address_str.indexOf(ProvinceCity) < 0){
                         address_str = ProvinceCity + address_str;
@@ -357,6 +392,11 @@
             if(address.Contacts__c){
                 contactsName = address.Contacts__r.Name;
             }
+
+            if (addressAwsData.hasOwnProperty(address.Contacts__r.AWS_Data_Id__c)) {
+                contactsName = addressAwsData[address.Contacts__r.AWS_Data_Id__c].lastName;
+            }
+
             //瀹㈡埛
             let ContactPerson = '';
             if(address.Customer__c){
@@ -370,28 +410,46 @@
                 rc.address_ZipCode__c = address.ZipCode__c;
                 rc.address_City__c = cityName;
                 rc.address_Contacts_Name__c = ContactPerson;
+                let AddressTypeIndex = {!AddressTypeIndex};
                 //isUpload锛氭槸鍚︿笂浼燬AP  FSEApplyForRepairTime锛歋AP淇悊鐢宠鏃堕棿
-                if({!isUpload} && pc.SAP_Transfer_time__c){
+                if(isUpload && '{!pc.SAP_Transfer_time__c}'){
                     rc.Address_type__c = 'X';
-                    rc.Address_Type_Index__c = rc.Address_Type_Index__c+1;
+                    rc.Address_Type_Index__c = AddressTypeIndex+1;
                 }
                 rc.address_Telephone__c=address.Telephone__c;
                 rc.Detailed_Address__c=address_str;
                 
+                if (addressAwsData.hasOwnProperty(address.AWS_Data_Id__c)) {
+                    rc.address_Telephone__c=addressAwsData[address.AWS_Data_Id__c].telephone;
+                    rc.address_ZipCode__c=addressAwsData[address.AWS_Data_Id__c].zipCode;
+                }
+
                 let UpdateRepair = function(callback){
                     AWSService.post(staticResourceRepair.updateUrl,[{
                         dataId:'{!pc.AWS_Data_Id__c}',
                         addressContactsName:rc.address_Contacts_Name__c,
+                        addressContacts:rc.address_Contacts__c,
+                        addressTelephone:rc.address_Telephone__c,
+                        addressZipCode:rc.address_ZipCode__c,
                         detailedAddress:rc.Detailed_Address__c
                     }],function(data){
                         if(data && data.object){
                             console.log(data);
-                            rc.address_Contacts__c = data.object[0].addressContactsName;
+                            rc.address_Contacts_Name__c = data.object[0].addressContactsName;
+                            rc.Address_Contacts_Name_Encrypt__c = data.object[0].addressContactsNameEncrypt;
+                            rc.address_Contacts__c = data.object[0].addressContacts;
+                            rc.Address_Contacts_Encrypt__c = data.object[0].addressContactsEncrypt;
+                            rc.address_Telephone__c = data.object[0].addressTelephone;
+                            rc.Address_Telephone_Encrypt__c = data.object[0].addressTelephoneEncrypt;
+                            rc.address_ZipCode__c = data.object[0].addressZipCode;
+                            rc.Address_ZipCode_Encrypt__c = data.object[0].addressZipCodeEncrypt;
                             rc.Detailed_Address__c = data.object[0].detailedAddress;
-                            UpdateSobject(staticResourceRepair,data.txId,callback);
+                            rc.Detailed_Address_Encrypt__c = data.object[0].detailedAddressEncrypt;
+
+                            UpdateSobject(staticResourceRepair,rc,data.txId,callback);
                         }else{
-                            alert('鏇存柊淇悊澶辫触');
-                            unblockUI();
+                            alert('AWS鏇存柊淇悊澶辫触');
+                            ub();
                         }
                     },staticResourceRepair.token)
                 }
@@ -399,13 +457,17 @@
                 //淇濆瓨鏁版嵁鍒颁繚鏈夎澶囪〃涓�
                 let UpdateAsset = function(){
                     let ast = new sforce.SObject('Asset');
-                    ast.Id = pc.Delivered_Product__c,
+                    ast.Id = '{!pc.Delivered_Product__c}',
                     ast.address_Contacts__c= contactsName,
                     ast.address_ZipCode__c = address.ZipCode__c,
                     ast.address_City__c = cityName,
                     ast.address_Telephone__c = address.Telephone__c,
                     ast.address_Contacts_Name__c = ContactPerson,
                     ast.Detailed_Address__c= address_str
+                    if (addressAwsData.hasOwnProperty(address.AWS_Data_Id__c)) {
+                        ast.address_ZipCode__c=addressAwsData[address.AWS_Data_Id__c].zipCode;
+                        ast.address_Telephone__c=addressAwsData[address.AWS_Data_Id__c].telephone;
+                    }
                     let result = sforce.connection.update([ast]);
                     let b = result[0].getBoolean('success');
                     return b;
@@ -422,7 +484,29 @@
                     return b;
                 }
                 
-                UpdateAddress
+                b();
+                UpdateRepair(function(data){
+                    if (data.isSuccess) {
+                       let b = UpdateAsset();
+                       if (b) {
+                           b = UpdateAddress();
+                           if (b) {
+                               window.location.href = '/{!RepairId}';
+                           }else{
+                                ub();
+                                alert('閲囩敤澶辫触');
+                           }
+                       }else{
+                                ub();
+                                alert('閲囩敤澶辫触');
+                           }
+                    }else{
+                                
+                        ub();
+                        alert('SF鏇存柊淇悊澶辫触');
+                    }
+                })
+                
                 //椤甸潰閲嶅畾鍚�
                 //return redirectPag();
             }catch( e){
@@ -435,19 +519,19 @@
             
             //鍒ゆ柇褰撳墠淇悊鍗曟槸鍚﹀凡缁忕敵璇蜂慨鐞�
             var uploadTime = '{!FSEApplyForRepairTime}';
-            if(uploadTime != 'null'){
+            if(uploadTime != 'null' && uploadTime){
                 var prompt  = '鐢变簬褰撳墠淇悊鍗曞凡鐢宠淇悊锛岃闂槸鍚﹂噰鐢ㄥ苟涓婁紶鏁版嵁鍒癝AP锛�';
                 if(confirm(prompt)){
-                    adoptSaveJs(address);
+                    adoptSaveJs(address,true);
                 }
             }else{
-                adoptSaveJs(address);
+                adoptSaveJs(address,false);
             }
 
         }
        /* function onAdoptJs(){
             if(checkedTrue != null){
-                blockme();
+                b();
                 var lawtable = document.getElementById("tableHeader_L");//鑾峰彇id涓簍ableHeader_L鐨則able
                 var rows = lawtable.rows;//鑾峰彇鎵�鏈夎 
                 var InputObj = rows[checkedTrue].cells[0].getElementsByTagName("input")[0];
@@ -565,7 +649,7 @@
         }
         //鏌ヨ鏁忔劅瀛楁
         function queryPI(){
-            //blockme();
+            //b();
             tableDataStr = JSON.parse(document.getElementById('allPage:allForm:tableValueFrontEnd').value);
             PIData = {};
             contactDataIds = [];
@@ -573,7 +657,7 @@
             q1().then(function(data){
                         return q2(data);
                     })
-            //unblockUI();
+            //ub();
         }
         
 
@@ -679,34 +763,86 @@
         }
         //2022 02 28 寮犲崕寤� display PI Data end
     </script>
+    <script type="text/javascript">
+        
+        function DecryptAddress(){
+            let arr1 = [];let a1=false;
+            let arr2 = [];let a2=false;
+            j$('td.oraddress').each(function(i,e){
+               let did = j$(e).attr('address-data-id');
+               if (did) {
+                   arr1.push(did);
+               }
+
+               did = j$(e).attr('contact-data-id');
+               if (did) {
+                   arr2.push(did);
+               }
+            })
+            
+            if (arr1.length) {
+                b();
+                AWSService.post(staticResource.searchUrl,{
+                    dataIds:arr1
+                },function(data){
+                    ub();
+                    if(data && data.object && data.object.length > 0){
+                        for (let di in data.object) {
+                            if (data.object[di] && data.object[di].dataId) {
+                                addressAwsData[data.object[di].dataId] = data.object[di];
+                            }
+                        }
+                        
+                    }
+                },staticResource.token)
+            }
+
+            if (arr2.length) {
+                b();
+                AWSService.post(staticResourceContact.searchUrl,{
+                    dataIds:arr2
+                },function(data){
+                    ub();
+                    if(data && data.object && data.object.length > 0){
+                        for (let di in data.object) {
+                            if (data.object[di] && data.object[di].dataId) {
+                                addressAwsData[data.object[di].dataId] = data.object[di];
+                            }
+                        }
+                        
+                    }
+                },staticResourceContact.token)
+            }
+        }
+    </script>
     <apex:form id="allForm">
         <apex:inputHidden id="tableValueFrontEnd" value="{!tableDataStr}"/>
         <apex:inputHidden value="{!contactId}" id="contactId"/>
         <apex:inputHidden value="{!insUpdDataStr}" id="insUpdDataStr"/>
         <div id="tab01">            
             <!-- 椤甸潰鏁版嵁鍒濆鍖栨柟娉� -->
-            <apex:actionFunction name="init" action="{!init}" rerender="oppBlock1,message,checEventFrame" onComplete="unblockUI();"></apex:actionFunction>
+            <apex:actionFunction name="init" action="{!init}" rerender="oppBlock1,message,checEventFrame" onComplete="ub();"></apex:actionFunction>
             <!-- 妫�绱㈡暟鎹煡璇㈡柟娉� -->
-            <apex:actionFunction name="searchBtn" action="{!searchBtn}" rerender="oppBlock1,message,checEventFrame,tableValueFrontEnd" onComplete="unblockUI();">
+            <apex:actionFunction name="searchBtn" action="{!searchBtn}" rerender="oppBlock1,message,checEventFrame,tableValueFrontEnd" onComplete="ub();DecryptAddress();">
                 <apex:param name="addressDataIds" assignTo="{!addressDataIds}" value=""></apex:param>
             </apex:actionFunction>
             <!-- 閲囩敤鏂规硶 -->
-            <apex:actionFunction name="adoptSave" action="{!adoptSave}" rerender="oppBlock2,message" onComplete="unblockUI();">
+            <apex:actionFunction name="adoptSave" action="{!adoptSave}" rerender="oppBlock2,message" onComplete="ub();">
                 <apex:param name="adoptId" assignTo="{!adoptId}" value="" />
                 <apex:param name="isUpload" assignTo="{!isUpload}" value="" />
             </apex:actionFunction>
             <!-- 淇濆瓨鍜屼慨鏀规柟娉� -->
-            <apex:actionFunction name="save" action="{!save}" rerender="oppBlock2,message" onComplete="unblockUI();{!IF(isSearchBtn,'searchBtnJs()',false)};Trans()"></apex:actionFunction>
+            <apex:actionFunction name="save" action="{!save}" rerender="oppBlock2,message" onComplete="ub();Trans()"></apex:actionFunction>
             <!-- 鐐瑰嚮淇敼鎸夐挳鑾峰彇淇敼鏁版嵁鏂规硶 -->
-            <apex:actionFunction name="onEditor" action="{!onEditor}" rerender="oppBlock2,checEventFrame,insUpdDataStr" onComplete="decrypt();unblockUI();">
+            <apex:actionFunction name="onEditor" action="{!onEditor}" rerender="oppBlock2,checEventFrame,insUpdDataStr" onComplete="decrypt();ub();">
                 <apex:param name="UpdId" assignTo="{!UpdId}" value="" />
             </apex:actionFunction>
             <!-- 澶嶅埗鏂规硶 -->
-            <apex:actionFunction name="onCopy" action="{!onCopy}" rerender="oppBlock2,checEventFrame," onComplete="decrypt();unblockUI();">
+            <apex:actionFunction name="onCopy" action="{!onCopy}" rerender="oppBlock2,checEventFrame," onComplete="decrypt();ub();">
                 <apex:param name="UpdId" assignTo="{!UpdId}" value="" />
             </apex:actionFunction>
             <!-- 杩斿洖鐖堕〉闈� -->
-            <apex:actionFunction name="redirectPag" action="{!redirectPag}" rerender="true" onComplete="unblockUI();"></apex:actionFunction>
+            <apex:actionFunction name="redirectPag" action="{!redirectPag}" rerender="true" onComplete="ub();"></apex:actionFunction>
         <apex:pageBlock id="searchBlock" tabStyle="Report">
             <table style="border-bottom-width: 0px; font-size:12px;width:100%">
                 <tr>
@@ -732,7 +868,7 @@
                             </a>
                         </td>
                         <td style="width: 20%">
-                            <apex:commandButton onclick="searchBtnJs();return false;"  rendered="true" value="妫�绱�" style="width:60px;"  onComplete="unblockUI();"/>
+                            <apex:commandButton onclick="searchBtnJs();return false;"  rendered="true" value="妫�绱�" style="width:60px;"  onComplete=""/>
                             &nbsp;&nbsp;
                             <!-- <apex:commandButton onclick="onAdoptJs();return false;"  rendered="true" value="閲囩敤" style="width:60px;background:#98c1fbf7"/>
                             &nbsp;&nbsp; -->
@@ -786,7 +922,7 @@
                                         <td align="left" class="Customer__c" style="vertical-align: inherit;border-width: 0px 1px 1px 0px;">
                                             <apex:outputfield value="{!or.address.Customer__c}" />
                                         </td>
-                                        <td align="left" class="address" style="vertical-align: inherit;border-width: 0px 1px 1px 0px;" aws-data-id="{!or.address.AWS_Data_Id__c}">
+                                        <td align="left" class="oraddress" style="vertical-align: inherit;border-width: 0px 1px 1px 0px;" address-data-id="{!or.address.AWS_Data_Id__c}" contact-data-id="{!or.address.Contacts__r.AWS_Data_Id__c}">
                                             <!-- <apex:outputfield value="{!or.address.Contacts__c}" id="{!or.address.Contacts__c}_{!or.address.Id}"/> -->
                                             <a href="#" id="{!or.address.Id}" onmouseover="showPIDiv('{!or.address.Id}')" onmouseout="hidePIDiv('{!or.address.Id}')"  aws-data-id="{!or.address.Contacts__r.AWS_Data_Id__c}">{!or.address.Contacts__r.Name}</a>
                                         </td>
@@ -805,9 +941,9 @@
                                         <td align="left" style="vertical-align: inherit;border-width: 0px 1px 1px 0px;">
                                             <apex:outputText value="{!or.address.Detailed_Address__c}" />
                                         </td>
-                                        <!-- <td align="center" style="vertical-align: inherit;width:30px;">
+                                        <td align="center" style="vertical-align: inherit;width:30px;">
                                             <apex:commandButton value=" 缂栬緫 " onclick="onEditorJs('{!or.address.id}');return false;" style="background:#98c1fbf7;display:{!or.canEdit};"/>
-                                        </td> -->
+                                        </td>
                                         <td align="center" style="vertical-align: inherit;width:30px;">
                                             <apex:commandButton value=" 澶嶅埗 " onclick="onCopyJs('{!or.address.id}');return false;" style="background: #98c1fbf7;display:{!or.canCopy};"/>
                                         </td>
@@ -873,34 +1009,12 @@
     </apex:form>
     <apex:outputPanel id="checEventFrame">
       <script type="text/javascript">
+            
+        
             j$("select option[value='鍔炰簨澶�']")[1].remove();
-            let arr = [];
-            j$('td.address').each(function(i,e){
-               let did = j$(e).attr('aws-data-id');
-               if (did) {
-                   arr.push(did);
-               }
-            })
-            if (arr.length) {
-                blockme();
-                AWSService.post(staticResource.searchUrl,{
-                    dataIds:arr
-                },function(data){
-                    unblockUI();
-                    if(data && data.object && data.object.length > 0){
-                        for (let di in data.object) {
-                            if (data.object[di] && data.object[di].dataId) {
-                                addressAwsData[data.object[di].dataId] = data.object[di];
-                            }
-                        }
-                        
-                    }
-                },staticResource.token)
-            }
+            DecryptAddress();
             
         </script>
     </apex:outputPanel>
-    <script type="javascript/text">
-
-    </script>
+    
 </apex:page>
\ No newline at end of file

--
Gitblit v1.9.1