Li Jun
2022-03-31 3ba0123db48f8bab81ddf0913e1b95280ef545e8
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
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
<apex:page Controller="SLAReportDetailsController" showHeader="false" sidebar="false" id="allPage" action="{!init}" title="信息更新">
    <apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}"/>
    <apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}"/>
    <apex:includeScript value="{!URLFOR($Resource.PleaseWaitDialog)}"/>
    <apex:includeScript value="{! URLFOR($Resource.AWSService, 'AWSService.js') }" />
    <apex:includeScript value="/soap/ajax/40.0/connection.js"/>
    <script>
        function cancelJs() {
            window.opener=null;
            window.close();
        }
        
        function saveSLAInfoId(slaInfoId,index){
            var error = document.getElementById('allPage:allForm:allBlock:Editable:error').value;
            console.log('error='+error);
            if(error == 'false'){
                window.opener.document.getElementById('Page:mainForm:idDayEdit:idActivities:'+index+':EventCSLAInfoId').value = slaInfoId;
                window.close();
            }
        }
 
        var slaInfoStr = JSON.parse('{!slaInfoStr}');
        var staticResourceContact = JSON.parse('{!staticResourceContact}');
        var ids = [];
        var dataIds = [];
        var condition = '';
        var contact = {};
        queryContact();
        function q1(){
            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++){
                        if(result.object[i].sfRecordId != null){
                            var o = [];
                            o.lastName = result.object[i].lastName;
                            o.phone = result.object[i].phone;
                            contact[result.object[i].sfRecordId] = o;
                        }
                    }
                    resolve('success');
                }
                let searchPayload = new Object();
                searchPayload.dataIds = dataIds;
                searchPayload.contactName = '';
                AWSService.search(staticResourceContact.searchUrl, JSON.stringify(searchPayload), queryBack, staticResourceContact.token);
            });
            return p;
        }
        function q2(){
            var p = new Promise(function(resolve, reject){
                for(let key in contact){
                    var k = ''+key;
                    document.getElementById(k).innerText = contact[k].lastName;
                    if(document.getElementById(k+'_Phone')){
                        document.getElementById(k+'_Phone').innerText = contact[k].phone;
                    }
                }
            });
            return p;
        }
        function queryContact(){
            blockme();
            ids.push(slaInfoStr.Visitor1__c!=null?slaInfoStr.Visitor1__c:"")
            ids.push(slaInfoStr.Visitor2__c!=null?slaInfoStr.Visitor2__c:"")
            ids.push(slaInfoStr.Visitor3__c!=null?slaInfoStr.Visitor3__c:"")
            ids.push(slaInfoStr.Visitor4__c!=null?slaInfoStr.Visitor4__c:"")
            ids.push(slaInfoStr.Visitor5__c!=null?slaInfoStr.Visitor5__c:"")
            sforce.connection.sessionId = '{!GETSESSIONID()}';
            for(var i=0;i<ids.length;i++){
                condition += "," + "\'"+ids[i]+"\'";
            }
            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++){
                dataIds.push(records[i].AWS_Data_Id__c);
            }
            q1().then(function(data){
                        return q2(data);
                    });
            unblockUI();
        }
    </script>
    <apex:form id="allForm">
        <apex:actionFunction name="save" action="{!save}" rerender="allForm" oncomplete="saveSLAInfoId('{!slaInfoId}','{!index}');" ></apex:actionFunction>
        <apex:pageBlock id="allBlock" >
            <apex:outputPanel id="message" >
                <apex:pageMessages />
            </apex:outputPanel>
            <apex:pageBlock title="填写信息更新" id="Editable">
                <apex:pageBlockSection columns="1" id="accList" >
                    <apex:pageBlockSectionItem labelStyle="text-align:left;">
                        <apex:outputLabel value="访问场所"></apex:outputLabel>
                        <apex:outputField id="Account_ID__c" value="{!slaInfo.Account_ID__c}"/> 
                    </apex:pageBlockSectionItem>
                </apex:pageBlockSection>
                <apex:inputHidden id="error" value="{!error}" />
                <apex:pageBlockSection columns="2" id="inList">
                    <apex:pageBlockSectionItem labelStyle="text-align:left;">
                        <apex:outputLabel value="发放人"></apex:outputLabel>
                        <apex:inputField id="Distribution_Person__c" value="{!slaInfo.Distribution_Person__c}" required="true" /> 
                    </apex:pageBlockSectionItem>
                    <apex:pageBlockSectionItem labelStyle="text-align:left;">
                        <apex:outputLabel value="发放方式"></apex:outputLabel>
                        <apex:inputField id="Distribution_Method__c" value="{!slaInfo.Distribution_Method__c}" required="true"  />
                    </apex:pageBlockSectionItem>
                    <apex:pageBlockSectionItem labelStyle="text-align:left;">
                        <apex:outputLabel value="访问对象1"></apex:outputLabel>
                        <!-- <apex:outputField id="{!slaInfo.Visitor1__c}" value="{!slaInfo.Visitor1__c}" />  -->
                        <span id="{!slaInfo.Visitor1__c}">{!slaInfo.Visitor1__c}</span>
                    </apex:pageBlockSectionItem>
                    <apex:pageBlockSectionItem labelStyle="text-align:left;">
                        <apex:outputLabel value="访问对象1电话"></apex:outputLabel>
                        <!-- <apex:outputField id="{!slaInfo.Visitor1__c}_Phone" value="{!slaInfo.Visitor1__r.Phone}" />  -->
                        <span id="{!slaInfo.Visitor1__c}_Phone">{!slaInfo.Visitor1__r.Phone}</span>
                    </apex:pageBlockSectionItem>
                    <apex:pageBlockSectionItem labelStyle="text-align:left;">
                        <apex:outputLabel value="访问对象2"></apex:outputLabel>
                        <!-- <apex:outputField id="{!slaInfo.Visitor2__c}" value="{!slaInfo.Visitor2__c}" />  -->
                        <span id="{!slaInfo.Visitor2__c}">{!slaInfo.Visitor2__c}</span>
                    </apex:pageBlockSectionItem>
                    <apex:pageBlockSectionItem labelStyle="text-align:left;">
                        <apex:outputLabel value="访问对象3"></apex:outputLabel>
                        <!-- <apex:outputField id="{!slaInfo.Visitor3__c}" value="{!slaInfo.Visitor3__c}" />  -->
                        <span id="{!slaInfo.Visitor3__c}">{!slaInfo.Visitor3__c}</span>
                    </apex:pageBlockSectionItem>
                    <apex:pageBlockSectionItem labelStyle="text-align:left;">
                        <apex:outputLabel value="访问对象4"></apex:outputLabel>
                        <!-- <apex:outputField id="{!slaInfo.Visitor4__c}" value="{!slaInfo.Visitor4__c}" />  -->
                        <span id="{!slaInfo.Visitor4__c}">{!slaInfo.Visitor4__c}</span>
                    </apex:pageBlockSectionItem>
                    <apex:pageBlockSectionItem labelStyle="text-align:left;">
                        <apex:outputLabel value="访问对象5"></apex:outputLabel>
                        <!-- <apex:outputField id="{!slaInfo.Visitor5__c}" value="{!slaInfo.Visitor5__c}" /> -->
                        <span id="{!slaInfo.Visitor5__c}">{!slaInfo.Visitor5__c}</span>
                    </apex:pageBlockSectionItem>
                </apex:pageBlockSection>
                <apex:commandButton onclick="save()" rerender="goOrNot,inList" value="保存" style="width: 150px;margin-left: 50px;"/>
                <apex:commandButton onClick="cancelJs()" value="取消" style="width: 150px;margin-left: 50px;"/>
            </apex:pageBlock> 
        </apex:pageBlock>
    </apex:form>    
</apex:page>