import { LightningElement, wire, api} from 'lwc'; import { CurrentPageReference} from "lightning/navigation"; import { CloseActionScreenEvent} from 'lightning/actions'; import { ShowToastEvent } from 'lightning/platformShowToastEvent'; import init from '@salesforce/apex/otherButtonMaintenanceContractCtl.init'; import updateColunm from '@salesforce/apex/otherButtonMaintenanceContractCtl.updateColunm'; import updateFirstContract from '@salesforce/apex/otherButtonMaintenanceContractCtl.updateFirstContract'; import Check_plan from '@salesforce/apex/LexOtherButtonMc.Check_plan'; import up2sap from '@salesforce/apex/LexOtherButtonMc.up2sap'; import lwcCSS from '@salesforce/resourceUrl/lwcCSS'; import {loadStyle} from 'lightning/platformResourceLoader'; export default class LexUploadToSap extends LightningElement { @api recordId; str; IsLoading = true; MCApprovalStatusC; MaintenanceContractNoC; uploadToSapTimeC; oldIsRecognitionModelC; uploadToRMTimeC; IsRecognitionModelTrueC; Id; URFContractFC; urfFlag; rtn1; rtn; @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.MCApprovalStatusC = result.MCApprovalStatusC; this.MaintenanceContractNoC = result.MaintenanceContractNoC; this.uploadToSapTimeC = result.uploadToSapTimeC; this.oldIsRecognitionModelC = result.oldIsRecognitionModelC; this.uploadToRMTimeC = result.uploadToRMTimeC; this.IsRecognitionModelTrueC = result.IsRecognitionModelTrueC; this.Id = result.Id; this.URFContractFC = result.URFContractFC; this.uploadToSap(); } }).catch(error => { console.log(error); }) } // 上传SAP async uploadToSap() { if (this.MCApprovalStatusC != 'Pass') { this.showToast("合同复核批准后才可以上传SAP。", "error"); } else if (this.MaintenanceContractNoC == undefined) { this.showToast('维修合同管理编码为空,不能上传SAP。', "error"); } else if (this.uploadToSapTimeC != undefined) { this.showToast('已经上传SAP,不能重复上传。', "error"); } else { if (this.oldIsRecognitionModelC) { if (this.uploadToRMTimeC == undefined) { this.showToast('当前维修合同的经销商是先款对象,需要先【上传认款合同】,然后完成认款以后才能上传SAP。', "error"); return; } else { if (!this.IsRecognitionModelTrueC) { this.showToast('当前维修合同没有完成认款,不能上传SAP。', "error"); return; } } } await updateColunm({ mcid: this.Id }).then(result => { console.log("updateColunm"+result); if (result != '1') { this.showToast('上传SAP失败,因为 来年合同相关信息修改失败', "error"); return; } }); await updateFirstContract({ mcid: this.Id }).then(result => { console.log("updateFirstContract"+result); if (result != '1') { this.showToast(result, "error"); return; } }); this.urfFlag = this.URFContractFC; this.rtn1 = '1'; if (this.urfFlag == 'false') { await Check_plan({ mcidList: this.Id }).then(result => { console.log("Check_plan"+result); this.rtn1 = result; }); } if (this.rtn1 == '1') { await up2sap({ mcid: this.Id }).then(result => { console.log("up2sap"+result); this.rtn = result; if (this.rtn == '1') { this.showToast("上传SAP成功", "success"); location.href = "/" + this.Id; } else { this.showToast('上传SAP失败 '+this.rtn , "error"); } }); } else { this.showToast(this.rtn1, "error"); } } this.IsLoading = false; } // 弹窗 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); } this.dispatchEvent(new CloseActionScreenEvent()); } }