import { LightningElement,wire,track,api} from 'lwc'; import { CurrentPageReference } from "lightning/navigation"; import { CloseActionScreenEvent } from 'lightning/actions'; import { updateRecord } from 'lightning/uiRecordApi'; import LightningConfirm from 'lightning/confirm'; import { ShowToastEvent } from 'lightning/platformShowToastEvent'; import init from '@salesforce/apex/LexLostSubmitApprovalController.LexLostSubmitApprovalController'; import submit from '@salesforce/apex/LexLostSubmitApprovalController.submit'; import lwcCSS from '@salesforce/resourceUrl/lwcCSS'; import {loadStyle} from 'lightning/platformResourceLoader'; // 遗失报告 提交待审核 export default class LexLostSubmitApproval extends LightningElement { @api recordId; IsLoading = true; reportDetailList; @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; } } } connectedCallback(){ Promise.all([ loadStyle(this, lwcCSS) ]); this.IsLoading = false; // this.submit(); init({recordId:this.recordId}) .then(result=>{ console.log("LexConsumablesLost------>>>",result) this.reportDetailList = result.reportDetailList; if (result.statusTf == "填写完毕" || result.statusTf == "申请中" || result.statusTf == "已批准") { this.showToast('请确认遗失报告状态,已经提交过的申请,不能重复提交','error'); }else if (!this.handleConfirmClick01("一旦提交此记录以待批准,根据您的设置您可能不再能够编辑此记录或将他从批准过程中调回。是否继续?")){ return; } }) .catch(e=>{console.log(e)}) } async funOne(){ if (this.reportDetailList.length > 0) { var qianpinDate = new Date(this.reportDetailList[0].Rental_Apply_Equipment_Set_Detail__r.Lost_item_check_day__c); for (var i = 1; i < this.reportDetailList.length; i++) { var d = new Date(this.reportDetailList[i].Rental_Apply_Equipment_Set_Detail__r.Lost_item_check_day__c); if(d < qianpinDate){ qianpinDate = d; } } qianpinDate.setDate(qianpinDate.getDate() + 90); var d = '' + qianpinDate.getFullYear()+'/' + (qianpinDate.getMonth()+1) + '/' + qianpinDate.getDate(); if (!this.handleConfirmClick02("请您的上级领导于" + d + "前完成遗失报告审批,否则备品自动断念,遗失报告自动取消。")){ return; } // this.showToastNoupdate('请您的上级领导于' + d + '前完成遗失报告审批,否则备品自动断念,遗失报告自动取消。','success'); }else{ this.submitApproval(); } } async submitApproval(){ await submit({ recordId: this.recordId }).then(result=>{ console.log("LexConsumablesLost--submitApproval--result-->>>",result) if(result != '1'){ // this.showToast('此记录不满足任何有效批准过程的项目条件或初始提交。请与您的管理员联系以获取帮助。','error'); this.showToast(result,'error'); return; } // this.updateRecordView(this.recordId); this.showToast("提交成功","success"); this.dispatchEvent(new CloseActionScreenEvent()); // window.location.reload(); }).catch(e=>{ console.log("submitApproval----eee------->>>>",e); }) } async handleConfirmClick01(msg) { const result = await LightningConfirm.open({ message: msg, variant: 'headerless', label: 'this is the aria-label value' }); if (!result){ this.dispatchEvent(new CloseActionScreenEvent()); return; }else{ this.funOne(); } } async handleConfirmClick02(msg) { const result = await LightningConfirm.open({ message: msg, variant: 'headerless', label: 'this is the aria-label value' }); if (!result){ this.dispatchEvent(new CloseActionScreenEvent()); return; }else{ this.submitApproval(); } } showToastNoupdate(msg,type) { const event = new ShowToastEvent({ message: msg, variant: type }); this.dispatchEvent(event); this.dispatchEvent(new CloseActionScreenEvent()); } showToast(msg,type) { if(type == 'success'){ const event = new ShowToastEvent({ message: msg, variant: type }); this.updateRecordView(this.recordId); 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 }}); } }