({ 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) { callback(data); }); } $A.enqueueAction(action); }, ShowToast: function (paras) { var toastEvent = $A.get('e.force:showToast'); toastEvent.setParams(paras); toastEvent.fire(); }, AwsPost: function (postURL, data, callback, token) { let payloadForNewPI = ''; if (typeof data == 'string') { payloadForNewPI = data; } 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 ); }, AwsGet: function (url, data, callback, token) { if (typeof data == 'string') { url += data; } else { let i = 0; 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 ); }, refreshTable: function ( component, event, helper, cols, contactInfoList, contactsInfo ) { let that = this; let myTableDiv = document.getElementById('QueryResult'); let table = document.createElement('TABLE'); table.border = '1'; <<<<<<< HEAD table.id = 'table'; 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 = ['姓名', '医院', '医生区分(职务)', '分类']; ======= 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 = [' ','姓名','医院', '医生区分(职务)','分类']; >>>>>>> LEXCommunityLiJun 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.appendChild(document.createTextNode(colsHeader[i])); headerTR.appendChild(td); } //3. Init the AWS data for (let i = 0; i < contactInfoList.length; i++) { let tr = document.createElement('TR'); tableBody.appendChild(tr); let contactInfoTemp = contactInfoList[i]; <<<<<<< HEAD ======= //再加一列选择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); >>>>>>> LEXCommunityLiJun for (let j = 0; j < cols.length; j++) { let td = document.createElement('TD'); td.width = '75'; if (contactInfoTemp.pi) { if ( !contactsInfo.hasOwnProperty(contactInfoTemp.AWSDataId) ) { continue; } if (j == 0 && contactsInfo[contactInfoTemp.AWSDataId]) { td.id = contactsInfo[contactInfoTemp.AWSDataId].Id; } } else { td.id = contactInfoTemp.sfRecordId; <<<<<<< HEAD } 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); // }); // } >>>>>>> LEXCommunityLiJun tr.appendChild(td); } } that.resetTable(); myTableDiv.appendChild(table); component.find('button').set('v.disabled', false); }, <<<<<<< HEAD redirectToParentPage: function (component, event, helper, obj) { let agencyContactName = obj.currentTarget.innerText; ======= redirectToParentPage : function(component, event, helper,obj){ let agencyContactName = obj.currentTarget.value; >>>>>>> LEXCommunityLiJun let id = obj.currentTarget.id; 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') { item.value = id; } } } } component.set('v.isModalOpen', false); }, <<<<<<< HEAD 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>>>>>> LEXCommunityLiJun } }, 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') { agencyHospitalId = item.value; } if (item.field == 'Account_Opp__c') { accountId = item.value; } } } } var action = component.get('c.getAWSDataIds'); action.setParams({ agencyHospitalId: agencyHospitalId, accountId: accountId }); action.setCallback(this, function (response) { var state = response.getState(); if (state == 'SUCCESS') { var rv = response.getReturnValue(); if (rv.Data.length == 0) { component.find('button').set('v.disabled', false); helper.ShowToast({ message: '该经销商医院下面没有客户人员', type: 'warning' }); 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); 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' }); 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 }); <<<<<<< HEAD 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' ]; } } ======= component.set('v.showSpinner',false); return } for(var i=0;i0){ for(let i=0;i>>>>>> LEXCommunityLiJun } } } that.refreshTable( component, event, helper, cols, contactInfoList, contactsInfo ); } } <<<<<<< HEAD } ); $A.enqueueAction(searchAgencyContacts); } }, token ); ======= that.refreshTable(component, event, helper,cols,contactInfoList,contactsInfo); component.set('v.showSpinner',false); } } }); $A.enqueueAction(searchAgencyContacts); }else{ component.set('v.showSpinner',false); } },token); >>>>>>> LEXCommunityLiJun } }); $A.enqueueAction(action); } });