/*
|
* @Description:
|
* @version:
|
* @Author: chen jing wu
|
* @Date: 2023-04-12 14:51:44
|
* @LastEditors: chen jing wu
|
* @LastEditTime: 2023-11-07 11:43:00
|
*/
|
import { api, wire,LightningElement } from 'lwc';
|
import { CurrentPageReference } from "lightning/navigation";
|
import { CloseActionScreenEvent } from 'lightning/actions';
|
import init from '@salesforce/apex/OpportunityLightingButtonController.initForAgencyAuthorizeButton';
|
import updateForAgencyAuthorizeButton from '@salesforce/apex/OpportunityLightingButtonController.updateForAgencyAuthorizeButton';
|
import { updateRecord } from 'lightning/uiRecordApi';
|
import { ShowToastEvent } from 'lightning/platformShowToastEvent';
|
import checkDangerItem from '@salesforce/apex/OpportunityWebService.checkDangerItem';
|
import accSendEmail from '@salesforce/apex/OpportunityWebService.accSendEmail';
|
import oppCheck from '@salesforce/apex/OpportunityWebService.oppCheck';
|
import updReg from '@salesforce/apex/OpportunityWebService.updReg';
|
import TradeComplianceStatusFlag from '@salesforce/label/c.TradeComplianceStatusFlag';
|
import IFTradeComplianceAlert from '@salesforce/label/c.IFTradeComplianceAlert';
|
import IFTradeComplianceAlert2 from '@salesforce/label/c.IFTradeComplianceAlert2'; //zzm 贸易合规2期 20231124 add
|
import lidongFengId from '@salesforce/label/c.lidongFengId'; //zzm 贸易合规2期 20240124 add
|
import proTradeComplianceSendEmail from '@salesforce/apex/LexContractAuthorizeController.proTradeComplianceSendEmail';//zzm 贸易合规2期 20231218 add
|
import LightningConfirm from 'lightning/confirm';
|
import lwcCSS from '@salesforce/resourceUrl/lwcCSS';
|
import {loadStyle} from 'lightning/platformResourceLoader';
|
import queryQuote from '@salesforce/apex/OpportunityLightingButtonController.queryQuote';
|
|
export default class LexAgencyAuthorize extends LightningElement {
|
@api recordId;
|
agency1Id;
|
stageName;
|
sapSendOK;
|
oppOrderType;
|
ifHave170;
|
ifHaveAH;
|
cntLostCancelDraft;
|
cntLostCancelReport;
|
estimationId;
|
detailNum;
|
estimationDecision;
|
salesRoot;
|
acecideCntCheck;
|
ifSubmit;
|
trade;
|
isCorrosion;
|
profileId;
|
ifAuthorizingLock;
|
systemProfileId;
|
j3ProfileId;
|
s61ProfileId;
|
s62ProfileId;
|
m4ProfileId;
|
AccDealerBlacklist;
|
angency1;
|
angency2;
|
accname;
|
ownerids;
|
ddid;
|
|
//zzm 贸易合规2期 20231120 add start
|
tradeComplianceStatus;
|
proTradeComplianceStatus;
|
latestQuoteAllPoducts;
|
|
//zzm 贸易合规2期 20231120 add end
|
|
IsLoading = true;
|
@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=>{
|
console.log(result);
|
this.agency1Id = result.agency1Id;
|
this.stageName = result.stageName;
|
this.sapSendOK = result.sapSendOK;
|
this.oppOrderType = result.oppOrderType;
|
this.ifHave170 = result.ifHave170;
|
this.ifHaveAH = result.ifHaveAH;
|
this.cntLostCancelDraft = result.cntLostCancelDraft;
|
this.cntLostCancelReport = result.cntLostCancelReport;
|
this.estimationId = result.estimationId;
|
this.detailNum = result.detailNum;
|
this.estimationDecision = result.estimationDecision;
|
this.salesRoot = result.salesRoot;
|
this.acecideCntCheck = result.acecideCntCheck;
|
this.ifSubmit = result.ifSubmit;
|
this.trade = result.trade;
|
this.isCorrosion = result.isCorrosion;
|
this.profileId = result.profileId;
|
this.ifAuthorizingLock = result.ifAuthorizingLock;
|
this.systemProfileId = result.systemProfileId;
|
this.j3ProfileId = result.j3ProfileId;
|
this.s61ProfileId = result.s61ProfileId;
|
this.s62ProfileId = result.s62ProfileId;
|
this.m4ProfileId = result.m4ProfileId;
|
this.AccDealerBlacklist = result.AccDealerBlacklist;
|
this.angency1 = result.angency1;
|
this.angency2 = result.angency2;
|
this.accname = result.accname;
|
this.ownerids = result.ownerids;
|
this.ddid = result.ddid;
|
|
//zzm 贸易合规2期 20231120 add start
|
this.tradeComplianceStatus = result.tradeComplianceStatus;
|
this.proTradeComplianceStatus = result.proTradeComplianceStatus;
|
this.latestQuoteAllPoducts = result.proTradeComplianceStatus;
|
//zzm 贸易合规2期 20231120 add end
|
console.log("w");
|
this.AgencyAuthorize();
|
}).catch(error=>{
|
console.log("error");
|
console.log(error);
|
});
|
}
|
AgencyAuthorize(){
|
var btns = document.getElementsByName("agency_authorize");
|
for (var i=0; i<btns.length; i++) {
|
btns[i].disabled = true;
|
btns[i].className = 'btnDisabled';
|
}
|
//2021-10-21 gwy 版本更改为51.0
|
var oppid = this.recordId;
|
var angency = this.agency1Id;
|
var profileId = this.profileId;
|
this.detailNum = 1;
|
if (profileId != this.systemProfileId && profileId != this.j3ProfileId && profileId != this.s61ProfileId && profileId != this.s62ProfileId && profileId != this.m4ProfileId) {
|
this.showToast("您没有授权申请的权限。请联系系统管理员。","error");
|
return;
|
}
|
queryQuote({
|
estimationId: this.estimationId
|
}).then(result=>{
|
console.log(result);
|
if(result == true){
|
this.showToast("包含虚拟产品,不能授权,请更新报价单后申请","error");
|
return;
|
}
|
//贸易合规 you
|
var AccDealerBlacklist = this.AccDealerBlacklist;//判断客户/经销商是否为黑名单
|
var angency1 = this.angency1;
|
var angency2 = this.angency2;
|
var accname = this.accname;
|
var ownerids = this.ownerids;
|
var ddid = this.ddid;
|
if(TradeComplianceStatusFlag=='true'){
|
//拦截+邮件提醒
|
var oppflag=false;
|
//zzm 贸易合规2期 2024011 start
|
/*if (AccDealerBlacklist=='123') {
|
// alert('客户,经销商1,经销商2都为黑名单,不能做授权申请,'+IFTradeComplianceAlert);
|
this.showToast('客户,经销商1,经销商2都为黑名单,不能做授权申请,'+IFTradeComplianceAlert,'error');
|
oppflag=true;
|
|
}else if(AccDealerBlacklist=='12'){
|
// alert('客户,经销商1都为黑名单,不能做授权申请,'+IFTradeComplianceAlert);
|
this.showToast('客户,经销商1都为黑名单,不能做授权申请,'+IFTradeComplianceAlert,'error');
|
oppflag=true;
|
}else if(AccDealerBlacklist=='23'){
|
// alert('经销商1,经销商2都为黑名单,不能做授权申请,'+IFTradeComplianceAlert);
|
this.showToast('经销商1,经销商2都为黑名单,不能做授权申请,'+IFTradeComplianceAlert,'error');
|
oppflag=true;
|
}else if(AccDealerBlacklist=='13'){
|
// alert('客户,经销商2都为黑名单,不能做授权申请,'+IFTradeComplianceAlert);
|
this.showToast('客户,经销商2都为黑名单,不能做授权申请,'+IFTradeComplianceAlert,'error');
|
oppflag=true;
|
}else if(AccDealerBlacklist=='1'){
|
// alert('客户为黑名单,不能做授权申请,'+IFTradeComplianceAlert);
|
this.showToast('客户为黑名单,不能做授权申请,'+IFTradeComplianceAlert,'error');
|
oppflag=true;
|
}else if(AccDealerBlacklist=='2'){
|
// alert('经销商1为黑名单,不能做授权申请,'+IFTradeComplianceAlert);
|
this.showToast('经销商1为黑名单,不能做授权申请,'+IFTradeComplianceAlert,'error');
|
oppflag=true;
|
}else if(AccDealerBlacklist=='3'){
|
// alert('经销商2为黑名单,不能做授权申请,'+IFTradeComplianceAlert);
|
this.showToast('经销商2为黑名单,不能做授权申请,'+IFTradeComplianceAlert,'error');
|
oppflag=true;
|
}*/
|
if (AccDealerBlacklist=='123'
|
|| AccDealerBlacklist=='12'
|
|| AccDealerBlacklist=='23'
|
|| AccDealerBlacklist=='13'
|
|| AccDealerBlacklist=='1'
|
|| AccDealerBlacklist=='2'
|
|| AccDealerBlacklist=='3'
|
|
) {
|
this.showToast('医院或经销商存在贸易合规风险,无法做授权申请,'+IFTradeComplianceAlert,'error');
|
oppflag=true;
|
}
|
if (AccDealerBlacklist=='890'
|
|| AccDealerBlacklist=='89'
|
|| AccDealerBlacklist=='80'
|
|| AccDealerBlacklist=='90'
|
|| AccDealerBlacklist=='8'
|
|| AccDealerBlacklist=='9'
|
|| AccDealerBlacklist=='0'
|
|
) {
|
this.showToast('医院或经销商可能存在贸易合规风险,目前正在评估中(一般需5-10个工作日),暂时无法做授权申请,'+IFTradeComplianceAlert,'error');
|
oppflag=true;
|
}
|
//zzm 贸易合规2期 2024011 end
|
console.log('y');
|
console.log(oppflag);
|
if(oppflag){
|
accSendEmail({
|
"AccDealerBlacklist":AccDealerBlacklist,
|
"accname":accname,
|
"angency1":angency1,
|
"angency2":angency2,
|
"ownerids":ownerids,
|
"ddid":ddid,
|
"oppid":oppid,
|
'lidongFengId':lidongFengId
|
}).then(result=>{
|
console.log('q');
|
var opprtn = result;
|
if (opprtn == true) {
|
return;
|
}
|
//zzm 贸易合规2期 20231124 add start
|
//警示提醒
|
// if (AccDealerBlacklist=='567') {
|
// this.handleConfirmClick('您所选择的客户,经销商1,经销商2存在贸易合规警示风险,不建议做授权申请,请您确认是否继续申请,'+IFTradeComplianceAlert);
|
// }else if(AccDealerBlacklist=='56'){
|
// this.handleConfirmClick('您所选择的客户,经销商1存在贸易合规警示风险,不建议做授权申请,请您确认是否继续申请,'+IFTradeComplianceAlert);
|
// }else if(AccDealerBlacklist=='67'){
|
// this.handleConfirmClick('您所选择的经销商1,经销商2存在贸易合规警示风险,不建议做授权申请,请您确认是否继续申请,'+IFTradeComplianceAlert);
|
// }else if(AccDealerBlacklist=='57'){
|
// this.handleConfirmClick('您所选择的客户,经销商2存在贸易合规警示风险,不建议做授权申请,请您确认是否继续申请,'+IFTradeComplianceAlert);
|
// }else if(AccDealerBlacklist=='5'){
|
// this.handleConfirmClick('您所选择的客户存在贸易合规警示风险,不建议做授权申请,请您确认是否继续申请,'+IFTradeComplianceAlert);
|
// }else if(AccDealerBlacklist=='6'){
|
// this.handleConfirmClick('您所选择的经销商1存在贸易合规警示风险,不建议做授权申请,请您确认是否继续申请,'+IFTradeComplianceAlert);
|
// }else if(AccDealerBlacklist=='7'){
|
// this.handleConfirmClick('您所选择的经销商2存在贸易合规警示风险,不建议做授权申请,请您确认是否继续申请,'+IFTradeComplianceAlert);
|
// }
|
|
// if((AccDealerBlacklist=='567'
|
// || AccDealerBlacklist=='56'
|
// ||AccDealerBlacklist=='67'
|
// ||AccDealerBlacklist=='57'
|
// ||AccDealerBlacklist=='5'
|
// ||AccDealerBlacklist=='6'
|
// ||AccDealerBlacklist=='7')&& this.proTradeComplianceStatus =='0'){
|
// this.handleConfirmClick('您所选择的客户/经销商和最新报价里的产品,存在贸易合规警示风险,不建议做授权申请,请您确认是否继续申请,'+IFTradeComplianceAlert2+'(一般需5-10个工作日)。');
|
// }
|
//zzm 贸易合规2期 20231120 add end
|
});
|
}else{
|
//zzm 贸易合规2期 20231120 add start
|
//警示提醒
|
// if (AccDealerBlacklist=='567') {
|
// this.handleConfirmClick('您所选择的客户,经销商1,经销商2存在贸易合规警示风险,不建议做授权申请,请您确认是否继续申请,'+IFTradeComplianceAlert);
|
// }else if(AccDealerBlacklist=='56'){
|
// this.handleConfirmClick('您所选择的客户,经销商1存在贸易合规警示风险,不建议做授权申请,请您确认是否继续申请,'+IFTradeComplianceAlert);
|
// }else if(AccDealerBlacklist=='67'){
|
// this.handleConfirmClick('您所选择的经销商1,经销商2存在贸易合规警示风险,不建议做授权申请,请您确认是否继续申请,'+IFTradeComplianceAlert);
|
// }else if(AccDealerBlacklist=='57'){
|
// this.handleConfirmClick('您所选择的客户,经销商2存在贸易合规警示风险,不建议做授权申请,请您确认是否继续申请,'+IFTradeComplianceAlert);
|
// }else if(AccDealerBlacklist=='5'){
|
// this.handleConfirmClick('您所选择的客户存在贸易合规警示风险,不建议做授权申请,请您确认是否继续申请,'+IFTradeComplianceAlert);
|
// }else if(AccDealerBlacklist=='6'){
|
// this.handleConfirmClick('您所选择的经销商1存在贸易合规警示风险,不建议做授权申请,请您确认是否继续申请,'+IFTradeComplianceAlert);
|
// }else if(AccDealerBlacklist=='7'){
|
// this.handleConfirmClick('您所选择的经销商2存在贸易合规警示风险,不建议做授权申请,请您确认是否继续申请,'+IFTradeComplianceAlert);
|
// }
|
|
|
// if((AccDealerBlacklist=='567'
|
// || AccDealerBlacklist=='56'
|
// ||AccDealerBlacklist=='67'
|
// ||AccDealerBlacklist=='57'
|
// ||AccDealerBlacklist=='5'
|
// ||AccDealerBlacklist=='6'
|
// ||AccDealerBlacklist=='7')&& this.proTradeComplianceStatus =='0'){
|
// this.handleConfirmClick('您所选择的客户/经销商和最新报价里的产品,存在贸易合规警示风险,不建议做授权申请,请您确认是否继续申请,'+IFTradeComplianceAlert2+'(一般需5-10个工作日)。');
|
// }
|
//zzm 贸易合规2期 20231120 add end
|
|
// else{
|
this.ss();
|
// }
|
|
}
|
}else{
|
this.ss();
|
}
|
//贸易合规 you
|
});
|
|
|
|
}
|
ss(){
|
if (this.stageName != '引合' && this.stageName != '询价' ) {
|
this.showToast("状态1:" + this.stageName + "、不能做授权申请!","error");
|
return;
|
} else if (this.sapSendOK == '1') {
|
this.showToast("已经上传SAP、不能做授权申请了!","error");
|
return;
|
} else if (this.oppOrderType != undefined && this.ifHave170 == true) {
|
this.showToast("耗材不可与170产品同时存在!","error");
|
return;
|
} else if (this.oppOrderType != undefined && this.ifHaveAH == true) {
|
this.showToast("耗材不可与奥辉产品同时存在!","error");
|
return;
|
} else if (this.cntLostCancelDraft > 0) {
|
// if(!confirm('询价有草案中的取消/失单报告,是否继续?')){
|
// this.dispatchEvent(new CloseActionScreenEvent());
|
// return ;
|
// }
|
this.handleConfirmClick1("询价有草案中的取消/失单报告,是否继续?");
|
} else if (this.cntLostCancelReport - this.cntLostCancelDraft > 0) {
|
this.showToast('询价有已提交的取消/失单报告。',"error");
|
return;
|
} else if (this.estimationId == undefined || this.detailNum == 0) {
|
this.showToast('报价未完成,请先报价。',"error");
|
return;
|
} else if (this.estimationDecision == '1') {
|
this.showToast('报价已决定,不能进行授权申请。',"error");
|
return;
|
} else if (this.salesRoot != '販売店') {
|
this.showToast('医院直销不需要授权申请。',"error");
|
return;
|
}else if (this.ifSubmit == '1') {
|
this.showToast('上传失败,请联系系统管理员!',"error");
|
return;
|
}else{
|
this.dd();
|
}
|
|
}
|
|
async dd(){
|
if (this.ifAuthorizingLock == true) {
|
this.showToast('询价正在授权中,请不要重复提交。',"error");
|
return;
|
}
|
//zzm 贸易合规2期 20231220 add start
|
//警示提醒
|
|
if(TradeComplianceStatusFlag=='true' && (this.AccDealerBlacklist=='567'
|
|| this.AccDealerBlacklist=='56'
|
||this.AccDealerBlacklist=='67'
|
||this.AccDealerBlacklist=='57'
|
||this.AccDealerBlacklist=='5'
|
||this.AccDealerBlacklist=='6'
|
||this.AccDealerBlacklist=='7')&& this.proTradeComplianceStatus =='0'){
|
let warmingEmailRes = await proTradeComplianceSendEmail({oppid:this.recordId,btnType:'授权申请'});
|
if(warmingEmailRes == false || warmingEmailRes =='false') {
|
return;
|
}
|
let result = await LightningConfirm.open({
|
message: '您所选择的客户/经销商和最新报价里的产品,存在贸易合规警示风险,不建议做授权申请,请您确认是否继续申请,'+IFTradeComplianceAlert2+'(一般需5-10个工作日)。',
|
variant: 'headerless',
|
label: '提示信息',
|
// setting theme would have no effect
|
});
|
if (result==false) {
|
this.dispatchEvent(new CloseActionScreenEvent());
|
return;
|
}
|
}
|
//zzm 贸易合规2期 20231220 add end
|
|
if (this.trade == '内貿') {
|
if(this.isCorrosion == '1'){
|
checkDangerItem({
|
agency1: this.agency1Id
|
}).then(result=>{
|
var rtn1 = result;
|
if (rtn1 != 'OK') {
|
this.showToast(rtn1,"error");
|
return;
|
}
|
this.update();
|
});
|
}else{
|
oppCheck({
|
oppid: this.recordId,
|
saveFlg: '1'
|
}).then(result=>{
|
var rtn = result;
|
if (rtn != 'OK') {
|
this.showToast(rtn,"error");
|
return;
|
}
|
this.update();
|
})
|
}
|
} else {
|
updReg({
|
oppid: this.recordId
|
}).then(()=>{
|
this.update();
|
});
|
}
|
}
|
async handleConfirmClick(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 handleConfirmClick1(msg) {
|
const result = await LightningConfirm.open({
|
message: msg,
|
variant: 'headerless',
|
label: 'this is the aria-label value'
|
});
|
if (result) {
|
this.dd();
|
} else {
|
this.dispatchEvent(new CloseActionScreenEvent());
|
}
|
}
|
showToast(msg,type) {
|
if(type == 'success'){
|
const event = new ShowToastEvent({
|
message: msg,
|
variant: type,
|
});
|
this.dispatchEvent(event);
|
this.dispatchEvent(new CloseActionScreenEvent());
|
}else{
|
const event = new ShowToastEvent({
|
message: msg,
|
variant: type,
|
mode: 'sticky'
|
});
|
this.dispatchEvent(event);
|
this.dispatchEvent(new CloseActionScreenEvent());
|
}
|
}
|
updateRecordView(recordId) {
|
updateRecord({fields: { Id: recordId }});
|
}
|
update(){
|
updateForAgencyAuthorizeButton({
|
recordId: this.recordId
|
}).then(result=>{
|
if(result){
|
this.showToast(result,"error");
|
}else{
|
this.updateRecordView(this.recordId);
|
window.open("https://olympus.sharepoint.cn/sites/GSPWF/SitePages/HomePage.aspx");
|
this.showToast('提交成功。请在SPO系统中完成授权申请。',"success");
|
}
|
this.IsLoading = false;
|
})
|
}
|
}
|