binxie
2023-06-26 b5c5eb130ca0848124f9d136af4be142ad5aac07
force-app/main/default/lwc/lexConInvoiceView/lexConInvoiceView.js
@@ -1,291 +1,290 @@
import { LightningElement, api, track, wire } from 'lwc';
import { ShowToastEvent } from 'lightning/platformShowToastEvent';
import init from '@salesforce/apex/LexConInvoiceViewController.init';
import save from '@salesforce/apex/LexConInvoiceViewController.save';
import saveFile from '@salesforce/apex/LexConInvoiceViewController.saveFile';
import saveAttachment from '@salesforce/apex/LexConInvoiceViewController.saveAttachment';
import InvoiceorderSearch from '@salesforce/apex/LexConInvoiceViewController.InvoiceorderSearch';
import deleteButton from '@salesforce/apex/LexConInvoiceViewController.deleteButton';
import approval from '@salesforce/apex/LexConInvoiceViewController.approval';
import conInvoiceListInit from '@salesforce/apex/LexConInvoiceList.init';
import invoiceCodeSearch from '@salesforce/apex/LexConInvoiceList.invoiceCodeSearch';
import hospitalInit from '@salesforce/apex/lexSearchAgencyHospitalController.init';
import serContact from '@salesforce/apex/lexSearchAgencyHospitalController.serContact';
import detailsInit from '@salesforce/apex/LexConInvoicedetailsController.init';
import detailsSave from '@salesforce/apex/LexConInvoicedetailsController.save';
import { ShowToastEvent } from "lightning/platformShowToastEvent";
import init from "@salesforce/apex/LexConInvoiceViewController.init";
import save from "@salesforce/apex/LexConInvoiceViewController.save";
import saveFile from "@salesforce/apex/LexConInvoiceViewController.saveFile";
import saveAttachment from "@salesforce/apex/LexConInvoiceViewController.saveAttachment";
import InvoiceorderSearch from "@salesforce/apex/LexConInvoiceViewController.InvoiceorderSearch";
import deleteButton from "@salesforce/apex/LexConInvoiceViewController.deleteButton";
import approval from "@salesforce/apex/LexConInvoiceViewController.approval";
import conInvoiceListInit from "@salesforce/apex/LexConInvoiceList.init";
import invoiceCodeSearch from "@salesforce/apex/LexConInvoiceList.invoiceCodeSearch";
import hospitalInit from "@salesforce/apex/lexSearchAgencyHospitalController.init";
import serContact from "@salesforce/apex/lexSearchAgencyHospitalController.serContact";
import detailsInit from "@salesforce/apex/LexConInvoicedetailsController.init";
import detailsSave from "@salesforce/apex/LexConInvoicedetailsController.save";
import deleteAtt from '@salesforce/apex/LexSummonsCreatController.deleteAtt';
import { NavigationMixin } from 'lightning/navigation';
import { NavigationMixin } from "lightning/navigation";
//table css
import { loadStyle } from 'lightning/platformResourceLoader';
import WrappedHeaderTable from '@salesforce/resourceUrl/lexdatatable';
import { loadStyle } from "lightning/platformResourceLoader";
import WrappedHeaderTable from "@salesforce/resourceUrl/lexdatatable";
import LexConInvoiceViewReport from '@salesforce/label/c.LexConInvoiceViewReport';
const hospitalColumns = [
    {
        label: '',
        fieldName: 'Id1',
        type: 'button',
        label: "",
        fieldName: "Id1",
        type: "button",
        initialWidth: 90,
        hideDefaultActions: true,
        typeAttributes: {
            label: '选择',
            name: 'Id2',
            size: 1
        }
            label: "选择",
            name: "Id2",
            size: 1,
        },
    },
    {
        label: '医院名称',
        fieldName: 'Name',
        label: "医院名称",
        fieldName: "Name",
        hideDefaultActions: true,
        wrapText: true
        wrapText: true,
    },
    {
        label: '省份',
        fieldName: 'stateMasterName',
        hideDefaultActions: true
        label: "省份",
        fieldName: "stateMasterName",
        hideDefaultActions: true,
    }
];
const invoiceDetailsColumns = [
    {
        label: '出库日期',
        fieldName: 'esdetProductOutDate',
        hideDefaultActions: true,
        wrapText: true
    },
    {
        label: '出库单编码',
        fieldName: 'esdetInvoicedet1ODlinkName',
        wrapText: true,
        hideDefaultActions: true,
        wrapText: true
    },
    {
        label: '产品型号',
        fieldName: 'esdetAssetModelNo',
        label: "出库日期",
        fieldName: "esdetProductOutDate",
        hideDefaultActions: true,
        wrapText: true,
        initialWidth: 400
    },
    {
        label: '单位',
        fieldName: 'esdetInvoiceUnit',
        label: "出库单编码",
        fieldName: "esdetInvoicedet1ODlinkName",
        wrapText: true,
        hideDefaultActions: true,
        wrapText: true,
        initialWidth: 50
    },
    {
        label: '发票单价',
        fieldName: 'esdetInvoiceUnitprice',
        label: "产品型号",
        fieldName: "esdetAssetModelNo",
        hideDefaultActions: true,
        wrapText: true,
        type: 'number',
        initialWidth: 400,
    },
    {
        label: "单位",
        fieldName: "esdetInvoiceUnit",
        hideDefaultActions: true,
        wrapText: true,
        initialWidth: 50,
    },
    {
        label: "发票单价",
        fieldName: "esdetInvoiceUnitprice",
        hideDefaultActions: true,
        wrapText: true,
        type: "number",
        typeAttributes: {
            minimumFractionDigits: 2
        }
            minimumFractionDigits: 2,
        },
    },
    {
        label: '发票数量',
        fieldName: 'esdetInvoicedCount',
        label: "发票数量",
        fieldName: "esdetInvoicedCount",
        cellAttributes: { alignment: 'right' },
        hideDefaultActions: true,
        wrapText: true
        wrapText: true,
    },
    {
        label: '发票票面金额(元)',
        fieldName: 'esdetInvoicedProCostRMB',
        label: "发票票面金额(元)",
        fieldName: "esdetInvoicedProCostRMB",
        hideDefaultActions: true,
        wrapText: true,
        cellAttributes: { alignment: 'right' },
        initialWidth: 145,
        type: 'number',
        type: "number",
        typeAttributes: {
            minimumFractionDigits: 2
        }
    }
            minimumFractionDigits: 2,
        },
    },
];
const invoiceColumns = [
    {
        label: '发票日期',
        fieldName: 'Invoice_Date__c',
        label: "发票日期",
        fieldName: "Invoice_Date__c",
        hideDefaultActions: true,
        initialWidth: 150
    },
    {
        label: '发票号',
        label: "发票号",
        type: 'url',
        fieldName: 'NameUrl',
        fieldName: "NameUrl",
        typeAttributes: {
            label: { fieldName: 'Name' }
            label: { fieldName: "Name" },
        },
        hideDefaultActions: true
    },
    {
        label: '客户名',
        fieldName: 'ShipmentAccount__c',
        hideDefaultActions: true,
        wrapText: true
    },
    {
        label: '发票状态',
        fieldName: 'Invoice_status__c',
        label: "客户名",
        fieldName: "ShipmentAccount__c",
        hideDefaultActions: true,
        wrapText: true,
    },
    {
        label: "发票状态",
        fieldName: "Invoice_status__c",
        hideDefaultActions: true,
        initialWidth: 100
    },
    {
        label: '发票账面金额(元)',
        fieldName: 'Invoice_total_amount__c',
        label: "发票账面金额(元)",
        fieldName: "Invoice_total_amount__c",
        hideDefaultActions: true,
        type: 'number',
        type: "number",
        typeAttributes: {
            minimumFractionDigits: 2
            minimumFractionDigits: 2,
        },
        initialWidth: 180
    },
    {
        label: '发票附件',
        fieldName: 'Invoice_attachment__c',
        label: "发票附件",
        fieldName: "Invoice_attachment__c",
        type: 'boolean',
        hideDefaultActions: true,
        initialWidth: 120
    },
    {
        label: '发票明细附件',
        fieldName: 'Invoicedet_attachment__c',
        label: "发票明细附件",
        fieldName: "Invoicedet_attachment__c",
        type: 'boolean',
        hideDefaultActions: true,
        initialWidth: 120
    }
    },
];
const detailsColumns = [
    {
        label: '产品型号',
        fieldName: 'esdAssetModelNo',
        label: "产品型号",
        fieldName: "esdAssetModelNo",
        hideDefaultActions: true,
        initialWidth: 200,
        wrapText: true
        wrapText: true,
    },
    {
        label: '规格',
        fieldName: 'packingListManual',
        label: "规格",
        fieldName: "packingListManual",
        hideDefaultActions: true,
        initialWidth: 30
    },
    {
        label: '出货单价(元)',
        fieldName: 'esdDeliveryListRMB',
        label: "出货单价(元)",
        fieldName: "esdDeliveryListRMB",
        hideDefaultActions: true,
        type: 'number',
        type: "number",
        typeAttributes: {
            minimumFractionDigits: 2
        }
            minimumFractionDigits: 2,
        },
    },
    {
        label: '出货数量',
        fieldName: 'esdShipmentCount',
        hideDefaultActions: true
    },
    {
        label: '返品数量',
        fieldName: 'esdRrturnProCount',
        hideDefaultActions: true
    },
    {
        label: '出库单位',
        fieldName: 'esdBoxPiece',
        hideDefaultActions: true
    },
    {
        label: '已发票数量',
        fieldName: 'esdInvoicedProcount',
        label: "出货数量",
        fieldName: "esdShipmentCount",
        hideDefaultActions: true,
        type: 'number',
        typeAttributes: {
            minimumFractionDigits: 2
        }
    },
    {
        label: '还没发票数量',
        fieldName: 'esdInvoiceProNotCount',
        label: "返品数量",
        fieldName: "esdRrturnProCount",
        hideDefaultActions: true,
        type: 'number',
        typeAttributes: {
            minimumFractionDigits: 2
        }
    },
    {
        label: '开票单位',
        label: "出库单位",
        fieldName: "esdBoxPiece",
        hideDefaultActions: true,
        type: 'customUnit',
        typeAttributes: {
            unitValue: { fieldName: 'unitValue' },
            unitOptions: { fieldName: 'unitOptions' },
            recordId: { fieldName: 'recordId' },
            isDisabled: { fieldName: 'isDisabled' }
        }
    },
    {
        label: '发票单价',
        fieldName: 'esdInvoiceUnitprice',
        label: "已发票数量",
        fieldName: "esdInvoicedProcount",
        hideDefaultActions: true,
        type: 'number',
        type: "number",
        typeAttributes: {
            minimumFractionDigits: 2
            minimumFractionDigits: 2,
        },
    },
    {
        label: "还没发票数量",
        fieldName: "esdInvoiceProNotCount",
        hideDefaultActions: true,
        type: "number",
        typeAttributes: {
            minimumFractionDigits: 2,
        },
    },
    {
        label: "开票单位",
        hideDefaultActions: true,
        type: "customUnit",
        typeAttributes: {
            unitValue: { fieldName: "unitValue" },
            unitOptions: { fieldName: "unitOptions" },
            recordId: { fieldName: "recordId" },
            isDisabled: { fieldName: "isDisabled" },
        },
    },
    {
        label: "发票单价",
        fieldName: "esdInvoiceUnitprice",
        hideDefaultActions: true,
        type: "number",
        typeAttributes: {
            minimumFractionDigits: 2,
        },
        initialWidth: 130
    },
    {
        label: '发票数量',
        label: "发票数量",
        //fieldName: "invoiceCount",
        hideDefaultActions: true,
        type: 'customShipment',
        type: "customShipment",
        cellAttributes: { alignment: 'right' },
        typeAttributes: {
            recordId: { fieldName: 'recordId' },
            shipmentNumber: { fieldName: 'shipmentNumber' },
            isConinvoice: { fieldName: 'isConinvoice' },
            esdInvoiceProNotCount: { fieldName: 'esdInvoiceProNotCount' }
        }
            recordId: { fieldName: "recordId" },
            shipmentNumber: { fieldName: "shipmentNumber" },
            isConinvoice: { fieldName: "isConinvoice" },
            esdInvoiceProNotCount: { fieldName: "esdInvoiceProNotCount" },
        },
    },
    {
        label: '发票票面金额(元)',
        label: "发票票面金额(元)",
        cellAttributes: { alignment: 'right' },
        fieldName: 'invoiceAllprice',
        fieldName: "invoiceAllprice",
        hideDefaultActions: true,
        type: 'number',
        type: "number",
        initialWidth: 150,
        typeAttributes: {
            minimumFractionDigits: 2
        }
    }
];
            minimumFractionDigits: 2,
        },
    },
]
const customLabel = {
    LexConInvoiceViewReport
};
export default class LexConInvoiceView extends NavigationMixin(
    LightningElement
) {
}
export default class LexConInvoiceView extends NavigationMixin(LightningElement) {
    @track label = customLabel;
    invoiceColumns = invoiceColumns;
    detailsColumns = detailsColumns;
    @track outboundColumns = [
        {
            label: '出库日期',
            fieldName: 'esdOutboundDate',
            label: "出库日期",
            fieldName: "esdOutboundDate",
            hideDefaultActions: true,
            wrapText: true
            wrapText: true,
        },
        {
            label: '出库单编码',
            fieldName: 'esdNameUrl',
            label: "出库单编码",
            fieldName: "esdNameUrl",
            type: 'url',
            typeAttributes: {
                label: { fieldName: 'esdName' },
                target: '_blank'
                label: { fieldName: "esdName" },
                target: "_blank",
            },
            hideDefaultActions: true,
            wrapText: true
            wrapText: true,
        }
    ];
    ]
    @track outboundData = [];
    @track outboundDataSumPrice = [];
    @track invoiceData = [];
@@ -302,7 +301,7 @@
    @track coc = {};
    @track EditAble = false;
    @track isChange = false;
    @track sumPrice = 0.0;
    @track sumPrice = 0.00;
    @track OrderCode = '';
    @track ExistOutbound = false;
    @track reopen = '';
@@ -314,7 +313,7 @@
    @track detailsInvoiceId = '';
    @track detailsCocId = '';
    @track detailsData = [];
    @track invoiceAllprice = 0.0;
    @track invoiceAllprice = 0.00;
    //状态
    @track invoiceStatusValue = '';
    @track invoiceStatusOptions = [];
@@ -338,9 +337,9 @@
    @track secondaryDistributor = '';
    //客户名
    @track isModalOpen = false;
    @track HospitalName = '';
    @track HospitalInfo = '';
    @track searchHospitalName = '';
    @track HospitalName = "";
    @track HospitalInfo = "";
    @track searchHospitalName = "";
    @track isDisabledHospitalName = false;
    @track agencyProType = '';
    @track accountid = '';
@@ -376,50 +375,47 @@
    //文件上传
    @track showLoadingSpinner = false;
    @track showPopSpinner = false;
    @track UploadFile = 'Upload File';
    @track fileName = '';
    @track UploadFile = "Upload File";
    @track fileName = "";
    @track fileData = [];
    @track fileColumns = [
        {
            label: '标题',
            fieldName: 'url',
            type: 'url',
            typeAttributes: { label: { fieldName: 'Title' }, target: '_blank' },
            hideDefaultActions: true
            label: "标题",
            fieldName: "url",
            type: "url",
            typeAttributes: { label: { fieldName: "Title" }, target: "_blank" },
            hideDefaultActions: true,
        },
        {
            label: '创建人',
            type: 'url',
            fieldName: 'CreatedByNameUrl',
            typeAttributes: {
                label: { fieldName: 'CreatedByName' },
                target: '_blank'
            },
            hideDefaultActions: true
            label: "创建人",
            type: "url",
            fieldName: "CreatedByNameUrl",
            typeAttributes: { label: { fieldName: "CreatedByName" }, target: "_blank" },
            hideDefaultActions: true,
        },
        {
            label: '上传日期',
            label: "上传日期",
            type: 'date',
            typeAttributes: {
                year: 'numeric',
                month: 'long',
                day: '2-digit',
                hour: '2-digit',
                minute: '2-digit'
                year: "numeric",
                month: "long",
                day: "2-digit",
                hour: "2-digit",
                minute: "2-digit"
            },
            fieldName: 'CreatedDate',
            hideDefaultActions: true
            fieldName: "CreatedDate",
            hideDefaultActions: true,
        },
        {
            label: '附件类型',
            type: 'customAttachmentType',
            label: "附件类型",
            type: "customAttachmentType",
            typeAttributes: {
                typeValue: { fieldName: 'typeValue' },
                typeOptions: { fieldName: 'typeOptions' },
                recordId: { fieldName: 'recordId' },
                isDisabledAttachment: { fieldName: 'isDisabledAttachment' }
                typeValue: { fieldName: "typeValue" },
                typeOptions: { fieldName: "typeOptions" },
                recordId: { fieldName: "recordId" },
                isDisabledAttachment: { fieldName: "isDisabledAttachment" },
            },
            hideDefaultActions: true
            hideDefaultActions: true,
        },
        {
            label: '',
@@ -432,7 +428,7 @@
            },
            initialWidth: 50,
            hideDefaultActions: true
        }
        },
    ];
    filesUploaded = [];
    fileContents;
@@ -445,19 +441,19 @@
        if (!this.stylesLoaded) {
            Promise.all([loadStyle(this, WrappedHeaderTable)])
                .then(() => {
                    console.log('Custom styles loaded');
                    console.log("Custom styles loaded");
                    this.stylesLoaded = true;
                })
                .catch((error) => {
                    console.error('Error loading custom styles');
                    console.error("Error loading custom styles");
                });
        }
    }
    //获取链接参数
    getQueryString(name) {
        console.log('getQueryString name ' + name);
        let reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i');
        console.log("getQueryString name " + name);
        let reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
        let r = window.location.search.substr(1).match(reg);
        if (r != null) {
            return decodeURIComponent(r[2]);
@@ -471,178 +467,121 @@
    init() {
        this.isShowSpinner = true;
        this.deliveryId = this.getQueryString('deliveryId');
        this.deliveryId = this.deliveryId == null ? '' : this.deliveryId;
        this.invoiceId = this.getQueryString('invoiceId');
        this.invoiceId = this.invoiceId == null ? '' : this.invoiceId;
        this.orderId = this.getQueryString('orderId');
        this.orderId = this.orderId == null ? '' : this.orderId;
        this.statusEdit = this.getQueryString('KeyWords');
        this.statusEdit = this.statusEdit == null ? '' : this.statusEdit;
        this.reopen = this.getQueryString('reopen');
        this.reopen = this.reopen == null ? '' : this.reopen;
        this.isNew = this.getQueryString('isNew');
        this.isNew = this.isNew == null ? '' : this.isNew;
        console.log(
            'this.deliveryId = ' +
                this.deliveryId +
                ' this.invoiceId = ' +
                this.invoiceId +
                ' this.statusEdit = ' +
                this.statusEdit
        );
        this.deliveryId = this.getQueryString("deliveryId");
        this.deliveryId = this.deliveryId == null ? "" : this.deliveryId;
        this.invoiceId = this.getQueryString("invoiceId");
        this.invoiceId = this.invoiceId == null ? "" : this.invoiceId;
        this.orderId = this.getQueryString("orderId");
        this.orderId = this.orderId == null ? "" : this.orderId;
        this.statusEdit = this.getQueryString("KeyWords");
        this.statusEdit = this.statusEdit == null ? "" : this.statusEdit;
        this.reopen = this.getQueryString("reopen");
        this.reopen = this.reopen == null ? "" : this.reopen;
        this.isNew = this.getQueryString("isNew");
        this.isNew = this.isNew == null ? "" : this.isNew;
        console.log('this.deliveryId = ' + this.deliveryId + ' this.invoiceId = ' + this.invoiceId + ' this.statusEdit = ' + this.statusEdit);
        if (this.invoiceId != '' && this.orderId != '') {
            //进入coninvoiceDetails
            detailsInit({
                orderIdLwc: this.orderId,
                invoiceIdLwc: this.invoiceId
            })
                .then((r) => {
            }).then((r) => {
                    r = JSON.parse(JSON.stringify(r));
                    if (r.status == 'Success') {
                if (r.status == "Success") {
                        this.detailsInvoiceId = r.entity.invoicecode.Id;
                        this.detailsCocId = r.entity.coc.Id;
                        this.detailsData =
                            r.entity.consumableorderdetails1Records;
                    this.detailsData = r.entity.consumableorderdetails1Records;
                        for (var i in this.detailsData) {
                            this.detailsData[i]['Id'] =
                                this.detailsData[i].esd.Id;
                        this.detailsData[i]['Id'] = this.detailsData[i].esd.Id;
                            this.detailsData[i]['esdAssetModelNo'] =
                                this.detailsData[i].esd.Asset_Model_No__c;
                            this.detailsData[i]['packingListManual'] =
                                this.detailsData[i].Packing_list_manual;
                            this.detailsData[i]['esdDeliveryListRMB'] =
                                this.detailsData[i].esd.Delivery_List_RMB__c;
                            this.detailsData[i]['esdShipmentCount'] =
                                this.detailsData[i].esd.Shipment_Count__c;
                            this.detailsData[i]['esdRrturnProCount'] =
                                this.detailsData[i].esd.RrturnPro_count__c;
                            this.detailsData[i]['esdBoxPiece'] =
                                this.detailsData[i].esd.Box_Piece__c;
                        this.detailsData[i]['esdAssetModelNo'] = this.detailsData[i].esd.Asset_Model_No__c;
                        this.detailsData[i]['packingListManual'] = this.detailsData[i].Packing_list_manual;
                        this.detailsData[i]['esdDeliveryListRMB'] = this.detailsData[i].esd.Delivery_List_RMB__c;
                        this.detailsData[i]['esdShipmentCount'] = this.detailsData[i].esd.Shipment_Count__c;
                        this.detailsData[i]['esdRrturnProCount'] = this.detailsData[i].esd.RrturnPro_count__c;
                        this.detailsData[i]['esdBoxPiece'] = this.detailsData[i].esd.Box_Piece__c;
                            this.detailsData[i]['esdInvoicedProcount'] =
                                this.detailsData[i].esd.Invoiced_Procount__c;
                            this.detailsData[i]['esdInvoiceProNotCount'] =
                                this.detailsData[i].esd.InvoiceProNot_count__c;
                        this.detailsData[i]['esdInvoicedProcount'] = this.detailsData[i].esd.Invoiced_Procount__c;
                        this.detailsData[i]['esdInvoiceProNotCount'] = this.detailsData[i].esd.InvoiceProNot_count__c;
                            //开票单位
                            //this.detailsData[i].esd.Box_Piece__c
                            //this.detailsData[i]['unitValue'] = this.detailsData[i].esd.Invoice_Unit__c;
                            this.detailsData[i]['unitValue'] =
                                this.detailsData[i].esd.Box_Piece__c;
                            console.log(
                                'unitValue = ' +
                                    this.detailsData[i]['unitValue']
                            );
                            this.detailsData[i]['recordId'] =
                                this.detailsData[i].esd.Id;
                        this.detailsData[i]['unitValue'] = this.detailsData[i].esd.Box_Piece__c;
                        console.log('unitValue = ' + this.detailsData[i]['unitValue']);
                        this.detailsData[i]['recordId'] = this.detailsData[i].esd.Id;
                            //disabled="{!IF(records.esd.Box_Piece__c =='个' || (records.esd.Box_Piece__c =='盒' && records.Packing_list_manual ==1),true,false)}"
                            //this.detailsData[i]['isDisabled'] = (this.detailsData[i].esd.Box_Piece__c == '个' || (this.detailsData[i].esd.Box_Piece__c =='盒' && this.detailsData[i].Packing_list_manual ==1)) ? true:false;
                            this.detailsData[i]['isDisabled'] = true;
                            let unitOptions = [];
                            for (var key in this.detailsData[i]
                                .Invoice_UnitOptsMap) {
                        for (var key in this.detailsData[i].Invoice_UnitOptsMap) {
                                let unitOption = {};
                                unitOption['label'] =
                                    this.detailsData[i].Invoice_UnitOptsMap[
                                        key
                                    ];
                                unitOption['value'] = key;
                            unitOption["label"] = this.detailsData[i].Invoice_UnitOptsMap[key];
                            unitOption["value"] = key;
                                unitOptions.push(unitOption);
                            }
                            this.detailsData[i]['unitOptions'] = unitOptions;
                            this.detailsData[i]['esdInvoiceUnitprice'] =
                                this.detailsData[i].esd.Invoice_Unitprice__c;
                        this.detailsData[i]["unitOptions"] = unitOptions;
                        this.detailsData[i]['esdInvoiceUnitprice'] = this.detailsData[i].esd.Invoice_Unitprice__c;
                            //发票数量
                            this.detailsData[i]['shipmentNumber'] =
                                this.detailsData[i].invoiceCount;
                        this.detailsData[i]['shipmentNumber'] = this.detailsData[i].invoiceCount;
                            this.detailsData[i]['isConinvoice'] = true;
                            this.detailsData[i]['invoiceAllprice'] =
                                this.detailsData[i].invoiceAllprice;
                        this.detailsData[i]['invoiceAllprice'] = this.detailsData[i].invoiceAllprice;
                            if (this.detailsData[i].check) {
                                this.detailsSelectedRows.push(
                                    this.detailsData[i]['Id']
                                );
                                this.invoiceAllprice +=
                                    this.detailsData[i]['invoiceAllprice'];
                            this.detailsSelectedRows.push(this.detailsData[i]['Id']);
                            this.invoiceAllprice += this.detailsData[i]['invoiceAllprice'];
                            }
                        }
                        console.log(
                            'this.detailsData = ' +
                                JSON.stringify(this.detailsData)
                        );
                    console.log('this.detailsData = ' + JSON.stringify(this.detailsData));
                        let lastInvoiceAllprice = {
                            invoiceAllprice: this.invoiceAllprice
                        };
                    }
                        this.invoiceAllpriceData.push(lastInvoiceAllprice);
                        console.log(
                            'this.invoiceAllpriceData = ' +
                                JSON.stringify(this.invoiceAllpriceData)
                        );
                    console.log('this.invoiceAllpriceData = ' + JSON.stringify(this.invoiceAllpriceData))
                        this.isShowSpinner = false;
                        this.isDetailsShow = true;
                    } else {
                        this.showMyToast('初始化失败', r.msg, 'Error');
                    }
                })
                .catch((error) => {
            }).catch((error) => {
                    this.isShowSpinner = false;
                    console.log('error = ' + JSON.stringify(error));
                console.log("error = " + JSON.stringify(error));
                });
        } else if (
            this.deliveryId == '' &&
            this.invoiceId == '' &&
            this.isNew == ''
        ) {
        } else if (this.deliveryId == '' && this.invoiceId == '' && this.isNew == '') {
            console.log('conInvoiceListInit');
            conInvoiceListInit()
                .then((r) => {
            conInvoiceListInit().then((r) => {
                    r = JSON.parse(JSON.stringify(r));
                    console.log('conInvoiceListInit r = ' + JSON.stringify(r));
                    if (r.status == 'Success') {
                console.log("conInvoiceListInit r = " + JSON.stringify(r));
                if (r.status == "Success") {
                        this.ConInvoiceListAccountId = r.entity.accountid;
                        this.ConInvoiceListUserWorkLocation =
                            r.entity.userWorkLocation;
                    this.ConInvoiceListUserWorkLocation = r.entity.userWorkLocation;
                        this.ConInvoiceListAgencyProType =
                            r.entity.agencyProType;
                    this.ConInvoiceListAgencyProType = r.entity.agencyProType;
                        //if (this.ConInvoiceListAgencyProType != 'ET')
                        this.isOpenReportDisabled = false;
                        this.invoiceData = r.entity.raesList;
                        for (var i in this.invoiceData) {
                            this.invoiceData[i]['NameUrl'] =
                                '/lexconinvoiceview?invoiceId=' +
                                this.invoiceData[i].Id;
                        this.invoiceData[i]['NameUrl'] = '/lexconinvoiceview?invoiceId=' + this.invoiceData[i].Id;
                        }
                        console.log(
                            'this.invoiceData = ' +
                                JSON.stringify(this.invoiceData)
                        );
                    console.log("this.invoiceData = " + JSON.stringify(this.invoiceData));
                        for (var key in r.entity.statusMap) {
                            let object = {};
                            object['label'] = key;
                            object['value'] = r.entity.statusMap[key];
                        object["label"] = key;
                        object["value"] = r.entity.statusMap[key];
                            this.invoiceStatusOptions.push(object);
                        }
                        this.invoiceStatusOptions = [
                            ...this.invoiceStatusOptions
                        ];
                        console.log(
                            'this.invoiceStatusOptions = ' +
                                JSON.stringify(this.invoiceStatusOptions)
                        );
                    this.invoiceStatusOptions = [...this.invoiceStatusOptions];
                    console.log("this.invoiceStatusOptions = " + JSON.stringify(this.invoiceStatusOptions));
                        this.isShowSpinner = false;
                    } else {
                        this.showMyToast('初始化失败', r.msg, 'Error');
                    }
                })
                .catch((error) => {
                    console.log('error = ' + JSON.stringify(error));
            }).catch((error) => {
                console.log("error = " + JSON.stringify(error));
                });
        } else {
            console.log('init');
            this.isConInvoiceList = false;
@@ -650,164 +589,79 @@
                invoiceId: this.invoiceId,
                statusEdit: this.statusEdit,
                deliveryId: this.deliveryId
            })
                .then((r) => {
            }).then((r) => {
                    r = JSON.parse(JSON.stringify(r));
                    console.log('r = ' + JSON.stringify(r));
                    if (r.status == 'Success') {
                console.log("r = " + JSON.stringify(r));
                if (r.status == "Success") {
                        this.coc = r.entity.coc;
                        this.cocId = this.coc.Id;
                        this.EditAble = r.entity.EditAble;
                        this.isChange = r.entity.isChange;
                        this.ExistOutbound = r.entity.ExistOutbound;
                        this.outboundData = r.entity.invoiceOrderRecoeds;
                        console.log(
                            'this.outboundData = ' +
                                JSON.stringify(this.outboundData)
                        );
                    console.log('this.outboundData = ' + JSON.stringify(this.outboundData))
                        this.done = r.entity.done;
                        this.accountid = r.entity.accountid;
                        this.userWorkLocation = r.entity.userWorkLocation;
                        this.outOrderStringListLwc =
                            r.entity.outOrderStringList;
                    this.outOrderStringListLwc = r.entity.outOrderStringList;
                        this.outordercountMapLwc = r.entity.outordercountMap;
                        this.invoiceOrderRecoedschange =
                            r.entity.invoiceOrderRecoedschange;
                        this.isDisabledEdit =
                            this.coc.Invoice_status__c == '提交' ||
                            this.coc.Invoice_status__c == '已完成'
                                ? true
                                : false;
                        this.isDisabledReopen =
                            this.coc.Invoice_status__c == '提交' ? false : true;
                        this.isDisabledDelete =
                            this.coc.Invoice_status__c == '草案中'
                                ? false
                                : true;
                        this.isDisabledAttachment =
                            this.coc.Invoice_status__c == '已完成'
                                ? true
                                : false;
                    this.invoiceOrderRecoedschange = r.entity.invoiceOrderRecoedschange;
                    this.isDisabledEdit = (this.coc.Invoice_status__c == '提交' || this.coc.Invoice_status__c == '已完成') ? true : false;
                    this.isDisabledReopen = this.coc.Invoice_status__c == '提交' ? false : true;
                    this.isDisabledDelete = this.coc.Invoice_status__c == '草案中' ? false : true;
                    this.isDisabledAttachment = this.coc.Invoice_status__c == '已完成' ? true : false;
                        this.OrderCode = this.coc.Name;
                        this.InvoiceDate = this.coc.Invoice_Date__c;
                        for (var i in this.outboundData) {
                            this.outboundData[i].Id =
                                this.outboundData[i].esd.Id;
                        this.outboundData[i].Id = this.outboundData[i].esd.Id;
                            if (this.outboundData[i].check)
                                this.selectedRows.push(
                                    this.outboundData[i].esd.Id
                                );
                            this.selectedRows.push(this.outboundData[i].esd.Id);
                        }
                        this.selectedRows = [...this.selectedRows];
                        console.log(
                            'r.entity.attachmentRecoeds = ' +
                                JSON.stringify(r.entity.attachmentRecoeds)
                        );
                    console.log('r.entity.attachmentRecoeds = ' + JSON.stringify(r.entity.attachmentRecoeds))
                        if (!this.EditAble) {
                            //附件显示
                            this.showLoadingSpinner = true;
                            this.fileData = r.entity.attachmentRecoeds;
                            for (var i in this.fileData) {
                                this.fileData[i]['Id'] =
                                    this.fileData[i].cvInfo.Id;
                                this.fileData[i]['recordId'] =
                                    this.fileData[i].cvInfo.Id;
                                this.fileData[i]['url'] =
                                    '/' + this.fileData[i].cvInfo.Id;
                                this.fileData[i]['Title'] =
                                    this.fileData[i].cvInfo.Title;
                                this.fileData[i]['CreatedByName'] =
                                    this.fileData[i].cvInfo.Owner.Name;
                                this.fileData[i]['CreatedByNameUrl'] =
                                    '/' + this.fileData[i].cvInfo.OwnerId;
                                this.fileData[i]['CreatedDate'] =
                                    this.fileData[i].cvInfo.CreatedDate;
                                this.fileData[i]['attUrl'] =
                                    '/' + this.fileData[i].cvInfo.Id;
                                this.fileData[i]['downloadUrl'] =
                                    '/sfc/servlet.shepherd/document/download/' +
                                    this.fileData[i].cvInfo.ContentDocumentId +
                                    '?operationContext=S1';
                            this.fileData[i]["Id"] = this.fileData[i].cvInfo.Id;
                            this.fileData[i]["recordId"] = this.fileData[i].cvInfo.Id;
                            this.fileData[i]["url"] = "/" + this.fileData[i].cvInfo.Id;
                            this.fileData[i]["Title"] = this.fileData[i].cvInfo.Title;
                            this.fileData[i]["CreatedByName"] = this.fileData[i].cvInfo.Owner.Name;
                            this.fileData[i]["CreatedByNameUrl"] = "/" + this.fileData[i].cvInfo.OwnerId;;
                            this.fileData[i]["CreatedDate"] = this.fileData[i].cvInfo.CreatedDate;
                            this.fileData[i]["attUrl"] = '/' + this.fileData[i].cvInfo.Id;
                            this.fileData[i]['downloadUrl'] = '/sfc/servlet.shepherd/document/download/' + this.fileData[i].cvInfo.ContentDocumentId + '?operationContext=S1';
                                if (this.isDisabledAttachment) {
                                    console.log(
                                        '进入this.isDisabledAttachment'
                                    );
                                    this.fileData[i][
                                        'isDisabledAttachment'
                                    ] = true;
                                console.log('进入this.isDisabledAttachment')
                                this.fileData[i]["isDisabledAttachment"] = true;
                                }
                                let typeOptions = [];
                                for (var key in this.fileData[i]
                                    .mailSelectOptsMap) {
                            for (var key in this.fileData[i].mailSelectOptsMap) {
                                    let typeOption = {};
                                    typeOption['label'] =
                                        this.fileData[i].mailSelectOptsMap[key];
                                    typeOption['value'] = key;
                                typeOption["label"] = this.fileData[i].mailSelectOptsMap[key];
                                typeOption["value"] = key;
                                    typeOptions.push(typeOption);
                                }
                                this.fileData[i]['typeValue'] =
                                    this.fileData[i].mailSelectOptsin == null
                                        ? typeOptions[0].value
                                        : this.fileData[i].mailSelectOptsin;
                                this.fileData[i]['typeOptions'] = typeOptions;
                                this.fileData[i]['mailSelectOptsin'] =
                                    this.fileData[i].mailSelectOptsin == null
                                        ? typeOptions[0].value
                                        : this.fileData[i].mailSelectOptsin;
                            this.fileData[i]["typeValue"] = this.fileData[i].mailSelectOptsin == null ? typeOptions[0].value : this.fileData[i].mailSelectOptsin;
                            this.fileData[i]["typeOptions"] = typeOptions;
                            this.fileData[i]["mailSelectOptsin"] = this.fileData[i].mailSelectOptsin == null ? typeOptions[0].value : this.fileData[i].mailSelectOptsin;
                            }
                            console.log(
                                'this.fileData = ' +
                                    JSON.stringify(this.fileData)
                            );
                        console.log('this.fileData = ' + JSON.stringify(this.fileData))
                        }
                        //发票明细
                        this.invoiceOrderdetail1Recoeds =
                            r.entity.invoiceOrderdetail1Recoeds;
                    this.invoiceOrderdetail1Recoeds = r.entity.invoiceOrderdetail1Recoeds;
                        for (var i in this.invoiceOrderdetail1Recoeds) {
                            this.invoiceOrderdetail1Recoeds[i][
                                'esdetProductOutDate'
                            ] =
                                this.invoiceOrderdetail1Recoeds[
                                    i
                                ].esdet.Product_OutDate__c;
                            this.invoiceOrderdetail1Recoeds[i][
                                'esdetInvoicedet1ODlinkName'
                            ] =
                                this.invoiceOrderdetail1Recoeds[
                                    i
                                ].esdet.Invoicedet1_OD_link__r.Name;
                            this.invoiceOrderdetail1Recoeds[i][
                                'esdetAssetModelNo'
                            ] =
                                this.invoiceOrderdetail1Recoeds[
                                    i
                                ].esdet.Asset_Model_No__c;
                            this.invoiceOrderdetail1Recoeds[i][
                                'esdetInvoiceUnit'
                            ] =
                                this.invoiceOrderdetail1Recoeds[
                                    i
                                ].esdet.Invoice_Unit__c;
                            this.invoiceOrderdetail1Recoeds[i][
                                'esdetInvoiceUnitprice'
                            ] =
                                this.invoiceOrderdetail1Recoeds[
                                    i
                                ].esdet.Invoice_Unitprice__c;
                            this.invoiceOrderdetail1Recoeds[i][
                                'esdetInvoicedCount'
                            ] =
                                this.invoiceOrderdetail1Recoeds[
                                    i
                                ].esdet.Invoiced_Count__c;
                            this.invoiceOrderdetail1Recoeds[i][
                                'esdetInvoicedProCostRMB'
                            ] =
                                this.invoiceOrderdetail1Recoeds[
                                    i
                                ].esdet.InvoicedProCost_RMB__c;
                        this.invoiceOrderdetail1Recoeds[i]['esdetProductOutDate'] = this.invoiceOrderdetail1Recoeds[i].esdet.Product_OutDate__c;
                        this.invoiceOrderdetail1Recoeds[i]['esdetInvoicedet1ODlinkName'] = this.invoiceOrderdetail1Recoeds[i].esdet.Invoicedet1_OD_link__r.Name;
                        this.invoiceOrderdetail1Recoeds[i]['esdetAssetModelNo'] = this.invoiceOrderdetail1Recoeds[i].esdet.Asset_Model_No__c;
                        this.invoiceOrderdetail1Recoeds[i]['esdetInvoiceUnit'] = this.invoiceOrderdetail1Recoeds[i].esdet.Invoice_Unit__c;
                        this.invoiceOrderdetail1Recoeds[i]['esdetInvoiceUnitprice'] = this.invoiceOrderdetail1Recoeds[i].esdet.Invoice_Unitprice__c;
                        this.invoiceOrderdetail1Recoeds[i]['esdetInvoicedCount'] = this.invoiceOrderdetail1Recoeds[i].esdet.Invoiced_Count__c;
                        this.invoiceOrderdetail1Recoeds[i]['esdetInvoicedProCostRMB'] = this.invoiceOrderdetail1Recoeds[i].esdet.InvoicedProCost_RMB__c;
                        }
                        //客户名
                        this.HospitalName = r.entity.HospitalName;
@@ -816,179 +670,145 @@
                        //if (this.agencyProType != 'ET')
                        this.isOpenReportDisabled = false;
                        //科室
                        this.ForCustomerText =
                            this.coc.Order_ForCustomerText__c;
                    this.ForCustomerText = this.coc.Order_ForCustomerText__c;
                        //备注
                        this.InvoiceNote = this.coc.Invoice_Note__c;
                        //二级经销商
                        for (var key in r.entity.provinceOptsMap) {
                            let object = {};
                            object['label'] = r.entity.provinceOptsMap[key];
                            object['value'] = key;
                        object["label"] = r.entity.provinceOptsMap[key];
                        object["value"] = key;
                            this.provinceOptsMap.push(object);
                        }
                        //出货一览columns
                        if (this.EditAble) {
                            let object1 = {
                                label: '客户名',
                                fieldName: 'hospitalName',
                            fieldName: "hospitalName",
                                hideDefaultActions: true,
                                wrapText: true
                            wrapText: true,
                            };
                            let object2 = {
                                label: '出货金额(元)',
                                fieldName: 'shipmentAmount',
                                type: 'number',
                            fieldName: "shipmentAmount",
                            type: "number",
                                typeAttributes: {
                                    minimumFractionDigits: 2
                                minimumFractionDigits: 2,
                                },
                                hideDefaultActions: true
                            hideDefaultActions: true,
                            };
                            let object3 = {
                                label: '返品金额(元)',
                                fieldName: 'returnAmount',
                                type: 'number',
                            fieldName: "returnAmount",
                            type: "number",
                                typeAttributes: {
                                    minimumFractionDigits: 2
                                minimumFractionDigits: 2,
                                },
                                hideDefaultActions: true
                            hideDefaultActions: true,
                            };
                            this.outboundColumns.push(object1);
                            this.outboundColumns.push(object2);
                            this.outboundColumns.push(object3);
                        this.outboundColumns.push(object1)
                        this.outboundColumns.push(object2)
                        this.outboundColumns.push(object3)
                        }
                        let object4 = {
                            label: '未发票金额(元)',
                            fieldName: 'uninvoicedAmount',
                            type: 'number',
                        fieldName: "uninvoicedAmount",
                        type: "number",
                            typeAttributes: {
                                minimumFractionDigits: 2
                            minimumFractionDigits: 2,
                            },
                            hideDefaultActions: true
                        hideDefaultActions: true,
                        };
                        this.outboundColumns.push(object4);
                    this.outboundColumns.push(object4)
                        //出货一览Data
                        let index = 0;
                        for (var i in this.outboundData) {
                            this.outboundData[i]['esdOutboundDate'] =
                                this.outboundData[i].esd.Outbound_Date__c;
                            this.outboundData[i]['esdNameUrl'] =
                                '/s/lexsummonscreat?ESetid=' +
                                this.outboundData[i].esd.Id;
                            this.outboundData[i]['esdName'] =
                                this.outboundData[i].esd.Name;
                        this.outboundData[i]['esdOutboundDate'] = this.outboundData[i].esd.Outbound_Date__c;
                        this.outboundData[i]['esdNameUrl'] = '/s/lexsummonscreat?ESetid=' + this.outboundData[i].esd.Id;
                        this.outboundData[i]['esdName'] = this.outboundData[i].esd.Name;
                            if (this.EditAble) {
                                this.outboundData[i]['hospitalName'] =
                                    this.outboundData[i].esd.ShipmentAccount__c;
                                this.outboundData[i]['shipmentAmount'] =
                                    this.outboundData[
                                        i
                                    ].esd.Shipment_total_amount__c;
                                this.outboundData[i]['returnAmount'] =
                                    this.outboundData[
                                        i
                                    ].esd.RrturnPro_total_amount__c;
                            this.outboundData[i]['hospitalName'] = this.outboundData[i].esd.ShipmentAccount__c;
                            this.outboundData[i]['shipmentAmount'] = this.outboundData[i].esd.Shipment_total_amount__c;
                            this.outboundData[i]['returnAmount'] = this.outboundData[i].esd.RrturnPro_total_amount__c;
                            }
                            this.outboundData[i]['uninvoicedAmount'] =
                                this.outboundData[i].esd.InvoiceNotPro_money__c;
                            this.outboundData[i]['invoiceFaceAmount'] =
                                this.keepTwoDecimalStr(
                                    this.outboundData[i].needInvoiceCount
                                );
                            if (
                                !(
                                    this.outboundData[i].esd.Billed_Status__c ==
                                        '全部开票' ||
                                    this.EditAble ||
                                    this.coc.Invoice_status__c != '草案中'
                                )
                            ) {
                                console.log('进入 if');
                                let url =
                                    '/lexconinvoiceview?orderId=' +
                                    this.outboundData[i].esd.Id +
                                    '&invoiceId=' +
                                    this.invoiceId;
                                this.outboundData[i]['invoiceFaceAmountUrl'] =
                                    url;
                        this.outboundData[i]['uninvoicedAmount'] = this.outboundData[i].esd.InvoiceNotPro_money__c;
                        this.outboundData[i]['invoiceFaceAmount'] = this.keepTwoDecimalStr(this.outboundData[i].needInvoiceCount);
                        if (!(this.outboundData[i].esd.Billed_Status__c == '全部开票' || this.EditAble || this.coc.Invoice_status__c != '草案中')) {
                            console.log('进入 if')
                            let url = "/lexconinvoiceview?orderId=" + this.outboundData[i].esd.Id + "&invoiceId=" + this.invoiceId;
                            this.outboundData[i]['invoiceFaceAmountUrl'] = url;
                                if (index == 0) {
                                    let object5 = {
                                        label: '发票票面金额(元)',
                                        cellAttributes: { alignment: 'right' },
                                        type: 'url',
                                        fieldName: 'invoiceFaceAmountUrl',
                                    fieldName: "invoiceFaceAmountUrl",
                                        typeAttributes: {
                                            label: {
                                                fieldName: 'invoiceFaceAmount'
                                            }
                                        label: { fieldName: "invoiceFaceAmount" },
                                            //target: "_blank",
                                        },
                                        hideDefaultActions: true
                                    hideDefaultActions: true,
                                    };
                                    this.outboundColumns.push(object5);
                                this.outboundColumns.push(object5)
                                    index++;
                                }
                            } else {
                                console.log('进入 else');
                            console.log('进入 else')
                                if (index == 0) {
                                    let object5 = {
                                        label: '发票票面金额(元)',
                                        cellAttributes: { alignment: 'right' },
                                        fieldName: 'invoiceFaceAmount',
                                    fieldName: "invoiceFaceAmount",
                                        hideDefaultActions: true,
                                        type: 'number',
                                    type: "number",
                                        typeAttributes: {
                                            minimumFractionDigits: 2
                                        }
                                        minimumFractionDigits: 2,
                                    },
                                    };
                                    this.outboundColumns.push(object5);
                                this.outboundColumns.push(object5)
                                    index++;
                                }
                            }
                            //计算发票票面金额
                            this.sumPrice +=
                                this.outboundData[i].needInvoiceCount;
                        this.sumPrice += this.outboundData[i].needInvoiceCount;
                        }
                        //四舍五入
                        //this.sumPrice = this.sumPrice.toFixed(2);
                        //如果不四舍五入
                        console.log('start keepTwoDecimalStr');
                    console.log('start keepTwoDecimalStr')
                        this.sumPrice = this.keepTwoDecimalStr(this.sumPrice);
                        console.log('end keepTwoDecimalStr = ' + this.sumPrice);
                    console.log('end keepTwoDecimalStr = ' + this.sumPrice)
                        //加最后一行显示金额
                        if (this.EditAble) {
                            let lastOutboundData = {
                                invoiceFaceAmount: this.sumPrice
                            };
                        }
                            this.outboundDataSumPrice.push(lastOutboundData);
                        }
                        this.outboundColumns = [...this.outboundColumns];
                        this.isEditInvoice = !(!this.EditAble || this.isChange);
                        if (
                            this.coc.SummonsForDirction__c == '销售给二级经销商'
                        )
                    if (this.coc.SummonsForDirction__c == '销售给二级经销商')
                            this.isShowSecondaryDistributor = true;
                        if (
                            this.deliveryId == '' &&
                            !this.ExistOutbound &&
                            this.EditAble
                        )
                    if (this.deliveryId == '' && !this.ExistOutbound && this.EditAble)
                            this.hideCheckbox = false;
                        this.isShowSpinner = false;
                        this.showLoadingSpinner = false;
                    } else {
                        this.showMyToast('失败', r.msg, 'Error');
                    }
                })
                .catch((error) => {
                    console.log('error = ' + JSON.stringify(error));
            }).catch((error) => {
                console.log("error = " + JSON.stringify(error));
                });
        }
    }
    //上传配置单
    uploadOrder(event) {
@@ -1019,11 +839,7 @@
    //是否显示附件移除
    get attDelBtn() {
        if (
            this.fileName != '' &&
            this.fileName != null &&
            this.fileName != '选择一个文件上传'
        ) {
        if (this.fileName != '' && this.fileName != null && this.fileName != '选择一个文件上传') {
            return true;
        } else {
            return false;
@@ -1042,47 +858,47 @@
            s += '0';
        }
        return s;
    }
    };
    dataChange(event) {
        let fieldName = event.target.getAttribute('data-field');
        let fieldName = event.target.getAttribute("data-field");
        let value = event.detail.value;
        console.log('fieldName = ' + fieldName + ' value = ' + value);
        console.log("fieldName = " + fieldName + " value = " + value);
        switch (fieldName) {
            case 'OrderCode':
            case "OrderCode":
                this.OrderCode = value;
                this.coc['Name'] = value;
                break;
            case 'ForCustomerText':
            case "ForCustomerText":
                this.ForCustomerText = value;
                this.coc['Order_ForCustomerText__c'] = value;
                break;
            case 'InvoiceDate':
            case "InvoiceDate":
                this.InvoiceDate = value;
                this.coc['Invoice_Date__c'] = value;
                break;
            case 'secondaryDistributor':
            case "secondaryDistributor":
                this.secondaryDistributor = value;
                break;
            case 'deliveryFromDate':
            case "deliveryFromDate":
                this.deliveryFromDate = value;
                break;
            case 'deliveryToDate':
            case "deliveryToDate":
                this.deliveryToDate = value;
                break;
            case 'category1':
            case "category1":
                this.category1 = value;
                break;
            case 'category2':
            case "category2":
                this.category2 = value;
                break;
            case 'invoiceStatus':
            case "invoiceStatus":
                this.invoiceStatusValue = value;
                break;
            case 'searchHospitalName':
            case "searchHospitalName":
                this.searchHospitalName = value;
                break;
            case 'InvoiceNote':
            case "InvoiceNote":
                this.InvoiceNote = value;
                this.coc['Invoice_Note__c'] = value;
                break;
@@ -1097,68 +913,58 @@
    //搜索客户名
    searchHospitalNameModal() {
        console.log('searchHospitalNameModal');
        console.log("searchHospitalNameModal");
        hospitalInit({
            ctype: this.agencyProType
            ctype: this.agencyProType,
        }).then((r) => {
            r = JSON.parse(JSON.stringify(r));
            if (r.status == 'Success') {
            if (r.status == "Success") {
                this.hospitalList = r.entity.at;
                for (var i in this.hospitalList) {
                    this.hospitalList[i]['stateMasterName'] =
                        this.hospitalList[i].State_Master__r.Name;
                    this.hospitalList[i]["stateMasterName"] = this.hospitalList[i].State_Master__r.Name;
                }
                console.log(
                    'hospitalInit r = ' + JSON.stringify(this.hospitalList)
                );
                console.log("hospitalInit r = " + JSON.stringify(this.hospitalList));
                this.isModalOpen = true;
            }
        });
    }
    searchHospital() {
        console.log('this.searchHospitalName = ' + this.searchHospitalName);
        console.log("this.searchHospitalName = " + this.searchHospitalName);
        serContact({
            searchName: this.searchHospitalName,
            ctype: this.agencyProType
            ctype: this.agencyProType,
        }).then((r) => {
            r = JSON.parse(JSON.stringify(r));
            if (r.status == 'Success') {
            if (r.status == "Success") {
                this.hospitalList = r.entity.at;
                for (var i in this.hospitalList) {
                    this.hospitalList[i]['stateMasterName'] =
                    this.hospitalList[i]["stateMasterName"] =
                        this.hospitalList[i].State_Master__r.Name;
                }
                console.log(
                    'hospitalInit r = ' + JSON.stringify(this.hospitalList)
                );
                console.log("hospitalInit r = " + JSON.stringify(this.hospitalList));
            }
        });
    }
    //选择客户名
    searchHandleRowAction(event) {
        console.log('searchHandleRowAction');
        console.log("searchHandleRowAction");
        let row = event.detail.row;
        this.HospitalInfo = row.Id;
        this.HospitalName = row.Name;
        console.log(
            'this.HospitalInfo = ' +
                this.HospitalInfo +
                ' this.HospitalName = ' +
                this.HospitalName
        );
        console.log("this.HospitalInfo = " + this.HospitalInfo + " this.HospitalName = " + this.HospitalName);
        this.isModalOpen = false;
    }
    //当客户名是空时。客户id也变为空
    clearAgencyI(event) {
        this.HospitalName = event.target.value;
        if (this.HospitalName == '' || this.HospitalName == null) {
            this.HospitalInfo = '';
        if (this.HospitalName == "" || this.HospitalName == null) {
            this.HospitalInfo = "";
        }
        console.log('this.HospitalName = ' + this.HospitalName);
        console.log('this.HospitalInfo = ' + this.HospitalInfo);
        console.log("this.HospitalName = " + this.HospitalName);
        console.log("this.HospitalInfo = " + this.HospitalInfo);
    }
    closeModal() {
@@ -1167,12 +973,10 @@
    SaveJs() {
        this.isShowSpinner = true;
        let cloneData = this.outboundData;
        let cloneData = this.outboundData
        debugger;
        const selectedRows = this.template
            .querySelector("[data-field='outbound']")
            .getSelectedRows();
        debugger
        const selectedRows = this.template.querySelector("[data-field='outbound']").getSelectedRows();
        console.log('selectedRows = ' + JSON.stringify(selectedRows));
        for (var i in cloneData) {
@@ -1207,10 +1011,7 @@
        console.log('this.accountid = ' + this.accountid);
        console.log('this.agencyProType = ' + this.agencyProType);
        console.log('this.reopen = ' + this.reopen);
        console.log(
            'this.invoiceOrderRecoedschangeLwc = ' +
                JSON.stringify(this.invoiceOrderRecoedschange)
        );
        console.log('this.invoiceOrderRecoedschangeLwc = ' + JSON.stringify(this.invoiceOrderRecoedschange));
        save({
            cocLwc: this.coc,
            HospitalNameLwc: this.HospitalName,
@@ -1222,37 +1023,32 @@
            accountidLwc: this.accountid,
            agencyProTypeLwc: this.agencyProType,
            reopenLwc: this.reopen,
            invoiceOrderRecoedschangeLwc: JSON.stringify(
                this.invoiceOrderRecoedschange
            )
        })
            .then((r) => {
            invoiceOrderRecoedschangeLwc: JSON.stringify(this.invoiceOrderRecoedschange)
        }).then((r) => {
                r = JSON.parse(JSON.stringify(r));
                console.log('r = ' + JSON.stringify(r));
                if (r.status == 'Success' && r.msg == '') {
            console.log("r = " + JSON.stringify(r));
            if (r.status == "Success" && r.msg == '') {
                    this.isShowSpinner = false;
                    console.log('save success');
                    let url =
                        '/lexconinvoiceview?invoiceId=' + r.entity.invoiceId;
                let url = "/lexconinvoiceview?invoiceId=" + r.entity.invoiceId;
                    console.log('url = ' + url);
                    this[NavigationMixin.Navigate]({
                        type: 'standard__webPage',
                    type: "standard__webPage",
                        attributes: {
                            url: url
                        }
                        url: url,
                    },
                    });
                } else {
                    this.showMyToast('保存失败', r.msg, 'Error');
                }
            })
            .catch((error) => {
                console.log('error = ' + JSON.stringify(error));
        }).catch((error) => {
            console.log("error = " + JSON.stringify(error));
            });
    }
    //上传附件,直接就保存好,然后展示
    handleFilesChange(event) {
        console.log('handleFilesChange');
        console.log("handleFilesChange");
        this.handleSave();
        // if (event.target.files.length > 0) {
        //     this.filesUploaded = event.target.files;
@@ -1262,7 +1058,7 @@
    }
    handleSave() {
        console.log('saveFile');
        console.log("saveFile");
        if (this.filesUploaded.length > 0) {
            this.showPopSpinner = true;
            this.file = this.filesUploaded[0];
@@ -1274,31 +1070,29 @@
            this.fileReader.onloadend = () => {
                this.fileContents = this.fileReader.result;
                let base64 = 'base64,';
                this.content =
                    this.fileContents.indexOf(base64) + base64.length;
                let base64 = "base64,";
                this.content = this.fileContents.indexOf(base64) + base64.length;
                this.fileContents = this.fileContents.substring(this.content);
                this.saveToFile();
            };
            this.fileReader.readAsDataURL(this.file);
        } else {
            this.fileName = '选择一个文件上传';
            this.fileName = "选择一个文件上传";
        }
    }
    saveToFile() {
        console.log('saveToFile');
        console.log('invoiceId = ' + this.invoiceId);
        console.log('fileName = ' + this.fileName);
        console.log('base64Data = ' + encodeURIComponent(this.fileContents));
        console.log("saveToFile");
        console.log("invoiceId = " + this.invoiceId);
        console.log("fileName = " + this.fileName);
        console.log("base64Data = " + encodeURIComponent(this.fileContents));
        saveFile({
            recordId: this.invoiceId,
            fileName: this.fileName,
            base64Data: encodeURIComponent(this.fileContents)
        })
            .then((r) => {
            base64Data: encodeURIComponent(this.fileContents),
        }).then((r) => {
                r = JSON.parse(JSON.stringify(r));
                console.log('r = ' + JSON.stringify(r));
            console.log("r = " + JSON.stringify(r));
                if (r != '') {
                    this.showPopSpinner = false;
                    this.showMyToast('上传成功', '', 'Success');
@@ -1307,41 +1101,41 @@
                } else {
                    this.showMyToast('上传失败', r.msg, 'Error');
                }
            })
            .catch((error) => {
                console.log('error = ' + error.message);
        }).catch((error) => {
            console.log("error = " + error.message);
                this.showMyToast('错误', '上传失败', 'Error');
            });
    }
    handleTypeChange(event) {
        console.log('handleTypeChange');
        console.log("handleTypeChange");
        const typeDetail = event.detail;
        console.log('typeDetail = ' + JSON.stringify(typeDetail));
        console.log("typeDetail = " + JSON.stringify(typeDetail));
        for (var i in this.fileData) {
            if (this.fileData[i].recordId == typeDetail.data.recordId) {
                this.fileData[i].typeValue = typeDetail.data.typeValue;
                this.fileData[i].mailSelectOptsin = typeDetail.data.typeValue;
            }
        }
        console.log('this.fileData = ' + JSON.stringify(this.fileData));
        console.log("this.fileData = " + JSON.stringify(this.fileData));
    }
    newInvoiceJs() {
        let url = '/lexconinvoiceview?isNew=yes';
        let url = "/lexconinvoiceview?isNew=yes";
        console.log('url = ' + url);
        this[NavigationMixin.Navigate]({
            type: 'standard__webPage',
            type: "standard__webPage",
            attributes: {
                url: url
            }
                url: url,
            },
        });
    }
    saveAttachmentJs() {
        debugger;
        debugger
        this.showLoadingSpinner = true;
        let cloneData = this.deepClone(this.fileData);
        let cloneData = this.deepClone(this.fileData)
        for (var i in cloneData) {
            delete cloneData[i].Id;
            delete cloneData[i].recordId;
@@ -1358,11 +1152,10 @@
        saveAttachment({
            attachmentRecoedsLwc: JSON.stringify(cloneData),
            invoiceId: this.invoiceId
        })
            .then((r) => {
        }).then((r) => {
                r = JSON.parse(JSON.stringify(r));
                console.log('r = ' + JSON.stringify(r));
                if (r.status == 'Success') {
            console.log("r = " + JSON.stringify(r));
            if (r.status == "Success") {
                    this.showLoadingSpinner = false;
                    this.isShowSpinner = true;
                    // const event = new ShowToastEvent({
@@ -1388,9 +1181,8 @@
                } else {
                    this.showMyToast('上传失败', r.msg, 'Error');
                }
            })
            .catch((error) => {
                console.log('error = ' + error.message);
        }).catch((error) => {
            console.log("error = " + error.message);
                this.showMyToast('错误', '上传失败', 'Error');
            });
    }
@@ -1398,54 +1190,34 @@
    invoiceCodeSearchJs() {
        this.isShowSpinner = true;
        invoiceCodeSearch({
            orderDateLwc:
                this.deliveryFromDate == null
                    ? null
                    : new Date(this.deliveryFromDate),
            deliverDateLwc:
                this.deliveryToDate == null
                    ? null
                    : new Date(this.deliveryToDate),
            orderDateLwc: this.deliveryFromDate == null ? null : new Date(this.deliveryFromDate),
            deliverDateLwc: this.deliveryToDate == null ? null : new Date(this.deliveryToDate),
            invoiceStatusLwc: this.invoiceStatusValue,
            category1Lwc: this.category1,
            category2Lwc: this.category2,
            accountidLwc: this.ConInvoiceListAccountId,
            userWorkLocationLwc: this.ConInvoiceListUserWorkLocation,
            agencyProTypeLwc: this.ConInvoiceListAgencyProType
        })
            .then((r) => {
            agencyProTypeLwc: this.ConInvoiceListAgencyProType,
        }).then((r) => {
                r = JSON.parse(JSON.stringify(r));
                console.log('r = ' + JSON.stringify(r));
                if (r.status == 'Success') {
            console.log("r = " + JSON.stringify(r));
            if (r.status == "Success") {
                    this.invoiceData = r.entity.raesList;
                    for (var i in this.invoiceData) {
                        this.invoiceData[i]['NameUrl'] =
                            '/lexconinvoiceview?invoiceId=' +
                            this.invoiceData[i].Id;
                    this.invoiceData[i]['NameUrl'] = '/lexconinvoiceview?invoiceId=' + this.invoiceData[i].Id;
                    }
                    console.log(
                        'this.invoiceData = ' + JSON.stringify(this.invoiceData)
                    );
                console.log("this.invoiceData = " + JSON.stringify(this.invoiceData));
                    this.isShowSpinner = false;
                    if (r.entity.raesListSize > 0) {
                        this.showMyToast(
                            '搜索成功',
                            '共检索到' + r.entity.raesListSize + '个发票',
                            'Success'
                        );
                    this.showMyToast('搜索成功', '共检索到' + r.entity.raesListSize + '个发票', 'Success');
                    } else {
                        this.showMyToast(
                            '搜索失败',
                            '没有搜索到相关发票',
                            'Error'
                        );
                    this.showMyToast('搜索失败', '没有搜索到相关发票', 'Error');
                    }
                } else {
                    this.showMyToast('搜索失败', r.msg, 'Error');
                }
            })
            .catch((error) => {
                console.log('error = ' + error.message);
        }).catch((error) => {
            console.log("error = " + error.message);
                this.showMyToast('错误', '搜索失败', 'Error');
            });
    }
@@ -1457,38 +1229,30 @@
        this.category2 = '';
        this.invoiceStatusValue = '';
        this.isShowSpinner = true;
        conInvoiceListInit()
            .then((r) => {
        conInvoiceListInit().then((r) => {
                r = JSON.parse(JSON.stringify(r));
                console.log('conInvoiceListInit r = ' + JSON.stringify(r));
                if (r.status == 'Success') {
            console.log("conInvoiceListInit r = " + JSON.stringify(r));
            if (r.status == "Success") {
                    this.invoiceData = r.entity.raesList;
                    for (var i in this.invoiceData) {
                        this.invoiceData[i]['NameUrl'] =
                            '/lexconinvoiceview?invoiceId=' +
                            this.invoiceData[i].Id;
                    this.invoiceData[i]['NameUrl'] = '/lexconinvoiceview?invoiceId=' + this.invoiceData[i].Id;
                    }
                    console.log(
                        'this.invoiceData = ' + JSON.stringify(this.invoiceData)
                    );
                console.log("this.invoiceData = " + JSON.stringify(this.invoiceData));
                    this.isShowSpinner = false;
                } else {
                    this.showMyToast('搜索失败', r.msg, 'Error');
                }
            })
            .catch((error) => {
                console.log('error = ' + JSON.stringify(error));
        }).catch((error) => {
            console.log("error = " + JSON.stringify(error));
            });
    }
    InvoiceorderSearchJs() {
        this.isShowSpinner = true;
        debugger;
        let cloneData = this.outboundData;
        const selectedRows = this.template
            .querySelector("[data-field='outbound']")
            .getSelectedRows();
        debugger
        let cloneData = this.outboundData
        const selectedRows = this.template.querySelector("[data-field='outbound']").getSelectedRows();
        console.log('selectedRows ' + JSON.stringify(selectedRows));
        for (var i in cloneData) {
            let b = false;
@@ -1529,60 +1293,33 @@
            agencyProTypeLwc: this.agencyProType,
            HospitalInfoLwc: this.HospitalInfo,
            SecondDealerLwc: this.secondaryDistributor,
            invoiceOrderRecoedsLwc: JSON.stringify(cloneData)
        })
            .then((r) => {
            invoiceOrderRecoedsLwc: JSON.stringify(cloneData),
        }).then((r) => {
                r = JSON.parse(JSON.stringify(r));
                console.log('r = ' + JSON.stringify(r));
                if (r.status == 'Success') {
            console.log("r = " + JSON.stringify(r));
            if (r.status == "Success") {
                    this.outboundData = r.entity.invoiceOrderRecoeds;
                    console.log(
                        'this.outboundData = ' +
                            JSON.stringify(this.outboundData)
                    );
                console.log('this.outboundData = ' + JSON.stringify(this.outboundData));
                    let index = 0;
                    this.selectedRows = [];
                    for (var i in this.outboundData) {
                        if (this.outboundData[i].check)
                            this.selectedRows.push(this.outboundData[i].esd.Id);
                        this.selectedRows.push(this.outboundData[i].esd.Id)
                        this.outboundData[i].Id = this.outboundData[i].esd.Id;
                        this.outboundData[i]['esdOutboundDate'] =
                            this.outboundData[i].esd.Outbound_Date__c;
                        this.outboundData[i]['esdNameUrl'] =
                            '/s/lexsummonscreat?ESetid=' +
                            this.outboundData[i].esd.Id;
                        this.outboundData[i]['esdName'] =
                            this.outboundData[i].esd.Name;
                    this.outboundData[i]['esdOutboundDate'] = this.outboundData[i].esd.Outbound_Date__c;
                    this.outboundData[i]['esdNameUrl'] = '/s/lexsummonscreat?ESetid=' + this.outboundData[i].esd.Id;
                    this.outboundData[i]['esdName'] = this.outboundData[i].esd.Name;
                        if (this.EditAble) {
                            this.outboundData[i]['hospitalName'] =
                                this.outboundData[i].esd.ShipmentAccount__c;
                            this.outboundData[i]['shipmentAmount'] =
                                this.outboundData[
                                    i
                                ].esd.Shipment_total_amount__c;
                            this.outboundData[i]['returnAmount'] =
                                this.outboundData[
                                    i
                                ].esd.RrturnPro_total_amount__c;
                        this.outboundData[i]['hospitalName'] = this.outboundData[i].esd.ShipmentAccount__c;
                        this.outboundData[i]['shipmentAmount'] = this.outboundData[i].esd.Shipment_total_amount__c;
                        this.outboundData[i]['returnAmount'] = this.outboundData[i].esd.RrturnPro_total_amount__c;
                        }
                        this.outboundData[i]['uninvoicedAmount'] =
                            this.outboundData[i].esd.InvoiceNotPro_money__c;
                        this.outboundData[i]['invoiceFaceAmount'] =
                            this.outboundData[i].needInvoiceCount;
                        if (
                            !(
                                this.outboundData[i].esd.Billed_Status__c ==
                                    '全部开票' ||
                                this.EditAble ||
                                this.coc.Invoice_status__c != '草案中'
                            )
                        ) {
                    this.outboundData[i]['uninvoicedAmount'] = this.outboundData[i].esd.InvoiceNotPro_money__c;
                    this.outboundData[i]['invoiceFaceAmount'] = this.outboundData[i].needInvoiceCount;
                    if (!(this.outboundData[i].esd.Billed_Status__c == '全部开票' || this.EditAble || this.coc.Invoice_status__c != '草案中')) {
                            //let url = "/ConInvoicedetails?orderId=" + this.outboundData[i].esd.Id + "&invoiceId=" + this.invoiceId;
                            let url =
                                '/s/lexconinvoiceview?orderId=' +
                                this.outboundData[i].esd.Id +
                                '&invoiceId=' +
                                this.invoiceId;
                        let url = "/s/lexconinvoiceview?orderId=" + this.outboundData[i].esd.Id + "&invoiceId=" + this.invoiceId;
                            this.outboundData[i]['invoiceFaceAmountUrl'] = url;
                            if (index == 0) {
@@ -1590,16 +1327,14 @@
                                    label: '发票票面金额(元)',
                                    cellAttributes: { alignment: 'right' },
                                    type: 'url',
                                    fieldName: 'invoiceFaceAmountUrl',
                                fieldName: "invoiceFaceAmountUrl",
                                    typeAttributes: {
                                        label: {
                                            fieldName: 'invoiceFaceAmount'
                                    label: { fieldName: "invoiceFaceAmount" },
                                    target: "_blank",
                                        },
                                        target: '_blank'
                                    },
                                    hideDefaultActions: true
                                hideDefaultActions: true,
                                };
                                this.outboundColumns.push(object5);
                            this.outboundColumns.push(object5)
                                index++;
                            }
                        } else {
@@ -1607,27 +1342,23 @@
                                let object5 = {
                                    label: '发票票面金额(元)',
                                    cellAttributes: { alignment: 'right' },
                                    fieldName: 'invoiceFaceAmount',
                                    hideDefaultActions: true
                                fieldName: "invoiceFaceAmount",
                                hideDefaultActions: true,
                                };
                                this.outboundColumns.push(object5);
                            this.outboundColumns.push(object5)
                                index++;
                            }
                        }
                        //计算发票票面金额
                        this.sumPrice += this.outboundData[i].needInvoiceCount;
                    }
                    console.log(
                        'this.selectedRows = ' +
                            JSON.stringify(this.selectedRows)
                    );
                console.log('this.selectedRows = ' + JSON.stringify(this.selectedRows))
                    this.isShowSpinner = false;
                } else {
                    this.showMyToast('搜索失败', r.msg, 'Error');
                }
            })
            .catch((error) => {
                console.log('error = ' + error.message);
        }).catch((error) => {
            console.log("error = " + error.message);
                this.showMyToast('错误', '搜索失败', 'Error');
            });
    }
@@ -1653,43 +1384,37 @@
        this.isShowSpinner = true;
        deleteButton({
            cocLwc: this.coc,
            invoiceIdLwc: this.invoiceId
        })
            .then((r) => {
            invoiceIdLwc: this.invoiceId,
        }).then((r) => {
                r = JSON.parse(JSON.stringify(r));
                console.log('r = ' + JSON.stringify(r));
                if (r.status == 'Success') {
                    this.isShowSpinner = false;
                    let url = '/lexconinvoiceview';
            console.log("r = " + JSON.stringify(r));
            if (r.status == "Success") {
                this.isShowSpinner = false
                let url = "/lexconinvoiceview";
                    console.log('url = ' + url);
                    this[NavigationMixin.Navigate]({
                        type: 'standard__webPage',
                    type: "standard__webPage",
                        attributes: {
                            url: url
                        }
                        url: url,
                    },
                    });
                } else {
                    this.showMyToast('删除失败', r.msg, 'Error');
                }
            })
            .catch((error) => {
                console.log('error = ' + error.message);
        }).catch((error) => {
            console.log("error = " + error.message);
            });
    }
    SetEditAbleJs() {
        let statusEditAbleJs = 'Redirect';
        let url =
            '/lexconinvoiceview?invoiceId=' +
            this.invoiceId +
            '&KeyWords=' +
            statusEditAbleJs;
        let url = "/lexconinvoiceview?invoiceId=" + this.invoiceId + '&KeyWords=' + statusEditAbleJs;
        console.log('url = ' + url);
        this[NavigationMixin.Navigate]({
            type: 'standard__webPage',
            type: "standard__webPage",
            attributes: {
                url: url
            }
                url: url,
            },
        });
    }
@@ -1699,14 +1424,13 @@
            outOrderStringListLwc: this.outOrderStringListLwc,
            outordercountMapLwc: this.outordercountMapLwc,
            invoiceIdLwc: this.invoiceId
        })
            .then((r) => {
        }).then((r) => {
                r = JSON.parse(JSON.stringify(r));
                console.log('r = ' + JSON.stringify(r));
                if (r.status == 'Success') {
                    this.isShowSpinner = false;
                    let url =
                        '/s/lexconinvoiceview?invoiceId=' + this.invoiceId;
            console.log("r = " + JSON.stringify(r));
            if (r.status == "Success") {
                this.isShowSpinner = false
                let url = "/s/lexconinvoiceview?invoiceId=" + this.invoiceId;
                    console.log('url = ' + url);
                    window.open(url, '_self');
                    // this[NavigationMixin.Navigate]({
@@ -1718,25 +1442,17 @@
                } else {
                    this.showMyToast('错误', r.msg, 'Error');
                }
            })
            .catch((error) => {
                console.log('error = ' + error.message);
        }).catch((error) => {
            console.log("error = " + error.message);
            });
    }
    openReportJs() {
        console.log('openReportJs');
        console.log("openReportJs");
        let reportUrl = this.label.LexConInvoiceViewReport;
        let reportFilters =
            '[{"operator":"equals","value":"' +
            this.OrderCode +
            '","column":"FK_NAME"}]';
        let reportFilters = '[{"operator":"equals","value":"' + this.OrderCode + '","column":"FK_NAME"}]';
        console.log('reportUrl = ' + reportUrl);
        let url =
            '/s/report/' +
            reportUrl +
            '?reportFilters=' +
            encodeURIComponent(reportFilters);
        let url = "/s/report/" + reportUrl + "?reportFilters=" + encodeURIComponent(reportFilters);
        window.open(url);
        // this[NavigationMixin.Navigate]({
        //     type: "standard__webPage",
@@ -1751,18 +1467,13 @@
        // statusEdit = 'Redirect';
        // PageReference ref = new Pagereference('/ConInvoiceView?invoiceId=' + invoiceId + '&reopen=isreopen' + '&KeyWords=' + statusEdit);
        let statusEditAbleJs = 'Redirect';
        let url =
            '/lexconinvoiceview?invoiceId=' +
            this.invoiceId +
            '&reopen=isreopen' +
            '&KeyWords=' +
            statusEditAbleJs;
        let url = "/lexconinvoiceview?invoiceId=" + this.invoiceId + '&reopen=isreopen' + '&KeyWords=' + statusEditAbleJs;
        console.log('url = ' + url);
        this[NavigationMixin.Navigate]({
            type: 'standard__webPage',
            type: "standard__webPage",
            attributes: {
                url: url
            }
                url: url,
            },
        });
    }
@@ -1782,36 +1493,26 @@
            iconName = 'utility:error';
        }
        if (message != '') {
            content =
                '<h2><strong>' +
                title +
                '<strong/></h2><h5>' +
                message +
                '</h5>';
            content = '<h2><strong>' + title + '<strong/></h2><h5>' + message + '</h5>';
        } else {
            content = '<h2><strong>' + title + '<strong/></h2>';
        }
        this.template
            .querySelector('c-common-toast')
            .showToast(variant, content, iconName, 10000);
        this.template.querySelector('c-common-toast').showToast(variant, content, iconName, 10000);
    }
    handleLoad() {
        console.log('handleLoad');
        console.log('handleLoad')
        try {
            const style = document.createElement('style');
            style.innerText =
                '.hehe-layoutItem .slds-button__icon {display: none;}';
            style.innerText = '.hehe-layoutItem .slds-button__icon {display: none;}';
            this.template.querySelector('.hideHelpText').appendChild(style);
            const style2 = document.createElement('style');
            style2.innerText =
                '.hehe-layoutItem  .slds-form-element__label {padding : 0px}';
            style2.innerText = '.hehe-layoutItem  .slds-form-element__label {padding : 0px}';
            this.template.querySelector('.hideHelpText').appendChild(style2);
            const style3 = document.createElement('style');
            style3.innerText =
                '.readOnly  .slds-form-element__label {padding-top: 7px;}';
            style3.innerText = '.readOnly  .slds-form-element__label {padding-top: 7px;}';
            this.template.querySelector('.hideHelpText').appendChild(style3);
        } catch (error) {
            console.log(error);
@@ -1830,19 +1531,17 @@
            s += '0';
        }
        return s;
    }
    };
    handleLoad2() {
        console.log('handleLoad2');
        console.log('handleLoad2')
        try {
            const style = document.createElement('style');
            style.innerText =
                '.hehe-layoutItem .slds-button__icon {display: none;}';
            style.innerText = '.hehe-layoutItem .slds-button__icon {display: none;}';
            this.template.querySelector('.hideHelpText').appendChild(style);
            const style2 = document.createElement('style');
            style2.innerText =
                '.hehe-layoutItem  .slds-form-element__label {padding : 0px}';
            style2.innerText = '.hehe-layoutItem  .slds-form-element__label {padding : 0px}';
            this.template.querySelector('.hideHelpText').appendChild(style2);
        } catch (error) {
            console.log(error);
@@ -1850,203 +1549,120 @@
    }
    handleUnitChange(event) {
        console.log('handleUnitChange');
        this.invoiceAllpriceData[0].invoiceAllprice = 0.0;
        console.log("handleUnitChange");
        this.invoiceAllpriceData[0].invoiceAllprice = 0.00;
        const unitDetail = event.detail;
        console.log('unitDetail = ' + JSON.stringify(unitDetail));
        console.log("unitDetail = " + JSON.stringify(unitDetail));
        for (var i in this.detailsData) {
            if (this.detailsData[i].recordId == unitDetail.data.recordId) {
                this.detailsData[i].unitValue = unitDetail.data.unitValue;
                this.detailsData[i].esd.Invoice_Unit__c =
                    unitDetail.data.unitValue;
                if (
                    this.detailsSelectedRows.indexOf(
                        this.detailsData[i].recordId
                    ) == -1
                )
                this.detailsData[i].esd.Invoice_Unit__c = unitDetail.data.unitValue;
                if (this.detailsSelectedRows.indexOf(this.detailsData[i].recordId) == -1)
                    this.detailsSelectedRows.push(this.detailsData[i].recordId);
            }
        }
        this.detailsSelectedRows = [...this.detailsSelectedRows];
        console.log(
            'this.detailsSelectedRows = ' +
                JSON.stringify(this.detailsSelectedRows)
        );
        console.log('this.detailsSelectedRows = ' + JSON.stringify(this.detailsSelectedRows))
        for (var i in this.detailsData) {
            this.detailsData[i].invoiceAllprice = 0.0;
            this.detailsData[i].invoiceAllprice = 0.00;
            for (var j in this.detailsSelectedRows) {
                console.log(
                    'this.detailsData[i].Id = ' + this.detailsData[i].Id
                );
                console.log(
                    'this.detailsSelectedRows[j] = ' +
                        this.detailsSelectedRows[j]
                );
                console.log('this.detailsData[i].Id = ' + this.detailsData[i].Id);
                console.log('this.detailsSelectedRows[j] = ' + this.detailsSelectedRows[j]);
                if (this.detailsData[i].Id == this.detailsSelectedRows[j]) {
                    this.detailsData[i].invoiceAllprice = this.amend(
                        this.detailsData[i].shipmentNumber,
                        this.detailsData[i].esdInvoiceUnitprice,
                        '*'
                    );
                    console.log(
                        'this.detailsData[i].invoiceAllprice = ' +
                            this.detailsData[i].invoiceAllprice
                    );
                    this.detailsData[i].invoiceAllprice = this.amend(this.detailsData[i].shipmentNumber, this.detailsData[i].esdInvoiceUnitprice, '*');
                    console.log('this.detailsData[i].invoiceAllprice = ' + this.detailsData[i].invoiceAllprice);
                }
            }
            this.invoiceAllpriceData[0].invoiceAllprice = this.amend(
                this.invoiceAllpriceData[0].invoiceAllprice,
                this.detailsData[i].invoiceAllprice,
                '+'
            );
            this.invoiceAllpriceData[0].invoiceAllprice = this.amend(this.invoiceAllpriceData[0].invoiceAllprice, this.detailsData[i].invoiceAllprice, '+');
        }
        this.detailsData = [...this.detailsData];
        this.invoiceAllpriceData = [...this.invoiceAllpriceData];
    }
    handleShipmentNumber(event) {
        console.log('handleShipmentNumber');
        this.invoiceAllpriceData[0].invoiceAllprice = 0.0;
        console.log("handleShipmentNumber");
        this.invoiceAllpriceData[0].invoiceAllprice = 0.00;
        const numberDetail = event.detail;
        console.log('numberDetail = ' + JSON.stringify(numberDetail));
        console.log('numberDetail = ' + JSON.stringify(numberDetail))
        if (numberDetail.data.shipmentnumber == 0) {
            if (
                this.detailsSelectedRows.indexOf(numberDetail.data.recordId) !=
                -1
            ) {
                this.detailsSelectedRows.splice(
                    this.detailsSelectedRows.indexOf(
                        numberDetail.data.recordId
                    ),
                    1
                );
            if (this.detailsSelectedRows.indexOf(numberDetail.data.recordId) != -1) {
                this.detailsSelectedRows.splice(this.detailsSelectedRows.indexOf(numberDetail.data.recordId), 1);
            }
        }
        console.log(
            'start this.detailsSelectedRows = ' +
                JSON.stringify(this.detailsSelectedRows)
        );
        console.log('numberDetail = ' + JSON.stringify(numberDetail));
        console.log("start this.detailsSelectedRows = " + JSON.stringify(this.detailsSelectedRows));
        console.log("numberDetail = " + JSON.stringify(numberDetail));
        for (var i in this.detailsData) {
            if (this.detailsData[i].recordId == numberDetail.data.recordId) {
                this.detailsData[i].shipmentNumber = Number(
                    numberDetail.data.shipmentnumber
                );
                this.detailsData[i].invoiceCount = Number(
                    numberDetail.data.shipmentnumber
                );
                if (
                    this.detailsSelectedRows.indexOf(
                        this.detailsData[i].recordId
                    ) == -1 &&
                    numberDetail.data.shipmentnumber != 0
                )
                this.detailsData[i].shipmentNumber = Number(numberDetail.data.shipmentnumber);
                this.detailsData[i].invoiceCount = Number(numberDetail.data.shipmentnumber);
                if (this.detailsSelectedRows.indexOf(this.detailsData[i].recordId) == -1 && numberDetail.data.shipmentnumber != 0)
                    this.detailsSelectedRows.push(this.detailsData[i].recordId);
            }
        }
        console.log(
            'end this.detailsSelectedRows = ' +
                JSON.stringify(this.detailsSelectedRows)
        );
        console.log("end this.detailsSelectedRows = " + JSON.stringify(this.detailsSelectedRows));
        this.detailsSelectedRows = [...this.detailsSelectedRows];
        console.log(
            'this.detailsSelectedRows = ' +
                JSON.stringify(this.detailsSelectedRows)
        );
        console.log('this.detailsSelectedRows = ' + JSON.stringify(this.detailsSelectedRows));
        for (var i in this.detailsData) {
            this.detailsData[i].invoiceAllprice = 0.0;
            this.detailsData[i].invoiceAllprice = 0.00;
            for (var j in this.detailsSelectedRows) {
                console.log(
                    'this.detailsData[i].Id = ' + this.detailsData[i].Id
                );
                console.log(
                    'this.detailsSelectedRows[j] = ' +
                        this.detailsSelectedRows[j]
                );
                console.log('this.detailsData[i].Id = ' + this.detailsData[i].Id);
                console.log('this.detailsSelectedRows[j] = ' + this.detailsSelectedRows[j]);
                if (this.detailsData[i].Id == this.detailsSelectedRows[j]) {
                    this.detailsData[i].invoiceAllprice = this.amend(
                        this.detailsData[i].shipmentNumber,
                        this.detailsData[i].esdInvoiceUnitprice,
                        '*'
                    );
                    console.log(
                        'this.detailsData[i].invoiceAllprice = ' +
                            this.detailsData[i].invoiceAllprice
                    );
                    this.detailsData[i].invoiceAllprice = this.amend(this.detailsData[i].shipmentNumber, this.detailsData[i].esdInvoiceUnitprice, '*');
                    console.log('this.detailsData[i].invoiceAllprice = ' + this.detailsData[i].invoiceAllprice);
                }
            }
            this.invoiceAllpriceData[0].invoiceAllprice = this.amend(
                this.invoiceAllpriceData[0].invoiceAllprice,
                this.detailsData[i].invoiceAllprice,
                '+'
            );
            this.invoiceAllpriceData[0].invoiceAllprice = this.amend(this.invoiceAllpriceData[0].invoiceAllprice, this.detailsData[i].invoiceAllprice, '+');
        }
        this.detailsData = [...this.detailsData];
        this.invoiceAllpriceData = [...this.invoiceAllpriceData];
    }
    detailsGetSelectedRows(event) {
        console.log('detailsGetSelectedRows ');
        this.invoiceAllpriceData[0].invoiceAllprice = 0.0;
        console.log("detailsGetSelectedRows ");
        this.invoiceAllpriceData[0].invoiceAllprice = 0.00;
        let selectedRows = event.detail.selectedRows;
        for (var i in this.detailsData) {
            this.detailsData[i].invoiceAllprice = 0.0;
            this.detailsData[i].invoiceAllprice = 0.00;
            for (var j in selectedRows) {
                if (this.detailsData[i].Id == selectedRows[j].esd.Id) {
                    this.detailsData[i].invoiceAllprice = this.amend(
                        this.detailsData[i].shipmentNumber,
                        this.detailsData[i].esdInvoiceUnitprice,
                        '*'
                    );
                    console.log(
                        'this.detailsData[i].invoiceAllprice = ' +
                            this.detailsData[i].invoiceAllprice
                    );
                    this.detailsData[i].invoiceAllprice = this.amend(this.detailsData[i].shipmentNumber, this.detailsData[i].esdInvoiceUnitprice, '*');
                    console.log('this.detailsData[i].invoiceAllprice = ' + this.detailsData[i].invoiceAllprice);
                }
            }
            this.invoiceAllpriceData[0].invoiceAllprice = this.amend(
                this.invoiceAllpriceData[0].invoiceAllprice,
                this.detailsData[i].invoiceAllprice,
                '+'
            );
            console.log(
                'this.invoiceAllpriceData[0].invoiceAllprice = ' +
                    this.invoiceAllpriceData[0].invoiceAllprice
            );
            this.invoiceAllpriceData[0].invoiceAllprice = this.amend(this.invoiceAllpriceData[0].invoiceAllprice, this.detailsData[i].invoiceAllprice, '+');
            console.log('this.invoiceAllpriceData[0].invoiceAllprice = ' + this.invoiceAllpriceData[0].invoiceAllprice);
        }
        console.log(
            'start this.detailsData = ' + JSON.stringify(this.detailsData)
        );
        console.log('start this.detailsData = ' + JSON.stringify(this.detailsData));
        this.detailsData = [...this.detailsData];
        console.log(
            'end this.detailsData = ' + JSON.stringify(this.detailsData)
        );
        console.log('end this.detailsData = ' + JSON.stringify(this.detailsData));
        this.invoiceAllpriceData = [...this.invoiceAllpriceData];
    }
    ComputePrice(index, number, price) {
        console.log('index = ' + index);
        console.log('number = ' + number);
        console.log('price = ' + price);
        let shipmentAmount = this.amend(number, price, '*');
        console.log('shipmentAmount = ' + shipmentAmount);
        console.log("index = " + index);
        console.log("number = " + number);
        console.log("price = " + price);
        let shipmentAmount = this.amend(number, price, "*");
        console.log("shipmentAmount = " + shipmentAmount);
        let sumPrice = 0.0;
        this.data[index].shipmentAmount = shipmentAmount;
        for (var i in this.data) {
            if (this.data[i].shipmentAmount)
                sumPrice += this.data[i].shipmentAmount;
            if (this.data[i].shipmentAmount) sumPrice += this.data[i].shipmentAmount;
        }
        this.sumPrice = sumPrice + '元';
        this.sumPrice = sumPrice + "元";
        //存下选择行,不会被清空
        if (this.selectedRows.indexOf(this.data[index].Id) == -1)
            this.selectedRows.push(this.data[index].Id);
        this.data = [...this.data];
        this.selectedRows = [...this.selectedRows];
        console.log('this.selectedRows = ' + JSON.stringify(this.selectedRows));
        console.log('this.data = ' + JSON.stringify(this.data));
        this.selectedRows = [...this.selectedRows]
        console.log("this.selectedRows = " + JSON.stringify(this.selectedRows));
        console.log("this.data = " + JSON.stringify(this.data));
    }
    deepClone(obj) {
@@ -2057,9 +1673,7 @@
        this.isShowSpinner = true;
        let cloneData = this.deepClone(this.detailsData);
        let selectedRows = this.template
            .querySelector('c-lex-custom-lightning-datatable')
            .getSelectedRows();
        let selectedRows = this.template.querySelector('c-lex-custom-lightning-datatable').getSelectedRows();
        console.log('selectedRows = ' + JSON.stringify(selectedRows));
        for (var i in cloneData) {
@@ -2086,28 +1700,28 @@
        }
        console.log('cloneData = ' + JSON.stringify(cloneData));
        detailsSave({
            consumableorderdetails1RecordsLwc: JSON.stringify(cloneData),
            invoiceIdLwc: this.invoiceId,
            orderIdLwc: this.orderId
        })
            .then((r) => {
        }).then((r) => {
                r = JSON.parse(JSON.stringify(r));
                console.log('r = ' + JSON.stringify(r));
                if (r.status == 'Success') {
                    let url = '/lexconinvoiceview?invoiceId=' + this.invoiceId;
            console.log("r = " + JSON.stringify(r));
            if (r.status == "Success") {
                let url = "/lexconinvoiceview?invoiceId=" + this.invoiceId;
                    this[NavigationMixin.Navigate]({
                        type: 'standard__webPage',
                    type: "standard__webPage",
                        attributes: {
                            url: url
                        }
                        url: url,
                    },
                    });
                } else {
                    this.showMyToast('保存失败', r.msg, 'Error');
                }
            })
            .catch((error) => {
                console.log('error = ' + error.message);
        }).catch((error) => {
            console.log("error = " + error.message);
            });
    }
@@ -2120,27 +1734,27 @@
            str2Length;
        //解决整数没有小数点方法
        try {
            str1Length = str1.split('.')[1].length;
            str1Length = str1.split(".")[1].length;
        } catch (error) {
            str1Length = 0;
        }
        try {
            str2Length = str2.split('.')[1].length;
            str2Length = str2.split(".")[1].length;
        } catch (error) {
            str2Length = 0;
        }
        var step = Math.pow(10, Math.max(str1Length, str2Length));
        switch (symbol) {
            case '+':
            case "+":
                result = (num1 * step + num2 * step) / step;
                break;
            case '-':
            case "-":
                result = (num1 * step - num2 * step) / step;
                break;
            case '*':
            case "*":
                result = (num1 * step * (num2 * step)) / step / step;
                break;
            case '/':
            case "/":
                result = (num1 * step) / (num2 * step);
                break;
            default:
@@ -2153,23 +1767,23 @@
    deleteAtt(event) {
        this.isShowSpinner = true;
        //var recordId = event.detail.data.recordId;
        var recordId = event.target.getAttribute('data-fileid');
        var recordId = event.target.getAttribute("data-fileid");
        console.log('attid:' + recordId);
        deleteAtt({
            contentVersionId: recordId
        })
            .then((r) => {
        }).then(r => {
                r = JSON.parse(JSON.stringify(r));
                if (r.status == 'Success') {
            if (r.status == "Success") {
                    this.showMyToast('删除成功', '', 'Success');
                    if (this.fileData.length == 1) window.location.reload();
                    else this.init();
                if (this.fileData.length == 1)
                    window.location.reload();
                else
                    this.init();
                } else {
                    this.showMyToast('删除失败', r.msg, 'Error');
                }
            })
            .catch((error) => {
        }).catch(error => {
                this.showMyToast('错误', error.message, 'Error');
            });
        })
    }
}