import { LightningElement, wire, api } from 'lwc'; import { CurrentPageReference } from "lightning/navigation"; import { CloseActionScreenEvent } from 'lightning/actions'; import init from '@salesforce/apex/buttonQISReportCtl.init'; import { NavigationMixin } from 'lightning/navigation'; import { encodeDefaultFieldValues } from 'lightning/pageReferenceUtils'; import { ShowToastEvent } from 'lightning/platformShowToastEvent'; import lwcCSS from '@salesforce/resourceUrl/lwcCSS'; import {loadStyle} from 'lightning/platformResourceLoader'; export default class lexQISMBCrequestNew extends NavigationMixin(LightningElement) { @api recordId; str; IsLoading = true; Id; QISStatusC; Name; @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(result => { console.log(result); if (result != null) { this.IsLoading = false; this.Id = result.Id; this.QISStatusC = result.QISStatusC; this.Name = result.Name; this.QISMBCRequestNew(); this.dispatchEvent(new CloseActionScreenEvent()); } }).catch(error => { console.log(error); }) } // 新建QIS M-BC申请. QISMBCRequestNew() { var status = this.QISStatusC; if (status != '完毕' && status != '已回答' && status != '取消') { this.ShowToastEvent("QIS没有审批完毕或取消,不可以创建QIS M-BC!", "error"); return; } const url = encodeDefaultFieldValues({ Name: this.Name, QIS_request_name__c: this.Id }); this[NavigationMixin.Navigate]({ type: 'standard__objectPage', attributes: { objectApiName: 'QIS_M_BC__c', actionName: 'new' }, state: { nooverride: '1', defaultFieldValues: url } }); // var url = "a20/e?retURL=%2Fa20%2Fo&Name=" + this.Name + "&CF00N10000006Q4NP_lkid=" + this.Id; // window.open(url); } ShowToastEvent(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); } } }