import {
|
LightningElement,
|
wire,
|
api
|
} from 'lwc';
|
import {
|
CurrentPageReference
|
} from "lightning/navigation";
|
import {
|
CloseActionScreenEvent
|
} from 'lightning/actions';
|
import init from '@salesforce/apex/otherButtonRepairController.init';
|
import selectRecords from '@salesforce/apex/otherButtonRepairController.selectRecords';
|
import sendToETQ from '@salesforce/apex/otherButtonRepairController.sendToETQ';
|
import {
|
ShowToastEvent
|
} from 'lightning/platformShowToastEvent';
|
|
export default class LexSendRepairsToEtQ extends LightningElement {
|
@api recordId;
|
str;
|
IsLoading = true;
|
Id;;
|
PAEDetermineC;
|
ETQUPLOADSTATUSC;
|
AEDetermineResultC;
|
PAEDetermineACC;
|
RepairInspectionDateC;
|
ContainUseRSAC;
|
userID;
|
profileId;
|
|
@wire(CurrentPageReference)
|
getStateParameters(currentPageReference) {
|
if (currentPageReference) {
|
const urlValue = currentPageReference.state.recordId;
|
if (urlValue) {
|
let str = `${urlValue}`;
|
this.recordId = str;
|
}
|
}
|
}
|
|
connectedCallback() {
|
console.log(this.recordId);
|
init({
|
recordId: this.recordId
|
}).then(result => {
|
console.log(result);
|
if (result != null) {
|
this.IsLoading = false;
|
this.Id = result.Id;
|
this.PAEDetermineC = result.PAEDetermineC;
|
this.ETQUPLOADSTATUSC = result.ETQUPLOADSTATUSC;
|
this.AEDetermineResultC = result.AEDetermineResultC;
|
this.PAEDetermineACC = result.PAEDetermineACC;
|
this.RepairInspectionDateC = result.RepairInspectionDateC;
|
this.ContainUseRSAC = result.ContainUseRSAC;
|
this.userID = result.userID;
|
this.profileId = result.profileId;
|
|
this.myDate();
|
this.myReload();
|
this.dispatchEvent(new CloseActionScreenEvent());
|
}
|
}).catch(error => {
|
console.log(error);
|
}).finally(() => {
|
|
});
|
}
|
|
// 根据日期构建MessageGroupNumber
|
myDate() {
|
let messageNumber = '';
|
let today = new Date();
|
messageNumber = today.getFullYear() + '' + (today.getMonth() + 1) + '' + today.getDate() + '' + today.getHours() + '' +
|
today.getMinutes() + '' + today.getSeconds();
|
return messageNumber;
|
}
|
|
// 按钮点击后触发,判断是否发送过ETQ,如果发送过给出提示并灰掉按钮
|
// 如果没有发送过调用发送方法
|
myReload() {
|
selectRecords({
|
recordId: this.Id
|
}).then(result => {
|
console.log(result);
|
if (result.AsyncData__c == 'true' && result.ETQ_UPLOAD_STATUS__c != '3' || result.Complaint_Number__c != null) {
|
var btns = document.getElementsByName("sendrepairstoetq");
|
for (var i = 0; i < btns.length; i++) {
|
btns[i].disabled = true;
|
btns[i].className = 'btnDisabled';
|
}
|
this.ShowToastEvent('该修理之前已经发送过了', "error");
|
// alert('该修理之前已经发送过了')
|
} else {
|
this.SendRepairsToEtQ();
|
}
|
}).catch(error => {
|
console.log(error);
|
}).finally(() => {
|
|
});
|
}
|
|
// 发送ETQ
|
SendRepairsToEtQ() {
|
console.log(this.userID);
|
console.log(this.profileId);
|
|
var uid = this.userID;
|
if (this.profileId != "00e10000000xnoO" && this.profileId != "00e10000000hl7w" && this.profileId != '00e10000000Y3o5') {
|
this.ShowToastEvent("您没有发送修理到EtQ的权限。", "error");
|
// alert("您没有发送修理到EtQ的权限。");
|
return;
|
}
|
var statu = '';
|
if (this.PAEDetermineC == undefined) {
|
this.ShowToastEvent("OCSM QARA的PAE判定是空的时候,不可以发送到EtQ。", "error");
|
// alert("OCSM QARA的PAE判定是空的时候,不可以发送到EtQ。");
|
return;
|
}
|
if (this.ETQUPLOADSTATUSC == "3") {
|
if (!confirm("是否清空EtQ同步状态,重新同步数据?")) {
|
return;
|
}
|
}
|
if (this.PAEDetermineC == "nonPAE" && this.AEDetermineResultC == "nonAE" && this.PAEDetermineACC == "nonPAE" && uid != "005100000068zJ6") {
|
this.ShowToastEvent("Close Complait的时候,不可以发送到EtQ", "error");
|
// alert("Close Complait的时候,不可以发送到EtQ");
|
return;
|
}
|
if (this.PAEDetermineC != undefined && this.AEDetermineResultC != undefined && this.PAEDetermineACC == undefined) {
|
statu = "R1";
|
} else if ((this.AEDetermineResultC != undefined && this.PAEDetermineC != undefined && this.PAEDetermineACC != undefined) &&
|
!(this.PAEDetermineC == "nonPAE" && this.AEDetermineResultC == "nonAE" && this.PAEDetermineACC == "nonPAE")) {
|
statu = "R2";
|
if (this.RepairInspectionDateC == "") {
|
this.ShowToastEvent("5.修理检测日是空的时候,不可以发送到EtQ。", "error");
|
// alert("5.修理检测日是空的时候,不可以发送到EtQ。");
|
return;
|
}
|
if (this.ContainUseRSAC == 1) {
|
this.ShowToastEvent("Final universal code为空,或者包含UseRSA,请确认。", "error");
|
// alert("Final universal code为空,或者包含UseRSA,请确认。");
|
return;
|
}
|
}
|
|
var result;
|
try {
|
var repairids = new Array()
|
repairids[0] = this.Id;
|
|
var statuArr = new Array();
|
statuArr.push(statu);
|
|
sendToETQ({
|
iflog_Id: "",
|
rowDataSFDC: "",
|
repairIds: repairids,
|
statu: statuArr[0]
|
}).then(result => {
|
this.ShowToastEvent(result, "error");
|
// alert(result);
|
}).catch(error => {
|
console.log(error);
|
})
|
|
var btns = document.getElementsByName("sendrepairstoetq");
|
for (var i = 0; i < btns.length; i++) {
|
btns[i].disabled = true;
|
btns[i].className = 'btnDisabled';
|
}
|
location.reload();
|
} catch (error) {
|
this.ShowToastEvent("发送修理到EtQ失败" + error.faultstring + ' code:' + error.faultcode, "error");
|
// alert("发送修理到EtQ失败" + error.faultstring + ' code:' + error.faultcode);
|
}
|
}
|
|
// 弹窗
|
ShowToastEvent(msg, type) {
|
const event = new ShowToastEvent({
|
title: '',
|
message: msg,
|
variant: type
|
});
|
this.dispatchEvent(event);
|
}
|
}
|