| | |
| | | ({ |
| | | 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); |
| | | } |
| | |
| | | let tr = document.createElement('TR'); |
| | | tableBody.appendChild(tr); |
| | | 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; |
| | | } |
| | | } |
| | |
| | | } |
| | | 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' |
| | | }); |
| | | 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 |
| | | 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" |
| | | }); |
| | | 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;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 |
| | | }); |
| | | // 延迟执行一段代码 |
| | | setTimeout(function() { |
| | | // 需要延迟执行的代码 |
| | | // 创建一个鼠标点击事件 |
| | | 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 |
| | | ); |
| | | } |
| | | } |
| | | that.refreshTable(component, event, helper,cols,contactInfoList,contactsInfo); |
| | | component.set('v.showSpinner',false); |
| | | } |
| | | ); |
| | | $A.enqueueAction(searchAgencyContacts); |
| | | } |
| | | }, |
| | | token |
| | | ); |
| | | } |
| | | }); |
| | | $A.enqueueAction(searchAgencyContacts); |
| | | }else{ |
| | | component.set('v.showSpinner',false); |
| | | } |
| | | },token); |
| | | } |
| | | }); |
| | | $A.enqueueAction(action); |
| | | } |
| | | }); |
| | | }) |