From fb04e7c01d119c60632b4298d18fd93f3ccb3d79 Mon Sep 17 00:00:00 2001 From: Li Jun <buli@deloitte.com.cn> Date: 星期三, 06 四月 2022 10:32:05 +0800 Subject: [PATCH] 20220405DeployProduction --- force-app/main/default/pages/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