import { LightningElement, track, wire ,api} 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 changeTrade from'@salesforce/apex/OpdPlanWebService.changeTrade'; import init from'@salesforce/apex/LexOPDSupplementaryController.initCancleSumbit'; import lwcCSS from '@salesforce/resourceUrl/lwcCSS'; import {loadStyle} from 'lightning/platformResourceLoader'; import getRecordTypeByNameAndSobject from'@salesforce/apex/LexOPDSupplementaryController.getRecordTypeByNameAndSobject'; const event1 = new ShowToastEvent({ message: "OPD计划的状态为取消或完毕时,不能取消!", variant : "error" , mode :'sticky' }); export default class lexOPDCancelSubmit extends NavigationMixin(LightningElement) { @api recordId; IsLoading=true; OPDPlan; recordTypeId; @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=>{ this.OPDPlan=res; console.log(this.OPDPlan); this.OPDCancelSubmit().then(res=>{ this.IsLoading=false; this.dispatchEvent(new CloseActionScreenEvent()); }) }) } async OPDCancelSubmit(){ var Status = this.OPDPlan.Status__c; if(Status == '取消' || Status == '完毕' ){ this.dispatchEvent(event1); return; } //判断符合条件得备品借出申请 SWAG-BUF6J5 var opdplanid = this.OPDPlan.Id; var rtn = await changeTrade({opdplanId:opdplanid}); if (rtn != 'OK') { const event2 = new ShowToastEvent({ message : rtn, variant : 'error', mode : 'sticky' }) this.dispatchEvent(event2); return; } var recordTypeId = await getRecordTypeByNameAndSobject({Name : '取消',SobjectType : 'CancelPostponePlan__c'}); const defaultValues = encodeDefaultFieldValues({ CancelOPDPlan__c: this.OPDPlan.Id, Status__c: '取消', }); this[NavigationMixin.Navigate]({ type: 'standard__objectPage', attributes: { objectApiName: 'CancelPostponePlan__c', actionName: 'new' }, state: { nooverride: '1', defaultFieldValues: defaultValues, recordTypeId : recordTypeId } }); } }