From 1b214a96d371ce90578fb7d6c14eecfcba5f87f0 Mon Sep 17 00:00:00 2001
From: 涂煌豪 <tuhuanghao@prec-tech.com>
Date: 星期一, 11 四月 2022 18:52:32 +0800
Subject: [PATCH] Sfdc2PoContactBatch修改
---
force-app/main/default/pages/CM_SearchContactService.page | 236 +++++++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 220 insertions(+), 16 deletions(-)
diff --git a/force-app/main/default/pages/CM_SearchContactService.page b/force-app/main/default/pages/CM_SearchContactService.page
index addd4de..6f99f37 100644
--- a/force-app/main/default/pages/CM_SearchContactService.page
+++ b/force-app/main/default/pages/CM_SearchContactService.page
@@ -1,21 +1,106 @@
<apex:page id="Page" controller="CM_SearchContactServiceController" sidebar="false" showHeader="false" action="{!init}">
+
+ <!-- 2022/02/15 寮犲崕寤� dependency start -->
+ <apex:includeScript value="{!URLFOR($Resource.AWSService, 'AWSService.js') }" />
+ <!-- 2022/02/15 寮犲崕寤� dependency end -->
<apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}"/>
<apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}"/>
<apex:includeScript value="{!URLFOR($Resource.PleaseWaitDialog)}"/>
+ <style>
+ .decrypt{position: absolute;
+ top: 0;
+ left: 100%;
+ display: none;
+ text-align: left;
+ padding-left: 5px;
+ }
+ a:hover .decrypt{display: block;width: 150px}
+ </style>
<script type="text/javascript">
+
+ // 2022/02/15 寮犲崕寤� 鏀归�燩I start
+ var staticResources = JSON.parse('{!staticResource}');
+ var contactAWSIds = JSON.parse('{!contactAWSIds}');
+ var LastName = '';
+ var contact = {};
+ var now_edit_id = '';
+ var aws_result = {};
+ searchContactAll();
+ function Foo(){
+ j$('[aws-id]').each(function(i,e){
+ let awsDataId = j$(e).attr('aws-id');
+ if (contact.hasOwnProperty(awsDataId)) {
+ let piInformation = '濮撳悕:'+contact[awsDataId].lastName +'<br/>' +'鎵嬫満鍙�:'+ (contact[awsDataId].mobilePhone ? contact[awsDataId].mobilePhone :'');
+ j$(e).find('.decrypt').html(piInformation);
+ }else{
+ console.log(awsDataId+' not in contact');
+ }
+
+ });
+ }
+
+ function preparePayloadForSearchContact(){
+ let searchPayload = new Object();
+ searchPayload.dataIds = contactAWSIds;
+ searchPayload.contactName = LastName;
+ return JSON.stringify(searchPayload);
+ }
+
+ function searchContactAll(){
+ let data = preparePayloadForSearchContact();
+ let searchCallBack = function searchCallBack(result){
+ let contacts = result.object;
+ if(contacts == null){
+ return;
+ }
+ for(var i=0;i<contacts.length;i++){
+ let temp = {}
+ temp.lastName = contacts[i].lastName;
+ temp.mobilePhone = contacts[i].mobilePhone;
+
+ contact[contacts[i].dataId] = temp;
+ }
+ console.log(JSON.stringify(contact));
+ Foo();
+ };
+ AWSService.search(staticResources.searchUrl,data,searchCallBack,staticResources.token);
+ }
+
function searchContactJs() {
blockme();
- searchContact();
+ LastName = document.getElementById('Page:allForm:searchBlock:LastName').value;
+ let awsDataIdArray = [];
+ for(var key in contact){
+ if(contact[key].lastName.includes(LastName)){
+ awsDataIdArray.push(key);
+ }
+ }
+ console.log(awsDataIdArray)
+ if(awsDataIdArray.length == 0){
+ clearLineInfoList();
+ return;
+ }
+ searchContactAll();
+ searchContact(awsDataIdArray.toString());
}
+ // 2022/02/15 寮犲崕寤� 鏀归�燩I end
function editContactJs(conid) {
blockme();
+ now_edit_id=conid;// 2022/02/15 寰愪寒 鏀归�燩I
editContact(conid);
}
function editSaveJs() {
+
+ document.getElementById("errorMsg").innerHTML = '';
+ if(!document.getElementById("Page:allForm:editBlock:Search_LastName__c").value){
+ document.getElementById("errorMsg").innerHTML = '<strong>閿欒:</strong> 蹇呴』濉啓銆�';
+ return;
+ }
+
blockme();
- saveNew();
+ ProcessPI({},GetEditObj());
}
function editClearJs() {
@@ -23,12 +108,16 @@
editClear();
}
- function setContact(line) {
+ function setContact(line,awsDataId) {
var openLine = '{!openLine}';
var cm = 'allPage:allForm:allBlock:records:'+ (openLine - 1) + ':contact';
var cmid = 'allPage:allForm:allBlock:records:'+ (openLine - 1) + ':contactId';
var conid = j$(escapeVfId('Page:allForm:listBlock:lineinfo:' + (line - 1) + ':conId')).value();
- var conname = j$(escapeVfId('Page:allForm:listBlock:lineinfo:' + (line - 1) + ':conName')).value();
+ //var conname = j$(escapeVfId('Page:allForm:listBlock:lineinfo:' + (line - 1) + ':conName')).value();
+ //2022/02/15 寮犲崕寤� 璧嬪�兼垚鏄庢枃 start
+ var conname = contact[awsDataId].lastName;
+ //2022/02/15 寮犲崕寤� 璧嬪�兼垚鏄庢枃 end
+
// 2018/11/19 HWAG-B399RW 鑷姩璁剧疆鐪佸拰甯� start
var cityName = j$(escapeVfId('Page:allForm:listBlock:lineinfo:' + (line - 1) + ':City')).value();
var StateName = j$(escapeVfId('Page:allForm:listBlock:lineinfo:' + (line - 1) + ':State')).value();
@@ -45,19 +134,119 @@
window.close();
}
+
+ function showPIDiv(dataId,awsDataId){
+ // console.log('awsDataId Value:'+awsDataId);
+ // let parentNode = document.getElementById(awsDataId);
+ // let createDiv = document.createElement("div");
+ // createDiv.id = awsDataId+"_PI";
+ // let piInformation = 'Name:'+contact[awsDataId].lastName +'\n' +'Phone:'+contact[awsDataId].phone
+ // //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.background="#dddddd";
+ // createDiv.style.position = "absolute";
+ // parentNode.appendChild(createDiv);
+ console.log('dataId:'+dataId+'awsDataId Value:'+awsDataId);
+ let piInformation = '濮撳悕:'+contact[awsDataId].lastName +'\n' +'鐢佃瘽:'+ (contact[awsDataId].mobilePhone?contact[awsDataId].mobilePhone:'');
+ document.getElementById(dataId+'_'+awsDataId).innerText = piInformation;
+ }
+
+ function hidePIDiv(dataId,awsDataId){
+ // document.getElementById(awsDataId+'_PI').remove();
+ document.getElementById(dataId+'_'+awsDataId).innerText = '';
+ }
+
+ // 2022骞�2鏈�15鏃� PI鏀归�� 寰愪寒 start
+ function sobjectToAws(){
+ let aws_id = document.getElementById("Page:allForm:editBlock:AWS_Data_Id__c").value;
+ if(contact.hasOwnProperty(aws_id)){
+ return contact[aws_id];
+ }
+ else{
+ console.log('not found aws data in contact obj');
+ return {};
+ }
+ }
+
+ function GetAWSResultObj(){
+ if(aws_result && aws_result.object && aws_result.object.length > 0){
+ return aws_result.object[0];
+ }
+ return null;
+ }
+ function ProcessPI(sobjJson, payloadForNewPI) {
+ //blockme();
+ let url = staticResources.newUrl
+ if (now_edit_id) {
+ url = staticResources.updateUrl
+ }
+ AWSService.post(url, payloadForNewPI, function(result){
+ aws_result = result;
+ SetEditObj();
+ saveNew();
+ }, staticResources.token);
+ }
+
+ function Trans(){
+
+ AWSService.post(staticResources.transactionUrl, JSON.stringify({
+ "txId":aws_result.txId,
+ "isSuccess":1
+ }), function(result){
+ window.location.reload();
+ }, staticResources.token);
+ }
+
+ function assignUnencrypted(){
+ let obj = sobjectToAws();
+ document.getElementById("Page:allForm:editBlock:Search_LastName__c").value = obj.lastName;
+ //document.getElementById("Page:allForm:editBlock:Phone").value = obj.phone;
+ unblockUI();
+ }
+
+ function GetEditObj(){
+ return JSON.stringify([{
+ lastName : document.getElementById("Page:allForm:editBlock:Search_LastName__c").value,
+ //phone : document.getElementById("Page:allForm:editBlock:Phone").value,
+ dataId:document.getElementById("Page:allForm:editBlock:AWS_Data_Id__c").value,
+ }]);
+ }
+
+ function SetEditObj(){
+ let obj = GetAWSResultObj();
+ if(obj){
+ document.getElementById("Page:allForm:editBlock:AWS_Data_Id__c").value = obj.dataId;
+ document.getElementById("Page:allForm:editBlock:Search_LastName__c").value = obj.lastName;
+ document.getElementById("Page:allForm:editBlock:LastName_Encrypted__c").value = obj.lastNameEncrypt;
+ //document.getElementById("Page:allForm:editBlock:Phone").value = obj.phone;
+ document.getElementById("Page:allForm:editBlock:Phone_Encrypted__c").value = obj.phoneEncrypt;
+ }
+
+ }
+
+ // 2022骞�2鏈�15鏃� PI鏀归�� 寰愪寒 end
+
</script>
<apex:form id="allForm">
- <apex:actionFunction name="searchContact" action="{!searchContact}" rerender="allForm,allPanel" onComplete="unblockUI();">
+ <apex:actionFunction name="searchContact" action="{!searchContact}" rerender="allForm,allPanel" onComplete="unblockUI();Foo()">
+ <apex:param name="awsDataIdArray" assignTo="{!awsDataIdArray}" value="" />
</apex:actionFunction>
- <apex:actionFunction name="editContact" action="{!editContact}" rerender="allForm,allPanel" onComplete="unblockUI();">
+ <apex:actionFunction name="editContact" action="{!editContact}" rerender="allForm,allPanel" onComplete="assignUnencrypted();">
<apex:param name="firstParam" assignTo="{!conId}" value="" />
</apex:actionFunction>
- <apex:actionFunction name="saveNew" action="{!saveNew}" rerender="allForm,allPanel" onComplete="unblockUI();">
+ <apex:actionFunction name="saveNew" action="{!saveNew}" rerender="allForm,allPanel" onComplete="Trans();">
</apex:actionFunction>
<apex:actionFunction name="editClear" action="{!editClear}" rerender="allForm,allPanel" onComplete="unblockUI();">
</apex:actionFunction>
-
+ <!-- 2022/02/15 寮犲崕寤� 娓呯┖LineInfoList start -->
+ <apex:actionFunction name="clearLineInfoList" action="{!clearLineInfoList}" rerender="allForm" onComplete="unblockUI();">
+ </apex:actionFunction>
+ <!-- 2022/02/15 寮犲崕寤� 娓呯┖LineInfoList end -->
<apex:outputPanel id="allPanel">
<apex:pageBlock id="searchBlock" title="妫�绱㈡潯浠�">
<table class="linetable" border="0" style="border-collapse: collapse;width:600px;table-layout:fixed;">
@@ -70,9 +259,11 @@
</colgroup>
<tr>
<td>{!$ObjectType.Contact.fields.LastName.Label}</td>
- <td><apex:inputField value="{!searchCon.Search_LastName__c}" style="width: 90%"/></td>
- <td>{!$ObjectType.Contact.fields.FirstName.Label}</td>
- <td><apex:inputField value="{!searchCon.Search_FirstName__c}" style="width: 90%"/></td>
+ <td><apex:inputField id="LastName" value="{!searchCon.Search_LastName__c}" style="width: 90%"/></td>
+ <!-- 2022/02/15 寮犲崕寤� 涓嶉渶瑕丗irstName start -->
+ <!-- <td>{!$ObjectType.Contact.fields.FirstName.Label}</td>
+ <td><apex:inputField id="FirstName" value="{!searchCon.Search_FirstName__c}" style="width: 90%"/></td> -->
+ <!-- 2022/02/15 寮犲崕寤� 涓嶉渶瑕丗irstName end -->
<td><input type="button" value="妫�绱�" onclick="searchContactJs(); return null;" /></td>
</tr>
</table>
@@ -83,7 +274,7 @@
<table class="edittable" border="0" style="border-collapse: collapse;width:580px;table-layout:fixed;">
<colgroup>
<col width="50px" />
- <col width="100px" />
+ <col width="200px" />
<col width="380px" />
<col width="50px" />
</colgroup>
@@ -104,7 +295,16 @@
<!-- 2018/11/19 HWAG-B399RW 瀛樺彇瀹㈡埛浜哄憳鐪佸競鏁版嵁 end -->
</td>
- <td><a href="#" onclick="setContact('{!lineinfo.lineNo}');">{!lineinfo.con.Name}</a></td>
+ <!-- <td><a href="#" onclick="setContact('{!lineinfo.lineNo}');" id="943114607025717249" onmouseover="showPIDiv('943114607025717249')" onmouseout="hidePIDiv('943114607025717249')">{!lineinfo.con.Name}</a></td> -->
+ <!-- 2022/02/15 寮犲崕寤� 瑙e瘑淇℃伅 start -->
+ <td>
+ <a target="_blank" onclick="setContact('{!lineinfo.lineNo}','{!lineinfo.con.AWS_Data_Id__c}');" aws-id="{!lineinfo.con.AWS_Data_Id__c}" style="position:relative">
+ <span class="encrypt">{!lineinfo.con.Name}</span>
+ <span class="decrypt"></span>
+ </a>
+
+ </td>
+ <!-- 2022/02/15 寮犲崕寤� 瑙e瘑淇℃伅 end -->
<td>{!lineinfo.con.AccountName__c}</td>
<td><input style="width:90%;" type="button" value="缂栬緫" onclick="editContactJs('{!lineinfo.con.Id}'); return null;" /></td>
</tr>
@@ -118,6 +318,9 @@
<apex:commandButton onclick="editClearJs();" value="娓呯┖" rerender="dummy"/>
<apex:commandButton onclick="editSaveJs();" value="淇濆瓨" rerender="dummy"/>
</apex:pageBlockButtons>
+ <apex:inputHidden id="LastName_Encrypted__c" value="{!newCon.LastName_Encrypted__c}"/>
+ <apex:inputHidden id="Phone_Encrypted__c" value="{!newCon.Phone_Encrypted__c}"/>
+ <apex:inputHidden id="AWS_Data_Id__c" value="{!newCon.AWS_Data_Id__c}"/>
<table class="edittable" border="0" style="border-collapse: collapse; width:600px; table-layout:fixed;">
<colgroup>
<col width="50px" />
@@ -130,10 +333,11 @@
<tr>
<td>{!$ObjectType.Contact.fields.LastName.Label}</td>
<td><span><div class="requiredInput"><div class="requiredBlock"></div>
- <apex:inputField value="{!newCon.Search_LastName__c}" style="width: 90%"/>
+ <apex:inputField id="Search_LastName__c" value="{!newCon.Search_LastName__c}" style="width: 90%"/>
+ <div id="errorMsg" class="errorMsg"></div>
</div></span></td>
- <td>{!$ObjectType.Contact.fields.FirstName.Label}</td>
- <td><apex:inputField value="{!newCon.Search_FirstName__c}" style="width: 90%"/></td>
+ <!-- <td>{!$ObjectType.Contact.fields.FirstName.Label}</td>
+ <td><apex:inputField value="{!newCon.Search_FirstName__c}" style="width: 90%"/></td> -->
</tr>
<tr>
<td>{!$ObjectType.Contact.fields.Supplement__c.Label}</td>
--
Gitblit v1.9.1