twysparks
2023-04-20 74e6a383570060d05c58f731fa7cd9f241db50bd
force-app/main/default/lwc/lexLoanerArrangedEmail/lexLoanerArrangedEmail.js
New file
@@ -0,0 +1,258 @@
import { LightningElement,api, track, wire } from 'lwc';
import {CurrentPageReference} from 'lightning/navigation';
import { CloseActionScreenEvent } from 'lightning/actions';
import init from '@salesforce/apex/SelectSubstituteControllerLWT.initFromLoanerArrangedEmailLButton';
import selectRentalApplyCByName from '@salesforce/apex/SelectSubstituteControllerLWT.selectRentalApplyCByName';
import selectRaesById1 from '@salesforce/apex/SelectSubstituteControllerLWT.selectRaesById1';
import selectRaesById2 from '@salesforce/apex/SelectSubstituteControllerLWT.selectRaesById2';
import getSessionId from '@salesforce/apex/SelectSubstituteControllerLWT.getSessionId';
import approvalCheck from '@salesforce/apex/SelectSubstituteControllerLWT.approvalCheck';
import setShipment_requests from '@salesforce/apex/SelectSubstituteControllerLWT.setShipment_requests';
// import { label } from '@salesforce/label';
import STATUS_PROCESS_STATE from '@salesforce/label/c.StatusProcessState';
import { ShowToastEvent } from 'lightning/platformShowToastEvent';
export default class lexLoanerArrangedEmail extends LightningElement {
   @api recordId;
   id;
   RentalApplyC;
   Status;
   Wei_Assigned_Cnt__c;
   Bollow_Date__c;
   Assigned_Not_Shipment__c;
   IsLoading=true;
   @track statusStringg = STATUS_PROCESS_STATE;
   @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;
         }
      }
   }
   connectedCallback(){
      console.log(this.recordId);
      init({recordId:this.recordId}).then(result=>{
         console.log(result);
         if(result!=null){
            this.id=result.id;
            this.RentalApplyC=result.RentalApplyC;
            this.Status=result.Status;
            this.Wei_Assigned_Cnt__c=result.WeiAssignedCntC;
            this.Bollow_Date__c=result.BollowDateC;
            this.Assigned_Not_Shipment__c=result.AssignedNotShipmentC;
            this.cancelSubmit().then(res=>{
               this.IsLoading=false;
               this.dispatchEvent(new CloseActionScreenEvent());
            });
         }
      }).catch(err=>{
         console.log("error:");
         console.log(err);
      }).finally(()=>{
      });
   }
   async cancelSubmit(){
      let campaignStatus = '';
      let records = null; // 20220217 ljh OBPM市场活动联动
      console.log("Ff");
      let statusSting = "{!$Label.StatusProcessState}"; // 20220322 ljh add
      let statusList = statusSting.split(',');
      console.log(statusSting);
      console.log(statusList);
      console.log(this.statusStringg);
      let raliveryGood;
      await selectRentalApplyCByName({recordId:this.RentalApplyC})
         .then(res=>{
            console.log(res);
            if (res!=null) {
               raliveryGood=res;
            }
         }).catch(err=>{
            console.log("selectRentalApplyCByName err:")
            console.log(err.message);
         });
      console.log(statusSting);
      console.log(raliveryGood);
      console.log("ddd");
      let RentalApply = raliveryGood[0];
      console.log(RentalApply);
      if(RentalApply.Campaign__c != null&&RentalApply.Campaign__c != '' ) {
         console.log();
         let DeliveryGood;
         // 20220217 ljh update OBPM市场活动联动 start
         // DeliveryGood = sforce.connection.query("select Status, Rental_Apply_Flag__c from Campaign where id ='" + RentalApply.Campaign__c + "'");
         // let records= DeliveryGood.getArray("records");
         await selectCampaignById({recordId:RentalApply.Campaign__c}).then(res=>{
            console.log(res);
            DeliveryGood=res;
         });
         console.log(RentalApply);
         records = DeliveryGood;
         console.log(DeliveryGood);
         // 20220217 ljh update OBPM市场活动联动 end
         campaignStatus = records[0].Status;
         console.log("hh3");
      }
      if(this.Wei_Assigned_Cnt__c > "0") {
         // alert("申请单内存在未分配的配套,请分配备品或分割申请单");
         const event = new ShowToastEvent({
            title: '提示信息',
            message:"申请单内存在未分配的配套,请分配备品或分割申请单"
         });
         this.dispatchEvent(event);
      }else if(campaignStatus == '取消'){
         // alert("学会取消,不可出库指示");
         const event = new ShowToastEvent({
            title: '提示信息',
            message:"学会取消,不可出库指示"
         });
         this.dispatchEvent(event);
      }else if (this.Assigned_Not_Shipment__c == "0") {
         // alert("没有可以出库指示的明细");
         const event = new ShowToastEvent({
            title: '提示信息',
            message:"没有可以出库指示的明细"
         });
         this.dispatchEvent(event);
      } else if (RentalApply.Demo_purpose1__c == "长期借出" && RentalApply.Contract_pdf_updated__c == "0") {
         // alert("长期借出时,必须先上传契约书");
         const event = new ShowToastEvent({
            title: '提示信息',
            message:"长期借出时,必须先上传契约书"
         });
         this.dispatchEvent(event);
      } else if(RentalApply.Repair__c != '' && RentalApply.Repair__c != null && (RentalApply.Repair_Final_Inspection_Date_F__c != null && RentalApply.Repair_Final_Inspection_Date_F__c != '') || (RentalApply.RC_return_to_office__c != null && RentalApply.RC_return_to_office__c != '')) {
         // alert("修理有最终检测日或修理品返送日,不可出库指示");
         const event = new ShowToastEvent({
            title: '提示信息',
            message:"修理有最终检测日或修理品返送日,不可出库指示"
         });
         this.dispatchEvent(event);
         // 20220217 ljh add OBPM市场活动联动 start
      } else if (records != null && records[0].IF_Approved__c == "true" && (records[0].Meeting_Approved_No__c == null || records[0].Meeting_Approved_No__c == "") ) {
         // alert("没有决裁号的,暂不能出借,请更新裁决信息。");
         const event = new ShowToastEvent({
            title: '提示信息',
            message:"没有决裁号的,暂不能出借,请更新裁决信息。"
         });
         this.dispatchEvent(event);
      } else if (records != null && records[0].IF_Approved__c == "true" && records[0].Meeting_Approved_No__c != "" && statusList.indexOf(records[0].Approved_Status__c) != -1 ) {
         // alert("已申请决裁但决裁状态不符合条件。");
         const event = new ShowToastEvent({
            title: '提示信息',
            message:"已申请决裁但决裁状态不符合条件。"
         });
         this.dispatchEvent(event);
         // 20220217 ljh add OBPM市场活动联动 end
      } else {
         console.log("hhhh3");
         let t=await getSessionId();
         console.log(t);
         window.sforce = window.sforce || {};
         window.sforce.connection = window.sforce.connection || {};
         window.sforce.connection.sessionId =t;
         //154p 1388 yc 20211020
         console.log("hhhh4");
         let raid = RentalApply.Id+";"+this.id;
         console.log(raid);
         let rs1 = await approvalCheck({rentalApplyId:raid});
         console.log(rs1);
         if (rs1 != '1') {
            // alert(rs1);
            const event = new ShowToastEvent({
               title: '提示信息',
               message:rs1
            });
            this.dispatchEvent(event);
         } else {
            //bp2 let rs2 = sforce.apex.execute("RentalApplyWebService", "reserve", {rentalApplyId: raid});
            //bp2 if (rs2 != '1') {
            //bp2 alert(rs2);
            //bp2 } else {
            setShipment_requests({raid:null,raesid: this.id}).then(res=>{
               if (res == "状态更新到已出库指示") {
                  // alert("状态更新到已出库指示");
                  const event = new ShowToastEvent({
                     title: '提示信息',
                     message:"状态更新到已出库指示"
                  });
                  this.dispatchEvent(event);
                  print().then(res=>{
                     setTimeout(function() {location.href = "/"+this.RentalApplyC;}, 100);
                  });
               } else {
                  // alert(res);
                  const event = new ShowToastEvent({
                     title: '提示信息',
                     message:res
                  });
                  this.dispatchEvent(event);
               }
            })
            // sforce.apex.execute("RentalApplyWebService", "setRaesShipment_request",
            //  {raesid: this.id}
            //    ,function(res) {
            //       if (res == "状态更新到已出库指示") {
            //          alert("状态更新到已出库指示");
            //          print().then(res=>{
            //             setTimeout(function() {location.href = "/"+this.RentalApplyC;}, 100);
            //          });
            //       } else {
            //          alert(res);
            //       }
            // });
         }
      }
      async function print(){
         let sqlResult;
         if(this.Bollow_Date__c != ''){
            await selectRaesById1({recordId:RentalApply.Id}).then(res=>{
               sqlResult=res;
            });
         }else{
            await selectRaesById2({recordId:RentalApply.Id}).then(res=>{
               sqlResult=res;
            });
         }
         let records = sqlResult;
         let size =records.length;
         let length = size%10 ==0? size/10 : parseInt(size/10) +1;
         for(let i =0;i<length;i++){
            window.open('/apex/FixtureRentalPDF?raid=' + RentalApply.Id + '&page=' + i);
         }
      }
      // function fixTime(time){
      //    if(time < 10) {time = "0" + time};
      //       return time;
      // }
      // function fixDate(date){
      //    let Month = fixTime(date.getMonth() + 1);
      //    let Day = fixTime(date.getDate());
      //    let UTC = date.toUTCString();
      //    let Time = UTC.substring(UTC.indexOf(':')-2, UTC.indexOf(':')+6);
      //    let Minutes = fixTime(date.getMinutes());
      //    let Seconds = fixTime(date.getSeconds());
      //    return date.getFullYear() + "-" + Month + "-" + Day + "T" + Time;
      // }
   }
}