import { LightningElement, track, wire, api } from 'lwc'; import { CurrentPageReference,NavigationMixin } from 'lightning/navigation'; import { CloseActionScreenEvent } from 'lightning/actions'; import { encodeDefaultFieldValues } from 'lightning/pageReferenceUtils'; import { ShowToastEvent } from 'lightning/platformShowToastEvent'; import { updateRecord } from 'lightning/uiRecordApi'; import queueTop from '@salesforce/apex/ApplyJsCtl.queueTop'; import lwcCSS from '@salesforce/resourceUrl/lwcCSS'; import {loadStyle} from 'lightning/platformResourceLoader'; export default class lexTopInQueue extends LightningElement { @api recordId; IsLoading = true; @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) ]); queueTop({ applyId: this.recordId }).then(res=>{ if(res == 'Success'){ this.showToast('置顶成功','success'); return; }else{ this.showToast(res,'error'); return; } }).catch(err=>{ console.log('err===='+err); this.showToast('置顶失败','error'); this.dispatchEvent(new CloseActionScreenEvent()); }) } showToast(msg,type) { this.IsLoading = false; this.dispatchEvent(new CloseActionScreenEvent()); if(type == 'success'){ const event = new ShowToastEvent({ message: msg, variant: type }); this.updateRecordView(this.recordId); this.dispatchEvent(event); this.IsLoading = false; }else{ const event = new ShowToastEvent({ message: msg, variant: type, mode: 'sticky' }); this.dispatchEvent(event); } } updateRecordView(recordId) { updateRecord({fields: { Id: recordId }}); } }