import { LightningElement,wire,track,api} from 'lwc';
|
import { CurrentPageReference } from "lightning/navigation";
|
import { CloseActionScreenEvent } from 'lightning/actions';
|
import { updateRecord } from 'lightning/uiRecordApi';
|
import LightningConfirm from 'lightning/confirm';
|
import { ShowToastEvent } from 'lightning/platformShowToastEvent';
|
import init from '@salesforce/apex/LexLostSubmitApprovalController.LexLostSubmitApprovalController';
|
import submit from '@salesforce/apex/LexLostSubmitApprovalController.submit';
|
import lwcCSS from '@salesforce/resourceUrl/lwcCSS';
|
import {loadStyle} from 'lightning/platformResourceLoader';
|
|
// 遗失报告 提交待审核
|
export default class LexLostSubmitApproval extends LightningElement {
|
@api recordId;
|
IsLoading = true;
|
reportDetailList;
|
@wire(CurrentPageReference)
|
getStateParameters(currentPageReference) {
|
console.log(111);
|
console.log(currentPageReference);
|
|
if (currentPageReference) {
|
const urlValue = currentPageReference.state.recordId;
|
if (urlValue) {
|
let str = `${urlValue}`;
|
console.log("str");
|
console.log(str);
|
this.recordId = str;
|
}
|
}
|
}
|
|
connectedCallback(){
|
Promise.all([
|
loadStyle(this, lwcCSS)
|
]);
|
this.IsLoading = false;
|
// this.submit();
|
init({recordId:this.recordId})
|
.then(result=>{
|
console.log("LexConsumablesLost------>>>",result)
|
this.reportDetailList = result.reportDetailList;
|
if (result.statusTf == "填写完毕" || result.statusTf == "申请中" || result.statusTf == "已批准") {
|
this.showToast('请确认遗失报告状态,已经提交过的申请,不能重复提交','error');
|
}else if (!this.handleConfirmClick01("一旦提交此记录以待批准,根据您的设置您可能不再能够编辑此记录或将他从批准过程中调回。是否继续?")){
|
return;
|
}
|
})
|
.catch(e=>{console.log(e)})
|
}
|
|
async funOne(){
|
if (this.reportDetailList.length > 0) {
|
var qianpinDate = new Date(this.reportDetailList[0].Rental_Apply_Equipment_Set_Detail__r.Lost_item_check_day__c);
|
for (var i = 1; i < this.reportDetailList.length; i++) {
|
var d = new Date(this.reportDetailList[i].Rental_Apply_Equipment_Set_Detail__r.Lost_item_check_day__c);
|
if(d < qianpinDate){
|
qianpinDate = d;
|
}
|
}
|
qianpinDate.setDate(qianpinDate.getDate() + 90);
|
var d = '' + qianpinDate.getFullYear()+'/' + (qianpinDate.getMonth()+1) + '/' + qianpinDate.getDate();
|
if (!this.handleConfirmClick02("请您的上级领导于" + d + "前完成遗失报告审批,否则备品自动断念,遗失报告自动取消。")){
|
return;
|
}
|
// this.showToastNoupdate('请您的上级领导于' + d + '前完成遗失报告审批,否则备品自动断念,遗失报告自动取消。','success');
|
}else{
|
this.submitApproval();
|
}
|
|
|
}
|
|
|
async submitApproval(){
|
await submit({
|
recordId: this.recordId
|
}).then(result=>{
|
console.log("LexConsumablesLost--submitApproval--result-->>>",result)
|
if(result != '1'){
|
// this.showToast('此记录不满足任何有效批准过程的项目条件或初始提交。请与您的管理员联系以获取帮助。','error');
|
this.showToast(result,'error');
|
return;
|
}
|
// this.updateRecordView(this.recordId);
|
this.showToast("提交成功","success");
|
this.dispatchEvent(new CloseActionScreenEvent());
|
// window.location.reload();
|
}).catch(e=>{
|
console.log("submitApproval----eee------->>>>",e);
|
})
|
}
|
|
async handleConfirmClick01(msg) {
|
const result = await LightningConfirm.open({
|
message: msg,
|
variant: 'headerless',
|
label: 'this is the aria-label value'
|
});
|
if (!result){
|
this.dispatchEvent(new CloseActionScreenEvent());
|
return;
|
}else{
|
this.funOne();
|
}
|
|
}
|
|
async handleConfirmClick02(msg) {
|
const result = await LightningConfirm.open({
|
message: msg,
|
variant: 'headerless',
|
label: 'this is the aria-label value'
|
});
|
if (!result){
|
this.dispatchEvent(new CloseActionScreenEvent());
|
return;
|
}else{
|
this.submitApproval();
|
}
|
|
}
|
|
showToastNoupdate(msg,type) {
|
const event = new ShowToastEvent({
|
message: msg,
|
variant: type
|
});
|
this.dispatchEvent(event);
|
this.dispatchEvent(new CloseActionScreenEvent());
|
}
|
|
showToast(msg,type) {
|
if(type == 'success'){
|
const event = new ShowToastEvent({
|
message: msg,
|
variant: type
|
});
|
this.updateRecordView(this.recordId);
|
this.dispatchEvent(event);
|
this.dispatchEvent(new CloseActionScreenEvent());
|
}else{
|
const event = new ShowToastEvent({
|
message: msg,
|
variant: type,
|
mode: 'sticky'
|
});
|
this.dispatchEvent(event);
|
this.dispatchEvent(new CloseActionScreenEvent());
|
}
|
}
|
|
updateRecordView(recordId) {
|
updateRecord({fields: { Id: recordId }});
|
}
|
}
|