import {
|
LightningElement,
|
wire,
|
api
|
} from 'lwc';
|
import {
|
CurrentPageReference
|
} from "lightning/navigation";
|
import {
|
CloseActionScreenEvent
|
} from 'lightning/actions';
|
import init from '@salesforce/apex/buttonAssetCtl.init';
|
import selecctRepairByFomatToday from '@salesforce/apex/buttonAssetCtl.selecctRepairByFomatToday';
|
import selecctQISReportrByFomatToday from '@salesforce/apex/buttonAssetCtl.selecctQISReportrByFomatToday';
|
import selectCASE from '@salesforce/apex/buttonAssetCtl.selectCASE';
|
import selectNullvalue from '@salesforce/apex/buttonAssetCtl.selectNullvalue';
|
import LightningConfirm from 'lightning/confirm';
|
import {
|
NavigationMixin
|
} from 'lightning/navigation';
|
import {
|
encodeDefaultFieldValues
|
} from 'lightning/pageReferenceUtils';
|
import {
|
ShowToastEvent
|
} from 'lightning/platformShowToastEvent';
|
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
|
export default class lexCreateQISFromAsset extends NavigationMixin(LightningElement) {
|
@api recordId;
|
str;
|
IsLoading = true;
|
Id;
|
day1;
|
AssetMarkC;
|
AssetOwnerC;
|
InstallDate;
|
PostingDateC;
|
AssetDayC;
|
SerialNumber;
|
OrderNoC;
|
ProductIDC;
|
HospitalId;
|
HospitalC;
|
DepartmentClassId;
|
DepartmentClassC;
|
Name;
|
AccountId;
|
msg;
|
// WYL 贸易合规2期 start
|
ProductCompliance;
|
hosTradeComplianceStatus;
|
HospitalN;
|
Asset_Model_No;
|
state;
|
// WYL 贸易合规2期 end
|
Old_Repair_Name = '';
|
Instration_date_consumable = null;
|
Customer_asset_or_loaner = '';
|
fomatToday;
|
|
@wire(CurrentPageReference)
|
getStateParameters(currentPageReference) {
|
if (currentPageReference) {
|
const urlValue = currentPageReference.state.recordId;
|
if (urlValue) {
|
let str = `${urlValue}`;
|
this.recordId = str;
|
}
|
}
|
}
|
|
connectedCallback() {
|
Promise.all([
|
loadStyle(this, lwcCSS)
|
]);
|
init({
|
recordId: this.recordId
|
}).then(result => {
|
console.log(result);
|
if (result != null) {
|
this.Id = result.Id;
|
this.day1 = result.day1;
|
this.AssetMarkC = result.AssetMarkC;
|
this.AssetOwnerC = result.AssetOwnerC;
|
this.InstallDate = result.InstallDate;
|
this.PostingDateC = result.PostingDateC;
|
this.AssetDayC = result.AssetDayC;
|
this.SerialNumber = result.SerialNumber;
|
this.OrderNoC = result.OrderNoC;
|
this.ProductIDC = result.ProductIDC;
|
this.HospitalId = result.HospitalId;
|
this.HospitalC = result.HospitalC;
|
this.DepartmentClassId = result.DepartmentClassId;
|
this.DepartmentClassC = result.DepartmentClassC;
|
this.Name = result.Name;
|
this.AccountId = result.AccountId;
|
//WYL 贸易合规2期 add 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期 add end
|
this.CreateQISFromAsset();
|
}
|
}).catch(error => {
|
console.log(error);
|
})
|
}
|
|
// 新建授课/考核报告
|
CreateQISFromAsset() {
|
this.fomatToday = this.day1;
|
selecctQISReportrByFomatToday({
|
AssetId: this.Id,
|
fomatToday: this.fomatToday
|
}).then(records => {
|
console.log(records);
|
if (this.AssetMarkC == null || this.AssetMarkC == undefined) {
|
const evt = new ShowToastEvent({
|
title : '',
|
message: '保有设备标记为空,请联系管理员补充。!',
|
variant: 'error',
|
mode: 'sticky'
|
});
|
this.dispatchEvent(evt);
|
this.dispatchEvent(new CloseActionScreenEvent());
|
return;
|
}
|
if (this.hosTradeComplianceStatus =='黑名单') { // WYL 贸易合规2期 start
|
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;
|
// WYL 贸易合规2期 end
|
}else if (this.hosTradeComplianceStatus =='冻结,人工审批中') {
|
// WYL 贸易合规2期 start
|
const evt = new ShowToastEvent({
|
title : '',
|
message: '冻结清单:可能存在贸易合规风险,目前正在评估中(一般需5-10个工作日),暂时无法新建,有问题请联系法务部贸易合规窗口'+IFTradeComplianceAlertName+'。',
|
variant: 'error',
|
mode: 'sticky'
|
});
|
// WYL 贸易合规2期 end
|
this.dispatchEvent(evt);
|
this.dispatchEvent(new CloseActionScreenEvent());
|
return;
|
}
|
if (records.length >= 1) {
|
this.handleConfirmClick01('请确认此件是否属于10天内重复报告,如果是,请使用原QIS里的复制功能重新提交。');
|
} else {
|
this.ss();
|
}
|
})
|
}
|
|
async ss() {
|
selecctRepairByFomatToday({
|
AssetId: this.Id,
|
fomatToday: this.fomatToday
|
}).then(async records2 => {
|
if (this.AssetMarkC == '耗材') {
|
await selectCASE({
|
AssetOwnerC: this.AssetOwnerC
|
}).then(result => {
|
console.log(result+'===============>1');
|
this.Customer_asset_or_loaner = result;
|
|
})
|
|
await selectNullvalue({
|
InstallDate: this.InstallDate,
|
PostingDateC: this.PostingDateC,
|
AssetDayC: this.AssetDayC
|
}).then(result => {
|
console.log(result+'=================>2');
|
this.Instration_date_consumable = result;
|
|
})
|
}
|
if (records2.length >= 1) {
|
this.Old_Repair_Name = records2[0].Name;
|
}
|
if (records2.length >= 1) {
|
this.handleConfirmClick02('请确认此件是否属于10天内重复报告,如果是,需按照原先的维修信息填写。');
|
}else if(this.hosTradeComplianceStatus =='警示名单' && this.ProductCompliance == '0'){// WYL 贸易合规2期 start
|
LightningConfirm.open({
|
message: '您此次申请的业务可能存在贸易合规风险,请联系法务本部贸易合规窗口'+IFTradeComplianceAlertName+'进一步评估(一般需5-10个工作日),请确定是否继续进行下面操作',
|
variant: 'headerless',
|
label: 'this is the aria-label value',
|
}).then(confirm=>{
|
if(confirm){
|
this.ll();
|
}else{
|
this.IsLoading=false;
|
this.dispatchEvent(new CloseActionScreenEvent());
|
return;
|
}
|
})
|
console.info('发送邮件');
|
accSendEmailFW({
|
accname:this.HospitalN,
|
mcid:this.recordId,
|
type:'2',
|
state:this.state,
|
Asset_Model_No:this.Asset_Model_No
|
})
|
.then(result=>{
|
return;
|
}).catch(err=>{
|
console.log('邮件错误'+error);
|
})
|
}// WYL 贸易合规2期 end
|
else {
|
this.ll();
|
}
|
})
|
}
|
|
ll() {
|
console.log(this.Customer_asset_or_loaner+'=================>33');
|
const url = encodeDefaultFieldValues({
|
Name: "*",
|
Hospital__c: this.HospitalId,
|
Department_Class__c: this.DepartmentClassId,
|
nonyushohin__c: this.Id,
|
Generation_Source__c: "保有设备",
|
Lots_No__c: this.SerialNumber,
|
sell__c: this.Customer_asset_or_loaner,
|
Instration_date_consumable__c: this.Instration_date_consumable,
|
consumable__c: this.ProductIDC,
|
contract_number_ET__c: this.OrderNoC,
|
Hospital_Department__c: this.AccountId,
|
Old_Repair_Name__c: this.Old_Repair_Name
|
});
|
this[NavigationMixin.Navigate]({
|
type: 'standard__objectPage',
|
attributes: {
|
objectApiName: 'QIS_Report__c',
|
actionName: 'new'
|
},
|
state: {
|
//2023 08 21 Zhang Heyang PIPL按钮改造 strat
|
//nooverride: '1',
|
//2023 08 21 Zhang Heyang PIPL按钮改造 end
|
defaultFieldValues: url
|
}
|
});
|
this.dispatchEvent(new CloseActionScreenEvent());
|
}
|
|
async handleConfirmClick01(msg) {
|
const result = await LightningConfirm.open({
|
message: msg,
|
variant: 'headerless',
|
label: 'this is the aria-label value'
|
});
|
if (result) {
|
this.ss();
|
} else {
|
this.dispatchEvent(new CloseActionScreenEvent());
|
}
|
}
|
|
async handleConfirmClick02(msg) {
|
const result = await LightningConfirm.open({
|
message: msg,
|
variant: 'headerless',
|
label: 'this is the aria-label value'
|
});
|
if (result) {
|
this.ll();
|
} else {
|
this.dispatchEvent(new CloseActionScreenEvent());
|
}
|
}
|
|
ShowToastEvent(msg, type) {
|
const event = new ShowToastEvent({
|
title: '',
|
message: msg,
|
variant: type,
|
mode: 'sticky'
|
});
|
this.dispatchEvent(event);
|
}
|
|
closeAction() {
|
location.reload();
|
}
|
}
|