From e6068da47c1bef5517c9e5fdc8c726766867ad4e Mon Sep 17 00:00:00 2001
From: buli <137736985@qq.com>
Date: 星期五, 14 七月 2023 15:10:02 +0800
Subject: [PATCH] Merge branch 'master' into LEXUpgrade2023-Deloitte
---
force-app/main/default/aura/NewAgencyOpportunity/NewAgencyOpportunityHelper.js | 430 ++++++++++++++++++++++++++++++++++++-----------------
1 files changed, 291 insertions(+), 139 deletions(-)
diff --git a/force-app/main/default/aura/NewAgencyOpportunity/NewAgencyOpportunityHelper.js b/force-app/main/default/aura/NewAgencyOpportunity/NewAgencyOpportunityHelper.js
index 18f1564..732b0a0 100644
--- a/force-app/main/default/aura/NewAgencyOpportunity/NewAgencyOpportunityHelper.js
+++ b/force-app/main/default/aura/NewAgencyOpportunity/NewAgencyOpportunityHelper.js
@@ -1,69 +1,89 @@
({
- CallBackAction : function(component,action_name,para,callback) {
- var action = component.get("c." + action_name.trimStart().replace("c.",""));
- if(para){
+ CallBackAction: function (component, action_name, para, callback) {
+ var action = component.get(
+ 'c.' + action_name.trimStart().replace('c.', '')
+ );
+ if (para) {
action.setParams(para);
}
- if(callback){
- action.setCallback(this,function(data){
+ if (callback) {
+ action.setCallback(this, function (data) {
callback(data);
});
}
-
+
$A.enqueueAction(action);
- },
- ShowToast : function(paras){
- var toastEvent = $A.get("e.force:showToast");
+ },
+ ShowToast: function (paras) {
+ var toastEvent = $A.get('e.force:showToast');
toastEvent.setParams(paras);
toastEvent.fire();
},
- AwsPost : function(postURL, data ,callback,token){
+ AwsPost: function (postURL, data, callback, token) {
let payloadForNewPI = '';
- if(typeof(data) == 'string'){
+ if (typeof data == 'string') {
payloadForNewPI = data;
- }else{
+ } else {
payloadForNewPI = JSON.stringify(data);
}
-
- AWSService.post(postURL,payloadForNewPI,function(result) {
- //this.insertCalloutLog(this.insertModule,postURL,JSON.stringify(payloadForNewPI),JSON.stringify(result),this.successStatus);
- if(callback) callback(result);
- },token);
+
+ AWSService.post(
+ postURL,
+ payloadForNewPI,
+ function (result) {
+ //this.insertCalloutLog(this.insertModule,postURL,JSON.stringify(payloadForNewPI),JSON.stringify(result),this.successStatus);
+ if (callback) callback(result);
+ },
+ token
+ );
},
- AwsGet : function(url, data ,callback,token){
-
- if(typeof(data) == 'string'){
+ AwsGet: function (url, data, callback, token) {
+ if (typeof data == 'string') {
url += data;
- }else{
+ } else {
let i = 0;
- for(let p in data){
- url += (i++) ? '&' : '?';
+ for (let p in data) {
+ url += i++ ? '&' : '?';
url += p + '=' + data[p];
}
}
-
- AWSService.get(url,function(result){
- //this.insertCalloutLog(this.insertModule,postURL,JSON.stringify(payloadForNewPI),JSON.stringify(result),this.successStatus);
- if(callback) callback(result);
- },token);
+
+ AWSService.get(
+ url,
+ function (result) {
+ //this.insertCalloutLog(this.insertModule,postURL,JSON.stringify(payloadForNewPI),JSON.stringify(result),this.successStatus);
+ if (callback) callback(result);
+ },
+ token
+ );
},
- refreshTable : function(component, event, helper,cols,contactInfoList,contactsInfo){
+ refreshTable: function (
+ component,
+ event,
+ helper,
+ cols,
+ contactInfoList,
+ contactsInfo
+ ) {
let that = this;
- let myTableDiv = document.getElementById("QueryResult");
+ let myTableDiv = document.getElementById('QueryResult');
let table = document.createElement('TABLE');
table.border = '1';
- table.id = 'table';
- table.setAttribute('class','slds-table slds-table_cell-buffer slds-table_bordered');
+ table.id = 'customTable';
+ table.setAttribute(
+ 'class',
+ 'slds-table slds-table_cell-buffer slds-table_bordered'
+ );
let tableBody = document.createElement('TBODY');
table.appendChild(tableBody);
let headerTR = document.createElement('TR');
- headerTR.setAttribute('class','slds-line-height_reset');
- let colsHeader = ['濮撳悕','鍖婚櫌', '鍖荤敓鍖哄垎(鑱屽姟)','鍒嗙被'];
+ headerTR.setAttribute('class', 'slds-line-height_reset');
+ let colsHeader = [' ', '濮撳悕', '鍖婚櫌', '鍖荤敓鍖哄垎(鑱屽姟)', '鍒嗙被'];
tableBody.appendChild(headerTR);
for (let i = 0; i < colsHeader.length; i++) {
let td = document.createElement('TH');
td.width = '75';
- td.setAttribute('class','slds-truncate slds-border_right');
+ td.setAttribute('class', 'slds-truncate slds-border_right');
td.appendChild(document.createTextNode(colsHeader[i]));
headerTR.appendChild(td);
}
@@ -71,72 +91,109 @@
for (let i = 0; i < contactInfoList.length; i++) {
let tr = document.createElement('TR');
tableBody.appendChild(tr);
- let contactInfoTemp = contactInfoList[i]
+ let contactInfoTemp = contactInfoList[i];
+
+ //鍐嶅姞涓�鍒楅�夋嫨button
+ debugger;
+ let td = document.createElement('TD');
+ td.width = '75';
+ td.id = contactsInfo[contactInfoTemp.AWSDataId].Id;
+ console.log('contactInfoTemp = ' + JSON.stringify(contactInfoTemp));
+ // 鍒涘缓鎸夐挳鍏冪礌
+ var button = document.createElement('button');
+ button.classList.add('slds-button', 'slds-button_neutral');
+ button.id =
+ contactInfoTemp.sfRecordId != null
+ ? contactInfoTemp.sfRecordId
+ : '';
+ // 璁剧疆鎸夐挳鐨勬枃鏈唴瀹�
+ var buttonText = document.createTextNode('閫夋嫨');
+ button.appendChild(buttonText);
+ button.addEventListener('click', function (obj) {
+ that.redirectToParentPage(component, event, helper, obj);
+ });
+ button.value =
+ contactInfoTemp[cols[0]] != null
+ ? contactInfoTemp[cols[0]]
+ : '';
+ td.appendChild(button);
+ tr.appendChild(td);
for (let j = 0; j < cols.length; j++) {
let td = document.createElement('TD');
td.width = '75';
- if(contactInfoTemp.pi){
- if (!contactsInfo.hasOwnProperty(contactInfoTemp.AWSDataId)) {
+ if (contactInfoTemp.pi) {
+ if (
+ !contactsInfo.hasOwnProperty(contactInfoTemp.AWSDataId)
+ ) {
continue;
}
- if(j == 0 && contactsInfo[contactInfoTemp.AWSDataId] ){
+ if (j == 0 && contactsInfo[contactInfoTemp.AWSDataId]) {
td.id = contactsInfo[contactInfoTemp.AWSDataId].Id;
- }
- }else{
+ }
+ } else {
td.id = contactInfoTemp.sfRecordId;
- }
- td.appendChild(document.createTextNode(contactInfoTemp[cols[j]]!=null?contactInfoTemp[cols[j]]:''));
- if (cols[j] == 'Name') {
- td.addEventListener("click", function (obj) {
- that.redirectToParentPage(component, event, helper,obj);
- });
}
+ td.appendChild(
+ document.createTextNode(
+ contactInfoTemp[cols[j]] != null
+ ? contactInfoTemp[cols[j]]
+ : ''
+ )
+ );
+ // if (cols[j] == 'Name') {
+ // td.addEventListener("click", function (obj) {
+ // that.redirectToParentPage(component, event, helper,obj);
+ // });
+ // }
tr.appendChild(td);
}
}
+ that.resetTable();
myTableDiv.appendChild(table);
component.find('button').set('v.disabled', false);
},
- redirectToParentPage : function(component, event, helper,obj){
- let agencyContactName = obj.currentTarget.innerText;
+ redirectToParentPage: function (component, event, helper, obj) {
+ let agencyContactName = obj.currentTarget.value;
let id = obj.currentTarget.id;
- component.set('v.ac_name',agencyContactName);
+ component.set('v.ac_name', agencyContactName);
let layout = component.get('v.layout');
- for(let s of layout){
- for(let c of s.layoutColumns){
- for(let item of c.layoutItems){
- if(item.field == 'Agency_Contact__c'){
+ for (let s of layout) {
+ for (let c of s.layoutColumns) {
+ for (let item of c.layoutItems) {
+ if (item.field == 'Agency_Contact__c') {
item.value = id;
}
}
}
}
- component.set("v.isModalOpen", false);
+ component.set('v.isModalOpen', false);
},
- resetTable : function(){
- let queryResult = document.getElementById('QueryResult');
- let table = document.getElementsByTagName('table');
- debugger;
- console.log('table:' + table);
- debugger;
- if(table.length > 1){
- for(var i=1;i<table.length;i++){
- queryResult.removeChild(table[i])
- }
+ resetTable: function () {
+ // let queryResult = document.getElementById('QueryResult');
+ // let table = document.getElementById('customTable');
+ // console.log('table:' + table);
+ // if(table.length > 1){
+ // for(var i=1;i<table.length;i++){
+ // queryResult.removeChild(table[i])
+ // }
+ // }
+ let customTable = document.getElementById('customTable');
+ if (customTable) {
+ customTable.parentNode.removeChild(customTable);
}
},
- preparePayloadForSearchAgencyContact : function(component, event, helper){
+ preparePayloadForSearchAgencyContact: function (component, event, helper) {
let that = this;
let agencyHospitalId = '';
let accountId = '';
let layout = component.get('v.layout');
- for(let s of layout){
- for(let c of s.layoutColumns){
- for(let item of c.layoutItems){
- if(item.field == 'Agency_Hospital__c'){
+ for (let s of layout) {
+ for (let c of s.layoutColumns) {
+ for (let item of c.layoutItems) {
+ if (item.field == 'Agency_Hospital__c') {
agencyHospitalId = item.value;
}
- if(item.field == 'Account_Opp__c'){
+ if (item.field == 'Account_Opp__c') {
accountId = item.value;
}
}
@@ -144,96 +201,191 @@
}
var action = component.get('c.getAWSDataIds');
action.setParams({
- "agencyHospitalId" : agencyHospitalId,
- "accountId" : accountId
+ agencyHospitalId: agencyHospitalId,
+ accountId: accountId
});
- action.setCallback(this,function(response){
+ action.setCallback(this, function (response) {
var state = response.getState();
- if(state == 'SUCCESS'){
+ if (state == 'SUCCESS') {
var rv = response.getReturnValue();
- if(rv.Data.length == 0){
+ if (rv.Data.length == 0) {
component.find('button').set('v.disabled', false);
helper.ShowToast({
- "message" : "璇ョ粡閿�鍟嗗尰闄笅闈㈡病鏈夊鎴蜂汉鍛�",
- "type" : "warning"
+ message: '璇ョ粡閿�鍟嗗尰闄笅闈㈡病鏈夊鎴蜂汉鍛�',
+ type: 'warning'
});
- return
+ return;
}
+ component.set('v.showSpinner', true);
let searchPayload = new Object();
let searchAgencyContactName = component.get('v.searchKeyWord');
searchPayload.dataIds = rv.Data;
searchPayload.name = searchAgencyContactName;
- component.set('v.contactAWSIds',rv.Data);
+ component.set('v.contactAWSIds', rv.Data);
let staticResource = component.get('v.staticResource');
let url = staticResource.searchUrl;
let token = staticResource.token;
- this.AwsPost(url,searchPayload,function(data){
- if(data.success){
- let cols = ['Name','AgencyHospital', 'DoctorDivision1','Type'];
- let contactInfoList = [];
- let awsDataIds = [];
- if(data.object.length == 0){
- component.find('button').set('v.disabled', false);
- that.ShowToast({
- "message" : '娌℃湁鏌ヨ鍒拌瀹㈡埛浜哄憳',
- "type" : "warning"
+ this.AwsPost(
+ url,
+ searchPayload,
+ function (data) {
+ if (data.success) {
+ let cols = [
+ 'Name',
+ 'AgencyHospital',
+ 'DoctorDivision1',
+ 'Type'
+ ];
+ let contactInfoList = [];
+ let awsDataIds = [];
+ if (data.object.length == 0) {
+ component
+ .find('button')
+ .set('v.disabled', false);
+ that.ShowToast({
+ message: '娌℃湁鏌ヨ鍒拌瀹㈡埛浜哄憳',
+ type: 'warning'
+ });
+ component.set('v.showSpinner', false);
+ return;
+ }
+ for (var i = 0; i < data.object.length; i++) {
+ if (data.object[i].dataId) {
+ let contactInfo = new Object();
+ //闇�瑕佷慨鏀�
+ contactInfo.Name = data.object[i].name;
+ contactInfo.AgencyHospital = '';
+ contactInfo.DoctorDivision1 =
+ data.object[i].doctorDivision1;
+ contactInfo.AWSDataId =
+ data.object[i].dataId;
+ contactInfo.Type = data.object[i].type;
+ contactInfo.pi = true;
+ awsDataIds.push(contactInfo.AWSDataId);
+ contactInfo.sfRecordId = '';
+ contactInfoList.push(contactInfo);
+ }
+ }
+ //let AWSIdToSFIdMapValue = {};
+ debugger;
+ var searchAgencyContacts = component.get(
+ 'c.searchAgencyContacts'
+ );
+ searchAgencyContacts.setParams({
+ awsAgencyContactIds: JSON.stringify(awsDataIds),
+ agencyHospitalId: agencyHospitalId,
+ accountId: accountId
});
- return
- }
- for(var i=0;i<data.object.length;i++){
- if(data.object[i].dataId){
- let contactInfo = new Object();
- //闇�瑕佷慨鏀�
- contactInfo.Name = data.object[i].name;
- contactInfo.AgencyHospital = '';
- contactInfo.DoctorDivision1 = data.object[i].doctorDivision1;
- contactInfo.AWSDataId = data.object[i].dataId;
- contactInfo.Type = data.object[i].type;
- contactInfo.pi = true;
- awsDataIds.push(contactInfo.AWSDataId);
- contactInfo.sfRecordId = '';
- contactInfoList.push(contactInfo);
- }
- }
- //let AWSIdToSFIdMapValue = {};
- var searchAgencyContacts = component.get('c.searchAgencyContacts');
- searchAgencyContacts.setParams({
- "awsAgencyContactIds" : JSON.stringify(awsDataIds),
- "agencyHospitalId" : agencyHospitalId,
- "accountId" : accountId
- });
- searchAgencyContacts.setCallback(this,function(response){
- var state = response.getState();
- if(state == 'SUCCESS'){
- var rv = response.getReturnValue();
- if(rv.IsSuccess){
- let contactsInfo = '';
- if(rv.Data){
- contactsInfo = JSON.parse(rv.Data.replace(/("\;)/g,"\""));
- if(Object.keys(contactsInfo).length>0){
- for(let i=0;i<contactInfoList.length;i++){
- let contactFromSF = contactsInfo[contactInfoList[i]['AWSDataId']];
- if(contactFromSF){
- contactInfoList[i].sfRecordId = contactFromSF['Id'];
- if(contactFromSF['Agency_Hospital__r']){
- contactInfoList[i].AgencyHospital = contactFromSF['Agency_Hospital__r']['Name'];
- }
- if(contactFromSF['Department_Class__r']){
- contactInfoList[i].AgencyHospital = contactFromSF['Department_Class__r']['Parent']['Name'];
+ // 寤惰繜鎵ц涓�娈典唬鐮�
+ setTimeout(function () {
+ // 闇�瑕佸欢杩熸墽琛岀殑浠g爜
+ // 鍒涘缓涓�涓紶鏍囩偣鍑讳簨浠�
+ var event = new MouseEvent('click', {
+ bubbles: true,
+ cancelable: true,
+ view: window
+ });
+
+ // 瑙﹀彂鍏冪礌鐨勭偣鍑讳簨浠�
+ var element =
+ document.getElementById('NewAgencyContact');
+ for (var i = 0; i < 100; i++) {
+ element.dispatchEvent(event);
+ }
+ }, 1000); // 寤惰繜 1000 姣锛堝嵆 1 绉掞級
+ searchAgencyContacts.setCallback(
+ that,
+ function (response) {
+ var state = response.getState();
+ if (state == 'SUCCESS') {
+ var rv = response.getReturnValue();
+ if (rv.IsSuccess) {
+ let contactsInfo = '';
+ if (rv.Data) {
+ contactsInfo = JSON.parse(
+ rv.Data.replace(
+ /("\;)/g,
+ '"'
+ )
+ );
+ if (
+ Object.keys(contactsInfo)
+ .length > 0
+ ) {
+ for (
+ let i = 0;
+ i <
+ contactInfoList.length;
+ i++
+ ) {
+ let contactFromSF =
+ contactsInfo[
+ contactInfoList[
+ i
+ ]['AWSDataId']
+ ];
+ if (contactFromSF) {
+ contactInfoList[
+ i
+ ].sfRecordId =
+ contactFromSF[
+ 'Id'
+ ];
+ if (
+ contactFromSF[
+ 'Agency_Hospital__r'
+ ]
+ ) {
+ contactInfoList[
+ i
+ ].AgencyHospital =
+ contactFromSF[
+ 'Agency_Hospital__r'
+ ]['Name'];
+ }
+ if (
+ contactFromSF[
+ 'Department_Class__r'
+ ]
+ ) {
+ contactInfoList[
+ i
+ ].AgencyHospital =
+ contactFromSF[
+ 'Department_Class__r'
+ ]['Parent'][
+ 'Name'
+ ];
+ }
+ }
}
}
}
+ that.refreshTable(
+ component,
+ event,
+ helper,
+ cols,
+ contactInfoList,
+ contactsInfo
+ );
+ component.set(
+ 'v.showSpinner',
+ false
+ );
}
}
- that.refreshTable(component, event, helper,cols,contactInfoList,contactsInfo);
}
- }
- });
- $A.enqueueAction(searchAgencyContacts);
- }
- },token);
+ );
+ $A.enqueueAction(searchAgencyContacts);
+ } else {
+ component.set('v.showSpinner', false);
+ }
+ },
+ token
+ );
}
});
$A.enqueueAction(action);
}
-})
\ No newline at end of file
+});
--
Gitblit v1.9.1