import { LightningElement, wire, api } from 'lwc'; import { CurrentPageReference } from "lightning/navigation"; import { CloseActionScreenEvent } from 'lightning/actions'; import init from '@salesforce/apex/otherButtonMaintenanceContractCtl.init'; import updateColunm from '@salesforce/apex/otherButtonMaintenanceContractCtl.updateColunm'; import up2sap from '@salesforce/apex/LexOtherButtonMc.up2sap'; import { ShowToastEvent } from 'lightning/platformShowToastEvent'; import LightningConfirm from 'lightning/confirm'; import lwcCSS from '@salesforce/resourceUrl/lwcCSS'; import {loadStyle} from 'lightning/platformResourceLoader'; export default class LexUploadToRecognitionModel extends LightningElement { @api recordId; str; IsLoading = true; Id; ContractQuotationOrNotC; oldIsRecognitionModelC; MaintenanceContractNoC; uploadToRMTimeC; uploadToSapTimeC; PaymentPlanSumFirstC; MaintanceContractPackC; @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.IsLoading = false; this.Id = result.Id; this.ContractQuotationOrNotC = result.ContractQuotationOrNotC; this.oldIsRecognitionModelC = result.oldIsRecognitionModelC; this.MaintenanceContractNoC = result.MaintenanceContractNoC; this.uploadToSapTimeC = result.uploadToSapTimeC; this.uploadToRMTimeC = result.uploadToRMTimeC; this.PaymentPlanSumFirstC = result.PaymentPlanSumFirstC; this.MaintanceContractPackC = result.MaintanceContractPackC; this.uploadToRecognitionModel(); } }).catch(error => { console.log(error); }) } // 上传认款合同 uploadToRecognitionModel() { if(this.MaintanceContractPackC) { this.ShowToastEvent('当前服务合同属于打包合同,请在打包合同上上传认款合同。', "error"); this.dispatchEvent(new CloseActionScreenEvent()); return; } if (this.ContractQuotationOrNotC == '还没做报价') { this.ShowToastEvent("您还没有做合同报价,不能上传认款合同。", "error"); this.dispatchEvent(new CloseActionScreenEvent()); return; } else if (this.MaintenanceContractNoC == undefined) { this.ShowToastEvent('合同号码为空,不能上传认款合同。', "error"); this.dispatchEvent(new CloseActionScreenEvent()); return; } else if (this.uploadToSapTimeC != undefined) { this.ShowToastEvent('已经上传SAP,不能再次上传认款合同。', "error"); this.dispatchEvent(new CloseActionScreenEvent()); return; } else if (this.uploadToRMTimeC != undefined) { this.ShowToastEvent('已经上传认款合同,不能再次上传认款合同。', "error"); this.dispatchEvent(new CloseActionScreenEvent()); return; } else { if (!this.oldIsRecognitionModelC) { this.ShowToastEvent('经销商为空或经销商不是先款对象,不需要上传认款合同。', "error"); this.dispatchEvent(new CloseActionScreenEvent()); return; } else if (this.PaymentPlanSumFirstC == undefined) { this.ShowToastEvent('第一次计划付款金额不能为空。', "error"); this.dispatchEvent(new CloseActionScreenEvent()); return; } else { this.handleConfirmClick('请确认是否要上传认款合同。'); } } } async ll() { await updateColunm({ mcid: this.Id }).then(result => { if (result != '1') { this.ShowToastEvent('上传认款合同失败,因为 来年合同相关信息修改失败', "error"); this.dispatchEvent(new CloseActionScreenEvent()); window.reload(); } }) await up2sap({ mcid: this.Id }).then(rtn => { if (rtn == '1') { this.ShowToastEvent("上传认款合同成功", "success"); this.dispatchEvent(new CloseActionScreenEvent()); window.reload(); } else { this.ShowToastEvent(rtn, "error"); this.dispatchEvent(new CloseActionScreenEvent()); return; } }) } // 弹窗 ShowToastEvent(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) { this.ll(); } else { this.dispatchEvent(new CloseActionScreenEvent()); } } }