import { LightningElement,wire,track,api} from 'lwc'; import { CurrentPageReference, NavigationMixin} from "lightning/navigation"; import { CloseActionScreenEvent } from 'lightning/actions'; import init from '@salesforce/apex/LexConsumApply_FromQISCtl.init'; import rentalApp from '@salesforce/apex/LexConsumApply_FromQISCtl.rentalApp'; import fieldDefineApp from '@salesforce/apex/LexConsumApply_FromQISCtl.fieldDefineApp'; import UserInfo_Owner from '@salesforce/apex/LexConsumApply_FromQISCtl.UserInfo_Owner'; import { ShowToastEvent } from 'lightning/platformShowToastEvent'; import { encodeDefaultFieldValues } from 'lightning/pageReferenceUtils'; import lwcCSS from '@salesforce/resourceUrl/lwcCSS'; import {loadStyle} from 'lightning/platformResourceLoader'; // 新建耗材备品申请(QIS) export default class LexConsumApply_FromQIS extends NavigationMixin(LightningElement) { @api recordId; IsLoading = true; @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(){ console.log(this.recordId); Promise.all([ loadStyle(this, lwcCSS) ]); rentalApp({ recordId: this.recordId }).then(result => { console.log('rentalApp============',result,result.length); if(result.length > 0){ this.showToast('同一个QIS记录不能重复申请备品','error'); return; }else{ console.log('rentalApp====else========'); init({ recordId: this.recordId }).then(result => { console.log('init============',result); this.IsLoading = false; if (result != null) { if(result.nextAction=='送回'){ this.showToast('QIS对应方法为“送回”,不能申请','error'); return; } if(result.qISStatus=='草案中'){ this.showToast('QIS状态为草案中,不能申请','error'); return; } if(result.qISStatus=='FSE填写完毕'){ this.showToast('QIS状态为FSE填写完毕,不能申请','error'); return; } if(result.qISStatus=='取消'){ this.showToast('QIS状态为取消,不能申请','error'); return; } UserInfo_Owner({}).then(res=>{ if(res.isFormalStuff){ this.showToast('试用期内,不能申请','error'); return; }else{ fieldDefineApp({}).then(resp=>{ var fieldmap = new Map(); for (var i=0; i< resp.length; i++) { var record = resp[i]; fieldmap.set(record.QualifiedApiName,record.DurableId.toString().split('.')[1]); } }) .catch(e=>{console.log(e)}) const defaultValues = encodeDefaultFieldValues({ Hospital__c: result.hospital, Strategic_dept__c: result.departmentClass, Account__c:result.hospitalDepartment, demo_purpose2__c:'索赔QIS', Name:'*', Person_In_Charge__c:res.id, applyUser__c:res.id, QIS_number__c:result.qisReportId }); console.log('init============',result); console.log('init============',defaultValues); this[NavigationMixin.Navigate]({ type: 'standard__objectPage', attributes: { objectApiName: 'Consum_Apply__c', actionName: 'new' }, state:{ defaultFieldValues: defaultValues } }); } }) this.dispatchEvent(new CloseActionScreenEvent()); } }).catch(error => { console.log("error"); console.log(error); }); } }).catch(error => { console.log("error"); console.log(error); }); } showToast(msg,type) { if(type == "success"){ const event = new ShowToastEvent({ message: msg, variant: type }); this.dispatchEvent(event); }else{ const event = new ShowToastEvent({ message: msg, variant: type, mode:'sticky' }); this.dispatchEvent(event); } this.dispatchEvent(new CloseActionScreenEvent()); } }