1
chenjingwu
2024-05-24 35910c355f74e736e2068a0ffb7f39ae9615d8e1
force-app/main/default/lwc/lexNewQuoteEntry/lexNewQuoteEntry.js
@@ -64,7 +64,6 @@
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';
@@ -86,7 +85,7 @@
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";
@@ -171,7 +170,6 @@
    QuoteDecision_Button = QuoteDecision_Button;
    @track
    Copy_Detail = Copy_Detail;
    @track
    Quote_Print = Quote_Print;
    @track
@@ -192,7 +190,6 @@
    Print_Button = Print_Button;
    @track
    QuotCalfag = false;
    quoteEntryMaxLine = QuoteEntryMaxLine2;
    @track
    IsLoading = false;
@@ -258,16 +255,16 @@
    @track
    enableContract;
    productStatusUpdated =false;
    //init查询询价相关标识 end
    //init查询询价相关标识
    //合同保修期(年)全局
    quoteGurantee_Period;
    //取消市场多年保修全局
    quotemultiYearWarranty;
    //经销商初始化时备份 start
    //经销商初始化时备份
    agency1Name;
    agency2Name;
    Saleslet = false;
    //经销商初始化时备份 end
    //经销商初始化时备份
    //数据是否发生变化标识
    newQuoteFlag = false;
    //状态更新
@@ -309,22 +306,17 @@
        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;
@@ -357,11 +349,7 @@
                                        this.jzDataToBeproduct =[].concat(resItem);
                                        this.productStatusUpdated = true;
                                        this.init();
                                    }
                                });
                            }
                        }
                    });
                                    }});}} });
                    this.trade = '外貿';
                    if(JSON.stringify(oppobj) != "{}"){
                        this.trade = oppobj.Trade__c;
@@ -372,7 +360,7 @@
                        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;
@@ -382,7 +370,6 @@
                          }
                        }
                        this.accountid = this.oppInfo.AccountId;
                        debugger
                        if (this.QuoteDecision) {
                            this.enableContract = true;
                        } else {
@@ -392,16 +379,16 @@
                        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 = {};
                                }
                            }
@@ -423,9 +410,9 @@
                    } 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;
@@ -468,7 +455,7 @@
                                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);
@@ -525,14 +512,13 @@
                        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);
@@ -552,7 +538,6 @@
        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){
@@ -562,7 +547,6 @@
                }
            }
            this.OnLoading(false);
        // }
    }
    calPriceAll() {
        this.calGuranteeAllFields();
@@ -574,7 +558,6 @@
        this.quoteAgencyTotalPriceAction();
        this.AgencyDiscountCalculation1();
    }
    //
    calGuranteeAllFields() {
        this.jzDataToBeproduct = calGuranteeAllFieldsLogic(this.jzDataToBeproduct,this.quo);
        this.jzDataToBeproduct =[].concat(this.jzDataToBeproduct);
@@ -584,28 +567,24 @@
    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();
@@ -615,9 +594,7 @@
        this.oppInfo = setOCMAmountc(this.enableSales,this.quo,this.oppInfo);
        this.quo = quoExp;
    }
    /*
    医院的合同金额 格式化为 带分位符的字段;
    */
    //医院的合同金额 格式化为 带分位符的字段;
    calFromContactPrice() {
        var x = 0;
        x = this.quo.Dealer_Final_Price_Page__c;
@@ -628,7 +605,6 @@
        this.salesProfit2();
        this.setCostTatal();
    }
    DisAmountfunction() {
        this.quo = DisAmountfunctionc(this.quo);
        this.DisCalculationfunction();
@@ -650,8 +626,7 @@
        this.quo = quoExp;
        this.salesCalculation2();
        this.salesProfit1();
    }
    }
    salesCalculation2() {
        this.SalesCalculation2value = salesCalculation2Logic(this.quo,this.Salesprofit2value,this.SalesCalculation2value)
        this.quo = quoExp;
@@ -675,8 +650,7 @@
        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);
@@ -719,7 +693,7 @@
                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);
@@ -739,7 +713,6 @@
        } catch (e) {
            this.Alert(e,'error');
        }
    }
    //替换产品otcode
    updateOtcode() {
@@ -777,13 +750,12 @@
    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();
        }
    }
@@ -826,11 +798,10 @@
    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;
        }
@@ -866,7 +837,7 @@
    sal(){
        this.tobeflag=false;
        var shut = AlertForCFDA(this.jzDataToBeproduct);
        if (shut == true) {
        if (shut==true) {
            this.Alert('提示:包含重新申请CFDA的产品,不可进行订货。','error');
        }
        var cost = CheckForCost(this.jzDataToBeproduct);
@@ -882,7 +853,6 @@
            }
            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)
@@ -901,9 +871,6 @@
                        }
                        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;
@@ -911,7 +878,8 @@
                                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');
@@ -930,8 +898,7 @@
                                this.connectedCallback();
                            }
                        }
                    }
                    }
                }
                this.nafg = resultFlag(this.nafg,Setmap);
                if(er){
@@ -972,10 +939,10 @@
            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);
                }
@@ -1004,10 +971,10 @@
            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);
                }
@@ -1033,7 +1000,7 @@
    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;
@@ -1045,7 +1012,7 @@
    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);
@@ -1060,7 +1027,7 @@
                        ...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);
@@ -1076,7 +1043,7 @@
                this.jzDataDefault = newArr;
            })
        }
        if (flag == 1) {
        if (flag==1) {
            var idArrPro = [];
            this.jzDataProduct.forEach(item => {
                idArrPro.push(item.QuiteLineitem__c);
@@ -1091,7 +1058,7 @@
                        ...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);
@@ -1115,11 +1082,11 @@
        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 => {
@@ -1130,11 +1097,11 @@
            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);
        }
    }
@@ -1234,9 +1201,6 @@
                   this.Alert(alertExp,'error');
                   this.nafg = nafgExp;
                }else{
                    if(errorflgw){
                        this.Alert(alertExp,'warning');
                    }
                    this.agency1Name =this.quo.Agency1__c;
                }
                if(flg){
@@ -1369,18 +1333,6 @@
    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;
@@ -1391,10 +1343,7 @@
        }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=>{
@@ -1436,48 +1385,37 @@
        });
        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();
@@ -1492,142 +1430,134 @@
        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--;
@@ -1635,10 +1565,10 @@
                }
            }
        }
        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');
@@ -1648,20 +1578,19 @@
    }
    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();
        }
@@ -1670,35 +1599,35 @@
        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() {
@@ -1706,58 +1635,58 @@
    }
    // 产品配套模态框关闭
    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){
@@ -1768,7 +1697,6 @@
        }else{
            this.OnLoading(true);
            setProductEntry(dataChunanshen).then(reslut=>{  
                debugger
                var tempArr=reslut.split("---");
                var errormessage=tempArr[0];
                var quoteLineItem=JSON.parse(tempArr[1]);
@@ -1787,36 +1715,35 @@
            });
            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);
@@ -1867,36 +1794,17 @@
            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=>{
            var e = result.get(item.pageObject.PricebookEntry.Product2Id);
            console.log(e);
            if(e){
                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() {
@@ -1932,14 +1840,12 @@
    @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;
@@ -1960,7 +1866,7 @@
        }else{
            this.quoteflg = true;
            if(this.QuoteDecision){
                this.pricePolicyflag = true;
                this.quoteTrialInit();
            }else{
                this.savebuttonClick();
            }
@@ -1973,37 +1879,50 @@
    //合同总价
    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) {
@@ -2111,7 +2030,6 @@
    initSearchFormFix = initSearchFormFix2;
    @track
    initDataTableFix = initDataTableFix2;
    @track jzDataFix = [];
    @track tableIsLodingFix = true;
    // 点击搜索触发
@@ -2186,9 +2104,7 @@
                }
            });
        });
    }
    //保存价格政策编辑列方法
    }
    handleSaveFixedPrice(event) {
        this.comparativeAssignment();
        let editnewDate = [];
@@ -2205,7 +2121,6 @@
                this.Alert("数据修改成功", 'success');
            });
            this.jzDataProduct = this.newArrsTemp3.concat(this.newArrsTemp4);
            //合同价格汇总
            this.ContractPriceCompute();
        } else if (boolean == 3) {
            this.Alert("修改错误,次数已经超过最大值,不可增加",'error');
@@ -2219,7 +2134,6 @@
            var str3 = str + str1;
            this.Alert(str3,'error');
        }
        //刷新
        this.jzshows3 = false;
        this.IsLoading3 = true;
        setTimeout(() => {
@@ -2229,8 +2143,6 @@
    }
    newArrsTemp3 = [];
    newArrsTemp4 = [];
    //========促销方案模态框 start=========
    // 促销方案搜索框搜索按钮方法
    searchData(event) {
        let searchParams = event.detail.searchParams || {};
        let temp = this.template;
@@ -2238,10 +2150,8 @@
            searchParams: searchParams
        });
    }
    // 促销方案搜索框配置列
    @track
    initSearchForm = initSearchForm2;
    //促销方案列表选事件
    SelectedFn(event) {
        let arr = event.detail.rows;
        if (arr.length > 1) {
@@ -2252,8 +2162,6 @@
        }
        this.cancel();
    }
    //促销方案列表加载数据
    // 后台交互,获取列表数据
    getTableData(event) {
        let listQuery = event;
        if (event.fag == undefined) {
@@ -2276,7 +2184,6 @@
        })
    }
    jzDataDefaultCopyQuantityList = [];
    // 后台交互,获取一般产品列表数据
    ifqianpi = true;
    getTableDataFix(event) {
        let listQuery = event;
@@ -2287,11 +2194,9 @@
        }
        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);
@@ -2334,14 +2239,11 @@
        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
        };
@@ -2352,16 +2254,13 @@
            }
            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 = {
@@ -2370,16 +2269,13 @@
        };
        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');
@@ -2397,20 +2293,14 @@
            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;
@@ -2424,14 +2314,13 @@
            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);
@@ -2440,7 +2329,6 @@
        this.jzDataFixedPrice = jzDataFixedPriceTemps;
        this.jzDataDiscount = jzDataDiscountTemps;
    }
    //合并重复价格政策方案
    MergeDuplicateSchemes(SchemeSet) {
        var arr = [];
        arr = MergeDuplicateSchemesLogic(this.CompareFullData,SchemeSet);
@@ -2448,22 +2336,18 @@
        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) {
@@ -2473,19 +2357,16 @@
                            }
                        }
                    }
                    //计算选择促销政策的经销商单价和小计
                    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;
@@ -2506,11 +2387,10 @@
        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 => {
@@ -2522,26 +2402,20 @@
        })
        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++) {
@@ -2559,27 +2433,20 @@
            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);
        }
@@ -2587,48 +2454,40 @@
        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,
            });
@@ -2642,55 +2501,48 @@
            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);
                });
            }
@@ -2717,7 +2569,6 @@
                this.Alert("数据修改成功", 'success');
            }
        }
        //刷新
        this.jzshows2 = false;
        setTimeout(() => {
            this.jzshows2 = true;
@@ -2725,9 +2576,7 @@
    }
    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);
@@ -2735,14 +2584,12 @@
        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;
@@ -2750,13 +2597,9 @@
        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) {
@@ -2773,7 +2616,6 @@
        tempObject.CompareId = GetUUID();
        this.SelectedFnDataSpecial = [tempObject];
    }
    //特约折扣待选方案列表加载方法
    getTableDataSpecial(event) {
        let listQuery = event.detail.listQuery;
        var Agency1__c = this.QuoteData[0].Agency1__c;
@@ -2793,7 +2635,7 @@
                    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 {
@@ -2807,28 +2649,20 @@
            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
@@ -2846,13 +2680,9 @@
        this.jzDataOtherData = jzDataOtherDataTemp;
        this.tableIsLodingOtherData = false;
    }
    //特约折扣待选产品列表外加载动图标识
    IsLoading5 = false;
    //特约折扣待选产品展示标识
    jzshows5 = true;
    //
    IsLoadingFlag1 = true;
    //特约折扣待选产品编辑列保存方法
    SaveSpecialDiscount(event) {
        var data = event.detail.rows;
        let newData = [];
@@ -2863,11 +2693,10 @@
            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;
                }
@@ -2893,19 +2722,18 @@
        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;
@@ -2918,20 +2746,17 @@
            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;
@@ -2939,11 +2764,11 @@
            ...{},
            ...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;
@@ -2960,42 +2785,40 @@
            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 ||
@@ -3004,7 +2827,6 @@
                            }
                        });
                        this.jzDataProduct = arrProductTemp;
                        //合同价格汇总
                        this.ContractPriceCompute();
                    }
                }
@@ -3012,50 +2834,39 @@
        });
        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或为空";
        }
@@ -3071,7 +2882,6 @@
            this.IsLoadingFlag = true;
        }, 2000);
    }
    //一般折扣模态框取消按钮方法
    cancelCommonly() {
        this.ShowCommonly = false;
        this.ShowCommonlyIsError = false;
@@ -3079,14 +2889,10 @@
        this.SaveLb = '';
        this.SaveZk = '';
    }
    //一般折扣待选产品列表列配置
    @track
    initDataTableCommonly = initDataTableCommonly2;
    //一般折扣待选产品列表数据
    @track jzDataCommonly = [];
    //一般折扣待选产品列表加载动图标识
    @track tableIsLodingCommonly = true;
    //一般折扣待选方案列表加载方法
    getTableDataCommonly(event) {
        if (!this.IsLoadingFlag) {
            return
@@ -3095,40 +2901,29 @@
        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) {
@@ -3138,12 +2933,12 @@
            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 {
@@ -3157,26 +2952,19 @@
                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);
    }
@@ -3185,7 +2973,7 @@
         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;
@@ -3193,7 +2981,7 @@
                     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;
@@ -3210,40 +2998,30 @@
        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;
@@ -3265,7 +3043,6 @@
    PrintCustomerNamehandleChange(event) {
        this.selection_hp = event.detail.value;
    }
    // cjw start
    a(){
        var jzDataToBeproduct1=this.jzDataToBeproduct;
        var selectjzDataTableToBeproduct1 = this.selectjzDataTableToBeproduct;
@@ -3285,5 +3062,4 @@
            return false;
        } 
    }
    // cjw end
}