import { LightningElement, wire,api} from 'lwc';
|
import { CurrentPageReference} from "lightning/navigation";
|
import { CloseActionScreenEvent} from 'lightning/actions';
|
import init from '@salesforce/apex/otherButtonMaintenanceContractCtl.init';
|
import processResults from '@salesforce/apex/otherButtonMaintenanceContractCtl.processResults';
|
import { ShowToastEvent} from 'lightning/platformShowToastEvent';
|
import LightningConfirm from 'lightning/confirm';
|
import lwcCSS from '@salesforce/resourceUrl/lwcCSS';
|
import {loadStyle} from 'lightning/platformResourceLoader';
|
|
|
export default class LexPreContractSubmit extends LightningElement {
|
@api recordId;
|
str;
|
IsLoading = true;
|
oldIsRecognitionModelC;
|
uploadToRMTimeC;
|
IsRecognitionModelTrueC;
|
MCApprovalStatusC;
|
ContractprintCompletedC;
|
MaintanceContractPackC;
|
Id;
|
|
@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.oldIsRecognitionModelC = result.oldIsRecognitionModelC;
|
this.uploadToRMTimeC = result.uploadToRMTimeC;
|
this.IsRecognitionModelTrueC = result.IsRecognitionModelTrueC;
|
this.MCApprovalStatusC = result.MCApprovalStatusC;
|
this.ContractprintCompletedC = result.ContractprintCompletedC;
|
this.MaintanceContractPackC = result.MaintanceContractPackC;
|
this.Id = result.Id;
|
|
this.preContractSubmit();
|
}
|
}).catch(error => {
|
console.log(error);
|
})
|
}
|
|
// 合同复核
|
async preContractSubmit() {
|
if(this.MaintanceContractPackC) {
|
this.showToast('当前服务合同属于打包合同,请在打包合同上进行合同复核。', "error");
|
this.dispatchEvent(new CloseActionScreenEvent());
|
return;
|
}
|
if (this.oldIsRecognitionModelC) {
|
if (this.uploadToRMTimeC == null) {
|
this.showToast('当前维修合同的经销商是先款对象,需要先【上传认款合同】,然后完成认款以后才能复核。', "error");
|
this.dispatchEvent(new CloseActionScreenEvent());
|
return;
|
} else {
|
if (!this.IsRecognitionModelTrueC) {
|
this.showToast('当前维修合同没有完成认款,不能进行复核。', "error");
|
this.dispatchEvent(new CloseActionScreenEvent());
|
return;
|
}
|
}
|
}
|
var status = this.MCApprovalStatusC;
|
if (status != 'Draft' && status != 'Reject' && status != undefined) {
|
this.showToast('复核已经提交,请确认状态。', "error");
|
this.dispatchEvent(new CloseActionScreenEvent());
|
return;
|
}
|
var con_no = this.ContractprintCompletedC;
|
if (con_no == undefined) {
|
this.showToast('合同盖章完毕为空,不能提交合同复核申请。', "error");
|
this.dispatchEvent(new CloseActionScreenEvent());
|
return;
|
}
|
const result = await LightningConfirm.open({
|
message: '一旦提交此记录以待批准,根据您的设置您可能不再能够编辑此记录或将他从批准过程中调回。是否继续?',
|
variant: 'headerless',
|
label: 'this is the aria-label value'
|
});
|
|
if(result){
|
await processResults({
|
recordId: this.Id
|
}).then(result=>{
|
this.showToast('合同复核提交成功。' , "success");
|
setTimeout(function(){
|
window.location.href = window.location;
|
}, 1500 );
|
this.dispatchEvent(new CloseActionScreenEvent());
|
|
}).catch(error => {
|
this.showToast(error , "error");
|
this.dispatchEvent(new CloseActionScreenEvent());
|
return;
|
});
|
}else{
|
this.dispatchEvent(new CloseActionScreenEvent());
|
}
|
}
|
|
// 弹窗
|
showToast(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){
|
// await processResults({
|
// recordId: this.Id
|
// }).then(result=>{
|
// this.showToast('合同复核提交成功。' , "success");
|
// setTimeout(function(){
|
// window.location.href = window.location;
|
// }, 1500 );
|
// this.dispatchEvent(new CloseActionScreenEvent());
|
|
// }).catch(error => {
|
// this.showToast(error , "error");
|
// this.dispatchEvent(new CloseActionScreenEvent());
|
// return;
|
// // if (error.body.pageErrors[0] != null) {
|
// // var errmsg = error.body.pageErrors[0].message.toString();
|
|
// // }
|
// });
|
// }else{
|
// this.dispatchEvent(new CloseActionScreenEvent());
|
// }
|
|
// }
|
}
|