({ doInit : function(component, event, helper) { let rid = component.get('v.recordId'); let pid = null; if(!rid){ pid = window.location.href.replace("https://","").split("/")[4]; } let record_type_id = ''; let pageref = component.get("v.pageReference") if(!record_type_id && pageref){ record_type_id = pageref.state.recordTypeId ? pageref.state.recordTypeId : ''; } let isClone = component.get('v.isClone'); if(!rid || isClone){ component.set('v.title',$A.get("$Label.c.New")+'经销商询价'); component.set("v.recordTypeId", record_type_id); }else{ component.set('v.title',$A.get("$Label.c.Edit")+'经销商询价'); } console.log('rid: ' + rid); console.log('pid: ' + pid); console.log('record_type_id: ' + record_type_id); component.set("v.showSpinner", true); helper.CallBackAction(component,'Init',{ rid : rid, pid : pid, //rid : component.get('v.recordId'), record_type_id : record_type_id },function(data){ console.log('data: ' + data); var rv = data.getReturnValue(); console.log('rv:' + rv); console.log('rv.Data:' + rv.Data); console.log('rv.IsSuccess:' + rv.IsSuccess); if(data.getState() == "SUCCESS"){ if(rv.IsSuccess){ debugger; let layout = JSON.parse(rv.Data.layout); debugger; let fields = rv.Data.fields; debugger; let staticResource = JSON.parse(rv.Data.staticResource) debugger; let section_names = layout.map(s=>s.label); debugger; // let awsData = rv.Data.awsDataIds; // section_names = layout.map(s=>s.label); component.set('v.section_names',section_names); component.set('v.layout',layout); component.set('v.fields',fields); component.set('v.staticResource',staticResource); debugger; let m = {}; for(let f of staticResource.PIDetails){ m[f.SF_Field_API_Name__c] = f; } component.set('v.pi_fields_map',m); if(rv.Data && rv.Data.data ){ debugger; console.log('rv.Data.data = ' + rv.Data.data); for(let s of layout){ for(let c of s.layoutColumns){ for(let item of c.layoutItems){ if(rv.Data.data.hasOwnProperty(item.field)){ item.value = rv.Data.data[item.field]; } if(fields.hasOwnProperty(item.field)){ item.fi = fields[item.field]; } } } } // component.set('v.layout',layout); component.set('v.record_data',rv.Data.data); if(rv.Data.data.Agency_Contact__r){ if (rv.Data.data.Agency_Contact__r.AWS_Data_Id__c) { helper.AwsGet(staticResource.queryUrl, { dataId : rv.Data.data.Agency_Contact__r.AWS_Data_Id__c }, function(data){ console.log('data = ' + data); if (data.object) { component.set('v.ac_name',data.object.name); } }, staticResource.token); } } // }, staticResource.token); }else{ debugger; console.log('rv.Data.data = ' + rv.Data.data); console.log('layout = ' + layout); for(let s of layout){ for(let c of s.layoutColumns){ for(let item of c.layoutItems){ if(rv.Data && fields.hasOwnProperty(item.field) && fields[item.field].References && fields[item.field].References.map(m=>m.value).indexOf(rv.Data.pidType) > -1){ item.value = pid; } } } } debugger; // component.set('v.layout',layout); } // component.set('v.fields',fields); // component.set('v.staticResource',staticResource); //component.set("v.showSpinner", false); }else{ component.set("v.showSpinner", false); helper.ShowToast({ "message" : rv.Message, "type" : "error" }); } }else{ component.set("v.showSpinner", false); helper.ShowToast({ "message" : "Init error", "type" : "error" }); } }); }, handleLoad: function(component, event, helper) { console.log('recordEditForm handleSuccess') component.set("v.showSpinner", false); }, saveClick : function(component, event, helper){ let staticResource = component.get('v.staticResource'); let record_id = component.get('v.recordId'); let record_type_id = component.get('v.recordTypeId'); let isClone = component.get('v.isClone'); let url = staticResource.newUrl; let payloadPi = {}; if (record_id && !isClone) { url = staticResource.updateUrl payloadPi['dataId'] = component.get('v.record_data').AWS_Data_Id__c; } let layout = component.get('v.layout'); let pi_fields_map = component.get('v.pi_fields_map'); for(let s of layout){ for(let c of s.layoutColumns){ for(let item of c.layoutItems){ if(pi_fields_map.hasOwnProperty(item.field)){ payloadPi[pi_fields_map[item.field].AWS_Field_API__c] = item.value; } if (item.behavior == "Required" && !item.value ) { let fs = component.find("field"); for(let fi in fs){ let f = fs[fi]; if(!f.get('v.value')){ f.reset(); } } return; } } } } component.set("v.showSpinner", true); debugger let data = {}; if(record_id && !isClone){ data.Id = record_id; } for(let s of layout){ for(let c of s.layoutColumns){ for(let item of c.layoutItems){ if(item.field && item.behavior != "Readonly"){ data[item.field] = item.value; } } } } let x = 1; helper.CallBackAction(component,'Save',{ data : data, transId :'1', recordTypeId:record_type_id },function(data){ component.set("v.showSpinner", false); if(data.getState() == "SUCCESS"){ var rv = data.getReturnValue(); console.log(rv); var sfId = null; if(rv.IsSuccess){ sfId = rv.Data.recordId; helper.ShowToast({ "message" : "成功", "type" : "success" }); if (record_id){ $A.get("e.force:closeQuickAction").fire(); $A.get('e.force:refreshView').fire(); }else{ var sObjectEvent = $A.get("e.force:navigateToSObject"); sObjectEvent.setParams({ "recordId": sfId }) sObjectEvent.fire(); } }else{ helper.ShowToast({ "message" : rv.Message, "type" : "error" }); } }else{ helper.ShowToast({ "message" : "Init error", "type" : "error" }); } }) }, cancelClick : function(component, event, helper){ $A.get("e.force:closeQuickAction").fire(); //component.set("v.showNewAgencyContact", false); }, searchAgencyContact : function(component, event, helper){ component.find('button').set('v.disabled', true); helper.resetTable(); helper.preparePayloadForSearchAgencyContact(component, event, helper); }, initContactTable : function(component, event, helper){ let cols = ['Name','AgencyHospital', 'DoctorDivision1','Type']; let contactInfoList = []; let awsDataIds = []; let data = component.get('v.result'); if(data.object){ for(var i=0;i