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.initForOCMSubmitButton';
|
import updateQis from '@salesforce/apex/QISReportController.updateQisWithOCM';
|
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 lexOCMSubmit extends LightningElement {
|
@api recordId;
|
IsLoading = true;
|
qisReportId;
|
QISInstallDate;
|
qisStatus;
|
contractnumber;
|
isaohuiproduct;
|
// WYL 贸易合规2 start
|
hosTradeComplianceStatus;
|
ProductCompliance;
|
HospitalN;
|
Asset_Model_No;
|
state;
|
// WYL 贸易合规2 end
|
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.QISInstallDate = result.qISInstallDate;
|
this.contractnumber = result.contractnumber;
|
this.isaohuiproduct = result.isaohuiproduct;
|
// WYL 贸易合规2 start
|
this.hosTradeComplianceStatus = result.hosTradeComplianceStatus;
|
this.ProductCompliance = result.ProductCompliance;
|
this.HospitalN = result.HospitalN;
|
this.Asset_Model_No = result.Asset_Model_No;
|
this.state = result.state;
|
// WYL 贸易合规2 end
|
if (this.qisStatus!='草案中' && this.qisStatus!='取消') {
|
const evt = new ShowToastEvent({
|
title : '',
|
message: '已经提交',
|
variant: 'error',
|
mode: 'sticky'
|
});
|
this.dispatchEvent(evt);
|
this.dispatchEvent(new CloseActionScreenEvent());
|
return;
|
}else{
|
if (this.qisStatus == '取消') {
|
const evt = new ShowToastEvent({
|
title : '',
|
message: '取消后的QIS不允许再提交,如果需要提交请点击\"复制\"按钮重新生成一个QIS',
|
variant: 'error',
|
mode: 'sticky'
|
});
|
this.dispatchEvent(evt);
|
this.dispatchEvent(new CloseActionScreenEvent());
|
return;
|
}
|
}
|
|
if (this.QISInstallDate == null) {
|
const evt = new ShowToastEvent({
|
title : '',
|
message: '【购买日期/安装日期】为空时不能提交申请',
|
variant: 'error',
|
mode: 'sticky'
|
});
|
this.dispatchEvent(evt);
|
this.dispatchEvent(new CloseActionScreenEvent());
|
return;
|
}
|
if (this.contractnumber == null) {
|
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',
|
state:this.state
|
})
|
.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;
|
}
|
|
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.updateQisSubmit();
|
if (this.isaohuiproduct) {
|
this.dispatchEvent(new CloseActionScreenEvent());
|
}
|
}else{
|
this.dispatchEvent(new CloseActionScreenEvent());
|
return;
|
}
|
});
|
}else{
|
this.dispatchEvent(new CloseActionScreenEvent());
|
return;
|
}
|
});
|
console.info('发送邮件');
|
accSendEmailFW({
|
accname:this.HospitalN,
|
mcid:this.recordId,
|
type:'3',
|
state:this.state,
|
Asset_Model_No:this.Asset_Model_No
|
})
|
.then(result=>{
|
return;
|
}).catch(err=>{
|
console.log('邮件错误'+error);
|
})
|
return;
|
}else{
|
LightningConfirm.open({
|
message: '一旦提交此记录以待批准,根据您的设置您可能不再能够编辑此记录或将他从批准过程中调回。是否继续?',
|
variant: 'headerless',
|
label: 'this is the aria-label value',
|
}).then(res=>{
|
if(res) {
|
this.updateQisSubmit();
|
if (this.isaohuiproduct) {
|
this.dispatchEvent(new CloseActionScreenEvent());
|
}
|
}else{
|
this.dispatchEvent(new CloseActionScreenEvent());
|
return;
|
}
|
});
|
}
|
// WYL 贸易合规2期 end
|
// LightningConfirm.open({
|
// message: '一旦提交此记录以待批准,根据您的设置您可能不再能够编辑此记录或将他从批准过程中调回。是否继续?',
|
// variant: 'headerless',
|
// label: 'this is the aria-label value',
|
// }).then(res=>{
|
// if(res) {
|
// this.updateQisSubmit();
|
// if (this.isaohuiproduct) {
|
// this.dispatchEvent(new CloseActionScreenEvent());
|
// }
|
// }else{
|
// this.dispatchEvent(new CloseActionScreenEvent());
|
// return;
|
// }
|
// });
|
}).catch(error => {
|
console.log('error='+error);
|
}).finally(() => {
|
|
});
|
}
|
updateQisSubmit(){
|
updateQis({
|
recordId: this.recordId
|
}).then(result =>{
|
console.log('result'+result);
|
if (result!='成功') {
|
this.err = result;
|
const evt = new ShowToastEvent({
|
title : '',
|
message: '更新失败:'+this.err,
|
variant: 'error',
|
mode: 'sticky'
|
});
|
this.dispatchEvent(evt);
|
updateRecord({fields: { Id: this.recordId }});
|
}
|
this.dispatchEvent(new CloseActionScreenEvent());
|
updateRecord({fields: { Id: this.recordId }});
|
}).catch(error => {
|
console.log('error='+error);
|
}).finally(() => {
|
|
});
|
}
|
}
|