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());
|
}
|
}
|
}
|