1
chenjingwu
2024-05-24 dd87f17824ef510c6d1331ea36ae8b0faf57fed9
force-app/main/default/lwc/lexSINewQuoteEntry/lexSINewQuoteEntry.js
@@ -1,869 +1,3255 @@
import { LightningElement, track, wire } from 'lwc';
import jQuery from '@salesforce/resourceUrl/jquery183minjs';
export default class lexSINewQuoteEntry extends LightningElement {
   renderedCallback() {
        Promise.all([loadScript(this, jQuery)])
            .then(() => {
                // jquery183minjs已加载成功
                const $ = jQuery.noConflict();
                // 可以在这里使用jquery
            })
            .catch(error => {
                console.error('Error ====> ', error);
            })
import { LightningElement,wire,track,api} from 'lwc';
import { ShowToastEvent } from 'lightning/platformShowToastEvent';
import Quoto_No from '@salesforce/label/c.Quoto_No';
import Quoto_Name from '@salesforce/label/c.Quoto_Name';
import HP_Name from '@salesforce/label/c.HP_Name';
import Department_Name from '@salesforce/label/c.Department_Name';
import Currency from '@salesforce/label/c.Currency';
import Total_Price from '@salesforce/label/c.Total_Price';
import Contact_Price from '@salesforce/label/c.Contact_Price';
import Forecast_Amounts from '@salesforce/label/c.Forecast_Amounts';
import Sales_Root from '@salesforce/label/c.Sales_Root';
import Status_Update from '@salesforce/label/c.Status_Update';
import Set_Product from '@salesforce/label/c.Set_Product';
import Excel_Import from '@salesforce/label/c.Excel_Import';
import deleteLabel from '@salesforce/label/c.deleteLabel';
import Cost from '@salesforce/label/c.Cost';
import Calculate from '@salesforce/label/c.Calculate';
import AdjustAmount from '@salesforce/label/c.AdjustAmount';
import Quote_Adjustment from '@salesforce/label/c.Quote_Adjustment';
import Amount from '@salesforce/label/c.Amount';
import Sales_Profit from '@salesforce/label/c.Sales_Profit';
import Percent from '@salesforce/label/c.Percent';
import Sales_Name1 from '@salesforce/label/c.Sales_Name1';
import Sales_Name2 from '@salesforce/label/c.Sales_Name2';
import Error_Message33 from '@salesforce/label/c.Error_Message33';
import Opp_Button from '@salesforce/label/c.Opp_Button';
import QuoteDecision_Button from '@salesforce/label/c.QuoteDecision_Button';
import Copy_Detail from '@salesforce/label/c.Copy_Detail';
import Quote_Print from '@salesforce/label/c.Quote_Print';
import Detail_Price from '@salesforce/label/c.Detail_Price';
import Detail_Sum from '@salesforce/label/c.Detail_Sum';
import Total_Discount_Percent from '@salesforce/label/c.Total_Discount_Percent';
import Total_Discount_Amount from '@salesforce/label/c.Total_Discount_Amount';
import Row_Total_Sum from '@salesforce/label/c.Row_Total_Sum';
import Contract_Breakdown from '@salesforce/label/c.Contract_Breakdown';
import Print_HPName from '@salesforce/label/c.Print_HPName';
import Print_Button from '@salesforce/label/c.Print_Button';
import { loadStyle } from "lightning/platformResourceLoader";
import WrappedHeaderTable from "@salesforce/resourceUrl/lexdatatable";
import QuoteEntryMaxLine2 from '@salesforce/label/c.QuoteEntryMaxLine2';
import Sales_Outlet from '@salesforce/label/c.Sales_Outlet';
import OCM_Direct from '@salesforce/label/c.OCM_Direct';
import Price_Valid_Period from '@salesforce/label/c.Price_Valid_Period';
import Message_001 from '@salesforce/label/c.Message_001';
import ImportText from '@salesforce/label/c.ImportText';
import Tab_Text from '@salesforce/label/c.Tab_Text';
import Paste_IE from '@salesforce/label/c.Paste_IE';
import { CurrentPageReference } from "lightning/navigation";
import Admin from '@salesforce/label/c.ProfileId_SystemAdmin';
import Admin2 from '@salesforce/label/c.ProfileId_SystemAdmin2';
import SI2M3ID from '@salesforce/label/c.SI_2M3_ID';
import ProfSystAdmin from '@salesforce/label/c.ProfileId_SystemAdmin';
import selectQuoteById from '@salesforce/apex/lexSINewQuoteEntryController.selectQuoteById';
import selectQuoteListLineItemCount from '@salesforce/apex/lexSINewQuoteEntryController.selectQuoteListLineItemCount';
import selectQuoteLineItem from '@salesforce/apex/lexSINewQuoteEntryController.selectQuoteLineItem';
import selecUser from '@salesforce/apex/lexSINewQuoteEntryController.selecUser';
import QuotCalfagAss from '@salesforce/apex/lexSINewQuoteEntryController.QuotCalfagAss';
import selectOpportunityById from '@salesforce/apex/lexSINewQuoteEntryController.selectOpportunityById';
import selectAccountById from '@salesforce/apex/lexSINewQuoteEntryController.selectAccountById';
import getPicklistValues from '@salesforce/apex/lexSINewQuoteEntryController.getPicklistValues';
import SaveQuote from '@salesforce/apex/lexSINewQuoteEntryController.SaveQuote';
import selectOppLItem from '@salesforce/apex/lexSINewQuoteEntryController.selectOppLItem';
import Print from '@salesforce/apex/lexSINewQuoteEntryController.Print';
import QuoteDecision from '@salesforce/apex/lexSINewQuoteEntryController.QuoteDecision';
import serContact from '@salesforce/apex/lexSINewQuoteEntryController.serContact'
import serSetContact from '@salesforce/apex/lexSINewQuoteEntryController.serSetContact'
import setProductEntry from '@salesforce/apex/lexSINewQuoteEntryController.setProductEntry'
import excelImport from '@salesforce/apex/lexSINewQuoteEntryController.excelImport'
import getModulus from '@salesforce/apex/lexSINewQuoteEntryController.getModulus'
import submitOppoApplyStock from '@salesforce/apex/lexSINewQuoteEntryController.submitOppoApplyStock'
import QuoteConfirm from '@salesforce/apex/lexSINewQuoteEntryController.QuoteConfirm'
import selectProById from '@salesforce/apex/lexSINewQuoteEntryController.selectProById'
import getquoDes from '@salesforce/apex/lexSINewQuoteEntryController.getquoDes'
import getProduct2 from '@salesforce/apex/NewQuoteEntryWebService.getProduct2';
import updateOTCodeweb from '@salesforce/apex/NewQuoteEntryWebService.updateOTCode';
import getQuoteLineItem from '@salesforce/apex/NewQuoteEntryWebService.getQuoteLineItem';
import Message_Please_Save_Quote from '@salesforce/label/c.Please_Save_Quote';
import yy from '@salesforce/label/c.yingYanAssetModel';
import Message_Check_Your_Clipboard from '@salesforce/label/c.Check_Your_Clipboard';
import SelectAllDataDiscount from '@salesforce/apex/QuoteTrialController.selectAllDataDiscount';
import GetPromotionDefalut from '@salesforce/apex/QuoteTrialController.GetPromotionDefalut';
import GetPromotionPromotionSearch from '@salesforce/apex/QuoteTrialController.GetPromotionPromotionSearch';
import GetNormalProductSearch from '@salesforce/apex/QuoteTrialController.GetNormalProductSearch';
import GetAuthorizerSearch from '@salesforce/apex/QuoteTrialController.GetAuthorizerSearch';
import GetSearchProductById from '@salesforce/apex/QuoteTrialController.GetSearchProductById';
import saveAllDataProduct from '@salesforce/apex/QuoteTrialController.saveAllDataProduct';
import SelectAllDataProduct from '@salesforce/apex/QuoteTrialController.selectAllDataProduct';
import GetQuoteData from '@salesforce/apex/QuoteTrialController.GetQuoteData';
import GetAgencyRName from '@salesforce/apex/QuoteTrialController.GetAgencyRName';
import selectUpdateFiexedpriceData from '@salesforce/apex/QuoteTrialController.selectUpdateFiexedpriceData';
import selectUpdateQuoteLineItemData from '@salesforce/apex/QuoteTrialController.selectUpdateQuoteLineItemData';
import lwcCSS from '@salesforce/resourceUrl/lwcCSS';
import {yingYanCheck,qwe,lineDown,lineUp,localParseInt,toNum,initDataTableToBeproductConfig,saveEvoluationLogic,oppInfosave,quoLineItemsave,filterNameoptionList,initDataSetProductTablefig,quoteTotalPriceActionLogic,CheckForCost,actState,MarkRed,EstimationL,resultFlag,Agent1comput,
toNumComma,localParseFloat,NewQcopyLogic,productCompareLogic,bflag,jzProductsearchLogic,additionaljzProductLogic,initDataProductTablefig,checkNMPA,saveQuotel,CheckForListPrice,calGuranteePeriodLogic,initOpportunityById,enableSalesExp,nafgExp,
additionabuttonLoc,DataStatus,InitializeProductAssignment,PriceStatusUpdateLogic,newQuoteFlagex,calGuranteeAllFieldsLogic,MultiYearWarrantyTotalPriceExport,newQuoteFlagExp,AlertForCFDA,UnitPriceUpdateLogic,DisAmountfunctionc,enableContractExp,
PrintCustomerNameoptionsvlue,selection_hpExp,options_hpflgExp,initquoassignment,initquoassignmentcopy,salesProfit1Logic,salesCalculation1Logic,salesProfit2Logic,salesCalculation2Logic,SubtotalupdateLogic,alfExp,IsQuoteTrialExp,displayFlgExp,
initquocheck,lookMapE,quoteAgencyTotalPriceActionLogic,calPriceAllLogic,QuoteAdjustLogic,quoExp,AgencyDiscountCalculation1Logic,onsaveToBeproductLoc,fagExp,PrintButtonLoc,alertExp,setOCMAmountc,initOpportunityById2,decisionlol,flg,checkch,
saverebackloc,DisCalculationfunctionLoc,quoteTotalPriceLoc,calUnitPriceTotalLoc,ListPriceTotalExp,unitPriceTotalExp,pageArrangeLoc,openQuotePage,errorflg,StrExp,quoteinit,Savebuttondetermine,submitOppoApplyStockJsLogic,QuoteConfirmJsExp,
SbuttonExp,sapbuttonExp,pbuttonflgExp,selectQuoteLineExp,initQuoteLineItemcheck,productStatusUpdatedExp,Saleslet}  from "./lexSINexQuoteEntryUtil.js";
import {arrTempsss,arrProductTempsss,initDataTableProduct2,initDataTable2,initSearchForm2,getQueryVariable,ChangeFiexedData,GetUUID,initDataTableDefault2,
initSearchFormDefalt2,initDataTableFixedPrice2,initDataTableDiscount2,initDataTableSpecial2,initSearchFormFix2,initDataTableFix2,CompareDataL,isChangeExp,
initDataTableOtherData2,initDataTableCommonly2,ProductAssignmentSelect,ProductSelected,UnselectedScheme,SelectedScheme,commonlyDiscountLogic,ChangeProductData,
PriceConsolidation,ReplacementUnitPriceLogic,ConsolidatedDiscountDetailsLogic,ConsolidatedDiscountPolicyLogic,QTcssE,initquoT,buttonIsShowE,initDTFP,initDTD,initDTOD,initDTC,
addOfferLogic,ReverseCalculationModifyDiscountLogic,HeTongPriceComputeLogic,InverseCalculationTiShi,ContractPriceComputeLogic,GeneralDiscountContractSummaryLogic,handleSaveFixedPriceLogic,
SpecialSavesChangePartLogic,NewDefaultDatass,AddProductDatass,jzDataFixedPriceTemps,jzDataDiscountTemps,updatesNumsLogic,updateCDLogic,DeftCopyQtyLists,
countListAndNodLogic,jzDataDefaultExp,jzDataProductExp,jzDataFixedPriceExp,jzDataDiscountExp,comparisonUniqueKeyLogic,SearchProductByIdLogic,jzDataDefaultCopyQuantityListExp,AddNumsLogic,CompareFullDataExp,SelectedFnCommonlyLogic,
ComputeDataPromotionLogic,newArrsTemp3Exp,newArrsTemp4Exp,jzDataDefaultCopyExp,ComputeDataNormalProductLogic,ComputeDiscountAuthorizerLogic,newArrsTempExp,newArrsTemp2Exp,MergeDuplicateSchemesLogic,delectTableDiscountTempLogic,
handleSaveDiscountLogic,booleanExp,boolean2Exp,boolean3Exp,newDataExp,newData2Exp,newData3Exp,editnewDateExp,GuaranteeDiscount__cZuiXiaoExp,NormalDiscount__cZuiXiaoExp,HeTongTotalExp,SelectedFnDataFixedPriceExp,deleteFixedPriceLogic,
CompareFullDataTempExp,jzDataDefaultNotChangeExp,DeleteChangesFnLogic,deleteFixedPriceTempLogic,GetSearchProductByIdLogic,iflagExp,getTableDataCommonlyLogic,idsExp,DeleteIsChangelogicExp,DeleteIsChangesFnjiage,falgExp,
DeleteIsChangesFnzhekou,SaveGeneralDiscountLogic,DeleteSchemeMatchingLogic,savecountLogic,ComparePushDataLogic,newTempExp,saveAllDataProductFnChuanshen,saveAllDataProductFnPanduan,ifnullExp} from "./lexSIquoteTrialUtil.js";
export default class LexSINewQuoteEntry extends LightningElement {
    @wire(CurrentPageReference)
    getStateParameters(currentPageReference) {
        if (currentPageReference) {
            const urlValue = currentPageReference.state.fragment;
            if (urlValue) {
                this.location = urlValue;
            }
        }
    }
    location = '';
    @track
    pricePolicyflag1 = false;
    @track
    ImportText = ImportText;
    @track
    Tab_Text = Tab_Text;
    @track
    Paste_IE = Paste_IE;
    @track
    QuotoNo = Quoto_No;
    @track
    QuotoName = Quoto_Name;
    @track
    HPName = HP_Name;
    @track
    DepartmentName = Department_Name;
    @track
    Currency = Currency;
    @track
    TotalPrice = Total_Price;
    @track
    ContactPrice = Contact_Price;
    @track
    ForecastAmounts = Forecast_Amounts;
    @track
    SalesRoot = Sales_Root;
    @track
    StatusUpdate = Status_Update;
    @track
    SetProduct = Set_Product;
    @track
    ExcelImport = Excel_Import;
    @track
    deleteLabel = deleteLabel;
    @track
    Cost = Cost;
    @track
    Calculate = Calculate;
    @track
    AdjustAmount = AdjustAmount;
    @track
    QuoteAdjustment = Quote_Adjustment;
    @track
    Amount = Amount;
    @track
    SalesProfit = Sales_Profit;
    @track
    Percent = Percent;
    @track
    SalesName1 = Sales_Name1;
    @track
    Sales_Name2 = Sales_Name2;
    @track
    Opp_Button = Opp_Button;
    @track
    QuoteDecision_Button = QuoteDecision_Button;
    @track
    Copy_Detail = Copy_Detail;
    @track
    Quote_Print = Quote_Print;
    @track
    Detail_Price = Detail_Price;
    @track
    Detail_Sum = Detail_Sum;
    @track
    Total_Discount_Percent = Total_Discount_Percent;
    @track
    Total_Discount_Amount = Total_Discount_Amount;
    @track
    Row_Total_Sum = Row_Total_Sum;
    @track
    Contract_Breakdown = Contract_Breakdown;
    @track
    Print_HPName = Print_HPName;
    @track
    Print_Button = Print_Button;
    @track
    QuotCalfag = false;
    quoteEntryMaxLine = QuoteEntryMaxLine2;
    // 全局加载标识 start
    @track
    IsLoading = false;
    OnLoading(flag) {
        this.IsLoading = flag;
    }
    // 全局加载标识 end
    //页面初始化方法
    //初始化时调用
    stylesLoaded = false;
    renderedCallback(){
        if (!this.stylesLoaded) {
            Promise.all([loadStyle(this, WrappedHeaderTable)])
                .then(() => {
                    this.stylesLoaded = true;
                })
                .catch((error) => {
                });
        }
        Promise.all([
            loadStyle(this, lwcCSS)
        ]);
    }
    //报价对象
    @track
    quo = {Installation_location__c:'',QuotationChange__c:''};
    //询价对象
    @track
    oppInfo ={};
    //自定义结构
    @track
    qb = {};
    @track
    hidden = false;
    //成本
    hidden_Stocking_Price = '';
    //询价Id
    oppId = '';
    //报价Id
    quoId = '';
    //是否跳过报价计算标识
    SkipQuotefilg = false;
    //复制报价Id
    copyid = '';
    //内外贸
    trade = '';
    //直销经销商标识
    enableSales;
    //判断特殊经销商价格显示权限标识
    displayFlg;
    //特殊经销商价格显示权限
    viewSpecialAgencyAmout
    //当前登录用户
    User;
    //报价修改权限标识
    verified;
    //上传订单权限标识
    specialAuthority;
    //询价产品成本参照权限标识
    displayCost;
    //init查询询价相关标识 start
    QuoteDecision;
    QuoteDecide;
    QuoteSapSented;
    QuoteCorrect;
    @track
    enableContract;
    productStatusUpdated =false;
    //合同保修期(年)全局
    quoteGurantee_Period;
    //取消市场多年保修全局
    quotemultiYearWarranty;
    //经销商初始化时备份 start
    agency1Name;
    agency2Name;
    //经销商初始化时备份 end
    //数据是否发生变化标识
    newQuoteFlag = false;
    //状态更新
    productStatusUpdated = false;
    //查询询价获取客户Id
    accountid;
    //打印标识
    print_buttonflg = false;
    //decide按钮标识
    Decision_button = false;
    sap_button;
    //save和decide按钮标识
    Save_button = false;
    Decisiontag = false;
    //经销商一利润显示
    Salesprofit1value;
    //经销商二利润显示
    Salesprofit2value;
    //经销商一百分比显示
    SalesCalculation1value
    //经销商二百分比显示
    SalesCalculation2value
    //隐藏多年保修价格合计
    hidden_MultiYearWarrantyTotalPrice
    //经销商折扣
    WinOrDecideAlert;
    //备份初始化时的报价行项目
    CheckItem;
    Save_button1 = 0;
    CSVflag = true;
    UnConfirmQuote = false;
    //初始化方法
    ifquocom = false;
    acts = false;
    actL = [];
    connectedCallback() {
        this.tobeflag = false;
        this.quoteEntryMaxLine = Number(this.quoteEntryMaxLine);
        this.SkipQuotefilg = false;
        var quoteflg = true;
        this.displayFlg = true;
        this.WinOrDecideAlert = false;
        this.OnLoading(true);
        if(this.quoId == ''){
            this.quoId =  getQueryVariable('Id',this.location);
            this.CSVflag = this.quoId?false:true;
        }
        if(this.copyid == ''){
            this.copyid =  getQueryVariable('copyid',this.location);
        }
        if(this.oppId == ''){
            this.oppId =  getQueryVariable('oppid',this.location);
        }
        this.nafg = resultFlag(this.nafg,'');
        QuotCalfagAss().then(r=>{
            this.QuotCalfag = r;
        });
        selectQuoteListLineItemCount({quoId:this.quoId,oppId:this.oppId,copyid:this.copyid}).then(quoteByopp=>{
            if(this.oppId){
                if(this.copyid){
                    this.quoId =  this.copyid;
                    this.CSVflag = this.quoId?false:true;
                }
            }
            if(quoteByopp.length > 0){
                if (!this.oppId) {
                    this.oppId = quoteByopp[0].OpportunityId;
                }else if(!this.copyid){
                    quoteflg = true;
                }
            }else if(!this.copyid && this.oppId){
                quoteflg = false;
            }
            selecUser().then(Userobj=>{
                this.User = Userobj;
                console.warn('aa '+ Userobj.length);
                if(JSON.stringify(Userobj) != "{}"){
                    this.verified =this.User.Quote_Correct__c;
                    this.specialAuthority = this.User.Quote_Special_Operation__c;
                    this.displayCost = this.User.Cost_Referable__c;
                    this.viewSpecialAgencyAmout = this.User.ViewSpecialAgencyAmout__c;
                }
                selectOpportunityById({oppId:this.oppId}).then(oppobj=>{
                    this.oppInfo = oppobj;
                    var oppvalue = JSON.stringify(oppobj);
                    getModulus({oppInfoc:oppvalue}).then(rtn=>{
                        this.oppInfo.rate_hospital = rtn.rate_hospital;
                        this.oppInfo.rate_agency1 =  rtn.rate_agency1;
                        if(!this.quoId){
                            if(!quoteflg){
                                selectOppLItem({oppId:this.oppId}).then(res=>{
                                    var resItem = JSON.parse(res);
                                    if(resItem.length > 0){
                                        resItem = InitializeProductAssignment(resItem);
                                        this.jzDataToBeproduct =[].concat(resItem);
                                        this.productStatusUpdated = true;
                                        this.init();
                                    }
                                });
                            }
                        }
                    });
                    this.trade = '外貿';
                    if(JSON.stringify(oppobj) != "{}"){
                        this.trade = oppobj.Trade__c;
                        this.QuoteDecision = oppobj.Estimation_Decision__c;
                        this.QuoteDecide = this.QuoteDecision;
                        this.QuoteSapSented = oppobj.SAP_Send_OK__c;
                        this.QuoteCorrect = oppobj.New_Opportunity__c;
                        this.enableSales = false;
                        this.accountid = this.oppInfo.AccountId;
                        this.oppInfo = initOpportunityById(this.oppInfo,oppobj,this.enableSales,this.QuoteDecision,this.enableContract,this.displayFlg,this.viewSpecialAgencyAmout,Sales_Outlet,OCM_Direct);
                        this.enableSales = enableSalesExp;
                        this.enableContract = enableContractExp;
                        this.displayFlg = displayFlgExp;
                    }
                    this.Decision_button = initOpportunityById2(this.QuoteCorrect,this.User,this.QuoteDecision,this.QuoteSapSented,this.print_buttonflg,this.sap_button,this.Decision_button,this.Save_button);
                    this.Save_button = SbuttonExp;
                    if(SbuttonExp){
                        this.Decisiontag = true;
                        var lg = this.template.querySelectorAll('c-jzlookuplightning2');
                        lg.forEach(l=>{
                            l.todisabled();
                        })
                    }else{
                        this.Decisiontag = false;
                        this.initDataTableToBeproduct.columns[4].editable = true;
                    }
                    this.sap_button = sapbuttonExp;
                    this.print_buttonflg = pbuttonflgExp;
                    this.Save_button1 = Savebuttondetermine(this.oppInfo,this.Save_button1);
                    this.tobeflag = true;
                    this.OnLoading(false);
                });
            });
            getquoDes().then(it=>{
                if(this.quoId !=''){
                    selectQuoteById({quoId:this.quoId}).then(quote=>{
                        this.quo=quote;
                        selectQuoteLineItem({quoId:this.quoId,copyid:this.copyid}).then(result=>{
                            var tempArr = result.split("---");
                            var quoteLineItem = JSON.parse(tempArr[0]);
                            this.CheckItem = JSON.parse(tempArr[1]);
                            if(JSON.stringify(quote) != "{}"){
                                if(this.copyid == ''){
                                    this.quo = initquoassignment(quote,this.quo,it);
                                    this.hidden = this.quo.rtn;
                                    this.quoteGurantee_Period = quote.Gurantee_Period__c;
                                    this.quotemultiYearWarranty = quote.multiYearWarranty__c;
                                    this.agency1Name = quote.Agency1__c;
                                    this.agency2Name = quote.Agency2__c;
                                    this.Salesprofit1value = quote.Agency1_Profit__c;
                                    this.Salesprofit2value = quote.Agency2_Profit__c;
                                    this.SalesCalculation1value = quote.Agency1_Profit_Rate__c;
                                    this.SalesCalculation2value = quote.Agency2_Profit_Rate__c;
                                    this.hidden_MultiYearWarrantyTotalPrice = quote.MultiYearWarrantyTotalPrice__c;
                                    this.template.querySelector('[data-parent-id="Agency1Id"]').setvalue(this.quo.Agency1__c);
                                    this.template.querySelector('[data-parent-id="Agency2Id"]').setvalue(this.quo.Agency2__c);
                                }else{
                                    this.hidden_MultiYearWarrantyTotalPrice = quote.MultiYearWarrantyTotalPrice__c;
                                    this.quo = initquoassignmentcopy(quote,this.quo,it);
                                    this.hidden = this.quo.rtn;
                                    this.template.querySelector('[data-parent-id="Agency1Id"]').setvalue(this.quo.Agency1__c);
                                    this.template.querySelector('[data-parent-id="Agency2Id"]').setvalue(this.quo.Agency2__c);
                                }
                            }
                            var product2Ids = initquocheck(quoteLineItem,this.CheckItem);
                            var loopMap = lookMapE;
                            if(this.CheckItem.length>0){
                                var proList = JSON.stringify(product2Ids);
                                selectProById({proList:proList}).then(plo=>{
                                    if(plo.length>0){
                                        plo.forEach(prd2=>{
                                            if(prd2.SFDA_Status__c != loopMap.get(prd2.Id)){
                                                this.WinOrDecideAlert = true;
                                            }
                                        });
                                    }
                                    if(quoteLineItem.length > 0 && !this.QuoteDecision){
                                        this.productStatusUpdated = false;
                                        quoteLineItem = initQuoteLineItemcheck(quoteLineItem,this.productStatusUpdated);
                                        this.newQuoteFlag = newQuoteFlagExp;
                                        this.productStatusUpdated = productStatusUpdatedExp;
                                    }
                                    if(quoteLineItem.length > 0){
                                        quoteLineItem = InitializeProductAssignment(quoteLineItem);
                                        if(this.acts){
                                            quoteLineItem = actState(this.actL,quoteLineItem);
                                        }
                                        this.jzDataToBeproduct =[].concat(quoteLineItem);
                                    }
                                    this.init();
                                    var IsQuoteTrial =this.quo.IsQuoteTrial__c;
                                    this.ifquocom = IsQuoteTrial;
                                    if(this.copyid){
                                        this.quoId = '';
                                        this.SkipQuotefilg = true;
                                    }else{
                                        this.UnConfirmQuote = selectQuoteLineExp(quote,this.User,SI2M3ID,ProfSystAdmin,this.UnConfirmQuote);
                                        this.quo = quoExp;
                                        if(alertExp){
                                            this.Alert(alertExp,'error');
                                        }
                                    }
                                });
                            }
                        });
                        this.quo = quoteinit(this.quo);
                        this.HiddenGurantee_Period = this.quo.Gurantee_Period__c;
                    });
                }else{
                    this.quo = quoteinit(this.quo);
                    this.HiddenGurantee_Period = this.quo.Gurantee_Period__c;
                    this.quo.multiYearWarranty__c = false;
                    this.pageArrange();
                    this.hidden = it;
                }
            });
        });
        //Add Jz - kkbes 20231019 Start
        const inputAlignright = document.createElement('style');
        inputAlignright .innerText = `.input-text-align_right input{ text-align: right!important; }`;
        document.body.appendChild(inputAlignright);
        //Add Jz - kkbes 20231019 End
    }
   //    //const duration = document.getElementById('dur');
    //         //添加行 html特性增加滑动条 精琢技术 wql 2021/02/09 start
    //     //dialog 弹窗 start
    //     var popupBox;
    //     popupBox = new SimpleDialog("SpeedDialogId", false);  // 不可拖动
    //     popupBox.createDialog();
    //     //精琢技术 2021/02/08 start
    //     function openAddMultipleRow(){
    //         popupBox.setTitle("请输入需要增加的行号!");
    //         popupBox.importContentNode(document.getElementById("speedDiv"));
    //         popupBox.show(document.getElementById("speedDiv"));
    //         document.getElementById("speedDiv").style.display = 'block';
    //     }
    //     //dialog 弹窗 end
    //     // 添加行 html特性增加滑动条 精琢技术 wql 2021/02/09 end
    pageArrange(){
          this.quo = pageArrangeLoc(this.quo);
    }
    init(){
        this.EstimationListPrice();
        this.calUnitPriceTotal();
        this.quoteTotalPrice();
        this.setOCMAmount();
        this.checkProductStatusValidPeriod();
        setTimeout(() => {
            if(this.WinOrDecideAlert){
                this.Alert('产品状态发生变化。','warning');
            }
        }, 1000);
        this.calGuranteeAllFields();
        this.OnLoading(false);
    }
    calPriceAll() {
        this.calGuranteeAllFields();
        this.jzDataToBeproduct = calPriceAllLogic(this.jzDataToBeproduct);
        this.jzDataToBeproduct =[].concat(this.jzDataToBeproduct);
        this.EstimationListPrice();
        this.calUnitPriceTotal();
        this.quoteTotalPrice();
        this.quoteAgencyTotalPriceAction();
        this.AgencyDiscountCalculation1();
    }
    //
    calGuranteeAllFields() {
        this.jzDataToBeproduct = calGuranteeAllFieldsLogic(this.jzDataToBeproduct,this.quo);
        this.jzDataToBeproduct =[].concat(this.jzDataToBeproduct);
        this.hidden_MultiYearWarrantyTotalPrice = MultiYearWarrantyTotalPriceExport;
        this.quo.MultiYearWarrantyTotalPrice__c = toNumComma(MultiYearWarrantyTotalPriceExport);
    }
    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,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.setCostTatal();
    }
    setOCMAmount() {
        this.oppInfo = setOCMAmountc(this.enableSales,this.quo,this.oppInfo);
        this.quo = quoExp;
    }
    /*
    医院的合同金额 格式化为 带分位符的字段;
    */
    calFromContactPrice() {
        var x = 0;
        x = this.quo.Dealer_Final_Price_Page__c;
        x = localParseFloat(x);
        this.quo.Dealer_Final_Price_Page__c = toNumComma(x);
        this.DisAmountfunction();
        this.salesProfit1();
        this.salesProfit2();
        this.setCostTatal();
    }
    DisAmountfunction() {
        this.quo = DisAmountfunctionc(this.quo);
        this.DisCalculationfunction();
    }
    DisCalculationfunction() {
        this.quo = DisCalculationfunctionLoc(this.quo);
    }
    salesProfit1() {
        this.Salesprofit1value = salesProfit1Logic(this.quo,this.Salesprofit1value);
        this.quo = quoExp;
        this.salesCalculation1();
    }
    salesCalculation1() {
        this.SalesCalculation1value = salesCalculation1Logic(this.quo,this.Salesprofit1value,this.SalesCalculation1value);
        this.quo = quoExp;
    }
    salesProfit2() {
        this.Salesprofit2value = salesProfit2Logic(this.quo,this.Salesprofit2value);
        this.quo = quoExp;
        this.salesCalculation2();
        this.salesProfit1();
    }
    salesCalculation2() {
        this.SalesCalculation2value = salesCalculation2Logic(this.quo,this.Salesprofit2value,this.SalesCalculation2value)
        this.quo = quoExp;
    }
    setCostTatal() {
        var z = 0;
        this.jzDataToBeproduct.forEach(jzdtbt=>{
            var s = 0;
            s = localParseFloat(jzdtbt.Cost_Subtotal_c);
            if (!isNaN(s)) {
                z = z + s;
            }
        });
        this.jzDataToBeproduct =[].concat(this.jzDataToBeproduct);
        this.hidden_Stocking_Price = toNum(z);
        if (this.displayCost) {
            this.quo.Stocking_Price__c = toNumComma(z);
        }
    }
    QuoteAdjust() {
        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);
    }
    AgencyDiscountCalculation1() {
        this.jzDataToBeproduct = AgencyDiscountCalculation1Logic(this.quo,this.jzDataToBeproduct,this.QuoteDecision_Button,this.hidden_MultiYearWarrantyTotalPrice);
        this.quo = quoExp;
        this.jzDataToBeproduct =[].concat(this.jzDataToBeproduct);
    }
    Confirm_PriceRefresh = '报价作成后'+Price_Valid_Period+'天,还没有更新过价格,需要执行'+Status_Update+'?';
    checkProductStatusValidPeriod() {
        var period = this.quo.PriceRefreshPeriod;
        if (parseInt(period) > parseInt(Price_Valid_Period) && this.QuoteDecide != true) {
            if (confirm(this.Confirm_PriceRefresh)) {
                this.productCompare();
                return true;
            } else {
                return false;
            }
        }
        return true;
    }
    productCompare() {
        try {
            var returnflg;
            var b = true;
            var t = this.trade;
            var ids = new Array();
            this.jzDataToBeproduct.forEach(jzdtbt=>{
                var id =jzdtbt.pageObject.Id__c;
                if (id != '') {
                    ids.push(jzdtbt.pageObject.Id__c);
                }
            });
            getProduct2({ids:ids}).then(results=>{
                var id2Product = new Object();
                for (var j = 0; j < results.length; j++) {
                    id2Product[results[j].Id] = results[j];
                }
                var reslut = productCompareLogic(this.jzDataToBeproduct,id2Product,t,b);
                b = bflag;
                this.jzDataToBeproduct =[].concat(reslut);
                if (b == false) {
                    if (window.confirm(Message_001)) {
                        this.PriceStatusUpdate();
                        this.OnLoading(false);
                        this.calPriceAll();
                        this.quoteAgencyTotalPriceAction()
                        this.productStatusUpdated = true;
                        this.WinOrDecideAlert = false;
                        returnflg = true;
                    } else {
                        returnflg = false;
                    }
                } else {
                    this.Alert("价格状态没有变化。",'warning');
                    this.productStatusUpdated = true;
                    returnflg = false;
                }
            });
            return returnflg;
        } catch (e) {
            this.Alert(e,'error');
        }
    //     var QuoteEntryMaxLine = {!QuoteEntryMaxLine};
    //     var trade = '{!oppInfo.Trade}';
    //     var displayCost = '{!displayCost}';
    //     var quoid = '{!quoid}';
    //     var Session_ID = '{!$Api.Session_ID}';
    //     var Price_Valid_Period = '{!$Label.Price_Valid_Period}';
    //     var Message_001 = '{!$Label.Message_001}';
    //     var Message_Please_Save_Quote = '{!$Label.Please_Save_Quote}';
    //     var Message_Check_Your_Clipboard = '{!$Label.Check_Your_Clipboard}';
    //     var Error_Message3 = '{!$Label.Error_Message3}';
    //     var Error_Message11 = '{!$Label.Error_Message11}';
    //     var Error_Message29 = '{!$Label.Error_Message29}';
    //     var Error_Message33 = '{!$Label.Error_Message33}';
    //     var Error_Message34 = '{!$Label.Error_Message34}';
    //     var Error_Message35 = '{!$Label.Error_Message35}';
    //     var Error_Message36 = '{!$Label.Error_Message36}';
    //     var Error_Message40 = '{!$Label.Error_Message40}';
    //     var Confirm_ChangedAfterPrint = '打印后行信息有变化,是否继续操作(报价编码会变新)?';
    //     var Confirm_ChangedAfterBid = '该报价已成为false传票,是否继续操作(将会做出一个新的报价)?';
    //     var Confirm_PriceRefresh = '报价作成后{!$Label.Price_Valid_Period}天,还没有更新过价格,需要执行{!$Label.Status_Update}?';
    //     window.sfdcPage.appendToOnloadQueue(function() { calonLoad() });
    //     var openQuoteExcelImportWindow = null;
    //     function selectAll() {
    //         var checklist = j$("input[name='checklist']");
    //         var all = j$(escapeVfId("checkAll"));
    //         for(var i = 0; i < checklist.length; i++){
    //             if (all[0].checked == true) {
    //                 checklist[i].checked = true;
    //             } else {
    //                 checklist[i].checked = false;
    //             }
    //         }
    //     }
    //     // xudan 20140627 削除後のチェック外すロジック
    //     function clearAllCheck() {
    //         j$(escapeVfId("checkAll"))[0].checked = false;
    //         var checklist = j$("input[name='checklist']");
    //         for(var i = 0; i < checklist.length; i++){
    //             checklist[i].checked = false;
    //         }
    //     }
    // // 报价试算
    //     function JumpJs() {
    //         // console.log(ApexPages.currentPage().getParameters().get('core.apexpages.request.devconsole'));
    //         // var t = '{!quoId}';
    //         // window.open('/apex/test02?Id=' + t);
    //         blockme();
    //         Jump.call();
    //         return true;
    //     }
    //     function DownloadCsvGet(){
    //         DownloadCsv();
    //     }
    //     function DownloadCsvJs(){
    //         var a =  j$(escapeVfId("Page:mainForm:oppoidforCSV")).val();
    //         var b = '{!oppId}';
    //         //window.open('/apex/SI_CsvModel?'+(a==''?'':'id='+a)+'&'+(a==''?'':'oppId='+b)+'','name','features','replace');
    //         window.open('/apex/SI_CsvModel?id='+encodeURI(a),'name','features','replace');
    //     }
    //     function QuoteConfirmJs() {
    //         debugger
    //         // body...
    //         blockme();
    //         //SWAG-C5DBAL  【委托】 [紧急]SI询价肖寒无法修改报价单 精琢技术 2021/07/30 start
    //         //获取当前登录人简档
    //         var profileId = '{!$User.profileId}';
    //         //获取自定义标签 系统管理员简档
    //         var adminId = '{!$Label.ProfileId_SystemAdmin}';
    //         //XLIU-CHRD8P【委托】【OBSAP】请给OBSAP简档OBA2_询价管理 SI询价报价单确认权限 fy start
    //         var adminId2 = '{!$Label.ProfileId_SystemAdmin2}';
    //         var flag=true;
    //         var profileId15=profileId;
    //         if(profileId&&profileId.length>15){
    //             profileId15=profileId.substring(0,15);
    //         }
    //         if(adminId2.includes(profileId15)){
    //             flag=false;
    //         }else{
    //             flag=true;
    //         }
    //         //XLIU-CHRD8P【委托】【OBSAP】请给OBSAP简档OBA2_询价管理 SI询价报价单确认权限 fy end
    //         //只有系统管理员可以点击
    //         if(profileId!=adminId&&flag){
    //             alert('只有系统管理员和营业助理有权限确认报价!');
    //             unblockUI();
    //         }else{
    //             QuoteConfirm();
    //         }
    //         //SWAG-C5DBAL  【委托】 [紧急]SI询价肖寒无法修改报价单 精琢技术 2021/07/30 end
    //         // QuoteConfirm();
    //     }
    //     function ReloadPage() {
    //         // body...
    //         window.location.reload();
    //     }
    //     function submitOppoApplyStockJs(){
    //         // SI询价修改 update by vivek start 20191129
    //         var Save_button1 = '{!Save_button1}';
    //         console.log(Save_button1);
    //         if(Save_button1 == '111'){
    //             alert('1、联系SI本部做配置建议。\n2、请营业本部做配置建议反馈。\n3、请SI本部做配置文件检查。');
    //         }else if(Save_button1 == '211'){
    //             alert('1、请营业本部做配置建议反馈。\n2、请SI本部做配置文件检查。');
    //         }else if(Save_button1 == '221'){
    //             alert('1、请SI本部做配置文件检查。');
    //         }else if(Save_button1 == '1'){
    //             alert('1、请SI本部做配置文件检查。');
    //         }else if(Save_button1 == '112'){
    //             alert('1、联系SI本部做配置建议。\n2、请营业本部做配置建议反馈。');
    //         }else if(Save_button1 == '212'){
    //             alert('1、请营业本部做配置建议反馈。');
    //         }else{
    //             blockme();
    //             submitOppoApplyStock();
    //         }
    //         // SI询价修改 update by vivek end 20191129
    //         // blockme();
    //         // submitOppoApplyStock();
    //     }
    //     // SI业务系统流程改善和提升项目2019-10-28 by vivek start
    //     function IfRadioChecker2(){
    //         var msg = "不能删除,如果删除可能影响设备安装。\n\n请确认!";
    //         if(confirm(msg)==true){
    //             radioChecker2('del');
    //         }
    //     }
    //     // SI业务系统流程改善和提升项目2019-10-28 by vivek end
    }
    //替换产品otcode
    updateOtcode() {
        this.OnLoading(true);
        var id = this.quoId;
        var nmpa = checkNMPA(this.jzDataToBeproduct);
        if (nmpa) {
            updateOTCodeweb({tempQuoId: id}).then(results=>{
                if (results) {
                    this.Alert('产品otcode替换完成!','success');
                    window.location.reload();
                } else {
                    this.Alert('产品otcode替换失败,请联系管理员!','error');
                }
                this.OnLoading(false);
            });
        } else {
            this.OnLoading(false);
            this.Alert('报价行项目没有NMPA状态为停止的产品,无法替换!','error');
        }
    }
    PriceStatusUpdate(){
        this.setOppFromOppInfo();
        //全件洗い替えします。
        if (this.jzDataToBeproduct.length > 0) {
            this.jzDataToBeproduct = PriceStatusUpdateLogic(this.jzDataToBeproduct,this.newQuoteFlag);
            this.newQuoteFlag = newQuoteFlagex;
            this.jzDataToBeproduct =[].concat(this.jzDataToBeproduct);
            this.productStatusUpdated = true;
        }
        this.pageArrange();
        this.calPriceAll();
        this.Alert('更新完毕!','success');
    }
    //
    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) {
            this.quoteAgencyTotalPriceAction();
        }
    }
    //报价名称赋值
    QuoteNameAssignment(event){
        this.quo.QuoteName__c = event.target.value;
    }
    //最终客户成交价Change事件
    DealerFinalPricePageChange(event){
        this.quo.Dealer_Final_Price_Page__c = event.target.value;
        this.calFromContactPrice();
        this.setOCMAmount();
        this.quoteAgencyTotalPriceAction1('OCM直接销售');
    }
    //计算%的change
    QuoteAdjustCalculateChange(event){
        if(this.quo.Quote_Adjust_Calculate__c !== event.target.value){
            this.quo.Quote_Adjust_Calculate__c = event.target.value;
            this.UnitPriceUpdate();
            event.target.value = this.quo.Quote_Adjust_Calculate__c;
        }
    }
    //调整金额的change
    QuoteAdjustAmountPageChange(event){
        if(this.quo.Quote_Adjust_Amount_Page__c !== event.target.value){
            this.quo.Quote_Adjust_Amount_Page__c = event.target.value;
            this.calFromQuoAmont()
            event.target.value = this.quo.Quote_Adjust_Amount_Page__c;
        }
    }
    //经销商一合同金额change
    OCMAgent1PricePageonChange(event){
        this.quo.OCM_Agent1_Price_Page__c = event.target.value;
        this.salesProfit1();
        this.setOCMAmount();
        this.quoteAgencyTotalPriceAction1('经销商');
        this.AgencyDiscountCalculation1();
    }
    //经销商二合同金额change
    Agent1Agent2PricePageChange(event){
        this.quo.Agent1_Agent2_Price_Page__c = event.target.value;
        this.salesProfit2();
    }
    //复制按钮change
    copyToClipboardNewQuoteEntry() {
        var QuoteId = this.quoId;
        if (QuoteId == null || QuoteId == '') {
            this.Alert(Message_Please_Save_Quote,'error');
            return null;
        }
        var records;
        var x;
        var targetString = 'No.\t编码\t状态\t名称\tListPrice\t数量\t规格\t医院单价\t医院小计\t赠送\t经销商单价\t经销商小计';
        targetString += '\t多年保修\t保修\tNoDiscount小计';
        targetString += '\t保修期\t通货';
        try {
            getQuoteLineItem({
                quoId: QuoteId
            }).then(reslut=>{
                NewQcopyLogic(Message_Check_Your_Clipboard,records,x,targetString,reslut,this.displayCost,this.oppInfo.CurrencyIsoCode);
                if(alfExp){
                    this.Alert(alertExp,'success');
                }else{
                    this.Alert(alertExp,'error');
                }
            });
        } catch (e) {
            this.Alert(e.faultcode + ',' + e.faultstring,'error');
        }
    }
    @track
    nafg={};
    //保存报价按钮
    savebuttonClick(){
        if(!this.yyEvent()) return;
        this.OnLoading(true);
        this.checkchangedAfterPrint('sa');
        if(this.fg){
            this.sal();
        }
    }
    sal(){
        this.tobeflag=false;
        var shut = AlertForCFDA(this.jzDataToBeproduct);
        if (shut == true) {
            this.Alert('提示:包含重新申请CFDA的产品,不可进行订货。','error');
        }
        var cost = CheckForCost(this.jzDataToBeproduct);
        if (cost) {
            this.Alert('产品成本为空时不可报价!','error');
            this.OnLoading(false);
            this.tobeflag=true;
        } else {
            var er = '';
            var listPrice = CheckForListPrice(this.jzDataToBeproduct);
            if (listPrice) {
                er = '目前产品定价未确定,请于产品本部联系确认!';
            }
            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);
            SaveQuote(SaveQuotecan).then(resaut=>{
                var Setmap = new Map()
                var key = Object.keys(resaut)
                key.forEach(item=>{
                    Setmap.set(item,resaut[item]);
                });
                if(Setmap.has('errormessage')){
                    er += Setmap.get('errormessage');
                    this.quoteflg = false;
                }else{
                    if(this.Sback){
                        window.open('/' +this.oppId, '_self');
                    }else{
                        if(Setmap.has('QuoteNo')){
                            this.quo.Quote_No__c = Setmap.get('QuoteNo');
                        }
                        this.agency1Name =this.quo.Agency1__c;
                        if(this.quoteflg){
                            if(Setmap.has('quoId')){
                                this.quoId = Setmap.get('quoId');
                                this.CSVflag = this.quoId?false:true;
                                this.quo.IsQuoteTrial__c = false;
                                this.ifquocom = false;
                                this.quoteGurantee_Period = this.quo.Gurantee_Period__c;
                                this.quotemultiYearWarranty = this.quo.multiYearWarranty__c;
                            }
                            this.index = 3;
                            this.quoteTrialInit();
                        }else{
                            if(Setmap.has('warn')){
                                this.Alert(Setmap.get('warn'),'warning');
                                this.jzDataToBeproduct = actState(Setmap.get('act'),this.jzDataToBeproduct);
                                this.acts = true;
                                this.actL = Setmap.get('act');
                            }else{
                                this.Alert(Setmap.get('success'),'success');
                            }
                            if(Setmap.has('quoId')){
                                this.quoId = Setmap.get('quoId');
                                this.CSVflag = this.quoId?false:true;
                                window.open('/lightning/n/lexSINewQuoteEntry#Id=' + Setmap.get('quoId'), '_self');
                                this.location = 'Id='+ Setmap.get('quoId');
                                this.copyid = '';
                                this.oppId = '';
                                this.connectedCallback();
                            }
                        }
                    }
                }
                this.nafg = resultFlag(this.nafg,Setmap);
                if(er){
                    this.Alert(er,'error');
                }
                this.tobeflag=true;
                this.OnLoading(false);
            });
            return true;
        }
    }
    //备货确认申请
    submitOppoApplyStockJs(){
        this.OnLoading(true);
        var flag =submitOppoApplyStockJsLogic(this.Save_button1);
        if(flag){
            submitOppoApplyStock({oppIdc:this.oppId,quoIdc:this.quoId}).then(rlt=>{
                var relt = rlt.split('errorss:');
                if(relt.length<2){
                    this.Alert(relt[0],'success');
                }else{
                    this.Alert(relt[1],'error');
                }
                this.OnLoading(false);
            });
        }else{
            this.Alert(alertExp,'error');
            this.OnLoading(false);
        }
    }
    DownloadCsvGet(){
        window.open('/apex/SI_CsvModel?id='+encodeURI(this.quoId),'name','features','replace');
    }
    QuoteConfirmJs(){
        this.OnLoading(true);
        var a = QuoteConfirmJsExp(this.User,Admin,Admin2);
        if(a){
            this.Alert(alertExp,'error');
        }else{
            QuoteConfirm({quoid:this.quoId}).then(res=>{
                var relt = res.split('errorss:');
                if(relt.length > 2){
                    this.Alert(relt[1],'error');
                }
                this.OnLoading(false);
                window.location.reload();
            });
        }
    }
    //价格政策表单开关标识符
    jzDataTableFixedPriceIsShow = false;
    //报价计算初始化
    quoteTrialInit(){
        this.OnLoadSavesDatas();
        this.OnLoadQuoteData(this.quoId);
        var event = {
            page: 1,
            pageLimit: 10,
            search: "",
            sortOrder: "asc",
            sortPlus: undefined,
            fag: true
        };
        setTimeout(() => {
            this.getTableDataFix(event);
            this.getTableData(event);
        }, 1000);
    }
    OnLoadProduct = []; //未选择产品
    OnLoadSaveProduct = []; //已选择产品
    OnLoadDiscount = []; //折扣政策
    OnLoadFixDiscount = []; //价格政策
    flagall = false;
    OnLoadSavesDatas() {
        //获取产品数据
        SelectAllDataDiscount({
            ParamIdStr: this.quoId
        }).then(result => {
            result.forEach(item => {
                if (item.ismatch__c == "0") {
                    item = ProductAssignmentSelect(item);
                    this.OnLoadProduct.push(item);
                } else if (item.ismatch__c == "1") {
                    item = ProductSelected(item);
                    this.OnLoadSaveProduct.push(item);
                }
            })
            var arrss = [].concat(this.OnLoadSaveProduct);
            this.addOffer(arrss);
            this.comparisonUniqueKey();
            if (this.OnLoadProduct != undefined && this.OnLoadProduct.length > 0) {
                this.flagall = true;
                this.jzDataDefault = this.OnLoadProduct;
                if (this.jzDataDefault != undefined && this.jzDataDefault.length > 0) {
                    this.UpdateSaveDataQuoteLineItemSelectByID(0);
                }
            }
            if (this.OnLoadSaveProduct != undefined && this.OnLoadSaveProduct.length > 0) {
                this.flagall = true;
                this.jzDataProduct = this.OnLoadSaveProduct;
                if (this.jzDataProduct != undefined && this.jzDataProduct.length > 0) {
                    this.UpdateSaveDataQuoteLineItemSelectByID(1);
                }
                this.updateIdStr("1");
                this.ContractPriceCompute();
            }
        })
        //获取 折扣方案数据  UpdateBy 2021 06 29
        SelectAllDataProduct({
            ParamIdStr: this.quoId
        }).then(result => {
            result.forEach(items => {
                if (items.typess__c == "折扣政策") {
                    items = UnselectedScheme(items);
                    this.OnLoadDiscount.push(items);
                } else if (items.typess__c == "价格政策") {
                    items = SelectedScheme(items)
                    this.OnLoadFixDiscount.push(items);
                }
            })
            this.comparisonUniqueKey();
            if (this.OnLoadFixDiscount != undefined && this.OnLoadFixDiscount.length > 0) {
                this.jzDataFixedPrice = this.OnLoadFixDiscount;
                if (this.jzDataFixedPrice != undefined && this.jzDataFixedPrice.length > 0) {
                    this.UpdateSaveDataFixedPriceSelectByID();
                }
            }
            if (this.OnLoadDiscount != undefined && this.OnLoadDiscount.length > 0) {
                this.jzDataDiscount = this.OnLoadDiscount;
                this.updateIdStr("2");
            }
        })
    }
    //合并上一次的报价行
    lastQuotation = [];
    addOffer(TrialLine) {
        this.lastQuotation = [].concat(addOfferLogic(TrialLine));
    }
    index = 3;
    comparisonUniqueKey() {
        this.index--;
        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;
            this.jzDataFixedPrice = jzDataFixedPriceExp;
            this.jzDataDiscount = jzDataDiscountExp;
            this.ContractPriceCompute()
        }
    }
    Complate = false;
    //从数据库更新已保存的数据 产品  UpdateBy 2021 06 29
    UpdateSaveDataQuoteLineItemSelectByID(flag) {
        if (flag == 0) {
            var idArr = [];
            this.jzDataDefault.forEach(item => {
                idArr.push(item.QuiteLineitem__c);
            })
            selectUpdateQuoteLineItemData({
                ItemId: idArr
            }).then(result => {
                var newArr = [];
                this.jzDataDefault.forEach(dp => {
                    var temp = {
                        ...{},
                        ...dp
                    };
                    result.forEach(item => {
                        if (item.Id == temp.QuiteLineitem__c) {
                            var keys = Object.keys(temp);
                            keys.forEach(k => {
                                var flag = ChangeProductData(k);
                                if (flag && item[k] != undefined && item[k] != temp[k]) {
                                    this.Complate = true;
                                    temp[k] = item[k];
                                }
                            })
                        }
                    })
                    newArr.push(temp);
                })
                this.jzDataDefault = newArr;
            })
        }
        if (flag == 1) {
            var idArrPro = [];
            this.jzDataProduct.forEach(item => {
                idArrPro.push(item.QuiteLineitem__c);
            })
            selectUpdateQuoteLineItemData({
                ItemId: idArrPro
            }).then(result => {
                var newArr = [];
                this.jzDataProduct.forEach(dp => {
                    var temp = {
                        ...{},
                        ...dp
                    };
                    result.forEach(item => {
                        if (item.Id == temp.QuiteLineitem__c) {
                            var keys = Object.keys(temp);
                            keys.forEach(k => {
                                var flag = ChangeProductData(k);
                                if (flag && item[k] != undefined && item[k] != temp[k]) {
                                    this.Complate = true;
                                    temp[k] = item[k];
                                }
                            })
                        }
                    })
                    newArr.push(temp);
                })
                this.jzDataProduct = newArr;
                //解决删除样式不更新问题
                this.updateIdStr("1");
                //合同价格汇总
                this.ContractPriceCompute();
            })
        }
    }
    //删除时需要用的唯一id的添加
    updateIdStr(str) {
        var newArr = [];
        var indexNum = 0;
        var jzdpdc = [];
        if (str == "1") {
            jzdpdc = [].concat(this.jzDataProduct);
        } else if (str == "2") {
            jzdpdc = [].concat(this.jzDataDiscount);
        } else if (str == "3") {
            jzdpdc = [].concat(this.jzDataFixedPrice);
        }
        jzdpdc.forEach(item => {
            indexNum++;
            var temp = {
                ...item
            };
            temp.DelectId = indexNum;
            newArr.push(temp);
        })
        if (str == "1") {
            this.jzDataProduct = [].concat(newArr);
        } else if (str == "2") {
            this.jzDataDiscount = [].concat(newArr);
        } else if (str == "3") {
            this.jzDataFixedPrice = [].concat(newArr);
        }
    }
    //合同价格汇总
    ContractPrice = 0;
    ContractPriceCompute() {
        this.HeTongPriceCompute();
        this.ContractPrice = 0;
        var sum = this.ContractPrice;
        sum = parseFloat(sum);
        sum=ContractPriceComputeLogic(sum,this.jzDataProduct,this.jzDataDiscount,this.jzDataFixedPrice);
        this.ContractPrice = sum;
    }
    HeTongPriceCompute() {
        var HeTongPriceList = [];
        HeTongPriceList=HeTongPriceComputeLogic(this.jzDataDiscount,this.jzDataProduct);
        if (HeTongPriceList.length > 0) {
            this.jzDataDiscount = HeTongPriceList;
        }
    }
    //从数据库更新已保存的数据 方案  UpdateBy 2021 06 29
    UpdateSaveDataFixedPriceSelectByID() {
        var idArr = [];
        this.jzDataFixedPrice.forEach(item => {
            idArr.push(item.Id);
        })
        selectUpdateFiexedpriceData({
            ProId: idArr
        }).then(result => {
            var newArr = [];
            this.jzDataFixedPrice.forEach(dp => {
                var temp = {
                    ...{},
                    ...dp
                };
                result.forEach(item => {
                    if (item.Id == temp.Id) {
                        var keys = Object.keys(temp);
                        keys.forEach(k => {
                            var flag = ChangeFiexedData(k);
                            if (flag && item[k] != undefined && item[k] != temp[k]) {
                                temp[k] = item[k];
                                this.Complate = true;
                            }
                        })
                    }
                })
                newArr.push(temp);
            })
            this.jzDataFixedPrice = newArr;
            this.updateIdStr("3");
        })
    }
    //加载报价数据
    QuoteData = [];
    OnLoadQuoteData(idStr) { //idStr  报价id
        GetQuoteData({
            QuoteID: idStr
        }).then(result => {
            var responseObj = JSON.parse(result);
            this.QuoteData = initquoT(responseObj,this.buttonIsShow,this.initDataTableFixedPrice,this.initDataTableDiscount,this.initDataTableOtherData,this.initDataTableCommonly);
            this.buttonIsShow = buttonIsShowE;
            this.initDataTableFixedPrice = initDTFP;
            this.initDataTableDiscount = initDTD;
            this.initDataTableOtherData = initDTOD;
            this.initDataTableCommonly = initDTC;
            this.jzDataTableFixedPriceIsShow = true;
            this.jzDataTableDiscountIsShow = true;
            this.QTcss = QTcssE(this.pricePolicyflag);
            this.pricePolicyflag = true;
            if(!this.QuoteDecision){
                this.Save_button = true;
                this.Decision_button = true;
            }
        })
    }
    //打印按钮
    PrintButton(){
        if(!this.yyEvent()) return;
        var id = this.quoId;
        if (id == null || id == '') {
            this.Alert(Error_Message33,'error');
            return false;
        }
        return this.chkEstimation_Entry_Possibility(id);
    }
    chkEstimation_Entry_Possibility(q) {
        try {
            this.OnLoading(true);
            var dataChun = PrintButtonLoc(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.QuoteDecision,this.agency1Name)
            Print(dataChun).then(resaut=>{
                this.quoId = saverebackloc(resaut,this.quoId,this.nafg);
                this.CSVflag = this.quoId?false:true;
                this.OnLoading(false);
                if(errorflg){
                   this.Alert(alertExp,'error');
                   this.nafg = nafgExp;
                }else{
                    this.agency1Name =this.quo.Agency1__c;
                }
                if(flg){
                    this.location = 'Id='+ this.quoId;
                    this.copyid = '';
                    this.oppId = '';
                    this.connectedCallback();
                }
                openQuotePage(this.quo.Contract__c,errorflg,this.quoId);
            });
        } catch (e) {
            this.Alert(e,'error');
        }
    }
    //不保存返回按钮
    noSaveback(){
        window.open('/' +this.oppId, '_self');
    }
    //保存并返回
    Sback = false;
    Saveandback(){
        this.Sback = true;
        this.savebuttonClick();
    }
    //decide报价按钮
    decisionbuttonClick(){
        if(!this.yyEvent()) return;
        this.checkchangedAfterPrint('de');
        if(this.fg){
            this.decisionlo();
        }
    }
    decisionlo(){
        var ff = decisionlol(this.jzDataToBeproduct,this.oppInfo,this.QuotationCalculationFag);
        if(ff){
            this.Alert(alertExp,'error');
        }else{
            this.chkSalesPossibilityDecision();
        }
    }
    chkSalesPossibilityDecision() {
        try {
            this.tobeflag=false;
            var quoc = saveEvoluationLogic(this.quo,this.oppInfo,this.jzDataToBeproduct);
            var oppInfoc = oppInfosave;
            var quoLineItemc = quoLineItemsave;
            var quoLineItemCan = JSON.stringify(quoLineItemc);
            var CheckItemCan = JSON.stringify(this.CheckItem);
            var oppInfoCan = JSON.stringify(oppInfoc);
            var quoCan = JSON.stringify(quoc);
            this.OnLoading(true);
            if(this.WinOrDecideAlert &&(!this.productStatusUpdated)){
                this.PriceStatusUpdate();
            }
            QuoteDecision({activitiesCan:quoLineItemCan,
                CheckItemCan:CheckItemCan,
                WinOrDecideAlertc:this.WinOrDecideAlert,
                productStatusUpdatedc:this.productStatusUpdated,
                oppInfoc:oppInfoCan,
                quoc:quoCan,
                enableSalesc:this.enableSales,
                oppIdc:this.oppId,
                quoIdc:this.quoId,
                newQuoteFlagc:this.newQuoteFlag,
                changedAfterPrintc:this.changedAfterPrint,
                quoteGurantee_Periodc:this.quoteGurantee_Period,
                quotemultiYearWarrantyc:this.quotemultiYearWarranty,
                selection_hpc:this.selection_hp,
                SkipQuotefilgc:this.SkipQuotefilg,
                agency1Namec:this.agency1Name
            }).then(resaut=>{
                var Setmap = new Map()
                var key = Object.keys(resaut)
                key.forEach(item=>{
                    Setmap.set(item,resaut[item]);
                });
                if(Setmap.has('errormessage')){
                    this.Alert(Setmap.get('errormessage'),'error');
                    if(Setmap.get('act')){
                        this.jzDataToBeproduct = actState(Setmap.get('act'),this.jzDataToBeproduct);
                        this.acts = true;
                        this.actL = Setmap.get('act');
                    }
                }else{
                    this.agency1Name =this.quo.Agency1__c;
                    if(Setmap.has('warn')){
                        this.Alert(Setmap.get('warn'),'warning');
                        this.jzDataToBeproduct = actState(Setmap.get('act'),this.jzDataToBeproduct);
                        this.acts = true;
                        this.actL = Setmap.get('act');
                    }else{
                        this.Alert(Setmap.get('success'),'success');
                    }
                    this.QuoteDecision = true;
                    this.enableContract = true;
                    this.Save_button = true;
                    this.Decisiontag = true;
                    var lg = this.template.querySelectorAll('c-jzlookuplightning2');
                        lg.forEach(l=>{
                            l.todisabled();
                        })
                    this.initDataTableToBeproduct.columns[4].editable = false;
                    if (this.QuoteDecision == false) {
                        this.sap_button = true;
                    } else if (this.specialAuthority == false) {
                        this.sap_button = true;
                    } else {
                        this.sap_button = false;
                    }
                    this.Decision_button = true;
                }
                if(Setmap.has('quoId')){
                    window.open('/lightning/n/lexSINewQuoteEntry#Id=' + Setmap.get('quoId'), '_self');
                    this.location = 'Id='+ Setmap.get('quoId');
                    this.copyid = '';
                    this.oppId = '';
                    this.quoId = '';
                    this.connectedCallback();
                }
                this.nafg = resultFlag(this.nafg,Setmap);
                this.tobeflag=true;
                this.OnLoading(false);
            });
            return true;
        } catch (e) {
            this.Alert(e,'error');
        }
    }
    //保存判断是否生成新报价标识
    fg = true;
    changedAfterPrint = false;
    QuotationCalculationFag = false;
    checkchangedAfterPrint(dec) {
        this.fg = true;
        var id = this.quoId;
        this.changedAfterPrint = false;
        var detailChanged = false;
        if (!id) {
            return;
        }else{
            this.fg = false;
        }
        var activities = checkch(this.jzDataToBeproduct);
        getQuoteLineItem({
            quoId: id
        }).then(results=>{
            var quote_Date__c = null;
            if (results.length > 0) {
                quote_Date__c = results[0]['Quote']['Quote_Date__c'];
            }
            if (!detailChanged) {
                if (activities.length != results.length) {
                    detailChanged = true;
                }
            }
            if (!detailChanged) {
                for (var j = 0; j < results.length; j++) {
                    if (results[j].PricebookEntryId != activities[j].PricebookEntryId ||
                        results[j].SFDA_Status__c != activities[j].SFDA_Status__c ||
                        results[j].UnitPrice__c != activities[j].UnitPrice__c ||
                        results[j].ListPrice__c != activities[j].ListPrice__c ||
                        results[j].Quantity != activities[j].Quantity
                    ) {
                        detailChanged = true;
                        break;
                    }
                }
            }
            if (detailChanged) {
                this.changedAfterPrint = true;
            }
            if(detailChanged && !this.changedAfterPrint){
                this.QuotationCalculationFag= true;
            }else{
                this.QuotationCalculationFag= false;
            }
            if(dec === 'de'){
                this.decisionlo();
            }else if(dec === 'sa'){
                this.sal();
            }
        });
        return;
    }
    calFromQuoAmont() {
        var x = 0,
            y = 0;
        x = this.quo.hidden_Estimation_List;
        x = localParseFloat(x);
        y = this.quo.Quote_Adjust_Amount_Page__c;
        this.quo.Quote_Adjust_Amount_Page__c = toNumComma(y);
        y = localParseFloat(y);
        var noDiscountPriceTotal = this.hidden_MultiYearWarrantyTotalPrice;
        noDiscountPriceTotal = localParseFloat(noDiscountPriceTotal);
        this.quo.QuoteTotal_Page__c = toNumComma(y + x + noDiscountPriceTotal);
        var id = this.quoId;
        // if(!id){
            var IsQuoteTrial = this.quo.IsQuoteTrial__c;
            if(!IsQuoteTrial){
                this.quo = Agent1comput(this.quo,this.Saleslet,this.oppInfo);
                this.setOCMAmount();
                this.calFromContactPrice();
            }
        // }
        if (y == 0) {
            this.quo.Quote_Adjust_Calculate__c = 0;
            this.UnitPriceUpdate();
        } else {
            this.quoteTotalPriceAction();
        }
    }
    UnitPriceUpdate() {
        this.jzDataToBeproduct = UnitPriceUpdateLogic(this.quo,this.jzDataToBeproduct,this.QuoteDecision_Button);
        this.quo = quoExp;
        this.jzDataToBeproduct =[].concat(this.jzDataToBeproduct);
        this.Subtotalupdate();
        this.calUnitPriceTotal();
        this.quoteTotalPrice();
    }
    Subtotalupdate() {
        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 =[].concat(this.jzDataToBeproduct);
        this.quo = quoExp;
        this.calUnitPriceTotal();
        this.QuoteAdjust();
        this.DisAmountfunction();
    }
    //取消市场多年保修change事件
    multiYearWarrantyChange(event){
        this.quo.multiYearWarranty__c = event.detail.checked;
        this.calPriceAll();
    }
    //主机不带监视器台车change事件
    MainEngineWithoutMonitorChange(event){
        this.quo.MainEngineWithoutMonitor__c = event.detail.checked;
    }
    //跨科室change事件
    InterdepartmentalChange(event){
        this.quo.Interdepartmental__c = event.detail.checked;
        this.calPriceAll();
    }
    //单价change事件
    UnitPriceChange(event){
        this.quo.Unit_Price__c = event.detail.checked;
    }
    //报价金额change事件
    OfferAmountChange(event){
        this.quo.Offer_Amount__c = event.detail.checked;
    }
    //报价总额change事件
    TOTALChange(event){
        this.quo.TOTAL__c = event.detail.checked;
    }
    //优惠折扣change事件
    DiscountChange(event){
        this.quo.Discount__c = event.detail.checked;
    }
    //优惠价格change事件
    PricingChange(event){
        this.quo.Pricing__c = event.detail.checked;
    }
    //优惠成交价change事件
    PreferentialTradingPriceChange(event){
        this.quo.Preferential_Trading_Price__c = event.detail.checked;
    }
    //保修年限change事件
    PreferentialGuranteePeriodChange(event){
        this.quo.Preferential_Gurantee_Period__c = event.detail.checked;
    }
    //合同配置change事件
    ContractcChange(event){
        this.quo.Contract__c = event.detail.checked;
    }
    //主机装机地 start
    //主机装机地 optionList
    HostInstallationLocationoptionsvalue = [];
    get HostInstallationLocationoptions() {
        if(this.HostInstallationLocationoptionsvalue.length<=0){
            getPicklistValues({objstr:'Quote',fld:'Installation_location__c',ifempty:true}).then(keyvalue=>{
                this.HostInstallationLocationoptionsvalue = keyvalue;
            });
        }else{
            return this.HostInstallationLocationoptionsvalue
        }
    }
    HostInstallationLocationhandleChange(event) {
        this.quo.Installation_location__c = event.detail.value;
    }
    //合同保修期(年)optionList
    ContractWarrantyPeriodYearOptionsvalue = [];
    get ContractWarrantyPeriodYearOptions() {
        if(this.ContractWarrantyPeriodYearOptionsvalue.length<=0){
            getPicklistValues({objstr:'Quote',fld:'Gurantee_Period__c',ifempty:false}).then(keyvalue=>{
                this.ContractWarrantyPeriodYearOptionsvalue = keyvalue;
            });
        }else{
            return this.ContractWarrantyPeriodYearOptionsvalue
        }
    }
    ContractWarrantyPeriodYearHandleChange(event) {
        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);
        this.jzDataToBeproduct =[].concat(this.jzDataToBeproduct);
    }
    //合同保修期(年)end
    //报价变化 optionList
    QuotationChangesOptionsvalue = [];
    get QuotationChangesOptions() {
        if(this.QuotationChangesOptionsvalue.length<=0){
            getPicklistValues({objstr:'Quote',fld:'QuotationChange__c',ifempty:true}).then(keyvalue=>{
                this.QuotationChangesOptionsvalue = keyvalue;
            });
        }else{
            return this.QuotationChangesOptionsvalue
        }
    }
    QuotationChangesHandleChange(event) {
        this.quo.QuotationChange__c = event.detail.value;
    }
    //报价变化 end
    //     function changeV() {
    //         var speed = document.getElementById('speed');
    //         //durVal = parseFloat(duration.value);
    //         spdVal = parseFloat(speed.value);
    //         //const durationPercent = parseFloat(durVal, 2) * 100
    //         const speedPercent = parseFloat((spdVal / 100), 2)*100;
    //         //duration.style.backgroundSize = `${durationPercent}%, 100%`
    //         speed.style.background = `linear-gradient(to right, #ffa200, white ${speedPercent}%, white`
    //         document.getElementById("addMultipleRow").value= speed.value;
    //     };
    //     function changeI() {
    //         var speed = document.getElementById('speed');
    //         //durVal = parseFloat(duration.value);
    //         spdVal = parseFloat(document.getElementById("addMultipleRow").value);
    //         //const durationPercent = parseFloat(durVal, 2) * 100
    //         const speedPercent = parseFloat((spdVal / 100), 2)*100;
    //         //duration.style.backgroundSize = `${durationPercent}%, 100%`
    //         speed.style.background = `linear-gradient(to right, #ffa200, white ${speedPercent}%, white`
    //         speed.value = document.getElementById("addMultipleRow").value;
    // 经销商一名称输入框 start
    onsearchchange1(event){
        this.quo.Agency1__c = event.detail.value;
    }
    // 经销商一名称输入框 end
    //     };
    // 经销商二名称输入框 start
    onsearchchange2(event){
        this.quo.Agency2__c = event.detail.value;
    }
    // 经销商二名称输入框 end
    //报价产品选中数据
    @track
    selectjzDataTableToBeproduct = [];
    SelectedToBeproduct(event) {
        let arr = event.detail.rows;
        this.selectjzDataTableToBeproduct = arr;
    }
    //删除报价产品按钮
    deletejzDataToBeproduct(){
        var msg = "不能删除,如果删除可能影响设备安装。\n\n请确认!";
        if(confirm(msg)){
            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);
            this.jzDataToBeproduct =[].concat(ItemL);
            if(this.jzDataToBeproduct.length!=num){
                this.quo.IsQuoteTrial__c = false;
            }
            console.warn(this.jzDataToBeproduct.length);
            this.calPriceAll();
        }
    }
    getTableDataToBeproduct(event) {
    }
    @track jzDataToBeproduct = [];
    @track tableIsLodingToBeproduct = false;
    @track
    initDataTableToBeproduct = initDataTableToBeproductConfig;
    @track
    tobeflag = true
    //报价产品编辑列
    onsaveToBeproduct(event){
        this.tobeflag = false
        var data = event.detail.rows;
        this.jzDataToBeproduct = onsaveToBeproductLoc(data,this.jzDataToBeproduct);
        if(fagExp){
            this.quo.IsQuoteTrial__c = false;
            this.quoteAgencyTotalPriceAction();
            this.AgencyDiscountCalculation1();
        }
        this.updateNoDiscountPricetotal();
        this.EstimationListPrice();
        this.calUnitPriceTotal();
        this.quoteTotalPrice();
        setTimeout(() => {
            this.tobeflag = true;
        },1);
    }
    // 计算 No Discount Price合计
    updateNoDiscountPricetotal() {
        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;
            if (jzdtbt.NoDiscountTotal__c) {
                jzdtbt.NoDiscountTotal__c = toNumComma(noDiscountPrice * Quantity);
            }
        });
        this.jzDataToBeproduct =[].concat(this.jzDataToBeproduct);
        this.hidden_MultiYearWarrantyTotalPrice = noDiscountPriceTotal;
        this.quo.MultiYearWarrantyTotalPrice__c = toNumComma(noDiscountPriceTotal);
    }
    //     //SFDC停止预警(预计消耗到期日标红) lt 20210928 add start
    //     MarkRed();
    //     //SFDC停止预警(预计消耗到期日标红) lt 20210928 add end
}
    handleRowAction(event){
        const actionName = event.detail.row;
    }
    //========搜索产品配套模态框===========
    //打开产品配套模态框开关
    @track
    showSetProductfalg = false;
    //产品配套按钮
    openSetProduct(event){
        this.showSetProductfalg = true;
    }
    //产品配套 optionList
    get listViewOptions() {
        return filterNameoptionList();
    }
    // 产品配套模态框关闭
    cancelsetProduct(){
        this.showSetProductfalg = false;
        this.jzSetProductData = [];
    }
    // 适用科室
    filterName;
    // 适用科室Change事件
    filterNameChange(event){
        this.filterName = event.target.value;
    }
    // 产品配套名
    setSearchName;
    //产品配套名Change事件
    jzSearchNameChange(event){
       this.setSearchName = event.target.value;
    }
    //产品配套编码
    SearchCode;
    //产品配套编码Change事件
    jzSearchCodeChange(event){
       this.SearchCode = event.target.value;
    }
    initDataSetProductTable = initDataSetProductTablefig;
    @track
    jzSetProductData = [];
    @track
    tableIsSetProductLoding = false;
    @track
    IsLoadingjdspt = false;
    //产品配套搜索
    jzsetProductsearchbutton(){
        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;
        });
    }
    //产品配套选中数据
    SelectedNewsetProduct = []
    //产品配套选中数据
    SelectedSetProductFn(event){
        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;
        if(isPrepared!='Fin'){
            confirm(isPrepared);
        }else if(!Str){
            if(confirm("您尚未选取任何产品配套,确认完成么?")){
                this.cancelsetProduct();
            }else{
            }
        }else{
            this.OnLoading(true);
            setProductEntry(dataChunanshen).then(reslut=>{
                var tempArr=reslut.split("---");
                var errormessage=tempArr[0];
                var quoteLineItem=JSON.parse(tempArr[1]);
                quoteLineItem = InitializeProductAssignment(quoteLineItem);
                this.jzDataToBeproduct = quoteLineItem;
                if(quoteLineItem.length!=num){
                    this.quo.IsQuoteTrial__c = false;
                }
                this.calPriceAll();
                if(errormessage.indexOf('成功') >= 0){
                    this.Alert(errormessage,'success');
                }else{
                    this.Alert(errormessage,'error');
                }
                this.OnLoading(false);
            });
            this.cancelsetProduct();
        }
        this.SelectedNewsetProduct = [];
    }
    getTableSetProductData(event) {
        this.tableIsproductLoding = false;
    }
    @track
    showQuoteExcelImport = false;
    //Excel导入按钮
    openQuoteExcelImport(event){
        this.showQuoteExcelImport = true;
    }
    // Excel导入态框关闭
    cancelQuoteExcelImport(){
        this.showQuoteExcelImport = false;
        this.exceltextvalue = '';
    }
    //Excel导入保存
    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);
        this.OnLoading(true);
            excelImport({excel_text:Str,
                activitiesCan:quoLineItemCan,
                oppInfoc:oppInfoCan,
                quoc:quoCan}).then(reslut=>{
                    var tempArr = reslut.split("---");
                    var errormessage = tempArr[0];
                    var quoteLineItem = JSON.parse(tempArr[1]);
                    quoteLineItem = InitializeProductAssignment(quoteLineItem);
                    this.jzDataToBeproduct = quoteLineItem;
                    if(quoteLineItem.length!=num){
                        this.quo.IsQuoteTrial__c = false;
                    }
                    this.calPriceAll();
                    if(errormessage.indexOf('成功') >= 0){
                        this.Alert(errormessage,'success');
                    }else{
                        console.log('ExcelImport');
                        this.Alert(errormessage,'error');
                    }
                    this.OnLoading(false);
                    this.cancelQuoteExcelImport();
            });
    }
    @track
    exceltextvalue;
    exceltextChange(event){
        let value = event.detail.value;
        this.exceltextvalue = value;
    }
    //打开新建产品模态框开关
    showproductfalg = false;
    //新增报价产品按钮
    NewQuotationProducts(event){
        this.showproductfalg = true;
    }
    @track
    IsLoadingjdpt = false;
    //选择数据
    SelectedNewProduct = [];
    //新增报价产品列表选事件
    SelectedProductFn(event) {
        let arr = event.detail.rows;
        this.SelectedNewProduct = arr;
    }
    //追加新增产品按钮
    additionaljzProductbutton(){
        if(this.SelectedNewProduct.length == 0){
            if(confirm("您尚未选取任何产品,确认完成么?")){
                this.cancelProduct();
            }
        }else{
            this.tobeflag = false
            var selectvlue = this.SelectedNewProduct;
            var Listvalue = this.jzDataToBeproduct;
            this.jzDataToBeproduct = additionaljzProductLogic(selectvlue,Listvalue,this.oppInfo.CurrencyIsoCode,this.quo.IsQuoteTrial__c);
            if(alertExp){
                this.Alert(alertExp,'error');
            }
            setTimeout(() => {
                this.tobeflag = true;
            },1);
            this.quo.IsQuoteTrial__c = IsQuoteTrialExp;
            this.calPriceAll();
            this.cancelProduct();
            this.SelectedNewProduct= [];
        }
    }
    //新增报价产品模态框取消按钮
    cancelProduct() {
        this.showproductfalg = false;
        this.jzProductData = [];
    }
    //新增报价产品检索条件
    @track
    SearchName = '';
    jzProductsearchChange(event){
        if(this.SearchName != event.target.value){
            this.SearchName = event.target.value;
        }
    }
    //新增报价产品检索按钮
    jzProductsearchbutton(event){
        this.IsLoadingjdpt = true;
        let tradec = this.oppInfo.CurrencyIsoCode;
        let celon = this.oppInfo.CelonOpportunity__c;
        let SearchName = this.SearchName;
        serContact({tradec:tradec,SearchName:SearchName,celon:celon}).then(result=>{
            console.warn('1234'+JSON.stringify(result));
            this.jzProductData = jzProductsearchLogic(result);
            this.IsLoadingjdpt = false;
        });
    }
    //新增报价产品列表加载数据
    getTableProductData(event) {
        this.tableIsproductLoding = false;
    }
    //新增报价产品列表数据
    @track jzProductData = [];
    //新增报价产品列表加载动图标识
    @track tableIsproductLoding = true;
    // 新增报价产品列表列配置
    @track
    initDataProductTable = initDataProductTablefig;
    //报价计算打开按钮 start
    //打开报价计算标识
    quoteflg = false;
    @track
    QTcss="slds-button slds-button_neutral slds-button_stretch lexBorder";
    showQuotationCalculation(event){
        if(this.pricePolicyflag){
            this.QTcss = QTcssE(this.pricePolicyflag);
            this.pricePolicyflag = false;
            this.quoteflg = false;
            this.OnLoadProduct = [];
            this.jzDataDefault = [];
            this.OnLoadSaveProduct = [];
            this.jzDataProduct = [];
            this.OnLoadDiscount = [];
            this.jzDataDiscount = [];
            this.OnLoadFixDiscount = [];
            this.jzDataFixedPrice =  [];
            this.ContractPriceCompute();
            if(!this.QuoteDecision){
                this.Save_button = false;
                this.Decision_button = false;
            }
        }else{
            this.quoteflg = true;
            if(this.QuoteDecision){
                this.quoteTrialInit();
            }else{
                this.savebuttonClick();
            }
        }
    }
    //报价计算区域展开标识
    pricePolicyflag = false;
    //报价计算按钮展开标识
    buttonIsShow = false;
    //合同总价
    ContractPrice = 0;
    ifFTip=true;
    //保存报价计算结果按钮方法
    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{
            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');
            }
        }
    }
    //报价计算打开按钮 end
    SelectedFnDefault(rows) {
        let arr = rows;
    }
    //获取待选择产品列表数据
    UniqueKey = new Map();
    getTableDataDefault(event) {
        let data = [];
        //todu10
        GetPromotionDefalut({
            IdParam: this.quoId
        }).then(result => {
            this.jzDataDefaultNotChange = [];
            this.jzDataDefaultCopy = [];
            var i = 1;
            result.forEach(rItem => {
                rItem.ListPrice = rItem.ListPrice__c;
                rItem.HangHao = i++;
                rItem.Id = rItem.Product2Id;
                let tempS = {
                    ...{},
                    ...rItem
                };
                this.jzDataDefaultNotChange.push(tempS);
                this.jzDataDefaultCopy.push(tempS);
            });
            this.getschemedetails();
            if (this.flagall) {
                //cjw start
                this.jzDataDefault = qwe(this.OnLoadProduct,result);
                //cjw end
                this.tableIsLodingDefault = false;
                this.comparisonUniqueKey();
                return;
            } else {
                result.forEach(rItems => {
                    rItems.ListPrice = rItems.ListPrice__c;
                });
                this.jzDataDefault = result;
                this.tableIsLodingDefault = false;
                var event = {
                    page: 1,
                    pageLimit: 10,
                    search: "",
                    sortOrder: "asc",
                    sortPlus: undefined,
                    fag: true
                };
                this.getTableDataFix(event);
            }
        })
        this.tableIsLodingDefault = false;
    }
    //查询价格政策方案关联产品明细
    //算出的合计
    sumTotal = [];
    getschemedetails() {
        this.jzDataFixedPrice.forEach(jdfp => {
            var SeachData = {
                SearchId: jdfp.Id
            };
            GetSearchProductById(SeachData).then(result => {
                var tempObject = {
                    ...{},
                    ...jdfp
                }
                jdfp = this.countListAndNod(tempObject, result);
                this.sumTotal.push(jdfp);
            });
        });
    }
    @track jzDataDefault = []; //数据 待选择产品数据据
    jzDataDefaultNotChange = [];
    jzDataDefaultCopy = [];
    @track tableIsLodingDefault = true;
    @track
    initSearchFormDefalt = initSearchFormDefalt2;
    @track
    initDataTableDefault = initDataTableDefault2;
    @track
    show = false
    //选择促销方案打开按钮
    showModal(){
        this.show = true;
    }
    //选择促销方案模态框取消按钮
    cancel() {
        this.show = false
    }
    @track ShowFix;
    showModalFix() {
        this.ShowFix = true
    }
    cancelFix() {
        this.ShowFix = false
    }
    @track
    initSearchFormFix = initSearchFormFix2;
    @track
    initDataTableFix = initDataTableFix2;
// <!-- <template>
// <!--     <link rel="stylesheet" type="text/css" href="{!URLFOR($Resource.blockUIcss)}"/>
//     <script src="{!URLFOR($Resource.jquery183minjs)}"></script>
//     <script src="{!URLFOR($Resource.PleaseWaitDialog)}"></script>
//     <script src="{!URLFOR($Resource.NewQuoteEntryJS)}"></script>
//     <script src="{!URLFOR($Resource.clipboardminjs)}"></script>
//     <script src="{!URLFOR($Resource.connection20)}"></script>
//     <script src="{!URLFOR($Resource.apex20)}"></script>
//     <script src="{!$Resource.lexSINewQuoteEntry+ '/lexSINewQuoteEntry.js'}"></script>
//     <link rel="stylesheet" type="text/css" href="{!$Resource.lexSINewQuoteEntry + '/lexSINewQuoteEntry.css'}"/> -->
//     <form id="mainForm">
//         <lightning-formatted-text id="hiddenQuoid" value="{!quoid}" style="display:none;"/>
//         <lightning-input type="hidden" id="oppoidforCSV" value="{!oppoidforCSV}"/>
//         <lightning-input type="hidden" id="changedAfterPrint" value="{!changedAfterPrint}"/>
//         <lightning-input type="hidden" id="changedAfterBid" value="{!changedAfterBid}"/>
//         <lightning-input type="hidden" id="productStatusUpdated" value="{!productStatusUpdated}"/>
//         <!-- 20211011 lt add MarkRed();-->
//         <apex:actionFunction action="{!setProductEntry}" name="setProductEntry" reRender="mainForm" oncomplete="unblockUI();calPriceAll();MarkRed();">
//             <apex:param assignTo="{!    }" name="setProduct_text" value=""/>
//         </apex:actionFunction>
//         <!-- 20211011 lt add MarkRed();-->
//         <apex:actionFunction action="{!excelImport}" name="excelImport" reRender="mainForm" oncomplete="unblockUI();calPriceAll();MarkRed();">
//             <apex:param assignTo="{!excel_text}" name="select_index" value=""/>
//         </apex:actionFunction>
//         <apex:actionFunction action="{!addRow}" name="addRow" reRender="mainForm" oncomplete="unblockUI();calPriceAll();">
//             <apex:param assignTo="{!rowIdx}" name="rowIdx" value=""/>
//         </apex:actionFunction>
//         <!-- 添加行 -->
//         <apex:actionFunction action="{!addMultipleRow}" name="addMultipleRow" reRender="mainForm" oncomplete="unblockUI();calPriceAll();">
//         <apex:param assignTo="{!rowIdx}" name="rowIdx" value=""/>
//         </apex:actionFunction>
//         <apex:actionFunction action="{!DownloadCsv}" name="DownloadCsv" reRender="oppoidforCSV" oncomplete="DownloadCsvJs();"/>
//         <apex:actionFunction action="{!submitOppoApplyStock}" name="submitOppoApplyStock" reRender="mainForm,message1" oncomplete="unblockUI();"/>
//         <apex:actionFunction action="{!QuoteConfirm}" name="QuoteConfirm" reRender="mainForm" oncomplete="unblockUI();ReloadPage();"/>
//         <apex:actionFunction action="{!getSalesId1}" name="getSalesId1" reRender="mainForm"/>
//         <apex:actionFunction action="{!getSalesId2}" name="getSalesId2" reRender="mainForm"/>
//           <!--    2018/09/28 CHAN-B4YAB8 经销商单价计算 start -->
//         <apex:actionFunction action="{!PriceStatusUpdate}" name="PriceStatusUpdate" reRender="listsTable" oncomplete="unblockUI();calPriceAll();alert('更新完毕!');quoteAgencyTotalPriceAction();"/>
//             <!--    2018/09/28 CHAN-B4YAB8 经销商单价计算 end -->
//         <!-- CHAN-B8RCU9 start -->
//         <apex:actionFunction action="{!QuoteDecision}" name="QuoteDecision" reRender="mainForm" oncomplete="unblockUI();alertUpdatewhenDecide();"/>
//         <!-- CHAN-B8RCU9 start -->
    @track jzDataFix = [];
    @track tableIsLodingFix = true;
    // 点击搜索触发
    searchDataFix(event) {
        let searchParams = event.detail.searchParams || {};
        this.template.querySelector('[data-parent-id="parent-div-idFix"]').refreshDataTable({
            searchParams: searchParams
        });
    }
    deleteFixedPrice(){
        var fag = deleteFixedPriceLogic(this.SelectedFnDataFixedPrice,this.CompareFullData);
        this.SelectedFnDataFixedPrice = SelectedFnDataFixedPriceExp;
        this.CompareFullData = CompareFullDataExp;
        var ids = idsExp;
        if (fag) {
            //删除所选方案匹配的产品
            this.DeleteChangesFn(ids, "价格政策");
            //调用删除价格政策
            this.deleteFixedPriceTemp();
            //合同价格汇总
            this.ContractPriceCompute();
        }else{
            this.Alert("一般产品为强制匹配,不可删除",'error');
        }
    }
    // 删除所选方案匹配的产品
    DeleteChangesFn(ids, TypeName) {
        var CompareFullDataTemp = [];
        ids.forEach(id => {
            this.jzDataProduct = DeleteChangesFnLogic(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;
    }
    //删除价格政策
    deleteFixedPriceTemp() {
        this.jzDataFixedPrice = deleteFixedPriceTempLogic(this.SelectedFnDataFixedPrice,this.jzDataFixedPrice,this.CompareFullData);
        this.CompareFullData = CompareFullDataExp;
        this.SelectedFnDataFixedPrice = [];
    }
    //价格政策列表选中的数据
    @track SelectedFnDataFixedPrice = [];
    //价格政策选择事件
    SelectedFnFixedPrice(event) {
        let arr = event.detail.rows;
        this.SelectedFnDataFixedPrice = arr;
    }
    //价格政策列表配置列
    @track
    initDataTableFixedPrice = initDataTableFixedPrice2;
    //价格政策加载数据方法
    getTableDataFixedPrice(event) {
        this.tableIsLodingFixedPrice = false;
    }
    //价格政策数据
    @track jzDataFixedPrice = [];
    //价格政策列表loding
    @track tableIsLodingFixedPrice = true;
    //价格政策列表展示标识
    @track jzshows3 = true;
    //对比价格政策赋值
    comparativeAssignment() {
        this.jzDataFixedPrice.forEach(jdfp => {
            this.sumTotal.forEach(stl => {
                if (jdfp.Id == stl.Id) {
                    if (stl.sumListPrice != undefined && stl.sumNoDiscount != undefined) {
                        jdfp.sumListPrice = stl.sumListPrice;
                        jdfp.sumNoDiscount = stl.sumNoDiscount;
                    }
                }
            });
        });
    }
    //保存价格政策编辑列方法
    handleSaveFixedPrice(event) {
        this.comparativeAssignment();
        let editnewDate = [];
        editnewDate = handleSaveFixedPriceLogic(this.CompareFullData,event,this.jzDataFixedPrice,this.jzDataDefaultCopyQuantityList,this.jzDataDefault);
        this.CompareFullData = CompareFullDataExp;
        var HeTongTotal = HeTongTotalExp;
        let newData = newDataExp;
        var boolean = booleanExp;
        var newArrs = [].concat(editnewDate);//20230214
        if (boolean == 1) {
            this.jzDataFixedPrice = newData;
            newArrs.forEach(item => {
                this.ComputeData(item.Id, '价格政策');
                this.Alert("数据修改成功", 'success');
            });
            this.jzDataProduct = this.newArrsTemp3.concat(this.newArrsTemp4);
            //合同价格汇总
            this.ContractPriceCompute();
        } else if (boolean == 3) {
            this.Alert("修改错误,次数已经超过最大值,不可增加",'error');
        } else if (boolean == 4) {
            this.Alert("修改错误,次数不可以为0",'error');
        } else if (boolean == 5) {
            this.Alert("该方案为强制匹配,次数不可修改!",'error');
        } else if (boolean == 6) {
            var str1 = String(HeTongTotal);
            var str = "修改错误,合同价格不得小于";
            var str3 = str + str1;
            this.Alert(str3,'error');
        }
        //刷新
        this.jzshows3 = false;
        this.IsLoading3 = true;
        setTimeout(() => {
            this.IsLoading3 = false;
            this.jzshows3 = true;
        }, 800);
    }
    newArrsTemp3 = [];
    newArrsTemp4 = [];
    // 促销方案搜索框搜索按钮方法
    searchData(event) {
        let searchParams = event.detail.searchParams || {};
        let temp = this.template;
        this.template.querySelector('[data-parent-id="parent-div-id"]').refreshDataTable({
            searchParams: searchParams
        });
    }
    // 促销方案搜索框配置列
    @track
    initSearchForm = initSearchForm2;
    //促销方案列表选事件
    SelectedFn(event) {
        let arr = event.detail.rows;
        if (arr.length > 1) {
            this.Alert("价格政策只可选择一个方案",'error');
        } else {
            this.ifqianpi = true;
            this.GetSearchProductByIdFn(arr[0].Id, arr[0], "价格政策", [], arr);
        }
        this.cancel();
    }
    //促销方案列表加载数据
    getTableData(event) {
        let listQuery = event;
        if (event.fag == undefined) {
            listQuery = event.detail.listQuery;
        }
        GetPromotionPromotionSearch(listQuery).then(result => {
            var responseObj = JSON.parse(result);
            responseObj.records.forEach(item => {
                var SeachData = {
                    SearchId: item.Id
                };
                GetSearchProductById(SeachData).then(result => {
                    var newarrjdf = SearchProductByIdLogic(result,this.jzDataFixedPrice,this.jzDataDefaultCopyQuantityList,item);
                    this.jzDataDefaultCopyQuantityList = jzDataDefaultCopyQuantityListExp;
                    this.jzDataFixedPrice = [].concat(newarrjdf);
                });
            });
            this.jzData = [].concat(responseObj.records);
            this.tableIsLoding = false;
        })
    }
    jzDataDefaultCopyQuantityList = [];
    // 后台交互,获取一般产品列表数据
    ifqianpi = true;
    getTableDataFix(event) {
        let listQuery = event;
        if (event.fag) {
            this.ifqianpi = false;
        } else {
            listQuery = event.detail.listQuery;
        }
        listQuery.pageLimit = 200;
        GetNormalProductSearch(listQuery).then(result => {
            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);
            })
            newArrs.sort((a, b) => {
                return a.OrderNo__c - b.OrderNo__c;
            })
            newArrs.forEach(item => {
                var SeachData = {
                    SearchId: item.Id
                };
                GetSearchProductById(SeachData).then(results => {
                    var newarrjdf = GetSearchProductByIdLogic(item,results,this.jzDataDefaultCopyQuantityList,this.jzDataFixedPrice);
                    this.jzDataFixedPrice = [].concat(newarrjdf);
                    var iflag = iflagExp;
                    this.jzDataDefaultCopyQuantityList = jzDataDefaultCopyQuantityListExp;
                    if (event.fag && iflag) {
                        var newArr = [];
                        newArr.push(item);
                        this.ifqianpi = false;
                        this.GetSearchProductByIdFn(item.Id, item, "价格政策", [], newArr, false);
                    }
                });
            });
            var respons = [];
            responseObj.records.forEach(rrds => { //查出的前十条
                responseObjAll.forEach(rsja => { //查出的所有一般产品数据
                    if (rrds.Id == rsja.Id) {
                        respons.push(rsja);
                    }
                })
            })
            this.jzDataFix = [].concat(respons);
            this.tableIsLodingFix = false;
        })
    }
    SelectedFnFix(event) {
        let arr = event.detail.rows;
        this.ifqianpi = true;
        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
        };
        GetSearchProductById(SeachData).then(result => {
            var tempObject = {
                ...{},
                ...jzDataProductParam
            }
            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 = {
            ...{},
            ...item
        };
        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');
                }
            }
        } else {
            if (isShow) {
                if (this.ifqianpi) {
                    this.Alert("促销方案不满足,请重新选择",'error');
                }
            }
            return;
        }
        if (isChange) {
            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.ContractPriceCompute();
        this.jzDataDefault = newDataDefault;
        this.ChangeNumZeroTrue();
        this.AddNums(TypeName, Asset_Model_No__c, num, Id);
    }
    ChangeNumZeroTrueChanges() {
        if (this.jzDataDefault.length != this.ChangeNumZeroTrueData) {
            this.jzDataDefault = this.ChangeNumZeroTrueData;
        }
    }
    UpdateJZData(arrs) { //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);
        var CompareFullData = this.CompareFullData;
        updatesNumsLogic(jzDataFixedPriceTemp,jzDataDiscountTemp,CompareFullData);
        this.jzDataFixedPrice = jzDataFixedPriceTemps;
        this.jzDataDiscount = jzDataDiscountTemps;
    }
    //合并重复价格政策方案
    MergeDuplicateSchemes(SchemeSet) {
        var arr = [];
        arr = MergeDuplicateSchemesLogic(this.CompareFullData,SchemeSet);
        this.CompareFullData = CompareFullDataExp;
        this.jzDataFixedPrice = [].concat(arr);
        this.ConsolidationProgramProducts(arr);
    }
    //计算价格政策价格
    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 => {
                if (id == item.Id) {
                    item.Total = item.Counts * item.Price_CNY__c;
                    item.sumNoDiscountTotal = item.sumNoDiscount * item.Counts;
                    if (item.Price_CNY__c != undefined) {
                        if (item.determine != '改过') {
                            if (item.if_Contain_Nod__c) {
                                item.HeTongTotal = item.Total;
                            } else {
                                item.HeTongTotal = item.Total + item.sumNoDiscountTotal;
                            }
                        }
                    }
                    //计算选择促销政策的经销商单价和小计
                    var PromotionHeadRecordId = item.recordTypeName__c;
                    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
                        arrProductTemp = ComputeDataNormalProductLogic(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();
                    }
                }
            });
            this.jzDataFixedPrice = [].concat(arrTemp);
        }
    }
    ReplacementUnitPrice() {
        var ifTrade = this.QuoteData[0].Opportunity.Trade__c; //内外贸
        var arr = [].concat(this.jzDataProduct);
        this.jzDataProduct = [].concat(ReplacementUnitPriceLogic(arr, ifTrade));//20230214
        this.ContractPriceCompute();
    }
    //保存最大次数
    savecount(idStr) {
        this.jzDataFixedPrice = savecountLogic(this.jzDataFixedPrice,idStr);
    }
    ChangeNumZeroTrueData = []
    ChangeNumZeroTrue() {
        this.ChangeNumZeroTrueData = [].concat(this.jzDataDefault);
        var newJzDataDefault = this.ChangeNumZeroTrueData.filter(item => {
            if (item.Quantity > 0) {
                return true;
            } else {
                return false;
            }
        })
        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++) {
            for (var j = 0; j < data.length; j++) {
                var id = data[j].Id.replace("row-", "");
                if (this.jzData[i].Id == id) {
                    this.jzData[i].Quantity__c=data[j].Quantity__c;
                }
            }
        }
        this.jzdateflag = false;
        this.IsLoading6 = true;
        setTimeout(() => {
            this.jzdateflag = true;
            this.IsLoading6 = false;
        }, 1000);
    }
//         <!-- 停止预警  20210930  lt  add  MarkRed(); -->
//         <apex:actionFunction action="{!Save}" name="Save" reRender="mainForm,message1" oncomplete="unblockUI();MarkRed();"/>
//         <!-- 报价试算 -->
//         <apex:actionFunction action="{!Jump}" name="Jump" reRender="mainForm" oncomplete="unblockUI();" />
//         <apex:actionFunction action="{!OppReflection}" name="OppReflection" reRender="mainForm" oncomplete="unblockUI();"/>
//         <apex:actionFunction action="{!Print}" name="Print" reRender="mainForm" oncomplete="openQuotePage('{!quo.Contract__c}','{!errorflg}','{!quoid}');unblockUI();"/>
//         <lightning-card id="block">
//             <lightning-input type="hidden" value="{!oppInfo.Direct_Separate}" id="Direct_Separate"/>
//             <lightning-input type="hidden" value="{!oppInfo.Trade}" id="Trade"/>
//             <lightning-input type="hidden" value="{!oppId}" id="oppId"/>
//             <lightning-input type="hidden" value="{!SalesId1}" id="SalesId1"/>
//             <lightning-input type="hidden" value="{!qb.PriceRefreshPeriod}" id="hidden_PriceRefreshPeriod"/>
//             <lightning-input type="hidden" value="{!qb.Estimation_List_Price}" id="hidden_Estimation_List" rendered="{!displayFlg}"/>
//             <lightning-input type="hidden" value="{!DisCalculation}" id="DisCalculationvalue" rendered="{!displayFlg}"/>
//             <lightning-input type="hidden" value="{!DisAmount}" id="hidden_DisAmountvalue" rendered="{!displayFlg}"/>
//             <lightning-input type="hidden" value="{!Salesprofit1}" id="Salesprofit1value" rendered="{!displayFlg}"/>
//             <!--    2018/09/28 CHAN-B4YAB8 经销商折扣 start -->
//             <lightning-input type="hidden" value="{!AgencyDiscount}" id="AgencyDiscountValue" rendered="{!displayFlg}"/>
//             <!--    2018/09/28 CHAN-B4YAB8 经销商折扣 end -->
//             <lightning-input type="hidden" value="{!Salesprofit2}" id="Salesprofit2value" rendered="{!displayFlg}"/>
//             <lightning-input type="hidden" value="{!qb.SalesCalculation1}" id="SalesCalculation1value" rendered="{!displayFlg}"/>
//             <lightning-input type="hidden" value="{!qb.SalesCalculation2}" id="SalesCalculation2value" rendered="{!displayFlg}"/>
//             <lightning-input type="hidden" value="{!quoStocking_Price_c}" id="hidden_Stocking_Price" rendered="{!displayFlg}"/>
//             <lightning-input type="hidden" value="{!oppInfo.Wholesale_Price}" id="hidden_Wholesale_Price" rendered="{!displayFlg}"/>
//             <!-- 多年保修 start -->
//             <lightning-input type="hidden" id="hidden_MultiYearWarrantyTotalPrice" value="{!quo.MultiYearWarrantyTotalPrice__c}"/>
//             <!-- 多年保修 end -->
//             <lightning-input type="hidden" value="{!enableSales}" id="SalesRoot_Flg"/>
//             <lightning-input type="hidden" value="{!oppInfo.CurrencyIsoCode}" id="CurrencyIsoCode"/>
//             <lightning-input type="hidden" value="{!baseUrl}" id="baseUrl"/>
//             <lightning-input type="hidden" value="{!WinOrDecideAlert}" id="SFDA_Flg"/>
//             <!-- LHJ Start -->
//             <lightning-input type="hidden" value="{!oppInfo.Authorized_DB_No}" id="Authorized_DB_No" rendered="{!displayFlg}"/>
//             <lightning-input type="hidden" value="{!oppInfo.If_Need_Authorize}" id="If_Need_Authorize" rendered="{!displayFlg}"/>
//             <!-- LHJ End -->
//             <template id="message1">
//                 <apex:messages styleClass="editListError"/>
//             </template>
//             <template if:true="{!errorflg}" >
//                 <table width="100%">
//                     <tr>
//                         <td align="left"><div class="errorMsg">{!errorMessage}</div></td>
//                     </tr>
//                 </table>
//             </template>
//             <template if:true="{!errorflg}" >
//                 <table width="100%">
//                     <tr>
//                         <td align="left"><div style="font-size:22px" class="errorMsg">{!errorMessagechack}</div></td>
//                     </tr>
//                 </table>
//             </template>
//             <template if:true="{!Messageflg}" >
//                 <table width="100%">
//                     <tr>
//                         <td align="left">{!Message}</td>
//                     </tr>
//                 </table>
//             </template>
//             <div>
//                 <table border="0">
//                     <tr>
//                         <th style="text-align:right;width:90px;">{Label.Quoto_No}</th>
//                         <td style="text-align:right;width:130px;"><span>{quo.Quote_No__c}</span></td>
//                         <th style="text-align:right;width:80px;">{Label.Quoto_Name}</th>
//                         <td style="width:110px;"><div class="requiredInput"><div class="requiredBlock"></div><lightning-input-field value={quo.QuoteName__c} /></div></td>
//                         <th style="text-align:right;width:100px;">{Label.HP_Name}</th>
//                         <td style="width:180px;"><span>{oppInfo.HP_Name}</span></td>
//                         <th style="text-align:right;width:100px;">{Label.Department_Name}</th>
//                         <td style="width:130px;"><span>{oppInfo.Department_Name}</span></td>
//                         <th style="text-align:right;width:90px;">{Label.Currency}</th>
//                         <td style="width:80px;"><span>{oppInfo.CurrencyIsoCode}</span></td>
//                     </tr>
//                     <tr>
//                         <th style="text-align:right">{displayFlg ? Label.Total_ListPrice : ''}</th>
//                         <td style="text-align:right;"><lightning-formatted-text id="Estimation_List_Price" style={displayFlg ? '' : 'display:none'} value="{0, number, ###,##0.00}">
//                             <slot>{qb.Estimation_List_Price}</slot>
//                         </lightning-formatted-text></td>
//                         <th style="text-align:right;">{displayFlg ? Label.Total_Price : ''}</th>
//                         <td><div style={displayFlg ? '' : 'display:none'}><lightning-input-field id="quoTotalPrice" value={quo.QuoteTotal_Page__c} onchange={quoteTotalPriceAction} disabled={true} style="text-align:right;"/></div></td>
//                         <th style="text-align:right;">{displayFlg ? Label.Contact_Price : ''}</th>
//                         <td><div class="requiredInput"><div class="requiredBlock"></div><lightning-input-field id="Dealer_Final_Price" value={quo.Dealer_Final_Price_Page__c} onchange={calFromContactPrice} onblur={setOCMAmount} onclick={quoteAgencyTotalPriceAction1} style={displayFlg ? '' : 'display:none'} ></lightning-input-field></div></td>
//                         <th style="text-align:right;">{displayFlg ? Label.Forecast_Amounts : ''}</th>
//                         <td style={displayFlg ? '' : 'display:none'}><span id="Wholesale_Price">{oppInfo.Wholesale_Price}</span></td>
//                         <th style="text-align:right">{Label.Sales_Root}</th>
//                         <td><span id="Sales_Root">{oppInfo.Sales_Root}</span></td>
//                     </tr>
//                 </table>
//                 <table border="0">
//                     <tr>
//                         <th style="text-align:right;width:50px;">&nbsp;</th>
//                         <td style="text-align:right;width:110px;"><lightning-button onclick={productCompare} label={Label.Status_Update}></lightning-button></td>
//                         <th style="text-align:right;width:50px;">&nbsp;</th>
//                         <td style="text-align:right;width:100px;"><lightning-button onclick={updateOtcode} label="替换产品otcode" ></lightning-button></td>
//                         <th style="text-align:right;width:50px;">&nbsp;</th>
//                         <td style="width:110px;"><lightning-button id="SetProduct" onclick={searchSetProductSI} label={Label.Set_Product}></lightning-button></td>
//                         <th style="text-align:right;width:50px;">&nbsp;</th>
//                         <td style="width:130px;"><lightning-button onclick={openQuoteExcelImport} label={Label.Excel_Import}></lightning-button></td>
//                         <td style="text-align:right;width:50px;"><lightning-button id="Btn_RowDelete" onclick={IfRadioChecker2.bind(this, 'del')} value="{!Label.deleteLabel}" style="width:60px;"></lightning-button></td>
//                         <!-- 添加行 -->
//                         <td width="40px;">
//                             <lightning-button onclick={openAddMultipleRow} label="增加行" ></lightning-button>
//                         </td>
//                         <td style="width:130px;">
//                             <lightning-button id="Btn_RowUp" onclick={radioChecker2.bind(this, 'up')} value="{!Label.Row_Up}" style="width:60px;"></lightning-button>
//                             <lightning-button id="Btn_RowDown" onclick={radioChecker2.bind(this, 'down')} value="{!Label.Row_Down}" style="width:60px;"></lightning-button>
//                         </td>
//                         <th style="text-align:right;width:100px;">主机装机地点</th>
//                         <td><lightning-input-field value={quo.Installation_location__c} /></td>
//                         <th style="text-align:right;width:90px;">{displayCost && displayFlg ? Label.Cost : ''}</th>
//                         <td style="text-align:right;width:80px;"><lightning-formatted-text id="Stocking_Price" value="{0, number, ###,##0.00}" style={displayCost && displayFlg ? '' : 'display:none;'}><apex:param value={quoStocking_Price_c}/></lightning-formatted-text></td>
//                     </tr>
//                 </table>
//             </div>
//              <!-- 多年保修 start -->
//               <!--  原代码 start
//             <table>
//                 <tr>
//                     <td>&nbsp;</td>
//                 </tr>
//             </table>
//             -->
//             <!-- 原代码 end -->
//             <table>
//                 <tr>
//                     <td>&nbsp;</td>
//                 </tr>
//                 <tr>
//                     <th style="text-align:right;width:30px;">&nbsp;</th>
//                     <th style="text-align:right;width:50px;">合同保修期(年):&nbsp;</th>
//                     <td style="width:190px;">
//                         <lightning-input-field id="AllGurantee_Period" value={quo.Gurantee_Period__c} onchange={calGuranteePeriod} style="width:50px; text-align:right;"></lightning-input-field>
//                         <input type="hidden" id="Gurantee_Period_c" value={quo.Gurantee_Period__c}/>
//                     </td>
//                     <!-- 外贸多年保 取消nodiscount 合计 隐藏 精琢技术 wql 2021/01/28 start -->
//                     <template if:true={contractWarranty}>
//                             <th style="text-align:right;width:50px;">
//                                 {!quoteObject.fields.MultiYearWarrantyTotalPrice__c.label}&nbsp;
//                             </th>
//                             <td style="width:470px;">
//                                 <lightning-formatted-text id="MultiYearWarrantyTotalPrice_out" value={quo.MultiYearWarrantyTotalPrice__c} style="text-align:right;width:180px;"></lightning-formatted-text>
//                             </td>
//                             <th style="text-align:right;width:50px;">
//                                 {!quoteObject.fields.multiYearWarranty__c.label}&nbsp;
//                             </th>
//                             <td style="width:200px;">
//                                 <lightning-input type="number" min="0" max="99" id="multiYearWarranty" value={quo.multiYearWarranty__c} onchange={callFromCancelgurantee_MD} style="text-align:right;width:30px;"></lightning-input>
//                             </td>
//                         </template>
//                     <!-- 外贸多年保 取消nodiscount 合计 隐藏 精琢技术 wql 2021/01/28 end -->
//                 </tr>
//                 <!-- 添加行 放在外面 因为内外贸不同-->
//                     <!-- <th style="text-align:right;width:50px;">
//                         添加行
//                     :&nbsp;</th> -->
//                     <!-- 添加行 html特性增加滑动条 精琢技术 wql 2021/02/09 start -->
//                     <!-- 只能输入正整数 输入其它会强制清空 -->
//                     <td style="width:200px;display: none;">
//                         <div class="" id="speedDiv" style="">
//                         <!--  <p>周期</p>
//                         <input type="range" id="dur" value="0.50" min="0" max="1.00" step="0.01" onchange="changeV()"/>
//                         <p>速度</p> -->
//                         <p class="diap">①滑动选择行数!</p>
//                         <!-- 滑条 -->
//                         <input type="range" id="speed" value="50" min="0" max="100" step="1" onchange="changeV()" style="background: linear-gradient(to right, rgb(255, 162, 0), white 50%, white);" />
//                         <p class="diap">②输入选择行数!</p>
//                         <!-- 输入框 -->
//                         <input id="addMultipleRow" value="50" style="text-align:right;width: 30px;" rendered="{!displayFlg}" class="diaInput" onchange="changeI();" onkeyup="if(this.value.length==1){this.value=this.value.replace(/[^1-9]/g,'')}else{this.value=this.value.replace(/\D/g,'')}"
//                         onafterpaste="if(this.value.length==1){this.value=this.value.replace(/[^1-9]/g,'0')}else{this.value=this.value.replace(/\D/g,'')}"/>
    //*********折扣政策 start**********
    //选择特约折扣打开按钮
    showModalSpecial(){
        this.QuoteData.forEach(qtd => {
            if (!qtd.Opportunity.IsAuthorized__c) {
                this.Alert("该询价不是特约经销商授权",'error');
            } else {
                this.ShowSpecial = true;
            }
        });
    }
    //选择一般折扣打开按钮
    showModalCommonly(){
        this.ShowCommonly = true
    }
    //折扣政策删除按钮事件
    delectTableDiscount(){
        let ids = [];
        for (var j = 0; j < this.SelectedFnDataDiscount.length; j++) {
            ids.push(this.SelectedFnDataDiscount[j].Id);
        }
        this.DeleteSchemeMatching(this.SelectedFnDataDiscount, "折扣政策");
        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;
            //合同价格汇总
            this.ContractPriceCompute();
        });
        this.CompareFullData = CompareFullDataTemp;
    }
    //折扣政策选中列表数据
    @track SelectedFnDataDiscount = []
    //折扣政策选择事件
    SelectedFnDiscount(event) {
        let arr = event.detail.rows;
        this.SelectedFnDataDiscount = arr;
    }
    //折扣政策列表数据
    @track jzDataDiscount = [];
    //折扣政策列表加载动图标识
    @track tableIsLodingDiscount = true;
    //折扣政策列表列配置
    @track
    initDataTableDiscount = initDataTableDiscount2;
    //折扣政策列表列加载方法
    getTableDataDiscount(event) {
        this.tableIsLodingDiscount = false;
    }
    @track
    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);
        }else{
            const event = new ShowToastEvent({
                message: msg,
                variant: type,
                mode: 'sticky'
            });
            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;
        this.jzDataProduct = jzDataProductExp;
        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) {
            this.Alert("修改错误,对象品折扣不得小于对象品最低折扣:"+GuaranteeDiscount__cZuiXiao+"%",'error');
        } else if (boolean == 2) {
            this.Alert("修改错误,非对象品折扣不得小于非对象品最低折扣:"+NormalDiscount__cZuiXiao+"%",'error');
        } else if (boolean == 3) {
            this.Alert("修改错误,一般折扣没有对象品折扣",'error');
        } else if (boolean == 5) {
            this.Alert("非对象品折扣不可以为空或小于0",'error');
        } else if (boolean == 4) {
            this.jzDataDiscount = newData;
            var ffgg=0;
            if(boolean3){
                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
                    this.ConsolidatedDiscountPolicy(jzDataDiscountx);
                    //一般折扣更改过合同价格计算
                    this.updateCommonlyDiscountLogic(HeTo.Id,HeTo.JxsType,HeTo.GuaranteeDiscount__c_Input,HeTo.NormalDiscount__c_Input,HeTo.Category__c,this.jzDataDiscount);
                });
            }
            if(boolean2&&ffgg==0){
                newData3.forEach(TeYue=>{
                    //根据合同价格计算特约折扣
                    GuaranteeDiscount__cZuiXiao=parseFloat(TeYue.GuaranteeDiscount__c);
                    NormalDiscount__cZuiXiao=parseFloat(TeYue.NormalDiscount__c);
                    TeYue=this.ComouteProductDiscount(TeYue.Id,TeYue.Category__c,TeYue.GuaranteeDiscount__c_Input, TeYue.NormalDiscount__c_Input, TeYue.GuaranteeDiscount_H_Money__c,TeYue.NormalDiscount_H_Money__c, TeYue);
                    if(TeYue==1||TeYue==2||TeYue==12||TeYue==3){
                        ffgg=TeYue;
                        return ;
                    }else{
                        //合并折扣政策重复方案
                        this.ConsolidatedDiscountPolicy(this.jzDataDiscount);
                        //一般折扣更改过合同价格计算
                        this.updateCommonlyDiscountLogic(TeYue.Id,TeYue.JxsType,TeYue.GuaranteeDiscount__c_Input,TeYue.NormalDiscount__c_Input,TeYue.Category__c,this.jzDataDiscount);
                    }
                });
            }
            if(ffgg==1||ffgg==2||ffgg==12||ffgg==3){
                this.Alert(InverseCalculationTiShi(ffgg,GuaranteeDiscount__cZuiXiao,NormalDiscount__cZuiXiao),'error');
            }else{
                this.Alert("数据修改成功", 'success');
            }
        }
        //刷新
        this.jzshows2 = false;
        setTimeout(() => {
            this.jzshows2 = true;
        }, 800)
    }
    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.jzDataDiscount=[].concat(arrTempsss);
        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 = parseFloat(sum);
        sum=GeneralDiscountContractSummaryLogic(sum,this.jzDataDiscount,this.jzDataFixedPrice);
        this.ContractPrice = sum;
    }
    //折扣政策列表展示标识
    jzshows2 = true;
//                         <div class="slds-text-align_center">
//                             <lightning-button label="确认" onclick={addMultipleRowJS} style="margin: 20px 10px 0px 10px;"></lightning-button>
//                             <lightning-button label="取消" onclick={popupBoxHide} style="margin: 20px 10px 0px 10px;"></lightning-button>
//                         </div>
//                     </div>
//                     </td>
//                     <!-- SWAG-CKDATG 【委托】【OBSAP-报价委托】报价委托项目改善1 fy start -->
//                     <tr>
//                         <th style="text-align:right;width:30px;">&nbsp;</th>
//                         <th style="text-align:left;width:50px;">{!$ObjectType.Quote.fields.QuotationChange__c.label}:&nbsp;</th>
//                         <td style="width:190px;"><lightning-input-field id="QuotationChange" value="{!quo.QuotationChange__c}"  style="width:80px; text-align:right;" />
//                         </td>
//                         <th style="text-align:left;width:50px;">{!$ObjectType.Quote.fields.MainEngineWithoutMonitor__c.label}:&nbsp;</th>
//                         <td style="width:500px;"><lightning-input-field id="RemarksOnChanges" value="{!quo.MainEngineWithoutMonitor__c}"  style="width:450px; text-align:left;" />
//                         </td>
//                         <th style="text-align:right;width:50px;">
//                             {!$ObjectType.Quote.fields.Interdepartmental__c.label}
//                         :&nbsp;</th>
//                         <td style="width:200px;"><lightning-input-field id="Interdepartmental" value="{!quo.Interdepartmental__c}"  style="text-align:right;width:30px;" /></td>
//                     </tr>
//                     <!-- SWAG-CKDATG 【委托】【OBSAP-报价委托】报价委托项目改善1 fy end -->
//                 <tr>
//                     <td>&nbsp;</td>
//                 </tr>
//             </table>
//             <!-- 多年保修 end -->
//             <div style="width:1260px;">
//                 <div style="overflow-x: auto;">
//                     <!-- 外贸多年保 内外贸表格长度一致 原1635px 精琢技术 wql 2021/01/28 start -->
//                     <table style="width:1935px;" border="0">
//                     <!-- 外贸多年保 内外贸表格长度一致  精琢技术 wql 2021/01/28 end -->
//                         <tr>
//                             <th style="text-align:center;width:20px;">&nbsp;<input type="checkbox" id="checkAll" onclick="selectAll()" style="width:10px;"/></th>
//                             <th style="text-align:center;width:15px;">No</th>
//                             <th style="text-align:center;width:150px;">{!$Label.Asset_No}</th>
//                             <th style="text-align:center;width:100px;">{!$Label.SFDA_Status}</th>
//                             <th style="text-align:center;width:100px;">{!$ObjectType.product2.fields.VenderName__c.label}</th>
//                             <th style="text-align:center;width:85px;">{!$Label.ListPrice}</th>
//                             <th style="text-align:center;width:100px;">{!$Label.Quantity}</th>
//                             <th style="text-align:center;width:50px;">{!$Label.Specifications}</th>
//                             <th style="text-align:center;width:100px;">医院单价</th>
//                             <th style="text-align:center;width:100px;">医院小计</th>
//                             <!--
//                             <th style="text-align:center;width:50px;">{!$Label.Present}</th>
//                             --Savebutton-->
    //============特约折扣模态框 start=========
    ///特约折扣待选方案列表选择数据
    @track SelectedFnDataSpecial = [];
    //特约折扣模态框错误提示开关
    ShowSpecialIsError = false;
    //特约折扣待选方案列表选中方法
    SelectedFnSpecial(event) {
        let arr = event.detail.rows;
        if (event.detail.rows.length > 1) {
            this.ShowSpecialIsError = true;
        } else {
            this.ShowSpecialIsError = false;
        }
        var TempArr = [];
        TempArr.push(arr[0])
        var tempObject = {
            ...{},
            ...TempArr[0]
        }
        tempObject.CompareId = GetUUID();
        this.SelectedFnDataSpecial = [tempObject];
    }
    //特约折扣待选方案列表加载方法
    getTableDataSpecial(event) {
        let listQuery = event.detail.listQuery;
        var Agency1__c = this.QuoteData[0].Agency1__c;
        listQuery.pageLimit = 40;
        listQuery.Agency1c = Agency1__c;
        GetAuthorizerSearch(listQuery).then(result => {
            var responseObj = JSON.parse(result);
            this.jzDataSpecial = responseObj.records;
            this.jzDataSpecial.forEach(element => {
                element.JxsType = "特约折扣";
                element.NormalDiscount__c = element.NormalDiscount__c+"%";
                element.GuaranteeDiscount__c = element.GuaranteeDiscount__c+'%';
            });
            GetAgencyRName().then(gar => { //获取经销商姓名
                var a = JSON.parse(gar);
                a.forEach(ga => {
                    if (ga.Agency__r != undefined) {
                        var arr = [];
                        this.jzDataSpecial.forEach(jzdsc => { //特约折扣方案数据
                            if (ga.Agency__c == jzdsc.Agency__c) {
                                jzdsc.Agency__Name = ga.Agency__r.Name;
                                arr.push(jzdsc);
                            } else {
                                arr.push(jzdsc);
                            }
                        });
                        this.jzDataSpecial = [].concat(arr);//20230214
                    }
                });
            })
            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 = this.jzDataDefault;
        var jzDataOtherDataTemp = [];
        this.jzDataOtherData.forEach(jzdod => {
            var ItemsTemp = {
                ...{},
                ...jzdod
            };
            ItemsTemp.SplitQuantity = ItemsTemp.Quantity;
            jzDataOtherDataTemp.push(ItemsTemp);
        })
        this.jzDataOtherData = jzDataOtherDataTemp;
        this.tableIsLodingOtherData = false;
    }
    //特约折扣待选产品列表外加载动图标识
    IsLoading5 = false;
    //特约折扣待选产品展示标识
    jzshows5 = true;
    //
    IsLoadingFlag1 = true;
    //特约折扣待选产品编辑列保存方法
    SaveSpecialDiscount(event) {
        var data = event.detail.rows;
        let newData = [];
        let editnewDate = [];
        var boolean = 1;
        for (var i = 0; i < this.jzDataOtherData.length; i++) {
            var editData = {};
            var flag = false;
            for (var j = 0; j < data.length; j++) {
                var id = data[j].Id;
                if (this.jzDataOtherData[i].Id == id) {
                    editData = {
                        SplitQuantity: ''
                    };
                    //拆分次数
                    editData.SplitQuantity = data[j].SplitQuantity;
                    flag = true;
                }
            }
            if (flag) {
                var newItem = {
                    ...this.jzDataOtherData[i],
                    ...{}
                };
                if (editData.SplitQuantity != undefined) {
                    newItem.SplitQuantity = Number(editData.SplitQuantity);
                }
                newData.push(newItem);
                editnewDate.push(newItem);
            } else {
                newData.push({
                    ...{},
                    ...this.jzDataOtherData[i]
                });
            }
        }
        //haha4
        var newArrs = [].concat(editnewDate);//20230214
        newArrs.forEach(item => {
            if (item.Quantity < item.SplitQuantity) {
                boolean = 2;
            } else if (item.SplitQuantity == 0 || item.SplitQuantity == '') {
                boolean = 3;
            }
        });
        if (boolean == 1) {
            this.jzDataOtherData = newData;
            this.ShowSpecialIsError = false;
        } else if (boolean == 2) {
            this.errorTiShi("修改错误,使用数量不得大于数量");
        } else if (boolean == 3) {
            this.errorTiShi("修改错误,使用数量不得为0或为空");
        }
//                             <!--    2018/09/28 CHAN-B4YAB8 赠送、经销商价格和小计 end -->
//                             <!-- 多年保修 start -->
//                             <!-- 外贸多年保 取消多年保修 保修 隐藏 精琢技术 wql 2021/01/28 start -->
//                             <apex:variable value="{!1}" var="abc" >
//                                 <th style="text-align:center;width:50px;">
//                                     {!$ObjectType.QuoteLineItem.fields.multiYearWarranty__c.label}
//                                 </th>
//                                 <th style="text-align:center;width:150px;">
//                                     {!$ObjectType.QuoteLineItem.fields.warrantyType__c.label}
//                                 </th>
//                             </apex:variable>
//                             <!-- 外贸多年保 取消多年保修 保修 隐藏 精琢技术 wql 2021/01/28 end -->
//                             <th style="text-align:center;width:50px;">
//                                 {!$ObjectType.QuoteLineItem.fields.GuaranteePeriod__c.label}</th>
//                             <!-- 多年保修 end -->
//                             <!-- 新加的 -->
//                             <!-- SFDC停止预警(预计消耗到期日) lt 20210924 add start -->
//                             <th style="text-align:center;width:130px;">{!$ObjectType.product2.fields.Estimated_ConsumptionDueDate__c.label}</th>
//                             <!-- SFDC停止预警(预计消耗到期日) lt 20210924 add end -->
//                             <th style="text-align:center;width:100px;">库存状态</th>
//                             <th style="text-align:center;width:100px;">产品配套</th>
//                             <th style="text-align:center;width:350px;">{!$Label.Product_Name}</th>
//                             <th style="text-align:center;width:100px;" hidden="hidden">{!$Label.AgencyPrice}</th>
//                             <th style="text-align:center;width:100px;" hidden="hidden">{!$Label.AgencySum_Total}</th>
//                             <!-- 外贸多年保 取消nodiscount隐藏 精琢技术 wql 2021/01/28 start -->
//                             <apex:variable value="{!1}" var="abc" >
//                                 <th style="text-align:center;width:100px;" hidden="hidden">
//                                     {!$ObjectType.QuoteLineItem.fields.NoDiscountTotal__c.label}
//                                 </th>
//                             </apex:variable>
//                             <!-- 外贸多年保 取消nodiscount隐藏 精琢技术 wql 2021/01/28 end -->
//                             <th style="text-align:center;width:20px;"><apex:image id="plusicon" value="{!$Resource.plusicon}" onclick="addRowJs(0);"/></th>
//                         </tr>
//                     </table>
//                     <!-- 外贸多年保 内外贸table一致 精琢技术 wql 2021/01/28 start -->
//                     <div id="iframelike" style="width:1960px;">
//                         <input type="hidden" id="ListPriceTotal" value="0" />
//                         <input type="hidden" id="UnitPriceTotal" value="0" />
//                         <template id="listsTable">
//                         <table class="list" style="border-bottom-width: 0px; font-size:11px; border-spacing:0;width:1938px;" border="">
//                     <!-- 外贸多年保 内外贸table一致 精琢技术 wql 2021/01/28 end -->
//                             <apex:variable value="{!1}" var="cnt" />
//                             <apex:variable value="{!0}" var="CntIndex" />
//                             <colgroup span="11"></colgroup>
//                             <template for:each={} for:item="" for:index="">
//                             <apex:repeat value="{!activities}" var="s" id="lists">
//                                 <tr class="dataRow {!IF(MOD(cnt, 2)==0, 'odd', 'even')} {!IF(cnt==1, 'first', '')}" onmouseover="if (window.hiOn){hiOn(this);} " onmouseout="if (window.hiOff){hiOff(this);} " onblur="if (window.hiOff){hiOff(this);}" onfocus="if (window.hiOn){hiOn(this);}">
//                                     <td class="dataCell" style="width:20px;">
//                                         <input type="checkbox" name="checklist" value="{!s.lineNo}" style="width:10px;"/>
//                                     </td>
//                                     <td class="dataCell" style="width:15px;text-align:right;">
//                                         <apex:outputLabel id="indexNo" value="{!IF(s.PageObject.Id__c==null,null,s.lineNo + 1)}" style="width:10px;"/>
//                                     </td>
//                                     <td class="dataCell" style="text-align:center;width:150px;">
//                                         <lightning-input id="Assert" style="width:120px;" value="{!s.Asset_Model}" onclick="searchProduct('{!s.lineNo}',this.value, '')" />
//                                     </td>
//                                     <td class="dataCell" id="{!Text(cnt-1)}:td_Status__c" style="width:100px;">
//                                         <lightning-output-field style="width:75px;" id="Status__c" value="{!s.PageObject.SFDA_Status__c}"/>
//                                         <lightning-input type="hidden" id="SFDA" value="{!s.PageObject.SFDA_Status__c}"/>
//                                         <template layout="none" rendered="{!IF(ISBLANK(s.PageObject.Product_Sales_Possibility__c) || s.PageObject.Product_Sales_Possibility__c == '○', false, true)}">
//                                         <script type="text/javascript">
//                                         //alert(j$(escapeVfId('{!Text(cnt-1)}' + ':td_Status__c')).size());
//                                         j$(escapeVfId('{!Text(cnt-1)}' + ':td_Status__c')).css({"color":"red"});
//                                         </script>
//                                         </template>
//                                         <template layout="none" rendered="{!IF(s.haveno_Register == true, true, false)}">
//                                         <script type="text/javascript">
//                                             j$(escapeVfId('{!Text(cnt-1)}' + ':td_Status__c')).css({"color":"red"});
//                                         </script>
//                                     </template>
//                                     </td>
//                                     <td class="dataCell" style="width:100px;">
//                                         <lightning-formatted-text id="VenderName" value="{!s.VenderName}" />
//                                         <lightning-input type="hidden" id="VenderName__c" value="{!s.VenderName}" />
//                                         <!-- 产品主数据增加“不可取消多年保” 2020/08/28 精琢技术 wql start -->
//                                         <lightning-input type="hidden" id="CanNotCancelledGurantee__c" value="{!s.CanNotCancelledGurantee}" />
//                                         <!-- 产品主数据增加“不可取消多年保” 2020/08/28 精琢技术 wql end -->
//                                     </td>
//                                     <td class="dataCell" style="width:85px;text-align:right;">
//                                         <lightning-formatted-text style="width:85px;display:{!IF(displayFlg, '', 'none')}" id="ListPricetext" value="{0, number, ###,##0.00}">
//                                             <apex:param value="{!s.ListPrice_Page}" />
//                                         </lightning-formatted-text>
//                                         <lightning-input type="hidden" id="ListPrice" rendered="{!displayFlg}" value="{!s.ListPrice_Page}"/>
//                                     </td>
//                                     <td class="dataCell" style="text-align:center;width:100px;">
//                                             <!--    2018/09/28 CHAN-B4YAB8 经销商单价计算 start -->
//                                          <lightning-input-field id="Quantity" style="width:30px;text-align:right;" value="{!s.PageObject.Quantity__c}" onChange="calPrice('{!s.lineNo}');quoteAgencyTotalPriceAction();AgencyDiscountCalculation1();"/>
//                                             <!--    2018/09/28 CHAN-B4YAB8 经销商单价计算 end -->
//                                     </td>
//                                     <td class="dataCell" style="width:50px;text-align:center">
//                                         <lightning-formatted-text style="width:40px;text-align:center;" id="Specifications" value="{!if(s.latestInfo.Specifications=0||s.latestInfo.Specifications=null,'',s.latestInfo.Specifications)}"/>
//                                     </td>
//                                     <td class="dataCell" style="text-align:center;width:100px;">
//                                         <lightning-input-field id="UnitPrice" style="width:80px;text-align:right;" rendered="{!displayFlg}" value="{!s.PageObject.UnitPrice_Page__c}" onChange="calPrice('{!s.lineNo}')"/>
//                                         <!-- &&IF(s.VenderName!='OSH',false,true) -->
//                                         <script type="text/javascript">
//                                         var isOSH = j$(escapeVfId('Page:mainForm:block:lists:'+{!CntIndex}+':VenderName')).value();
//                                         if(isOSH != 'OSH'&&isOSH != ''){
//                                              j$(escapeVfId('Page:mainForm:block:lists:'+{!CntIndex}+':UnitPrice')).attr('disabled','disabled');
//                                         }
//                                         </script>
//                                         <apex:variable value="{!CntIndex + 1}" var="CntIndex" />
//                                     </td>
//                                     <td class="dataCell" style="width:100px;text-align:right;">
//                                         <lightning-formatted-text style="width:80px;display:{!IF(displayFlg, '', 'none')}" id="TotalPrice" value="{0, number, ###,##0.00}">
//                                             <apex:param value="{!s.PageObject.Subtotal__c}" />
//                                         </lightning-formatted-text>
//                                         <lightning-input type="hidden" id="Subtotal__c" value="{!s.PageObject.Subtotal__c}"  rendered="{!displayFlg}"/>
//                                         <lightning-input type="hidden" id="NameCode" value="{!s.latestInfo.ProductCode}"/>
//                                         <lightning-input type="hidden" id="Product_Name" value="{!s.latestInfo.ProductName}"/>
//                                         <lightning-input type="hidden" id="Product_SFDA" value="{!s.latestInfo.SFDA_Status}"/>
//                                         <lightning-input type="hidden" id="Product_Specifications" value="{!s.latestInfo.Specifications}"/>
//                                         <lightning-input type="hidden" id="Sales_Possibility" value="{!s.latestInfo.Sales_Possibility}"/>
//                                         <lightning-input type="hidden" id="Product_ListPrice" value="{!s.latestInfo.ListPrice}" rendered="{!displayFlg}"/>
//                                         <lightning-input type="hidden" id="Product_Cost" value="{!s.latestInfo.Cost}"/>
//                                         <lightning-input type="hidden" id="Cost" value="{!s.Cost_c}"/>
//                                         <lightning-input type="hidden" id="CostSubTotal" value="{!s.Cost_Subtotal_c}"/>
//                                         <lightning-input type="hidden" id="Bsscategory" value="{!s.PageObject.BSS_Category__c}"/>
//                                         <lightning-input type="hidden" id="Product_Id" value="{!s.PageObject.Id__c}"/>
//                                         <lightning-input type="hidden" id="PricebookEntryId" value="{!s.pageObject.PricebookEntryId}"/>
//                                         <lightning-input type="hidden" id="lineNo" value="{!s.lineNo}"/>
//                                     </td>
//                                     <!-- CHAN-B4YAB8 2018/9/28 经销商单价和小计 start -->
//                                     <!-- <td class="dataCell" style="width:15px;">
//                                         <lightning-input-field id="Present__c" style="width:10px;" value="{!s.PageObject.Present__c}"
//                                         onChange="quoteAgencyTotalPriceAction();AgencyDiscountCalculation1();" />
//                                     </td> -->
//                                     <!-- CHAN-B4YAB8 2018/9/28 经销商单价和小计 end -->
//                                     <!-- 多年保修 start -->
//                                     <!-- 外贸多年保 取消多年保修 保修的隐藏 精琢技术 wql 2021/01/28 start rendered="{!IF(trade  == '内貿',true,false)}"-->
//                                     <apex:variable value="{!1}" id="warranty" var="abc" >
//                                         <td class="dataCell" style="width:50px;text-align:center;">
//                                           <lightning-input-field style="width:30px; text-align:center; display:{!IF(displayFlg, '', 'none')}" id="itemMultiYearWarranty" html-disabled="true" value="{!s.PageObject.multiYearWarranty__c}" />
//                                         </td>
//                                         <td class="dataCell" style="width:150px;text-align:center;">
//                                           <lightning-input-field style="width:120px; text-align:center; display:{!IF(displayFlg, '', 'none')}" id="warrantyType" html-disabled="true" value="{!s.PageObject.warrantyType__c}" />
//                                         </td>
//                                     </apex:variable>
//                                     <!-- 外贸多年保 取消多年保修 保修的隐藏 精琢技术 wql 2021/01/28 end rendered="{!IF(trade  == '内貿',true,false)}"-->
//                                     <td class="dataCell" style="width:50px;text-align:center;">
//                                         <lightning-output-field style="width:30px; text-align:center; display:{!IF(displayFlg, '', 'none')}" id="itemGuaranteePeriod" value="{!s.PageObject.GuaranteePeriod__c}" />
//                                     </td>
//                                     <!-- 多年保修 end -->
//                                     <!-- SFDC停止预警(预计消耗到期日) lt 20210924 add start -->
//                                     <td class="dataCell" style="width:130px;text-align: center;">
//                                         <lightning-formatted-text id="Estimated_ConsumptionDueDate" value="{!s.Estimated_ConsumptionDueDate}" />
//                                         <lightning-input type="hidden" id="Estimated_ConsumptionDueDate1" value="{!s.Estimated_ConsumptionDueDate}" />
//                                     </td>
//                                     <!-- SFDC停止预警(预计消耗到期日) lt 20210924 add end -->
//                                     <!-- 新加的 -->
//                                     <td class="dataCell" style="width:100px;text-align:center;">
//                                         <apex:outputLabel id="Storagestatustext" value="{!s.StorageStatus}"/>
//                                         <lightning-input type="hidden" id="Storagestatus" rendered="{!displayFlg}" value="{!s.StorageStatus}"/>
//                                     </td>
//                                     <td class="dataCell" style="width:100px;">
//                                         <lightning-input type="hidden" id="Product_Set_Name__c" value="{!s.Product_Set_Name}" />
//                                         <lightning-formatted-text id="Product_Set_Name" value="{!s.Product_Set_Name}" />
//                                     </td>
//                                     <td class="dataCell" id="{!Text(cnt-1)}:td_Name__c" style="width:350px;">
//                                         <div id="Page:mainForm:block:lists:{!s.lineNo}:NameLink"><apex:outputLink style="width:300px;" value="{!baseUrl}/{!s.PageObject.Id__c}" id="Nametext1" target="_blank">{!s.PageObject.Name__c}</apex:outputLink></div>
//                                         <lightning-input type="hidden" id="Name__c" value="{!s.PageObject.Name__c}"/>
//                                         <template layout="none" rendered="{!IF(s.wrong_Register == true, true, false)}">
//                                         <script type="text/javascript">
//                                             j$(escapeVfId('Page:mainForm:block:lists:{!Text(cnt-1)}' + ':Nametext1')).css({"color":"red"});
//                                         </script>
//                                     </template>
//                                     </td>
//                                     <!-- 报价试算 注释 -->
//                                     <td class="dataCell" style="text-align:center;width:100px;" hidden="hidden">
//                                         <lightning-input-field id="Agency_UnitPrice" html-disabled="true" style="width:80px;text-align:right;" rendered="{!displayFlg}" value="{!s.PageObject.AgencyUnitPrice__c}" onChange="calAgencyPrice('{!s.lineNo}')"/>
//                                     </td>
//                                     <!-- 报价试算 注释 -->
//                                     <td class="dataCell" style="width:100px;text-align:right;" hidden="hidden">
//                                         <lightning-formatted-text style="width:80px;display:{!IF(displayFlg, '', 'none')}" id="Agency_TotalPrice" value="{0, number, ###,##0.0}">
//                                             <apex:param value="{!IF(s.PageObject.Id__c==null,null,s.PageObject.AgencySubtotal__c)}"/>
//                                         </lightning-formatted-text>
//                                          <lightning-input type="hidden" id="AgencySubtotal__c" value="{!s.PageObject.AgencySubtotal__c}" rendered="{!displayFlg}"/>
//                                         <!-- 多年保修 start -->
//                                         <lightning-input type="hidden" id="GuaranteePeriod__c" value="{!s.PageObject.GuaranteePeriod__c}" rendered="{!displayFlg}"/>
//                                         <lightning-input type="hidden" id="provistonPeriod__c" value="{!s.PageObject.provistonPeriod__c}" rendered="{!displayFlg}"/>
//                                         <lightning-input type="hidden" id="If_Cancel_Guarantee__c" value="{!s.PageObject.If_Cancel_Guarantee__c}" rendered="{!displayFlg}"/>
//                                         <lightning-input type="hidden" id="ServicePrice__c" value="{!s.PageObject.ServicePrice__c}" rendered="{!displayFlg}"/>
//                                         <lightning-input type="hidden" id="GuranteePrice__c" value="{!s.GuranteePrice}" rendered="{!displayFlg}"/>
//                                         <lightning-input type="hidden" id="Maintenance_Price_Year__c" value="{!s.Maintenance_Price_Year}" rendered="{!displayFlg}"/>
//                                         <lightning-input type="hidden" id="GuranteeType" value="{!s.PageObject.GuranteeType__c}" rendered="{!displayFlg}"/>
//                                         <lightning-input type="hidden" id="ProductEntend_gurantee_period_all__c" value="{!s.PageObject.ProductEntend_gurantee_period_all__c}" rendered="{!displayFlg}"/>
//                                         <lightning-input type="hidden" id="ProductGuranteePrice__c" value="{!s.ProductGuranteePrice}" rendered="{!displayFlg}"/>
//                                         <lightning-input type="hidden" id="productServicePrice__c" value="{!s.PageObject.productServicePrice__c}" rendered="{!displayFlg}"/>
//                                         <lightning-input type="hidden" id="latestGuranteeType"
//                                         value="{!s.latestInfo.GuranteeType}" rendered="{!displayFlg}"/>
//                                         <lightning-input type="hidden" id="latestMaintenance_Price_Year" value="{!s.latestInfo.Maintenance_Price_Year}" rendered="{!displayFlg}"/>
//                                         <lightning-input type="hidden" id="latestIntra_Trade_Gurantee"
//                                         value="{!s.latestInfo.Intra_Trade_Gurantee}" rendered="{!displayFlg}"/>
//                                         <lightning-input type="hidden" id="latestProductEntend_gurantee_period_all"
//                                         value="{!s.latestInfo.ProductEntend_gurantee_period_all}" rendered="{!displayFlg}"/>
//                                         <lightning-input type="hidden" id="latestProductIntra_Trade_Service"
//                                         value="{!s.latestInfo.Intra_Trade_Service}" rendered="{!displayFlg}"/>
//                                         <!-- 多年保修 end -->
//                                     </td>
//                                     <!-- 外贸多年保 取消nodiscount隐藏 精琢技术 wql 2021/01/28 start rendered="{!IF(trade  == '内貿',true,false)}"-->
//                                     <!--报价试算 注释  -->
//                                     <apex:variable value="{!1}" id="warranty2" var="abc" >
//                                         <td class="dataCell" style="width:100px;text-align:right;" hidden="hidden">
//                                             <lightning-input-field style="width:80px;display:{!IF(displayFlg, '', 'none')}" html-disabled="true" id="NoDiscountTotal" value="{!s.PageObject.NoDiscountTotal__c}"/>
//                                         </td>
//                                     </apex:variable>
//                                     <!-- 外贸多年保 取消nodiscount隐藏 精琢技术 wql 2021/01/28 end -->
//                                     <td class="dataCell" style="width:15px;" >
//                                         <template if:true="{!s.lineNo < 149}" layout="none">
//                                             <apex:image id="plusicon" value="{!$Resource.plusicon}" onclick="addRowJs({!s.lineNo + 1});"/>
//                                         </template>
//                                     </td>
//                                 </tr>
//                         <apex:variable value="{!cnt + 1}" var="cnt" />
//                         </apex:repeat>
//                         </table>  <!-- /table class="list" -->
//                         </template>
//                     </div>
//                 </div>
//             </div>
//             <BR></BR>
//             <div>
//                 <table border="0">
//                     <tr>
//                         <td>
//                              <!--多年保修 增加宽度 start -->
//                             <table border="0" style="background-color:#ffd6c1; width: 878px;">
//                                 <!--多年保修 end -->
//                                 <tr>
//                                     <th style="width:100px;">&nbsp;</th>
//                                     <th style="width:140px;text-align:center;" bgcolor="#ffd6c1">{!$Label.Calculate}</th>
//                                     <!-- CHAN-B6H4MH  20181114UpdateStart-->
//                                     <th style="width:120px;text-align:center;" bgcolor="#ffd6c1">{!$Label.AdjustAmount}</th>
//                                     <!-- <th style="width:120px;" bgcolor="#ffd6c1">&nbsp;</th>
//                                     <th style="width:120px;" bgcolor="#ffd6c1">&nbsp;</th>
//                                     <th style="width:120px;text-align:center;" bgcolor="#ffd6c1">{!$Label.Calculate}</th>
//                                     <th style="width:120px;text-align:center;" bgcolor="#ffd6c1">{!$Label.Amount}</th> -->
//                                     <!-- CHAN-B6H4MH  20181114UpdateEnd-->
//                                 </tr>
//                                 <tr>
//                                     <th style="width:100px;text-align:right">{!$Label.Quote_Adjustment}</th>
//                                     <td style="width:140px;"><lightning-input style="width:110px;text-align:right" id="QuoCalculation" rendered="{!displayFlg}" value="{!qb.Quote_Adjust_Calculate}" onchange="UnitPriceUpdate();"/></td>
//                                     <td style="width:120px;"><lightning-input-field style="width:110px;text-align:right" id="QuoAmount" rendered="{!displayFlg}" value="{!quo.Quote_Adjust_Amount_Page__c}" onchange="calFromQuoAmont();"/></td>
//                                     <!-- CHAN-B6H4MH  20181114UpdateStart-->
//                                     <!-- <th style="width:120px;" bgcolor="#ffd6c1">&nbsp;</th>
//                                     <th style="width:120px;text-align:center">{!$Label.Discount_Amount}</th>
//                                     <td style="width:120px;text-align:right"><apex:outputLabel style="width:110px;display:{!IF(displayFlg, '', 'none')}" id="DisCalculation" value="{!DisCalculation}"/></td>
//                                     <td style="width:120px;text-align:right"><lightning-formatted-text style="width:110px;display:{!IF(displayFlg, '', 'none')}" id="DisAmount" value="{0, number, ###,##0.00}"><apex:param value="{!DisAmount}"/></lightning-formatted-text></td> -->
//                                     <!-- CHAN-B6H4MH  20181114UpdateEnd-->
//                                     <th style="width:120px;text-align:center;"></th>
//                                     <td style="width:120px;" align="center">
//                                         <!-- <lightning-button action="{!Jump}" rerender="hiddenQuoid" value="跳转" style="width:90px;"
//                                         /> -->
//                                         <lightning-button onclick="JumpJs();return false;"  style="width:90px;" value="报价计算"
//                                         />
//                                     </td>
//                                     <th style="width:100px;" bgcolor="#ffd6c1">
//                                         <!-- 用这个 disabled 颜色太暗 -->
//                                         是否进行过报价计算:<lightning-input-field style="width:20px;text-align:right" id="IsQuoteTrial" rendered="{!displayFlg}" value="{!quo.IsQuoteTrial__c}"  onclick="return false;" />
//                                     </th>
//                                 </tr>
//                                 <tr><!-- style="display:{!IF(oppInfo.Account_RecordType_DeveloperName!='AgencyContract','table-row','none')};" -->
//                                     <th style="width:100px;">&nbsp;</th>
//                                     <th colspan="2" style="width:260px;text-align:center;">{!$Label.Sales_Name}</th>
//                                     <!-- 报价试算注释 -->
//                                     <!-- <th style="width:120px;text-align:center;">{!$Label.Sales_Div}</th> -->
//                                     <th style="width:120px;text-align:center;"></th>
//                                     <th style="width:120px;text-align:center;">{!$Label.Amount}</th>
//                                     <th style="width:120px;text-align:center;">{!$Label.Sales_Profit}</th>
//                                     <th style="width:120px;text-align:center;">{!$Label.Percent}</th>
//                                 </tr>
//                                 <tr>
//                                     <th style="width:100px;text-align:right;">{!$Label.Sales_Name1}</th>
//                                      <!--    2018/09/28 CHAN-B4YAB8 去掉onchange function getID1(); start -->
//                                     <td colspan="2" style="width:260px;"><lightning-input-field style="width:230px;" id="SalesName1" value="{!quo.Agency1__c}"/></td>
//                                      <!--    2018/09/28 CHAN-B4YAB8 去掉onchange function getID1(); end -->
//                                     <!-- 多年保修注释    2018/09/28 CHAN-B4YAB8 经销商折扣 start -->
//                                     <!--<td style="width:120px;text-align:center">
//                                         <lightning-formatted-text style="width:110px;text-align:right" id="AgencyDiscount" value="{!AgencyDiscount}"/>
//                                     </td> -->
//                                     <!-- 多年保修 第一经销商 折扣变为 可输入 start -->
//                                     <td style="width:120px;text-align:center" hidden="hidden">
//                                         <lightning-input style="width:50px;text-align:right" id="AgencyDiscount" value="{!AgencyDiscount}" onchange="callFromAgencyDiscount();"/>
//                                     </td>
//                                     <td style="width:120px;text-align:center" >
//                                     </td>
//                                     <!-- 多年保修 第一经销商 折扣变为 可输入 end -->
//                                     <td style="width:120px;"><lightning-input-field style="width:110px;text-align:right" id="SalesAmount1" value="{!quo.OCM_Agent1_Price_Page__c}" rendered="{!displayFlg}" onchange="salesProfit1();setOCMAmount();quoteAgencyTotalPriceAction1('经销商');AgencyDiscountCalculation1();"/></td>
//                                     <!--    2018/09/28 CHAN-B4YAB8 经销商折扣 end -->
//                                     <td style="width:120px;text-align:right"><apex:outputLabel style="width:110px;display:{!IF(displayFlg, '', 'none')}" id="Salesprofit1" value="{!Salesprofit1}"/></td>
//                                     <td style="width:120px;text-align:right"><apex:outputLabel style="width:110px;display:{!IF(displayFlg, '', 'none')}" id="SalesCalculation1" value="{!qb.SalesCalculation1}" /></td>
//                                 </tr>
//                                 <tr>
//                                     <th style="width:100px;text-align:right;">{!$Label.Sales_Name2}</th>
//                                     <td colspan="2" style="width:260px;"><lightning-input-field style="width:230px;" id="SalesName2" value="{!quo.Agency2__c}" onChange="getId2();"/></td>
//                                     <td style="width:120px;"><apex:outputLabel style="width:110px;text-align:right;" id="SalesShopClass2" value="{!SalesShopClass2}" /></td>
//                                     <td style="width:120px;"><lightning-input-field style="width:110px;text-align:right;" id="SalesAmount2" value="{!quo.Agent1_Agent2_Price_Page__c}" rendered="{!displayFlg}" onchange="salesProfit2();"/></td>
//                                     <td style="width:120px;text-align:right;"><apex:outputLabel style="width:110px;display:{!IF(displayFlg, '', 'none')}" id="Salesprofit2" value="{!Salesprofit2}" /></td>
//                                     <td style="width:120px;text-align:right;"><apex:outputLabel style="width:110px;display:{!IF(displayFlg, '', 'none')}" id="SalesCalculation2" value="{!qb.SalesCalculation2}" /></td>
//                                 </tr>
//                             </table>
//                         </td>
//                         <td>
//                             <table border="0" style="display:{!IF(hiddenSaveBtn, 'none', '')}">
//                                 <!-- SI业务系统流程改善和提升项目2019-10-28  by vivek start -->
//                                 <tr>
//                                     <td style="width:150px;" align="right"><lightning-button onclick="QuoteConfirmJs();return false;"  rendered="{!UnConfirmQuote}" value="确认报价" style="width:90px;"  /></td>
//                                 </tr>
//                                 <!-- SI业务系统流程改善和提升项目2019-10-28 by vivek end -->
//                                 <tr>
//                                     <th style="width:150px;" align="right">&nbsp;</th>
//                                 </tr>
//                                 <tr>
//                                     <td style="width:150px;" align="right"><lightning-button onclick="save2btn();return false;" rerender="hiddenQuoid,SFDA_Flg" value="{!$Label.Save_Button}" style="width:90px;" disabled="{!Save_button}" /></td>
//                                 </tr>
//                                 <tr>
//                                     <!-- SI业务系统流程改善和提升项目2019-10-28 by vivek start -->
//                                     <td style="width:150px;" align="right"><lightning-button onclick="submitOppoApplyStockJs();return false;" rerender="hiddenQuoid,SFDA_Flg" value="备货确认申请" style="width:90px;" disabled="{!Save_button}" /></td>
//                                     <!-- <td style="width:150px;" align="right"><lightning-button onclick="submitOppoApplyStockJs();return false;" rerender="hiddenQuoid,SFDA_Flg" value="备货确认申请" style="width:90px;" disabled="{!Save_button1}" /></td> -->
//                                     <!-- SI业务系统流程改善和提升项目2019-10-28 by vivek end -->
//                                 </tr>
//                                 <tr>
//                                     <td style="width:150px;" align="right"><lightning-button onclick="oppReflection2btn();return false;" rerender="hiddenQuoid" value="{!$Label.Opp_Button}" style="width:90px;" disabled="{!Save_button}"/></td>
//                                 </tr>
//                                 <tr>
//                                     <!-- 20211029 lt SFDC停止预警 add oncomplete="MarkRed();" -->
//                                     <td style="width:150px;" align="right"><lightning-button onclick="decision2btn();return false;" rerender="errorMsg,hiddenQuoid,SFDA_Flg" value="{!$Label.QuoteDecision_Button}" style="width:90px;" disabled="{!Decision_button}" oncomplete="MarkRed();"/></td>
//                                     <!--{!Decision_button} -->
//                                 </tr>
//                                 <tr>
//                                     <!--    2018/09/28 CHAN-B4YAB8 复制粘贴板 start -->
//                                     <td style="width:150px;" align="right"><lightning-button onClick="copyToClipboardNewQuoteEntry(event, displayCost, document.getElementById( 'Page:mainForm:hiddenQuoid').innerHTML, '{!oppInfo.CurrencyIsoCode}');return false;" value="{!$Label.Copy_Detail}" style="width:90px;" rendered="{!displayFlg}" rerender="dummy"/></td>
//                                     <!--    2018/09/28 CHAN-B4YAB8 复制粘贴板 end -->
//                                 </tr>
//                                 <tr>
//                                     <td style="width:150px;" align="right">
//                                         <lightning-button onclick="DownloadCsvGet()" disabled="{!IF(quoId!=null,false,true)}" value="CSV下载" style="width:90px;" reRender="dummy"/>
//                                     </td>
//                                 </tr>
//                             </table>
//                             <table border="0" >
//                                 <tr>
//                                     <td style="width:150px;" align="right"><lightning-button action="{!Back}" rerender="hiddenQuoid" value="返回询价" style="width:90px;" /></td>
//                                 </tr>
//                                 <!-- 报价试算 -->
//                                 <!-- <tr>
//                                     <td style="width:150px;" align="right">
//                                         <lightning-button onclick="JumpJs();return false;"  style="width:90px;" value="报价试算"
//                                         />
//                                     </td>
//                                 </tr> -->
//                             </table>
//                         </td>
//                     </tr>
//                     </table>
//                 <br></br>
//                  <!--多年保修 增加宽度 start -->
//                 <table border="0" style="background-color:#ffd6c1; width: 878px;">
//                  <!--多年保修 增加宽度 end -->
//                     <tr>
//                         <th style="text-align:right;width:80px;">{!$Label.Quote_Print}</th>
//                         <td style="text-align:center;width:80px;"><lightning-input value="{!quo.Unit_Price__c}"/>{!$Label.Detail_Price}</td>
//                         <td style="text-align:center;width:80px;"><lightning-input value="{!quo.Offer_Amount__c}"/>{!$Label.Detail_Sum}</td>
//                         <td style="text-align:center;width:80px;"><lightning-input value="{!quo.TOTAL__c}"/>{!$Label.Total_Price}</td>
//                         <td style="text-align:center;width:80px;"><lightning-input value="{!quo.Discount__c}"/>{!$Label.Total_Discount_Percent}</td>
//                         <td style="text-align:center;width:80px;"><lightning-input value="{!quo.Pricing__c}"/>{!$Label.Total_Discount_Amount}</td>
//                         <td style="text-align:center;"><lightning-input value="{!quo.Preferential_Trading_Price__c}"/>{!$Label.Row_Total_Sum}</td>
//                         <!-- 多年保修 start -->
//                         <td style="text-align:center;width:80px;"><lightning-input value="{!quo.Preferential_Gurantee_Period__c}"/>{!$ObjectType.Quote.fields.Preferential_Gurantee_Period__c.label}</td>
//                         <!-- 多年保修 end -->
//                         <td style="width:120px;text-align:right" colspan="2"><lightning-input value="{!quo.Contract__c}" rendered="{!enableContract}"/>{!$Label.Contract_Breakdown}</td>
//                     </tr>
//                     <tr>
//                         <th style="text-align:right;width:100px;">{!$Label.Print_HPName}</th>
//                         <td colspan="6">
//                             <lightning-combobox id="selection_hp" value="{!selection_hp}" style="width:400px;" size="1">
//                                 <apex:sele
//                                 ctOptions value="{!options_hp}"/>
//                             </lightning-combobox>
//                         </td>
//                         <td  colspan="2" align="right" style="display:{!IF(hiddenSaveBtn, 'none', '')}"><lightning-button onclick="print2btn();return false;" value="{!$Label.Print_Button}" style="width:90px;" disabled="{!print_button}" rendered="{!displayFlg}" rerender="dummy"/></td>
//                     </tr>
//                 </table>
//             </div>
//         </lightning-card>
//     </form>
//     <!-- 添加行 html特性增加滑动条 精琢技术 wql 2021/02/09 start -->
//     <script type="text/javascript">
//     </script>
//     <!-- //添加行 html特性增加滑动条 精琢技术 wql 2021/02/09 end -->
// </template> -->
        //刷新
        this.jzshows5 = false;
        this.IsLoading5 = true;
        this.IsLoadingFlag1 = false;
        setTimeout(() => {
            this.SelectedOtherDataArr = [];
            this.IsLoading5 = false;
            this.jzshows5 = true;
        }, 1000);
        setTimeout(() => {
            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;
        var ItempTempData = {
            ...{},
            ...this.SelectedFnDataSpecial[0]
        };
        if (this.SelectedOtherDataArr.length == 0 && this.SelectedFnDataSpecial.length != 0) {
            this.errorTiShi("请选择特约折扣产品!");
        } else if (this.SelectedFnDataSpecial.length == 0 && this.SelectedOtherDataArr.length != 0) {
            this.errorTiShi("请选择特约折扣方案!");
        } else if (this.SelectedFnDataSpecial.length == 0 && this.SelectedOtherDataArr.length == 0) {
            this.errorTiShi("请选择特约折扣方案和产品!");
        } else {
            ItempTempData.itemss = this.SelectedOtherDataArr;
            ItempTempData.IsTempItems = true;
            ItempTempData.NormalDiscount__c_Input = ItempTempData.NormalDiscount__c;
            ItempTempData.GuaranteeDiscount__c_Input = ItempTempData.GuaranteeDiscount__c;
            this.SelectedFnDataSpecial[0] = ItempTempData;
            this.UpdateDiscountData(this.SelectedFnDataSpecial);
            this.SpecialSavesChange("特约折扣", ItempTempData, this.SelectedFnDataSpecial[0].Id, this.SelectedFnDataSpecial[0].CompareId);
            this.Alert("特约折扣选择完成", 'success');
            this.ConsolidatedDiscountPolicy(this.jzDataDiscount);
            this.ComputeDiscount(ItempTempData.Id, ItempTempData.NormalDiscount__c, ItempTempData.GuaranteeDiscount__c, ItempTempData.Category__c, ItempTempData.JxsType);
            this.SelectedFnDataSpecial = [];
            this.SelectedOtherDataArr = [];
        }
    }
    //计算折扣政策
    ComputeDiscount(id, NormalDiscount__c_Input, GuaranteeDiscount__c_Input, Category__c, JxsType) {
        //todu2
        this.updateIdStr("1");
        var arrProductTemp = this.jzDataProduct; // PromotionId   产品明细
        this.updateIdStr("2");
        var arrTemp1 = this.jzDataDiscount; //折扣政策
        arrTemp1.forEach(item => { //item折扣政策
            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 = 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) { //对象品折扣录入
                            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) {
                        this.newArrsTemp = [];
                        this.newArrsTemp2 = [];
                        arrProductTemp.forEach(itemss => { //itemss产品明细
                            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 ||
                                itemss.NormalDiscount__c_Input != item.NormalDiscount__c_Input) {
                                this.newArrsTemp2.push(itemss);
                            }
                        });
                        this.jzDataProduct = arrProductTemp;
                        //合同价格汇总
                        this.ContractPriceCompute();
                    }
                }
            }
        });
        this.jzDataDiscount = [].concat(arrTemp1);//20230214
    }
    //折扣政策匹配规则
    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);//20230213
        //合同价格汇总
        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);
    }
    //========一般折扣模态框 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) {
            this.jzDataCommonly = newData;
            this.ShowCommonlyIsError = false;
        } else if (boolean == 2) {
            this.ShowCommonlyIsError = true;
            this.ShowCommonlyError = "修改错误,使用数量不得大于数量";
        } else if (boolean == 3) {
            this.ShowCommonlyIsError = true;
            this.ShowCommonlyError = "修改错误,使用数量不得为0或为空";
        }
        //刷新
        this.jzshows4 = false;
        this.IsLoading4 = true;
        this.IsLoadingFlag = false;
        setTimeout(() => {
            this.SelectedFnCommonlyData = [];
            this.IsLoading4 = false;
            this.jzshows4 = true;
        }, 1000);
        setTimeout(() => {
            this.IsLoadingFlag = true;
        }, 2000);
    }
    //一般折扣模态框取消按钮方法
    cancelCommonly() {
        this.ShowCommonly = false;
        this.ShowCommonlyIsError = false;
        this.SelectedFnCommonlyData = [];
        this.SaveLb = '';
        this.SaveZk = '';
    }
    //一般折扣待选产品列表列配置
    @track
    initDataTableCommonly = initDataTableCommonly2;
    //一般折扣待选产品列表数据
    @track jzDataCommonly = [];
    //一般折扣待选产品列表加载动图标识
    @track tableIsLodingCommonly = true;
    //一般折扣待选方案列表加载方法
    getTableDataCommonly(event) {
        if (!this.IsLoadingFlag) {
            return
        };
        this.jzDataCommonly = this.jzDataDefault;
        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) {
            var ItempTempData = {};
            ItempTempData.Id = GetUUID();
            ItempTempData.CompareId = GetUUID();
            ItempTempData.Name = '一般折扣';
            ItempTempData.JxsType = "一般折扣";
            ItempTempData.itemss = arr;
            if (this.SaveLb == '' || this.SaveZk == '') {
                if (this.SaveLb == '' && this.SaveZk != '') {
                    this.errorTiShiYi("请选择产品类别!");
                } else if (this.SaveZk == '' && this.SaveLb != '') {
                    this.errorTiShiYi("请输入使用折扣!");
                } else if (this.SaveZk == '' && this.SaveLb == '') {
                    this.errorTiShiYi("请输入使用折扣和产品类别!");
                }
            } else {
                ItempTempData.Category__c = this.SaveLb;
                ItempTempData.NormalDiscount__c_Input = this.SaveZk;
                ItempTempData.if_Contain_Nod__c = false;
                var TempList = [];
                TempList.push(ItempTempData);
                this.UpdateDiscountData(TempList);
                this.SpecialSavesChange("一般折扣", ItempTempData, ItempTempData.Id, ItempTempData.CompareId);
                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) {
            this.jzDataDiscount = arrs;
        } else {
            this.jzDataDiscount = this.jzDataDiscount.concat(arrs);
        }
    }
    //========一般折扣模态框 end=======
    //产品明细删除方法
    delectTableProduct(){
        this.DeleteIsChangesFnSingle(this.SelectedFnProductData);
    }
    DeleteIsChangesFnSingle(list) {
        let num = 0;
         list.forEach(item => {
             num++;
             var falg = true;
             if (item.TypeName == "价格政策") {
                 this.DeleteIsChangelogic(item, item.TypeName, num, list);
                 var TempItem = DeleteIsChangesFnjiage(this.jzDataFixedPrice,this.jzDataProduct,falg,item);
                 falg = falgExp;
                 if (TempItem && falg) {
                     this.SelectedFnDataFixedPrice.push(TempItem);
                     this.deleteFixedPriceTemp();
                 }
             } else if (item.TypeName == "折扣政策") {
                 this.DeleteIsChangelogic(item, item.TypeName, num, list);
                 var TempItemTOName = DeleteIsChangesFnzhekou(this.jzDataDiscount,this.jzDataProduct,falg,item);
                 falg = falgExp;
                 if (TempItemTOName != undefined && falg) {
                     this.SelectedFnDataDiscount.push(TempItemTOName);
                     this.delectTableDiscountTemp();
                 }
             }
             this.ContractPriceCompute();
         })
    }
    //删除产品明细和待选产品  item是选中的产品明细对象  TypeName是选中的产品明细对对应的方案类型
    DeleteIsChangelogic(item, TypeName, num, list) {
        var boofag = DeleteIsChangelogicExp(item,TypeName,this.jzDataProduct,this.jzDataDefault,this.jzDataDefaultCopy);
        this.jzDataProduct = jzDataProductExp;
        this.jzDataDefault = jzDataDefaultExp;
        this.jzDataDefaultCopy = jzDataDefaultCopyExp;
        if(boofag == 1){
            this.Alert("促销方案内产品型号,数量固定,不可删除明细",'error');
        }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;
    //打印客户名称 start
    selection_hp = '';
    options_hp = [];
    options_hpflg = true;
    get PrintCustomerNameoptions() {
        if (this.accountid) {
            if(this.options_hpflg){
                selectAccountById({accountid : this.accountid}).then(accs =>{
                    this.options_hp = PrintCustomerNameoptionsvlue(this.options_hp,this.selection_hp,this.quo,this.options_hpflg,accs);
                    this.selection_hp = selection_hpExp;
                    this.options_hpflg = options_hpflgExp;
                });
            }else{
                return this.options_hp;
            }
        }else{
            return this.options_hp;
        }
    }
    PrintCustomerNamehandleChange(event) {
        this.selection_hp = event.detail.value;
    }
    // cjw start
    a(){
        var jzDataToBeproduct1=this.jzDataToBeproduct;
        var selectjzDataTableToBeproduct1 = this.selectjzDataTableToBeproduct;
        var jzDataToBeproduct2=lineUp(jzDataToBeproduct1,selectjzDataTableToBeproduct1);
        this.jzDataToBeproduct=[].concat(jzDataToBeproduct2);
    }
    b(){
        var jzDataToBeproduct1 = this.jzDataToBeproduct;
        var selectjzDataTableToBeproduct1 = this.selectjzDataTableToBeproduct;
        var jzDataToBeproduct2=lineDown(jzDataToBeproduct1,selectjzDataTableToBeproduct1);
        this.jzDataToBeproduct=[].concat(jzDataToBeproduct2);
    }
    yyEvent(){
        if(!yingYanCheck(this.jzDataToBeproduct,yy) || (yingYanCheck(this.jzDataToBeproduct,yy) && confirm('鹰眼产品必须三个一起下单,包含型号EC01-01,EC00-01,EP01'))){
            return true;
        } else {
            return false;
        }
    }
    // cjw end
}