/* * @Description: * @version: * @Author: chen jing wu * @Date: 2023-04-07 09:02:03 * @LastEditors: chen jing wu * @LastEditTime: 2023-10-10 17:37:58 */ import { api, wire,LightningElement } from 'lwc'; import { CurrentPageReference } from "lightning/navigation"; import { CloseActionScreenEvent } from 'lightning/actions'; import init from '@salesforce/apex/ReportController.initForOCSMToReportButton'; import updateForOCSMToReportButton from '@salesforce/apex/ReportController.updateForOCSMToReportButton'; import { updateRecord } from 'lightning/uiRecordApi'; import { ShowToastEvent } from 'lightning/platformShowToastEvent'; import LightningConfirm from 'lightning/confirm'; import lwcCSS from '@salesforce/resourceUrl/lwcCSS'; import {loadStyle} from 'lightning/platformResourceLoader'; export default class LexOCSMToReport extends LightningElement { @api recordId; IsLoading = true; theOCSMAdministrativeReportStatus; awareDate; @wire(CurrentPageReference) getStateParameters(currentPageReference) { console.log(111); console.log(currentPageReference); if (currentPageReference) { const urlValue = currentPageReference.state.recordId; if (urlValue) { let str = `${urlValue}`; console.log("str"); console.log(str); this.recordId = str; } } } async handleConfirmClick(msg) { const result = await LightningConfirm.open({ message: msg, variant: 'headerless', label: 'this is the aria-label value', }); console.log(result); if(result){ try { if(this.theOCSMAdministrativeReportStatus == undefined && this.awareDate != undefined ){ updateForOCSMToReportButton({ recordId: this.recordId }).then(result =>{ if(result){ this.showToast(result,"error"); }else{ this.showToast("成功","success"); this.updateRecordView(this.recordId); this.IsLoading = false; } this.dispatchEvent(new CloseActionScreenEvent()); }); }else{ this.showToast("没有AwareDate或已经OCSM行政报告,请确认。","error"); this.dispatchEvent(new CloseActionScreenEvent()); return; } } catch(e) { console.log(e); } }else{ this.dispatchEvent(new CloseActionScreenEvent()); return; } } connectedCallback(){ Promise.all([ loadStyle(this, lwcCSS) ]); console.log(this.recordId); init({ recordId: this.recordId }).then(result => { console.log(result); if (result != null) { this.theOCSMAdministrativeReportStatus = result.theOCSMAdministrativeReportStatus; this.awareDate = result.awareDate; this.toReport(); } }).catch(error => { console.log("error"); console.log(error); }); } 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()); } } updateRecordView(recordId) { updateRecord({fields: { Id: recordId }}); } toReport () { this.handleConfirmClick("报告后无法撤回,是否继续?"); } }