({ doInit: function (component, event, helper) { let rid = component.get('v.recordId'); let pid = null; if (!rid) { //pid = window.location.href.replace("https://","").split("/")[4]; pid = 'Agency_Opportunity__c'; } let record_type_id = ''; let pageref = component.get("v.pageReference") console.log('pageref = ' + JSON.stringify(pageref)); 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 { console.log('编辑'); helper.CallBackAction(component,'getApproveStatus',{recordId:rid},function(data){ var result = data.getReturnValue(); console.log('result-----:'+JSON.stringify(result)); if(result == true){ if(window.location.href.indexOf('lightning') == -1){ $A.get("e.force:closeQuickAction").fire(); }else{ helper.lightningJump(component, event, helper); } window.alert('数据审批中,不能编辑'); // return; } }); 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); let that = this; debugger 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) { //deloitte-zhj 20231027 区分内部用户和社区用户 let isStandard = rv.Data.isStandard; console.log('isStandard = ' + isStandard); component.set('v.isStandard', isStandard); let layout = JSON.parse(rv.Data.layout); console.log('before layout = ' + JSON.stringify(layout)); //deloitte-zhj 20231214 标准用户跳转到标准页面 start console.log('12'); if(isStandard && !rid){ var urlStr = '/lightning/o/Agency_Opportunity__c/new?count=1&nooverride=1&useRecordTypeCheck=1&navigationLocation=LIST_VIEW&uid=170254592908064189&backgroundContext=%2Flightning%2Fo%2FAgency_Opportunity__c%2Flist%3FfilterName%3DRecent&recordTypeId=' + rv.Data.recordTypeId; window.open(urlStr,'_self'); return } if(isStandard && rid){ var urlStr = '/lightning/r/Agency_Opportunity__c/' + rid + '/edit?count=1&nooverride=1&backgroundContext=%2Flightning%2Fr%2FAgency_Opportunity__c%2F' + rid + '%2Fview'; window.open(urlStr,'_self'); return } //deloitte-zhj 20231214 标准用户跳转到标准页面 end let fields = rv.Data.fields; let staticResource = JSON.parse(rv.Data.staticResource) let section_names = layout.map(s => s.label); for(let i = 0; i < section_names.length;i++){ if(section_names[i] == 'Information'){ section_names[i] = '经销商询价信息'; } if(section_names[i] == 'System Information'){ section_names[i] = '系统信息'; } } // 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); 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) { console.log('rv.Data.data = ' + rv.Data.data); for (let s of layout) { console.log('s.label = ' + s.label); if(s.label == 'Information'){ s.label = '经销商询价信息'; } if(s.label == 'System Information'){ s.label = '系统信息'; } 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]; } //deloitte-zhj 20231104 if(item.field == 'Agency_Contact__c' && item.value){ component.set('v.iconName', 'utility:close'); } if(item.field == 'Agency_Contact__c' && !item.value){ component.set('v.iconName', 'utility:search'); } } } } // component.set('v.layout',layout); console.log('layout = ' + JSON.stringify(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 { console.log('rv.Data.data = ' + rv.Data.data); console.log('layout = ' + JSON.stringify(layout)); for (let s of layout) { console.log('s.label = ' + s.label); if(s.label == 'Information'){ s.label = '经销商询价信息'; } if(s.label == 'System Information'){ s.label = '系统信息'; } 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; } //deloitte-zhj 20231104 if(item.field == 'Agency_Contact__c' && item.value){ component.set('v.iconName', 'utility:close'); } if(item.field == 'Agency_Contact__c' && !item.value){ component.set('v.iconName', 'utility:search'); } } } } // 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") { console.log(item.field + ' value:' + item.value) data[item.field] = item.value; //deloitte-zhj 20231104 if(item.field == 'Change_To_Opportunity__c' && item.value && item.value.length == 0){ data[item.field] = null; } } } } } 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 (window.location.href.indexOf('lightning') != -1) { component.set('v.recordId',sfId); helper.lightningJump(component, event, helper); } else { 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) { debugger if(window.location.href.indexOf('lightning') == -1){ $A.get("e.force:closeQuickAction").fire(); }else{ helper.lightningJump(component, event, helper); } setTimeout(function() { location.reload(); }, 1000); // 延迟一秒(1000毫秒) //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 < data.object.length; i++) { if (data.object[i].dataId) { let contactInfo = new Object(); //需要修改 contactInfo.Name = data.object[i].name; 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 = {}; }, openModel: function (component, event, helper) { 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' && !item.value) { console.log('item.value = ' + item.value) helper.ShowToast({ "message": "请先选择经销商医院", "type": "warning" }); return } else if (item.field == 'Agency_Hospital__c' && item.value) { component.set('v.agencyHospitalId', item.value) console.log('v.agencyHospitalId item.value = ' + item.value) } } } } // Set isModalOpen true component.set("v.isModalOpen", true); component.find('button').set('v.disabled', true); helper.preparePayloadForSearchAgencyContact(component, event, helper); }, closeModel: function (component, event, helper) { // Set isModalOpen false component.set("v.isModalOpen", false); }, saveDetails: function (component, event, helper) { //do something component.set("v.isModalOpen", false); }, showNewAgency: function (component, event, helper) { //do something component.set("v.showNewAgencyContact", true); }, closeAgencyContact: function (component, event, helper) { var message = event.getParam("showNewAgencyContact"); component.set("v.showNewAgencyContact", message); component.find('button').set('v.disabled', true); helper.resetTable(); helper.preparePayloadForSearchAgencyContact(component, event, helper); }, //deloitte-zhj 20231104 清空客户人员 start clearName: function (component, event, helper){ console.log("enter clearName"); if (component.get('v.ac_name')) { component.set('v.ac_name',''); 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 = ''; } } } } } component.set('v.iconName','utility:search'); }, //deloitte-zhj 20231104 清空客户人员 end })