//kkbes //增加LexCommitNeedApprovalController 更改OpdPlanWebService import LightningConfirm from 'lightning/confirm'; import { LightningElement, track, wire,api } from 'lwc'; import { CurrentPageReference } from "lightning/navigation"; import { CloseActionScreenEvent } from 'lightning/actions'; import { ShowToastEvent } from 'lightning/platformShowToastEvent'; import lwcCSS from '@salesforce/resourceUrl/lwcCSS'; import {loadStyle} from 'lightning/platformResourceLoader'; import init from '@salesforce/apex/LexCommitNeedApprovalController.init'; import newUpdateMeetingDelayApply from '@salesforce/apex/LexCommitNeedApprovalController.newUpdateMeetingDelayApply'; import getCampaignById from '@salesforce/apex/LexCommitNeedApprovalController.getCampaignById'; import changeCampaign from '@salesforce/apex/OpdPlanWebService.changeCampaign'; import getRecordIdByName from '@salesforce/apex/LexSubmitCampaignController.getRecordIdByName'; const event1 = new ShowToastEvent({ message: "只有状态为草案中或者驳回时才可以进行提交审批!", variant : 'error' , mode : 'sticky' }); const event2 = new ShowToastEvent({ message: "已经取消!", variant : 'error', mode : 'sticky' }); const event4 = new ShowToastEvent({ message: "该活动信息已发送到智慧医疗,请确认后再操作", variant : 'warning' , mode : 'sticky' }); const event5 = new ShowToastEvent({ message: "会议结束,不能取消!", variant : 'error', mode : 'sticky' }); export default class lexCommitNeedApproval extends LightningElement { @api recordId; MeetingDelayApply; IsLoading=true; Campaign; @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 => { if (result != null) { this.MeetingDelayApply = result; console.log(this.MeetingDelayApply); this.commitNeedApproval().then(result=>{ this.IsLoading=false; this.dispatchEvent(new CloseActionScreenEvent()); }); } }).catch(error => { console.log(error); const event3 = new ShowToastEvent({ message: error, variant : 'error' }); this.dispatchEvent(event3); }); } async commitNeedApproval(){ var changeFlg=0; var NowStatus = this.MeetingDelayApply.status__c; var needRecordTypeId = await getRecordIdByName({Name : '取消申请'}) if(NowStatus == "草案中" || NowStatus == "驳回"){ var campaignId = this.MeetingDelayApply.campaign__c; //学会id this.Campaign = await getCampaignById({recordId : campaignId}); console.log(this.Campaign); if(this.MeetingDelayApply.RecordTypeId != needRecordTypeId){ var rtn = await changeCampaign({campaignId:campaignId}); if (rtn != 'OK') { const event = new ShowToastEvent({ message: rtn, variant : 'error', mode : 'sticky' }); this.dispatchEvent(event); return; } } } console.log(this.MeetingDelayApply.status__c); //1.当前状态(只有取消或者延期报告状态才可以进行审批) if(NowStatus != "草案中" && NowStatus != "驳回"){ this.dispatchEvent(event1); return; } //20230711 lt DB202306243540 P:学会取消合并 start //alert('{!Campaign.Status}'); if(this.Campaign.Status =='取消'){ this.dispatchEvent(event2); return; } // && {!meeting_delay_apply__c.RecordTypeId} == '0126D000003OY8S' //alert('{!meeting_delay_apply__c.RecordTypeId}'); if(this.Campaign.Status !='草案中' && this.Campaign.Status !='公开中' && this.Campaign.Status !='取消' && this.MeetingDelayApply.RecordTypeId == needRecordTypeId){ const event3 = new ShowToastEvent({ message : this.Campaign.Status +'状态不能取消' , variant : 'error', mode : 'sticky' }); this.dispatchEvent(event3); return; } if(this.Campaign.IF_Submit__c != 0){ this.dispatchEvent(event4); } var date=new Date().toISOString(); console.log(date); console.log(date>=this.Campaign.EndDate); if(this.Campaign.Status =='公开中' && date>=this.Campaign.EndDate && this.MeetingDelayApply.RecordTypeId == needRecordTypeId){ this.dispatchEvent(event5); return; } //20230711 lt DB202306243540 P:学会取消合并 end //2.提示 const result = await LightningConfirm.open({ message: '一旦提交此记录以待批准,根据您的设置您可能不再能够编辑此记录或将他从批准过程中调回。是否继续?', variant: 'headerless', label: 'this is the aria-label value', }); if(!result){ return; } //3.状态改为 提交 if(NowStatus == "草案中" || NowStatus == "驳回"){ await newUpdateMeetingDelayApply({Id : this.recordId }) .then(result=>{ if(result!='success'){ const event2 = new ShowToastEvent({ message: result, variant : 'error', mode : 'sticky' }); changeFlg+=1; this.dispatchEvent(event2); } }); } if(changeFlg!=0){ return; } //4. 进程生成器 //5. 重新刷新页面 setTimeout(function(){ window.location.href = window.location; }, 1500 ) } }