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(() => { 
 | 
             
 | 
        }); 
 | 
    } 
 | 
  
 | 
  
 | 
} 
 |