/* * @Author: zhangchunxu * @Date: 2023-08-13 18:57:20 * @LastEditors: zhangchunxu * @LastEditTime: 2023-09-14 10:30:35 * */ import { LightningElement,wire,track,api} from 'lwc'; import { CurrentPageReference ,NavigationMixin} from "lightning/navigation"; import { CloseActionScreenEvent } from 'lightning/actions'; import init from '@salesforce/apex/TenderingButtonController.initTenderingController'; import { updateRecord } from 'lightning/uiRecordApi'; import projectRestart from '@salesforce/apex/TenderingButtonController.projectRestart'; import { ShowToastEvent } from 'lightning/platformShowToastEvent'; import lwcCSS from '@salesforce/resourceUrl/lwcCSS'; import {loadStyle} from 'lightning/platformResourceLoader'; import { encodeDefaultFieldValues } from 'lightning/pageReferenceUtils'; export default class lexTenderingProjectRestartButton extends NavigationMixin(LightningElement) { @api recordId;//当前这条数据的id id;//返回值的id Tender_information__c招标项目的id status; 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) ]); init({ recordId: this.recordId }).then(result => { this.IsLoading = false; this.status = result.status; this.projectRestart(); }) } projectRestart(){ if(this.status == '09.终止'){ projectRestart({recordId: this.recordId}).then(res=>{ if(res != "1"){ var messageage = ""; messageage = res; this.showToast(messageage,"error"); }else{ this.showToast("项目重启成功","success"); setTimeout(()=>{ this.updateRecordView(); },500) this.dispatchEvent(new CloseActionScreenEvent()); } }).catch(resp=>{ }) }else{ // alert('终止审批状态不满足条件,无法重启。'); this.showToast('终止审批状态不满足条件,无法重启。',"error"); return; } } updateRecordView() { updateRecord({fields: { Id: this.recordId }}); } showToast(msg,type) { if(type == "success"){ const event = new ShowToastEvent({ message: msg, variant: type }); this.dispatchEvent(event); this.dispatchEvent(new CloseActionScreenEvent()); }else{ const event = new ShowToastEvent({ message: msg, variant: type, mode:"sticky" }); this.dispatchEvent(event); this.dispatchEvent(new CloseActionScreenEvent()); } } }