/* * @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{ 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; }) } }