import { LightningElement, track, wire,api } from 'lwc'; import { getRecord } from 'lightning/uiRecordApi'; import USER_ID from '@salesforce/user/Id'; import USERPROFILE_ID from '@salesforce/schema/User.ProfileId'; import { ShowToastEvent } from 'lightning/platformShowToastEvent'; import { CurrentPageReference } from "lightning/navigation"; import { CloseActionScreenEvent } from 'lightning/actions'; const event1 = new ShowToastEvent({ message: "审批前请点击编辑按钮修改时间。", variant : 'error' }); const event2 = new ShowToastEvent({ message: "课程完结后不能修改时间。", variant : 'error' }); import init from '@salesforce/apex/LexSubmitCampaignController.initUpdateTimeReply'; import getProfileIdByName from '@salesforce/apex/LexMeetingCostsController.getProfileIdByName'; export default class lexUpdateTimeReply extends LightningElement { @api recordId; IsLoading=true; Campaign; currentUserProfileId; @wire(CurrentPageReference) getStateParameters(currentPageReference) { if (currentPageReference) { const urlValue = currentPageReference.state.recordId; if (urlValue) { let str = `${urlValue}`; this.recordId = str; } } } @wire(getRecord, { recordId: USER_ID, fields: [USERPROFILE_ID]}) userDetails({error, data}) { if (data) { this.currentUserProfileId =data.fields.ProfileId.value; } else if (error) { this.error = error ; } init({ recordId: this.recordId }).then(result => { if (result != null) { this.Campaign = result; this.UpdateTimeReply().then(result=>{ this.IsLoading=false; this.dispatchEvent(new CloseActionScreenEvent()); }); } }).catch(error => { const eventInItError = new ShowToastEvent({ message: error.message, variant : 'error' }); this.dispatchEvent(eventInItError); }); } connectedCallback(){ } async UpdateTimeReply(){ var ProfileId= await getProfileIdByName({Name : "系统管理员"}); var cstatus = this.Campaign.Status_Service__c; var Service = this.Campaign.ServiceDesignDep__c; if (cstatus =='开班筹备中' || cstatus =='开班中' || Service == USER_ID || this.currentUserProfileId == ProfileId ){ window.open("/apex/DateModify?id=" + this.Campaign.Id,'时间修改申请页面','height=500, width=900, top=0, left=0'); } else if(cstatus =='商谈中') { this.dispatchEvent(event1); return; } else { this.dispatchEvent(event2); return; } setInterval } }