/* * @Description: * @version: * @Author: chen jing wu * @Date: 2023-06-26 11:10:52 * @LastEditors: chen jing wu * @LastEditTime: 2023-10-10 17:37:14 */ import { api, wire,LightningElement } from 'lwc'; import { CurrentPageReference } from "lightning/navigation"; import { CloseActionScreenEvent } from 'lightning/actions'; import init from '@salesforce/apex/lexSolutionProgrammaController.initForNewSolutionProgramma'; import { updateRecord } from 'lightning/uiRecordApi'; import { ShowToastEvent } from 'lightning/platformShowToastEvent'; import LightningConfirm from 'lightning/confirm'; import { NavigationMixin } from 'lightning/navigation'; import { encodeDefaultFieldValues } from 'lightning/pageReferenceUtils'; import lwcCSS from '@salesforce/resourceUrl/lwcCSS'; import {loadStyle} from 'lightning/platformResourceLoader'; export default class LexNewSolutionProgramma extends NavigationMixin(LightningElement) { @api recordId; status; girWindowDirectorApproved; hospitalOwnerId; profileId; m2profileId; @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; } } } showToast(msg,type) { if(type == 'success'){ const event = new ShowToastEvent({ message: msg, variant: type, }); this.dispatchEvent(event); this.dispatchEvent(new CloseActionScreenEvent()); }else{ const event = new ShowToastEvent({ message: msg, variant: type, mode: 'sticky' }); this.dispatchEvent(event); this.dispatchEvent(new CloseActionScreenEvent()); } } connectedCallback(){ Promise.all([ loadStyle(this, lwcCSS) ]); init({ recordId: this.recordId }).then(result=>{ console.log(result); this.status = result.status; this.girWindowDirectorApproved = result.girWindowDirectorApproved; this.hospitalOwnerId = result.hospitalOwnerId; this.profileId = result.profileId; this.m2profileId = result.m2profileId; this.newSolutionProgramma(); }); } newSolutionProgramma(){ console.log(this.girWindowDirectorApproved); if(this.profileId != this.m2profileId){ this.showToast('只有GIR窗口才能新建方案','error'); this.dispatchEvent(new CloseActionScreenEvent()); }else if(this.status == '07结案'){ this.showToast('结案后不能新建方案','error'); this.dispatchEvent(new CloseActionScreenEvent()); }else if(this.status == '01草案中' || this.status == '02需求已提交'){ this.dispatchEvent(new CloseActionScreenEvent()); }else if(!this.girWindowDirectorApproved){ this.showToast('项目需求还未通过审批不能新建方案','error'); this.dispatchEvent(new CloseActionScreenEvent()); }else{ console.log("start"); console.log(this.hospitalOwnerId); const defaultValues = encodeDefaultFieldValues({ SolutionProjectRequirements__c: this.recordId, Business_Promotion__c: this.hospitalOwnerId }); this[NavigationMixin.Navigate]({ type: 'standard__objectPage', attributes: { objectApiName: 'Solution_Programme__c', actionName: 'new' }, state: { nooverride: '1', defaultFieldValues: defaultValues } }); this.dispatchEvent(new CloseActionScreenEvent()); } } }