import { LightningElement, wire, api } from 'lwc'; import { CurrentPageReference } from "lightning/navigation"; import { CloseActionScreenEvent } from 'lightning/actions'; import init from '@salesforce/apex/buttonAssetCtl.init'; import selecctRepairByFomatToday from '@salesforce/apex/buttonAssetCtl.selecctRepairByFomatToday'; import selecctQISReportrByFomatToday from '@salesforce/apex/buttonAssetCtl.selecctQISReportrByFomatToday'; import selectCASE from '@salesforce/apex/buttonAssetCtl.selectCASE'; import selectNullvalue from '@salesforce/apex/buttonAssetCtl.selectNullvalue'; import LightningConfirm from 'lightning/confirm'; import { NavigationMixin } from 'lightning/navigation'; import { encodeDefaultFieldValues } from 'lightning/pageReferenceUtils'; import { ShowToastEvent } from 'lightning/platformShowToastEvent'; 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 export default class lexCreateQISFromAsset extends NavigationMixin(LightningElement) { @api recordId; str; IsLoading = true; Id; day1; AssetMarkC; AssetOwnerC; InstallDate; PostingDateC; AssetDayC; SerialNumber; OrderNoC; ProductIDC; HospitalId; HospitalC; DepartmentClassId; DepartmentClassC; Name; AccountId; msg; // WYL 贸易合规2期 start ProductCompliance; hosTradeComplianceStatus; HospitalN; Asset_Model_No; state; // WYL 贸易合规2期 end Old_Repair_Name = ''; Instration_date_consumable = null; Customer_asset_or_loaner = ''; fomatToday; @wire(CurrentPageReference) getStateParameters(currentPageReference) { if (currentPageReference) { const urlValue = currentPageReference.state.recordId; if (urlValue) { let str = `${urlValue}`; this.recordId = str; } } } connectedCallback() { Promise.all([ loadStyle(this, lwcCSS) ]); init({ recordId: this.recordId }).then(result => { console.log(result); if (result != null) { this.Id = result.Id; this.day1 = result.day1; this.AssetMarkC = result.AssetMarkC; this.AssetOwnerC = result.AssetOwnerC; this.InstallDate = result.InstallDate; this.PostingDateC = result.PostingDateC; this.AssetDayC = result.AssetDayC; this.SerialNumber = result.SerialNumber; this.OrderNoC = result.OrderNoC; this.ProductIDC = result.ProductIDC; this.HospitalId = result.HospitalId; this.HospitalC = result.HospitalC; this.DepartmentClassId = result.DepartmentClassId; this.DepartmentClassC = result.DepartmentClassC; this.Name = result.Name; this.AccountId = result.AccountId; //WYL 贸易合规2期 add start this.hosTradeComplianceStatus = result.hosTradeComplianceStatus; this.ProductCompliance = result.ProductCompliance; this.HospitalN = result.HospitalN; this.Asset_Model_No = result.Asset_Model_No; this.state = result.state; //WYL 贸易合规2期 add end this.CreateQISFromAsset(); } }).catch(error => { console.log(error); }) } // 新建授课/考核报告 CreateQISFromAsset() { this.fomatToday = this.day1; selecctQISReportrByFomatToday({ AssetId: this.Id, fomatToday: this.fomatToday }).then(records => { console.log(records); if (this.AssetMarkC == null || this.AssetMarkC == undefined) { const evt = new ShowToastEvent({ title : '', message: '保有设备标记为空,请联系管理员补充。!', variant: 'error', mode: 'sticky' }); this.dispatchEvent(evt); this.dispatchEvent(new CloseActionScreenEvent()); return; } if (this.hosTradeComplianceStatus =='黑名单') { // WYL 贸易合规2期 start const evt = new ShowToastEvent({ title : '', message: '黑名单:存在贸易合规风险,无法新建,有问题请联系法务部贸易合规窗口'+IFTradeComplianceAlertName+'。', variant: 'error', mode: 'sticky' }); console.info('发送邮件'); accSendEmailFW({ accname:this.HospitalN, mcid:this.recordId, type:'1', state:this.state, }) .then(result=>{ return; }).catch(err=>{ console.log('邮件错误'+error); }) this.dispatchEvent(evt); this.dispatchEvent(new CloseActionScreenEvent()); return; // WYL 贸易合规2期 end }else if (this.hosTradeComplianceStatus =='冻结,人工审批中') { // WYL 贸易合规2期 start const evt = new ShowToastEvent({ title : '', message: '冻结清单:可能存在贸易合规风险,目前正在评估中(一般需5-10个工作日),暂时无法新建,有问题请联系法务部贸易合规窗口'+IFTradeComplianceAlertName+'。', variant: 'error', mode: 'sticky' }); // WYL 贸易合规2期 end this.dispatchEvent(evt); this.dispatchEvent(new CloseActionScreenEvent()); return; } if (records.length >= 1) { this.handleConfirmClick01('请确认此件是否属于10天内重复报告,如果是,请使用原QIS里的复制功能重新提交。'); } else { this.ss(); } }) } async ss() { selecctRepairByFomatToday({ AssetId: this.Id, fomatToday: this.fomatToday }).then(async records2 => { if (this.AssetMarkC == '耗材') { await selectCASE({ AssetOwnerC: this.AssetOwnerC }).then(result => { console.log(result+'===============>1'); this.Customer_asset_or_loaner = result; }) await selectNullvalue({ InstallDate: this.InstallDate, PostingDateC: this.PostingDateC, AssetDayC: this.AssetDayC }).then(result => { console.log(result+'=================>2'); this.Instration_date_consumable = result; }) } if (records2.length >= 1) { this.Old_Repair_Name = records2[0].Name; } if (records2.length >= 1) { this.handleConfirmClick02('请确认此件是否属于10天内重复报告,如果是,需按照原先的维修信息填写。'); }else if(this.hosTradeComplianceStatus =='警示名单' && this.ProductCompliance == '0'){// WYL 贸易合规2期 start LightningConfirm.open({ message: '您此次申请的业务可能存在贸易合规风险,请联系法务本部贸易合规窗口'+IFTradeComplianceAlertName+'进一步评估(一般需5-10个工作日),请确定是否继续进行下面操作', variant: 'headerless', label: 'this is the aria-label value', }).then(confirm=>{ if(confirm){ this.ll(); }else{ this.IsLoading=false; this.dispatchEvent(new CloseActionScreenEvent()); return; } }) console.info('发送邮件'); accSendEmailFW({ accname:this.HospitalN, mcid:this.recordId, type:'2', state:this.state, Asset_Model_No:this.Asset_Model_No }) .then(result=>{ return; }).catch(err=>{ console.log('邮件错误'+error); }) }// WYL 贸易合规2期 end else { this.ll(); } }) } ll() { console.log(this.Customer_asset_or_loaner+'=================>33'); const url = encodeDefaultFieldValues({ Name: "*", Hospital__c: this.HospitalId, Department_Class__c: this.DepartmentClassId, nonyushohin__c: this.Id, Generation_Source__c: "保有设备", Lots_No__c: this.SerialNumber, sell__c: this.Customer_asset_or_loaner, Instration_date_consumable__c: this.Instration_date_consumable, consumable__c: this.ProductIDC, contract_number_ET__c: this.OrderNoC, Hospital_Department__c: this.AccountId, Old_Repair_Name__c: this.Old_Repair_Name }); this[NavigationMixin.Navigate]({ type: 'standard__objectPage', attributes: { objectApiName: 'QIS_Report__c', actionName: 'new' }, state: { //2023 08 21 Zhang Heyang PIPL按钮改造 strat //nooverride: '1', //2023 08 21 Zhang Heyang PIPL按钮改造 end defaultFieldValues: url } }); this.dispatchEvent(new CloseActionScreenEvent()); } async handleConfirmClick01(msg) { const result = await LightningConfirm.open({ message: msg, variant: 'headerless', label: 'this is the aria-label value' }); if (result) { this.ss(); } else { this.dispatchEvent(new CloseActionScreenEvent()); } } async handleConfirmClick02(msg) { const result = await LightningConfirm.open({ message: msg, variant: 'headerless', label: 'this is the aria-label value' }); if (result) { this.ll(); } else { this.dispatchEvent(new CloseActionScreenEvent()); } } ShowToastEvent(msg, type) { const event = new ShowToastEvent({ title: '', message: msg, variant: type, mode: 'sticky' }); this.dispatchEvent(event); } closeAction() { location.reload(); } }