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.initForRCSubmitButton'; import updateQis from '@salesforce/apex/QISReportController.updateQisWithRC'; import { updateRecord } from 'lightning/uiRecordApi'; import lwcCSS from '@salesforce/resourceUrl/lwcCSS'; import {loadStyle} from 'lightning/platformResourceLoader'; import accSendEmailFW from '@salesforce/apex/buttonAssetCtl.accSendEmailFW'; // WYL 贸易合规2期 add import IFTradeComplianceAlertName from '@salesforce/label/c.IFTradeComplianceAlertName'; // WYL 贸易合规2期 add /* * @Description: 提交待审批 * @Author: hql * @Date: 2023-07-12 09:45:19 * @LastEditTime: 2023-07-12 15:44:33 * @LastEditors: */ export default class lexRCSubmit extends LightningElement { @api recordId; IsLoading = true; qisReportId; qisStatus; OSHstaff; OSHstaffEmail; CancelQISReason; Rcid; RCinspectionDate; QISReplyDay; RCproblemnotfound; hosTradeComplianceStatus; // WYL 贸易合规2 ProductCompliance;// WYL 贸易合规2 userEmail;// WYL 贸易合规2 OwnerEmail; type; 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; this.CancelQISReason = result.cancelQISReason; this.Rcid = result.rCid; this.RCinspectionDate = result.rCinspectionDate; this.QISReplyDay = result.qISReplyDay; this.RCproblemnotfound = result.rCproblemnotfound; this.hosTradeComplianceStatus = result.hosTradeComplianceStatus; // WYL 贸易合规2 this.ProductCompliance = result.ProductCompliance; // WYL 贸易合规2 this.HospitalN = result.HospitalN;// WYL 贸易合规2 this.Asset_Model_No = result.Asset_Model_No;// WYL 贸易合规2 this.userEmail = result.userEmail;// WYL 贸易合规2 this.OwnerEmail = result.OwnerEmail;// WYL 贸易合规2 if (this.qisStatus!='RC检测中') { const evt = new ShowToastEvent({ title : '已经提交审批', message: '', variant: 'error', mode: 'sticky' }); this.dispatchEvent(evt); this.dispatchEvent(new CloseActionScreenEvent()); return; } console.log('this.RCproblemnotfound='+(this.QISReplyDay!=null && this.RCproblemnotfound)); if (this.CancelQISReason==null) { if (this.qisStatus == 'RC检测申请') { const evt = new ShowToastEvent({ title : '', message: '需要先点击[OCM服务本部收到实物]', variant: 'error', mode: 'sticky' }); this.dispatchEvent(evt); this.dispatchEvent(new CloseActionScreenEvent()); return; } if (this.Rcid ==null) { const evt = new ShowToastEvent({ title : '', message: '判定担当必须填写', variant: 'error', mode: 'sticky' }); this.dispatchEvent(evt); this.dispatchEvent(new CloseActionScreenEvent()); return; } if (this.RCinspectionDate == null) { const evt = new ShowToastEvent({ title : '', message: 'OCM服务本部还没有检测完毕', variant: 'error', mode: 'sticky' }); this.dispatchEvent(evt); this.dispatchEvent(new CloseActionScreenEvent()); return; } if (this.QISReplyDay!=null && this.RCproblemnotfound) { const evt = new ShowToastEvent({ title : '', message: '最终判定时,请取消[故障未发现留下继续观察]并选择[对应方法]', variant: 'error', mode: 'sticky' }); this.dispatchEvent(evt); this.dispatchEvent(new CloseActionScreenEvent()); return; } // WYL 贸易合规2期 start if (this.hosTradeComplianceStatus =='黑名单') { const evt = new ShowToastEvent({ title : '', message: '黑名单:存在贸易合规风险,无法新建,有问题请联系法务部贸易合规窗口'+IFTradeComplianceAlertName+'。', variant: 'error', mode: 'sticky' }); console.info('发送邮件'); accSendEmailFW({ accname:this.HospitalN, mcid:this.recordId, type:'1', FseEmail : this.OwnerEmail, useremail:this.userEmail, state:this.hosTradeComplianceStatus }) .then(result=>{ return; }).catch(err=>{ console.log('邮件错误'+error); }) this.dispatchEvent(evt); this.dispatchEvent(new CloseActionScreenEvent()); return; }else if (this.hosTradeComplianceStatus =='冻结,人工审批中') { const evt = new ShowToastEvent({ title : '', message: '冻结清单:可能存在贸易合规风险,目前正在评估中(一般需5-10个工作日),暂时无法新建,有问题请联系法务部贸易合规窗口'+IFTradeComplianceAlertName+'。', variant: 'error', mode: 'sticky' }); this.dispatchEvent(evt); this.dispatchEvent(new CloseActionScreenEvent()); return; } else if (this.hosTradeComplianceStatus =='警示名单' && this.ProductCompliance == '0') { LightningConfirm.open({ message: '您此次申请的业务可能存在贸易合规风险,请联系法务本部贸易合规窗口'+IFTradeComplianceAlertName+'进一步评估(一般需5-10个工作日)。', variant: 'headerless', label: 'this is the aria-label value', }).then(res=>{ if(res) { LightningConfirm.open({ message: '一旦提交此记录以待批准,根据您的设置您可能不再能够编辑此记录或将他从批准过程中调回。是否继续?', variant: 'headerless', label: 'this is the aria-label value', }).then(res=>{ if(res) { this.type = '1'; console.log('this.type='+this.type); this.updateQisSubmit(); }else{ this.dispatchEvent(new CloseActionScreenEvent()); return; } }); }else{ this.dispatchEvent(new CloseActionScreenEvent()); return; } }); console.info('发送邮件'); accSendEmailFW({ accname:this.HospitalN, mcid:this.recordId, type:'4', useremail:this.userEmail, state:this.hosTradeComplianceStatus, Asset_Model_No:this.Asset_Model_No }) .then(result=>{ return; }).catch(err=>{ console.log('邮件错误'+error); }) }else{ LightningConfirm.open({ message: '一旦提交此记录以待批准,根据您的设置您可能不再能够编辑此记录或将他从批准过程中调回。是否继续?', variant: 'headerless', label: 'this is the aria-label value', }).then(res=>{ if(res) { this.type = '1'; console.log('this.type='+this.type); this.updateQisSubmit(); }else{ this.dispatchEvent(new CloseActionScreenEvent()); return; } }); } // WYL 贸易合规2期 end }else{ LightningConfirm.open({ message: '一旦提交此记录以待批准,根据您的设置您可能不再能够编辑此记录或将他从批准过程中调回。是否继续?', variant: 'headerless', label: 'this is the aria-label value', }).then(res=>{ if(res) { this.type = '2'; console.log('this.type='+this.type); this.updateQisSubmit(); }else{ this.dispatchEvent(new CloseActionScreenEvent()); return; } }); } // this.dispatchEvent(new CloseActionScreenEvent()); }).catch(error => { console.log('error='+error); }).finally(() => { }); } updateQisSubmit(){ updateQis({ recordId: this.recordId, type: this.type, oldQIStatus: this.qisStatus }).then(result =>{ console.log('result'+result); this.err = result; if (result!='成功') { const evt = new ShowToastEvent({ title : '', message: '更新失败'+this.err, variant: 'error', mode: 'sticky' }); this.dispatchEvent(evt); updateRecord({fields: { Id: this.recordId }}); }else{ var url = '/lightning/r/QIS_Report__c/'+this.recordId+'/view'; window.open(url); } this.dispatchEvent(new CloseActionScreenEvent()); }).catch(error => { console.log('error='+error); }).finally(() => { }); } }