liangxiaozhen
2023-08-08 c69e36a64e4954b0b7e818843e8a833b3201ec29
force-app/main/default/lwc/lexSelectSubstitute/lexSelectSubstitute.js
@@ -8,87 +8,67 @@
   @api recordId;
    id;
    RentalApplyId;
    Status;
    IsLoading=true;
    @api rentalApplyEquipmentSetIds;
    @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;
      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=>{
         if(rentalApplyEquipmentSetIds.length<1){
            this.showToast("请选择一条借出备品一览记录",'warning');
         }else if(rentalApplyEquipmentSetIds.length>1){
            this.showToast("只能选择一条记录",'warning');
         }else{
         }
      }).catch(err=>{
         console.log("error:");
         console.log(err);
      }).finally(()=>{
         selectRentalApplyEquipmentSetByID({
            recordId: rentalApplyEquipmentSetIds[0]
         }).then(res=>{
            if(res.Status__c !='已批准' &&  res.Status__c!= '已出库指示'){
               this.showToast('申请书状态不符合分配代替品条件,请确认申请的状态','warning');
            }else{
               if(res.Status__c == '草案中' || res.Status__c == '申请中' || res.Shippment_loaner_time2__c != null){
                  this.showToast("一览的状态不符合分配替代品条件",'warning');
               }else if(res.Irreplaceable_flag__c == true){
                  this.showToast("申请人勾选了代替品不可",'warning');
               }else{
                  window.open("/apex/RentalFixtureSetSelect?pt_recid="+ this.recordId +"&raesid="+rentalApplyEquipmentSetIds[0]);
               }
            }
         })
      });
   }
   showToast(msg,type) {
        const event = new ShowToastEvent({
            message: msg,
            variant: type
        });
        if(type == 'success'){
            this.updateRecordView();
        }
        this.dispatchEvent(event);
        this.dispatchEvent(new CloseActionScreenEvent());
    }
    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);
            }
         });
      }
   }
    updateRecordView(recordId) {
        updateRecord({fields: { Id: recordId }});
    }
}