import { LightningElement, wire,api} from 'lwc'; import { CurrentPageReference} from "lightning/navigation"; import { CloseActionScreenEvent} from 'lightning/actions'; import init from '@salesforce/apex/otherButtonMaintenanceContractCtl.init'; import processResults from '@salesforce/apex/otherButtonMaintenanceContractCtl.processResults'; import { ShowToastEvent} from 'lightning/platformShowToastEvent'; import LightningConfirm from 'lightning/confirm'; import lwcCSS from '@salesforce/resourceUrl/lwcCSS'; import {loadStyle} from 'lightning/platformResourceLoader'; export default class LexPreContractSubmit extends LightningElement { @api recordId; str; IsLoading = true; oldIsRecognitionModelC; uploadToRMTimeC; IsRecognitionModelTrueC; MCApprovalStatusC; ContractprintCompletedC; MaintanceContractPackC; Id; @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) ]); console.log(this.recordId); init({ recordId: this.recordId }).then(result => { console.log(result); if (result != null) { this.oldIsRecognitionModelC = result.oldIsRecognitionModelC; this.uploadToRMTimeC = result.uploadToRMTimeC; this.IsRecognitionModelTrueC = result.IsRecognitionModelTrueC; this.MCApprovalStatusC = result.MCApprovalStatusC; this.ContractprintCompletedC = result.ContractprintCompletedC; this.MaintanceContractPackC = result.MaintanceContractPackC; this.Id = result.Id; this.preContractSubmit(); } }).catch(error => { console.log(error); }) } // 合同复核 async preContractSubmit() { if(this.MaintanceContractPackC) { this.showToast('当前服务合同属于打包合同,请在打包合同上进行合同复核。', "error"); this.dispatchEvent(new CloseActionScreenEvent()); return; } if (this.oldIsRecognitionModelC) { if (this.uploadToRMTimeC == null) { this.showToast('当前维修合同的经销商是先款对象,需要先【上传认款合同】,然后完成认款以后才能复核。', "error"); this.dispatchEvent(new CloseActionScreenEvent()); return; } else { if (!this.IsRecognitionModelTrueC) { this.showToast('当前维修合同没有完成认款,不能进行复核。', "error"); this.dispatchEvent(new CloseActionScreenEvent()); return; } } } var status = this.MCApprovalStatusC; if (status != 'Draft' && status != 'Reject' && status != undefined) { this.showToast('复核已经提交,请确认状态。', "error"); this.dispatchEvent(new CloseActionScreenEvent()); return; } var con_no = this.ContractprintCompletedC; if (con_no == undefined) { this.showToast('合同盖章完毕为空,不能提交合同复核申请。', "error"); this.dispatchEvent(new CloseActionScreenEvent()); return; } const result = await LightningConfirm.open({ message: '一旦提交此记录以待批准,根据您的设置您可能不再能够编辑此记录或将他从批准过程中调回。是否继续?', variant: 'headerless', label: 'this is the aria-label value' }); if(result){ await processResults({ recordId: this.Id }).then(result=>{ this.showToast('合同复核提交成功。' , "success"); setTimeout(function(){ window.location.href = window.location; }, 1500 ); this.dispatchEvent(new CloseActionScreenEvent()); }).catch(error => { this.showToast(error , "error"); this.dispatchEvent(new CloseActionScreenEvent()); return; }); }else{ this.dispatchEvent(new CloseActionScreenEvent()); } } // 弹窗 showToast(msg, type) { if(type == 'success'){ const event = new ShowToastEvent({ message: msg, variant: type }); this.dispatchEvent(event); }else{ const event = new ShowToastEvent({ message: msg, variant: type, mode: 'sticky' }); this.dispatchEvent(event); } } // async handleConfirmClick(msg) { // const result = await LightningConfirm.open({ // message: msg, // variant: 'headerless', // label: 'this is the aria-label value' // }); // if(result){ // await processResults({ // recordId: this.Id // }).then(result=>{ // this.showToast('合同复核提交成功。' , "success"); // setTimeout(function(){ // window.location.href = window.location; // }, 1500 ); // this.dispatchEvent(new CloseActionScreenEvent()); // }).catch(error => { // this.showToast(error , "error"); // this.dispatchEvent(new CloseActionScreenEvent()); // return; // // if (error.body.pageErrors[0] != null) { // // var errmsg = error.body.pageErrors[0].message.toString(); // // } // }); // }else{ // this.dispatchEvent(new CloseActionScreenEvent()); // } // } }