import { LightningElement,wire,track,api} from 'lwc'; import { CurrentPageReference } from "lightning/navigation"; import { CloseActionScreenEvent } from 'lightning/actions'; import { ShowToastEvent } from 'lightning/platformShowToastEvent'; import init from '@salesforce/apex/QISReportController.initForlexSendQISButton'; import sendSPO from '@salesforce/apex/QISReportController.updateQisForSendQIS'; import LightningConfirm from 'lightning/confirm'; // WYL 贸易合规2期 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: 发送QIS到SPO * @Author: hql * @Date: 2023-07-12 09:45:19 * @LastEditTime: 2023-07-12 15:44:33 * @LastEditors: */ export default class lexSendQIS extends LightningElement { @api recordId; str; err; IsLoading = true; qisReportId; qisRecordTypeId; qisRecordName; ProfileName; IsSendQIS; // WYL 贸易合规2 start hosTradeComplianceStatus; ProductCompliance; HospitalN; Asset_Model_No; state; userEmail; OwnerEmail; // WYL 贸易合规2 end @wire(CurrentPageReference) getStateParameters(currentPageReference) { if (currentPageReference) { const urlValue = currentPageReference.state.recordId; if (urlValue) { let str = `${urlValue}`; this.recordId = str; } } } connectedCallback() { console.log(this.recordId); Promise.all([ loadStyle(this, lwcCSS) ]); init({ recordId: this.recordId }).then(result => { console.log(result); this.IsLoading = false; this.qisRecordTypeId = result.qisRecordTypeId; this.qisReportId = result.Id; this.qisRecordName = result.qisRecordName; this.ProfileName = result.profileName; this.IsSendQIS = result.isSendQIS; this.hosTradeComplianceStatus = result.hosTradeComplianceStatus; // WYL 贸易合规2 this.ProductCompliance = result.ProductCompliance; // WYL 贸易合规2 this.Asset_Model_No = result.Asset_Model_No;// WYL 贸易合规2 this.HospitalN = result.HospitalN;// WYL 贸易合规2 this.OwnerEmail = result.OwnerEmail;// WYL 贸易合规2 this.state = result.state;// WYL 贸易合规2 this.userEmail = result.userEmail;// WYL 贸易合规2 if (this.qisRecordName == '2.OCSM') { const evt = new ShowToastEvent({ title : '', message: '不能提交到SPO记录类型为'+this.qisRecordName, variant: 'error', mode: 'sticky' }); this.dispatchEvent(evt); this.dispatchEvent(new CloseActionScreenEvent()); return; } if (!(this.ProfileName == '系统管理员' || this.ProfileName == '2F4_技术推进部' || this.ProfileName == '2F1_服务窗口')) { 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', useremail:this.userEmail, FseEmail :this.OwnerEmail, state:this.state }) .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; } 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) { if (this.IsSendQIS) { const evt = new ShowToastEvent({ title : '', message: '已提交到SPO,请不要重复提交', variant: 'error', mode: 'sticky' }); this.dispatchEvent(evt); this.dispatchEvent(new CloseActionScreenEvent()); return; } this.send2SPO(); }else{ this.dispatchEvent(new CloseActionScreenEvent()); return; } }); console.info('发送邮件'); accSendEmailFW({ accname:this.HospitalN, mcid:this.recordId, type:'6', state:this.state, Asset_Model_No:this.Asset_Model_No }) .then(result=>{ return; }).catch(err=>{ console.log('邮件错误'+error); }) }else{ if (this.IsSendQIS) { const evt = new ShowToastEvent({ title : '', message: '已提交到SPO,请不要重复提交', variant: 'error', mode: 'sticky' }); this.dispatchEvent(evt); this.dispatchEvent(new CloseActionScreenEvent()); return; } this.send2SPO(); } // WYL 贸易合规2期 end }).catch(error => { console.log(error.getMessage()); }).finally(() => { }); } send2SPO(){ sendSPO({ recordId: this.recordId }).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); this.dispatchEvent(new CloseActionScreenEvent()); return; }else{ const evt = new ShowToastEvent({ title : '', message: '提交成功!请在SPO系统中完成退换货申请', variant: 'success', mode: 'sticky' }); this.dispatchEvent(evt); this.dispatchEvent(new CloseActionScreenEvent()); window.location.replace("https://olympus.sharepoint.cn/sites/GSPWF/SitePages/HomePage.aspx"); } }).catch(error => { console.log('error='+error); }).finally(() => { }); } }