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 newApply from '@salesforce/apex/lexNewSparePartsLoanApplicationCtl.newApplyInit'; import newApplyInitApp from '@salesforce/apex/lexNewSparePartsLoanApplicationCtl.newApplyInitApp'; import { ShowToastEvent } from 'lightning/platformShowToastEvent'; import { encodeDefaultFieldValues } from 'lightning/pageReferenceUtils'; import lwcCSS from '@salesforce/resourceUrl/lwcCSS'; import {loadStyle} from 'lightning/platformResourceLoader'; // 新建备品借出申请 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) { let urlValue = currentPageReference.state.recordId; if (urlValue) { let str = `${urlValue}`; console.log("str"); console.log(str); this.recordId = str; } } } connectedCallback(){ console.log(this.recordId); Promise.all([ loadStyle(this, lwcCSS) ]); init({ recordId: this.recordId }).then(result => { this.IsLoading = false; if (result != null) { console.log("-------result--------------",JSON.stringify(result)); console.log("---------学会-5555---result.opdIsJump-----",result.opdIsJump); // 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; } } if (result.opdOriginalOpdPlan == '' && result.opdOriginalOpdPlanApplication == '') { //备品智能化 add 使用目的为 新产品评价 if(result.rentalReson == '新产品评价'){ let defaultValues = encodeDefaultFieldValues({ Demo_purpose1__c:'产品试用', demo_purpose2__c:'新产品评价', OPDPlan__c:result.opdPlanId, Hospital__c:result.opdHospitalId, Strategic_dept__c:result.opdOCMcategoryId, Person_In_Charge__c:res.id, applyUser__c:res.id, Account__c:result.opdAccountLaboratory, Loaner_received_staff__c:res.lastName + res.firstName, IsJump__c:result.opdIsJump, JumpCause__c:result.opdJumpCause, Name:'*', Approved_State_Create__c:result.opdApprovedStatus, // 借用机会可视化_上线前遗留问题 zyh 2024-01-15 start // Product_category__c:result.planProdDetail, // 借用机会可视化_上线前遗留问题 zyh 2024-01-15 end ApprovedNo_Create__c:result.opdApprovedNo }); this.navigateEvents(defaultValues); } else if (result.opdType == '学会' && result.opdCampaignId != ''){ let defaultValues = encodeDefaultFieldValues({ // OPDPlan__c:this.recordId, Demo_purpose1__c:'产品试用', demo_purpose2__c:'学会展会', Campaign__c:result.opdCampaignId, 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.opdApprovedStatus, // 借用机会可视化_上线前遗留问题 zyh 2024-01-15 start // Product_category__c:result.planProdDetail, // 借用机会可视化_上线前遗留问题 zyh 2024-01-15 end ApprovedNo_Create__c:result.opdApprovedNo }); console.log("---------学会---defaultValues--111----",defaultValues); 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------") console.log('result.opdRelatedOpportunity1ID = ' + result.opdRelatedOpportunity1ID); let 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.opdApprovedStatus, // 借用机会可视化_上线前遗留问题 zyh 2024-01-15 start // Product_category__c:result.planProdDetail, // 借用机会可视化_上线前遗留问题 zyh 2024-01-15 end ApprovedNo_Create__c:result.opdApprovedNo }); console.log("--------defaultValues--222-1111---",defaultValues); this.navigateEvents(defaultValues); } else { console.log("-------UserInfo_Owner---77777---------"); // var purposeStr = '&00N10000003Msk0=产品试用' + // '&00N10000003Msk5=试用(无询价)' + // '&00N100000098amW={!OPDPlan__c.NoOpp_Reason__c}'; let 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.opdApprovedStatus, // 借用机会可视化_上线前遗留问题 zyh 2024-01-15 start // Product_category__c:result.planProdDetail, // 借用机会可视化_上线前遗留问题 zyh 2024-01-15 end ApprovedNo_Create__c:result.opdApprovedNo }); this.navigateEvents(defaultValues); } } }) // 原OPD计划(再申请) OriginalOpdPlan__c 原OPD计划(补充申请) OriginalOpdPlanApplication__c if (result.opdOriginalOpdPlan != '') { // 2023-09-10 zyh add start newApply({ recordId : this.recordId }) .then(rares=>{ let defaultValues = 'Name=*,newclone=1' // + ',Cancel_Reason__c=' + rares.cancelReason // + ',Loaner_cancel_reason__c=' + rares.loanerCancelReason // + ',Loaner_cancel_request__c=' + rares.loanerCancelRequest // + ',Request_shipping_day__c=' + rares.requestShippingDay // + ',Hope_Lonaer_date_Num__c=' + rares.hopeLonaerDateNum //deloitte-zhj 20231204 PIPL还原 // + ',loanerMedicalStaffAWSDataId=' + rares.loanerMedicalStaffAWSDataId //deloitte-zhj 20230916 // + ',rentalApplyAWSDataId=' + rares.rentalApplyAWSDataId //deloitte-zhj 20230916 + ',Follow_UP_OppName=' + rares.Follow_UP_OppName //deloitte-zhj 20230922 + ',RepairName=' + rares.RepairName //deloitte-zhj 20230922 + ',Request_return_day__c=' + rares.requestReturnDay + ',Assign_Person__c=' + rares.assignPerson // + ',Old_Rental_Apply__c=' + rares.id + ',Status__c=草案中' + ',Zsq_Rental_Apply__c=' + result.opdRentalApplyName + ',OPDPlan__c=' + result.opdPlanId + ',Split_Apply_Reason__c='; console.log("再申请>>1234567890>>>>> ",rares.opdCloneData) this.navigateEvents(rares.opdCloneData + "," + defaultValues); }) } if(result.opdOriginalOpdPlan == '' && result.opdOriginalOpdPlanApplication != ''){ // 2023-09-10 zyh add start newApplyInitApp({ recordId : this.recordId }).then(rares=>{ console.log("-------原OPD计划(补充申请)----opdOriginalOpdPlanApplication != ''---",rares); let defaultValues = 'Name=*,newclone=1' // + ',Cancel_Reason__c=' + rares.cancelReason // + ',Loaner_cancel_reason__c=' + rares.loanerCancelReason // + ',Loaner_cancel_request__c=' + rares.loanerCancelRequest //deloitte-zhj 20231204 PIPL还原 // + ',loanerMedicalStaffAWSDataId=' + rares.loanerMedicalStaffAWSDataId //deloitte-zhj 20230916 // + ',rentalApplyAWSDataId=' + rares.rentalApplyAWSDataId //deloitte-zhj 20230916 + ',Follow_UP_OppName=' + rares.Follow_UP_OppName //deloitte-zhj 20230922 + ',RepairName=' + rares.RepairName //deloitte-zhj 20230922 + ',Request_demo_time__c=' + rares.requestDemoTime + ',Request_approval_time__c=' + rares.requestApprovalTime + ',Application_accept_time__c=' + rares.applicationAcceptTime + ',Response__c=' + rares.response // + ',Old_Rental_Apply__c=' + rares.id + ',Status__c=草案中' + ',Zsq_Rental_Apply__c=' + result.opdRentalApplyName + ',OPDPlan__c=' + result.opdPlanId + ',Split_Apply_Reason__c='; if(rares.cancelReason){ defaultValues = defaultValues + ',Cancel_Reason__c='+rares.cancelReason; } if(rares.loanerCancelReason){ defaultValues = defaultValues + ',Loaner_cancel_reason__c='+rares.loanerCancelReason; } if(rares.loanerCancelRequest){ defaultValues = defaultValues + ',Loaner_cancel_request__c='+rares.loanerCancelRequest; } console.log("补充申请>>123456>>>>> ",defaultValues) this.navigateEvents(rares.opdCloneData + "," + defaultValues); }).catch(error => { console.log("error补充申请"); console.log(error); this.dispatchEvent(new CloseActionScreenEvent()); }); } // // window.location.reload(); } }).catch(error => { console.log("error"); console.log(error); this.dispatchEvent(new CloseActionScreenEvent()); }) } showToast(msg, type) { if(type == "success"){ const event = new ShowToastEvent({ // title: '', message: msg, variant: type }); this.dispatchEvent(event); }else{ const event = new ShowToastEvent({ // title: '', message: msg, variant: type, mode:'sticky' }); this.dispatchEvent(event); } this.dispatchEvent(new CloseActionScreenEvent()); } navigateEvents(defaultValues){ console.log("--------navigateEvents------",defaultValues); this[NavigationMixin.Navigate]({ type: 'standard__objectPage', attributes: { objectApiName: 'Rental_Apply__c', actionName: 'new' }, state:{ // nooverride : 1, defaultFieldValues: defaultValues } }); this.dispatchEvent(new CloseActionScreenEvent()); } }