| | |
| | | ({ |
| | | doInit: function (component, event, helper) { |
| | | let rid = component.get("v.recordId"); |
| | | let pid = null; |
| | | if (!rid) { |
| | | pid = window.location.href.replace("https://", "").split("/")[4]; |
| | | } |
| | | 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 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); |
| | | if (data.getState() == "SUCCESS") { |
| | | var rv = data.getReturnValue(); |
| | | console.log(rv); |
| | | if (rv.IsSuccess) { |
| | | debugger; |
| | | let layout = JSON.parse(rv.Data.layout); |
| | | let fields = rv.Data.fields; |
| | | let staticResource = JSON.parse(rv.Data.staticResource); |
| | | let section_names = []; |
| | | // let awsData = rv.Data.awsDataIds; |
| | | section_names = layout.map((s) => s.label); |
| | | component.set("v.section_names", section_names); |
| | | |
| | | let m = {}; |
| | | for (let f of staticResource.PIDetails) { |
| | | m[f.SF_Field_API_Name__c] = f; |
| | | 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' |
| | | }); |
| | | } |
| | | } |
| | | component.set("v.pi_fields_map", m); |
| | | ); |
| | | }, |
| | | 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'); |
| | | |
| | | if (rv.Data && rv.Data.data) { |
| | | 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]; |
| | | 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 (fields.hasOwnProperty(item.field)) { |
| | | item.fi = fields[item.field]; |
| | | 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.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 |
| | | ); |
| | | 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; |
| | | } |
| | | } |
| | | } |
| | | |
| | | // }, staticResource.token); |
| | | } else { |
| | | 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 |
| | | } |
| | | } |
| | | 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 < 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 |
| | | ) { |
| | | item.value = pid; |
| | | component.set('v.agencyHospitalId', item.value); |
| | | console.log( |
| | | 'v.agencyHospitalId item.value = ' + item.value |
| | | ); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | 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" |
| | | }); |
| | | } |
| | | } |
| | | ); |
| | | }, |
| | | 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"); |
| | | // Set isModalOpen true |
| | | component.set('v.isModalOpen', true); |
| | | component.find('button').set('v.disabled', true); |
| | | helper.preparePayloadForSearchAgencyContact(component, event, helper); |
| | | }, |
| | | |
| | | 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; |
| | | 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); |
| | | } |
| | | 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 < 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; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | // 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); |
| | | } |
| | | }); |