buli
2023-07-05 af7b716a60d889acea95560abba0e46eee008b8f
force-app/main/default/pages/StraightBackAddress.page
@@ -5,1109 +5,1333 @@
  @last modified on  : 03-30-2022
  @last modified by  : ChangeMeIn@UserSettingsUnder.SFDoc
-->
<apex:page controller="StraightBackAddressController"  action="{!init}"  showHeader="false"   sidebar="true" id="allPage"  title="直返收货地址">
    <apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}"/>
    <apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}"/>
    <apex:includeScript value="{!URLFOR($Resource.PleaseWaitDialog)}"/>
    <apex:includeScript value="{!URLFOR($Resource.CommonUtilJs)}"/>
    <apex:includeScript value="{! URLFOR($Resource.AWSService, 'AWSService.js') }" />
    <apex:includeScript value="{!URLFOR($Resource.connection20)}"/>
    <apex:includeScript value="{!URLFOR($Resource.apex20)}"/>
    <script type="text/javascript">
        var checkedTrue;
        var tableDataStr = '';
        var staticResource = JSON.parse('{!staticResource}');
        var staticResourceContact = JSON.parse('{!staticResourceContact}');
        var staticResourceRepair = JSON.parse('{!staticResourceRepair}');
        var PIData = {};
        var contactDataIds = [];
        var ObjIdDecrypt = '';
        var closeField = '';
        var add_aws_result = '';
        var con_aws_result = '';
        var isAddCon = false;
        var contactInfoStr = '';
<apex:page
  controller="StraightBackAddressController"
  action="{!init}"
  showHeader="false"
  sidebar="true"
  id="allPage"
  title="直返收货地址"
  lightningStylesheets="true"
>
  <apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}" />
  <apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}" />
  <apex:includeScript value="{!URLFOR($Resource.PleaseWaitDialog)}" />
  <apex:includeScript value="{!URLFOR($Resource.CommonUtilJs)}" />
  <apex:includeScript
    value="{! URLFOR($Resource.AWSService, 'AWSService.js') }"
  />
  <apex:includeScript value="{!URLFOR($Resource.connection20)}" />
  <apex:includeScript value="{!URLFOR($Resource.apex20)}" />
  <script type="text/javascript">
     var checkedTrue;
     var tableDataStr = '';
     var staticResource = JSON.parse('{!staticResource}');
     var staticResourceContact = JSON.parse('{!staticResourceContact}');
     var staticResourceRepair = JSON.parse('{!staticResourceRepair}');
        var addressAwsData = {};
     var PIData = {};
     var contactDataIds = [];
     var ObjIdDecrypt = '';
     var closeField = '';
     var add_aws_result = '';
     var con_aws_result = '';
     var isAddCon = false;
     var contactInfoStr = '';
        var isBlocking = false;
     var addressAwsData = {};
        var contactNamePlaintext = '';
        var telePhonePlaintext = '';
        var zipCodePlaintext = '';
        var detailedAddressPlaintext = '';
        function b(){
            if (!isBlocking) {
                blockme();
                isBlocking = true;
            }
        }
     var isBlocking = false;
        function ub(){
            if (isBlocking) {
                unblockUI();
                isBlocking = false;
            }
        }
        //替换vlookup
        var newSearchContactWindow = null;
        window.onload = function () {
            document.getElementById("tab01").style.height  =  screen.availHeight*0.07+'px';
            document.getElementById("tab02").style.height  =  screen.availHeight*0.53+'px';
            document.getElementById("tab03").style.height  =  screen.availHeight*0.25+'px';
        }
         //编辑按钮
         function onEditorJs(ObjId){
            ObjIdDecrypt = ObjId;
            onEditor(ObjId);
     var contactNamePlaintext = '';
     var telePhonePlaintext = '';
     var zipCodePlaintext = '';
     var detailedAddressPlaintext = '';
     function b(){
         if (!isBlocking) {
             blockme();
             isBlocking = true;
         }
        //复制按钮
        function onCopyJs(ObjId){
            ObjIdDecrypt = ObjId;
            if(ObjId == ''){
                onCopy('空');//设置为空,便于后端做数据处理
            }else{
                onCopy(ObjId);
            }
        }
        //aws 确认
        function Trans(){
            let b = HasError();
            if(b){
                //还原联系人电话地址邮编
                document.getElementById('allPage:allForm:oppBlock2:UpdAddressId:ContactName__c').value = contactNamePlaintext;
                document.getElementById('allPage:allForm:oppBlock2:UpdAddressId:Telephone__c').value = telePhonePlaintext;
                document.getElementById('allPage:allForm:oppBlock2:UpdAddressId:ZipCode__c').value = zipCodePlaintext
                document.getElementById('allPage:allForm:oppBlock2:UpdAddressId:Detailed_Address__c').value = detailedAddressPlaintext
                return
            }
     }
            //{!IF(isSearchBtn,'searchBtnJs()',false)};
            let b1= false;
            let b2= false;
     function ub(){
         if (isBlocking) {
             unblockUI();
             isBlocking = false;
         }
     }
            let Foo = function(){
                // if (b1 && b2 && !b) {
                //     window.location.reload();
                // }
                if (b1 && !b) {
                    window.location.reload();
                }
            }
     //替换vlookup
     var newSearchContactWindow = null;
     window.onload = function () {
         document.getElementById("tab01").style.height  =  screen.availHeight*0.07+'px';
         document.getElementById("tab02").style.height  =  screen.availHeight*0.53+'px';
         document.getElementById("tab03").style.height  =  screen.availHeight*0.25+'px';
     }
      //编辑按钮
      function onEditorJs(ObjId){
         ObjIdDecrypt = ObjId;
         onEditor(ObjId);
      }
     //复制按钮
     function onCopyJs(ObjId){
         ObjIdDecrypt = ObjId;
         if(ObjId == ''){
             onCopy('空');//设置为空,便于后端做数据处理
         }else{
             onCopy(ObjId);
         }
     }
     //aws 确认
     function Trans(){
         let b = HasError();
         if(b){
             //还原联系人电话地址邮编
             document.getElementById('allPage:allForm:oppBlock2:UpdAddressId:ContactName__c').value = contactNamePlaintext;
             document.getElementById('allPage:allForm:oppBlock2:UpdAddressId:Telephone__c').value = telePhonePlaintext;
             document.getElementById('allPage:allForm:oppBlock2:UpdAddressId:ZipCode__c').value = zipCodePlaintext
             document.getElementById('allPage:allForm:oppBlock2:UpdAddressId:Detailed_Address__c').value = detailedAddressPlaintext
             return
         }
            AWSService.post(staticResource.transactionUrl, JSON.stringify({
                "txId":add_aws_result.txId,
                "isSuccess":b ? 0 : 1
            }), function(result){
                b1 = true;
                Foo();
            }, staticResource.token);
         //{!IF(isSearchBtn,'searchBtnJs()',false)};
         let b1= false;
         let b2= false;
            //不会再新建联系人无需确认事务
            // if(isAddCon){
            //     AWSService.post(staticResourceContact.transactionUrl, JSON.stringify({
            //         "txId":con_aws_result.txId,
            //         "isSuccess":b ? 0 : 1
            //     }), function(result){
            //         b2 = true;
            //         Foo();
            //     }, staticResourceContact.token);
            // }else{
            //     b2 = true;
            //     Foo();
            // }
        }
         let Foo = function(){
             // if (b1 && b2 && !b) {
             //     window.location.reload();
             // }
             if (b1 && !b) {
                 window.location.reload();
             }
         }
        function HasError(){
            // if (IsAddmessage) {
            //     return true;
            // }
            let e = document.getElementById("allPage:allForm:message");
            if (!e) {
                return false;
            }
         AWSService.post(staticResource.transactionUrl, JSON.stringify({
             "txId":add_aws_result.txId,
             "isSuccess":b ? 0 : 1
         }), function(result){
             b1 = true;
             Foo();
         }, staticResource.token);
            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;
                        }
                    }
                }
            }
         //不会再新建联系人无需确认事务
         // if(isAddCon){
         //     AWSService.post(staticResourceContact.transactionUrl, JSON.stringify({
         //         "txId":con_aws_result.txId,
         //         "isSuccess":b ? 0 : 1
         //     }), function(result){
         //         b2 = true;
         //         Foo();
         //     }, staticResourceContact.token);
         // }else{
         //     b2 = true;
         //     Foo();
         // }
            return false;
        }
        //解密
        function decrypt(){
            if(PIData[ObjIdDecrypt] == null){
                // document.getElementById('allPage:allForm:oppBlock2:UpdAddressId:Contacts__c').value = '';
                //document.getElementById('allPage:allForm:oppBlock2:UpdAddressId:contactIdValue').value = '000000000000000';
                document.getElementById('allPage:allForm:oppBlock2:UpdAddressId:ContactName__c').value = '';
                document.getElementById('allPage:allForm:oppBlock2:UpdAddressId:Telephone__c').value = '';
                document.getElementById('allPage:allForm:oppBlock2:UpdAddressId:ZipCode__c').value = '';
                document.getElementById('allPage:allForm:oppBlock2:UpdAddressId:Detailed_Address__c').value = '';
            }else{
                // document.getElementById('allPage:allForm:oppBlock2:UpdAddressId:Contacts__c').value = PIData[ObjIdDecrypt].lastName!=null?PIData[ObjIdDecrypt].lastName:'';
                document.getElementById('allPage:allForm:oppBlock2:UpdAddressId:ContactName__c').value = PIData[ObjIdDecrypt].lastName;
                document.getElementById('allPage:allForm:oppBlock2:UpdAddressId:Telephone__c').value = PIData[ObjIdDecrypt].telephone;
                document.getElementById('allPage:allForm:oppBlock2:UpdAddressId:ZipCode__c').value = PIData[ObjIdDecrypt].zipCode;
                document.getElementById('allPage:allForm:oppBlock2:UpdAddressId:Detailed_Address__c').value = PIData[ObjIdDecrypt].detailedAddress;
            }
        }
        function getPIPayload() {
            let leadPayloadList = [];
            var telePhone = document.getElementById('allPage:allForm:oppBlock2:UpdAddressId:Telephone__c').value;
            var zipCode = document.getElementById('allPage:allForm:oppBlock2:UpdAddressId:ZipCode__c').value;
            var detailedAddress = document.getElementById('allPage:allForm:oppBlock2:UpdAddressId:Detailed_Address__c').value;
            let leadPIData = new Object();
            leadPIData.telePhone = telePhone;
            leadPIData.zipCode = zipCode;
            leadPIData.detailedAddress = detailedAddress;
            leadPIData.sfRecordId = '';
            leadPayloadList.push(leadPIData);
            console.log(JSON.stringify(leadPayloadList));
            return JSON.stringify(leadPayloadList);
        }
        //WLIG-CCX4BB 【委托】修理直返收货地址功能改造 thh 20220513 start
        //保存方法
        function savaJs(){
            //b();
            //不会新建联系人,所以这里不需要将isAddCon设置为true
            // if(document.getElementById('allPage:allForm:oppBlock2:UpdAddressId:ContactName__c').value != ''){
            //     isAddCon = true;
            // }
            document.getElementById("errorMsg").innerHTML = '';
            if(!document.getElementById("allPage:allForm:oppBlock2:UpdAddressId:ContactName__c").value){
                document.getElementById("errorMsg").innerHTML = '<strong>【联系人】不能为空!</strong> ';
                return;
            }
            // else if(document.getElementById("allPage:allForm:oppBlock2:UpdAddressId:Contacts__c").value&&document.getElementById("allPage:allForm:oppBlock2:UpdAddressId:Create_Contacts__c").value){
            //     document.getElementById("errorMsg").innerHTML = '<strong>【联系人】和【联系人(新建)】不能同时有值!</strong> ';
            //     return;
            // }
            b();
            console.log('{!insUpdData}')
            // if(document.getElementById("allPage:allForm:oppBlock2:UpdAddressId:Create_Contacts__c").value){
            //     //new contact
            //     ProcessPI({},GetEditObj('contact'),'contact',function(){
            //         //new address
            //         ProcessPI({},
            //         GetEditObj('address'),'address',function(){
            //             save();
            //         });
            //     });
            // }else{
            //new address
            ProcessPI({},GetEditObj('address'),'address',function(){
                save();
            });
            // }
        }
        //WLIG-CCX4BB 【委托】修理直返收货地址功能改造 thh 20220513 end
     }
        function ProcessPI(sobjJson, payloadForNewPI,type,callback) {
            var sr = ''
            // if(type == 'contact'){
            //     sr = staticResourceContact
            // }
            if(type == 'address'){
                sr = staticResource
            }
            let url = sr.newUrl
            /*if (now_edit_id) {
                url = sr.updateUrl
            }*/
            AWSService.post(url, payloadForNewPI, function(result){
                // if(type == 'contact'){
                //     con_aws_result = result
                // }
                if(type == 'address'){
                    add_aws_result = result
                }
                SetEditObj(type);
                if(callback){
                    callback();
                }
            }, sr.token);
        }
        function SetEditObj(type){
            let obj = GetAWSResultObj(type);
            if(obj){
                // if(type=='contact'){
                //     document.getElementById("allPage:allForm:oppBlock2:Con_AWS_Data_Id__c").value      = obj.dataId;
                //     document.getElementById("allPage:allForm:oppBlock2:UpdAddressId:ContactName__c").value      = obj.lastName;
                //     document.getElementById("allPage:allForm:oppBlock2:LastName_Encrypted__c").value   = obj.lastNameEncrypt;
                // }
                if(type=='address'){
                    document.getElementById("allPage:allForm:oppBlock2:Add_AWS_Data_Id__c").value              = obj.dataId;
                    document.getElementById('allPage:allForm:oppBlock2:UpdAddressId:ContactName__c').value = obj.contactName;
                    //document.getElementById('allPage:allForm:oppBlock2:ContactName_Encrypted__c').value = obj.contactNameEncrypt;   //zhj 新方案改造 2022-12-05
                    document.getElementById("allPage:allForm:oppBlock2:UpdAddressId:Telephone__c").value                    = obj.telephone;
                    //document.getElementById("allPage:allForm:oppBlock2:Telephone_Encrypted__c").value          = obj.telephoneEncrypt;    //zhj 新方案改造 2022-12-05
                    document.getElementById("allPage:allForm:oppBlock2:UpdAddressId:ZipCode__c").value                      = obj.zipCode;
                    //document.getElementById("allPage:allForm:oppBlock2:ZipCode_Encrypted__c").value            = obj.zipCodeEncrypt;  //zhj 新方案改造 2022-12-05
                    document.getElementById("allPage:allForm:oppBlock2:UpdAddressId:Detailed_Address__c").value             = obj.detailedAddress;
                    //document.getElementById("allPage:allForm:oppBlock2:Detailed_Address_Encrypted__c").value   = obj.detailedAddressEncrypt;  //zhj 新方案改造 2022-12-05
     function HasError(){
         // if (IsAddmessage) {
         //     return true;
         // }
         let e = document.getElementById("allPage:allForm:message");
         if (!e) {
             return false;
         }
                }
            }
        }
        function GetAWSResultObj(type){
            // if(type == 'contact'){
            //     if(con_aws_result && con_aws_result.object && con_aws_result.object.length > 0){
            //         return con_aws_result.object[0];
            //     }
            // }
            if(type == 'address'){
                if(add_aws_result && add_aws_result.object && add_aws_result.object.length > 0){
                    return add_aws_result.object[0];
                }
            }
            return null;
        }
         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;
                     }
                 }
        function GetEditObj(type){
            // if(type=='contact'){
            //     //new contact
            //     return JSON.stringify([{
            //         lastName : document.getElementById("allPage:allForm:oppBlock2:UpdAddressId:ContactName__c").value,
            //         dataId : document.getElementById("allPage:allForm:oppBlock2:Con_AWS_Data_Id__c").value,
            //     }]);
            // }
            contactNamePlaintext = document.getElementById("allPage:allForm:oppBlock2:UpdAddressId:ContactName__c").value;
            telePhonePlaintext = document.getElementById("allPage:allForm:oppBlock2:UpdAddressId:Telephone__c").value;
            zipCodePlaintext = document.getElementById("allPage:allForm:oppBlock2:UpdAddressId:ZipCode__c").value
            detailedAddressPlaintext = document.getElementById("allPage:allForm:oppBlock2:UpdAddressId:Detailed_Address__c").value;
            if(type == 'address'){
                //new address
                return JSON.stringify([{
                    dataId : document.getElementById("allPage:allForm:oppBlock2:Add_AWS_Data_Id__c").value,
                    contactName : document.getElementById("allPage:allForm:oppBlock2:UpdAddressId:ContactName__c").value,
                    telephone : document.getElementById("allPage:allForm:oppBlock2:UpdAddressId:Telephone__c").value,
                    zipCode : document.getElementById("allPage:allForm:oppBlock2:UpdAddressId:ZipCode__c").value,
                    detailedAddress : document.getElementById("allPage:allForm:oppBlock2:UpdAddressId:Detailed_Address__c").value,
                }]);
            }
        }
             }
        //复选框选中触发事件
        //obj  当前对象   checkIndex  当前点击的第几行
        function onCheckBoxJd(obj,checkIndex){
            //如果为true,那么其他的所有复选框必须为不选择状态
            if(obj.checked){
                checkedTrue = checkIndex;
                var lawtable = document.getElementById("tableHeader_L");//获取id为tableHeader_L的table
                var rows = lawtable.rows;//获取所有行
                for(var i=1; i < rows.length; i++){
                    var InputObj = rows[i].cells[0].getElementsByTagName("input")[0];
                    if(obj != InputObj){
                        InputObj.checked = false;
                    }
                }
            }else{
                checkedTrue = null;
            }
        }
        function searchBtnJs(){
            b();
            var addressDataIds = '';
            //查询地址
            if(document.getElementById('allPage:allForm:searchBlock:txtAddressId').value != ''){
                //发送aws请求,然后再发送给controller
                new Promise(function(resolve, reject){
                    let queryBack = function queryBack(result){
                        if(result.object==null || result.object.length==0){
                            searchBtn('\''+addressName+'\'');
                            return
         }
         return false;
     }
     //解密
     function decrypt(){
         if(PIData[ObjIdDecrypt] == null){
             // document.getElementById('allPage:allForm:oppBlock2:UpdAddressId:Contacts__c').value = '';
             //document.getElementById('allPage:allForm:oppBlock2:UpdAddressId:contactIdValue').value = '000000000000000';
             document.getElementById('allPage:allForm:oppBlock2:UpdAddressId:ContactName__c').value = '';
             document.getElementById('allPage:allForm:oppBlock2:UpdAddressId:Telephone__c').value = '';
             document.getElementById('allPage:allForm:oppBlock2:UpdAddressId:ZipCode__c').value = '';
             document.getElementById('allPage:allForm:oppBlock2:UpdAddressId:Detailed_Address__c').value = '';
         }else{
             // document.getElementById('allPage:allForm:oppBlock2:UpdAddressId:Contacts__c').value = PIData[ObjIdDecrypt].lastName!=null?PIData[ObjIdDecrypt].lastName:'';
             document.getElementById('allPage:allForm:oppBlock2:UpdAddressId:ContactName__c').value = PIData[ObjIdDecrypt].lastName;
             document.getElementById('allPage:allForm:oppBlock2:UpdAddressId:Telephone__c').value = PIData[ObjIdDecrypt].telephone;
             document.getElementById('allPage:allForm:oppBlock2:UpdAddressId:ZipCode__c').value = PIData[ObjIdDecrypt].zipCode;
             document.getElementById('allPage:allForm:oppBlock2:UpdAddressId:Detailed_Address__c').value = PIData[ObjIdDecrypt].detailedAddress;
         }
     }
     function getPIPayload() {
         let leadPayloadList = [];
         var telePhone = document.getElementById('allPage:allForm:oppBlock2:UpdAddressId:Telephone__c').value;
         var zipCode = document.getElementById('allPage:allForm:oppBlock2:UpdAddressId:ZipCode__c').value;
         var detailedAddress = document.getElementById('allPage:allForm:oppBlock2:UpdAddressId:Detailed_Address__c').value;
         let leadPIData = new Object();
         leadPIData.telePhone = telePhone;
         leadPIData.zipCode = zipCode;
         leadPIData.detailedAddress = detailedAddress;
         leadPIData.sfRecordId = '';
         leadPayloadList.push(leadPIData);
         console.log(JSON.stringify(leadPayloadList));
         return JSON.stringify(leadPayloadList);
     }
     //WLIG-CCX4BB 【委托】修理直返收货地址功能改造 thh 20220513 start
     //保存方法
     function savaJs(){
         //b();
         //不会新建联系人,所以这里不需要将isAddCon设置为true
         // if(document.getElementById('allPage:allForm:oppBlock2:UpdAddressId:ContactName__c').value != ''){
         //     isAddCon = true;
         // }
         document.getElementById("errorMsg").innerHTML = '';
         if(!document.getElementById("allPage:allForm:oppBlock2:UpdAddressId:ContactName__c").value){
             document.getElementById("errorMsg").innerHTML = '<strong>【联系人】不能为空!</strong> ';
             return;
         }
         // else if(document.getElementById("allPage:allForm:oppBlock2:UpdAddressId:Contacts__c").value&&document.getElementById("allPage:allForm:oppBlock2:UpdAddressId:Create_Contacts__c").value){
         //     document.getElementById("errorMsg").innerHTML = '<strong>【联系人】和【联系人(新建)】不能同时有值!</strong> ';
         //     return;
         // }
         b();
         console.log('{!insUpdData}')
         // if(document.getElementById("allPage:allForm:oppBlock2:UpdAddressId:Create_Contacts__c").value){
         //     //new contact
         //     ProcessPI({},GetEditObj('contact'),'contact',function(){
         //         //new address
         //         ProcessPI({},
         //         GetEditObj('address'),'address',function(){
         //             save();
         //         });
         //     });
         // }else{
         //new address
         ProcessPI({},GetEditObj('address'),'address',function(){
             save();
         });
         // }
     }
     //WLIG-CCX4BB 【委托】修理直返收货地址功能改造 thh 20220513 end
     function ProcessPI(sobjJson, payloadForNewPI,type,callback) {
         var sr = ''
         // if(type == 'contact'){
         //     sr = staticResourceContact
         // }
         if(type == 'address'){
             sr = staticResource
         }
         let url = sr.newUrl
         /*if (now_edit_id) {
             url = sr.updateUrl
         }*/
         AWSService.post(url, payloadForNewPI, function(result){
             // if(type == 'contact'){
             //     con_aws_result = result
             // }
             if(type == 'address'){
                 add_aws_result = result
             }
             SetEditObj(type);
             if(callback){
                 callback();
             }
         }, sr.token);
     }
     function SetEditObj(type){
         let obj = GetAWSResultObj(type);
         if(obj){
             // if(type=='contact'){
             //     document.getElementById("allPage:allForm:oppBlock2:Con_AWS_Data_Id__c").value      = obj.dataId;
             //     document.getElementById("allPage:allForm:oppBlock2:UpdAddressId:ContactName__c").value      = obj.lastName;
             //     document.getElementById("allPage:allForm:oppBlock2:LastName_Encrypted__c").value   = obj.lastNameEncrypt;
             // }
             if(type=='address'){
                 document.getElementById("allPage:allForm:oppBlock2:Add_AWS_Data_Id__c").value              = obj.dataId;
                 document.getElementById('allPage:allForm:oppBlock2:UpdAddressId:ContactName__c').value = obj.contactName;
                 //document.getElementById('allPage:allForm:oppBlock2:ContactName_Encrypted__c').value = obj.contactNameEncrypt;   //zhj 新方案改造 2022-12-05
                 document.getElementById("allPage:allForm:oppBlock2:UpdAddressId:Telephone__c").value                    = obj.telephone;
                 //document.getElementById("allPage:allForm:oppBlock2:Telephone_Encrypted__c").value          = obj.telephoneEncrypt;    //zhj 新方案改造 2022-12-05
                 document.getElementById("allPage:allForm:oppBlock2:UpdAddressId:ZipCode__c").value                      = obj.zipCode;
                 //document.getElementById("allPage:allForm:oppBlock2:ZipCode_Encrypted__c").value            = obj.zipCodeEncrypt;  //zhj 新方案改造 2022-12-05
                 document.getElementById("allPage:allForm:oppBlock2:UpdAddressId:Detailed_Address__c").value             = obj.detailedAddress;
                 //document.getElementById("allPage:allForm:oppBlock2:Detailed_Address_Encrypted__c").value   = obj.detailedAddressEncrypt;  //zhj 新方案改造 2022-12-05
             }
         }
     }
     function GetAWSResultObj(type){
         // if(type == 'contact'){
         //     if(con_aws_result && con_aws_result.object && con_aws_result.object.length > 0){
         //         return con_aws_result.object[0];
         //     }
         // }
         if(type == 'address'){
             if(add_aws_result && add_aws_result.object && add_aws_result.object.length > 0){
                 return add_aws_result.object[0];
             }
         }
         return null;
     }
     function GetEditObj(type){
         // if(type=='contact'){
         //     //new contact
         //     return JSON.stringify([{
         //         lastName : document.getElementById("allPage:allForm:oppBlock2:UpdAddressId:ContactName__c").value,
         //         dataId : document.getElementById("allPage:allForm:oppBlock2:Con_AWS_Data_Id__c").value,
         //     }]);
         // }
         contactNamePlaintext = document.getElementById("allPage:allForm:oppBlock2:UpdAddressId:ContactName__c").value;
         telePhonePlaintext = document.getElementById("allPage:allForm:oppBlock2:UpdAddressId:Telephone__c").value;
         zipCodePlaintext = document.getElementById("allPage:allForm:oppBlock2:UpdAddressId:ZipCode__c").value
         detailedAddressPlaintext = document.getElementById("allPage:allForm:oppBlock2:UpdAddressId:Detailed_Address__c").value;
         if(type == 'address'){
             //new address
             return JSON.stringify([{
                 dataId : document.getElementById("allPage:allForm:oppBlock2:Add_AWS_Data_Id__c").value,
                 contactName : document.getElementById("allPage:allForm:oppBlock2:UpdAddressId:ContactName__c").value,
                 telephone : document.getElementById("allPage:allForm:oppBlock2:UpdAddressId:Telephone__c").value,
                 zipCode : document.getElementById("allPage:allForm:oppBlock2:UpdAddressId:ZipCode__c").value,
                 detailedAddress : document.getElementById("allPage:allForm:oppBlock2:UpdAddressId:Detailed_Address__c").value,
             }]);
         }
     }
     //复选框选中触发事件
     //obj  当前对象   checkIndex  当前点击的第几行
     function onCheckBoxJd(obj,checkIndex){
         //如果为true,那么其他的所有复选框必须为不选择状态
         if(obj.checked){
             checkedTrue = checkIndex;
             var lawtable = document.getElementById("tableHeader_L");//获取id为tableHeader_L的table
             var rows = lawtable.rows;//获取所有行
             for(var i=1; i < rows.length; i++){
                 var InputObj = rows[i].cells[0].getElementsByTagName("input")[0];
                 if(obj != InputObj){
                     InputObj.checked = false;
                 }
             }
         }else{
             checkedTrue = null;
         }
     }
     function searchBtnJs(){
         b();
         var addressDataIds = '';
         //查询地址
         if(document.getElementById('allPage:allForm:searchBlock:txtAddressId').value != ''){
             //发送aws请求,然后再发送给controller
             new Promise(function(resolve, reject){
                 let queryBack = function queryBack(result){
                     if(result.object==null || result.object.length==0){
                         searchBtn('\''+addressName+'\'');
                         return
                     }else{
                         for(var i=0;i<result.object.length;i++){
                             addressDataIds += ',\''+ result.object[i].dataId + '\'';
                             addressAwsData[result.object[i].dataId] = result.object[i];
                         }
                         addressDataIds = addressDataIds.substring(1);
                         resolve('success');
                     }
                 };
                 var addressName = document.getElementById('allPage:allForm:searchBlock:txtAddressId').value;
                 AWSService.post(staticResource.searchUrl,{
                     detailedAddress:addressName.trim()
                 },queryBack,staticResource.token);
             }).then(function(data){
                 console.log('data = '+data)
                 console.log('addressDataIds = '+addressDataIds)
                 searchBtn(addressDataIds);
             });
         }else{
             searchBtn(addressDataIds);
         }
     }
     //加密客户名字段
     // function encryptCustomer(e){
     //     let obj = JSON.parse(payloadForNewPI);
     //     let payloadForNewPIJson = JSON.stringify(obj);
     //     let payloadForNewPI = jQuery(e.target).closest("tr").find("a.cusmer__c");
     //     AWSService.update(staticResources.updateUrl, '', payloadForNewPI, updateMethod, staticResources.token, staticResources.transactionUrl, false, insertOrUpdateBack, redirectCallBack);
     // },
     sforce.connection.sessionId = '{!GETSESSIONID()}';
     function UpdateSobject(staticResource,sobj,transId,callback){
         let result = sforce.connection.update([sobj]);
         let tobj = {
             txId: transId
         };
         let b = result[0].getBoolean('success');
         if(b) {
             console.log('call sf Log Id: ' + result[0].id);
             tobj.sfRecordId = result[0].id;
             tobj.isSuccess = 1;
             //return result[0].id;
         }else {
             console.log('call sf to insert log');
             tobj.isSuccess = 0;
             //return '';
         }
         AWSService.post(staticResource.transactionUrl,tobj,function(data){
             if (callback) {
                 data.isSuccess = b;
                 callback(data)
             }
         },staticResource.token);
     }
     function adoptSaveJs(address,isUpload){
         //由于要把采用时间记录到地址表中,所以新建一个地址对象
         // Address__c DatetimeUpdate = new Address__c();
         // DatetimeUpdate = tableData[i].address;
         //详细地址
         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;
                 //防止详细地址里面带着省份和市
                 if(address_str.indexOf(ProvinceCity) < 0){
                     address_str = ProvinceCity + address_str;
                 }
             }
         }
         //联系人
         let contactsName = '';
         // WLIG-CCX4BB 【委托】修理直返收货地址功能改造 thh 20220513 start
         if(address.ContactName__c){
             contactsName = address.ContactName__c;
         }
         // WLIG-CCX4BB 【委托】修理直返收货地址功能改造 thh 20220513 end
         // if (addressAwsData.hasOwnProperty(address.Contacts__r.AWS_Data_Id__c)) {
         //     contactsName = addressAwsData[address.Contacts__r.AWS_Data_Id__c].lastName;
         // }
         if(PIData[address.Id]){
             contactsName = PIData[address.Id].lastName;
         }
         //客户
         let ContactPerson = '';
         if(address.Customer__c){
             ContactPerson = address.Customer__r.Name;
         }
         try{
             //保存数据到修理表中
             let rc = new sforce.SObject('Repair__c');
             rc.Id='{!RepairId}';
             rc.address_Contacts__c=contactsName;
             rc.address_ZipCode__c = address.ZipCode__c;
             rc.address_City__c = cityName;
             rc.address_Contacts_Name__c = ContactPerson;
             let AddressTypeIndex = {!AddressTypeIndex};
             //isUpload:是否上传SAP  FSEApplyForRepairTime:SAP修理申请时间
             if(isUpload && '{!pc.SAP_Transfer_time__c}'){
                 rc.Address_type__c = 'X';
                 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 GetAsset = function(){
                 let ast = new sforce.SObject('Asset');
                 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;
                 }
                 return ast;
             }
             //保存数据到保有设备表中
             let UpdateAsset = function(){
                 let ast = GetAsset();
                 let result = sforce.connection.update([ast]);
                 let b = result[0].getBoolean('success');
                 return b;
             }
             let UpdateRepair = function(callback){
                 AWSService.post(staticResourceRepair.updateUrl+'V2',[{
                     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_Name__c = data.object[0].addressContactsName;
                         //rc.Address_Contacts_Name_Encrypt__c = data.object[0].addressContactsNameEncrypt;  //zhj 新方案改造 2022-12-29
                         rc.address_Contacts__c = data.object[0].addressContacts;
                         //rc.Address_Contacts_Encrypt__c = data.object[0].addressContactsEncrypt;           //zhj 新方案改造 2022-12-29
                         rc.address_Telephone__c = data.object[0].addressTelephone;
                         //rc.Address_Telephone_Encrypt__c = data.object[0].addressTelephoneEncrypt;         //zhj 新方案改造 2022-12-29
                         rc.address_ZipCode__c = data.object[0].addressZipCode;
                         //rc.Address_ZipCode_Encrypt__c = data.object[0].addressZipCodeEncrypt;             //zhj 新方案改造 2022-12-29
                         rc.Detailed_Address__c = data.object[0].detailedAddress;
                         //rc.Detailed_Address_Encrypt__c = data.object[0].detailedAddressEncrypt;           //zhj 新方案改造 2022-12-29
                         //UpdateSobject(staticResourceRepair,rc,data.txId,callback);
                         Visualforce.remoting.Manager.invokeAction(
                             'StraightBackAddressController.SaveEx',
                             JSON.stringify(rc), JSON.stringify(GetAsset()), address.Id,
                             function (result, event) {
                                 let message = '';
                                 if (event.status) {
                                     if (result) {
                                         message = result;
                                     }else{
                                     }
                                 }else{
                                 }
                                 let tobj = {
                                     txId: data.txId
                                 };
                                 if(message) {
                                     console.log('call sf to insert log');
                                     tobj.isSuccess = 0;
                                 }else {
                                     console.log('call sf Log Id: ' + rc.id);
                                     tobj.sfRecordId = rc.id;
                                     tobj.isSuccess = 1;
                                 }
                                 AWSService.post(staticResource.transactionUrl,tobj,function(data){
                                     if (message) {
                                         ub();
                                         alert(message);
                                     }else{
                                         window.location.href = '/{!RepairId}';
                                     }
                                 },staticResource.token);
                             },
                             { escape: true }
                         );
                     }else{
                         alert('AWS更新修理失败');
                         ub();
                     }
                 },staticResourceRepair.token)
             }
             let UpdateAddress = function(){
                 let add = new sforce.SObject('Address__c');
                 add.Id = address.Id;
                 //最后把当前时间保存到地址表中,作为采用时间
                 add.Using_Datetime__c = new Date();
                 let result = sforce.connection.update([add]);
                 let b = result[0].getBoolean('success');
                 return b;
             }
             b();
             UpdateRepair();
             /*
             UpdateRepair(function(data){
                 if (data.isSuccess) {
                    let b = UpdateAsset();
                    if (b) {
                        b = UpdateAddress();
                        if (b) {
                            window.location.href = '/{!RepairId}';
                        }else{
                            for(var i=0;i<result.object.length;i++){
                                addressDataIds += ',\''+ result.object[i].dataId + '\'';
                                addressAwsData[result.object[i].dataId] = result.object[i];
                            }
                            addressDataIds = addressDataIds.substring(1);
                            resolve('success');
                        }
                    };
                    var addressName = document.getElementById('allPage:allForm:searchBlock:txtAddressId').value;
                    AWSService.post(staticResource.searchUrl,{
                        detailedAddress:addressName.trim()
                    },queryBack,staticResource.token);
                }).then(function(data){
                    console.log('data = '+data)
                    console.log('addressDataIds = '+addressDataIds)
                    searchBtn(addressDataIds);
                });
            }else{
                searchBtn(addressDataIds);
            }
        }
        //加密客户名字段
        // function encryptCustomer(e){
        //     let obj = JSON.parse(payloadForNewPI);
        //     let payloadForNewPIJson = JSON.stringify(obj);
        //     let payloadForNewPI = jQuery(e.target).closest("tr").find("a.cusmer__c");
        //     AWSService.update(staticResources.updateUrl, '', payloadForNewPI, updateMethod, staticResources.token, staticResources.transactionUrl, false, insertOrUpdateBack, redirectCallBack);
        // },
        sforce.connection.sessionId = '{!GETSESSIONID()}';
        function UpdateSobject(staticResource,sobj,transId,callback){
            let result = sforce.connection.update([sobj]);
            let tobj = {
                txId: transId
            };
            let b = result[0].getBoolean('success');
            if(b) {
                console.log('call sf Log Id: ' + result[0].id);
                tobj.sfRecordId = result[0].id;
                tobj.isSuccess = 1;
                //return result[0].id;
            }else {
                console.log('call sf to insert log');
                tobj.isSuccess = 0;
                //return '';
            }
            AWSService.post(staticResource.transactionUrl,tobj,function(data){
                if (callback) {
                    data.isSuccess = b;
                    callback(data)
                }
            },staticResource.token);
        }
        function adoptSaveJs(address,isUpload){
            //由于要把采用时间记录到地址表中,所以新建一个地址对象
            // Address__c DatetimeUpdate = new Address__c();
            // DatetimeUpdate = tableData[i].address;
            //详细地址
            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;
                    //防止详细地址里面带着省份和市
                    if(address_str.indexOf(ProvinceCity) < 0){
                        address_str = ProvinceCity + address_str;
                    }
                }
            }
            //联系人
            let contactsName = '';
            // WLIG-CCX4BB 【委托】修理直返收货地址功能改造 thh 20220513 start
            if(address.ContactName__c){
                contactsName = address.ContactName__c;
            }
            // WLIG-CCX4BB 【委托】修理直返收货地址功能改造 thh 20220513 end
            // if (addressAwsData.hasOwnProperty(address.Contacts__r.AWS_Data_Id__c)) {
            //     contactsName = addressAwsData[address.Contacts__r.AWS_Data_Id__c].lastName;
            // }
            if(PIData[address.Id]){
                contactsName = PIData[address.Id].lastName;
            }
            //客户
            let ContactPerson = '';
            if(address.Customer__c){
                ContactPerson = address.Customer__r.Name;
            }
            try{
                //保存数据到修理表中
                let rc = new sforce.SObject('Repair__c');
                rc.Id='{!RepairId}';
                rc.address_Contacts__c=contactsName;
                debugger
                rc.address_ZipCode__c = address.ZipCode__c;
                rc.address_City__c = cityName;
                rc.address_Contacts_Name__c = ContactPerson;
                let AddressTypeIndex = {!AddressTypeIndex};
                //isUpload:是否上传SAP  FSEApplyForRepairTime:SAP修理申请时间
                if(isUpload && '{!pc.SAP_Transfer_time__c}'){
                    rc.Address_type__c = 'X';
                    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 GetAsset = function(){
                    let ast = new sforce.SObject('Asset');
                    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;
                    }
                    return ast;
                }
                //保存数据到保有设备表中
                let UpdateAsset = function(){
                    let ast = GetAsset();
                    let result = sforce.connection.update([ast]);
                    let b = result[0].getBoolean('success');
                    return b;
                }
                let UpdateRepair = function(callback){
                    AWSService.post(staticResourceRepair.updateUrl+'V2',[{
                        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_Name__c = data.object[0].addressContactsName;
                            //rc.Address_Contacts_Name_Encrypt__c = data.object[0].addressContactsNameEncrypt;  //zhj 新方案改造 2022-12-29
                            rc.address_Contacts__c = data.object[0].addressContacts;
                            //rc.Address_Contacts_Encrypt__c = data.object[0].addressContactsEncrypt;           //zhj 新方案改造 2022-12-29
                            rc.address_Telephone__c = data.object[0].addressTelephone;
                            //rc.Address_Telephone_Encrypt__c = data.object[0].addressTelephoneEncrypt;         //zhj 新方案改造 2022-12-29
                            rc.address_ZipCode__c = data.object[0].addressZipCode;
                            //rc.Address_ZipCode_Encrypt__c = data.object[0].addressZipCodeEncrypt;             //zhj 新方案改造 2022-12-29
                            rc.Detailed_Address__c = data.object[0].detailedAddress;
                            //rc.Detailed_Address_Encrypt__c = data.object[0].detailedAddressEncrypt;           //zhj 新方案改造 2022-12-29
                            //UpdateSobject(staticResourceRepair,rc,data.txId,callback);
                            Visualforce.remoting.Manager.invokeAction(
                                'StraightBackAddressController.SaveEx',
                                JSON.stringify(rc), JSON.stringify(GetAsset()), address.Id,
                                function (result, event) {
                                    let message = '';
                                    if (event.status) {
                                        if (result) {
                                            message = result;
                                        }else{
                                        }
                                    }else{
                                    }
                                    let tobj = {
                                        txId: data.txId
                                    };
                                    if(message) {
                                        console.log('call sf to insert log');
                                        tobj.isSuccess = 0;
                                    }else {
                                        console.log('call sf Log Id: ' + rc.id);
                                        tobj.sfRecordId = rc.id;
                                        tobj.isSuccess = 1;
                                    }
                                    AWSService.post(staticResource.transactionUrl,tobj,function(data){
                                        if (message) {
                                            ub();
                                            alert(message);
                                        }else{
                                            window.location.href = '/{!RepairId}';
                                        }
                                    },staticResource.token);
                                },
                                { escape: true }
                            );
                        }else{
                            alert('AWS更新修理失败');
                            ub();
                        }
                    },staticResourceRepair.token)
                }
                let UpdateAddress = function(){
                    let add = new sforce.SObject('Address__c');
                    add.Id = address.Id;
                    //最后把当前时间保存到地址表中,作为采用时间
                    add.Using_Datetime__c = new Date();
                    let result = sforce.connection.update([add]);
                    let b = result[0].getBoolean('success');
                    return b;
                }
                b();
                UpdateRepair();
                /*
                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){
                //失败提示
                //ApexPages.addMessages(e);
            }
        }
        //采用按钮
        function onAdoptJs(e, address){
            //判断当前修理单是否已经申请修理
            var uploadTime = '{!FSEApplyForRepairTime}';
            if(uploadTime != 'null' && uploadTime){
                var prompt  = '由于当前修理单已申请修理,请问是否采用并上传数据到SAP?';
                if(confirm(prompt)){
                    adoptSaveJs(address,true);
                }
            }else{
                adoptSaveJs(address,false);
            }
        }
       /* function onAdoptJs(){
            if(checkedTrue != null){
                b();
                var lawtable = document.getElementById("tableHeader_L");//获取id为tableHeader_L的table
                var rows = lawtable.rows;//获取所有行
                var InputObj = rows[checkedTrue].cells[0].getElementsByTagName("input")[0];
                if(InputObj.checked){
                    //判断当前修理单是否已经申请修理
                    var uploadTime = '{!FSEApplyForRepairTime}';
                    if(uploadTime != null){
                        var prompt  = '由于当前修理单已申请修理,请问是否采用并上传数据到SAP?';
                        if(confirm(prompt)){
                            adoptSave(InputObj.value+"",true);
                        }else{
                            adoptSave(InputObj.value+"",false);
                             ub();
                             alert('采用失败');
                        }
                    }else{
                        adoptSave(InputObj.value+"",false);
                    }
                }
            }else{
                alert('请选中你要采用的地址!');
                return false;
            }
        }*/
        //返回父页面
        function sendBackJs(){
            redirectPag();
        }
        //刷新当前页面
        function refreshJs(){
            window.location.reload();
        }
        //2022 02 28 张华建 display PI Data start
        //queryPI();
        function q1(){
            debugger
            var index = 0;
            var correct = 0;
            var p = new Promise(function(resolve, reject){
                //查询地址的PI数据
                let searchCallBack = function searchCallBack(result,Id,awsDataId){
                    index++;
                    let contacts = result.object;
                    if(contacts == null){
                        console.log('contacts == null')
                        return;
                    }
                    let temp = {}
                    temp.telephone = result.object.telephone;
                    temp.zipCode = result.object.zipCode;
                    temp.detailedAddress = result.object.detailedAddress;
                    //temp.awsDataId = awsDataId;
                    temp.lastName = result.object.contactName;
                    PIData[Id] = temp;
                };
                for(var i=0;i<tableDataStr.length;i++){
                    if(tableDataStr[i].address.AWS_Data_Id__c){
                        correct++;
                        AWSService.queryRepair(staticResource.queryUrl,
                                                tableDataStr[i].address.AWS_Data_Id__c,
                                                tableDataStr[i].address.Id,
                                                //tableDataStr[i].address.Contacts__r.AWS_Data_Id__c,
                                                null,
                                                searchCallBack,
                                                staticResource.token);
                    }
                }
                var interval=self.setInterval(function (){
                    console.log('setInterval index= ' + index);
                    if(index == correct){
                        console.log('PIDATA = ' + JSON.stringify(PIData))
                        resolve('success')
                        clearInterval(interval)
                    }
                },1000);
            });
            return p;
        }
        //zhj PIPL 2022-06-08 start
        function q2(){
            // sforce.connection.sessionId = '{!GETSESSIONID()}';
            // var p = new Promise(function(resolve, reject){
            //     //查询联系人的数据
            //     let queryBack = function queryBack(result) {
            //         let contacts = result.object;
            //         if(contacts == null){
            //             return;
            //         }
            //         for(var i=0;i<result.object.length;i++){
            //             for(let key in PIData){
            //                 if(result.object[i].dataId == PIData[key].awsDataId){
            //                     PIData[key].lastName = result.object[i].lastName;
            //                 }
            //             }
            //         }
            //     }
            //     var condition = ''
            //     for(var i=0;i<tableDataStr.length;i++){
            //         if(tableDataStr[i].address.Contacts__c){
            //             condition += "," + "\'"+tableDataStr[i].address.Contacts__c+"\'";
            //         }
            //     }
            //     condition = condition.substr(1);
            //     console.log('condition = ' + condition);
            //     var record = sforce.connection.query("select AWS_Data_Id__c from Contact where id in("+condition+")");
            //     var records = record.getArray("records");
            //     for(var i =0;i<records.length;i++){
            //         if(records[i].AWS_Data_Id__c){
            //             contactDataIds.push(records[i].AWS_Data_Id__c);
            //         }
            //     }
            //     let searchPayload = new Object();
            //     searchPayload.dataIds = contactDataIds;
            //     searchPayload.contactName = '';
            //     console.log('contactDataIds = ' + contactDataIds);
            //     AWSService.search(staticResourceContact.searchUrl, JSON.stringify(searchPayload), queryBack, staticResourceContact.token);
            // });
        }
        //zhj PIPL 2022-06-08 end
        //查询敏感字段
        function queryPI(){
            //b();
            tableDataStr = JSON.parse(document.getElementById('allPage:allForm:tableValueFrontEnd').value);
            PIData = {};
            contactDataIds = [];
            console.log(tableDataStr)
            q1().then(function(data){
                        return q2(data);
                    })
            //ub();
        }
        function showPIDiv(awsDataId){
            if(awsDataId.length == 0 || PIData[awsDataId]==null){
                return
            }
            console.log('awsDataId Value:'+awsDataId);
            let parentNode = document.getElementById(awsDataId);
            let createDiv = document.createElement("div");
            createDiv.id = awsDataId+"_PI";
            let piInformation = '';
            if(PIData[awsDataId].lastName){
                piInformation = '联系人: '+PIData[awsDataId].lastName+
                '\n电话: '+PIData[awsDataId].telephone+
                '\n邮编: '+PIData[awsDataId].zipCode+
                '\n详细地址: '+PIData[awsDataId].detailedAddress
            }else{
                piInformation = '联系人: null'+
                '\n电话: '+PIData[awsDataId].telephone+
                '\n邮编: '+PIData[awsDataId].zipCode+
                '\n详细地址: '+PIData[awsDataId].detailedAddress
            }
            //let piInformation = 'Name:'+contact['943114607025717249'].lastName +'\n' +'Phone:'+contact['943114607025717249'].phone
            createDiv.innerText = piInformation;
            let x=window.event.x;
            let y=window.event.y;
            createDiv.style.left=x;
            createDiv.style.top=y;
            createDiv.style.height='100px';
            createDiv.style.width='120px';
            createDiv.style.background="#dddddd";
            createDiv.style.position = "absolute";
            parentNode.appendChild(createDiv);
            parentNode.style.position = "relative";
        }
        function hidePIDiv(awsDataId){
            if(awsDataId.length == 0 || PIData[awsDataId]==null){
                return
            }
            document.getElementById(awsDataId+'_PI').remove();
        }
        // function replaceSearchContactLookup() {
        //     if(document.getElementById('allPage:allForm:oppBlock2:UpdAddressId:Contacts__c') != null){
        //         let contactHtmlString = '<img src="/img/s.gif" onclick="searchContact(\'allPage:allForm:contactId\',\'allPage:allForm:oppBlock2:UpdAddressId:Contacts__c\')" alt="Reference Document Number Lookup" class="lookupIcon"  title="Reference Document Number Lookup (New Window)"/>';
        //         let lookUpNode = htmlToElement(contactHtmlString);
        //         console.log(lookUpNode);
        //         let parentNode = document.getElementById('allPage:allForm:oppBlock2:UpdAddressId:Contacts__c').parentNode;
        //         parentNode.appendChild(lookUpNode);
        //         if(contactInfoStr){
        //             console.log('closePopup:'+contactInfoStr);
        //             let contactInfo = JSON.parse(contactInfoStr);
        //             let contactNodeId = 'allPage:allForm:oppBlock2:UpdAddressId:contactIdValue';
        //             document.getElementById(contactNodeId).value = contactInfo.ContactId;
        //             document.getElementById(closeField).value = contactInfo.Name;
        //         }
        //     }
        // }
        function htmlToElement(html) {
            var template = document.createElement('template');
            html = html.trim(); // Never return a text node of whitespace as the result
            template.innerHTML = html;
            return template.content.firstChild;
        }
        //自定义lookup查询
        // function searchContact(contactNodeId,field){
        //     closeField = field;
        //     let accountValue = "";
        //     if (document.getElementById('allPage:allForm:oppBlock2:UpdAddressId:Customer__r_Name')!=null) {
        //         let accountNodeId = document.getElementById('allPage:allForm:oppBlock2:UpdAddressId:Customer__r_Name').id + '_lkid';
        //         accountValue = document.getElementById(accountNodeId).value;
        //     }
        //     console.log(accountValue);
        //     if(accountValue !='000000000000000'){
        //         let baseUrl = "/apex/SearchContactPage";
        //         let suffixUrl = "?contactId="+contactNodeId+"&accountId="+accountValue;
        //         let newSearchContactParam = 'height=600,width=800,left=100,top=100,dialogHide=true,resizable=no,scrollbars=yes,toolbar=no,status=no';
        //         newSearchContactWindow = window.open(baseUrl+suffixUrl, 'Popup', newSearchContactParam);
        //         if (window.focus) {
        //             newSearchContactWindow.focus();
        //         }
        //         return false;
        //     }else{
        //         console.log('请先选择客户再选择联系人')
        //     }
        // }
        function closePopupWindow() {
            if (null != newSearchContactWindow) {
                newSearchContactWindow.close();
            }
            contactInfoStr = document.getElementById('allPage:allForm:contactId').value;
            console.log('closePopup:'+contactInfoStr);
            let contactInfo = JSON.parse(contactInfoStr);
            let contactNodeId = 'allPage:allForm:oppBlock2:UpdAddressId:contactIdValue';
            document.getElementById(contactNodeId).value = contactInfo.ContactId;
            document.getElementById(closeField).value = contactInfo.Name;
        }
        //2022 02 28 张华建 display PI Data end
    </script>
    <script type="text/javascript">
        function DecryptAddress(){
            debugger
            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];
                            }
                             ub();
                             alert('采用失败');
                        }
                    }
                },staticResource.token)
            }
                 }else{
            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)
            }
                     ub();
                     alert('SF更新修理失败');
                 }
             })*/
             //页面重定向
             //return redirectPag();
         }catch( e){
             //失败提示
             //ApexPages.addMessages(e);
         }
     }
     //采用按钮
     function onAdoptJs(e, address){
         //判断当前修理单是否已经申请修理
         var uploadTime = '{!FSEApplyForRepairTime}';
         if(uploadTime != 'null' && uploadTime){
             var prompt  = '由于当前修理单已申请修理,请问是否采用并上传数据到SAP?';
             if(confirm(prompt)){
                 adoptSaveJs(address,true);
             }
         }else{
             adoptSaveJs(address,false);
         }
     }
    /* function onAdoptJs(){
         if(checkedTrue != null){
             b();
             var lawtable = document.getElementById("tableHeader_L");//获取id为tableHeader_L的table
             var rows = lawtable.rows;//获取所有行
             var InputObj = rows[checkedTrue].cells[0].getElementsByTagName("input")[0];
             if(InputObj.checked){
                 //判断当前修理单是否已经申请修理
                 var uploadTime = '{!FSEApplyForRepairTime}';
                 if(uploadTime != null){
                     var prompt  = '由于当前修理单已申请修理,请问是否采用并上传数据到SAP?';
                     if(confirm(prompt)){
                         adoptSave(InputObj.value+"",true);
                     }else{
                         adoptSave(InputObj.value+"",false);
                     }
                 }else{
                     adoptSave(InputObj.value+"",false);
                 }
             }
         }else{
             alert('请选中你要采用的地址!');
             return false;
         }
     }*/
     //返回父页面
     function sendBackJs(){
         redirectPag();
     }
     //刷新当前页面
     function refreshJs(){
         window.location.reload();
     }
     //2022 02 28 张华建 display PI Data start
     //queryPI();
     function q1(){
         debugger
         var index = 0;
         var correct = 0;
         var p = new Promise(function(resolve, reject){
             //查询地址的PI数据
             let searchCallBack = function searchCallBack(result,Id,awsDataId){
                 index++;
                 let contacts = result.object;
                 if(contacts == null){
                     console.log('contacts == null')
                     return;
                 }
                 let temp = {}
                 temp.telephone = result.object.telephone;
                 temp.zipCode = result.object.zipCode;
                 temp.detailedAddress = result.object.detailedAddress;
                 //temp.awsDataId = awsDataId;
                 temp.lastName = result.object.contactName;
                 PIData[Id] = temp;
             };
             for(var i=0;i<tableDataStr.length;i++){
                 if(tableDataStr[i].address.AWS_Data_Id__c){
                     correct++;
                     AWSService.queryRepair(staticResource.queryUrl,
                                             tableDataStr[i].address.AWS_Data_Id__c,
                                             tableDataStr[i].address.Id,
                                             //tableDataStr[i].address.Contacts__r.AWS_Data_Id__c,
                                             null,
                                             searchCallBack,
                                             staticResource.token);
                 }
             }
             var interval=self.setInterval(function (){
                 console.log('setInterval index= ' + index);
                 if(index == correct){
                     console.log('PIDATA = ' + JSON.stringify(PIData))
                     resolve('success')
                     clearInterval(interval)
                 }
             },1000);
         });
         return p;
     }
     //zhj PIPL 2022-06-08 start
     function q2(){
         // sforce.connection.sessionId = '{!GETSESSIONID()}';
         // var p = new Promise(function(resolve, reject){
         //     //查询联系人的数据
         //     let queryBack = function queryBack(result) {
         //         let contacts = result.object;
         //         if(contacts == null){
         //             return;
         //         }
         //         for(var i=0;i<result.object.length;i++){
         //             for(let key in PIData){
         //                 if(result.object[i].dataId == PIData[key].awsDataId){
         //                     PIData[key].lastName = result.object[i].lastName;
         //                 }
         //             }
         //         }
         //     }
         //     var condition = ''
         //     for(var i=0;i<tableDataStr.length;i++){
         //         if(tableDataStr[i].address.Contacts__c){
         //             condition += "," + "\'"+tableDataStr[i].address.Contacts__c+"\'";
         //         }
         //     }
         //     condition = condition.substr(1);
         //     console.log('condition = ' + condition);
         //     var record = sforce.connection.query("select AWS_Data_Id__c from Contact where id in("+condition+")");
         //     var records = record.getArray("records");
         //     for(var i =0;i<records.length;i++){
         //         if(records[i].AWS_Data_Id__c){
         //             contactDataIds.push(records[i].AWS_Data_Id__c);
         //         }
         //     }
         //     let searchPayload = new Object();
         //     searchPayload.dataIds = contactDataIds;
         //     searchPayload.contactName = '';
         //     console.log('contactDataIds = ' + contactDataIds);
         //     AWSService.search(staticResourceContact.searchUrl, JSON.stringify(searchPayload), queryBack, staticResourceContact.token);
         // });
     }
     //zhj PIPL 2022-06-08 end
     //查询敏感字段
     function queryPI(){
         //b();
         tableDataStr = JSON.parse(document.getElementById('allPage:allForm:tableValueFrontEnd').value);
         PIData = {};
         contactDataIds = [];
         console.log(tableDataStr)
         q1().then(function(data){
                     return q2(data);
                 })
         //ub();
     }
     function showPIDiv(awsDataId){
         if(awsDataId.length == 0 || PIData[awsDataId]==null){
             return
         }
         console.log('awsDataId Value:'+awsDataId);
         let parentNode = document.getElementById(awsDataId);
         let createDiv = document.createElement("div");
         createDiv.id = awsDataId+"_PI";
         let piInformation = '';
         if(PIData[awsDataId].lastName){
             piInformation = '联系人: '+PIData[awsDataId].lastName+
             '\n电话: '+PIData[awsDataId].telephone+
             '\n邮编: '+PIData[awsDataId].zipCode+
             '\n详细地址: '+PIData[awsDataId].detailedAddress
         }else{
             piInformation = '联系人: null'+
             '\n电话: '+PIData[awsDataId].telephone+
             '\n邮编: '+PIData[awsDataId].zipCode+
             '\n详细地址: '+PIData[awsDataId].detailedAddress
         }
         //let piInformation = 'Name:'+contact['943114607025717249'].lastName +'\n' +'Phone:'+contact['943114607025717249'].phone
         createDiv.innerText = piInformation;
         let x=window.event.x;
         let y=window.event.y;
         createDiv.style.left=x;
         createDiv.style.top=y;
         createDiv.style.height='100px';
         createDiv.style.width='120px';
         createDiv.style.background="#dddddd";
         createDiv.style.position = "absolute";
         parentNode.appendChild(createDiv);
         parentNode.style.position = "relative";
     }
     function hidePIDiv(awsDataId){
         if(awsDataId.length == 0 || PIData[awsDataId]==null){
             return
         }
         document.getElementById(awsDataId+'_PI').remove();
     }
     // function replaceSearchContactLookup() {
     //     if(document.getElementById('allPage:allForm:oppBlock2:UpdAddressId:Contacts__c') != null){
     //         let contactHtmlString = '<img src="/img/s.gif" onclick="searchContact(\'allPage:allForm:contactId\',\'allPage:allForm:oppBlock2:UpdAddressId:Contacts__c\')" alt="Reference Document Number Lookup" class="lookupIcon"  title="Reference Document Number Lookup (New Window)"/>';
     //         let lookUpNode = htmlToElement(contactHtmlString);
     //         console.log(lookUpNode);
     //         let parentNode = document.getElementById('allPage:allForm:oppBlock2:UpdAddressId:Contacts__c').parentNode;
     //         parentNode.appendChild(lookUpNode);
     //         if(contactInfoStr){
     //             console.log('closePopup:'+contactInfoStr);
     //             let contactInfo = JSON.parse(contactInfoStr);
     //             let contactNodeId = 'allPage:allForm:oppBlock2:UpdAddressId:contactIdValue';
     //             document.getElementById(contactNodeId).value = contactInfo.ContactId;
     //             document.getElementById(closeField).value = contactInfo.Name;
     //         }
     //     }
     // }
     function htmlToElement(html) {
         var template = document.createElement('template');
         html = html.trim(); // Never return a text node of whitespace as the result
         template.innerHTML = html;
         return template.content.firstChild;
     }
     //自定义lookup查询
     // function searchContact(contactNodeId,field){
     //     closeField = field;
     //     let accountValue = "";
     //     if (document.getElementById('allPage:allForm:oppBlock2:UpdAddressId:Customer__r_Name')!=null) {
     //         let accountNodeId = document.getElementById('allPage:allForm:oppBlock2:UpdAddressId:Customer__r_Name').id + '_lkid';
     //         accountValue = document.getElementById(accountNodeId).value;
     //     }
     //     console.log(accountValue);
     //     if(accountValue !='000000000000000'){
     //         let baseUrl = "/apex/SearchContactPage";
     //         let suffixUrl = "?contactId="+contactNodeId+"&accountId="+accountValue;
     //         let newSearchContactParam = 'height=600,width=800,left=100,top=100,dialogHide=true,resizable=no,scrollbars=yes,toolbar=no,status=no';
     //         newSearchContactWindow = window.open(baseUrl+suffixUrl, 'Popup', newSearchContactParam);
     //         if (window.focus) {
     //             newSearchContactWindow.focus();
     //         }
     //         return false;
     //     }else{
     //         console.log('请先选择客户再选择联系人')
     //     }
     // }
     function closePopupWindow() {
         if (null != newSearchContactWindow) {
             newSearchContactWindow.close();
         }
         contactInfoStr = document.getElementById('allPage:allForm:contactId').value;
         console.log('closePopup:'+contactInfoStr);
         let contactInfo = JSON.parse(contactInfoStr);
         let contactNodeId = 'allPage:allForm:oppBlock2:UpdAddressId:contactIdValue';
         document.getElementById(contactNodeId).value = contactInfo.ContactId;
         document.getElementById(closeField).value = contactInfo.Name;
     }
     //2022 02 28 张华建 display PI Data end
  </script>
  <script type="text/javascript">
    function DecryptAddress() {
      debugger;
      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);
        }
    </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="ub();"></apex:actionFunction>
            <!-- 检索数据查询方法 -->
            <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>
            <!-- 采用方法 -->
            <!--<actionFunction name="adoptSave" action="{!adoptSave}" rerender="oppBlock2,message" onComplete="ub();">
        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="ub();"
      ></apex:actionFunction>
      <!-- 检索数据查询方法 -->
      <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>
      <!-- 采用方法 -->
      <!--<actionFunction name="adoptSave" action="{!adoptSave}" rerender="oppBlock2,message" onComplete="ub();">
                <apex:param name="adoptId" assignTo="{!adoptId}" value="" />
                <apex:param name="isUpload" assignTo="{!isUpload}" value="" />
            </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();ub();">
                <apex:param name="UpdId" assignTo="{!UpdId}" value="" />
            </apex:actionFunction>
            <!-- 复制方法 -->
            <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="ub();"></apex:actionFunction>
        <apex:pageBlock id="searchBlock" tabStyle="Report">
            <table style="border-bottom-width: 0px; font-size:12px;width:100%">
                <tr>
                    <td style="width: 15%">
                        <font>类&nbsp;型&nbsp;</font>&nbsp;
                            <!-- <apex:selectList id="numtextA1Id" value="{!numtextA1}" size="1" style="width:110px">
      <!-- 保存和修改方法 -->
      <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();ub();"
      >
        <apex:param name="UpdId" assignTo="{!UpdId}" value="" />
      </apex:actionFunction>
      <!-- 复制方法 -->
      <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="ub();"
      ></apex:actionFunction>
      <apex:pageBlock id="searchBlock" tabStyle="Report">
        <table style="border-bottom-width: 0px; font-size: 12px; width: 100%">
          <tr>
            <td style="width: 15%">
              <font>类&nbsp;型&nbsp;</font>&nbsp;
              <!-- <apex:selectList id="numtextA1Id" value="{!numtextA1}" size="1" style="width:110px">
                                <apex:selectOptions value="{!optionType}"/>
                            </apex:selectList> -->
                            <apex:inputField value="{!optionAddressClassification.Address_Classification__c}" id="AddressClassificationId"/>
                        </td>
                        <td style="width: 20%">
                            <font>客&nbsp;户&nbsp;名&nbsp;</font>&nbsp;
                            <apex:inputText id="txtNameId" value="{!txtName}"/>
                            <a class="inlineEditUndoLink" title="清空" href="#" onclick="document.getElementById('allPage:allForm:searchBlock:txtNameId').value = '';document.getElementById('allPage:allForm:searchBlock:txtNameId').focus();" style="display: inline;">
                                <img width="16px" height="16px" src="/img/s.gif" alt="清空" class="inlineEditUndo"/>
                            </a>
                        </td>
                        <td style="width: 20%">
                            <font>地&nbsp;址&nbsp;</font>&nbsp;
                            <apex:inputText id="txtAddressId" value="{!txtAddress}"/>
                            <a class="inlineEditUndoLink" title="清空" href="#" onclick="document.getElementById('allPage:allForm:searchBlock:txtAddressId').value = '';document.getElementById('allPage:allForm:searchBlock:txtAddressId').focus(); " style="display: inline;">
                                <img width="16px" height="16px" src="/s.gif" alt="清空" class="inlineEditUndo"/>
                            </a>
                        </td>
                        <td style="width: 20%">
                            <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"/>
              <apex:inputField
                value="{!optionAddressClassification.Address_Classification__c}"
                id="AddressClassificationId"
              />
            </td>
            <td style="width: 20%">
              <font>客&nbsp;户&nbsp;名&nbsp;</font>&nbsp;
              <apex:inputText id="txtNameId" value="{!txtName}" />
              <a
                class="inlineEditUndoLink"
                title="清空"
                href="#"
                onclick="document.getElementById('allPage:allForm:searchBlock:txtNameId').value = '';document.getElementById('allPage:allForm:searchBlock:txtNameId').focus();"
                style="display: inline"
              >
                <img
                  width="16px"
                  height="16px"
                  src="/img/s.gif"
                  alt="清空"
                  class="inlineEditUndo"
                />
              </a>
            </td>
            <td style="width: 20%">
              <font>地&nbsp;址&nbsp;</font>&nbsp;
              <apex:inputText id="txtAddressId" value="{!txtAddress}" />
              <a
                class="inlineEditUndoLink"
                title="清空"
                href="#"
                onclick="document.getElementById('allPage:allForm:searchBlock:txtAddressId').value = '';document.getElementById('allPage:allForm:searchBlock:txtAddressId').focus(); "
                style="display: inline"
              >
                <img
                  width="16px"
                  height="16px"
                  src="/s.gif"
                  alt="清空"
                  class="inlineEditUndo"
                />
              </a>
            </td>
            <td style="width: 20%">
              <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; -->
                            <apex:commandButton onclick="sendBackJs();return false;"  rendered="true" value="返回" style="width:60px;"/>
                        </td>
                        <td style="width: 25%">
                            &nbsp;
                        </td>
                    </tr>
                </table>
            </apex:pageBlock>
        </div>
        <div>
            <apex:outputPanel id="message">
                <apex:pageMessages />
            </apex:outputPanel>
        </div>
        <div id="tab02" style="overflow-x: auto; overflow-y: auto;">
            <apex:pageBlock id="oppBlock1" tabStyle="Report">
                <apex:pageblocksection title="地址列表" id="edmpdDetails" rendered="true" columns="1" >
                    <apex:outputPanel >
                        <table class="list" style="border-bottom-width: 0px; font-size:11px; border-spacing:0;" border="" id="tableHeader_L" >
                            <thead>
                                <tr class="headerRow" height="30px"  align="center">
                                    <!--标题 -->
                                    <td style="">序号</td>
                                    <td style="">类型</td>
                                    <td style="">客户名</td>
                                    <td style="">联系人</td>
                                    <td style="">电话</td>
                                    <td style="">邮编</td>
                                    <td style="">省</td>
                                    <td style="">市</td>
                                    <td style="">详细地址</td>
                                    <td style="" colspan="3">
                                        操作
                                    </td>
                                </tr>
                            </thead>
                            <tbody>
                                <apex:variable value="{!0}" var="cnt" />
                                <apex:repeat value="{!tableData}" var="or" id="oppTable">
                                    <tr class="dataRow {!IF(MOD(cnt, 2)==0, 'odd', 'even')} {!IF(cnt==1, 'first', '')}" onmouseover="if (window.hiOn){hiOn(this);} " onmouseout="if (window.hiOff){hiOff(this);} "  onblur="if (window.hiOff){hiOff(this);}" onfocus="if (window.hiOn){hiOn(this);}">
                                        <td align="center" style="vertical-align: inherit;width:25px;border-width: 0px 1px 1px 0px;">
                                            {!cnt+1}
                                        </td>
                                        <td  align="center"  style="vertical-align: inherit;border-width: 0px 1px 1px 0px;">
                                            <apex:outputText value="{!or.address.Address_Classification__c}" />
                                        </td>
                                        <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="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> -->
                                            <a href="#" id="{!or.address.Id}" onmouseover="showPIDiv('{!or.address.Id}')" onmouseout="hidePIDiv('{!or.address.Id}')"  aws-data-id="{!or.address.AWS_Data_Id__c}">{!or.address.ContactName__c}</a>
                                        </td>
                                        <td align="left" style="vertical-align: inherit;border-width: 0px 1px 1px 0px;">
                                            <apex:outputText value="{!or.address.Telephone__c}" />
                                        </td>
                                        <td align="left" style="vertical-align: inherit;border-width: 0px 1px 1px 0px;">
                                            <apex:outputText value="{!or.address.ZipCode__c}" />
                                        </td>
                                        <td align="center" style="vertical-align: inherit;border-width: 0px 1px 1px 0px;">
                                            <apex:outputfield value="{!or.address.Province__c}" />
                                        </td>
                                        <td align="center" style="vertical-align: inherit;border-width: 0px 1px 1px 0px;">
                                            <apex:outputfield value="{!or.address.City__c}" />
                                        </td>
                                        <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;">
                                            <apex:commandButton value=" 编辑 " onclick="onEditorJs('{!or.address.id}');return false;" style="background:#98c1fbf7;display:{!or.canEdit};"/>
                                        </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>
                                        <td align="center" style="vertical-align: inherit;width:30px;">
                                            <apex:commandButton value=" 采用 " onclick="onAdoptJs(event,JSON.parse('{!or.addressJson}'));return false;" style="background: #98c1fbf7;display:{!or.canAdopt};"/>
                                        </td>
                                    </tr>
                                    <apex:variable value="{!cnt + 1}" var="cnt" />
                                </apex:repeat>
                            </tbody>
                            <script>
                                console.log('queryPI();')
                                queryPI();
                            </script>
                        </table>
                    </apex:outputPanel>
                </apex:pageblocksection>
            </apex:pageBlock>
        </div>
        <div id="tab03">
            <apex:pageBlock id="oppBlock2" tabStyle="Report">
                <!-- <apex:inputHidden id="LastName_Encrypted__c"         value="{!newCon.LastName_Encrypted__c}"/>
              <apex:commandButton
                onclick="sendBackJs();return false;"
                rendered="true"
                value="返回"
                style="width: 60px"
              />
            </td>
            <td style="width: 25%">&nbsp;</td>
          </tr>
        </table>
      </apex:pageBlock>
    </div>
    <div>
      <apex:outputPanel id="message">
        <apex:pageMessages />
      </apex:outputPanel>
    </div>
    <div id="tab02" style="overflow-x: auto; overflow-y: auto">
      <apex:pageBlock id="oppBlock1" tabStyle="Report">
        <apex:pageblocksection
          title="地址列表"
          id="edmpdDetails"
          rendered="true"
          columns="1"
        >
          <apex:outputPanel>
            <table
              class="list"
              style="
                border-bottom-width: 0px;
                font-size: 11px;
                border-spacing: 0;
              "
              border=""
              id="tableHeader_L"
            >
              <thead>
                <tr class="headerRow" height="30px" align="center">
                  <!--标题 -->
                  <td style="">序号</td>
                  <td style="">类型</td>
                  <td style="">客户名</td>
                  <td style="">联系人</td>
                  <td style="">电话</td>
                  <td style="">邮编</td>
                  <td style="">省</td>
                  <td style="">市</td>
                  <td style="">详细地址</td>
                  <td style="" colspan="3">操作</td>
                </tr>
              </thead>
              <tbody>
                <apex:variable value="{!0}" var="cnt" />
                <apex:repeat value="{!tableData}" var="or" id="oppTable">
                  <tr
                    class="dataRow {!IF(MOD(cnt, 2)==0, 'odd', 'even')} {!IF(cnt==1, 'first', '')}"
                    onmouseover="if (window.hiOn){hiOn(this);} "
                    onmouseout="if (window.hiOff){hiOff(this);} "
                    onblur="if (window.hiOff){hiOff(this);}"
                    onfocus="if (window.hiOn){hiOn(this);}"
                  >
                    <td
                      align="center"
                      style="
                        vertical-align: inherit;
                        width: 25px;
                        border-width: 0px 1px 1px 0px;
                      "
                    >
                      {!cnt+1}
                    </td>
                    <td
                      align="center"
                      style="
                        vertical-align: inherit;
                        border-width: 0px 1px 1px 0px;
                      "
                    >
                      <apex:outputText
                        value="{!or.address.Address_Classification__c}"
                      />
                    </td>
                    <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="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> -->
                      <a
                        href="#"
                        id="{!or.address.Id}"
                        onmouseover="showPIDiv('{!or.address.Id}')"
                        onmouseout="hidePIDiv('{!or.address.Id}')"
                        aws-data-id="{!or.address.AWS_Data_Id__c}"
                        >{!or.address.ContactName__c}</a
                      >
                    </td>
                    <td
                      align="left"
                      style="
                        vertical-align: inherit;
                        border-width: 0px 1px 1px 0px;
                      "
                    >
                      <apex:outputText value="{!or.address.Telephone__c}" />
                    </td>
                    <td
                      align="left"
                      style="
                        vertical-align: inherit;
                        border-width: 0px 1px 1px 0px;
                      "
                    >
                      <apex:outputText value="{!or.address.ZipCode__c}" />
                    </td>
                    <td
                      align="center"
                      style="
                        vertical-align: inherit;
                        border-width: 0px 1px 1px 0px;
                      "
                    >
                      <apex:outputfield value="{!or.address.Province__c}" />
                    </td>
                    <td
                      align="center"
                      style="
                        vertical-align: inherit;
                        border-width: 0px 1px 1px 0px;
                      "
                    >
                      <apex:outputfield value="{!or.address.City__c}" />
                    </td>
                    <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"
                    >
                      <apex:commandButton
                        value=" 编辑 "
                        onclick="onEditorJs('{!or.address.id}');return false;"
                        style="background:#98c1fbf7;display:{!or.canEdit};"
                      />
                    </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>
                    <td
                      align="center"
                      style="vertical-align: inherit; width: 30px"
                    >
                      <apex:commandButton
                        value=" 采用 "
                        onclick="onAdoptJs(event,JSON.parse('{!or.addressJson}'));return false;"
                        style="background: #98c1fbf7;display:{!or.canAdopt};"
                      />
                    </td>
                  </tr>
                  <apex:variable value="{!cnt + 1}" var="cnt" />
                </apex:repeat>
              </tbody>
              <script>
                console.log("queryPI();");
                queryPI();
              </script>
            </table>
          </apex:outputPanel>
        </apex:pageblocksection>
      </apex:pageBlock>
    </div>
    <div id="tab03">
      <apex:pageBlock id="oppBlock2" tabStyle="Report">
        <!-- <apex:inputHidden id="LastName_Encrypted__c"         value="{!newCon.LastName_Encrypted__c}"/>
                <apex:inputHidden id="Con_AWS_Data_Id__c"            value="{!newCon.AWS_Data_Id__c}"/> -->
                <apex:inputHidden id="Add_AWS_Data_Id__c"            value="{!insUpdData.AWS_Data_Id__c}"/>
                <!-- zhj 新方案改造 2022-12-05 start -->
                <!-- <apex:inputHidden id="Telephone_Encrypted__c"        value="{!insUpdData.Telephone_Encrypted__c}"/>
        <apex:inputHidden
          id="Add_AWS_Data_Id__c"
          value="{!insUpdData.AWS_Data_Id__c}"
        />
        <!-- zhj 新方案改造 2022-12-05 start -->
        <!-- <apex:inputHidden id="Telephone_Encrypted__c"        value="{!insUpdData.Telephone_Encrypted__c}"/>
                <apex:inputHidden id="ContactName_Encrypted__c"        value="{!insUpdData.ContactName_Encrypted__c}"/>
                <apex:inputHidden id="ZipCode_Encrypted__c"          value="{!insUpdData.ZipCode_Encrypted__c}"/>
                <apex:inputHidden id="Detailed_Address_Encrypted__c" value="{!insUpdData.Detailed_Address_Encrypted__c}"/> -->
                <!-- zhj 新方案改造 2022-12-05 end -->
                <apex:pageblocksection title="编辑地址" id="UpdAddressId" rendered="true" columns="3">
                    <apex:inputfield value="{!insUpdData.Address_Classification__c}" id="Address_Classification__c"/>
                    <apex:inputfield value="{!insUpdData.Customer__c}" id="Customer__r_Name" required="false" />
                    <!-- Before PIPL 20220308 -->
                    <!-- <apex:inputfield value="{!insUpdData.Contacts__c}" id="Contacts__c" required="false"/> -->
                    <!-- WLIG-CCX4BB 【委托】修理直返收货地址功能改造 thh 20220513 start -->
                    <!-- Add By Li Jun for PIPL 20220308 Start -->
                    <!-- <apex:inputText label="联系人" disabled="true" value="{!contactNameValue}" id="Contacts__c">
        <!-- zhj 新方案改造 2022-12-05 end -->
        <apex:pageblocksection
          title="编辑地址"
          id="UpdAddressId"
          rendered="true"
          columns="3"
        >
          <apex:inputfield
            value="{!insUpdData.Address_Classification__c}"
            id="Address_Classification__c"
          />
          <apex:inputfield
            value="{!insUpdData.Customer__c}"
            id="Customer__r_Name"
            required="false"
          />
          <!-- Before PIPL 20220308 -->
          <!-- <apex:inputfield value="{!insUpdData.Contacts__c}" id="Contacts__c" required="false"/> -->
          <!-- WLIG-CCX4BB 【委托】修理直返收货地址功能改造 thh 20220513 start -->
          <!-- Add By Li Jun for PIPL 20220308 Start -->
          <!-- <apex:inputText label="联系人" disabled="true" value="{!contactNameValue}" id="Contacts__c">
                    </apex:inputText>
                    <apex:inputHidden id="contactIdValue" value="{!contactIdValue}"/> -->
                    <apex:inputfield value="{!insUpdData.ContactName__c}" id="ContactName__c"/>
                    <!-- Add By Li Jun for PIPL 20220308 End -->
                    <!-- <apex:inputfield value="{!insUpdData.Create_Contacts__c}" id="Create_Contacts__c" required="false"/> -->
                    <!-- WLIG-CCX4BB 【委托】修理直返收货地址功能改造 thh 20220513 end -->
                    <apex:inputfield value="{!insUpdData.Province__c}" id="Province__r_Name" style="" />
                    <apex:inputfield value="{!insUpdData.City__c}" id="City__r_name" />
                    <apex:inputfield value="{!insUpdData.Telephone__c}" id="Telephone__c" />
                    <apex:inputfield value="{!insUpdData.ZipCode__c}" id="ZipCode__c" />
                    <!-- <apex:pageblockSectionItem /> -->
                    <!-- <apex:inputTextarea value="{!insUpdData.Detailed_Address__c}" id="Detailed_Address__c" style="resize:vertical;width: 90%" rows="3" cols="3"/> -->
                    <apex:inputfield value="{!insUpdData.Detailed_Address__c}" id="Detailed_Address__c" style="resize:vertical;width: 98%"/>
          <apex:inputfield
            value="{!insUpdData.ContactName__c}"
            id="ContactName__c"
          />
          <!-- Add By Li Jun for PIPL 20220308 End -->
          <!-- <apex:inputfield value="{!insUpdData.Create_Contacts__c}" id="Create_Contacts__c" required="false"/> -->
          <!-- WLIG-CCX4BB 【委托】修理直返收货地址功能改造 thh 20220513 end -->
          <apex:inputfield
            value="{!insUpdData.Province__c}"
            id="Province__r_Name"
            style=""
          />
          <apex:inputfield value="{!insUpdData.City__c}" id="City__r_name" />
          <apex:inputfield
            value="{!insUpdData.Telephone__c}"
            id="Telephone__c"
          />
          <apex:inputfield value="{!insUpdData.ZipCode__c}" id="ZipCode__c" />
          <!-- <apex:pageblockSectionItem /> -->
          <!-- <apex:inputTextarea value="{!insUpdData.Detailed_Address__c}" id="Detailed_Address__c" style="resize:vertical;width: 90%" rows="3" cols="3"/> -->
          <apex:inputfield
            value="{!insUpdData.Detailed_Address__c}"
            id="Detailed_Address__c"
            style="resize: vertical; width: 98%"
          />
                    <div id="errorMsg" class="errorMsg"></div>
                </apex:pageblocksection>
          <div id="errorMsg" class="errorMsg"></div>
        </apex:pageblocksection>
                <div style="text-align: center;">
                    <apex:commandButton immediate="true" value="保存" onclick="savaJs();" rerender="dummy"  />
                </div>
                <!-- <script>
        <div style="text-align: center">
          <apex:commandButton
            immediate="true"
            value="保存"
            onclick="savaJs();"
            rerender="dummy"
          />
        </div>
        <!-- <script>
                    replaceSearchContactLookup();
                </script> -->
            </apex:pageBlock>
        </div>
    </apex:form>
    <apex:outputPanel id="checEventFrame">
      <script type="text/javascript">
            j$("select option[value='办事处']")[1].remove();
            DecryptAddress();
        </script>
    </apex:outputPanel>
</apex:page>
      </apex:pageBlock>
    </div>
  </apex:form>
  <apex:outputPanel id="checEventFrame">
    <script type="text/javascript">
      j$("select option[value='办事处']")[1].remove();
      DecryptAddress();
    </script>
  </apex:outputPanel>
</apex:page>