import { LightningElement, wire, api } from 'lwc'; import { CurrentPageReference } from "lightning/navigation"; import { CloseActionScreenEvent } from 'lightning/actions'; import init from '@salesforce/apex/otherButtonRepairController.init'; import updateRepair from '@salesforce/apex/otherButtonRepairController.updateRepair'; import { ShowToastEvent } from 'lightning/platformShowToastEvent'; import LightningConfirm from 'lightning/confirm'; import lwcCSS from '@salesforce/resourceUrl/lwcCSS'; import {loadStyle} from 'lightning/platformResourceLoader' export default class LexOCSMNoToReportRepair extends LightningElement { @api recordId; str; IsLoading = true; Id;; OCSMAdministrativeReportNumberC; OCSMAdministrativeReportDateC; AwareDateC; url; @wire(CurrentPageReference) getStateParameters(currentPageReference) { if (currentPageReference) { this.url = currentPageReference.state.backgroundContext; const urlValue = currentPageReference.state.recordId; if (urlValue) { let str = `${urlValue}`; this.recordId = str; } } } connectedCallback() { Promise.all([ loadStyle(this, lwcCSS) ]); console.log(this.recordId); this.IsLoading = false; init({ recordId: this.recordId }).then(result => { console.log(result); if (result != null) { this.Id = result.Id; this.OCSMAdministrativeReportNumberC = result.OCSMAdministrativeReportNumberC; this.OCSMAdministrativeReportDateC = result.OCSMAdministrativeReportDateC; this.AwareDateC = result.AwareDateC; this.OCSMNoToReport(); } }).catch(error => { console.log(error); }) } // OCSM不要报告 OCSMNoToReport() { this.handleConfirmClick("不要报告后无法撤回,是否继续?"); } // 弹窗 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: '提示信息' }); if (result) { if (this.OCSMAdministrativeReportNumberC != undefined || this.OCSMAdministrativeReportDateC != undefined) { this.ShowToastEvent("已经报告的QIS,不可以点击OCSM不要报告。", "error"); this.dispatchEvent(new CloseActionScreenEvent()); return; } if (this.AwareDateC != undefined) { updateRepair({ recordId: this.Id, ocsm:'无需报告' }).then(result => { console.log(result); if (result == null) { window.open(this.url, "_self"); } if (result.length > 0) { var split = result.split(", "); this.ShowToastEvent(split[1], "error"); this.dispatchEvent(new CloseActionScreenEvent()); return; } window.location.href = ' /lightning/r/Repair__c/'+this.recordId+'/view'; }) } else { this.ShowToastEvent("没有AwareDate或已经OCSM行政报告,请确认。", "error"); this.dispatchEvent(new CloseActionScreenEvent()); return; } } else { this.dispatchEvent(new CloseActionScreenEvent()); } } }