import { LightningElement, track, wire, api } from 'lwc';
|
import { CurrentPageReference,NavigationMixin } from 'lightning/navigation';
|
import { CloseActionScreenEvent } from 'lightning/actions';
|
import { encodeDefaultFieldValues } from 'lightning/pageReferenceUtils';
|
import { ShowToastEvent } from 'lightning/platformShowToastEvent';
|
import { updateRecord } from 'lightning/uiRecordApi';
|
import init from '@salesforce/apex/LexNewTransferApplyController.init';
|
import getRecordId from '@salesforce/apex/LexNewTransferApplyController.getRecordId';
|
import lwcCSS from '@salesforce/resourceUrl/lwcCSS';
|
import {loadStyle} from 'lightning/platformResourceLoader';
|
export default class lexNewTransferApply extends NavigationMixin(LightningElement){
|
|
@api recordId;
|
IsLoading = true;
|
raId;
|
raName;
|
|
@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)
|
]);
|
init({
|
recordId: this.recordId
|
}).then(result =>{
|
this.raId = result.raId;
|
this.raName = result.raName;
|
|
let raDetailSet = result.rae;
|
let IsCanCreateTransfer = false;
|
if(raDetailSet.length > 0){
|
if(raDetailSet[0].Rental_Apply__r.RecordType.DeveloperName != 'AgencyRequest'){
|
this.showToast('此记录类型不支持新建调拨单','warning');
|
return;
|
}else{
|
for(let i=0; i<raDetailSet.length; i++){
|
console.log('raDetailSet[i].Asset__c' + JSON.stringify(raDetailSet[i]));
|
console.log(raDetailSet[i].Is_Body__c);
|
if(raDetailSet[i].Asset__c != null){
|
//画面默认且仅显示符合调拨要求的数据(①欠品断念后找回的主体 ②(主体上架ok)欠品断念后找回的附属品 ③主体待修理的整个配套 ④(主体上架ok)待修理的附属品)⑤主体断念后单独的附属品
|
if(raDetailSet[i].Is_Body__c){
|
//①欠品断念后找回的主体
|
if(raDetailSet[i].Lost_item_giveup__c){
|
IsCanCreateTransfer = true; break;
|
}
|
//③主体待修理的整个配套
|
if(raDetailSet[i].Arrival_wh_Result_Agency__c != null && (raDetailSet[i].Arrival_wh_Result_Agency__c == '待修理' || raDetailSet[i].Arrival_wh_Result_Agency__c == '移至报废区' )){
|
IsCanCreateTransfer = true; break;
|
}
|
}else{
|
//③主体待修理的整个配套(不是欠品的附属品)
|
if(raDetailSet[i].Rental_Apply_Equipment_Set__r.First_RAESD__r.Arrival_wh_Result_Agency__c != null &&
|
(raDetailSet[i].Rental_Apply_Equipment_Set__r.First_RAESD__r.Arrival_wh_Result_Agency__c == '待修理' ||
|
raDetailSet[i].Rental_Apply_Equipment_Set__r.First_RAESD__r.Arrival_wh_Result_Agency__c == '移至报废区' ) &&
|
raDetailSet[i].OneToOne_Flag__c &&
|
raDetailSet[i].Arrival_wh_Result_Agency__c != null
|
){
|
IsCanCreateTransfer = true; break;
|
}
|
|
//②主体欠品断念后的整个配套(不是欠品的附属品)
|
//有主体得是一对一附属品
|
if(raDetailSet[i].Rental_Apply_Equipment_Set__r.First_RAESD__r.Lost_item_giveup__c &&
|
raDetailSet[i].OneToOne_Flag__c &&
|
raDetailSet[i].Arrival_wh_Result_Agency__c != null){
|
IsCanCreateTransfer = true; break;
|
}
|
|
//④(主体上架ok)待修理的附属品
|
if(raDetailSet[i].Rental_Apply_Equipment_Set__r.First_RAESD__r.Arrival_wh_Result_Agency__c !=null &&
|
raDetailSet[i].Rental_Apply_Equipment_Set__r.First_RAESD__r.Arrival_wh_Result_Agency__c == 'OK' &&
|
raDetailSet[i].OneToOne_Flag__c &&
|
raDetailSet[i].Arrival_wh_Result_Agency__c != null && (raDetailSet[i].Arrival_wh_Result_Agency__c == '待修理' || raDetailSet[i].Arrival_wh_Result_Agency__c == '移至报废区')){
|
IsCanCreateTransfer = true; break;
|
}
|
|
//⑤ 断念后的附属品
|
if(raDetailSet[i].Lost_item_giveup__c){
|
IsCanCreateTransfer = true; break;
|
}
|
|
if(raDetailSet[i].Rental_Apply_Equipment_Set__r.First_You_Xiao_Ku_Cun__c <= 0
|
&& raDetailSet[i].OneToOne_Flag__c && raDetailSet[i].Check_lost_Item__c != null && raDetailSet[i].Check_lost_Item_Final__c !=null && raDetailSet[i].Check_lost_Item__c == '欠品' && raDetailSet[i].Check_lost_Item_Final__c == 'OK'
|
&& raDetailSet[i].Arrival_in_wh__c
|
&& raDetailSet[i].Arrival_wh_time__c != raDetailSet[i].Rental_Apply_Equipment_Set__r.First_RAESD__r.Arrival_wh_time__c ){
|
IsCanCreateTransfer = true; break;
|
}
|
}
|
}
|
}
|
console.log('IsCanCreateTransfer=='+IsCanCreateTransfer);
|
if(IsCanCreateTransfer){
|
getRecordId().then(res=>{
|
console.log('res===='+res);
|
const defaultValues = encodeDefaultFieldValues({
|
Name: '*',
|
Rental_Apply__c: this.recordId
|
});
|
|
this[NavigationMixin.Navigate]({
|
type: 'standard__objectPage',
|
attributes: {
|
objectApiName: 'TransferApply__c',
|
actionName: 'new',
|
RecordType: res
|
},
|
state:{
|
nooverride: '1',// 20230924 ljh add
|
// defaultFieldValues: this.defaultValues
|
defaultFieldValues: defaultValues
|
// 20230924 ljh update
|
}
|
})
|
})
|
}else{
|
this.showToast('该申请没有符合条件的借出备品配套一览明细!','warning');
|
return;
|
}
|
}
|
}else{
|
this.showToast('该申请没有符合条件的借出备品配套一览明细!','warning');
|
return;
|
}
|
})
|
.catch(err=>{
|
this.dispatchEvent(new CloseActionScreenEvent());
|
console.log('init==='+err);
|
})
|
}
|
|
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 }});
|
}
|
}
|