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 { encodeDefaultFieldValues } from 'lightning/pageReferenceUtils'; import lwcCSS from '@salesforce/resourceUrl/lwcCSS'; import {loadStyle} from 'lightning/platformResourceLoader'; const event1 = new ShowToastEvent({ message: "询价状态为:失单、取消、注残、发货、完毕,不允许创建OPD计划", variant : "error" , mode : 'sticky' }); import init from '@salesforce/apex/LexOPDSupplementaryController.initNewOPDButton2'; export default class lexNewOPDButtonOpportunity extends NavigationMixin(LightningElement) { @api recordId; IsLoading=true; Opportunity; @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(res=>{ if (res!=null) { console.log(res); this.Opportunity=res; console.log(res); this.newOPDButtonOpportunity().then(res=>{ this.IsLoading=false; this.dispatchEvent(new CloseActionScreenEvent()); }); } else{ const eventInItError = new dispatchEvent({ message : '页面初始化错误,请联系管理员', variant : 'error' , mode : 'sticky' }); this.dispatchEvent(eventInItError); return; } }); } async newOPDButtonOpportunity(){ var oppstagename =this.Opportunity.StageName; if(oppstagename=='敗戦' || oppstagename=='削除' || oppstagename=='注残' || oppstagename=='出荷' || oppstagename=='完了'){ this.dispatchEvent(event1); return; } const defaultValues = encodeDefaultFieldValues({ Related_Opportunity1_ID__c: this.recordId, Account_Laboratory__c: this.Opportunity.AccountId, Related_Opportunity1__c : this.Opportunity.Name, OPDType__c : '询价', Name : '*', retURL : '%2F' + this.recordId }); this.IsLoading=false; this.dispatchEvent(new CloseActionScreenEvent()); this[NavigationMixin.Navigate]({ type: 'standard__objectPage', attributes: { objectApiName: 'OPDPlan__c', actionName: 'new' }, state: { nooverride: '1', defaultFieldValues: defaultValues, } }); } }