From 2d4a8d2dcad5a17127d2c73c48ddc4b67ec79448 Mon Sep 17 00:00:00 2001 From: buli <137736985@qq.com> Date: 星期三, 06 四月 2022 11:51:58 +0800 Subject: [PATCH] PIPLDeploy0405 --- force-app/main/default/pages/CM_SearchContact.page | 280 +++++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 237 insertions(+), 43 deletions(-) diff --git a/force-app/main/default/pages/CM_SearchContact.page b/force-app/main/default/pages/CM_SearchContact.page index 3092cbb..02af455 100644 --- a/force-app/main/default/pages/CM_SearchContact.page +++ b/force-app/main/default/pages/CM_SearchContact.page @@ -1,21 +1,83 @@ <apex:page id="Page" controller="CM_SearchContact" sidebar="false" showHeader="false" action="{!init}"> <apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}"/> + <!-- 2022/02/15 寮犲崕寤� dependency start --> + <apex:includeScript value="{!URLFOR($Resource.AWSService, 'AWSService.js') }" /> + <!-- 2022/02/15 寮犲崕寤� dependency end --> <apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}"/> <apex:includeScript value="{!URLFOR($Resource.PleaseWaitDialog)}"/> <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 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.phone = contacts[i].phone; + + contact[contacts[i].dataId] = temp; + } + console.log(JSON.stringify(contact)); + }; + 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,14 +85,17 @@ 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 j$(escapeVfId(cmid),window.opener.document).val(conid); j$(escapeVfId(cm),window.opener.document).val(conname); @@ -53,19 +118,137 @@ window.close(); } + + function showPIDiv(awsDataId){ + console.log('awsDataId Value:'+awsDataId); + let parentNode = document.getElementById(awsDataId); + let createDiv = document.createElement("div"); + createDiv.id = awsDataId+"_PI"; + let piInformation = '濮撳悕:'+contact[awsDataId].lastName +'\n' +'鐢佃瘽:'+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); + parentNode.style.position = "relative"; + } + + function hidePIDiv(awsDataId){ + document.getElementById(awsDataId+'_PI').remove(); + } + + // 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) { + + 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(){ + /* + jQuery.ajax({ + "type":"post", + "url":staticResources.transactionUrl, + "data":{ + "txId":aws_result.txId, + "isSuccess":1 + }, + beforeSend: function(request) { + request.setRequestHeader("pi-token",staticResources.token); + request.setRequestHeader('Content-Type', 'application/json'); + }, + success:function(data){ + console.log(data); + }, + error:function(jqXHR, textStatus, errorThrown) { + console.log(jqXHR); + console.log(textStatus); + console.log(errorThrown); + } + });*/ + + 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" onComplete="unblockUI();"> + <apex:param name="awsDataIdArray" assignTo="{!awsDataIdArray}" value="" /> </apex:actionFunction> - <apex:actionFunction name="editContact" action="{!editContact}" rerender="allForm" onComplete="unblockUI();"> + <apex:actionFunction name="editContact" action="{!editContact}" rerender="allForm" onComplete="assignUnencrypted();"> <apex:param name="firstParam" assignTo="{!conId}" value="" /> </apex:actionFunction> - <apex:actionFunction name="saveNew" action="{!saveNew}" rerender="allForm" onComplete="unblockUI();"> + <apex:actionFunction name="saveNew" action="{!saveNew}" rerender="allForm" onComplete="Trans();"> </apex:actionFunction> <apex:actionFunction name="editClear" action="{!editClear}" rerender="allForm" 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;"> @@ -78,44 +261,49 @@ </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> </apex:pageBlock> <apex:pageBlock id="listBlock" title="妫�绱㈢粨鏋�"> - <div style="height: 200px; overflow-y: auto; overflow-x: hidden;"> - <table class="edittable" border="0" style="border-collapse: collapse;width:580px;table-layout:fixed;"> - <colgroup> - <col width="50px" /> - <col width="100px" /> - <col width="380px" /> - <col width="50px" /> - </colgroup> - <tr> - <th>No.</th> - <th>{!$ObjectType.Contact.fields.Name.Label}</th> - <th>{!$ObjectType.Contact.fields.AccountName__c.Label}</th> - <th>鎿嶄綔</th> - </tr> - <apex:repeat id="lineinfo" value="{!lineInfoList}" var="lineinfo"> - <tr> - <td>{!lineinfo.lineNo} - <apex:inputHidden id="conId" value="{!lineinfo.con.id}"/> - <apex:inputHidden id="conName" value="{!lineinfo.con.name}"/> - <apex:inputHidden id="accountName" value="{!lineinfo.con.AccountName__c}"/> - <apex:inputHidden id="accountid" value="{!lineinfo.con.accountid}"/> - </td> - <td><a href="#" onclick="setContact('{!lineinfo.lineNo}');">{!lineinfo.con.Name}</a></td> - <td>{!lineinfo.con.AccountName__c}</td> - <td><input style="width:90%;" type="button" value="缂栬緫" onclick="editContactJs('{!lineinfo.con.Id}'); return null;" /></td> - </tr> - </apex:repeat> - </table> - </div> + <div style="height: 200px; overflow-y: auto; overflow-x: hidden;"> + <table class="edittable" border="0" style="border-collapse: collapse;width:580px;table-layout:fixed;"> + <colgroup> + <col width="50px" /> + <col width="100px" /> + <col width="380px" /> + <col width="50px" /> + </colgroup> + <tr> + <th>No.</th> + <th>{!$ObjectType.Contact.fields.Name.Label}</th> + <th>{!$ObjectType.Contact.fields.AccountName__c.Label}</th> + <th>鎿嶄綔</th> + </tr> + <apex:repeat id="lineinfo" value="{!lineInfoList}" var="lineinfo"> + <tr> + <td>{!lineinfo.lineNo} + <apex:inputHidden id="conId" value="{!lineinfo.con.id}"/> + <apex:inputHidden id="conName" value="{!lineinfo.con.name}"/> + <apex:inputHidden id="accountName" value="{!lineinfo.con.AccountName__c}"/> + <apex:inputHidden id="accountid" value="{!lineinfo.con.accountid}"/> + </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 href="#" onclick="setContact('{!lineinfo.lineNo}','{!lineinfo.con.AWS_Data_Id__c}');" id="{!lineinfo.con.AWS_Data_Id__c}" onmouseover="showPIDiv('{!lineinfo.con.AWS_Data_Id__c}')" onmouseout="hidePIDiv('{!lineinfo.con.AWS_Data_Id__c}')">{!lineinfo.con.Name}</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> + </apex:repeat> + </table> + </div> </apex:pageBlock> <apex:pageBlock id="editBlock" title="鑱旂郴浜虹紪杈�"> @@ -123,6 +311,11 @@ <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" /> @@ -135,12 +328,13 @@ <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> --> <td>{!$ObjectType.Contact.fields.Phone.Label}</td> - <td><apex:inputField value="{!newCon.Phone}" style="width: 90%"/></td> + <td><apex:inputField id="Phone" value="{!newCon.Phone}" style="width: 90%"/></td> </tr> <tr> <td>{!$ObjectType.Contact.fields.Supplement__c.Label}</td> -- Gitblit v1.9.1