unknown
2023-08-23 dfff58b7cd897b824a129edba6b5cdae20bb1e5c
force-app/main/default/lwc/lexSelectSubstitute/lexSelectSubstitute.js
@@ -1,94 +1,79 @@
import { LightningElement,api, track, wire } from 'lwc';
import {CurrentPageReference} from 'lightning/navigation';
import { CloseActionScreenEvent } from 'lightning/actions';
import init from '@salesforce/apex/SelectSubstituteControllerLWT.initFromSelectSubstituteButton';
import selectRentalApplyEquipmentSetByID from '@salesforce/apex/SelectSubstituteControllerLWT.selectRentalApplyEquipmentSetByID';
import { ShowToastEvent } from 'lightning/platformShowToastEvent';
import init from '@salesforce/apex/LexSelectSubstituteControllerLWT.initFromSelectSubstituteButton';
import selectRentalApplyEquipmentSetByID from '@salesforce/apex/LexSelectSubstituteControllerLWT.selectRentalApplyEquipmentSetByID';
import selectRentalApplyCByName from '@salesforce/apex/LexSelectSubstituteControllerLWT.selectRentalApplyCByName';
export default class selectSubstituteLWC extends LightningElement {
   @api recordId;
    id;
    RentalApplyId;
    Status;
    IsLoading=true;
    @wire(CurrentPageReference)
   getStateParameters(currentPageReference){
      console.log("进入页面");
      console.log(currentPageReference);
      if(currentPageReference){
         const urvalue=currentPageReference.state.recordId;
         if(urvalue){
            let str=`${urvalue}`;
            console.log('str');
            console.log(str);
            this.recordId=str;
         }
      }
   }
    IsShow=false;
    @api rentalApplyEquipmentSetIds;
    msg;
 //    @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.id=result.id;
             this.RentalApplyId=result.RentalApplyId;
             this.Status=result.Status;
            this.cancelSubmit().then(res=>{
               this.IsLoading=false;
               this.dispatchEvent(new CloseActionScreenEvent());
            });
      init({
         recordId:this.recordId,
      }).then(result=>{
         console.log('rentalApplyEquipmentSetIds'+this.rentalApplyEquipmentSetIds);
         this.IsLoading = false;
         if(this.rentalApplyEquipmentSetIds == undefined || this.rentalApplyEquipmentSetIds.length<1){
            this.IsShow = true;
            this.msg = "请选择一条借出备品一览记录";
            return;
         }else if(this.rentalApplyEquipmentSetIds.length>1){
            this.IsShow = true;
            this.msg = "只能选择一条记录";
            return;
         }else{
            selectRentalApplyEquipmentSetByID({
               recordId: this.rentalApplyEquipmentSetIds[0]
            }).then(res=>{
               result.Status = '已批准';
               res.RAES_Status__c = '已批准';
               if(result.Status !='已批准' &&  result.Status!= '已出库指示'){
                  this.IsShow = true;
                  this.msg = '申请书状态不符合分配代替品条件,请确认申请的状态';
                  return;
               }else{
                  if(res.RAES_Status__c == '草案中' || res.RAES_Status__c == '申请中' || res.Shippment_loaner_time2__c != null){
                     this.IsShow = true;
                     this.msg = "一览的状态不符合分配替代品条件";
                     return;
                  }else if(res.Irreplaceable_flag__c == true){
                     this.IsShow = true;
                     this.msg = "申请人勾选了代替品不可";
                     return;
                  }else{
                     window.open("/apex/RentalFixtureSetSelect?pt_recid="+ this.recordId +"&raesid="+this.rentalApplyEquipmentSetIds[0]);
                     this.closeAction();
                  }
               }
            })
         }
      }).catch(err=>{
         console.log("error:");
         console.log(err);
      }).finally(()=>{
      });
         console.log("error:"+err);
      })
   }
    closeAction() {
        //返回当前的备品申请
      window.open("/"+this.recordId,'_self');
    }
    async cancelSubmit(){
      // 可分配代替品前提1 -- 备品借出申请的状态:“已批准”到“已出库指示”
      if(this.Status != '已批准' && this.Status != '已出库指示') {
         // alert('申请书状态不符合分配代替品条件,请确认申请的状态');
           const event = new ShowToastEvent({
               title: '提示信息',
               message:'申请书状态不符合分配代替品条件,请确认申请的状态'
           });
           this.dispatchEvent(event);
      } else {
         // 可分配代替品前提2 -- 所选借出备品配套一览的状态:‘已批准’到‘出库前已检测’
         var soqlRecord ;
         await selectRentalApplyEquipmentSetByID({recordId:this.recordId})
         .then(res=>{
            soqlRecord=res;
            var status = soqlRecord.RAES_Status__c;
            var irreplaceable = soqlRecord.Irreplaceable_flag__c;
            var shipTime = soqlRecord.Shippment_loaner_time2__c;
            if(status == "草案中" || status == "申请中" || shipTime != null) {
               // alert("一览的状态不符合分配替代品条件");
                 const event = new ShowToastEvent({
                     title: '提示信息',
                     message:"一览的状态不符合分配替代品条件"
                 });
                 this.dispatchEvent(event);
            } else if(irreplaceable=="true") {
               // alert("申请人勾选了代替品不可");
                 const event = new ShowToastEvent({
                     title: '提示信息',
                     message:"申请人勾选了代替品不可"
                 });
                 this.dispatchEvent(event);
            } else {
               window.open("/apex/RentalFixtureSetSelect?pt_recid="+this.RentalApplyId+"&raesid="+this.recordId);
            }
         });
      }
   }
}