unknown
2023-05-29 a47869c747f3e4777700fc2d430957b6772e5910
分配代替品

分配代替品-按钮3
4个文件已修改
191 ■■■■■ 已修改文件
force-app/main/default/lwc/lexSelectSubstitute/lexSelectSubstitute.css 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexSelectSubstitute/lexSelectSubstitute.html 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexSelectSubstitute/lexSelectSubstitute.js 125 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexSelectSubstitute/lexSelectSubstitute.js-meta.xml 39 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexSelectSubstitute/lexSelectSubstitute.css
@@ -1,4 +1,4 @@
.Holder{
.holder{
    position: relative;
    display: inline-block;
    width: 80px;
@@ -8,4 +8,15 @@
.container .uiContainerManager{
    display : none !important;
}
.toast{
    border: 1px solid #c9c9c9;
    border-radius: 10px;
    width: 50%;
    margin: 0 auto;
    font-size: 18px;
    font-weight: bold;
    padding: 10px 20px;
    background: #feb75d;
    display: flex;
}
force-app/main/default/lwc/lexSelectSubstitute/lexSelectSubstitute.html
@@ -1,5 +1,13 @@
<template>
      <div class="Holder" if:true={IsLoading}>
              <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
      </div>
  <div class="holder" if:true={IsLoading}>
      <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
  </div>
  <div if:false={IsLoading} class="toast">
    <span style="padding: 10px;">{msg}</span>
    <button class="slds-button slds-button_icon slds-modal__close slds-button_icon-inverse" onclick={closeAction} title="Close" style="background-color: #e5e4e2;margin-top: 15px;">
                <lightning-icon class="greyIcon" icon-name="utility:close" alternative-text="Connected" variant="inverse" size="small"
                    title="Close"  style="color: black;"></lightning-icon>
              <span class="slds-assistive-text">Close</span>
        </button>
  </div>
</template>
force-app/main/default/lwc/lexSelectSubstitute/lexSelectSubstitute.js
@@ -3,92 +3,69 @@
import { CloseActionScreenEvent } from 'lightning/actions';
import init from '@salesforce/apex/SelectSubstituteControllerLWT.initFromSelectSubstituteButton';
import selectRentalApplyEquipmentSetByID from '@salesforce/apex/SelectSubstituteControllerLWT.selectRentalApplyEquipmentSetByID';
import { ShowToastEvent } from 'lightning/platformShowToastEvent';
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;
            }
        }
    }
    @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=>{
            this.IsLoading = false;
            if(this.rentalApplyEquipmentSetIds.length<1){
                this.msg = "请选择一条借出备品一览记录";
                return;
            }else if(this.rentalApplyEquipmentSetIds.length>1){
                this.msg = "只能选择一条记录";
                return;
            }else{
                selectRentalApplyEquipmentSetByID({
                    recordId: this.rentalApplyEquipmentSetIds[0]
                }).then(res=>{
                    console.log(res);
                    if(res.RAES_Status__c !='已批准' &&  res.RAES_Status__c!= '已出库指示'){
                        this.msg = '申请书状态不符合分配代替品条件,请确认申请的状态';
                        return;
                    }else{
                        if(res.RAES_Status__c == '草案中' || res.RAES_Status__c == '申请中' || res.Shippment_loaner_time2__c != null){
                            this.msg = "一览的状态不符合分配替代品条件";
                            return;
                        }else if(res.Irreplaceable_flag__c == 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() {
        //返回当前的备品申请
        console.log(window.url);
        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);
                }
            });
        }
    }
}
force-app/main/default/lwc/lexSelectSubstitute/lexSelectSubstitute.js-meta.xml
@@ -1,11 +1,36 @@
<?xml version="1.0" encoding="UTF-8"?>
<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="selectSubstituteLWC">
<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexRentalFixtureSetAssign">
    <apiVersion>51.0</apiVersion>
    <isExposed>true</isExposed>
    <targets>
        <target>lightning__AppPage</target>
        <target>lightning__RecordPage</target>
        <target>lightning__HomePage</target>
        <target>lightning__RecordAction</target>
    </targets>
    <targets>
        <target>lightning__AppPage</target>
        <target>lightning__RecordPage</target>
        <target>lightning__HomePage</target>
        <target>lightning__RecordAction</target>
        <!-- 屏幕流配置 -->
        <target>lightning__FlowScreen</target>
    </targets>
    <!-- 定义变量 -->
    <targetConfigs>
        <targetConfig targets="lightning__FlowScreen">
            <!-- name js中使用的变量,从屏幕流中获取参数  label 在屏幕流的该LWC的设置中显示 -->
            <property name="recordId" type="String" label="recordId"/>
            <property name="rentalApplyEquipmentSetIds" type="String[]" label="rentalApplyEquipmentSetIds"/>
        </targetConfig>
    </targetConfigs>
</LightningComponentBundle>