From 559771a80cf779dc13a84ecd2f178e6ca5a8353a Mon Sep 17 00:00:00 2001 From: FUYU <fuyu@prec-tech.com> Date: 星期五, 19 五月 2023 15:52:16 +0800 Subject: [PATCH] 备份省目标录入 --- force-app/main/default/pages/CM_SearchContactService.page | 338 +++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 321 insertions(+), 17 deletions(-) diff --git a/force-app/main/default/pages/CM_SearchContactService.page b/force-app/main/default/pages/CM_SearchContactService.page index addd4de..497847b 100644 --- a/force-app/main/default/pages/CM_SearchContactService.page +++ b/force-app/main/default/pages/CM_SearchContactService.page @@ -1,21 +1,113 @@ <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 + //zhj 2022-02-04 鏂版柟妗堟敼閫� start + var accountId = '{!accountIdV2}' + var accountName = ''; + var dataIdManageCodeMap = {}; + var staticResourcesV2 = JSON.parse('{!staticResourceContactV2}'); + //zhj 2022-02-04 鏂版柟妗堟敼閫� end + 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() { + hiddenErrorMsgNode(); //zhj MEBG鏂版柟妗堟敼閫� 2022-11-24 + + 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 +115,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 +141,204 @@ 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(); + // //zhj 2022-02-04 鏂版柟妗堟敼閫� start + // // let url = staticResources.newUrl + // // if (now_edit_id) { + // // url = staticResources.updateUrl + // // } + // let url = staticResourcesV2.newUrl + // if (now_edit_id) { + // url = staticResourcesV2.updateUrl + // } + // //zhj 2022-02-04 鏂版柟妗堟敼閫� end + // AWSService.post(url, payloadForNewPI, function(result){ + // aws_result = result; + // //zhj MEBG鏂版柟妗堟敼閫� 2022-11-24 start + // if(r.status == '129'){ + // alertErrorMessage('瀹㈡埛 [ '+accountName+ ' ],宸插瓨鍦ㄧ浉鍚屽悕瀛楃殑鑱旂郴浜� 浜哄憳绠$悊缂栫爜 ['+dataIdManageCodeMap[r.object[0].dataId]+' ] 锛屼笉鑳介噸澶嶅垱寤猴紝璇蜂簡瑙�'); + // unblockUI(); + // return + // } + // if(r.status == '130'){ + // if(r.object[0] && r.object[0].sfRecordId != null && r.object[0].sfRecordId != '') + // alertErrorMessage('宸叉壘鍒伴噸澶嶅�硷細 UniqueNumber__c 涓庤褰曞�奸噸澶嶏紝ID 涓�: '+r.object[0].sfRecordId+'瀹㈡埛浜哄憳淇℃伅'); + // else + // alertErrorMessage('鏁版嵁涓瓨鍦ㄩ噸澶嶇殑鐢佃瘽鍙风爜'); + // unblockUI(); + // return + // } + // //zhj MEBG鏂版柟妗堟敼閫� 2022-11-24 end + // SetEditObj(); + // saveNew(); + // }, staticResources.token); + } + + function Trans(){ + debugger + AWSService.post(staticResources.transactionUrl, JSON.stringify({ + "txId":aws_result.txId, + "isSuccess":1, + "sfRecordId":document.getElementById('Page:allForm:sfContactId').value, + }), 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(){ + //zhj 2022-02-04 鏂版柟妗堟敼閫� start + Visualforce.remoting.Manager.invokeAction( + 'CM_SearchContactServiceController.searchContactByAccountId', + accountId, + function (result, event) { + if(result.status == 'fail'){ + alertErrorMessage(result.message); + return + } + console.log('result = ' + JSON.stringify(result)); + accountName = result.accountName; + dataIdManageCodeMap = result.dataIdManageCodeMap; + var contactList = ''; + for(var i = 0; i<result.contactList.length; i++){ + if(result.contactList[i].AWS_Data_Id__c) + contactList += ',' + result.contactList[i].AWS_Data_Id__c; + } + contactList = contactList.substring(1); + var payloadForNewPI = JSON.stringify([{ + lastName : document.getElementById("Page:allForm:editBlock:Search_LastName__c").value, + mobilePhone : '', + dataId : document.getElementById("Page:allForm:editBlock:AWS_Data_Id__c").value, + contactIds : contactList, + isMobileVerif : result.isMobileVerif, + isNameMobileVerif : result.isNameMobileVerif + }]); + console.log('payloadForNewPI = ' + JSON.stringify(payloadForNewPI)); + debugger + let url = staticResourcesV2.newUrl + if (now_edit_id) { + url = staticResourcesV2.updateUrl + } + //zhj 2022-02-04 鏂版柟妗堟敼閫� end + AWSService.post(url, payloadForNewPI, function(result){ + aws_result = result; + //zhj MEBG鏂版柟妗堟敼閫� 2022-11-24 start + if(result.status == '129'){ + alertErrorMessage('瀹㈡埛 [ '+accountName+ ' ],宸插瓨鍦ㄧ浉鍚屽悕瀛楃殑鑱旂郴浜� 浜哄憳绠$悊缂栫爜 ['+dataIdManageCodeMap[result.object[0].dataId]+' ] 锛屼笉鑳介噸澶嶅垱寤猴紝璇蜂簡瑙�'); + unblockUI(); + return + } + if(result.status == '130'){ + if(result.object[0] && result.object[0].sfRecordId != null && result.object[0].sfRecordId != '') + alertErrorMessage('宸叉壘鍒伴噸澶嶅�硷細 UniqueNumber__c 涓庤褰曞�奸噸澶嶏紝ID 涓�: '+result.object[0].sfRecordId+'瀹㈡埛浜哄憳淇℃伅'); + else + alertErrorMessage('鏁版嵁涓瓨鍦ㄩ噸澶嶇殑鐢佃瘽鍙风爜'); + unblockUI(); + return + } + //zhj MEBG鏂版柟妗堟敼閫� 2022-11-24 end + SetEditObj(); + saveNew(); + }, staticResources.token); + }); + //zhj 2022-02-04 鏂版柟妗堟敼閫� end + } + + 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; //zhj 鏂版柟妗堟敼閫� 2022-12-05 + //document.getElementById("Page:allForm:editBlock:Phone").value = obj.phone; + //document.getElementById("Page:allForm:editBlock:Phone_Encrypted__c").value = obj.phoneEncrypt; //zhj 鏂版柟妗堟敼閫� 2022-12-05 + } + + } + //zhj MEBG鏂版柟妗堟敼閫� 2022-11-24 start + function alertErrorMessage(errorMsg) { + let errorMsgNode = document.getElementById("Page:allForm:editBlock:msgContent"); + errorMsg = '閿欒锛氭棤鏁堟暟鎹��' + '\n' + errorMsg; + errorMsgNode.innerText = errorMsg; + errorMsgNode.className = 'pbError'; + } + function hiddenErrorMsgNode() { + let errorMsgNode = document.getElementById("Page:allForm:editBlock:msgContent"); + errorMsgNode.innerText = ''; + errorMsgNode.className = ''; + } + //zhj MEBG鏂版柟妗堟敼閫� 2022-11-24 end + // 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,sfContactId" 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,sfContactId" 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,sfContactId" onComplete="Trans();"> </apex:actionFunction> - <apex:actionFunction name="editClear" action="{!editClear}" rerender="allForm,allPanel" onComplete="unblockUI();"> + <apex:actionFunction name="editClear" action="{!editClear}" rerender="allForm,allPanel,sfContactId" onComplete="unblockUI();searchContactAll()"> </apex:actionFunction> - + <!-- 2022/02/15 寮犲崕寤� 娓呯┖LineInfoList start --> + <apex:actionFunction name="clearLineInfoList" action="{!clearLineInfoList}" rerender="allForm" onComplete="unblockUI();"> + </apex:actionFunction> + <apex:inputHidden id="sfContactId" value="{!sfContactId}"/> <!-- zhj 2022-12-02 sfId --> + <!-- 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 +351,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 +366,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 +387,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 +410,17 @@ <apex:commandButton onclick="editClearJs();" value="娓呯┖" rerender="dummy"/> <apex:commandButton onclick="editSaveJs();" value="淇濆瓨" rerender="dummy"/> </apex:pageBlockButtons> + <!-- Error Msg--> + <div style="text-align: center;"> + <apex:outputPanel id="errorMsg"> + <apex:pageMessages id="msgContent" escape="false" /> + </apex:outputPanel> + </div> + <!-- zhj 鏂版柟妗堟敼閫� 2022-12-05 start--> + <!-- <apex:inputHidden id="LastName_Encrypted__c" value="{!newCon.LastName_Encrypted__c}"/> + <apex:inputHidden id="Phone_Encrypted__c" value="{!newCon.Phone_Encrypted__c}"/> --> + <!-- zhj 鏂版柟妗堟敼閫� 2022-12-05 end--> + <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 +433,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