import { LightningElement,wire,track,api} from 'lwc';
|
import { CurrentPageReference } from "lightning/navigation";
|
import { CloseActionScreenEvent } from 'lightning/actions';
|
import { ShowToastEvent } from 'lightning/platformShowToastEvent';
|
import init from '@salesforce/apex/QISReportController.initForlexSendQISButton';
|
import sendSPO from '@salesforce/apex/QISReportController.updateQisForSendQIS';
|
import LightningConfirm from 'lightning/confirm'; // WYL 贸易合规2期
|
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: 发送QIS到SPO
|
* @Author: hql
|
* @Date: 2023-07-12 09:45:19
|
* @LastEditTime: 2023-07-12 15:44:33
|
* @LastEditors:
|
*/
|
export default class lexSendQIS extends LightningElement {
|
@api recordId;
|
str;
|
err;
|
IsLoading = true;
|
qisReportId;
|
qisRecordTypeId;
|
qisRecordName;
|
ProfileName;
|
IsSendQIS;
|
// WYL 贸易合规2 start
|
hosTradeComplianceStatus;
|
ProductCompliance;
|
HospitalN;
|
Asset_Model_No;
|
state;
|
userEmail;
|
OwnerEmail;
|
// WYL 贸易合规2 end
|
@wire(CurrentPageReference)
|
getStateParameters(currentPageReference) {
|
if (currentPageReference) {
|
const urlValue = currentPageReference.state.recordId;
|
if (urlValue) {
|
let str = `${urlValue}`;
|
this.recordId = str;
|
}
|
}
|
}
|
|
connectedCallback() {
|
console.log(this.recordId);
|
Promise.all([
|
loadStyle(this, lwcCSS)
|
]);
|
init({
|
recordId: this.recordId
|
}).then(result => {
|
console.log(result);
|
this.IsLoading = false;
|
this.qisRecordTypeId = result.qisRecordTypeId;
|
this.qisReportId = result.Id;
|
this.qisRecordName = result.qisRecordName;
|
this.ProfileName = result.profileName;
|
this.IsSendQIS = result.isSendQIS;
|
this.hosTradeComplianceStatus = result.hosTradeComplianceStatus; // WYL 贸易合规2
|
this.ProductCompliance = result.ProductCompliance; // WYL 贸易合规2
|
this.Asset_Model_No = result.Asset_Model_No;// WYL 贸易合规2
|
this.HospitalN = result.HospitalN;// WYL 贸易合规2
|
this.OwnerEmail = result.OwnerEmail;// WYL 贸易合规2
|
this.state = result.state;// WYL 贸易合规2
|
this.userEmail = result.userEmail;// WYL 贸易合规2
|
if (this.qisRecordName == '2.OCSM') {
|
const evt = new ShowToastEvent({
|
title : '',
|
message: '不能提交到SPO记录类型为'+this.qisRecordName,
|
variant: 'error',
|
mode: 'sticky'
|
});
|
this.dispatchEvent(evt);
|
this.dispatchEvent(new CloseActionScreenEvent());
|
return;
|
}
|
|
if (!(this.ProfileName == '系统管理员' || this.ProfileName == '2F4_技术推进部' || this.ProfileName == '2F1_服务窗口')) {
|
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',
|
useremail:this.userEmail,
|
FseEmail :this.OwnerEmail,
|
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) {
|
if (this.IsSendQIS) {
|
const evt = new ShowToastEvent({
|
title : '',
|
message: '已提交到SPO,请不要重复提交',
|
variant: 'error',
|
mode: 'sticky'
|
});
|
this.dispatchEvent(evt);
|
this.dispatchEvent(new CloseActionScreenEvent());
|
return;
|
}
|
this.send2SPO();
|
}else{
|
this.dispatchEvent(new CloseActionScreenEvent());
|
return;
|
}
|
});
|
console.info('发送邮件');
|
accSendEmailFW({
|
accname:this.HospitalN,
|
mcid:this.recordId,
|
type:'6',
|
state:this.state,
|
Asset_Model_No:this.Asset_Model_No
|
})
|
.then(result=>{
|
return;
|
}).catch(err=>{
|
console.log('邮件错误'+error);
|
})
|
}else{
|
if (this.IsSendQIS) {
|
const evt = new ShowToastEvent({
|
title : '',
|
message: '已提交到SPO,请不要重复提交',
|
variant: 'error',
|
mode: 'sticky'
|
});
|
this.dispatchEvent(evt);
|
this.dispatchEvent(new CloseActionScreenEvent());
|
return;
|
}
|
this.send2SPO();
|
}
|
// WYL 贸易合规2期 end
|
}).catch(error => {
|
console.log(error.getMessage());
|
}).finally(() => {
|
|
});
|
}
|
send2SPO(){
|
sendSPO({
|
recordId: this.recordId
|
}).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);
|
this.dispatchEvent(new CloseActionScreenEvent());
|
return;
|
}else{
|
const evt = new ShowToastEvent({
|
title : '',
|
message: '提交成功!请在SPO系统中完成退换货申请',
|
variant: 'success',
|
mode: 'sticky'
|
});
|
this.dispatchEvent(evt);
|
this.dispatchEvent(new CloseActionScreenEvent());
|
window.location.replace("https://olympus.sharepoint.cn/sites/GSPWF/SitePages/HomePage.aspx");
|
}
|
|
}).catch(error => {
|
console.log('error='+error);
|
}).finally(() => {
|
|
});
|
}
|
|
}
|