import {
|
LightningElement,
|
wire,
|
api
|
} from 'lwc';
|
import {
|
CurrentPageReference
|
} from "lightning/navigation";
|
import {
|
CloseActionScreenEvent
|
} from 'lightning/actions';
|
import init from '@salesforce/apex/otherButtonMaintenanceContractCtl.init';
|
import updateColunm from '@salesforce/apex/otherButtonMaintenanceContractCtl.updateColunm';
|
import up2sap from '@salesforce/apex/LexOtherButtonMc.up2sap';
|
import {
|
ShowToastEvent
|
} from 'lightning/platformShowToastEvent';
|
import LightningConfirm from 'lightning/confirm';
|
import lwcCSS from '@salesforce/resourceUrl/lwcCSS';
|
import {loadStyle} from 'lightning/platformResourceLoader';
|
|
|
export default class LexUploadToRecognitionModel extends LightningElement {
|
@api recordId;
|
str;
|
IsLoading = true;
|
Id;
|
ContractQuotationOrNotC;
|
oldIsRecognitionModelC;
|
MaintenanceContractNoC;
|
uploadToRMTimeC;
|
uploadToSapTimeC;
|
PaymentPlanSumFirstC;
|
MaintanceContractPackC;
|
|
@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)
|
]);
|
console.log(this.recordId);
|
init({
|
recordId: this.recordId
|
}).then(result => {
|
console.log(result);
|
if (result != null) {
|
this.IsLoading = false;
|
this.Id = result.Id;
|
this.ContractQuotationOrNotC = result.ContractQuotationOrNotC;
|
this.oldIsRecognitionModelC = result.oldIsRecognitionModelC;
|
this.MaintenanceContractNoC = result.MaintenanceContractNoC;
|
this.uploadToSapTimeC = result.uploadToSapTimeC;
|
this.uploadToRMTimeC = result.uploadToRMTimeC;
|
this.PaymentPlanSumFirstC = result.PaymentPlanSumFirstC;
|
this.MaintanceContractPackC = result.MaintanceContractPackC;
|
|
this.uploadToRecognitionModel();
|
}
|
}).catch(error => {
|
console.log(error);
|
})
|
}
|
|
// 上传认款合同
|
uploadToRecognitionModel() {
|
if(this.MaintanceContractPackC) {
|
this.ShowToastEvent('当前服务合同属于打包合同,请在打包合同上上传认款合同。', "error");
|
this.dispatchEvent(new CloseActionScreenEvent());
|
return;
|
}
|
if (this.ContractQuotationOrNotC == '还没做报价') {
|
this.ShowToastEvent("您还没有做合同报价,不能上传认款合同。", "error");
|
this.dispatchEvent(new CloseActionScreenEvent());
|
return;
|
} else if (this.MaintenanceContractNoC == undefined) {
|
this.ShowToastEvent('合同号码为空,不能上传认款合同。', "error");
|
this.dispatchEvent(new CloseActionScreenEvent());
|
return;
|
} else if (this.uploadToSapTimeC != undefined) {
|
this.ShowToastEvent('已经上传SAP,不能再次上传认款合同。', "error");
|
this.dispatchEvent(new CloseActionScreenEvent());
|
return;
|
} else if (this.uploadToRMTimeC != undefined) {
|
this.ShowToastEvent('已经上传认款合同,不能再次上传认款合同。', "error");
|
this.dispatchEvent(new CloseActionScreenEvent());
|
return;
|
} else {
|
if (!this.oldIsRecognitionModelC) {
|
this.ShowToastEvent('经销商为空或经销商不是先款对象,不需要上传认款合同。', "error");
|
this.dispatchEvent(new CloseActionScreenEvent());
|
return;
|
} else if (this.PaymentPlanSumFirstC == undefined) {
|
this.ShowToastEvent('第一次计划付款金额不能为空。', "error");
|
this.dispatchEvent(new CloseActionScreenEvent());
|
return;
|
} else {
|
this.handleConfirmClick('请确认是否要上传认款合同。');
|
}
|
}
|
}
|
|
async ll() {
|
await updateColunm({
|
mcid: this.Id
|
}).then(result => {
|
if (result != '1') {
|
this.ShowToastEvent('上传认款合同失败,因为 来年合同相关信息修改失败', "error");
|
this.dispatchEvent(new CloseActionScreenEvent());
|
window.reload();
|
}
|
})
|
await up2sap({
|
mcid: this.Id
|
}).then(rtn => {
|
if (rtn == '1') {
|
this.ShowToastEvent("上传认款合同成功", "success");
|
this.dispatchEvent(new CloseActionScreenEvent());
|
window.reload();
|
} else {
|
this.ShowToastEvent(rtn, "error");
|
this.dispatchEvent(new CloseActionScreenEvent());
|
return;
|
}
|
})
|
}
|
|
// 弹窗
|
ShowToastEvent(msg, type) {
|
if(type == 'success'){
|
const event = new ShowToastEvent({
|
message: msg,
|
variant: type
|
});
|
this.dispatchEvent(event);
|
}else{
|
const event = new ShowToastEvent({
|
message: msg,
|
variant: type,
|
mode: 'sticky'
|
});
|
this.dispatchEvent(event);
|
}
|
}
|
|
async handleConfirmClick(msg) {
|
const result = await LightningConfirm.open({
|
message: msg,
|
variant: 'headerless',
|
label: 'this is the aria-label value'
|
});
|
|
if (result) {
|
this.ll();
|
} else {
|
this.dispatchEvent(new CloseActionScreenEvent());
|
}
|
}
|
}
|