19626
2023-05-24 e6a0a7f9ffb463c5ce78d6770b09eac739f88b15
force-app/main/default/lwc/lexPCLLostReportPage/lexPCLLostReportPage.js
@@ -4,233 +4,143 @@
 * @Author: chen jing wu
 * @Date: 2023-04-20 15:04:03
 * @LastEditors: chen jing wu
 * @LastEditTime: 2023-04-24 16:46:31
 * @LastEditTime: 2023-05-24 15:48:07
 */
/*
 * @Description:
 * @version:
 * @Author: chen jing wu
 * @Date: 2023-04-20 15:04:03
 * @LastEditors: chen jing wu
 * @LastEditTime: 2023-04-20 17:11:01
 */
import { api, wire,LightningElement } from 'lwc';
const columns2=[
    { label: '--无--', value: '' },
    { label: '无信息,跟进不及时', value: '无信息,跟进不及时' },
    { label: '价格', value: '价格' },
    { label: '医生偏好', value: '医生偏好' },
    { label: '服务不到位', value: '服务不到位' },
    { label: '行政决策', value: '行政决策' },
    { label: '竞品原有基础上增添设备', value: '竞品原有基础上增添设备' },
    { label: '渠道因素', value: '渠道因素' },
    { label: '某种产品缺失', value: '某种产品缺失' },
    { label: '采购平衡', value: '采购平衡' }
];
const productClassOptions = [
    { label: '--无--', value: '' },
    { label: '主机', value: '主机' },
    { label: '镜子', value: '镜子' },
    { label: '小镜种', value: '小镜种' },
    { label: '能量', value: '能量' },
    { label: '其他', value: '其他' }
];
const productCategoryOptions = [
    { label: '--无--', value: '' }
];
const columns3 = [
    {label : "失单品牌",fieldName : "LostBrandName__c"},
    {label : "失单对手型号",fieldName : "LostProduct__c"},
    {label : "失单数量",fieldName : "Quantity__c",type : "number"},
    {label : "失单对手型号(手动)",fieldName : "LostProductMannual__c"},
    {label : "失单产品类别",fieldName : "ProductClass__c"},
    {label : "失单产品区分",fieldName : "ProductCategory__c"}
];
const RecordTypeOptions = [
    { label: '--无--', value: '' },
    { label: '失单', value: '失单' },
    { label: '部分失单', value: '部分失单' }
];
import { api, wire,track,LightningElement } from 'lwc';
import { CurrentPageReference } from "lightning/navigation";
import save from '@salesforce/apex/lexPCLLostReportLwcController.save';
import jquery from '@salesforce/resourceUrl/jquery183minjs';
import blockUIcss from '@salesforce/resourceUrl/blockUIcss';
import dataEntry from '@salesforce/apex/lexPCLLostReportLwcController.dataEntry';
import { ShowToastEvent } from 'lightning/platformShowToastEvent';
import { loadStyle, loadScript } from 'lightning/platformResourceLoader';
import setbrand from '@salesforce/apex/lexPCLLostReportLwcController.setBrand';
import init from '@salesforce/apex/lexPCLLostReportLwcController.init';
import PleaseWaitDialog from '@salesforce/resourceUrl/PleaseWaitDialog';
import initForApex from '@salesforce/apex/lexPCLLostReportLwcController.initForApex';
export default class LexPCLLostReportPage extends LightningElement {
import multiSelectCombobox from 'c/multiSelectCombobox'
import lexMultiSelectCombobox from 'c/lexmultiSelectCombobox';
import searchBrands from '@salesforce/apex/lexPCLLostReportLwcController.searchBrands';
import getNewLostBrand from '@salesforce/apex/lexPCLLostReportLwcController.getNewLostBrand';
import getPickList from '@salesforce/apex/lexPCLLostReportLwcController.getPickList';
import { NavigationMixin } from 'lightning/navigation';
import submit from '@salesforce/apex/lexPCLLostReportLwcController.submit';
import {CloseActionScreenEvent} from 'lightning/actions';
export default class LexPCLLostReportPage extends NavigationMixin(LightningElement) {
    @api oppId;
    @api lostReportId;
    @api pageStatus;
    @api lostType;
    @api submitFlag;
    LostReport;
    brandCount;
    lostReportObj;
    @track columns2=columns2;
    @track pageStatus = 'Create';
    @track LostReport = {
        LostBrands: [
        ],
        lostReport: {}
    }
    @track brandOptions = [];
    lostType = '失单';
    submitFlag = '';
    flag;
    tableflag = 0;
    reportId = '';
    newProduct;
    productOptionsList;
    productClassOptions = productClassOptions;
    productCategoryOptions = productCategoryOptions;
    columns3 = columns3;
    //失单类型
    RecordTypeOptions = [{ label: '--无--', value: '' },
                    { label: '失单', value: '失单' },
                    { label: '部分失单', value: '部分失单' }];
    // @wire(CurrentPageReference)
    // getStateParameters(currentPageReference) {
    //         console.log(111);
    //         console.log(currentPageReference);
    //     if (currentPageReference) {
    //         const urlValue = currentPageReference.state.recordId;
    //         if (urlValue) {
    //         let str = `${urlValue}`;
    //         console.log("str");
    //         console.log(str);
    //         this.oppId = str;
    //         }
    //     }
    // }
    // connectedCallback(){
    //     console.log("1");
    //     initForApex({
    //         oppId1: this.oppId,
    //         lostReportId1: this.lostReportId,
    //         pageStatus1: this.pageStatus,
    //         lostType1: this.lostType,
    //         submitFlag1: this.submitFlag
    //     }).then(()=>{
    //         console.log("2");
    //         init().then(result=>{
    //             console.log("3");
    //             console.log(result);
    //             if(result.message == '提交成功!'){
    //                 this.showToast(result.message,"success");
    //                 this.LostReport = result.LostReport;
    //             }else{
    //                 console.log("211");
    //                 this.showToast(result.message,"error");
    //                 console.log("985");
    //             }
    //         });
    //     });
    // }
    getParamValue(paramName) {
        // Use the URLSearchParams API to get the value of a query parameter
        const params = new URLSearchParams(window.location.search);
        return params.get(paramName);
    }
    saveJs() {
        this.blockMyself();
        save().then(result=>{
            if(result){
                this.showToast(result,"success");
                this.unblock();
                this.clearBrandMannualName();
            }
        })
    }
    addBrandJs() {
        this.blockMyself();
        addBrand().then(()=>{
            this.unblock();
        });
    }
    submitJS() {
        this.blockMyself();
        submit().then(result=>{
            if(result.get('error')){
                this.showToast(result.get('error'),"error");
    RecordTypeOptions = RecordTypeOptions;
    connectedCallback(){
        init({
            oppId1: this.oppId,
            lostReportId1: this.reportId,
            pageStatus1: this.pageStatus,
            lostType1: this.lostType,
            submitFlag1: this.submitFlag
        }).then(result=>{
            if(result.message != null){
                if(result.message == '提交成功!'){
                    this.showToast(result.message,"success");
                    this.LostReport = result.LostReport;
                }else{
                    this.showToast(result.message,"error");
                }
            }else{
                this[NavigationMixin.Navigate]({
                    type: 'standard__recordPage',
                    attributes: {
                        uri: result.get('uri'),
                        Id: result.get('Id'),
                        pageStatus: result.get('pageStatus'),
                        submitFlag: result.get('submitFlag')
                    }
                });
                this.unblock();
                var report = result.LostReport;
                this.LostReport = report;
                this.LostReport.lostReport.LostTotalAmount__c = 0.0;
                this.LostReport.lostReport.InclusionUltrasound__c = '0';
                this.newProduct = JSON.parse(JSON.stringify(this.LostReport.LostBrands[0].LostProducts[0]));
            }
            }).catch(error=>{
                console.log("error");
                console.log(error);
            });
        searchBrands().then(result=>{
            this.brandOptions = JSON.parse(result);
            const multiComboboxs = this.template.querySelectorAll('c-multi-select-combobox');
            multiComboboxs.forEach(multiCombobox=>{
                multiCombobox.refreshOptions(this.brandOptions);
            });
        }).catch(error=>{
            console.log("error");
            console.log(error);
        });
    }
    addProductJs(number) {
        this.blockMyself();
        addProduct().then(()=>{
            this.unblock();
        getPickList({
            objectName: 'PCLLostProduct__c',
            fieldName: 'ProductCategory__c'
        }).then(result=>{
            this.productOptionsList = JSON.parse(result);
        });
    }
    RemoveJs(number) {
        this.blockMyself();
        Remove().then(()=>{
            this.unblock();
        });
    }
    // add tcm 20211118 start
    searchJs(topNum, secondNum) {
        this.blockMyself();
        search().then(()=>{
            this.unblock();
        });
    }
    blockMyself(){
        Promise.all([
            loadScript(this,PleaseWaitDialog),
            loadStyle(this,blockUIcss),
            loadScript(this, jquery)
            //loadScript(this, jq + "/dist/jquery.min.js")
        ]).then(() =>{
            blockme();
        }).catch(error => {
            console.log("321");
            console.log('Failed to load the JQuery : ' +error);
        });
    }
    unblock(){
        Promise.all([
            loadScript(this,PleaseWaitDialog),
            loadStyle(this,blockUIcss),
            loadScript(this, jquery)
            //loadScript(this, jq + "/dist/jquery.min.js")
        ]).then(() =>{
            unblockUI();
        }).catch(error => {
            console.log("321");
            console.log('Failed to load the JQuery : ' +error);
        });
    }
    get pageStatusIsCreateOrEdit() {
        return this.pageStatus === 'Create' || this.pageStatus === 'Edit';
    }
    // add tcm 20211118 end
    setLostTotalAmount() {
        //console.log('setLostTotalAmount start:');
        var totalAmount = this.template.querySelector('[data-id="LostTotalAmount"]');
        var totalAmountHidden = this.template.querySelector('[data-id="LostTotalAmountHidden"]');
        var brandAmountObjects = this.template.querySelectorAll('[data-id^="BrandContent:LostPriceOut"]');
        var brandCompanyObjects = this.template.querySelectorAll('[data-id^="BrandContent:Lost_By_CompanyOut"]');
        if (!!totalAmount && !!totalAmountHidden) {
            var tempLostAmount = 0.0;
            var brandCount = parseInt(this.brandCount);
            //console.log(brandCount);
            for (var i = 0; i < brandCount; i++) {
                var brandAmountObject = brandAmountObjects[i];
                var brandCompanyObject = brandCompanyObjects[i];
                if (!!brandAmountObject && !!brandCompanyObject) {
                    var brandCompanyText = brandCompanyObject.innerText;
                    var brandCompanyValue = brandCompanyObject.value;
                    if (!!brandCompanyText && brandCompanyText !== '--无--' && !!brandCompanyValue) {
                        var brandAmount = parseFloat(brandAmountObject.value);
                        tempLostAmount = tempLostAmount + brandAmount;
                    }
                }
    }
    @wire(CurrentPageReference)
    getStateParameters(currentPageReference) {
            console.log(111);
            console.log(currentPageReference);
        if (currentPageReference) {
            const urlValue = currentPageReference.state.recordId;
            if (urlValue) {
            let str = `${urlValue}`;
            console.log("str");
            console.log(str);
            this.oppId = str;
            }
            totalAmount.innerHTML = toNumComma(tempLostAmount);
            totalAmountHidden.value = tempLostAmount;
        }
        //console.log('setLostTotalAmount end');
    }
    setBrandName(brandNumber) {
        this.blockMyself();
        setbrand().then(()=>{
            this.clearBrandMannualName();
            this.unblock();
        });
    }
    setBrandMannualName(brandNumber) {
        this.blockMyself();
        setbrandmannual().then(()=>{
            this.unblock();
        });
    }
    // 失单品牌不等于其他时,失单品牌(手动)清空并且不允许填写,失单品牌等于其他时,失单对手型号不可用  thh 2022-01-13 start
    clearBrandMannualName(){
        if (this.template.querySelector('[id$="Lost_By_CompanyOut"]').value === '其他') {
            this.template.querySelector('[id$="LostProduct"]').setAttribute('disabled', true);
        } else {
            this.template.querySelector('[id$="Lost_By_Company_MannualOut:Lost_By_Company_Mannual"]').value = '';
            this.template.querySelector('[id$="Lost_By_Company_MannualOut:Lost_By_Company_Mannual"]').setAttribute('disabled', true);
        }
    }
    cancel() {
        // Navigate to the specified opportunity page using the NavigationMixin
        this[NavigationMixin.Navigate]({
            type: 'standard__recordPage',
            attributes: {
                recordId: this.oppId,
                actionName: 'view'
            }
        });
    }
    showToast(msg,type) {
        const event = new ShowToastEvent({
            title: '',
@@ -238,7 +148,397 @@
            variant: type
        });
        this.dispatchEvent(event);
        this.dispatchEvent(new CloseActionScreenEvent());
    }
    get isInit(){
        if(this.LostReport.LostBrands[0].LostProducts[0].productOptions == undefined){
            return false;
        }else{
            return true;
        }
    }
    get getData(){
        var products = this.LostReport.LostBrands[this.tableflag].LostProducts;
        var productList = [];
        products.forEach(product=>{
            productList.push(product.LostProductss);
        });
        this.tableflag++;
        return productList;
    }
    get isBrandCount2(){
        var flag = true;
        if(this.LostReport.LostBrands.length > 1){
            flag = false;
        }
        return flag;
    }
    get isView(){
        if(this.pageStatus == 'View'){
            return true;
        }
        return false;
    }
    get isEdit(){
        if(this.pageStatus == 'Create' || this.pageStatus == 'Edit'){
            return true;
        }
        return false;
    }
    addBrandJs() {
        getNewLostBrand({
            lineNo: this.LostReport.LostBrands.length
        }).then(result=>{
            this.LostReport.LostBrands.push(result);
        });
    }
    submitJs() {
        console.log('1');
        submit({
            report1: JSON.stringify(this.LostReport),
            reportId: this.reportId
        }).then(result=>{
            console.log(result);
            if(result.error){
                this.showToast(result.error,"error");
            }else{
                this.submitFlag = result.submitFlag;
                init({
                    oppId1: this.oppId,
                    lostReportId1: this.reportId,
                    pageStatus1: result.pageStatus,
                    lostType1: this.lostType,
                    submitFlag1: this.submitFlag
                }).then(result=>{
                    var report = result.LostReport;
                    if(result.message != null){
                        if(result.message == '提交成功!'){
                            this.LostReport = report;
                            this.pageStatus = 'View';
                            this.showToast(result.message,"success");
                        }else{
                            this.showToast(result.message,"error");
                        }
                    }else{
                        this.LostReport = report;
                    }
                }).catch(error=>{
                    console.log("error");
                    console.log(error);
                });
            }
        }).catch(error=>{
            console.log("error");
            console.log(error);
        });
    }
    deleteBrandJs(event){
        var str = event.target.name;
        this.columnsArrIndex = 0;
        this.LostReport.LostBrands.splice(str,1);
    }
    // add tcm 20211118 end
    setLostTotalAmount() {
        var elements = this.template.querySelectorAll('[data-id="TotalAmount"]');
        var tempLostAmount = 0.0;
        elements.forEach(element => {
            if(element.value != 0){
                tempLostAmount = tempLostAmount + parseFloat(element.value);
            }
        });
        this.LostReport.lostReport.LostTotalAmount__c = tempLostAmount;
    }
    setBrandMannualName(event) {
        var index = event.target.name;
        const payload = event.detail.payload;
        const payloadType = event.detail.payloadType;
        this.LostReport.LostBrands[index].lostBrand.Lost_By_Company__c = payload.value;
        if(payloadType === 'multi-select'){
            this.setDefaultBrand(payload.value,index);
            this.clearBrandMannualName(payload.value,index);
        }
    }
    setDefaultBrand(value,index){
        this.LostReport.LostBrands[index].LostProducts.forEach(product => {
            product.LostProductss.LostBrandName__c = value;
        });
    }
    // 失单品牌不等于其他时,失单品牌(手动)清空并且不允许填写,失单品牌等于其他时,失单对手型号不可用  thh 2022-01-13 start
    clearBrandMannualName(value,index){
        if (value == '其他') {
            var elements = this.template.querySelectorAll('[data-id="Lost_By_Company_Mannual"]');
            elements[index].disabled = false;
            elements[index].required = true;
            var elements1 = this.template.querySelectorAll('.LostProduct[data-id="' + index + '"]');
                    elements1.forEach(element=>{
                        element.value = '';
                        element.disabled = true;
                    });
        } else {
            var elements = this.template.querySelectorAll('[data-id="Lost_By_Company_Mannual"]');
            this.brandFlag = false;
            elements[index].value = '';
            elements[index].disabled = true;
            elements[index].required = false;
            elements1.forEach(element=>{
                element.disabled = false;
            });
        }
    }
    cancel() {
        // Navigate to the specified opportunity page using the NavigationMixin
            this[NavigationMixin.Navigate]({
                type: 'standard__recordPage',
                attributes: {
                    recordId: this.oppId,
                    actionName: 'view'
                }
            });
    }
    saveBrandJs(event) {
        this.dataCheck();
        if(!this.flag){
            return;
        }
        dataEntry({
                report1 : JSON.stringify(this.LostReport)
            }).then(result=>{
                if(result.error){
                    this.showToast(result.error,"error");
                }else{
                    this.reportId = result.reportId;
                    console.log(this.LostReport);
                    this.pageStatus = 'View';
                }
            }).catch(error=>{
                console.log("error");
                console.log(error);
            });
    }
    editJs(){
        this.pageStatus = 'Edit';
    }
    dataCheck(){
        this.flag = true;
        if(this.LostReport.lostReport.LostType__c == undefined || this.isBlank(this.LostReport.lostReport.LostType__c))
      {
            this.flag = false;
            this.showToast('必须填写失单类型!','error');
      }
        this.LostReport.LostBrands.forEach(tempLostBrand=>{
         if(tempLostBrand.lostBrand.Lost_By_Company__c == undefined || this.isBlank(tempLostBrand.lostBrand.Lost_By_Company__c)) {
                this.flag = false;
                this.showToast('请填写失单品牌!','error');
         }// fy SWAG-CCC6F6 start
         else if(tempLostBrand.lostBrand.Lost_By_Company__c == '其他' && (tempLostBrand.lostBrand.Lost_By_Company_Mannual__c == undefined || this.isBlank(tempLostBrand.lostBrand.Lost_By_Company_Mannual__c))){
                this.flag = false;
                this.showToast('请填写失单品牌(手动)!','error');
         }// fy SWAG-CCC6F6 end
         if(tempLostBrand.lostBrand.LostPrice__c == undefined || this.isBlank(tempLostBrand.lostBrand.LostPrice__c)) {
                this.flag = false;
                this.showToast('失单金额必填!','error');
         }
         if(tempLostBrand.lostBrand.Lost_reason_main__c == undefined || this.isBlank(tempLostBrand.lostBrand.Lost_reason_main__c)) {
                this.flag = false;
                this.showToast('失单理由(主)必填!','error');
         }
         if(tempLostBrand.lostBrand.Agency__c == undefined || this.isBlank(tempLostBrand.lostBrand.Agency__c)) {
                this.flag= false;
                this.showToast('中标经销商必填!','error');
         }
         // 检查是否有超过1个有数的产品
         var productCount = 0;
            tempLostBrand.LostProducts.forEach(temlostProduct=>{
                if ((temlostProduct.LostProductss.LostProduct__c != undefined && !this.isBlank(temlostProduct.LostProductss.LostProduct__c)) || (temlostProduct.LostProductss.LostProductMannual__c != undefined && !this.isBlank(temlostProduct.LostProductss.LostProductMannual__c))) {
               productCount ++;
            }
            // update tcm 20211123 start
            if(((temlostProduct.LostProductss.LostProduct__c!= undefined && !this.isBlank(temlostProduct.LostProductss.LostProduct__c)) || (temlostProduct.LostProductss.LostProductMannual__c!=undefined && !this.isBlank(temlostProduct.LostProductss.LostProductMannual__c)))&&(temlostProduct.LostProductss.Quantity__c==undefined || this.isBlank(temlostProduct.LostProductss.Quantity__c) || temlostProduct.LostProductss.Quantity__c ==0)) {
                    this.flag = false;
                    this.showToast('请填写失单数量!','error');
            }
            if(((temlostProduct.LostProductss.LostProduct__c!=undefined && !this.isBlank(temlostProduct.LostProductss.LostProduct__c)) || (temlostProduct.LostProductss.LostProductMannual__c!=undefined && !this.isBlank(temlostProduct.LostProductss.LostProductMannual__c)))&&(temlostProduct.LostProductss.ProductCategory__c==undefined || this.isBlank(temlostProduct.LostProductss.ProductCategory__c))) {
                    this.flag = false;
               if (temlostProduct.LostProductss.ProductClass__c==undefined || this.isBlank(temlostProduct.LostProductss.ProductClass__c)) {
                        this.showToast('失单产品类别必填!','error');
                        this.showToast('失单产品必填!','error');
               }else {
                        this.showToast('失单产品必填!','error');
               }
            }
            // 当失单品牌名为其他时,报错字段为失单对手型号(手动) thh 2022-01-17 start
            if (((temlostProduct.LostProductss.LostProduct__c==undefined || this.isBlank(temlostProduct.LostProductss.LostProduct__c)) && (temlostProduct.LostProductss.LostProductMannual__c==undefined || this.isBlank(temlostProduct.LostProductss.LostProductMannual__c)))&&((temlostProduct.LostProductss.ProductCategory__c!=undefined && !this.isBlank(temlostProduct.LostProductss.ProductCategory__c))||(temlostProduct.LostProductss.Quantity__c!=undefined && !this.isBlank(temlostProduct.LostProductss.Quantity__c)))) {
                    this.flag = false;
               if(tempLostBrand.lostBrand.Lost_By_Company__c != '其他'){
                        this.showToast('失单对手型号或失单对手型号(手动)必填!','error');
               } else{
                        this.showToast('失单对手型号或失单对手型号(手动)必填!','error');
               }
            }
            // 当失单品牌名为其他时,报错字段为失单对手型号(手动) thh 2022-01-17 end
            // update tcm 20211123 end
         });
         // 当失单品牌名为其他时,报错字段为失单对手型号(手动) thh 2022-01-17 start
         if (productCount == 0 && (tempLostBrand.LostProducts != undefined && !this.isBlank(tempLostBrand.LostProducts)) && tempLostBrand.LostProducts.length > 0) {
                this.flag = false;
            if(tempLostBrand.lostBrand.Lost_By_Company__c != '其他'){
                    this.showToast('至少录入1条失单对手型号信息!','error');
            }else{
                    this.showToast('至少录入1条失单对手型号信息!','error');
            }
            }
            // 当失单品牌名为其他时,报错字段为失单对手型号(手动) thh 2022-01-17 end
        });
    }
    isBlank(str) {
        return /^\s*$/.test(str);
      }
    addRow(event){
        var index = event.target.name;
        var product = JSON.parse(JSON.stringify(this.newProduct));
        if(this.LostReport.LostBrands[index].LostProducts[0].LostProductss.LostBrandName__c != undefined){
            product.LostProductss.LostBrandName__c =  JSON.parse(JSON.stringify(this.LostReport.LostBrands[index].LostProducts[0].LostProductss.LostBrandName__c));
        }
        this.LostReport.LostBrands[index].LostProducts.push(product);
    }
    removeRow(event){
        var index1 = event.target.name;
        var index2 = event.target.value;
        var deleteButtons = this.template.querySelectorAll('.deleteButton[data-id="' + index1 + '"]');
        if(deleteButtons.length == 1){
            return;
        }
        this.LostReport.LostBrands[index1].LostProducts.splice(index2,1);
    }
    handleLostTypeChange(event){
        var value = event.target.value;
        this.LostReport.lostReport.LostType__c = value;
    }
    handleLostReasonMainChange(event){
        var index = event.target.name;
        var value = event.target.value;
        this.LostReport.LostBrands[index].lostBrand.Lost_reason_main__c = value;
    }
    handleLostReasonSubChange(event){
        var index = event.target.name;
        var value = event.target.value;
        this.LostReport.LostBrands[index].lostBrand.Lost_Reason_Sub__c = value;
    }
    handleLostByCompanyMannualChange(event){
        var index = event.target.name;
        var value = event.target.value;
        this.LostReport.LostBrands[index].lostBrand.Lost_By_Company_Mannual__c = value;
        this.setDefaultBrand(value,index);
        var elements = this.template.querySelectorAll('.LostProduct[data-id="' + index + '"]');
            if(value == '' || value == null){
                elements.forEach(element=>{
                    element.value = '';
                    element.disabled = true;
                });
            }else{
                elements.forEach(element=>{
                    element.disabled = false;
                });
            }
    }
    handleLostPriceOutChange(event){
        var index = event.target.name;
        var value = event.target.value;
        this.LostReport.LostBrands[index].lostBrand.LostPrice__c = value;
        this.setLostTotalAmount();
    }
    handleAgencyOutChange(event){
        var index = event.target.name;
        var value = event.target.value;
        this.LostReport.LostBrands[index].lostBrand.Agency__c = value;
    }
    handleAgencyMannualOutChange(event){
        var index = event.target.name;
        var value = event.target.value;
        this.LostReport.LostBrands[index].lostBrand.AgencyMannual__c = value;
    }
    handleLostBrandNameChange(event){
        var index1 = event.target.title;
        var index2 = event.target.name;
        this.LostReport.LostBrands[index1].LostProducts[index2].LostProductss.LostBrandName__c = event.target.value;
    }
    handleLostProductChange(event){
        var index1 = event.target.title;
        var index2 = event.target.name;
        this.LostReport.LostBrands[index1].LostProducts[index2].LostProductss.LostProduct__c = event.target.value;
    }
    handleQuantityChange(event){
        var index1 = event.target.title;
        var index2 = event.target.name;
        this.LostReport.LostBrands[index1].LostProducts[index2].LostProductss.Quantity__c = event.target.value;
    }
    handleLostProductMannualChange(event){
        var index1 = event.target.title;
        var index2 = event.target.name;
        this.LostReport.LostBrands[index1].LostProducts[index2].LostProductss.LostProductMannual__c = event.target.value;
    }
    handleProductClassChange(event){
        var index1 = event.target.title;
        var index2 = event.target.name;
        this.LostReport.LostBrands[index1].LostProducts[index2].LostProductss.ProductClass__c = event.target.value;
        var val = event.target.value;
        if(val == ''){
            var temps1 =this.template.querySelectorAll('.ProductCategory[data-id="'+ index1 +'"]');
            temps1[index2].readOnly = true;
            temps1[index2].value = '';
        }else{
            var temps1 =this.template.querySelectorAll('.ProductCategory[data-id="'+ index1 +'"]');
            temps1[index2].readOnly = false;
            this.LostReport.LostBrands[index1].LostProducts[index2].productOptions = this.productOptionsList[val];
        }
    }
    handleProductCategoryChange(event){
        var index1 = event.target.title;
        var index2 = event.target.name;
        var val = event.target.value;
        var categorys = this.template.querySelectorAll('.ProductCategory');
        var flag = false;
        categorys.forEach(category=>{
            if(category.value == '超声主机'){
                flag = true;
            }
        });
        if(flag){
            this.LostReport.lostReport.InclusionUltrasound__c = '1';
        }else{
            this.LostReport.lostReport.InclusionUltrasound__c = '0';
        }
        this.LostReport.LostBrands[index1].LostProducts[index2].LostProductss.ProductCategory__c = val;
    }
    
}