KKbes
2023-04-13 87861ae5f1ed5456685f97f8a8e7625e47b9576d
force-app/main/default/lwc/lexRCSubmit/lexRCSubmit.js
New file
@@ -0,0 +1,160 @@
import { LightningElement,wire,track,api} from 'lwc';
import { CurrentPageReference } from "lightning/navigation";
import { CloseActionScreenEvent } from 'lightning/actions';
import { NavigationMixin } from 'lightning/navigation';
import { ShowToastEvent } from 'lightning/platformShowToastEvent';
import init  from '@salesforce/apex/QISReportController.initForRCSubmitButton';
import updateQis  from '@salesforce/apex/QISReportController.updateQisWithRC';
import UserInfo_Owner from '@salesforce/apex/TaskFeedbackController.UserInfo_Owner';
import { updateRecord } from 'lightning/uiRecordApi';
export default class lexRCSubmit extends LightningElement {
   @api recordId;
   IsLoading = true;
   qisReportId;
   qisStatus;
   OSHstaff;
   OSHstaffEmail;
   CancelQISReason;
   Rcid;
   RCinspectionDate;
   QISReplyDay;
   RCproblemnotfound;
   type;
    err;
   @wire(CurrentPageReference)
     getStateParameters(currentPageReference) {
             console.log(111);
             console.log(currentPageReference);
         if (currentPageReference) {
           const urlValue = currentPageReference.state.recordId;
           if (urlValue) {
             let str = `${urlValue}`;
             console.log("str");
             console.log(str);
             this.recordId = str;
           }
         }
    }
     connectedCallback () {
        init({
            recordId: this.recordId
        }).then(result => {
            this.IsLoading = false;
            this.qisReportId = result.Id;
            this.qisStatus = result.qIStatus;
            this.OSHstaff = result.oSHstaff;
            this.OSHstaffEmail = result.oSHstaffEmail;
            this.CancelQISReason = result.cancelQISReason;
            this.Rcid = result.rCid;
            this.RCinspectionDate = result.rCinspectionDate;
            this.QISReplyDay = result.qISReplyDay;
            this.RCproblemnotfound = result.rCproblemnotfound;
            if (this.qisStatus!='RC检测中') {
                const evt = new ShowToastEvent({
                        title : '已经提交审批',
                        message: '',
                        variant: 'error'
                    });
                 this.dispatchEvent(evt);
                this.dispatchEvent(new CloseActionScreenEvent());
               return;
            }
            if (this.CancelQISReason!=null) {
               if (this.qisStatus == 'RC检测申请') {
                    const evt = new ShowToastEvent({
                        title : '需要先点击[OCM服务本部收到实物]',
                        message: '',
                        variant: 'error'
                    });
                    this.dispatchEvent(evt);
                    this.dispatchEvent(new CloseActionScreenEvent());
               return;
               }
               if (this.Rcid ==null) {
                    const evt = new ShowToastEvent({
                        title : '判定担当必须填写',
                        message: '',
                        variant: 'error'
                    });
                    this.dispatchEvent(evt);
                    this.dispatchEvent(new CloseActionScreenEvent());
               return;
               }
               if (this.RCinspectionDate == null) {
                    const evt = new ShowToastEvent({
                        title : 'OCM服务本部还没有检测完毕',
                        message: '',
                        variant: 'error'
                    });
                    this.dispatchEvent(evt);
                    this.dispatchEvent(new CloseActionScreenEvent());
               return;
               }
               if (this.QISReplyDay!=null  && this.RCproblemnotfound == 'true') {
                    const evt = new ShowToastEvent({
                        title : '最终判定时,请取消[故障未发现留下继续观察]并选择[对应方法]',
                        message: '',
                        variant: 'error'
                    });
                    this.dispatchEvent(evt);
                    this.dispatchEvent(new CloseActionScreenEvent());
               return;
               }
               if (confirm("一旦提交此记录以待批准,根据您的设置您可能不再能够编辑此记录或将他从批准过程中调回。是否继续?")) {
                  this.type = '1';
            }else{
                    this.dispatchEvent(new CloseActionScreenEvent());
                    return;
                }
            }else{
               if (confirm("一旦提交关闭此记录以待批准,根据您的设置您可能不再能够编辑此记录或将他从批准过程中调回。是否继续?")) {
               this.type = '2';
            }else{
                    this.dispatchEvent(new CloseActionScreenEvent());
                    return;
                }
            }
            console.log('this.type='+this.type);
            // this.dispatchEvent(new CloseActionScreenEvent());
            this.updateQisSubmit();
        }).catch(error => {
            console.log('error='+error);
        }).finally(() => {
        });
    }
    updateRecordView(recordId) {
        updateRecord({fields: { Id: recordId }});
    }
    updateQisSubmit(){
           updateQis({
               recordId: this.recordId,
               type: this.type,
               oldQIStatus: this.qisStatus
              }).then(result =>{
                 console.log('result'+result);
                     this.err = result;
                 if (result!='成功') {
                        const evt = new ShowToastEvent({
                            title : '更新失败',
                            message: this.err,
                            variant: 'error'
                        });
                        this.dispatchEvent(evt);
                    }
                this.dispatchEvent(new CloseActionScreenEvent());
                this.updateRecordView(this.recordId);
              }).catch(error => {
            console.log('error='+error);
        }).finally(() => {
        });
    }
}