import { LightningElement,api, track, wire } from 'lwc'; import {CurrentPageReference} from 'lightning/navigation'; import { CloseActionScreenEvent } from 'lightning/actions'; import { ShowToastEvent } from 'lightning/platformShowToastEvent'; import { NavigationMixin } from 'lightning/navigation'; import init from '@salesforce/apex/CustomLink2AdvancePaymentController.init'; import { encodeDefaultFieldValues } from 'lightning/pageReferenceUtils'; import lwcCSS from '@salesforce/resourceUrl/lwcCSS'; import {loadStyle} from 'lightning/platformResourceLoader' export default class LexCustomLink2AdvancePaymentIdentificationChange extends NavigationMixin(LightningElement) { @api recordId; IsLoading=false; @wire(CurrentPageReference) getStateParameters(currentPageReference){ console.log("进入页面"); console.log(currentPageReference); if(currentPageReference){ const urvalue=currentPageReference.state.recordId; if(urvalue){ let str=`${urvalue}`; console.log('str'); console.log(str); this.recordId=str; } } } connectedCallback(){ Promise.all([ loadStyle(this, lwcCSS) ]); init({recordId:this.recordId}).then(result=>{ console.log('result==========',result); this.IsLoading = false; if(result!=null){ if (result.firstParagraph == 0) { this.showToast("您已取消先款标识,无需重复操作",'error'); return; } else if (result.monthlyPayment == true) { this.showToast("您不能进行特批,请先取消月度债权先款标识",'error'); return; } else { debugger; if (result.records.length > 0) { if (result.records[0].Status__c == '草案中') { this.showToast('已提交草稿请尽快提交审批','error'); } else { this.showToast('无法创建!已有未最终批准的数据','error'); }; } else { const defaultFieldValues = encodeDefaultFieldValues({ Account__c:this.recordId }); this[NavigationMixin.Navigate]({ type: 'standard__objectPage', attributes: { objectApiName: 'Advance_Payment__c', actionName:'new' }, state:{ defaultFieldValues:defaultFieldValues, recordTypeId:result.recordTypeId } }); } }; } this.dispatchEvent(new CloseActionScreenEvent()); }).catch(err=>{ console.log("error:====",err); console.log(err); }).finally(()=>{}); } showToast(msg, type) { if(type == 'success'){ const event = new ShowToastEvent({ message: msg, variant: type }); this.dispatchEvent(event); }else{ const event = new ShowToastEvent({ message: msg, variant: type, mode:'Sticky' }); this.dispatchEvent(event); } this.dispatchEvent(new CloseActionScreenEvent()); } }