import { api, wire,LightningElement } from 'lwc'; import { CurrentPageReference } from "lightning/navigation"; import { CloseActionScreenEvent } from 'lightning/actions'; import updateSubmitSolutionSchemeForApprovalButton from '@salesforce/apex/lexSolutionProgrammeController.updateSubmitSolutionSchemeForApprovalButton'; import submitApproval from '@salesforce/apex/lexSolutionProgrammeController.submitApproval'; import init from '@salesforce/apex/lexSolutionProgrammeController.initSubmitSolutionSchemeForApprovalButton'; import queryForAttachments from '@salesforce/apex/lexSolutionProgrammeController.queryForAttachments'; 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 LexSubmitSolutionSchemeForApproval extends LightningElement { @api recordId; schemeType; confirmationResult; records; @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; } } } updateRecordView(recordId) { updateRecord({fields: { Id: recordId }}); } connectedCallback(){ Promise.all([ loadStyle(this, lwcCSS) ]); init({ recordId: this.recordId }).then(result=>{ console.log(result); this.schemeType = result.schemeType; this.confirmationResult = result.confirmationResult == undefined ? '' : result.confirmationResult; this.submitSolutionSchemeForApproval(); }); } submitSolutionSchemeForApproval(){ queryForAttachments({ Id: this.recordId }).then(result=>{ this.records = result; this.handleConfirmClick('一旦提交此记录以待批准,根据您的设置您可能不再能够编辑此记录或将他从批准过程中调回。是否继续?'); }); } async handleConfirmClick(msg) { const result = await LightningConfirm.open({ message: msg, variant: 'headerless', label: 'this is the aria-label value', }); console.log(result); if(result){ console.log(this.schemeType); console.log(this.confirmationResult); if(this.schemeType == '结案' && (this.confirmationResult == '' || this.confirmationResult == undefined)){ this.showToast('结案方案提交前,方案采纳结果必填','error'); this.dispatchEvent(new CloseActionScreenEvent()); return; } console.log('this.schemeType:'+this.schemeType); if((this.records.length > 0 && this.schemeType == '结案') || (this.schemeType == '初次')){ // submitApproval({recordId:this.recordId}).then(rep => { // console.log(rep); // if(rep==='OK'){ // console.log('1'); // this.showToast('提交审批成功','success'); // }else{ // console.log('2'); // this.showToast(rep,'error'); // } // }).catch(err => { // console.log('3'); // console.log(err); // this.showToast(err,'error'); // }) updateSubmitSolutionSchemeForApprovalButton({ recordId: this.recordId }).then(res=>{ if(res){ this.showToast(res,'error'); this.dispatchEvent(new CloseActionScreenEvent()); }else{ window.location.href = '/lightning/r/Solution_Programme__c/'+this.recordId+'/view'; } }); }else{ this.showToast('结案的方案提交前,必须上传结案附件','error'); this.dispatchEvent(new CloseActionScreenEvent()); return; } // window.location.reload(); }else{ this.dispatchEvent(new CloseActionScreenEvent()); return; } } showToast(msg, type) { const event = new ShowToastEvent({ message: msg, variant: type }); this.dispatchEvent(event); this.dispatchEvent(new CloseActionScreenEvent()); if(type==='success'){ window.location.href = '/lightning/r/Solution_Programme__c/'+this.recordId+'/view'; } } }