import { LightningElement,wire,track,api} from 'lwc';
|
import { CurrentPageReference } from "lightning/navigation";
|
import { CloseActionScreenEvent } from 'lightning/actions';
|
import LightningConfirm from 'lightning/confirm';
|
import { ShowToastEvent } from 'lightning/platformShowToastEvent';
|
import init from '@salesforce/apex/QISReportController.initForRCSubmitButton';
|
import updateQis from '@salesforce/apex/QISReportController.updateQisWithRC';
|
import { updateRecord } from 'lightning/uiRecordApi';
|
import lwcCSS from '@salesforce/resourceUrl/lwcCSS';
|
import {loadStyle} from 'lightning/platformResourceLoader';
|
import accSendEmailFW from '@salesforce/apex/buttonAssetCtl.accSendEmailFW'; // WYL 贸易合规2期 add
|
import IFTradeComplianceAlertName from '@salesforce/label/c.IFTradeComplianceAlertName'; // WYL 贸易合规2期 add
|
/*
|
* @Description: 提交待审批
|
* @Author: hql
|
* @Date: 2023-07-12 09:45:19
|
* @LastEditTime: 2023-07-12 15:44:33
|
* @LastEditors:
|
*/
|
export default class lexRCSubmit extends LightningElement {
|
@api recordId;
|
IsLoading = true;
|
qisReportId;
|
qisStatus;
|
OSHstaff;
|
OSHstaffEmail;
|
CancelQISReason;
|
Rcid;
|
RCinspectionDate;
|
QISReplyDay;
|
RCproblemnotfound;
|
hosTradeComplianceStatus; // WYL 贸易合规2
|
ProductCompliance;// WYL 贸易合规2
|
userEmail;// WYL 贸易合规2
|
OwnerEmail;
|
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 () {
|
Promise.all([
|
loadStyle(this, lwcCSS)
|
]);
|
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;
|
this.hosTradeComplianceStatus = result.hosTradeComplianceStatus; // WYL 贸易合规2
|
this.ProductCompliance = result.ProductCompliance; // WYL 贸易合规2
|
this.HospitalN = result.HospitalN;// WYL 贸易合规2
|
this.Asset_Model_No = result.Asset_Model_No;// WYL 贸易合规2
|
this.userEmail = result.userEmail;// WYL 贸易合规2
|
this.OwnerEmail = result.OwnerEmail;// WYL 贸易合规2
|
if (this.qisStatus!='RC检测中') {
|
const evt = new ShowToastEvent({
|
title : '已经提交审批',
|
message: '',
|
variant: 'error',
|
mode: 'sticky'
|
});
|
this.dispatchEvent(evt);
|
this.dispatchEvent(new CloseActionScreenEvent());
|
return;
|
}
|
console.log('this.RCproblemnotfound='+(this.QISReplyDay!=null && this.RCproblemnotfound));
|
if (this.CancelQISReason==null) {
|
if (this.qisStatus == 'RC检测申请') {
|
const evt = new ShowToastEvent({
|
title : '',
|
message: '需要先点击[OCM服务本部收到实物]',
|
variant: 'error',
|
mode: 'sticky'
|
});
|
this.dispatchEvent(evt);
|
this.dispatchEvent(new CloseActionScreenEvent());
|
return;
|
}
|
if (this.Rcid ==null) {
|
const evt = new ShowToastEvent({
|
title : '',
|
message: '判定担当必须填写',
|
variant: 'error',
|
mode: 'sticky'
|
});
|
this.dispatchEvent(evt);
|
this.dispatchEvent(new CloseActionScreenEvent());
|
return;
|
}
|
if (this.RCinspectionDate == null) {
|
const evt = new ShowToastEvent({
|
title : '',
|
message: 'OCM服务本部还没有检测完毕',
|
variant: 'error',
|
mode: 'sticky'
|
});
|
this.dispatchEvent(evt);
|
this.dispatchEvent(new CloseActionScreenEvent());
|
return;
|
}
|
|
if (this.QISReplyDay!=null && this.RCproblemnotfound) {
|
const evt = new ShowToastEvent({
|
title : '',
|
message: '最终判定时,请取消[故障未发现留下继续观察]并选择[对应方法]',
|
variant: 'error',
|
mode: 'sticky'
|
});
|
this.dispatchEvent(evt);
|
this.dispatchEvent(new CloseActionScreenEvent());
|
return;
|
}
|
// WYL 贸易合规2期 start
|
if (this.hosTradeComplianceStatus =='黑名单') {
|
const evt = new ShowToastEvent({
|
title : '',
|
message: '黑名单:存在贸易合规风险,无法新建,有问题请联系法务部贸易合规窗口'+IFTradeComplianceAlertName+'。',
|
variant: 'error',
|
mode: 'sticky'
|
});
|
console.info('发送邮件');
|
accSendEmailFW({
|
accname:this.HospitalN,
|
mcid:this.recordId,
|
type:'1',
|
FseEmail : this.OwnerEmail,
|
useremail:this.userEmail,
|
state:this.hosTradeComplianceStatus
|
})
|
.then(result=>{
|
return;
|
}).catch(err=>{
|
console.log('邮件错误'+error);
|
})
|
this.dispatchEvent(evt);
|
this.dispatchEvent(new CloseActionScreenEvent());
|
return;
|
}else if (this.hosTradeComplianceStatus =='冻结,人工审批中') {
|
const evt = new ShowToastEvent({
|
title : '',
|
message: '冻结清单:可能存在贸易合规风险,目前正在评估中(一般需5-10个工作日),暂时无法新建,有问题请联系法务部贸易合规窗口'+IFTradeComplianceAlertName+'。',
|
variant: 'error',
|
mode: 'sticky'
|
});
|
this.dispatchEvent(evt);
|
this.dispatchEvent(new CloseActionScreenEvent());
|
return;
|
}
|
else if (this.hosTradeComplianceStatus =='警示名单' && this.ProductCompliance == '0') {
|
LightningConfirm.open({
|
message: '您此次申请的业务可能存在贸易合规风险,请联系法务本部贸易合规窗口'+IFTradeComplianceAlertName+'进一步评估(一般需5-10个工作日)。',
|
variant: 'headerless',
|
label: 'this is the aria-label value',
|
}).then(res=>{
|
if(res) {
|
LightningConfirm.open({
|
message: '一旦提交此记录以待批准,根据您的设置您可能不再能够编辑此记录或将他从批准过程中调回。是否继续?',
|
variant: 'headerless',
|
label: 'this is the aria-label value',
|
}).then(res=>{
|
if(res) {
|
this.type = '1';
|
console.log('this.type='+this.type);
|
this.updateQisSubmit();
|
}else{
|
this.dispatchEvent(new CloseActionScreenEvent());
|
return;
|
}
|
|
});
|
}else{
|
this.dispatchEvent(new CloseActionScreenEvent());
|
return;
|
}
|
});
|
console.info('发送邮件');
|
accSendEmailFW({
|
accname:this.HospitalN,
|
mcid:this.recordId,
|
type:'4',
|
useremail:this.userEmail,
|
state:this.hosTradeComplianceStatus,
|
Asset_Model_No:this.Asset_Model_No
|
})
|
.then(result=>{
|
return;
|
}).catch(err=>{
|
console.log('邮件错误'+error);
|
})
|
}else{
|
LightningConfirm.open({
|
message: '一旦提交此记录以待批准,根据您的设置您可能不再能够编辑此记录或将他从批准过程中调回。是否继续?',
|
variant: 'headerless',
|
label: 'this is the aria-label value',
|
}).then(res=>{
|
if(res) {
|
this.type = '1';
|
console.log('this.type='+this.type);
|
this.updateQisSubmit();
|
}else{
|
this.dispatchEvent(new CloseActionScreenEvent());
|
return;
|
}
|
|
});
|
}
|
// WYL 贸易合规2期 end
|
|
}else{
|
LightningConfirm.open({
|
message: '一旦提交此记录以待批准,根据您的设置您可能不再能够编辑此记录或将他从批准过程中调回。是否继续?',
|
variant: 'headerless',
|
label: 'this is the aria-label value',
|
}).then(res=>{
|
if(res) {
|
this.type = '2';
|
console.log('this.type='+this.type);
|
this.updateQisSubmit();
|
}else{
|
this.dispatchEvent(new CloseActionScreenEvent());
|
return;
|
}
|
|
});
|
}
|
|
// this.dispatchEvent(new CloseActionScreenEvent());
|
|
}).catch(error => {
|
console.log('error='+error);
|
}).finally(() => {
|
|
});
|
}
|
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',
|
mode: 'sticky'
|
});
|
this.dispatchEvent(evt);
|
updateRecord({fields: { Id: this.recordId }});
|
}else{
|
var url = '/lightning/r/QIS_Report__c/'+this.recordId+'/view';
|
window.open(url);
|
}
|
|
this.dispatchEvent(new CloseActionScreenEvent());
|
}).catch(error => {
|
console.log('error='+error);
|
}).finally(() => {
|
|
});
|
}
|
|
|
}
|