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'; 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; 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; 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 (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 { 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(); } }