import {
|
LightningElement,
|
wire,
|
api
|
} from 'lwc';
|
import {
|
CurrentPageReference
|
} from "lightning/navigation";
|
import {
|
CloseActionScreenEvent
|
} from 'lightning/actions';
|
import init from '@salesforce/apex/buttonAccountCtl.init';
|
import {
|
NavigationMixin
|
} from 'lightning/navigation';
|
import {
|
encodeDefaultFieldValues
|
} from 'lightning/pageReferenceUtils';
|
import LightningConfirm from 'lightning/confirm';
|
import TradeComplianceStatusFlagFW from '@salesforce/label/c.TradeComplianceStatusFlagFW';
|
import IFTradeComplianceAlert from '@salesforce/label/c.IFTradeComplianceAlert';
|
import { ShowToastEvent } from 'lightning/platformShowToastEvent';
|
import lwcCSS from '@salesforce/resourceUrl/lwcCSS';
|
import {loadStyle} from 'lightning/platformResourceLoader';
|
import accSendEmailFW from '@salesforce/apex/OpportunityWebService.accSendEmailFW';
|
|
|
export default class lexCreateNewServiceContract extends NavigationMixin(LightningElement) {
|
@api recordId;
|
str;
|
IsLoading = true;
|
Id;
|
HospitalC;
|
HospitalIdC;
|
DepartmentClassC;
|
DepartmentClassIdC;
|
Name;
|
recordTypeId;
|
a=IFTradeComplianceAlert;
|
b=TradeComplianceStatusFlagFW;
|
IFTradeComplianceIntercept;
|
|
@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)
|
]);
|
console.log(this.recordId);
|
init({
|
recordId: this.recordId
|
}).then(result => {
|
console.log(result);
|
debugger;
|
if (result != null) {
|
|
this.IsLoading = false;
|
this.Id = result.Id;
|
this.HospitalC = result.HospitalC == undefined ? "" : result.HospitalC;;
|
this.HospitalIdC = result.HospitalIdC == undefined ? "" : result.HospitalIdC;;
|
this.DepartmentClassC = result.DepartmentClassC == undefined ? "" : result.DepartmentClassC;;
|
this.DepartmentClassIdC = result.DepartmentClassIdC == undefined ? "" : result.DepartmentClassIdC;;
|
this.Name = result.Name;
|
this.recordTypeId = result.recordTypeId;
|
this.IFTradeComplianceIntercept = result.IFTradeComplianceIntercept;
|
this.invid();
|
// this.CreateNewServiceContract();
|
// this.dispatchEvent(new CloseActionScreenEvent());
|
}
|
}).catch(error => {
|
console.log(error);
|
})
|
}
|
|
// 新建新服务合同
|
CreateNewServiceContract() {
|
console.log('执行CreateNewServiceContract');
|
const url = encodeDefaultFieldValues({
|
Hospital__c: this.HospitalC,
|
Department_Class__c: this.DepartmentClassC,
|
Department__c: this.Id,
|
// RecordType:'01210000000gTYq'
|
});
|
console.log(url);
|
|
this[NavigationMixin.Navigate]({
|
type: 'standard__objectPage',
|
attributes: {
|
objectApiName: 'Maintenance_Contract__c',
|
actionName: 'new'
|
},
|
state: {
|
nooverride: '1',
|
defaultFieldValues: url,
|
recordTypeId:this.recordTypeId
|
}
|
});
|
this.dispatchEvent(new CloseActionScreenEvent());
|
|
|
}
|
invid() {
|
console.log('执行invid');
|
var oppflag = false;
|
if(this.b == 'true') {
|
if(this.IFTradeComplianceIntercept=='intercept'){
|
const evt = new ShowToastEvent({
|
title : '您所选择的医院存在贸易合规风险,无法签订服务合同,建议您向客户做好不签约说明,'+this.a,
|
message: '',
|
variant: 'error',
|
mode: 'sticky'
|
});
|
oppflag=true;
|
this.dispatchEvent(evt);
|
this.dispatchEvent(new CloseActionScreenEvent());
|
}
|
//20231211 sx 贸易合规二期注释 start
|
// else if(this.IFTradeComplianceIntercept=='WarningList'){
|
// LightningConfirm.open({
|
// // message: '您所选择的医院和经销商存在贸易合规警示风险,不建议签订服务合同,请您确认是否继续申请,'+this.a,
|
// message:'您此次申请的业务可能存在贸易合规风险,请联系法务本部贸易合规窗口恽李娜进一步评估(一般需5-10个工作日)',
|
// variant: 'headerless',
|
// label: 'this is the aria-label value',
|
|
// }).then(cancel=>{
|
// if(cancel) {
|
// this.CreateNewServiceContract();
|
// } else {
|
// this.IsLoading=false;
|
// this.dispatchEvent(new CloseActionScreenEvent());
|
// return;
|
// }
|
// });
|
// }
|
//20231211 sx 贸易合规二期注释 end
|
else{
|
this.CreateNewServiceContract();
|
}
|
console.log('oppflag=='+oppflag);
|
if(oppflag){
|
var FSEStr1 = new Array();
|
accSendEmailFW({
|
AccDealerBlacklist:this.IFTradeComplianceIntercept,
|
accname:this.Name,
|
angency:'',
|
mcid:this.recordId,
|
sendalert:'Main_Con',
|
FSEStr:FSEStr1
|
})
|
.then(result=>{
|
return;
|
}).catch(err=>{
|
console.log(error);
|
})
|
}
|
} else {
|
this.CreateNewServiceContract();
|
}
|
|
}
|
}
|
|
/*{!RequireScript("/soap/ajax/51.0/connection.js")}
|
{!RequireScript("/soap/ajax/51.0/apex.js")}
|
{!RequireScript("/resource/CommonUtilJs")}
|
var foo = function() {
|
//贸易合规 you
|
//拦截+邮件提醒
|
var FSEStr = new Array();
|
var angency = '';//不涉及经销商
|
var accname = '{!Account.Hospital__c}';
|
var mcid = '{!Account.Id}';
|
var TradeComplianceStatusFlagFW = "{!$Label.TradeComplianceStatusFlagFW}";//贸易合规开关
|
var IFTradeComplianceAlert = "{!$Label.IFTradeComplianceAlert}";//贸易合规提醒
|
if(TradeComplianceStatusFlagFW=='true'){
|
var oppflag=false;
|
var sql = "select id,IFTradeComplianceIntercept__c from Account where id ='{!Account.HospitalId__c}'";//只有科室上有此按钮,所以不涉及经销商
|
var sqlResult = sforce.connection.query(sql);
|
var records = sqlResult.getArray("records");
|
if(null!=records && records.length>0){
|
var AccDealerBlacklist = records[0].IFTradeComplianceIntercept__c;//判断客户/经销商是否为黑名单
|
if(AccDealerBlacklist=='intercept'){
|
alert('您所选择的医院存在贸易合规风险,无法签订服务合同,建议您向客户做好不签约说明,'+IFTradeComplianceAlert);
|
oppflag=true;
|
}
|
if(AccDealerBlacklist=='WarningList'){
|
if(!confirm('您所选择的医院存在贸易合规警示风险,不建议签订服务合同,请您确认是否继续申请,'+IFTradeComplianceAlert)){
|
return;
|
}
|
}
|
if(oppflag){
|
var opprtn = sforce.apex.execute("OpportunityWebService", "accSendEmailFW",{"AccDealerBlacklist":AccDealerBlacklist,"accname":accname,"angency":angency,"mcid":mcid,"sendalert":"Main_Con","FSEStr":FSEStr});
|
if (opprtn = true) {
|
return;
|
}
|
}
|
}
|
}
|
|
//贸易合规 you
|
|
var Hospital = '{!URLENCODE(Account.Hospital__c)}';
|
var Hospitalid = '{!URLENCODE(Account.HospitalId__c)}';
|
var Department = '{!URLENCODE(Account.Department_Class__c)}';
|
var Departmentid = '{!URLENCODE(Account.Department_ClassId__c)}';
|
var accountname = '{!URLENCODE(Account.Name)}';
|
var accountid = '{!URLENCODE(Account.Id)}';
|
|
|
var url = '/a0H/e?CF00N10000002Dx56=' + Hospital +'&CF00N10000002Dx56_lkid='
|
+ Hospitalid + '&CF00N10000002Dx4p=' + Department + '&CF00N10000002Dx4p_lkid='
|
+ Departmentid + '&CF00N10000002Dx4q=' + accountname + '&CF00N10000002Dx4q_lkid='
|
+ accountid + '&RecordType=01210000000gTYq';
|
window.open(url);
|
|
}
|
|
foo();*/
|