import { LightningElement,wire,track,api} from 'lwc'; import { CurrentPageReference, NavigationMixin} from "lightning/navigation"; import { CloseActionScreenEvent } from 'lightning/actions'; import init from '@salesforce/apex/lexNewSparePartsLoanApplicationCtl.init'; import UserInfo_Owner from '@salesforce/apex/lexNewSparePartsLoanApplicationCtl.UserInfo_Owner'; import { ShowToastEvent } from 'lightning/platformShowToastEvent'; import { encodeDefaultFieldValues } from 'lightning/pageReferenceUtils'; // 新建备品借出申请 opd计划 export default class LexNewSparePartsLoanApplication extends NavigationMixin(LightningElement) { @api recordId; defaultValues1; IsLoading = true; @wire(CurrentPageReference) getStateParameters(currentPageReference) { console.log(111); console.log(currentPageReference); if (currentPageReference) { const urlValue = currentPageReference.state.recordId; if (urlValue) { let str = `${urlValue}`; console.log("str"); console.log(str); this.recordId = str; } } } connectedCallback(){ console.log(this.recordId); init({ recordId: this.recordId }).then(result => { this.IsLoading = false; if (result != null) { console.log("-------result--------------",JSON.stringify(result)) // StayOrNot__c 所有人在离职状态 if (result.opdStayOrNot == '已离职') { this.showToast('所有人已经离职,请联系系统管理员修改所有人。','warning'); return; } // IF_Approved__c 是否需要申请决裁 ; Approved_No__c 决裁编码 if (result.opdIFApproved == true && result.opdApprovedNo == ''){ this.showToast('需要决裁时,决裁编码不能为空','warning'); return; } // 决裁状态 Approved_Status__c if (result.opdIFApproved == true && result.opdApprovedNo != '' && result.opdStatusProcessState.indexOf(result.opdApprovedStatus)!= -1 && result.opdApprovedStatus != '草稿' ){ this.showToast('已申请决裁但决裁状态不符合条件','warning'); return; } var HaveValue = "{!OPDPlan__c.Rental_Apply2__c}"; // 备品借出申请1 Rental_Apply2__c ; OPD计划来源 OPDType__c if (result.opdRentalApply2 != '' && result.opdType != '学会') { this.showToast('一个OPD计划只可关联创建一个备品申请单','warning'); return; } // 状态 Status__c if (result.opdStatus != '计划中') { this.showToast('OPD计划的状态不是计划中,不能新建备品借出申请','warning'); return; } UserInfo_Owner({}).then(res=>{ console.log("-------UserInfo_Owner---1111---------",res); // 是否在试用期 isFormal_Stuff__c if(res.isFormalStuff){ this.showToast('试用期内,不能申请','warning'); return; } // 学会 Campaign__c if (result.opdType == '学会' && result.opdCampaignId != '') { console.log("-------UserInfo_Owner---2222---------"); // 提交申请FLG Rental_Apply_Flag__c if (result.opdRentalApplyFlag < 7) { this.showToast("申请提交必须在7天(含)以上才可以",'warning'); return; } // userProvince 省 Province__c var ups = res.userProvince.slice(0, 2); let campaignRecodeType = result.opdCampaignRecodeTypeId.slice(0,15) let getCampaignRecodeType = result.opdCampaignTypeId.slice(0,15) console.log("-------opdCampaignRecodeTypeId---2222---------",getCampaignRecodeType,campaignRecodeType); // 职种 Job_Category__c if (campaignRecodeType !== getCampaignRecodeType && res.userJobCategory == '销售服务' ) { this.showToast('FSE不能申请该学会类型备品','warning'); return; } else if ((res.userJobCategory == '销售服务' || res.userJobCategory == '支援') && campaignRecodeType !== getCampaignRecodeType && result.opdInternalinchargeprovince.indexOf(ups) == -1) { this.showToast("与FSE所在省一致,才可使用备品",'warning'); return; } else if (result.opdCampaignStatus == '已结束') { // 学会状态 CampaignStatus__c this.showToast("已结束,不能申请",'warning'); return; } else if (result.opdCampaignStatus == '已提交报告') { this.showToast("已提交报告,不能申请",'warning'); return; } else if (result.opdCampaignStatus == '取消申请中') { this.showToast("取消申请中,不能申请",'warning'); return; } else if (result.opdCampaignStatus == '取消') { this.showToast("已经取消,不能申请",'warning'); return; } } // 原OPD计划(再申请) OriginalOpdPlan__c 原OPD计划(补充申请) OriginalOpdPlanApplication__c if (result.opdOriginalOpdPlan == '') { if (result.opdOriginalOpdPlanApplication == '') { if (result.opdType == '学会' && result.opdCampaignId != '') { // var purposeStr = '&00N10000003Msk0=产品试用' + // '&00N10000003Msk5=学会展会' + // '&CF00N10000003Mp2q_lkid={!URLENCODE(OPDPlan__c.CampaignId__c)}' + // '&CF00N10000003Mp2q={!URLENCODE(OPDPlan__c.CampaignName__c)}'; const defaultValues = encodeDefaultFieldValues({ // OPDPlan__c:this.recordId, Demo_purpose1__c:'产品试用', demo_purpose2__c:'学会展会', Campaign__c:result.opdCampaign, Account__c:result.opdAccountLaboratory, Strategic_dept__c:result.opdOCMcategoryId, Hospital__c:result.opdHospitalId, OPDPlan__c:result.opdPlanId, Person_In_Charge__c:res.id, applyUser__c:res.id, Loaner_received_staff__c:res.lastName + res.firstName, IsJump__c:result.opdIsJump, JumpCause__c:result.opdJumpCause, Name:'*', Approved_State_Create__c:result.ApprovedStatus, ApprovedNo_Create__c:result.opdApprovedNo }); this.navigateEvents(defaultValues); } else if (result.opdOpportunityId != '') { // 跟进询价ID1 // var purposeStr = '&00N10000003Msk0=产品试用' + // '&00N10000003Msk5=试用(有询价)' + // '&CF00N10000003O3VB_lkid={!OPDPlan__c.Related_Opportunity1_IDId__c}' + // '&CF00N10000003O3VB={!HTMLENCODE(OPDPlan__c.Related_Opportunity1_Name__c)}'; console.log("--------defaultValues------") const defaultValues = encodeDefaultFieldValues({ // OPDPlan__c:this.recordId, Demo_purpose1__c:'产品试用', demo_purpose2__c:'试用(有询价)', Follow_UP_Opp__c:result.opdRelatedOpportunity1ID, Account__c:result.opdAccountLaboratory, Strategic_dept__c:result.opdOCMcategoryId, Hospital__c:result.opdHospitalId, OPDPlan__c:result.opdPlanId, Person_In_Charge__c:res.id, applyUser__c:res.id, Loaner_received_staff__c:res.lastName + res.firstName, IsJump__c:result.opdIsJump, JumpCause__c:result.opdJumpCause, Name:'*', Approved_State_Create__c:result.ApprovedStatus, ApprovedNo_Create__c:result.opdApprovedNo }); console.log("--------defaultValues---1111---",defaultValues); this.navigateEvents(defaultValues); } else { console.log("-------UserInfo_Owner---77777---------"); // var purposeStr = '&00N10000003Msk0=产品试用' + // '&00N10000003Msk5=试用(无询价)' + // '&00N100000098amW={!OPDPlan__c.NoOpp_Reason__c}'; const defaultValues = encodeDefaultFieldValues({ // OPDPlan__c:this.recordId, Demo_purpose1__c:'产品试用', demo_purpose2__c:'试用(有询价)', NoOpp_Reason__c:result.opdNoOppReason, Account__c:result.opdAccountLaboratory, Strategic_dept__c:result.opdOCMcategoryId, Hospital__c:result.opdHospitalId, OPDPlan__c:result.opdPlanId, Person_In_Charge__c:res.id, applyUser__c:res.id, Loaner_received_staff__c:res.lastName + res.firstName, IsJump__c:result.opdIsJump, JumpCause__c:result.opdJumpCause, Name:'*', Approved_State_Create__c:result.ApprovedStatus, ApprovedNo_Create__c:result.opdApprovedNo }); this.navigateEvents(defaultValues); } // var urlStr = '&CF00N10000003Mp2R={!HTMLENCODE(OPDPlan__c.Account_Laboratory__c)}' + // '&CF00N10000003O3V6={!HTMLENCODE(OPDPlan__c.OCM_category_Name__c)}' + // '&CF00N10000003Mp1d={!HTMLENCODE(OPDPlan__c.HospitalName__c)}' + // '&CF00N10000008ps61={!HTMLENCODE(OPDPlan__c.Name)}' + // '&CF00N10000005HzRr={!URLENCODE($User.LastName&' '&$User.FirstName)}' + // '&CF00N10000005HzRz={!URLENCODE($User.LastName&' '&$User.FirstName)}' + // '&00N10000003OJzc={!URLENCODE($User.LastName&' '&$User.FirstName)}' + // '&00N100000098dmS={!OPDPlan__c.IsJump__c}' + // '&00N100000098dmI={!HTMLENCODE(OPDPlan__c.JumpCause__c)}' + // '&Name=*'+ // '&00N10000009HBWg= {!OPDPlan__c.Approved_Status__c} ' + // '&00N10000009HBXK= {!OPDPlan__c.Approved_No__c} '; //// 20220211 sx add 备品借出申请-决裁控制 No.2 // window.open('/a0t/e?retURL=%2F{!OPDPlan__c.Id}' + purposeStr + urlStr ); } else { const defaultValues = encodeDefaultFieldValues({ // OPDPlan__c:this.recordId, Cancel_Reason__c:'', Loaner_cancel_reason__c:'', Loaner_cancel_request__c:'', Request_demo_time__c:'', Request_approval_time__c:'', Application_accept_time__c:'', Response__c:'', Status__c:'草案中', Zsq_Rental_Apply__c:result.opdRentalApplyName, OPDPlan__c:result.opdName, Assign_Person__c:'', Old_Rental_Apply__c:'', Split_Apply_Reason__c:'' }); this.navigateEvents(defaultValues); // var url = "/{!OPDPlan__c.originalOpdRentalApply__c}/e?newclone=1&retURL=%2F{!OPDPlan__c.originalOpdRentalApply__c}&common.udd.actions.ActionsUtilORIG_URI=%2F{!OPDPlan__c.RentalApplyId__c}%2Fe&cloneli=1&00N10000007MNF8=&00N100000098uKJ=&00N10000004oFTC=&00N10000003O1JF=&00N10000003O1JK=&00N10000006pvpZ=&00N10000003O1JU=&00N10000006gY9x=&00N10000003Mp2H=草案中&CF00N10000009EKKp_lkid={!OPDPlan__c.RentalApplyId__c}&CF00N10000009EKKp={!OPDPlan__c.RentalApplyName__c}&CF00N10000008ps61={!OPDPlan__c.Name}&CF00N10000008ps61_lkid={!OPDPlan__c.Id}&CF00N10000008poFM=&CF00N10000008poFM_lkid=&CF00N10000005HzRq=&CF00N10000005HzRq_lkid=&00N10000007oQKh="; // window.open(url); } }else { console.log("-------UserInfo_Owner---00000--else-------"); const defaultValues = encodeDefaultFieldValues({ // OPDPlan__c:this.recordId, Cancel_Reason__c:'', Loaner_cancel_reason__c:'', Loaner_cancel_request__c:'', Request_shipping_day__c:'', Hope_Lonaer_date_Num__c:'', Request_return_day__c:'', Status__c:'草案中', Zsq_Rental_Apply__c:result.opdRentalApplyName, OPDPlan__c:result.opdName, Assign_Person__c:'', Old_Rental_Apply__c:'', Split_Apply_Reason__c:'' }); console.log("-------UserInfo_Owner---00000--else-------" + defaultValues); this.navigateEvents(defaultValues); // var url = "/{!OPDPlan__c.RentalApplyId__c}/e?newclone=1&retURL=%2F{!OPDPlan__c.RentalApplyId__c}&common.udd.actions.ActionsUtilORIG_URI=%2F{!OPDPlan__c.RentalApplyId__c}%2Fe&cloneli=1&00N10000007MNF8=&00N100000098uKJ=&00N10000004oFTC=&00N10000003Ntz7=&00N10000008rG1M=&00N10000005HzRw=&00N10000003Mp2H=草案中&CF00N10000009EKKp_lkid={!OPDPlan__c.RentalApplyId__c}&CF00N10000009EKKp={!OPDPlan__c.RentalApplyName__c}&CF00N10000008ps61={!OPDPlan__c.Name}&CF00N10000008ps61_lkid={!OPDPlan__c.Id}&CF00N10000008poFM=&CF00N10000008poFM_lkid=&CF00N10000005HzRq=&CF00N10000005HzRq_lkid=&00N10000007oQKh="; // window.open(url); } }) this.dispatchEvent(new CloseActionScreenEvent()); // window.location.reload(); } }).catch(error => { console.log("error"); console.log(error); }); } showToast(message, type) { const evt = new ShowToastEvent({ // title: 'Error', message: message, variant: type }); this.dispatchEvent(evt); this.dispatchEvent(new CloseActionScreenEvent()); } navigateEvents(defaultValues){ console.log("--------navigateEvents------",defaultValues) this[NavigationMixin.Navigate]({ type: 'standard__objectPage', attributes: { objectApiName: 'Rental_Apply__c', actionName: 'new' }, state:{ defaultFieldValues: defaultValues } }) } }