/* * @Description: * @version: * @Author: chen jing wu * @Date: 2023-04-12 14:51:44 * @LastEditors: chen jing wu * @LastEditTime: 2023-09-05 15:47:38 */ 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 LightningConfirm from 'lightning/confirm'; 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; 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(){ 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; 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('q'); var opprtn = result; if (opprtn = true) { return; } //警示提醒 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); } }); }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 ; } } 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; } if (this.ifAuthorizingLock == true) { this.showToast('询价正在授权中,请不要重复提交。',"error"); return; } 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()); } } showToast(msg,type) { const event = new ShowToastEvent({ title: '', message: msg, variant: type }); 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; }) } }