import { LightningElement,wire,track,api} from 'lwc'; import { CurrentPageReference } from "lightning/navigation"; import { CloseActionScreenEvent } from 'lightning/actions'; import LightningConfirm from 'lightning/confirm'; import { ShowToastEvent } from 'lightning/platformShowToastEvent'; import init from '@salesforce/apex/QISReportController.initForOSHSubmitButton'; import updateQis from '@salesforce/apex/QISReportController.updateQis1'; import { updateRecord } from 'lightning/uiRecordApi'; import lwcCSS from '@salesforce/resourceUrl/lwcCSS'; import {loadStyle} from 'lightning/platformResourceLoader'; /* * @Description: 提交待审批1 * @Author: hql * @Date: 2023-07-12 09:45:19 * @LastEditTime: 2023-07-12 15:44:33 * @LastEditors: */ export default class lexOSHSubmit extends LightningElement { @api recordId; IsLoading = true; qisReportId; qisStatus; OSHstaff; OSHstaffEmail; err; @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) ]); init({ recordId: this.recordId }).then(result => { this.IsLoading = false; this.qisReportId = result.Id; this.qisStatus = result.qIStatus; this.OSHstaff = result.oSHstaff; this.OSHstaffEmail = result.oSHstaffEmail; console.log('this.qisStatus='+this.qisStatus); console.log('this.OSHstaff='+this.OSHstaff); console.log('this.OSHstaffEmail='+this.OSHstaffEmail); if (this.qisStatus=='OSH检测申请' || this.qisStatus=='完毕') { const evt = new ShowToastEvent({ title : '', message: '需要先点击[OSH检查受理]', variant: 'error', mode: 'sticky' }); this.dispatchEvent(evt); this.dispatchEvent(new CloseActionScreenEvent()); return; } if (this.qisStatus!='OSH检测中') { const evt = new ShowToastEvent({ title : '', message: '已经提交审批', variant: 'error', mode: 'sticky' }); this.dispatchEvent(evt); this.dispatchEvent(new CloseActionScreenEvent()); return; } LightningConfirm.open({ message: '一旦提交此记录以待批准,根据您的设置您可能不再能够编辑此记录或将他从批准过程中调回。是否继续?', variant: 'headerless', label: 'this is the aria-label value', }).then(res=>{ if(res) { if (this.OSHstaff==null||this.OSHstaffEmail==null) { const evt = new ShowToastEvent({ title : '', message: 'OSH担当必须填写', variant: 'error', mode: 'sticky' }); this.dispatchEvent(evt); this.dispatchEvent(new CloseActionScreenEvent()); return; } try{ this.updateQisSubmit(); }catch(err){ if(err.faultstring !=undefined && err.faultstring.indexOf('INVALID_SESSION_ID') != -1) { const evt = new ShowToastEvent({ title : '', message: '当前网页已登出,请您重新登录后刷新该网页!', variant: 'error', mode: 'sticky' }); this.dispatchEvent(evt); this.dispatchEvent(new CloseActionScreenEvent()); return; } else { const evt = new ShowToastEvent({ title : '', message: err.faultstring, variant: 'error', mode: 'sticky' }); this.dispatchEvent(evt); this.dispatchEvent(new CloseActionScreenEvent()); return; } return; } }else{ this.dispatchEvent(new CloseActionScreenEvent()); return; } }); }).catch(error => { console.log('error='+error); }).finally(() => { }); } updateQisSubmit(){ updateQis({ recordId: this.recordId }).then(result =>{ console.log('result'+result); if (result!='成功') { this.err = result; const evt = new ShowToastEvent({ title : '', message: '更新失败'+this.err, variant: 'error', mode: 'sticky' }); this.dispatchEvent(evt); updateRecord({fields: { Id: this.recordId }}); } this.dispatchEvent(new CloseActionScreenEvent()); updateRecord({fields: { Id: this.recordId }}); }).catch(error => { console.log('error='+error); }).finally(() => { }); } }