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