import { LightningElement, wire, api } from 'lwc'; import { CurrentPageReference } from "lightning/navigation"; import { CloseActionScreenEvent } from 'lightning/actions'; import init from '@salesforce/apex/buttonOnCallCtl.init'; import selecctAccountBySegmentId from '@salesforce/apex/buttonOnCallCtl.selecctAccountBySegmentId'; import selecctAccountBySegmentId02 from '@salesforce/apex/buttonOnCallCtl.selecctAccountBySegmentId02'; import initUserName from '@salesforce/apex/buttonOnCallCtl.initUserName'; import { NavigationMixin } from 'lightning/navigation'; import lwcCSS from '@salesforce/resourceUrl/lwcCSS'; import {loadStyle} from 'lightning/platformResourceLoader' import { encodeDefaultFieldValues } from 'lightning/pageReferenceUtils'; export default class LexCreateRepairFromOnCall extends NavigationMixin(LightningElement) { @api recordId; str; IsLoading = true; Id; RepairSalesPointProvinceChinaC; Name; SegmentC; HPC; HospitalIdC; SalesdepartmentHPIDC; SalesdepartmentHPC; OncallEquipmentC; TrableOccurdaYCollectC; userID; SegmentId; OncallEquipmentId; @wire(CurrentPageReference) getStateParameters(currentPageReference) { if (currentPageReference) { const urlValue = currentPageReference.state.recordId; if (urlValue) { let str = `${urlValue}`; this.recordId = str; } } } connectedCallback() { Promise.all([ loadStyle(this, lwcCSS) ]); init({ recordId: this.recordId }).then(result => { console.log(result); if (result != null) { this.IsLoading = false; this.Id = result.Id; this.Name = result.Name; this.SegmentC = result.SegmentC == undefined ? "" : result.SegmentC; this.HPC = result.HPC == undefined ? "" : result.HPC; this.HospitalIdC = result.HospitalIdC == undefined ? "" : result.HospitalIdC; this.SalesdepartmentHPIDC = result.SalesdepartmentHPIDC == undefined ? "" : result.SalesdepartmentHPIDC; this.SalesdepartmentHPC = result.SalesdepartmentHPC == undefined ? "" : result.SalesdepartmentHPC; this.OncallEquipmentC = result.OncallEquipmentC == undefined ? "" : result.OncallEquipmentC; this.TrableOccurdaYCollectC = result.TrableOccurdaYCollectC == undefined ? "" : result.TrableOccurdaYCollectC; this.userID = result.userID; this.SegmentId = result.SegmentId == undefined ? "" : result.SegmentId; this.OncallEquipmentId = result.OncallEquipmentId == undefined ? "" : result.OncallEquipmentId; initUserName({ userId: this.userID }).then(result => { console.log(result); if (result != null) { this.RepairSalesPointProvinceChinaC = result[0].RepairSalesPoint_Province_China__c; } this.CreateRepairFromOnCall(); }) this.dispatchEvent(new CloseActionScreenEvent()); } }).catch(error => { console.log(error); }) } //新建修理 CreateRepairFromOnCall() { var Work_Location = ''; var Incharge_Staff = ''; var Incharge_Staff_id = ''; var FSE_GI_Main_Leader__id = ''; var FSE_GI_Main_Leader__name = ''; var FSE_SP_Main_Leader__id = ''; var FSE_SP_Main_Leader__name = ''; var RecordTypeId; selecctAccountBySegmentId({ segmentId: this.SegmentId }).then(List => { console.log(List); if (List[0]['ParentId']) { RecordTypeId = List[0]['Parent']['RecordType_DeveloperName__c']; console.log(RecordTypeId); } selecctAccountBySegmentId02({ segmentId: this.SegmentId }).then(account => { console.log(account); if (account[0].ParentId != null) { if (account[0].Parent.RecordTypeId != null || account[0].Parent.RecordTypeId != undefined) { var recordId = account[0].Parent.RecordType_DeveloperName__c; console.log(recordId); if (recordId == 'Department_Class_GI' || recordId == 'Department_Class_BF' || recordId == 'Department_Class_ET') { if (account[0].Parent.Parent.FSE_GI_Main_Leader__c != null) { Work_Location = account[0].Parent.Parent.FSE_GI_Main_Leader__r.Work_Location__c; } } else if (recordId == 'Department_Class_GS' || recordId == 'Department_Class_URO' || recordId == 'Department_Class_ENT' || recordId == 'Department_Class_GYN' || recordId == 'Department_Class_OTH') { if (account[0].Parent.Parent.FSE_SP_Main_Leader__c != null) { Work_Location = account[0].Parent.Parent.FSE_SP_Main_Leader__r.Work_Location__c; } } } if (List[0]['Parent']['Parent']['FSE_GI_Main_Leader__c'] != null) { FSE_GI_Main_Leader__id = List[0]['Parent']['Parent']['FSE_GI_Main_Leader__c'].substring(0, 15); FSE_GI_Main_Leader__name = List[0]['Parent']['Parent']['FSE_GI_Main_Leader__r']['Name']; } if (List[0]['Parent']['Parent']['FSE_SP_Main_Leader__c'] != null) { FSE_SP_Main_Leader__id = List[0]['Parent']['Parent']['FSE_SP_Main_Leader__c'].substring(0, 15); FSE_SP_Main_Leader__name = List[0]['Parent']['Parent']['FSE_SP_Main_Leader__r']['Name']; } if (RecordTypeId == 'Department_Class_GI') { Incharge_Staff = FSE_GI_Main_Leader__name; Incharge_Staff_id = FSE_GI_Main_Leader__id; } if (RecordTypeId == 'Department_Class_BF') { Incharge_Staff = FSE_GI_Main_Leader__name; Incharge_Staff_id = FSE_GI_Main_Leader__id; } if (RecordTypeId == 'Department_Class_ET') { Incharge_Staff = FSE_GI_Main_Leader__name; Incharge_Staff_id = FSE_GI_Main_Leader__id; } if (RecordTypeId == 'Department_Class_GS') { Incharge_Staff = FSE_SP_Main_Leader__name; Incharge_Staff_id = FSE_SP_Main_Leader__id; } if (RecordTypeId == 'Department_Class_URO') { Incharge_Staff = FSE_SP_Main_Leader__name; Incharge_Staff_id = FSE_SP_Main_Leader__id; } if (RecordTypeId == 'Department_Class_ENT') { Incharge_Staff = FSE_SP_Main_Leader__name; Incharge_Staff_id = FSE_SP_Main_Leader__id; } if (RecordTypeId == 'Department_Class_GYN') { Incharge_Staff = FSE_SP_Main_Leader__name; Incharge_Staff_id = FSE_SP_Main_Leader__id; } if (RecordTypeId == 'Department_Class_OTH') { Incharge_Staff = FSE_SP_Main_Leader__name; Incharge_Staff_id = FSE_SP_Main_Leader__id; } } const defaultValues = encodeDefaultFieldValues({ On_Call_ID__c: this.Id, Hospital__c: this.HospitalIdC, Department_Class__c: this.SalesdepartmentHPIDC, Account__c:this.SegmentId, Delivered_Product__c: this.OncallEquipmentId, Incharge_Staff__c: Incharge_Staff_id, Failure_Occurrence_Date__c: this.TrableOccurdaYCollectC, Repair_Source__c:'从On-Call', work_location_select__c:this.RepairSalesPointProvinceChinaC, SalesOfficeCode_selection__c:Work_Location, retURL:this.Id, }); // var url = "/a0J/e?CF00N10000002FIJU_lkid=" + this.Id + "&CF00N10000002FIJU=" + this.Name + // "&CF00N10000002Dx66_lkid=" + this.HospitalIdC + "&CF00N10000002Dx66=" + this.HPC + "&CF00N10000002Dx5t_lkid=" + // this.SalesdepartmentHPIDC + "&CF00N10000002Dx5t=" + this.SalesdepartmentHPC + // "&CF00N10000002Dx5n_lkid=" + this.SegmentId + "&CF00N10000002Dx5n=" + this.SegmentC + // "&CF00N10000002Dx1X_lkid=" + this.OncallEquipmentId + "&CF00N10000002Dx1X=" + this.OncallEquipmentC + // "&CF00N10000002EMHw_lkid=" + Incharge_Staff_id + "&CF00N10000002EMHw=" + Incharge_Staff // + "&00N10000002Dx5y=" + this.TrableOccurdaYCollectC + "&00N10000002FH86=%e4%bb%8eOn-Call&00N10000006P6Rn=" + this.RepairSalesPointProvinceChinaC + "&00N10000006P6SM=" + encodeURI(Work_Location) + "&retURL=%2F" + this.Id; this[NavigationMixin.Navigate]({ type: 'standard__objectPage', attributes: { objectApiName: 'Repair__c', actionName: 'new' }, state:{ defaultFieldValues: defaultValues, } }); // window.open(url); }) }) } }