GWY
2022-04-15 b823c7f3569cf9368e2245846e918f78f32e903a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
<apex:page standardController="Order" extensions="NewAndEditOrderController" id="page">
    <apex:includeScript value="{! URLFOR($Resource.AWSService, 'AWSService.js') }"/>
    <apex:form id="form">
        <apex:pageblock id="pageBlock">
            <apex:pageBlockSection showHeader="false" title="" collapsible="true" columns="2" id="pageBlockSection">
                <!--Each section has layoutFields, let's iterate them as well-->
                <apex:repeat value="{!layoutEncryptedAPIList}" var="encryptedAPI">
                    <apex:outputField html-data-id="{!encryptedAPI}" title="{!ApiPrefix}{!encryptedAPI}" value="{!Order[encryptedAPI]}" />
                </apex:repeat>
                <apex:outputField html-data-id="EndUser__c" title="{!ApiPrefix}EndUser__c" value="{!Order['EndUser__c']}" />
                <apex:outputField html-data-id="EndUserD__c" title="{!ApiPrefix}EndUserD__c" value="{!Order['EndUserD__c']}" />
            </apex:pageBlockSection>
            <script>
                var config = {
                    SobjectName : "{!SobjectName}",
                    ApiPrefix:"{!ApiPrefix}",
                    AWSToSobjectMap:{!AWSToSobjectMapJson},
                    AWSToSobjectNonEncryptedMap:{!AWSToSobjectNonEncryptedMapJson},
                    AWSToSobjectEncryptedMap:{!AWSToSobjectEncryptedMapJson}
                };
                var staticResources = JSON.parse('{!staticResource}');
                var staticResourceContact = JSON.parse('{!staticResourceContact}');
                function QuerySobjectFromAWS() {
                    AWSService.query(staticResources.queryUrl, '{!AWSDataId}', queryBack, staticResources.token);
                    debugger
                    let t = "[title='"+config.ApiPrefix+"EndUser__c']";
                    let ele = document.querySelector(t);
                    if('{!contactAWSDataId}' != '无' && '{!contactName}' != '无'){
                        if('{!contactAWSDataId}' != ''){
                            AWSService.query(staticResourceContact.queryUrl, '{!contactAWSDataId}', queryContactBack, staticResourceContact.token);
                        }else{
                            ele.innerHTML = '{!contactName}';
                        }
                    }else{
                        ele.innerHTML = '';
                    }
 
                    let endUserD = "[title='"+config.ApiPrefix+"EndUserD__c']";
                    let eleUserD = document.querySelector(endUserD);
                    if('{!contactAWSDataId}' != '无' && '{!contactName}' != '无'){
                        if('{!endUserDAWSDataId}' != ''){
                            AWSService.query(staticResourceContact.queryUrl, '{!endUserDAWSDataId}', queryEndUserDBack, staticResourceContact.token);
                        }else{
                            eleUserD.innerHTML = '{!endUserDName}';
                        }
                    }else{
                        eleUserD.innerHTML = '';
                    }
                }
                var queryContactBack = function queryContactBack(data){
                    if(!data.object){
                        console.log('data.object is ' + data.object);
                        return;
                    }
                    console.log('data.object is ' + data.object);
                    
                    let t = "[title='"+config.ApiPrefix+"EndUser__c']";
                    let ele = document.querySelector(t);
                    if(ele){
                        ele.title='';
                        ele.innerHTML = data.object.lastName;
                    }
                };
 
                var queryEndUserDBack = function queryEndUserDBack(data){
                    if(!data.object){
                        console.log('data.object is ' + data.object);
                        return;
                    }
                    console.log('data.object is ' + data.object);
                    
                    let endUserD = "[title='"+config.ApiPrefix+"EndUserD__c']";
                    let eleUserD = document.querySelector(endUserD);
                    if(eleUserD){
                        eleUserD.title='';
                        eleUserD.innerHTML = data.object.lastName;
                    }
                };
 
                var queryBack = function queryBack(data) {
                    if(!data.object){
                        console.log('data.object is ' + data.object);
                        return;
                    }
 
                    for(let f in config.AWSToSobjectNonEncryptedMap){
                        let t = "[title='"+config.ApiPrefix+config.AWSToSobjectNonEncryptedMap[f]+"']";
                        let ele = document.querySelector(t);
                        if(ele){
                            ele.title = '';
                            if(data.object.hasOwnProperty(f)){
                                ele.innerHTML = data.object[f];
                            }
                            else{
                                console.log(f + 'is not in data.object');
                            }
                        }else{
                            console.log('selector='+t+' not found');
                        }
                        
                    }
                    // 当不能自动正确替换加密数据时需要在此处添加js,硬编码处理
                    // document.querySelector("[data-id='LastName']").value = data.object.lastName;
                };
                sfdcPage.appendToOnloadQueue(function () {
                    console.log('sfdcPage.appendToOnloadQueue')
                    // document.querySelector("[data-id='LastName']").parentNode.parentNode.parentNode.children[0].innerText = '姓名'
                    QuerySobjectFromAWS();
                });
            </script>
        </apex:pageblock>
    </apex:form>
</apex:page>