import { LightningElement, wire, api } from 'lwc'; import { CurrentPageReference } from "lightning/navigation"; import { CloseActionScreenEvent } from 'lightning/actions'; import init from '@salesforce/apex/otherButtonRepairController.init'; import selectCustomDeleteById from '@salesforce/apex/otherButtonRepairController.selectCustomDeleteById'; import deleteRepair from '@salesforce/apex/otherButtonRepairController.deleteRepair'; import { ShowToastEvent } from 'lightning/platformShowToastEvent'; import LightningConfirm from 'lightning/confirm'; import { NavigationMixin } from 'lightning/navigation'; import lwcCSS from '@salesforce/resourceUrl/lwcCSS'; import {loadStyle} from 'lightning/platformResourceLoader'; export default class LexCustomDelete extends NavigationMixin(LightningElement) { @api recordId; str; IsLoading = true; Id; userID; @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.IsLoading = false; this.Id = result.Id; this.userID = result.userID; this.CustomDelete(); } }).catch(error => { console.log(error); }) } // 删除 CustomDelete() { selectCustomDeleteById({ recordId: this.Id }).then(repList => { if (repList != null && repList.length > 0) { var rp = repList[0]; console.log('rp---------+'+rp); if (rp.Status__c != "草案中" && rp.Status__c != "1.受理完毕(SAP待发送)" && rp.Status__c != "4.修理品返送阶段") { this.ShowToastEvent("不是草案中,不能删除", "error"); this.dispatchEvent(new CloseActionScreenEvent()); return; }else if(rp.Status__c == "0.申请完毕" && rp.FSE_ApplyForRepair_time__c != undefined){ this.ShowToastEvent("FSE已经申请,不能删除", "error"); this.dispatchEvent(new CloseActionScreenEvent()); return; } else if (rp.Status__c == "4.修理品返送阶段" && (rp.SAP_Transfer_time__c != undefined || rp.Repair_Ordered_Date__c != undefined)) { this.ShowToastEvent("已经发送过SAP,不能删除", "error"); this.dispatchEvent(new CloseActionScreenEvent()); return; } else if (this.userID.substring(0, 15) != rp.CreatedById.substring(0, 15) && this.userID.substring(0, 15) != rp.Acc_OwnerId__c.substring(0, 15) && this.userID.substring(0, 15) != rp.FSE_ownerid__c.substring(0, 15)) { this.ShowToastEvent("不是所有人、创建人或FSE主负责人,不能删除", "error"); this.dispatchEvent(new CloseActionScreenEvent()); return; } else { this.handleConfirmClick("是否确定?"); } } }) } ll() { deleteRepair({ rid: this.Id }).then(rtn => { if (rtn == "OK") { this[NavigationMixin.Navigate]({ type: 'standard__webPage', attributes: { url:"/lightning/page/home" } }); // window.location.href = "/lightning/page/home"; } else { this.ShowToastEvent(rtn, "error"); this.dispatchEvent(new CloseActionScreenEvent()); return; } }) } ShowToastEvent(msg, type) { const event = new ShowToastEvent({ message: msg, variant: type, model : 'sticky' }); this.dispatchEvent(event); } async handleConfirmClick(msg) { const result = await LightningConfirm.open({ message: msg, variant: 'headerless', label: '提示信息' }); if (result) { this.ll(); } else { this.dispatchEvent(new CloseActionScreenEvent()); } } }