| | |
| | | import getModulus from '@salesforce/apex/lexNewQuoteEntryController.getModulus' |
| | | import getquoDes from '@salesforce/apex/lexNewQuoteEntryController.getquoDes' |
| | | import selectOppLItem from '@salesforce/apex/lexNewQuoteEntryController.selectOppLItem' |
| | | import addOptions from '@salesforce/apex/lexNewQuoteEntryController.addOptions' |
| | | import getProduct2 from '@salesforce/apex/NewQuoteEntryWebService.getProduct2'; |
| | | import updateOTCodeweb from '@salesforce/apex/NewQuoteEntryWebService.updateOTCode'; |
| | | import getQuoteLineItem from '@salesforce/apex/NewQuoteEntryWebService.getQuoteLineItem'; |
| | |
| | | import lwcCSS from '@salesforce/resourceUrl/lwcCSS'; |
| | | import {yingYanCheck,qwe,lineDown,lineUp,localParseInt,toNum,initDataTableToBeproductConfig,saveEvoluationLogic,oppInfosave,quoLineItemsave,filterNameoptionList,initDataSetProductTablefig,quoteTotalPriceActionLogic,CheckForCost,actState,tStringe,Agent1comput, |
| | | toNumComma,localParseFloat,NewQcopyLogic,productCompareLogic,bflag,jzProductsearchLogic,additionaljzProductLogic,initDataProductTablefig,checkNMPA,saveQuotel,CheckForListPrice,calGuranteePeriodLogic,EstimationL,checkch, |
| | | additionabuttonLoc,DataStatus,InitializeProductAssignment,PriceStatusUpdateLogic,newQuoteFlagex,calGuranteeAllFieldsLogic,MultiYearWarrantyTotalPriceExport,newQuoteFlagExp,AlertForCFDA,UnitPriceUpdateLogic,nafgExp,flg,errorflgw, |
| | | additionabuttonLoc,DataStatus,InitializeProductAssignment,PriceStatusUpdateLogic,newQuoteFlagex,calGuranteeAllFieldsLogic,MultiYearWarrantyTotalPriceExport,newQuoteFlagExp,AlertForCFDA,UnitPriceUpdateLogic,nafgExp,flg, |
| | | PrintCustomerNameoptionsvlue,selection_hpExp,options_hpflgExp,initquoassignment,initquoassignmentcopy,salesProfit1Logic,salesCalculation1Logic,salesProfit2Logic,salesCalculation2Logic,SubtotalupdateLogic,alfExp,resultFlag, |
| | | productStatusUpdatedExp,initQuoteLineItemcheck,MarkRed,quoteAgencyTotalPriceActionLogic,calPriceAllLogic,QuoteAdjustLogic,quoExp,AgencyDiscountCalculation1Logic,onsaveToBeproductLoc,fagExp,PrintButtonLoc,alertExp,decisionlol, |
| | | saverebackloc,DisCalculationfunctionLoc,quoteTotalPriceLoc,calUnitPriceTotalLoc,ListPriceTotalExp,unitPriceTotalExp,pageArrangeLoc,openQuotePage,errorflg,StrExp,quoteinit,IsQuoteTrialExp,setOCMAmountc,DisAmountfunctionc} from "./lexNexQuoteEntryUtil.js"; |
| | |
| | | QuoteDecision_Button = QuoteDecision_Button; |
| | | @track |
| | | Copy_Detail = Copy_Detail; |
| | | |
| | | @track |
| | | Quote_Print = Quote_Print; |
| | | @track |
| | |
| | | Print_Button = Print_Button; |
| | | @track |
| | | QuotCalfag = false; |
| | | |
| | | quoteEntryMaxLine = QuoteEntryMaxLine2; |
| | | @track |
| | | IsLoading = false; |
| | |
| | | @track |
| | | enableContract; |
| | | productStatusUpdated =false; |
| | | //init查询询价相关标识 end |
| | | //init查询询价相关标识 |
| | | //合同保修期(年)全局 |
| | | quoteGurantee_Period; |
| | | //取消市场多年保修全局 |
| | | quotemultiYearWarranty; |
| | | //经销商初始化时备份 start |
| | | //经销商初始化时备份 |
| | | agency1Name; |
| | | agency2Name; |
| | | Saleslet = false; |
| | | //经销商初始化时备份 end |
| | | //经销商初始化时备份 |
| | | //数据是否发生变化标识 |
| | | newQuoteFlag = false; |
| | | //状态更新 |
| | |
| | | this.displayFlg = true; |
| | | this.WinOrDecideAlert = false; |
| | | this.OnLoading(true); |
| | | if(this.quoId == ''){ |
| | | this.quoId = getQueryVariable('Id',this.location); |
| | | } |
| | | if(this.copyid == ''){ |
| | | this.copyid = getQueryVariable('copyid',this.location); |
| | | } |
| | | if(this.oppId == ''){ |
| | | this.oppId = getQueryVariable('oppid',this.location); |
| | | } |
| | | if(this.quoId==''){ |
| | | this.quoId = getQueryVariable('Id',this.location);} |
| | | if(this.copyid==''){ |
| | | this.copyid = getQueryVariable('copyid',this.location);} |
| | | if(this.oppId==''){ |
| | | this.oppId = getQueryVariable('oppid',this.location);} |
| | | this.nafg = resultFlag(this.nafg,''); |
| | | selectQuoteListLineItemCount({quoId:this.quoId,oppId:this.oppId,copyid:this.copyid}).then(quoteByopp=>{ |
| | | if(this.oppId){ |
| | | if(this.copyid){ |
| | | this.quoId = this.copyid; |
| | | } |
| | | } |
| | | this.quoId = this.copyid;}} |
| | | if(quoteByopp.length > 0){ |
| | | if (!this.oppId) { |
| | | this.oppId = quoteByopp[0].OpportunityId; |
| | |
| | | this.jzDataToBeproduct =[].concat(resItem); |
| | | this.productStatusUpdated = true; |
| | | this.init(); |
| | | } |
| | | }); |
| | | } |
| | | } |
| | | }); |
| | | }});}} }); |
| | | this.trade = '外貿'; |
| | | if(JSON.stringify(oppobj) != "{}"){ |
| | | this.trade = oppobj.Trade__c; |
| | |
| | | this.enableSales = false; |
| | | this.oppInfo.Wholesale_Price__c = toNumComma(oppobj.Wholesale_Price__c); |
| | | if (this.oppInfo.Sales_Root__c != null) { |
| | | if (oppobj.Sales_Root__c == '販売店') { |
| | | if (oppobj.Sales_Root__c=='販売店') { |
| | | this.enableSales = true; |
| | | this.oppInfo.Sales_Root__c = Sales_Outlet; |
| | | this.Saleslet = true; |
| | |
| | | } |
| | | } |
| | | this.accountid = this.oppInfo.AccountId; |
| | | debugger |
| | | if (this.QuoteDecision) { |
| | | this.enableContract = true; |
| | | } else { |
| | |
| | | if (!this.oppInfo.SAP_Send_OK__c) { |
| | | this.displayFlg = true; |
| | | } else { |
| | | if(this.oppInfo.Agency1__r == undefined){ |
| | | if(this.oppInfo.Agency1__r==undefined){ |
| | | this.oppInfo.Agency1__r = {}; |
| | | } |
| | | if(this.oppInfo.Agency2__r == undefined){ |
| | | if(this.oppInfo.Agency2__r==undefined){ |
| | | this.oppInfo.Agency2__r = {}; |
| | | } |
| | | if(this.oppInfo.Account == undefined){ |
| | | if(this.oppInfo.Account==undefined){ |
| | | this.oppInfo.Account = {}; |
| | | }else{ |
| | | if(this.oppInfo.Account.Parent == undefined){ |
| | | if(this.oppInfo.Account.Parent==undefined){ |
| | | this.oppInfo.Account.Parent = {}; |
| | | } |
| | | } |
| | |
| | | } else { |
| | | this.print_buttonflg = false; |
| | | } |
| | | if (this.QuoteDecision == false) { |
| | | if (this.QuoteDecision==false) { |
| | | this.sap_button = true; |
| | | } else if (this.specialAuthority == false) { |
| | | } else if (this.specialAuthority==false) { |
| | | this.sap_button = true; |
| | | } else { |
| | | this.sap_button = false; |
| | |
| | | var quoteLineItem = JSON.parse(tempArr[0]); |
| | | this.CheckItem = JSON.parse(tempArr[1]); |
| | | if(JSON.stringify(quote) != "{}"){ |
| | | if(this.copyid == ''){ |
| | | if(this.copyid==''){ |
| | | this.quo = initquoassignment(quote,this.quo,it); |
| | | this.hidden = this.quo.rtn; |
| | | this.QuotCalfag = (r&&this.hidden); |
| | |
| | | this.QuotCalfag = (r&&it); |
| | | } |
| | | }); |
| | | }); |
| | | |
| | | }); |
| | | }); |
| | | //Add DTT - Hua Jian 20231018 Start |
| | | //Add DTT - Hua Jian |
| | | const inputAlignright = document.createElement('style'); |
| | | inputAlignright .innerText = `.input-text-align_right input{ text-align: right!important; }`; |
| | | document.body.appendChild(inputAlignright); |
| | | //Add DTT - Hua Jian 20231018 End |
| | | //Add DTT - Hua Jian |
| | | } |
| | | pageArrange(){ |
| | | this.quo = pageArrangeLoc(this.quo); |
| | |
| | | this.ifquocom = IsQuoteTrial; |
| | | var s = this.quo.OCM_Agent1_Price_Page__c; |
| | | var id = this.quoId; |
| | | // if(!id){ |
| | | if(!s){ |
| | | var IsQuoteTrial =this.quo.IsQuoteTrial__c; |
| | | if(!IsQuoteTrial){ |
| | |
| | | } |
| | | } |
| | | this.OnLoading(false); |
| | | // } |
| | | } |
| | | calPriceAll() { |
| | | this.calGuranteeAllFields(); |
| | |
| | | this.quoteAgencyTotalPriceAction(); |
| | | this.AgencyDiscountCalculation1(); |
| | | } |
| | | // |
| | | calGuranteeAllFields() { |
| | | this.jzDataToBeproduct = calGuranteeAllFieldsLogic(this.jzDataToBeproduct,this.quo); |
| | | this.jzDataToBeproduct =[].concat(this.jzDataToBeproduct); |
| | |
| | | EstimationListPrice() { |
| | | this.jzDataToBeproduct = EstimationL(this.jzDataToBeproduct,this.quo); |
| | | this.quo = quoExp; |
| | | } |
| | | |
| | | } |
| | | ListPriceTotalhidden = 0; |
| | | UnitPriceTotalhidden = 0; |
| | | calUnitPriceTotal() { |
| | | this.jzDataToBeproduct = calUnitPriceTotalLoc(this.jzDataToBeproduct); |
| | | this.ListPriceTotalhidden = ListPriceTotalExp; |
| | | this.UnitPriceTotalhidden = unitPriceTotalExp; |
| | | } |
| | | |
| | | } |
| | | quoteTotalPrice() { |
| | | var result = quoteTotalPriceLoc(this.jzDataToBeproduct,this.quo,this.quoId,this.oppInfo,this.Saleslet); |
| | | this.quo = quoExp; |
| | | this.jzDataToBeproduct =[].concat(result); |
| | | var id = this.quoId; |
| | | // if(!id){ |
| | | var IsQuoteTrial =this.quo.IsQuoteTrial__c; |
| | | if(!IsQuoteTrial){ |
| | | this.setOCMAmount(); |
| | | this.calFromContactPrice(); |
| | | } |
| | | // } |
| | | this.DisAmountfunction(); |
| | | this.QuoteAdjust(); |
| | | this.salesProfit2(); |
| | |
| | | this.oppInfo = setOCMAmountc(this.enableSales,this.quo,this.oppInfo); |
| | | this.quo = quoExp; |
| | | } |
| | | /* |
| | | 医院的合同金额 格式化为 带分位符的字段; |
| | | */ |
| | | //医院的合同金额 格式化为 带分位符的字段; |
| | | calFromContactPrice() { |
| | | var x = 0; |
| | | x = this.quo.Dealer_Final_Price_Page__c; |
| | |
| | | this.salesProfit2(); |
| | | this.setCostTatal(); |
| | | } |
| | | |
| | | DisAmountfunction() { |
| | | this.quo = DisAmountfunctionc(this.quo); |
| | | this.DisCalculationfunction(); |
| | |
| | | this.quo = quoExp; |
| | | this.salesCalculation2(); |
| | | this.salesProfit1(); |
| | | } |
| | | |
| | | } |
| | | salesCalculation2() { |
| | | this.SalesCalculation2value = salesCalculation2Logic(this.quo,this.Salesprofit2value,this.SalesCalculation2value) |
| | | this.quo = quoExp; |
| | |
| | | this.jzDataToBeproduct = QuoteAdjustLogic(this.jzDataToBeproduct,this.quo,this.hidden_MultiYearWarrantyTotalPrice,this.QuoteDecision_Button); |
| | | this.quo = quoExp; |
| | | this.jzDataToBeproduct =[].concat(this.jzDataToBeproduct); |
| | | } |
| | | |
| | | } |
| | | quoteAgencyTotalPriceAction() { |
| | | this.jzDataToBeproduct = quoteAgencyTotalPriceActionLogic(this.jzDataToBeproduct,this.quo,this.oppInfo,this.QuoteDecision_Button,this.hidden_MultiYearWarrantyTotalPrice); |
| | | this.jzDataToBeproduct =[].concat(this.jzDataToBeproduct); |
| | |
| | | var reslut = productCompareLogic(this.jzDataToBeproduct,id2Product,t,b); |
| | | b = bflag; |
| | | this.jzDataToBeproduct =[].concat(reslut); |
| | | if (b == false) { |
| | | if (b==false) { |
| | | if (window.confirm(Message_001)) { |
| | | this.PriceStatusUpdate(); |
| | | this.OnLoading(false); |
| | |
| | | } catch (e) { |
| | | this.Alert(e,'error'); |
| | | } |
| | | |
| | | } |
| | | //替换产品otcode |
| | | updateOtcode() { |
| | |
| | | setOppFromOppInfo() { |
| | | this.oppInfo.Agency1__c = this.quo.Agency1__c; |
| | | this.oppInfo.Agency2__c = this.quo.Agency2__c; |
| | | } |
| | | |
| | | } |
| | | quoteAgencyTotalPriceAction1(str) { |
| | | var Sales_Root = this.oppInfo.Sales_Root__c; |
| | | Sales_Root = Sales_Root + ''; |
| | | Sales_Root = Sales_Root.replace(/\s+/g, ""); |
| | | if (str == Sales_Root) { |
| | | if (str==Sales_Root) { |
| | | this.quoteAgencyTotalPriceAction(); |
| | | } |
| | | } |
| | |
| | | Agent1Agent2PricePageChange(event){ |
| | | this.quo.Agent1_Agent2_Price_Page__c = event.target.value; |
| | | this.salesProfit2(); |
| | | } |
| | | |
| | | } |
| | | copyToClipboardNewQuoteEntry() { |
| | | var QuoteId = this.quoId; |
| | | if (QuoteId == null || QuoteId == '') { |
| | | if (QuoteId==null || QuoteId=='') { |
| | | this.Alert(Message_Please_Save_Quote,'error'); |
| | | return null; |
| | | } |
| | |
| | | sal(){ |
| | | this.tobeflag=false; |
| | | var shut = AlertForCFDA(this.jzDataToBeproduct); |
| | | if (shut == true) { |
| | | if (shut==true) { |
| | | this.Alert('提示:包含重新申请CFDA的产品,不可进行订货。','error'); |
| | | } |
| | | var cost = CheckForCost(this.jzDataToBeproduct); |
| | |
| | | } |
| | | var SaveQuotecan = saveQuotel(this.quo,this.oppInfo,this.jzDataToBeproduct,this.CheckItem,this.WinOrDecideAlert,this.productStatusUpdated,this.enableSales, |
| | | this.oppId,this.quoId,this.newQuoteFlag,this.changedAfterPrint,this.quoteGurantee_Period,this.quotemultiYearWarranty,this.selection_hp,this.SkipQuotefilg,this.quoteflg,this.agency1Name); |
| | | debugger |
| | | SaveQuote(SaveQuotecan).then(resaut=>{ |
| | | var Setmap = new Map() |
| | | var key = Object.keys(resaut) |
| | |
| | | } |
| | | this.agency1Name =this.quo.Agency1__c; |
| | | if(this.quoteflg){ |
| | | if(Setmap.has('warn')){ |
| | | this.Alert(Setmap.get('warn'),'warning'); |
| | | } |
| | | if(Setmap.has('quoId')){ |
| | | this.quoId = Setmap.get('quoId'); |
| | | this.quo.IsQuoteTrial__c = false; |
| | |
| | | this.quoteGurantee_Period = this.quo.Gurantee_Period__c; |
| | | this.quotemultiYearWarranty = this.quo.multiYearWarranty__c; |
| | | } |
| | | this.pricePolicyflag = true; |
| | | this.index = 3; |
| | | this.quoteTrialInit(); |
| | | }else{ |
| | | if(Setmap.has('warn')){ |
| | | this.Alert(Setmap.get('warn'),'warning'); |
| | |
| | | this.connectedCallback(); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | this.nafg = resultFlag(this.nafg,Setmap); |
| | | if(er){ |
| | |
| | | ParamIdStr: this.quoId |
| | | }).then(result => { |
| | | result.forEach(item => { |
| | | if (item.ismatch__c == "0") { |
| | | if (item.ismatch__c=="0") { |
| | | item = ProductAssignmentSelect(item); |
| | | this.OnLoadProduct.push(item); |
| | | } else if (item.ismatch__c == "1") { |
| | | } else if (item.ismatch__c=="1") { |
| | | item = ProductSelected(item); |
| | | this.OnLoadSaveProduct.push(item); |
| | | } |
| | |
| | | ParamIdStr: this.quoId |
| | | }).then(result => { |
| | | result.forEach(items => { |
| | | if (items.typess__c == "折扣政策") { |
| | | if (items.typess__c=="折扣政策") { |
| | | items = UnselectedScheme(items); |
| | | this.OnLoadDiscount.push(items); |
| | | } else if (items.typess__c == "价格政策") { |
| | | } else if (items.typess__c=="价格政策") { |
| | | items = SelectedScheme(items) |
| | | this.OnLoadFixDiscount.push(items); |
| | | } |
| | |
| | | index = 3; |
| | | comparisonUniqueKey() { |
| | | this.index--; |
| | | if (this.index == 0) { |
| | | if (this.index==0) { |
| | | comparisonUniqueKeyLogic(this.index,this.flagall,this.jzDataDefaultCopy,this.jzDataDefault,this.jzDataProduct,this.jzDataFixedPrice,this.jzDataDiscount,this.lastQuotation); |
| | | this.jzDataDefault = jzDataDefaultExp; |
| | | this.jzDataProduct = jzDataProductExp; |
| | |
| | | Complate = false; |
| | | //从数据库更新已保存的数据 产品 UpdateBy 2021 06 29 |
| | | UpdateSaveDataQuoteLineItemSelectByID(flag) { |
| | | if (flag == 0) { |
| | | if (flag==0) { |
| | | var idArr = []; |
| | | this.jzDataDefault.forEach(item => { |
| | | idArr.push(item.QuiteLineitem__c); |
| | |
| | | ...dp |
| | | }; |
| | | result.forEach(item => { |
| | | if (item.Id == temp.QuiteLineitem__c) { |
| | | if (item.Id==temp.QuiteLineitem__c) { |
| | | var keys = Object.keys(temp); |
| | | keys.forEach(k => { |
| | | var flag = ChangeProductData(k); |
| | |
| | | this.jzDataDefault = newArr; |
| | | }) |
| | | } |
| | | if (flag == 1) { |
| | | if (flag==1) { |
| | | var idArrPro = []; |
| | | this.jzDataProduct.forEach(item => { |
| | | idArrPro.push(item.QuiteLineitem__c); |
| | |
| | | ...dp |
| | | }; |
| | | result.forEach(item => { |
| | | if (item.Id == temp.QuiteLineitem__c) { |
| | | if (item.Id==temp.QuiteLineitem__c) { |
| | | var keys = Object.keys(temp); |
| | | keys.forEach(k => { |
| | | var flag = ChangeProductData(k); |
| | |
| | | var newArr = []; |
| | | var indexNum = 0; |
| | | var jzdpdc = []; |
| | | if (str == "1") { |
| | | if (str=="1") { |
| | | jzdpdc = [].concat(this.jzDataProduct); |
| | | } else if (str == "2") { |
| | | } else if (str=="2") { |
| | | jzdpdc = [].concat(this.jzDataDiscount); |
| | | } else if (str == "3") { |
| | | } else if (str=="3") { |
| | | jzdpdc = [].concat(this.jzDataFixedPrice); |
| | | } |
| | | jzdpdc.forEach(item => { |
| | |
| | | temp.DelectId = indexNum; |
| | | newArr.push(temp); |
| | | }) |
| | | if (str == "1") { |
| | | if (str=="1") { |
| | | this.jzDataProduct = [].concat(newArr); |
| | | } else if (str == "2") { |
| | | } else if (str=="2") { |
| | | this.jzDataDiscount = [].concat(newArr); |
| | | } else if (str == "3") { |
| | | } else if (str=="3") { |
| | | this.jzDataFixedPrice = [].concat(newArr); |
| | | } |
| | | } |
| | |
| | | this.Alert(alertExp,'error'); |
| | | this.nafg = nafgExp; |
| | | }else{ |
| | | if(errorflgw){ |
| | | this.Alert(alertExp,'warning'); |
| | | } |
| | | this.agency1Name =this.quo.Agency1__c; |
| | | } |
| | | if(flg){ |
| | |
| | | fg = true; |
| | | changedAfterPrint = false; |
| | | QuotationCalculationFag = false; |
| | | @track SPFlag = false; |
| | | SPcheck(){ |
| | | var maps=checkch(this.jzDataToBeproduct); |
| | | var flag=maps.get('flag'); |
| | | console.log(this.jzDataToBeproduct); |
| | | if(flag){ |
| | | this.SPFlag=flag; |
| | | }else{ |
| | | this.decisionbuttonClick(); |
| | | } |
| | | |
| | | } |
| | | checkchangedAfterPrint(dec) { |
| | | this.fg = true; |
| | | var id = this.quoId; |
| | |
| | | }else{ |
| | | this.fg = false; |
| | | } |
| | | // cjw |
| | | var maps = checkch(this.jzDataToBeproduct); |
| | | var activities=maps.get('activities'); |
| | | // cjw |
| | | var activities = checkch(this.jzDataToBeproduct); |
| | | getQuoteLineItem({ |
| | | quoId: id |
| | | }).then(results=>{ |
| | |
| | | }); |
| | | return; |
| | | } |
| | | handleCloseChange(){ |
| | | this.SPFlag = false; |
| | | } |
| | | handleSPChange(event){ |
| | | console.log(event); |
| | | this.jzDataToBeproduct=event.detail; |
| | | this.SPFlag = false; |
| | | this.decisionbuttonClick(); |
| | | } |
| | | calFromQuoAmont() { |
| | | var x=0, |
| | | y=0; |
| | | x=this.quo.hidden_Estimation_List; |
| | | var x = 0, |
| | | y = 0; |
| | | x = this.quo.hidden_Estimation_List; |
| | | x = localParseFloat(x); |
| | | y=this.quo.Quote_Adjust_Amount_Page__c; |
| | | y = this.quo.Quote_Adjust_Amount_Page__c; |
| | | this.quo.Quote_Adjust_Amount_Page__c = toNumComma(y); |
| | | y=localParseFloat(y); |
| | | y = localParseFloat(y); |
| | | var noDiscountPriceTotal = this.hidden_MultiYearWarrantyTotalPrice; |
| | | noDiscountPriceTotal=localParseFloat(noDiscountPriceTotal); |
| | | this.quo.QuoteTotal_Page__c=toNumComma(y + x + noDiscountPriceTotal); |
| | | var z=this.quo.Estimation_List_Price__c; |
| | | var id=this.quoId; |
| | | // if(!id){ |
| | | var IsQuoteTrial=this.quo.IsQuoteTrial__c; |
| | | noDiscountPriceTotal = localParseFloat(noDiscountPriceTotal); |
| | | this.quo.QuoteTotal_Page__c = toNumComma(y + x + noDiscountPriceTotal); |
| | | var z = this.quo.Estimation_List_Price__c; |
| | | var id = this.quoId; |
| | | var IsQuoteTrial = this.quo.IsQuoteTrial__c; |
| | | if(!IsQuoteTrial){ |
| | | var mp=this.quo.MultiYearWarrantyTotalPrice__c; |
| | | mp=localParseFloat(mp); |
| | | var num=this.quo.Quote_Adjust_Calculate__c; |
| | | num=localParseFloat(num); |
| | | this.quo.Quote_Adjust_Calculate__c=toNumComma(num); |
| | | num=(100 + num) / 100; |
| | | z=localParseFloat(z); |
| | | var rh=this.oppInfo.rate_hospital; |
| | | var ra=this.oppInfo.rate_agency1; |
| | | this.quo.Dealer_Final_Price_Page__c=toNumComma(z*rh); |
| | | this.quo.OCM_Agent1_Price_Page__c=this.Saleslet ? toNumComma(z*num*ra+mp) : ''; |
| | | var mp =this.quo.MultiYearWarrantyTotalPrice__c; |
| | | mp = localParseFloat(mp); |
| | | var num = this.quo.Quote_Adjust_Calculate__c; |
| | | num = localParseFloat(num); |
| | | this.quo.Quote_Adjust_Calculate__c = toNumComma(num); |
| | | num = (100 + num) / 100; |
| | | z = localParseFloat(z); |
| | | var rh = this.oppInfo.rate_hospital; |
| | | var ra = this.oppInfo.rate_agency1; |
| | | this.quo.Dealer_Final_Price_Page__c = toNumComma(z*rh); |
| | | this.quo.OCM_Agent1_Price_Page__c = this.Saleslet ? toNumComma(z*num*ra+mp) : ''; |
| | | this.setOCMAmount(); |
| | | this.calFromContactPrice(); |
| | | } |
| | | // } |
| | | if (y == 0) { |
| | | this.quo.Quote_Adjust_Calculate__c=0; |
| | | this.quo.Quote_Adjust_Calculate__c = 0; |
| | | this.UnitPriceUpdate(); |
| | | } else { |
| | | this.quoteTotalPriceAction(); |
| | |
| | | this.quoteTotalPrice(); |
| | | } |
| | | Subtotalupdate() { |
| | | this.jzDataToBeproduct=SubtotalupdateLogic(this.jzDataToBeproduct); |
| | | this.jzDataToBeproduct = SubtotalupdateLogic(this.jzDataToBeproduct); |
| | | this.jzDataToBeproduct =[].concat(this.jzDataToBeproduct); |
| | | } |
| | | quoteTotalPriceAction() { |
| | | this.jzDataToBeproduct=quoteTotalPriceActionLogic(this.quo,this.jzDataToBeproduct,this.hidden_MultiYearWarrantyTotalPrice,this.QuoteDecision_Button); |
| | | this.jzDataToBeproduct = quoteTotalPriceActionLogic(this.quo,this.jzDataToBeproduct,this.hidden_MultiYearWarrantyTotalPrice,this.QuoteDecision_Button); |
| | | this.jzDataToBeproduct =[].concat(this.jzDataToBeproduct); |
| | | this.quo=quoExp; |
| | | this.quo = quoExp; |
| | | this.calUnitPriceTotal(); |
| | | this.QuoteAdjust(); |
| | | this.DisAmountfunction(); |
| | | } |
| | | |
| | | } |
| | | multiYearWarrantyChange(event){ |
| | | this.quo.multiYearWarranty__c=event.detail.checked; |
| | | this.quo.multiYearWarranty__c = event.detail.checked; |
| | | this.calPriceAll(); |
| | | } |
| | | //主机不带监视器台车change事件 |
| | | MainEngineWithoutMonitorChange(event){ |
| | | this.quo.MainEngineWithoutMonitor__c=event.detail.checked; |
| | | this.quo.MainEngineWithoutMonitor__c = event.detail.checked; |
| | | } |
| | | //跨科室change事件 |
| | | InterdepartmentalChange(event){ |
| | | this.quo.Interdepartmental__c=event.detail.checked; |
| | | this.quo.Interdepartmental__c = event.detail.checked; |
| | | this.calPriceAll(); |
| | | } |
| | | //单价change事件 |
| | | UnitPriceChange(event){ |
| | | this.quo.Unit_Price__c=event.detail.checked; |
| | | this.quo.Unit_Price__c = event.detail.checked; |
| | | } |
| | | //报价金额change事件 |
| | | OfferAmountChange(event){ |
| | | this.quo.Offer_Amount__c=event.detail.checked; |
| | | this.quo.Offer_Amount__c = event.detail.checked; |
| | | } |
| | | //报价总额change事件 |
| | | TOTALChange(event){ |
| | | this.quo.TOTAL__c=event.detail.checked; |
| | | this.quo.TOTAL__c = event.detail.checked; |
| | | } |
| | | //优惠折扣change事件 |
| | | DiscountChange(event){ |
| | | this.quo.Discount__c=event.detail.checked; |
| | | this.quo.Discount__c = event.detail.checked; |
| | | } |
| | | //优惠价格change事件 |
| | | PricingChange(event){ |
| | | this.quo.Pricing__c=event.detail.checked; |
| | | this.quo.Pricing__c = event.detail.checked; |
| | | } |
| | | //优惠成交价change事件 |
| | | PreferentialTradingPriceChange(event){ |
| | | this.quo.Preferential_Trading_Price__c=event.detail.checked; |
| | | this.quo.Preferential_Trading_Price__c = event.detail.checked; |
| | | } |
| | | //保修年限change事件 |
| | | PreferentialGuranteePeriodChange(event){ |
| | | this.quo.Preferential_Gurantee_Period__c=event.detail.checked; |
| | | this.quo.Preferential_Gurantee_Period__c = event.detail.checked; |
| | | } |
| | | //合同配置change事件 |
| | | ContractcChange(event){ |
| | | this.quo.Contract__c=event.detail.checked; |
| | | } |
| | | |
| | | this.quo.Contract__c = event.detail.checked; |
| | | } |
| | | //主机装机地 optionList |
| | | HostInstallationLocationoptionsvalue=[]; |
| | | HostInstallationLocationoptionsvalue = []; |
| | | get HostInstallationLocationoptions() { |
| | | if(this.HostInstallationLocationoptionsvalue.length<=0){ |
| | | getPicklistValues({objstr:'Quote',fld:'Installation_location__c',ifempty:true}).then(keyvalue=>{ |
| | | this.HostInstallationLocationoptionsvalue=keyvalue; |
| | | this.HostInstallationLocationoptionsvalue = keyvalue; |
| | | }); |
| | | }else{ |
| | | return this.HostInstallationLocationoptionsvalue |
| | | } |
| | | } |
| | | |
| | | HostInstallationLocationhandleChange(event) { |
| | | this.quo.Installation_location__c=event.detail.value; |
| | | this.quo.Installation_location__c = event.detail.value; |
| | | } |
| | | |
| | | //合同保修期(年)start |
| | | ContractWarrantyPeriodYearOptionsvalue=[]; |
| | | ContractWarrantyPeriodYearOptionsvalue = []; |
| | | get ContractWarrantyPeriodYearOptions() { |
| | | if(this.ContractWarrantyPeriodYearOptionsvalue.length<=0){ |
| | | getPicklistValues({objstr:'Quote',fld:'Gurantee_Period__c',ifempty:false}).then(keyvalue=>{ |
| | | this.ContractWarrantyPeriodYearOptionsvalue=keyvalue; |
| | | this.ContractWarrantyPeriodYearOptionsvalue = keyvalue; |
| | | }); |
| | | }else{ |
| | | return this.ContractWarrantyPeriodYearOptionsvalue |
| | | } |
| | | } |
| | | |
| | | ContractWarrantyPeriodYearHandleChange(event) { |
| | | this.quo.Gurantee_Period__c=event.detail.value; |
| | | this.quo.Gurantee_Period__c = event.detail.value; |
| | | this.calGuranteePeriod(); |
| | | } |
| | | // 更新多年保修 保修期 |
| | | //隐藏合同保修期(年) |
| | | HiddenGurantee_Period; |
| | | calGuranteePeriod() { |
| | | var AllGurantee_Period=this.quo.Gurantee_Period__c; |
| | | this.HiddenGurantee_Period=AllGurantee_Period; |
| | | this.jzDataToBeproduct=calGuranteePeriodLogic(this.jzDataToBeproduct,AllGurantee_Period); |
| | | var AllGurantee_Period = this.quo.Gurantee_Period__c; |
| | | this.HiddenGurantee_Period = AllGurantee_Period; |
| | | this.jzDataToBeproduct = calGuranteePeriodLogic(this.jzDataToBeproduct,AllGurantee_Period); |
| | | this.jzDataToBeproduct =[].concat(this.jzDataToBeproduct); |
| | | } |
| | | |
| | | //报价变化 start |
| | | QuotationChangesOptionsvalue=[]; |
| | | //报价变化 |
| | | QuotationChangesOptionsvalue = []; |
| | | get QuotationChangesOptions() { |
| | | if(this.QuotationChangesOptionsvalue.length<=0){ |
| | | getPicklistValues({objstr:'Quote',fld:'QuotationChange__c',ifempty:true}).then(keyvalue=>{ |
| | | this.QuotationChangesOptionsvalue=keyvalue; |
| | | this.QuotationChangesOptionsvalue = keyvalue; |
| | | }); |
| | | }else{ |
| | | return this.QuotationChangesOptionsvalue |
| | | } |
| | | } |
| | | |
| | | QuotationChangesHandleChange(event) { |
| | | this.quo.QuotationChange__c=event.detail.value; |
| | | this.quo.QuotationChange__c = event.detail.value; |
| | | } |
| | | // 经销商一名称输入框 start |
| | | // 经销商一名称输入框 |
| | | onsearchchange1(event){ |
| | | this.quo.Agency1__c=event.detail.value; |
| | | this.quo.Agency1__c = event.detail.value; |
| | | } |
| | | // 经销商二名称输入框 start |
| | | // 经销商二名称输入框 |
| | | onsearchchange2(event){ |
| | | this.quo.Agency2__c=event.detail.value; |
| | | this.quo.Agency2__c = event.detail.value; |
| | | } |
| | | //报价产品选中数据 |
| | | @track |
| | | selectjzDataTableToBeproduct=[]; |
| | | selectjzDataTableToBeproduct = []; |
| | | SelectedToBeproduct(event) { |
| | | let arr=event.detail.rows; |
| | | this.selectjzDataTableToBeproduct=arr; |
| | | let arr = event.detail.rows; |
| | | this.selectjzDataTableToBeproduct = arr; |
| | | } |
| | | //删除报价产品按钮 |
| | | deletejzDataToBeproduct(){ |
| | | var delFlag=false; |
| | | var num=this.jzDataToBeproduct.length; |
| | | for (var j=0; j < this.selectjzDataTableToBeproduct.length; j++) { |
| | | for (var i=0; i < this.jzDataToBeproduct.length; i++) { |
| | | var num = this.jzDataToBeproduct.length; |
| | | for (var j = 0; j < this.selectjzDataTableToBeproduct.length; j++) { |
| | | for (var i = 0; i < this.jzDataToBeproduct.length; i++) { |
| | | if (this.selectjzDataTableToBeproduct[j].lineNo == this.jzDataToBeproduct[i].lineNo) { |
| | | this.jzDataToBeproduct.splice(i, 1); |
| | | i--; |
| | |
| | | } |
| | | } |
| | | } |
| | | var ItemL=MarkRed(this.jzDataToBeproduct); |
| | | var ItemL = MarkRed(this.jzDataToBeproduct); |
| | | this.jzDataToBeproduct =[].concat(ItemL); |
| | | if(this.jzDataToBeproduct.length!=num){ |
| | | this.quo.IsQuoteTrial__c=false; |
| | | this.quo.IsQuoteTrial__c = false; |
| | | } |
| | | if(!delFlag){ |
| | | this.Alert("请选择可以操作的行",'error'); |
| | |
| | | } |
| | | getTableDataToBeproduct(event) { |
| | | } |
| | | @track jzDataToBeproduct=[]; |
| | | @track tableIsLodingToBeproduct=false; |
| | | @track jzDataToBeproduct = []; |
| | | @track tableIsLodingToBeproduct = false; |
| | | @track |
| | | initDataTableToBeproduct=initDataTableToBeproductConfig; |
| | | initDataTableToBeproduct = initDataTableToBeproductConfig; |
| | | @track |
| | | tobeflag=true |
| | | tobeflag = true |
| | | //报价产品编辑列 |
| | | onsaveToBeproduct(event){ |
| | | this.tobeflag=false |
| | | var data=event.detail.rows; |
| | | console.log('data==>> ' + JSON.stringify(data)); |
| | | this.jzDataToBeproduct=onsaveToBeproductLoc(data,this.jzDataToBeproduct); |
| | | this.tobeflag = false |
| | | var data = event.detail.rows; |
| | | this.jzDataToBeproduct = onsaveToBeproductLoc(data,this.jzDataToBeproduct); |
| | | if(fagExp){ |
| | | this.quo.IsQuoteTrial__c=false; |
| | | this.quo.IsQuoteTrial__c = false; |
| | | this.quoteAgencyTotalPriceAction(); |
| | | this.AgencyDiscountCalculation1(); |
| | | } |
| | |
| | | this.calUnitPriceTotal(); |
| | | this.quoteTotalPrice(); |
| | | setTimeout(() => { |
| | | this.tobeflag=true; |
| | | this.tobeflag = true; |
| | | },1); |
| | | } |
| | | // 计算 No Discount Price合计 |
| | | updateNoDiscountPricetotal() { |
| | | var noDiscountPriceTotal=0; |
| | | var noDiscountPriceTotal = 0; |
| | | this.jzDataToBeproduct.forEach(jzdtbt=>{ |
| | | var noDiscountPrice=jzdtbt.pageObject.ServicePrice__c; |
| | | noDiscountPrice=localParseFloat(noDiscountPrice); |
| | | var Quantity=jzdtbt.Quantity__c; |
| | | Quantity=localParseFloat(Quantity); |
| | | noDiscountPriceTotal=noDiscountPriceTotal + noDiscountPrice * Quantity; |
| | | var noDiscountPrice = jzdtbt.pageObject.ServicePrice__c; |
| | | noDiscountPrice = localParseFloat(noDiscountPrice); |
| | | var Quantity = jzdtbt.Quantity__c; |
| | | Quantity = localParseFloat(Quantity); |
| | | noDiscountPriceTotal = noDiscountPriceTotal + noDiscountPrice * Quantity; |
| | | if (jzdtbt.NoDiscountTotal__c) { |
| | | jzdtbt.NoDiscountTotal__c=toNumComma(noDiscountPrice * Quantity); |
| | | jzdtbt.NoDiscountTotal__c = toNumComma(noDiscountPrice * Quantity); |
| | | } |
| | | }); |
| | | this.jzDataToBeproduct =[].concat(this.jzDataToBeproduct); |
| | | this.hidden_MultiYearWarrantyTotalPrice=noDiscountPriceTotal; |
| | | this.quo.MultiYearWarrantyTotalPrice__c=toNumComma(noDiscountPriceTotal); |
| | | this.hidden_MultiYearWarrantyTotalPrice = noDiscountPriceTotal; |
| | | this.quo.MultiYearWarrantyTotalPrice__c = toNumComma(noDiscountPriceTotal); |
| | | } |
| | | handleRowAction(event){ |
| | | const actionName=event.detail.row; |
| | | const actionName = event.detail.row; |
| | | } |
| | | //打开产品配套模态框开关 |
| | | @track |
| | | showSetProductfalg=false; |
| | | showSetProductfalg = false; |
| | | //产品配套按钮 |
| | | openSetProduct(event){ |
| | | this.showSetProductfalg=true; |
| | | this.showSetProductfalg = true; |
| | | } |
| | | //产品配套 optionList |
| | | get listViewOptions() { |
| | |
| | | } |
| | | // 产品配套模态框关闭 |
| | | cancelsetProduct(){ |
| | | this.showSetProductfalg=false; |
| | | this.jzSetProductData=[]; |
| | | this.showSetProductfalg = false; |
| | | this.jzSetProductData = []; |
| | | } |
| | | // 适用科室 |
| | | filterName; |
| | | // 适用科室Change事件 |
| | | filterNameChange(event){ |
| | | this.filterName=event.target.value; |
| | | this.filterName = event.target.value; |
| | | } |
| | | // 产品配套名 |
| | | setSearchName; |
| | | //产品配套名Change事件 |
| | | jzSearchNameChange(event){ |
| | | this.setSearchName=event.target.value; |
| | | this.setSearchName = event.target.value; |
| | | } |
| | | //产品配套编码 |
| | | SearchCode; |
| | | //产品配套编码Change事件 |
| | | jzSearchCodeChange(event){ |
| | | this.SearchCode=event.target.value; |
| | | this.SearchCode = event.target.value; |
| | | } |
| | | initDataSetProductTable=initDataSetProductTablefig; |
| | | initDataSetProductTable = initDataSetProductTablefig; |
| | | @track |
| | | jzSetProductData=[]; |
| | | jzSetProductData = []; |
| | | @track |
| | | tableIsSetProductLoding=false; |
| | | tableIsSetProductLoding = false; |
| | | @track |
| | | IsLoadingjdspt=false; |
| | | IsLoadingjdspt = false; |
| | | //产品配套搜索 |
| | | jzsetProductsearchbutton(){ |
| | | this.IsLoadingjdspt=true; |
| | | let SearchCode=this.SearchCode; |
| | | let filterName=this.filterName; |
| | | let setSearchName=this.setSearchName; |
| | | this.IsLoadingjdspt = true; |
| | | let SearchCode = this.SearchCode; |
| | | let filterName = this.filterName; |
| | | let setSearchName = this.setSearchName; |
| | | serSetContact({SearchName:setSearchName,SearchCode:SearchCode,filterName:filterName}).then(result=>{ |
| | | this.jzSetProductData=result; |
| | | this.IsLoadingjdspt=false; |
| | | this.jzSetProductData = result; |
| | | this.IsLoadingjdspt = false; |
| | | }); |
| | | } |
| | | //产品配套选中数据 |
| | | SelectedNewsetProduct=[] |
| | | SelectedNewsetProduct = [] |
| | | //产品配套选中数据 |
| | | SelectedSetProductFn(event){ |
| | | let arr=event.detail.rows; |
| | | this.SelectedNewsetProduct=arr; |
| | | let arr = event.detail.rows; |
| | | this.SelectedNewsetProduct = arr; |
| | | } |
| | | //追加产品配套搜索 |
| | | additionaljzsetProductbutton(){ |
| | | var dataChunanshen=additionabuttonLoc(this.SelectedNewsetProduct,this.quo,this.oppInfo,this.jzDataToBeproduct) |
| | | var num=this.jzDataToBeproduct.length; |
| | | var isPrepared=DataStatus; |
| | | var Str=StrExp; |
| | | var dataChunanshen = additionabuttonLoc(this.SelectedNewsetProduct,this.quo,this.oppInfo,this.jzDataToBeproduct) |
| | | var num = this.jzDataToBeproduct.length; |
| | | var isPrepared = DataStatus; |
| | | var Str = StrExp; |
| | | if(isPrepared!='Fin'){ |
| | | confirm(isPrepared); |
| | | }else if(!Str){ |
| | |
| | | }else{ |
| | | this.OnLoading(true); |
| | | setProductEntry(dataChunanshen).then(reslut=>{ |
| | | debugger |
| | | var tempArr=reslut.split("---"); |
| | | var errormessage=tempArr[0]; |
| | | var quoteLineItem=JSON.parse(tempArr[1]); |
| | |
| | | }); |
| | | this.cancelsetProduct(); |
| | | } |
| | | this.SelectedNewsetProduct=[]; |
| | | } |
| | | |
| | | this.SelectedNewsetProduct = []; |
| | | } |
| | | getTableSetProductData(event) { |
| | | this.tableIsproductLoding=false; |
| | | this.tableIsproductLoding = false; |
| | | } |
| | | @track |
| | | showQuoteExcelImport=false; |
| | | showQuoteExcelImport = false; |
| | | openQuoteExcelImport(event){ |
| | | this.showQuoteExcelImport=true; |
| | | this.showQuoteExcelImport = true; |
| | | } |
| | | cancelQuoteExcelImport(){ |
| | | this.showQuoteExcelImport=false; |
| | | this.exceltextvalue=''; |
| | | this.showQuoteExcelImport = false; |
| | | this.exceltextvalue = ''; |
| | | } |
| | | SavesSQuoteExcelImport(){ |
| | | let Str=this.exceltextvalue; |
| | | var num=this.jzDataToBeproduct.length; |
| | | var quoc=saveEvoluationLogic(this.quo,this.oppInfo,this.jzDataToBeproduct); |
| | | var oppInfoc=oppInfosave; |
| | | var quoLineItemc=quoLineItemsave; |
| | | var quoLineItemCan=JSON.stringify(quoLineItemc); |
| | | var oppInfoCan=JSON.stringify(oppInfoc); |
| | | var quoCan=JSON.stringify(quoc); |
| | | let Str = this.exceltextvalue; |
| | | var num = this.jzDataToBeproduct.length; |
| | | var quoc = saveEvoluationLogic(this.quo,this.oppInfo,this.jzDataToBeproduct); |
| | | var oppInfoc = oppInfosave; |
| | | var quoLineItemc = quoLineItemsave; |
| | | var quoLineItemCan = JSON.stringify(quoLineItemc); |
| | | var oppInfoCan = JSON.stringify(oppInfoc); |
| | | var quoCan = JSON.stringify(quoc); |
| | | this.OnLoading(true); |
| | | excelImport({excel_text:Str, |
| | | activitiesCan:quoLineItemCan, |
| | | oppInfoc:oppInfoCan, |
| | | quoc:quoCan}).then(reslut=>{ |
| | | var tempArr=reslut.split("---"); |
| | | var tempArr = reslut.split("---"); |
| | | var errormessage = tempArr[0]; |
| | | var quoteLineItem = JSON.parse(tempArr[1]); |
| | | quoteLineItem = InitializeProductAssignment(quoteLineItem); |
| | |
| | | var selectvlue = this.SelectedNewProduct; |
| | | var Listvalue = this.jzDataToBeproduct; |
| | | this.jzDataToBeproduct = additionaljzProductLogic(selectvlue,Listvalue,this.oppInfo.CurrencyIsoCode,this.quo.IsQuoteTrial__c); |
| | | var idList = []; |
| | | this.jzDataToBeproduct.forEach(item=>{ |
| | | idList.push(item.pageObject.PricebookEntry.Product2Id); |
| | | }); |
| | | addOptions({idList: idList}).then(result=>{ |
| | | console.log('result'); |
| | | this.addOptionsLogic(result); |
| | | if(alertExp){ |
| | | this.Alert(alertExp,'error'); |
| | | } |
| | | setTimeout(() => { |
| | | this.tobeflag = true; |
| | | },1); |
| | | this.quo.IsQuoteTrial__c = IsQuoteTrialExp; |
| | | this.calPriceAll(); |
| | | this.cancelProduct(); |
| | | this.SelectedNewProduct = []; |
| | | }); |
| | | |
| | | } |
| | | } |
| | | addOptionsLogic(result){ |
| | | console.log(result); |
| | | this.jzDataToBeproduct.forEach(item=>{ |
| | | if(result.get(item.pageObject.PricebookEntry.Product2Id)){ |
| | | item.Learning_CommunityOptions = result.get(item.pageObject.PricebookEntry.Product2Id); |
| | | if(alertExp){ |
| | | this.Alert(alertExp,'error'); |
| | | } |
| | | }); |
| | | setTimeout(() => { |
| | | this.tobeflag = true; |
| | | },1); |
| | | this.quo.IsQuoteTrial__c = IsQuoteTrialExp; |
| | | this.calPriceAll(); |
| | | this.cancelProduct(); |
| | | this.SelectedNewProduct = []; |
| | | } |
| | | } |
| | | //新增报价产品模态框取消按钮 |
| | | cancelProduct() { |
| | |
| | | @track tableIsproductLoding = true; |
| | | // 新增报价产品列表列配置 |
| | | @track |
| | | initDataProductTable = initDataProductTablefig; |
| | | |
| | | initDataProductTable = initDataProductTablefig; |
| | | //打开报价计算标识 |
| | | quoteflg = false; |
| | | @track |
| | | QTcss="slds-button slds-button_neutral slds-button_stretch lexBorder"; |
| | | showQuotationCalculation(event){ |
| | | if(!this.yyEvent()) return; |
| | | if(this.pricePolicyflag){ |
| | | this.QTcss = QTcssE(this.pricePolicyflag); |
| | | this.pricePolicyflag = false; |
| | |
| | | }else{ |
| | | this.quoteflg = true; |
| | | if(this.QuoteDecision){ |
| | | this.pricePolicyflag = true; |
| | | this.quoteTrialInit(); |
| | | }else{ |
| | | this.savebuttonClick(); |
| | | } |
| | |
| | | //合同总价 |
| | | ContractPrice = 0; |
| | | ifFTip=true; |
| | | dealerfinalchange(event){ |
| | | var target = {value :event.detail.value}; |
| | | var events = {target:target} |
| | | this.DealerFinalPricePageChange(events); |
| | | } |
| | | isloadingchange(event){ |
| | | this.IsLoading=event.detail.IsLoading; |
| | | } |
| | | QTcsschange(event){ |
| | | debugger |
| | | this.QTcss = event.detail.qtcss; |
| | | } |
| | | //保存报价计算结果按钮方法 |
| | | saveAllDataProductFn(event) { |
| | | debugger |
| | | var ContractPrice = event.detail.contractrice; |
| | | this.IsLoading=false; |
| | | this.quo.IsQuoteTrial__c = true; |
| | | this.SkipQuotefilg = false; |
| | | this.ifquocom = true; |
| | | if(this.oppInfo.Sales_Root__c == Sales_Outlet){ |
| | | var target = {value :ContractPrice} |
| | | var event = {target:target} |
| | | this.OCMAgent1PricePageonChange(event); |
| | | saveAllDataProductFn() { |
| | | if(!this.yyEvent()) return; |
| | | var dataChunanshen = saveAllDataProductFnChuanshen(this.jzDataFixedPrice,this.jzDataDiscount,this.quoId,this.QuoteData,this.jzDataProduct,this.jzDataDefault,this.ContractPrice,localParseFloat(this.quo.Dealer_Final_Price_Page__c)) |
| | | var newTemp = newTempExp; |
| | | if(localParseFloat(this.quo.Dealer_Final_Price_Page__c) < this.ContractPrice){ |
| | | this.Alert("最终客户成交价低于合同金额,不可保存",'error'); |
| | | }else{ |
| | | this.quo.Dealer_Final_Price_Page__c = toNumComma(ContractPrice); |
| | | var target = {value :ContractPrice} |
| | | var event = {target:target} |
| | | this.DealerFinalPricePageChange(event); |
| | | if (this.jzDataDefault.length == 0) { |
| | | var ifnunum = saveAllDataProductFnPanduan(this.jzDataProduct,newTemp); |
| | | var ifnull = ifnullExp; |
| | | if (ifnull&&ifnunum==1) { |
| | | this.IsLoading=true; |
| | | saveAllDataProduct(dataChunanshen).then(result => { |
| | | this.IsLoading=false; |
| | | this.quo.IsQuoteTrial__c = true; |
| | | this.SkipQuotefilg = false; |
| | | this.ifquocom = true; |
| | | if(this.oppInfo.Sales_Root__c == Sales_Outlet){ |
| | | var target = {value :this.ContractPrice} |
| | | var event = {target:target} |
| | | this.OCMAgent1PricePageonChange(event); |
| | | }else{ |
| | | this.quo.Dealer_Final_Price_Page__c = toNumComma(this.ContractPrice); |
| | | var target = {value :this.ContractPrice} |
| | | var event = {target:target} |
| | | this.DealerFinalPricePageChange(event); |
| | | } |
| | | this.Alert("数据已保存", 'success'); |
| | | }); |
| | | } else { |
| | | if(ifnunum==2){ |
| | | this.ifFTip=false; |
| | | this.Alert("产品明细中金额有负数,不可保存",'error'); |
| | | }else{ |
| | | this.ifFTip=false; |
| | | this.Alert("一般产品的合同价格为空,不可保存",'error'); |
| | | } |
| | | } |
| | | } else { |
| | | this.ifFTip=false; |
| | | this.Alert("产品未选完,不可保存",'error'); |
| | | } |
| | | } |
| | | this.Alert("数据已保存", 'success'); |
| | | } |
| | | //报价计算打开按钮 end |
| | | SelectedFnDefault(rows) { |
| | |
| | | initSearchFormFix = initSearchFormFix2; |
| | | @track |
| | | initDataTableFix = initDataTableFix2; |
| | | |
| | | @track jzDataFix = []; |
| | | @track tableIsLodingFix = true; |
| | | // 点击搜索触发 |
| | |
| | | } |
| | | }); |
| | | }); |
| | | } |
| | | |
| | | //保存价格政策编辑列方法 |
| | | } |
| | | handleSaveFixedPrice(event) { |
| | | this.comparativeAssignment(); |
| | | let editnewDate = []; |
| | |
| | | this.Alert("数据修改成功", 'success'); |
| | | }); |
| | | this.jzDataProduct = this.newArrsTemp3.concat(this.newArrsTemp4); |
| | | //合同价格汇总 |
| | | this.ContractPriceCompute(); |
| | | } else if (boolean == 3) { |
| | | this.Alert("修改错误,次数已经超过最大值,不可增加",'error'); |
| | |
| | | var str3 = str + str1; |
| | | this.Alert(str3,'error'); |
| | | } |
| | | //刷新 |
| | | this.jzshows3 = false; |
| | | this.IsLoading3 = true; |
| | | setTimeout(() => { |
| | |
| | | } |
| | | newArrsTemp3 = []; |
| | | newArrsTemp4 = []; |
| | | //========促销方案模态框 start========= |
| | | // 促销方案搜索框搜索按钮方法 |
| | | searchData(event) { |
| | | let searchParams = event.detail.searchParams || {}; |
| | | let temp = this.template; |
| | |
| | | searchParams: searchParams |
| | | }); |
| | | } |
| | | // 促销方案搜索框配置列 |
| | | @track |
| | | initSearchForm = initSearchForm2; |
| | | //促销方案列表选事件 |
| | | SelectedFn(event) { |
| | | let arr = event.detail.rows; |
| | | if (arr.length > 1) { |
| | |
| | | } |
| | | this.cancel(); |
| | | } |
| | | //促销方案列表加载数据 |
| | | // 后台交互,获取列表数据 |
| | | getTableData(event) { |
| | | let listQuery = event; |
| | | if (event.fag == undefined) { |
| | |
| | | }) |
| | | } |
| | | jzDataDefaultCopyQuantityList = []; |
| | | // 后台交互,获取一般产品列表数据 |
| | | ifqianpi = true; |
| | | getTableDataFix(event) { |
| | | let listQuery = event; |
| | |
| | | } |
| | | listQuery.pageLimit = 200; |
| | | GetNormalProductSearch(listQuery).then(result => { |
| | | //BBBB |
| | | var tempArr = result.split("--"); |
| | | var responseObj = JSON.parse(tempArr[0]); |
| | | var responseObjAll = JSON.parse(tempArr[1]); |
| | | //排序 |
| | | var newArrs = new Array; |
| | | responseObjAll.forEach(item => { |
| | | newArrs.push(item); |
| | |
| | | if (arr.length > 1) { |
| | | this.Alert("价格政策只可选择一个方案",'error'); |
| | | } else { |
| | | //获取数据 |
| | | this.GetSearchProductByIdFn(arr[0].Id, arr[0], "价格政策", [], arr); |
| | | } |
| | | this.cancelFix(); |
| | | } |
| | | //价格政策匹配 |
| | | GetSearchProductByIdFn(idStr, jzDataProductParam, TypeName, jzDataDefaultToTemps, arrData, isShow = true) { |
| | | //dddd |
| | | var SeachData = { |
| | | SearchId: idStr |
| | | }; |
| | |
| | | } |
| | | jzDataProductParam = this.countListAndNod(tempObject, result); |
| | | arrData = [].concat(jzDataProductParam); |
| | | //返回数据比较规则 |
| | | this.CompareData(result, idStr, jzDataProductParam, TypeName, jzDataDefaultToTemps, arrData, isShow); |
| | | }) |
| | | } |
| | | //计算listPrice的和以及nod和 |
| | | countListAndNod(item, result) { |
| | | var ifTrade = this.QuoteData[0].Opportunity.Trade__c; //内外贸信息 |
| | | var copydate=this.jzDataDefaultCopy; |
| | | var DeftCopyQtyList = this.jzDataDefaultCopyQuantityList; |
| | | //计算list和nod合计逻辑 |
| | | item=countListAndNodLogic(ifTrade,copydate,item,result,DeftCopyQtyList); |
| | | this.jzDataDefaultCopyQuantityList=DeftCopyQtyLists; |
| | | var arr = { |
| | |
| | | }; |
| | | return arr; |
| | | } |
| | | //匹配价格政策时数据比较规则 |
| | | CompareData(list, idStr, jzDataProductParam, TypeName, jzDataDefaultToTemps, arrData, isShow) { |
| | | var TempsJzDataToCompare = CompareDataL(list,this.jzDataDefault); |
| | | var isChange = isChangeExp; |
| | | //End |
| | | if (TempsJzDataToCompare.length == list.length&&list.length!=0) { |
| | | TempsJzDataToCompare.forEach(TempsItems => { |
| | | this.ComparePushData(TempsItems.item.Quantity, TempsItems.element.Quantity__c, TempsItems.element.Asset_Model_No__c, idStr, jzDataProductParam, TypeName); |
| | | }); |
| | | //判断是否显示 提示框 |
| | | if (isShow) { |
| | | if (this.ifqianpi) { |
| | | this.Alert("促销方案选择完成", 'success'); |
| | |
| | | this.ChangeNumZeroTrueChanges(); |
| | | } |
| | | var temps = this.CompareFullData; |
| | | //添加 |
| | | this.UpdateJZData(arrData); |
| | | //更新次数 |
| | | this.updatesNums(); |
| | | //合并重复价格政策方案 |
| | | var jzarr = [].concat(this.jzDataFixedPrice);; |
| | | this.MergeDuplicateSchemes(jzarr); |
| | | //保存最大次数 |
| | | this.savecount(idStr); |
| | | //计算价格 |
| | | this.ComputeData(idStr, '价格政策'); |
| | | } |
| | | ComparePushData(length, Quantity, Asset_Model_No__c, Id, jzDataProductParam, TypeName) { |
| | | //修改 产品明细 |
| | | let num = parseInt(length / Quantity); |
| | | var newDataDefault = ComparePushDataLogic(this.jzDataDefault,this.jzDataProduct,Asset_Model_No__c,Id,TypeName,jzDataProductParam,Quantity,num); |
| | | this.jzDataProduct = jzDataProductExp; |
| | |
| | | this.jzDataDefault = this.ChangeNumZeroTrueData; |
| | | } |
| | | } |
| | | UpdateJZData(arrs) { //arrs 选中的数据集合 |
| | | UpdateJZData(arrs) { |
| | | if (this.jzDataFixedPrice == null || this.jzDataFixedPrice.length <= 0) { |
| | | this.jzDataFixedPrice = arrs; |
| | | } else { |
| | | this.jzDataFixedPrice = this.jzDataFixedPrice.concat(arrs); |
| | | }; |
| | | } |
| | | // =======更新促销方案次数数据 |
| | | updatesNums() { |
| | | var jzDataFixedPriceTemp = [].concat(this.jzDataFixedPrice); |
| | | var jzDataDiscountTemp = [].concat(this.jzDataDiscount); |
| | |
| | | this.jzDataFixedPrice = jzDataFixedPriceTemps; |
| | | this.jzDataDiscount = jzDataDiscountTemps; |
| | | } |
| | | //合并重复价格政策方案 |
| | | MergeDuplicateSchemes(SchemeSet) { |
| | | var arr = []; |
| | | arr = MergeDuplicateSchemesLogic(this.CompareFullData,SchemeSet); |
| | |
| | | this.jzDataFixedPrice = [].concat(arr); |
| | | this.ConsolidationProgramProducts(arr); |
| | | } |
| | | //计算价格政策价格 |
| | | ComputeData(id, category) { //id 选中的数据ID category 方案类型 |
| | | //调用替换listprice单价 |
| | | ComputeData(id, category) { |
| | | this.ReplacementUnitPrice(); |
| | | //数据 |
| | | this.updateIdStr("3"); |
| | | var arrTemp = this.jzDataFixedPrice; // id 价格政策 |
| | | this.updateIdStr("1"); |
| | | var arrProductTemp = this.jzDataProduct; // PromotionId 产品明细 |
| | | var arrTemp2 = this.jzDataDefault; //待选产品 |
| | | if (category == '价格政策') { |
| | | arrTemp.forEach(item => { // item价格政策 |
| | | arrTemp.forEach(item => { |
| | | if (id == item.Id) { |
| | | item.Total = item.Counts * item.Price_CNY__c; |
| | | item.sumNoDiscountTotal = item.sumNoDiscount * item.Counts; |
| | | //计算促销总价&& item.HeTongTotal == undefined |
| | | if (item.Price_CNY__c != undefined) { |
| | | if (item.determine != '改过') { |
| | | if (item.if_Contain_Nod__c) { |
| | |
| | | } |
| | | } |
| | | } |
| | | //计算选择促销政策的经销商单价和小计 |
| | | var PromotionHeadRecordId = item.recordTypeName__c; |
| | | if (PromotionHeadRecordId == "Promotion") { //促销方案 |
| | | if (PromotionHeadRecordId == "Promotion") { |
| | | arrProductTemp = ComputeDataPromotionLogic(this.newArrsTemp3,this.newArrsTemp4,this.jzDataDefaultCopyQuantityList,this.jzDataDefaultCopy,this.QuoteData,arrProductTemp,item,arrTemp2,this.jzDataDefault); |
| | | this.newArrsTemp3 = newArrsTemp3Exp; |
| | | this.newArrsTemp4 = newArrsTemp4Exp; |
| | | this.jzDataDefault = jzDataDefaultExp; |
| | | this.jzDataDefaultCopy = jzDataDefaultCopyExp; |
| | | this.jzDataProduct = arrProductTemp; |
| | | //合同价格汇总 |
| | | this.ContractPriceCompute(); |
| | | } else if (PromotionHeadRecordId == "NormalProduct") { //一般产品 |
| | | //todu3 |
| | | } else if (PromotionHeadRecordId == "NormalProduct") { |
| | | arrProductTemp = ComputeDataNormalProductLogic(this.newArrsTemp3,this.newArrsTemp4,this.jzDataDefaultCopyQuantityList,this.jzDataDefaultCopy,this.QuoteData,arrProductTemp,item,arrTemp2,this.jzDataDefault); |
| | | this.newArrsTemp3 = newArrsTemp3Exp; |
| | | this.newArrsTemp4 = newArrsTemp4Exp; |
| | |
| | | this.jzDataProduct = [].concat(ReplacementUnitPriceLogic(arr, ifTrade));//20230214 |
| | | this.ContractPriceCompute(); |
| | | } |
| | | //保存最大次数 |
| | | savecount(idStr) { //idStr 选中的数据ID |
| | | savecount(idStr) { |
| | | this.jzDataFixedPrice = savecountLogic(this.jzDataFixedPrice,idStr); |
| | | } |
| | | ChangeNumZeroTrueData = [] |
| | | ChangeNumZeroTrueData = []; |
| | | ChangeNumZeroTrue() { |
| | | this.ChangeNumZeroTrueData = [].concat(this.jzDataDefault); |
| | | var newJzDataDefault = this.ChangeNumZeroTrueData.filter(item => { |
| | |
| | | }) |
| | | this.ChangeNumZeroTrueData = newJzDataDefault; |
| | | } |
| | | //用于填充次数 |
| | | CompareFullData = [] |
| | | AddNums(ListName, Asset_Model_No__c, addNums, Id) { |
| | | this.CompareFullData = AddNumsLogic(ListName, Asset_Model_No__c, addNums, Id,this.CompareFullData); |
| | | } |
| | | //归并相同价格政策方案的产品 |
| | | ConsolidationProgramProducts(arrSchemes) { |
| | | var jzdataList = [].concat(this.jzDataProduct); |
| | | this.jzDataProduct = PriceConsolidation(arrSchemes, jzdataList); |
| | | } |
| | | //促销方案列表数据 |
| | | @track jzData = []; |
| | | //促销方案列表加载动图标识 |
| | | @track tableIsLoding = true; |
| | | // 促销方案列表列配置 |
| | | @track |
| | | initDataTable =initDataTable2; |
| | | jzdateflag=true; |
| | | IsLoading6 = false; |
| | | //促销方案列表编辑列保存 |
| | | savejzData(event){ |
| | | var data = event.detail.rows; |
| | | for (var i = 0; i < this.jzData.length; i++) { |
| | |
| | | this.IsLoading6 = false; |
| | | }, 1000); |
| | | } |
| | | //=========促销方案模态框 end============ |
| | | //***************价格政策 end************** |
| | | |
| | | //********折扣政策 start*********** |
| | | //选择特约折扣打开按钮 |
| | | showModalSpecial(){ |
| | | this.QuoteData.forEach(qtd => { |
| | | this.QuoteData.forEach(qtd=>{ |
| | | if (!qtd.Opportunity.IsAuthorized__c) { |
| | | this.Alert("该询价不是特约经销商授权",'error'); |
| | | } else { |
| | | this.ShowSpecial = true; |
| | | this.ShowSpecial=true; |
| | | } |
| | | }); |
| | | } |
| | | //选择一般折扣打开按钮 |
| | | showModalCommonly(){ |
| | | this.ShowCommonly = true |
| | | this.ShowCommonly=true; |
| | | } |
| | | //折扣政策删除按钮事件 |
| | | delectTableDiscount(){ |
| | | let ids = []; |
| | | let ids=[]; |
| | | for (var j = 0; j < this.SelectedFnDataDiscount.length; j++) { |
| | | ids.push(this.SelectedFnDataDiscount[j].Id); |
| | | } |
| | |
| | | this.delectTableDiscountTemp(); |
| | | this.ContractPriceCompute(); |
| | | } |
| | | DeleteSchemeMatching(ids, TypeName) { |
| | | var CompareFullDataTemp = []; |
| | | ids.forEach(id => { |
| | | this.jzDataProduct = DeleteSchemeMatchingLogic(id,TypeName,CompareFullDataTemp,this.CompareFullData,this.jzDataFixedPrice,this.jzDataDiscount,this.jzDataProduct,this.jzDataDefault,this.jzDataDefaultNotChange); |
| | | CompareFullDataTemp = CompareFullDataTempExp; |
| | | this.jzDataFixedPrice = jzDataFixedPriceExp; |
| | | this.jzDataDiscount = jzDataDiscountExp; |
| | | this.jzDataDefault = jzDataDefaultExp; |
| | | this.jzDataDefaultNotChange = jzDataDefaultNotChangeExp; |
| | | //合同价格汇总 |
| | | DeleteSchemeMatching(ids,TypeName) { |
| | | var CompareFullDataTemp=[]; |
| | | ids.forEach(id =>{ |
| | | this.jzDataProduct=DeleteSchemeMatchingLogic(id,TypeName,CompareFullDataTemp,this.CompareFullData,this.jzDataFixedPrice,this.jzDataDiscount,this.jzDataProduct,this.jzDataDefault,this.jzDataDefaultNotChange); |
| | | CompareFullDataTemp=CompareFullDataTempExp; |
| | | this.jzDataFixedPrice=jzDataFixedPriceExp; |
| | | this.jzDataDiscount=jzDataDiscountExp; |
| | | this.jzDataDefault=jzDataDefaultExp; |
| | | this.jzDataDefaultNotChange=jzDataDefaultNotChangeExp; |
| | | this.ContractPriceCompute(); |
| | | }); |
| | | this.CompareFullData = CompareFullDataTemp; |
| | | this.CompareFullData=CompareFullDataTemp; |
| | | } |
| | | //折扣政策选中列表数据 |
| | | @track SelectedFnDataDiscount = [] |
| | | //折扣政策选择事件 |
| | | @track SelectedFnDataDiscount=[] |
| | | SelectedFnDiscount(event) { |
| | | let arr = event.detail.rows; |
| | | this.SelectedFnDataDiscount = arr; |
| | | let arr=event.detail.rows; |
| | | this.SelectedFnDataDiscount=arr; |
| | | } |
| | | //折扣政策列表数据 |
| | | @track jzDataDiscount = []; |
| | | //折扣政策列表加载动图标识 |
| | | @track tableIsLodingDiscount = true; |
| | | //折扣政策列表列配置 |
| | | @track jzDataDiscount=[]; |
| | | @track tableIsLodingDiscount=true; |
| | | @track |
| | | initDataTableDiscount = initDataTableDiscount2; |
| | | //折扣政策列表列加载方法 |
| | | initDataTableDiscount=initDataTableDiscount2; |
| | | getTableDataDiscount(event) { |
| | | this.tableIsLodingDiscount = false; |
| | | this.tableIsLodingDiscount=false; |
| | | } |
| | | @track |
| | | Tongzhishow = false; //提示显示的标识 |
| | | SaveShowText = "操作成功"; //提示框的文本 |
| | | TongzhiIcon = 'standard:account' //提示框的图标 |
| | | IsLeftStyle = "" //提示框的样式 |
| | | BgColorStyle = "" |
| | | //弹框提示 content 内容 error 是否是错误提示框 left 是否居左 |
| | | Alert(msg,type) { |
| | | if(type == 'success'){ |
| | | const event = new ShowToastEvent({ |
| | | Tongzhishow=false; //提示显示的标识 |
| | | SaveShowText="操作成功"; //提示框的文本 |
| | | TongzhiIcon='standard:account' //提示框的图标 |
| | | IsLeftStyle="" //提示框的样式 |
| | | BgColorStyle="" |
| | | Alert(msg,type){ |
| | | if(type=='success'){ |
| | | const event=new ShowToastEvent({ |
| | | message: msg, |
| | | variant: type, |
| | | }); |
| | |
| | | this.dispatchEvent(event); |
| | | } |
| | | } |
| | | //折扣政策编辑列保存方法 |
| | | handleSaveDiscount(event) { |
| | | this.jzDataDiscount = handleSaveDiscountLogic(this.jzDataDiscount,this.jzDataProduct,event); |
| | | var boolean = booleanExp; |
| | | var boolean2 = boolean2Exp; |
| | | var boolean3 = boolean3Exp; |
| | | let newData = newDataExp; |
| | | let newData2 = newData2Exp; |
| | | let newData3 = newData3Exp; |
| | | let editnewDate = editnewDateExp; |
| | | var GuaranteeDiscount__cZuiXiao = GuaranteeDiscount__cZuiXiaoExp; |
| | | var NormalDiscount__cZuiXiao = NormalDiscount__cZuiXiaoExp; |
| | | handleSaveDiscount(event){ |
| | | this.jzDataDiscount=handleSaveDiscountLogic(this.jzDataDiscount,this.jzDataProduct,event); |
| | | var boolean=booleanExp; |
| | | var boolean2=boolean2Exp; |
| | | var boolean3=boolean3Exp; |
| | | let newData=newDataExp; |
| | | let newData2=newData2Exp; |
| | | let newData3=newData3Exp; |
| | | let editnewDate=editnewDateExp; |
| | | var GuaranteeDiscount__cZuiXiao=GuaranteeDiscount__cZuiXiaoExp; |
| | | var NormalDiscount__cZuiXiao=NormalDiscount__cZuiXiaoExp; |
| | | this.jzDataProduct = jzDataProductExp; |
| | | //haha2 |
| | | if (boolean == 0) { |
| | | this.jzDataDiscount = newData; |
| | | var newArrs = [].concat(editnewDate);//20230214 |
| | | newArrs.forEach(item => { |
| | | //合并折扣政策重复方案 |
| | | if (boolean==0){ |
| | | this.jzDataDiscount=newData; |
| | | var newArrs=[].concat(editnewDate);//20230214 |
| | | newArrs.forEach(item =>{ |
| | | this.ConsolidatedDiscountPolicy(this.jzDataDiscount); |
| | | this.ComputeDiscount(item.Id, item.NormalDiscount__c_Input, item.GuaranteeDiscount__c_Input, item.Category__c, item.JxsType); |
| | | }); |
| | | this.jzDataProduct = this.newArrsTemp2.concat(this.newArrsTemp);//20230213 |
| | | //合同价格汇总 |
| | | this.ContractPriceCompute(); |
| | | this.Alert("数据修改成功", 'success'); |
| | | } else if (boolean == 1) { |
| | | } else if (boolean==1){ |
| | | this.Alert("修改错误,对象品折扣不得小于对象品最低折扣:"+GuaranteeDiscount__cZuiXiao+"%",'error'); |
| | | } else if (boolean == 2) { |
| | | } else if (boolean==2){ |
| | | this.Alert("修改错误,非对象品折扣不得小于非对象品最低折扣:"+NormalDiscount__cZuiXiao+"%",'error'); |
| | | } else if (boolean == 3) { |
| | | } else if (boolean==3){ |
| | | this.Alert("修改错误,一般折扣没有对象品折扣",'error'); |
| | | } else if (boolean == 5) { |
| | | } else if (boolean==5){ |
| | | this.Alert("非对象品折扣不可以为空或小于0",'error'); |
| | | } else if (boolean == 4) { |
| | | } else if (boolean==4){ |
| | | this.jzDataDiscount = newData; |
| | | var ffgg=0; |
| | | if(boolean3){ |
| | | newData2.forEach(HeTo => { |
| | | //根据合同价格计算一般折扣 |
| | | newData2.forEach(HeTo=>{ |
| | | HeTo = this.ComouteProductDiscount(HeTo.Id,HeTo.Category__c,HeTo.GuaranteeDiscount__c_Input, HeTo.NormalDiscount__c_Input, HeTo.GuaranteeDiscount_H_Money__c,HeTo.NormalDiscount_H_Money__c, HeTo); |
| | | if(HeTo==1||HeTo==2||HeTo==12||HeTo==3){ |
| | | ffgg=HeTo; |
| | | return ; |
| | | } |
| | | //合并折扣政策重复方案 |
| | | let jzDataDiscountx = [].concat(this.jzDataDiscount);//20230214 |
| | | let jzDataDiscountx=[].concat(this.jzDataDiscount);//20230214 |
| | | this.ConsolidatedDiscountPolicy(jzDataDiscountx); |
| | | //一般折扣更改过合同价格计算 |
| | | this.updateCommonlyDiscountLogic(HeTo.Id,HeTo.JxsType,HeTo.GuaranteeDiscount__c_Input,HeTo.NormalDiscount__c_Input,HeTo.Category__c,this.jzDataDiscount); |
| | | }); |
| | | } |
| | |
| | | this.Alert("数据修改成功", 'success'); |
| | | } |
| | | } |
| | | //刷新 |
| | | this.jzshows2 = false; |
| | | setTimeout(() => { |
| | | this.jzshows2 = true; |
| | |
| | | } |
| | | newArrsTemp = []; |
| | | newArrsTemp2 = []; |
| | | //计算一般折扣非对象品折扣 |
| | | ComouteProductDiscount(Id,Category__c,GuaranteeDiscount__c_Input, NormalDiscount__c_Input,GuaranteeDiscount_H_Money__c, NormalDiscount_H_Money__c, item) { |
| | | //todu12 |
| | | this.updateIdStr("2"); |
| | | this.updateIdStr("1"); |
| | | var reslut=ReverseCalculationModifyDiscountLogic(this.jzDataDiscount,this.jzDataProduct,Id,Category__c,GuaranteeDiscount__c_Input, NormalDiscount__c_Input,GuaranteeDiscount_H_Money__c, NormalDiscount_H_Money__c, item); |
| | |
| | | this.jzDataProduct=[].concat(arrProductTempsss);//20230214 |
| | | return reslut; |
| | | } |
| | | //一般折扣更改过合同价格计算 |
| | | updateCommonlyDiscountLogic(Id,JxsType,GuaranteeDiscount__c_Input,NormalDiscount__c_Input,Category__c,jzDataDiscount) { |
| | | //todu13 |
| | | this.updateIdStr("1"); |
| | | this.jzDataProduct=updateCDLogic(Id,JxsType,GuaranteeDiscount__c_Input,NormalDiscount__c_Input,Category__c,jzDataDiscount,this.jzDataProduct); |
| | | this.GeneralDiscountContractSummary(); |
| | | } |
| | | //更改一般折扣合同价格计算合同总价 |
| | | GeneralDiscountContractSummary(){ |
| | | this.ContractPrice = 0; |
| | | var sum = this.ContractPrice; |
| | |
| | | sum=GeneralDiscountContractSummaryLogic(sum,this.jzDataDiscount,this.jzDataFixedPrice); |
| | | this.ContractPrice = sum; |
| | | } |
| | | //折扣政策列表展示标识 |
| | | jzshows2 = true; |
| | | ///特约折扣待选方案列表选择数据 |
| | | @track SelectedFnDataSpecial = []; |
| | | //特约折扣模态框错误提示开关 |
| | | ShowSpecialIsError = false; |
| | | //特约折扣待选方案列表选中方法 |
| | | SelectedFnSpecial(event) { |
| | | let arr = event.detail.rows; |
| | | if (event.detail.rows.length > 1) { |
| | |
| | | tempObject.CompareId = GetUUID(); |
| | | this.SelectedFnDataSpecial = [tempObject]; |
| | | } |
| | | //特约折扣待选方案列表加载方法 |
| | | getTableDataSpecial(event) { |
| | | let listQuery = event.detail.listQuery; |
| | | var Agency1__c = this.QuoteData[0].Agency1__c; |
| | |
| | | if (ga.Agency__r != undefined) { |
| | | var arr = []; |
| | | this.jzDataSpecial.forEach(jzdsc => { |
| | | if (ga.Agency__c == jzdsc.Agency__c) { |
| | | if (ga.Agency__c==jzdsc.Agency__c) { |
| | | jzdsc.Agency__Name = ga.Agency__r.Name; |
| | | arr.push(jzdsc); |
| | | } else { |
| | |
| | | this.tableIsLodingSpecial = false; |
| | | }) |
| | | } |
| | | //特约折扣待选方案列表列配置 |
| | | @track |
| | | initDataTableSpecial = initDataTableSpecial2; |
| | | //特约折扣待选方案列表数据 |
| | | @track jzDataSpecial = []; |
| | | //特约折扣待选方案列表加载动图标识 |
| | | @track tableIsLodingSpecial = true; |
| | | //特约折扣待选产品列表选择数据 |
| | | @track SelectedOtherDataArr = []; |
| | | //特约折扣待选产品列表选中方法 |
| | | SelectedFnOtherData(event) { |
| | | let arr = event.detail.rows; |
| | | this.SelectedOtherDataArr = arr; |
| | | } |
| | | //特约折扣待选产品列表列配置 |
| | | @track |
| | | initDataTableOtherData = initDataTableOtherData2; |
| | | @track jzDataOtherData = []; |
| | | @track tableIsLodingOtherData = true; |
| | | //特约折扣模开关 |
| | | @track ShowSpecial; |
| | | //特约折扣待选产品列表加载方法 |
| | | getTableDataOtherData(event) { |
| | | if (!this.IsLoadingFlag1) { |
| | | return |
| | |
| | | this.jzDataOtherData = jzDataOtherDataTemp; |
| | | this.tableIsLodingOtherData = false; |
| | | } |
| | | //特约折扣待选产品列表外加载动图标识 |
| | | IsLoading5 = false; |
| | | //特约折扣待选产品展示标识 |
| | | jzshows5 = true; |
| | | // |
| | | IsLoadingFlag1 = true; |
| | | //特约折扣待选产品编辑列保存方法 |
| | | SaveSpecialDiscount(event) { |
| | | var data = event.detail.rows; |
| | | let newData = []; |
| | |
| | | var flag = false; |
| | | for (var j = 0; j < data.length; j++) { |
| | | var id = data[j].Id; |
| | | if (this.jzDataOtherData[i].Id == id) { |
| | | if (this.jzDataOtherData[i].Id==id) { |
| | | editData = { |
| | | SplitQuantity: '' |
| | | }; |
| | | //拆分次数 |
| | | editData.SplitQuantity = data[j].SplitQuantity; |
| | | flag = true; |
| | | } |
| | |
| | | newArrs.forEach(item => { |
| | | if (item.Quantity < item.SplitQuantity) { |
| | | boolean = 2; |
| | | } else if (item.SplitQuantity == 0 || item.SplitQuantity == '') { |
| | | } else if (item.SplitQuantity==0 || item.SplitQuantity=='') { |
| | | boolean = 3; |
| | | } |
| | | }); |
| | | if (boolean == 1) { |
| | | if (boolean==1) { |
| | | this.jzDataOtherData = newData; |
| | | this.ShowSpecialIsError = false; |
| | | } else if (boolean == 2) { |
| | | } else if (boolean==2) { |
| | | this.errorTiShi("修改错误,使用数量不得大于数量"); |
| | | } else if (boolean == 3) { |
| | | } else if (boolean==3) { |
| | | this.errorTiShi("修改错误,使用数量不得为0或为空"); |
| | | } |
| | | |
| | | this.jzshows5 = false; |
| | | this.IsLoading5 = true; |
| | | this.IsLoadingFlag1 = false; |
| | |
| | | this.IsLoadingFlag1 = true; |
| | | }, 2000); |
| | | } |
| | | //特约错误提示 |
| | | errorTiShi(str){ |
| | | this.ShowSpecialIsError = true; |
| | | this.ShowSpecial = true; |
| | | this.ShowSpecialError = str; |
| | | } |
| | | //特约折扣模态框取消按钮方法 |
| | | cancelSpecial() { |
| | | this.ShowSpecial = false |
| | | this.ShowSpecialIsError = false; |
| | | this.SelectedFnDataSpecial = []; |
| | | this.SelectedOtherDataArr = []; |
| | | } |
| | | //特约折扣模态框保存按钮方法 |
| | | SavesSpecial() { |
| | | this.ShowSpecialIsError = false; |
| | | this.ShowSpecial = false; |
| | |
| | | ...{}, |
| | | ...this.SelectedFnDataSpecial[0] |
| | | }; |
| | | if (this.SelectedOtherDataArr.length == 0 && this.SelectedFnDataSpecial.length != 0) { |
| | | if (this.SelectedOtherDataArr.length==0 && this.SelectedFnDataSpecial.length != 0) { |
| | | this.errorTiShi("请选择特约折扣产品!"); |
| | | } else if (this.SelectedFnDataSpecial.length == 0 && this.SelectedOtherDataArr.length != 0) { |
| | | } else if (this.SelectedFnDataSpecial.length==0 && this.SelectedOtherDataArr.length != 0) { |
| | | this.errorTiShi("请选择特约折扣方案!"); |
| | | } else if (this.SelectedFnDataSpecial.length == 0 && this.SelectedOtherDataArr.length == 0) { |
| | | } else if (this.SelectedFnDataSpecial.length==0 && this.SelectedOtherDataArr.length==0) { |
| | | this.errorTiShi("请选择特约折扣方案和产品!"); |
| | | } else { |
| | | ItempTempData.itemss = this.SelectedOtherDataArr; |
| | |
| | | this.SelectedOtherDataArr = []; |
| | | } |
| | | } |
| | | //计算折扣政策 |
| | | ComputeDiscount(id, NormalDiscount__c_Input, GuaranteeDiscount__c_Input, Category__c, JxsType) { |
| | | this.updateIdStr("1"); |
| | | var arrProductTemp = this.jzDataProduct; |
| | | this.updateIdStr("2"); |
| | | var arrTemp1 = this.jzDataDiscount; |
| | | arrTemp1.forEach(item => { |
| | | if (JxsType == '特约折扣') { |
| | | if (item.JxsType == '特约折扣') { |
| | | if (id == item.Id) { |
| | | if (JxsType=='特约折扣') { |
| | | if (item.JxsType=='特约折扣') { |
| | | if (id==item.Id) { |
| | | if (item.iftrue != "改过" && |
| | | item.GuaranteeDiscount__c_Input == undefined && |
| | | item.NormalDiscount__c_Input == undefined) { |
| | | item.GuaranteeDiscount__c_Input==undefined && |
| | | item.NormalDiscount__c_Input==undefined) { |
| | | item.GuaranteeDiscount__c_Input = item.GuaranteeDiscount__c; |
| | | item.NormalDiscount__c_Input = item.NormalDiscount__c; |
| | | } |
| | | if (NormalDiscount__c_Input == item.NormalDiscount__c_Input && |
| | | GuaranteeDiscount__c_Input == item.GuaranteeDiscount__c_Input) { |
| | | if (NormalDiscount__c_Input==item.NormalDiscount__c_Input && |
| | | GuaranteeDiscount__c_Input==item.GuaranteeDiscount__c_Input) { |
| | | arrProductTemp = ComputeDiscountAuthorizerLogic(this.newArrsTemp,this.newArrsTemp2,item,arrProductTemp); |
| | | this.newArrsTemp = newArrsTempExp; |
| | | this.newArrsTemp2 = newArrsTemp2Exp; |
| | | this.jzDataProduct = arrProductTemp; |
| | | //合同价格汇总 |
| | | this.ContractPriceCompute(); |
| | | } |
| | | } |
| | | } |
| | | } else if (JxsType == '一般折扣') { |
| | | if (item.JxsType == '一般折扣') { |
| | | if (NormalDiscount__c_Input == item.NormalDiscount__c_Input && |
| | | Category__c == item.Category__c) { |
| | | } else if (JxsType=='一般折扣') { |
| | | if (item.JxsType=='一般折扣') { |
| | | if (NormalDiscount__c_Input==item.NormalDiscount__c_Input && |
| | | Category__c==item.Category__c) { |
| | | this.newArrsTemp = []; |
| | | this.newArrsTemp2 = []; |
| | | arrProductTemp.forEach(itemss => { |
| | | if (itemss.NormalDiscount__c_Input == item.NormalDiscount__c_Input && |
| | | itemss.Category__c == item.Category__c) { |
| | | if (itemss.NormalDiscount__c_Input==item.NormalDiscount__c_Input && |
| | | itemss.Category__c==item.Category__c) { |
| | | itemss = commonlyDiscountLogic(itemss, item); //一般折扣计算逻辑 |
| | | this.newArrsTemp.push(itemss); |
| | | } else if (itemss.Category__c != item.Category__c || |
| | |
| | | } |
| | | }); |
| | | this.jzDataProduct = arrProductTemp; |
| | | //合同价格汇总 |
| | | this.ContractPriceCompute(); |
| | | } |
| | | } |
| | |
| | | }); |
| | | this.jzDataDiscount = [].concat(arrTemp1); |
| | | } |
| | | //折扣政策匹配规则 |
| | | SpecialSavesChange(SaveName, SelectedData, IdStr, CompareId) { |
| | | var newDicountData = []; |
| | | newDicountData=SpecialSavesChangePartLogic(this.jzDataDefault,SaveName, SelectedData, IdStr, CompareId,0,newDicountData,this.jzDataDiscount); |
| | | this.jzDataDefault = NewDefaultDatass; |
| | | this.jzDataProduct =this.jzDataProduct.concat(AddProductDatass); |
| | | //合同价格汇总 |
| | | this.ContractPriceCompute(); |
| | | this.jzDataDiscount = newDicountData; |
| | | } |
| | | //合并折扣政策重复方案 |
| | | ConsolidatedDiscountPolicy(SchemeSet) { |
| | | var arr = []; |
| | | arr = ConsolidatedDiscountPolicyLogic(SchemeSet, arr); |
| | | this.jzDataDiscount = [].concat(arr); |
| | | this.ConsolidatedDiscountDetails(arr); |
| | | } |
| | | //合并折扣政策产品明细 |
| | | ConsolidatedDiscountDetails(arrSchemes) { |
| | | var jzdataList = [].concat(this.jzDataProduct); |
| | | this.jzDataProduct = ConsolidatedDiscountDetailsLogic(arrSchemes, jzdataList); |
| | | } |
| | | //==========特约折扣模态框 end============= |
| | | //=========一般折扣模态框 start=========== |
| | | //一般折扣模态框开关 |
| | | @track ShowCommonly; |
| | | //一般折扣待选产品列表外加载动图标识 |
| | | IsLoading4 = false; |
| | | //一般折扣待选产品展示标识 |
| | | jzshows4 = true; |
| | | // |
| | | IsLoadingFlag = true; |
| | | //一般折扣待选产品编辑列保存方法 |
| | | SaveGeneralDiscount(event) { |
| | | var data = event.detail.rows; |
| | | let newData = SaveGeneralDiscountLogic(data,this.jzDataCommonly); |
| | | var boolean = booleanExp; |
| | | if (boolean == 1) { |
| | | if (boolean==1) { |
| | | this.jzDataCommonly = newData; |
| | | this.ShowCommonlyIsError = false; |
| | | } else if (boolean == 2) { |
| | | } else if (boolean==2) { |
| | | this.ShowCommonlyIsError = true; |
| | | this.ShowCommonlyError = "修改错误,使用数量不得大于数量"; |
| | | } else if (boolean == 3) { |
| | | } else if (boolean==3) { |
| | | this.ShowCommonlyIsError = true; |
| | | this.ShowCommonlyError = "修改错误,使用数量不得为0或为空"; |
| | | } |
| | |
| | | this.IsLoadingFlag = true; |
| | | }, 2000); |
| | | } |
| | | //一般折扣模态框取消按钮方法 |
| | | cancelCommonly() { |
| | | this.ShowCommonly = false; |
| | | this.ShowCommonlyIsError = false; |
| | |
| | | this.SaveLb = ''; |
| | | this.SaveZk = ''; |
| | | } |
| | | //一般折扣待选产品列表列配置 |
| | | @track |
| | | initDataTableCommonly = initDataTableCommonly2; |
| | | //一般折扣待选产品列表数据 |
| | | @track jzDataCommonly = []; |
| | | //一般折扣待选产品列表加载动图标识 |
| | | @track tableIsLodingCommonly = true; |
| | | //一般折扣待选方案列表加载方法 |
| | | getTableDataCommonly(event) { |
| | | if (!this.IsLoadingFlag) { |
| | | return |
| | |
| | | this.jzDataCommonly = getTableDataCommonlyLogic(this.jzDataCommonly); |
| | | this.tableIsLodingCommonly = false; |
| | | } |
| | | //一般折扣待选产品列表选择数据 |
| | | SelectedFnCommonlyData = []; |
| | | //一般折扣待选产品列表选中方法 |
| | | SelectedFnCommonly(event) { |
| | | let arr = event.detail.rows; |
| | | this.SelectedFnCommonlyData = SelectedFnCommonlyLogic(arr); |
| | | } |
| | | //产品系列数据 |
| | | SaveLb = ''; |
| | | //使用折扣数据 |
| | | SaveZk = ''; |
| | | //产品系列方法 |
| | | handleChangeLb(event) { |
| | | this.SaveLb = event.target.value; |
| | | } |
| | | //使用折扣方法 |
| | | handleChangeZk(event) { |
| | | if (event.target.value !== '') { |
| | | event.target.value = parseFloat(event.target.value) + "%"; |
| | | } |
| | | this.SaveZk = event.target.value; |
| | | } |
| | | //一般折扣模态框错误提示方法 |
| | | errorTiShiYi(str){ |
| | | this.ShowCommonlyIsError = true; |
| | | this.ShowCommonlyError = str; |
| | | } |
| | | //一般折扣模态框错误提示默认内容 |
| | | ShowCommonlyError = "请选择一般产品!"; |
| | | //一般折扣模态框错误提示开关 |
| | | ShowCommonlyIsError = false; |
| | | //一般折扣模态框取消按钮方法 |
| | | cancelSaveCommonly() { |
| | | //处理数据 |
| | | var arr = this.SelectedFnCommonlyData; |
| | | this.ShowCommonlyIsError = false; |
| | | if (this.SelectedFnCommonlyData.length != 0) { |
| | |
| | | ItempTempData.Name = '一般折扣'; |
| | | ItempTempData.JxsType = "一般折扣"; |
| | | ItempTempData.itemss = arr; |
| | | if (this.SaveLb == '' || this.SaveZk == '') { |
| | | if (this.SaveLb == '' && this.SaveZk != '') { |
| | | if (this.SaveLb=='' || this.SaveZk=='') { |
| | | if (this.SaveLb=='' && this.SaveZk != '') { |
| | | this.errorTiShiYi("请选择产品类别!"); |
| | | } else if (this.SaveZk == '' && this.SaveLb != '') { |
| | | } else if (this.SaveZk=='' && this.SaveLb != '') { |
| | | this.errorTiShiYi("请输入使用折扣!"); |
| | | } else if (this.SaveZk == '' && this.SaveLb == '') { |
| | | } else if (this.SaveZk=='' && this.SaveLb=='') { |
| | | this.errorTiShiYi("请输入使用折扣和产品类别!"); |
| | | } |
| | | } else { |
| | |
| | | this.cancelCommonly(); |
| | | this.Alert("一般折扣选择完成", 'success'); |
| | | this.ConsolidatedDiscountPolicy(this.jzDataDiscount); |
| | | //计算折扣政策价格 |
| | | this.ComputeDiscount(ItempTempData.Id, ItempTempData.NormalDiscount__c_Input, ItempTempData.GuaranteeDiscount__c, ItempTempData.Category__c, ItempTempData.JxsType); |
| | | } |
| | | } else { |
| | | this.errorTiShiYi("请选择一般产品!"); |
| | | } |
| | | } |
| | | //将产品与方案匹配 |
| | | UpdateDiscountData(arrs) { |
| | | if (this.jzDataDiscount == null || this.jzDataDiscount.length <= 0) { |
| | | if (this.jzDataDiscount==null || this.jzDataDiscount.length <= 0) { |
| | | this.jzDataDiscount = arrs; |
| | | } else { |
| | | this.jzDataDiscount = this.jzDataDiscount.concat(arrs); |
| | | } |
| | | } |
| | | //=========一般折扣模态框 end========= |
| | | //*********折扣政策 end********* |
| | | |
| | | //************产品明细 start*********** |
| | | //产品明细删除方法 |
| | | delectTableProduct(){ |
| | | this.DeleteIsChangesFnSingle(this.SelectedFnProductData); |
| | | } |
| | |
| | | list.forEach(item => { |
| | | num++; |
| | | var falg = true; |
| | | if (item.TypeName == "价格政策") { |
| | | if (item.TypeName=="价格政策") { |
| | | this.DeleteIsChangelogic(item, item.TypeName, num, list); |
| | | var TempItem = DeleteIsChangesFnjiage(this.jzDataFixedPrice,this.jzDataProduct,falg,item); |
| | | falg = falgExp; |
| | |
| | | this.SelectedFnDataFixedPrice.push(TempItem); |
| | | this.deleteFixedPriceTemp(); |
| | | } |
| | | } else if (item.TypeName == "折扣政策") { |
| | | } else if (item.TypeName=="折扣政策") { |
| | | this.DeleteIsChangelogic(item, item.TypeName, num, list); |
| | | var TempItemTOName = DeleteIsChangesFnzhekou(this.jzDataDiscount,this.jzDataProduct,falg,item); |
| | | falg = falgExp; |
| | |
| | | this.jzDataProduct = jzDataProductExp; |
| | | this.jzDataDefault = jzDataDefaultExp; |
| | | this.jzDataDefaultCopy = jzDataDefaultCopyExp; |
| | | if(boofag == 1){ |
| | | if(boofag==1){ |
| | | this.Alert("促销方案内产品型号,数量固定,不可删除明细",'error'); |
| | | }else if(boofag == 2){ |
| | | }else if(boofag==2){ |
| | | this.Alert("该产品为一般产品,不可删除明细",'error'); |
| | | } |
| | | //合同价格汇总 |
| | | this.ContractPriceCompute(); |
| | | } |
| | | delectTableDiscountTemp() { |
| | | this.jzDataDiscount = delectTableDiscountTempLogic(this.SelectedFnDataDiscount,this.jzDataDiscount); |
| | | this.SelectedFnDataDiscount = []; |
| | | } |
| | | //产品明细列表数据加载方法 |
| | | getTableDataProduct(event) { |
| | | this.tableIsLodingProduct = false; |
| | | } |
| | | //产品明细选中列表数据 |
| | | @track SelectedFnProductData = []; |
| | | //产品明细选中列表方法 |
| | | SelectedFnProduct(event) { |
| | | let arr = event.detail.rows; |
| | | this.SelectedFnProductData = arr; |
| | | } |
| | | //产品明细列表列配置 |
| | | @track |
| | | initDataTableProduct = initDataTableProduct2; |
| | | //产品明细列表数据 |
| | | @track jzDataProduct = []; |
| | | //产品明细列表加载动图标识 |
| | | @track tableIsLodingProduct = true; |
| | | //产品明细列表展示标识 |
| | | jzshows= true; |
| | | //*********产品明细 end********** |
| | | //打印客户名称 start |
| | | selection_hp = ''; |
| | | options_hp = []; |
| | | options_hpflg = true; |
| | |
| | | PrintCustomerNamehandleChange(event) { |
| | | this.selection_hp = event.detail.value; |
| | | } |
| | | // cjw start |
| | | a(){ |
| | | var jzDataToBeproduct1=this.jzDataToBeproduct; |
| | | var selectjzDataTableToBeproduct1 = this.selectjzDataTableToBeproduct; |
| | |
| | | return false; |
| | | } |
| | | } |
| | | // cjw end |
| | | } |