buli
2023-07-14 744f42c5496e656a1f9927740a3b37c0b97a6cba
force-app/main/default/lwc/lexConInvoiceView/lexConInvoiceView.js
@@ -1,103 +1,103 @@
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 deleteAtt from "@salesforce/apex/LexSummonsCreatController.deleteAtt";
import { NavigationMixin } from "lightning/navigation";
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 deleteAtt from '@salesforce/apex/LexSummonsCreatController.deleteAtt';
import { NavigationMixin } from 'lightning/navigation';
//table css
import { loadStyle } from "lightning/platformResourceLoader";
import WrappedHeaderTable from "@salesforce/resourceUrl/lexdatatable";
import LexConInvoiceViewReport from "@salesforce/label/c.LexConInvoiceViewReport";
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",
            label: '选择',
            name: 'Id2',
      size: 1
    }
  },
  {
    label: "医院名称",
    fieldName: "Name",
        label: '医院名称',
        fieldName: 'Name',
    hideDefaultActions: true,
    wrapText: true
  },
  {
    label: "省份",
    fieldName: "stateMasterName",
        label: '省份',
        fieldName: 'stateMasterName',
    hideDefaultActions: true
  }
];
const invoiceDetailsColumns = [
  {
    label: "出库日期",
    fieldName: "esdetProductOutDate",
        label: '出库日期',
        fieldName: 'esdetProductOutDate',
    hideDefaultActions: true,
    wrapText: true
  },
  {
    label: "出库单编码",
    fieldName: "esdetInvoicedet1ODlinkName",
        label: '出库单编码',
        fieldName: 'esdetInvoicedet1ODlinkName',
    wrapText: true,
    hideDefaultActions: true,
    wrapText: true
  },
  {
    label: "产品型号",
    fieldName: "esdetAssetModelNo",
        label: '产品型号',
        fieldName: 'esdetAssetModelNo',
    hideDefaultActions: true,
    wrapText: true,
    initialWidth: 400
  },
  {
    label: "单位",
    fieldName: "esdetInvoiceUnit",
        label: '单位',
        fieldName: 'esdetInvoiceUnit',
    hideDefaultActions: true,
    wrapText: true,
    initialWidth: 50
  },
  {
    label: "发票单价",
    fieldName: "esdetInvoiceUnitprice",
        label: '发票单价',
        fieldName: 'esdetInvoiceUnitprice',
    hideDefaultActions: true,
    wrapText: true,
    type: "number",
        type: 'number',
    typeAttributes: {
      minimumFractionDigits: 2
    }
  },
  {
    label: "发票数量",
    fieldName: "esdetInvoicedCount",
    cellAttributes: { alignment: "right" },
        label: '发票数量',
        fieldName: 'esdetInvoicedCount',
        cellAttributes: { alignment: 'right' },
    hideDefaultActions: true,
    wrapText: true
  },
  {
    label: "发票票面金额(元)",
    fieldName: "esdetInvoicedProCostRMB",
        label: '发票票面金额(元)',
        fieldName: 'esdetInvoicedProCostRMB',
    hideDefaultActions: true,
    wrapText: true,
    cellAttributes: { alignment: "right" },
        cellAttributes: { alignment: 'right' },
    initialWidth: 145,
    type: "number",
        type: 'number',
    typeAttributes: {
      minimumFractionDigits: 2
    }
@@ -105,155 +105,155 @@
];
const invoiceColumns = [
  {
    label: "发票日期",
    fieldName: "Invoice_Date__c",
        label: '发票日期',
        fieldName: 'Invoice_Date__c',
    hideDefaultActions: true,
    initialWidth: 150
  },
  {
    label: "发票号",
    type: "url",
    fieldName: "NameUrl",
        label: '发票号',
        type: 'url',
        fieldName: 'NameUrl',
    typeAttributes: {
      label: { fieldName: "Name" }
            label: { fieldName: 'Name' }
    },
    hideDefaultActions: true
  },
  {
    label: "客户名",
    fieldName: "ShipmentAccount__c",
        label: '客户名',
        fieldName: 'ShipmentAccount__c',
    hideDefaultActions: true,
    wrapText: true
  },
  {
    label: "发票状态",
    fieldName: "Invoice_status__c",
        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
    },
    initialWidth: 180
  },
  {
    label: "发票附件",
    fieldName: "Invoice_attachment__c",
    type: "boolean",
        label: '发票附件',
        fieldName: 'Invoice_attachment__c',
        type: 'boolean',
    hideDefaultActions: true,
    initialWidth: 120
  },
  {
    label: "发票明细附件",
    fieldName: "Invoicedet_attachment__c",
    type: "boolean",
        label: '发票明细附件',
        fieldName: 'Invoicedet_attachment__c',
        type: 'boolean',
    hideDefaultActions: true,
    initialWidth: 120
  }
];
const detailsColumns = [
  {
    label: "产品型号",
    fieldName: "esdAssetModelNo",
        label: '产品型号',
        fieldName: 'esdAssetModelNo',
    hideDefaultActions: true,
    initialWidth: 150,
    wrapText: true
  },
  {
    label: "规格",
    fieldName: "packingListManual",
        label: '规格',
        fieldName: 'packingListManual',
    hideDefaultActions: true,
    initialWidth: 50
  },
  {
    label: "出货单价(元)",
    fieldName: "esdDeliveryListRMB",
        label: '出货单价(元)',
        fieldName: 'esdDeliveryListRMB',
    hideDefaultActions: true,
    initialWidth: 100,
    type: "number",
        type: 'number',
    typeAttributes: {
      minimumFractionDigits: 2
    }
  },
  {
    label: "出货数量",
    fieldName: "esdShipmentCount",
        label: '出货数量',
        fieldName: 'esdShipmentCount',
    hideDefaultActions: true
  },
  {
    label: "返品数量",
    fieldName: "esdRrturnProCount",
        label: '返品数量',
        fieldName: 'esdRrturnProCount',
    hideDefaultActions: true
  },
  {
    label: "出库单位",
    fieldName: "esdBoxPiece",
        label: '出库单位',
        fieldName: 'esdBoxPiece',
    hideDefaultActions: true
  },
  {
    label: "已发票数量",
    fieldName: "esdInvoicedProcount",
        label: '已发票数量',
        fieldName: 'esdInvoicedProcount',
    hideDefaultActions: true,
    type: "number",
        type: 'number',
    typeAttributes: {
      minimumFractionDigits: 2
    }
  },
  {
    label: "还没发票数量",
    fieldName: "esdInvoiceProNotCount",
        label: '还没发票数量',
        fieldName: 'esdInvoiceProNotCount',
    hideDefaultActions: true,
    initialWidth: 100,
    type: "number",
        type: 'number',
    typeAttributes: {
      minimumFractionDigits: 2
    }
  },
  {
    label: "开票单位",
        label: '开票单位',
    hideDefaultActions: true,
    type: "customUnit",
        type: 'customUnit',
    typeAttributes: {
      unitValue: { fieldName: "unitValue" },
      unitOptions: { fieldName: "unitOptions" },
      recordId: { fieldName: "recordId" },
      isDisabled: { fieldName: "isDisabled" }
            unitValue: { fieldName: 'unitValue' },
            unitOptions: { fieldName: 'unitOptions' },
            recordId: { fieldName: 'recordId' },
            isDisabled: { fieldName: 'isDisabled' }
    }
  },
  {
    label: "发票单价",
    fieldName: "esdInvoiceUnitprice",
        label: '发票单价',
        fieldName: 'esdInvoiceUnitprice',
    hideDefaultActions: true,
    type: "number",
        type: 'number',
    typeAttributes: {
      minimumFractionDigits: 2
    },
    initialWidth: 130
  },
  {
    label: "发票数量",
        label: '发票数量',
    //fieldName: "invoiceCount",
    hideDefaultActions: true,
    type: "customShipment",
    cellAttributes: { alignment: "right" },
        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: "发票票面金额(元)",
    cellAttributes: { alignment: "right" },
    fieldName: "invoiceAllprice",
        label: '发票票面金额(元)',
        cellAttributes: { alignment: 'right' },
        fieldName: 'invoiceAllprice',
    hideDefaultActions: true,
    type: "number",
        type: 'number',
    initialWidth: 150,
    typeAttributes: {
      minimumFractionDigits: 2
@@ -271,18 +271,18 @@
  detailsColumns = detailsColumns;
  @track outboundColumns = [
    {
      label: "出库日期",
      fieldName: "esdOutboundDate",
            label: '出库日期',
            fieldName: 'esdOutboundDate',
      hideDefaultActions: true,
      wrapText: true
    },
    {
      label: "出库单编码",
      fieldName: "esdNameUrl",
      type: "url",
            label: '出库单编码',
            fieldName: 'esdNameUrl',
            type: 'url',
      typeAttributes: {
        label: { fieldName: "esdName" },
        target: "_blank"
                label: { fieldName: 'esdName' },
                target: '_blank'
      },
      hideDefaultActions: true,
      wrapText: true
@@ -295,65 +295,65 @@
  @track detailsSelectedRows = [];
  @track showAttPop = false;
  @track invoiceId = "";
  @track orderId = "";
  @track userWorkLocation = "";
  @track deliveryId = "";
  @track cocId = "";
  @track statusEdit = "";
    @track invoiceId = '';
    @track orderId = '';
    @track userWorkLocation = '';
    @track deliveryId = '';
    @track cocId = '';
    @track statusEdit = '';
  @track coc = {};
  @track EditAble = false;
  @track isChange = false;
  @track sumPrice = 0.0;
  @track OrderCode = "";
    @track OrderCode = '';
  @track ExistOutbound = false;
  @track reopen = "";
    @track reopen = '';
  @track invoiceOrderRecoedschange = [];
  @track isNew = "";
    @track isNew = '';
  @track outOrderStringListLwc = [];
  @track outordercountMapLwc = {};
  @track selectedRows = [];
  @track detailsInvoiceId = "";
  @track detailsCocId = "";
    @track detailsInvoiceId = '';
    @track detailsCocId = '';
  @track detailsData = [];
  @track invoiceAllprice = 0.0;
  //状态
  @track invoiceStatusValue = "";
    @track invoiceStatusValue = '';
  @track invoiceStatusOptions = [];
  get Options() {
    return this.invoiceStatusOptions;
  }
  //出库从
  @track deliveryFromDate = "";
    @track deliveryFromDate = '';
  //出库到
  @track deliveryToDate = "";
    @track deliveryToDate = '';
  //发票号
  @track category1 = "";
    @track category1 = '';
  //客户名
  @track category2 = "";
  @track ConInvoiceListAccountId = "";
  @track ConInvoiceListUserWorkLocation = "";
  @track ConInvoiceListAgencyProType = "";
    @track category2 = '';
    @track ConInvoiceListAccountId = '';
    @track ConInvoiceListUserWorkLocation = '';
    @track ConInvoiceListAgencyProType = '';
  //二级经销商
  @track provinceOptsMap = [];
  @track secondaryDistributor = "";
    @track secondaryDistributor = '';
  //客户名
  @track isModalOpen = false;
  @track HospitalName = "";
  @track HospitalInfo = "";
  @track searchHospitalName = "";
    @track HospitalName = '';
    @track HospitalInfo = '';
    @track searchHospitalName = '';
  @track isDisabledHospitalName = false;
  @track agencyProType = "";
  @track accountid = "";
    @track agencyProType = '';
    @track accountid = '';
  @track hospitalList = [];
  hospitalColumns = hospitalColumns;
  //发票日期
  @track InvoiceDate = "";
    @track InvoiceDate = '';
  //科室
  @track ForCustomerText = "";
    @track ForCustomerText = '';
  //备注
  @track InvoiceNote = "";
    @track InvoiceNote = '';
  //发票明细
  @track invoiceOrderdetail1Recoeds = [];
@@ -378,58 +378,58 @@
  //文件上传
  @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" },
            label: '标题',
            fieldName: 'url',
            type: 'url',
            typeAttributes: { label: { fieldName: 'Title' }, target: '_blank' },
      hideDefaultActions: true
    },
    {
      label: "创建人",
      type: "url",
      fieldName: "CreatedByNameUrl",
            label: '创建人',
            type: 'url',
            fieldName: 'CreatedByNameUrl',
      typeAttributes: {
        label: { fieldName: "CreatedByName" },
        target: "_blank"
                label: { fieldName: 'CreatedByName' },
                target: '_blank'
      },
      hideDefaultActions: true
    },
    {
      label: "上传日期",
      type: "date",
            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",
            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
    },
    {
      label: "",
      type: "tableCellIcon",
            label: '',
            type: 'tableCellIcon',
      typeAttributes: {
        iconName: "utility:delete",
                iconName: 'utility:delete',
        recordId: {
          fieldName: "Id"
                    fieldName: 'Id'
        }
      },
      initialWidth: 50,
@@ -447,19 +447,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]);
@@ -473,27 +473,27 @@
  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;
        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.deliveryId +
        " this.invoiceId = " +
                ' this.invoiceId = ' +
        this.invoiceId +
        " this.statusEdit = " +
                ' this.statusEdit = ' +
        this.statusEdit
    );
    if (this.invoiceId != "" && this.orderId != "") {
        if (this.invoiceId != '' && this.orderId != '') {
      //进入coninvoiceDetails
      detailsInit({
        orderIdLwc: this.orderId,
@@ -501,66 +501,79 @@
      })
        .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]['esdAssetModelNo'] =
                this.detailsData[i].esd.Asset_Model_No__c;
              this.detailsData[i]["packingListManual"] =
                            this.detailsData[i]['packingListManual'] =
                this.detailsData[i].Packing_list_manual;
              this.detailsData[i]["esdDeliveryListRMB"] =
                            this.detailsData[i]['esdDeliveryListRMB'] =
                this.detailsData[i].esd.Delivery_List_RMB__c;
              this.detailsData[i]["esdShipmentCount"] =
                            this.detailsData[i]['esdShipmentCount'] =
                this.detailsData[i].esd.Shipment_Count__c;
              this.detailsData[i]["esdRrturnProCount"] =
                            this.detailsData[i]['esdRrturnProCount'] =
                this.detailsData[i].esd.RrturnPro_count__c;
              this.detailsData[i]["esdBoxPiece"] =
                            this.detailsData[i]['esdBoxPiece'] =
                this.detailsData[i].esd.Box_Piece__c;
              this.detailsData[i]["esdInvoicedProcount"] =
                            this.detailsData[i]['esdInvoicedProcount'] =
                this.detailsData[i].esd.Invoiced_Procount__c;
              this.detailsData[i]["esdInvoiceProNotCount"] =
                            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]['unitValue'] =
                this.detailsData[i].esd.Box_Piece__c;
              console.log("unitValue = " + this.detailsData[i]["unitValue"]);
              this.detailsData[i]["recordId"] = this.detailsData[i].esd.Id;
                            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;
                            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]['unitOptions'] = unitOptions;
                            this.detailsData[i]['esdInvoiceUnitprice'] =
                this.detailsData[i].esd.Invoice_Unitprice__c;
              //发票数量
              this.detailsData[i]["shipmentNumber"] =
                            this.detailsData[i]['shipmentNumber'] =
                this.detailsData[i].invoiceCount;
              this.detailsData[i]["isConinvoice"] = true;
              this.detailsData[i]["invoiceAllprice"] =
                            this.detailsData[i]['isConinvoice'] = true;
                            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)
                            'this.detailsData = ' +
                                JSON.stringify(this.detailsData)
            );
            let lastInvoiceAllprice = {
@@ -568,66 +581,72 @@
            };
            this.invoiceAllpriceData.push(lastInvoiceAllprice);
            console.log(
              "this.invoiceAllpriceData = " +
                            'this.invoiceAllpriceData = ' +
                JSON.stringify(this.invoiceAllpriceData)
            );
            this.isShowSpinner = false;
            this.isDetailsShow = true;
          } else {
            this.showMyToast("初始化失败", r.msg, "Error");
                        this.showMyToast('初始化失败', r.msg, '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 == ""
            this.deliveryId == '' &&
            this.invoiceId == '' &&
            this.isNew == ''
    ) {
      console.log("conInvoiceListInit");
            console.log('conInvoiceListInit');
      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)
                            '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];
                        this.invoiceStatusOptions = [
                            ...this.invoiceStatusOptions
                        ];
            console.log(
              "this.invoiceStatusOptions = " +
                            'this.invoiceStatusOptions = ' +
                JSON.stringify(this.invoiceStatusOptions)
            );
            this.isShowSpinner = false;
          } else {
            this.showMyToast("初始化失败", r.msg, "Error");
                        this.showMyToast('初始化失败', r.msg, 'Error');
          }
        })
        .catch((error) => {
          console.log("error = " + JSON.stringify(error));
                    console.log('error = ' + JSON.stringify(error));
        });
    } else {
      console.log("init");
            console.log('init');
      this.isConInvoiceList = false;
      init({
        invoiceId: this.invoiceId,
@@ -636,8 +655,8 @@
      })
        .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;
@@ -645,36 +664,46 @@
            this.ExistOutbound = r.entity.ExistOutbound;
            this.outboundData = r.entity.invoiceOrderRecoeds;
            console.log(
              "this.outboundData = " + JSON.stringify(this.outboundData)
                            '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.invoiceOrderRecoedschange =
                            r.entity.invoiceOrderRecoedschange;
            this.isDisabledEdit =
              this.coc.Invoice_status__c == "提交" ||
              this.coc.Invoice_status__c == "已完成"
                            this.coc.Invoice_status__c == '提交' ||
                            this.coc.Invoice_status__c == '已完成'
                ? true
                : false;
            this.isDisabledReopen =
              this.coc.Invoice_status__c == "提交" ? false : true;
                            this.coc.Invoice_status__c == '提交' ? false : true;
            this.isDisabledDelete =
              this.coc.Invoice_status__c == "草案中" ? false : true;
                            this.coc.Invoice_status__c == '草案中'
                                ? false
                                : true;
            this.isDisabledAttachment =
              this.coc.Invoice_status__c == "已完成" ? true : false;
                            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 = " +
                            'r.entity.attachmentRecoeds = ' +
                JSON.stringify(r.entity.attachmentRecoeds)
            );
            if (!this.EditAble) {
@@ -682,65 +711,105 @@
              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]['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]['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]['attUrl'] =
                                    '/' + this.fileData[i].cvInfo.Id;
                                this.fileData[i]['downloadUrl'] =
                                    '/sfc/servlet.shepherd/document/download/' +
                  this.fileData[i].cvInfo.ContentDocumentId +
                  "?operationContext=S1";
                                    '?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]['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]['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;
            for (var i in this.invoiceOrderdetail1Recoeds) {
              this.invoiceOrderdetail1Recoeds[i]["esdetProductOutDate"] =
                this.invoiceOrderdetail1Recoeds[i].esdet.Product_OutDate__c;
              this.invoiceOrderdetail1Recoeds[i]["esdetInvoicedet1ODlinkName"] =
                            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][
                                '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;
@@ -749,38 +818,39 @@
            //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",
                                label: '客户名',
                                fieldName: 'hospitalName',
                hideDefaultActions: true,
                wrapText: true
              };
              let object2 = {
                label: "出货金额(元)",
                fieldName: "shipmentAmount",
                type: "number",
                                label: '出货金额(元)',
                                fieldName: 'shipmentAmount',
                                type: 'number',
                typeAttributes: {
                  minimumFractionDigits: 2
                },
                hideDefaultActions: true
              };
              let object3 = {
                label: "返品金额(元)",
                fieldName: "returnAmount",
                type: "number",
                                label: '返品金额(元)',
                                fieldName: 'returnAmount',
                                type: 'number',
                typeAttributes: {
                  minimumFractionDigits: 2
                },
@@ -791,9 +861,9 @@
              this.outboundColumns.push(object3);
            }
            let object4 = {
              label: "未发票金额(元)",
              fieldName: "uninvoicedAmount",
              type: "number",
                            label: '未发票金额(元)',
                            fieldName: 'uninvoicedAmount',
                            type: 'number',
              typeAttributes: {
                minimumFractionDigits: 2
              },
@@ -804,46 +874,56 @@
            //出货一览Data
            let index = 0;
            for (var i in this.outboundData) {
              this.outboundData[i]["esdOutboundDate"] =
                            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]['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]['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]['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]['uninvoicedAmount'] =
                this.outboundData[i].esd.InvoiceNotPro_money__c;
              this.outboundData[i]["invoiceFaceAmount"] =
                this.keepTwoDecimalStr(this.outboundData[i].needInvoiceCount);
                            this.outboundData[i]['invoiceFaceAmount'] =
                                this.keepTwoDecimalStr(
                                    this.outboundData[i].needInvoiceCount
                                );
              if (
                !(
                  this.outboundData[i].esd.Billed_Status__c == "全部开票" ||
                                    this.outboundData[i].esd.Billed_Status__c ==
                                        '全部开票' ||
                  this.EditAble ||
                  this.coc.Invoice_status__c != "草案中"
                                    this.coc.Invoice_status__c != '草案中'
                )
              ) {
                console.log("进入 if");
                                console.log('进入 if');
                let url =
                  "/lexconinvoiceview?orderId=" +
                                    '/lexconinvoiceview?orderId=' +
                  this.outboundData[i].esd.Id +
                  "&invoiceId=" +
                                    '&invoiceId=' +
                  this.invoiceId;
                this.outboundData[i]["invoiceFaceAmountUrl"] = url;
                                this.outboundData[i]['invoiceFaceAmountUrl'] =
                                    url;
                if (index == 0) {
                  let object5 = {
                    label: "发票票面金额(元)",
                    cellAttributes: { alignment: "right" },
                    type: "url",
                    fieldName: "invoiceFaceAmountUrl",
                                        label: '发票票面金额(元)',
                                        cellAttributes: { alignment: 'right' },
                                        type: 'url',
                                        fieldName: 'invoiceFaceAmountUrl',
                    typeAttributes: {
                      label: {
                        fieldName: "invoiceFaceAmount"
                                                fieldName: 'invoiceFaceAmount'
                      }
                      //target: "_blank",
                    },
@@ -853,14 +933,14 @@
                  index++;
                }
              } else {
                console.log("进入 else");
                                console.log('进入 else');
                if (index == 0) {
                  let object5 = {
                    label: "发票票面金额(元)",
                    cellAttributes: { alignment: "right" },
                    fieldName: "invoiceFaceAmount",
                                        label: '发票票面金额(元)',
                                        cellAttributes: { alignment: 'right' },
                                        fieldName: 'invoiceFaceAmount',
                    hideDefaultActions: true,
                    type: "number",
                                        type: 'number',
                    typeAttributes: {
                      minimumFractionDigits: 2
                    }
@@ -870,15 +950,16 @@
                }
              }
              //计算发票票面金额
              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 = {
@@ -889,18 +970,24 @@
            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");
                        this.showMyToast('失败', r.msg, 'Error');
          }
        })
        .catch((error) => {
          console.log("error = " + JSON.stringify(error));
                    console.log('error = ' + JSON.stringify(error));
        });
    }
  }
@@ -922,22 +1009,22 @@
    if (event.target.files.length > 0) {
      this.filesUploaded = event.target.files;
      this.fileName = event.target.files[0].name;
      console.log("this.fileName:" + this.fileName);
            console.log('this.fileName:' + this.fileName);
    }
  }
  //移除附件
  removeAtt() {
    this.filesUploaded = [];
    this.fileName = "";
        this.fileName = '';
  }
  //是否显示附件移除
  get attDelBtn() {
    if (
      this.fileName != "" &&
            this.fileName != '' &&
      this.fileName != null &&
      this.fileName != "选择一个文件上传"
            this.fileName != '选择一个文件上传'
    ) {
      return true;
    } else {
@@ -948,115 +1035,119 @@
  keepTwoDecimalStr(num) {
    const result = Number(num.toString().match(/^\d+(?:\.\d{0,2})?/));
    let s = result.toString();
    let rs = s.indexOf(".");
        let rs = s.indexOf('.');
    if (rs < 0) {
      rs = s.length;
      s += ".";
            s += '.';
    }
    while (s.length <= rs + 2) {
      s += "0";
            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;
                this.coc['Name'] = value;
        break;
      case "ForCustomerText":
            case 'ForCustomerText':
        this.ForCustomerText = value;
        this.coc["Order_ForCustomerText__c"] = value;
                this.coc['Order_ForCustomerText__c'] = value;
        break;
      case "InvoiceDate":
            case 'InvoiceDate':
        this.InvoiceDate = value;
        this.coc["Invoice_Date__c"] = 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;
                this.coc['Invoice_Note__c'] = value;
        break;
    }
  }
  invoiceDateChange(event) {
    this.InvoiceDate = event.detail.value;
    this.coc["Invoice_Date__c"] = event.detail.value;
    console.log("this.InvoiceDate = " + this.InvoiceDate);
        this.coc['Invoice_Date__c'] = event.detail.value;
        console.log('this.InvoiceDate = ' + this.InvoiceDate);
  }
  //搜索客户名
  searchHospitalNameModal() {
    console.log("searchHospitalNameModal");
        console.log('searchHospitalNameModal');
    hospitalInit({
      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)
                );
        this.isModalOpen = true;
      }
    });
  }
  searchHospital() {
    console.log("this.searchHospitalName = " + this.searchHospitalName);
        console.log('this.searchHospitalName = ' + this.searchHospitalName);
    serContact({
      searchName: this.searchHospitalName,
      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.HospitalInfo +
        " this.HospitalName = " +
                ' this.HospitalName = ' +
        this.HospitalName
    );
    this.isModalOpen = false;
@@ -1065,11 +1156,11 @@
  //当客户名是空时。客户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() {
@@ -1084,7 +1175,7 @@
    const selectedRows = this.template
      .querySelector("[data-field='outbound']")
      .getSelectedRows();
    console.log("selectedRows = " + JSON.stringify(selectedRows));
        console.log('selectedRows = ' + JSON.stringify(selectedRows));
    for (var i in cloneData) {
      let b = false;
@@ -1108,18 +1199,18 @@
      delete cloneData[i].invoiceFaceAmountUrl;
    }
    console.log("this.coc = " + JSON.stringify(this.coc));
    console.log("this.HospitalName = " + this.HospitalName);
    console.log("this.HospitalInfo = " + this.HospitalInfo);
    console.log("this.secondaryDistributor = " + this.secondaryDistributor);
    console.log("this.outboundData = " + JSON.stringify(cloneData));
    console.log("this.deliveryId = " + this.deliveryId);
    console.log("this.invoiceId = " + this.invoiceId);
    console.log("this.accountid = " + this.accountid);
    console.log("this.agencyProType = " + this.agencyProType);
    console.log("this.reopen = " + this.reopen);
        console.log('this.coc = ' + JSON.stringify(this.coc));
        console.log('this.HospitalName = ' + this.HospitalName);
        console.log('this.HospitalInfo = ' + this.HospitalInfo);
        console.log('this.secondaryDistributor = ' + this.secondaryDistributor);
        console.log('this.outboundData = ' + JSON.stringify(cloneData));
        console.log('this.deliveryId = ' + this.deliveryId);
        console.log('this.invoiceId = ' + this.invoiceId);
        console.log('this.accountid = ' + this.accountid);
        console.log('this.agencyProType = ' + this.agencyProType);
        console.log('this.reopen = ' + this.reopen);
    console.log(
      "this.invoiceOrderRecoedschangeLwc = " +
            'this.invoiceOrderRecoedschangeLwc = ' +
        JSON.stringify(this.invoiceOrderRecoedschange)
    );
    save({
@@ -1139,30 +1230,31 @@
    })
      .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;
          console.log("url = " + url);
                    console.log('save success');
                    let url =
                        '/lexconinvoiceview?invoiceId=' + r.entity.invoiceId;
                    console.log('url = ' + url);
          this[NavigationMixin.Navigate]({
            type: "standard__webPage",
                        type: 'standard__webPage',
            attributes: {
              url: url
            }
          });
        } else {
          this.showMyToast("保存失败", r.msg, "Error");
                    this.showMyToast('保存失败', r.msg, 'Error');
        }
      })
      .catch((error) => {
        console.log("error = " + JSON.stringify(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;
@@ -1172,34 +1264,35 @@
  }
  handleSave() {
    console.log("saveFile");
        console.log('saveFile');
    if (this.filesUploaded.length > 0) {
      this.showPopSpinner = true;
      this.file = this.filesUploaded[0];
      if (this.file.size > this.MAX_FILE_SIZE) {
        this.showMyToast("保存失败", "文件过大", "Error");
                this.showMyToast('保存失败', '文件过大', 'Error');
        return;
      }
      this.fileReader = new FileReader();
      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,
@@ -1207,40 +1300,40 @@
    })
      .then((r) => {
        r = JSON.parse(JSON.stringify(r));
        console.log("r = " + JSON.stringify(r));
        if (r != "") {
                console.log('r = ' + JSON.stringify(r));
                if (r != '') {
          this.showPopSpinner = false;
          this.showMyToast("上传成功", "", "Success");
                    this.showMyToast('上传成功', '', 'Success');
          this.closePop();
          this.init();
        } else {
          this.showMyToast("上传失败", r.msg, "Error");
                    this.showMyToast('上传失败', r.msg, 'Error');
        }
      })
      .catch((error) => {
        console.log("error = " + error.message);
        this.showMyToast("错误", "上传失败", "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";
    console.log("url = " + url);
        let url = '/lexconinvoiceview?isNew=yes';
        console.log('url = ' + url);
    this[NavigationMixin.Navigate]({
      type: "standard__webPage",
            type: 'standard__webPage',
      attributes: {
        url: url
      }
@@ -1263,15 +1356,15 @@
      delete cloneData[i].typeOptions;
      delete cloneData[i].mailSelectOptsMap;
    }
    console.log("cloneData = " + JSON.stringify(cloneData));
        console.log('cloneData = ' + JSON.stringify(cloneData));
    saveAttachment({
      attachmentRecoedsLwc: JSON.stringify(cloneData),
      invoiceId: this.invoiceId
    })
      .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({
@@ -1280,7 +1373,7 @@
          //     message: '保存成功',
          // });
          // this.dispatchEvent(event);
          this.showMyToast("附件保存成功", "", "Success");
                    this.showMyToast('附件保存成功', '', 'Success');
          //this.init();
          setTimeout(function () {
            //1秒后执行刷新
@@ -1295,12 +1388,12 @@
          //     },
          // });
        } else {
          this.showMyToast("上传失败", r.msg, "Error");
                    this.showMyToast('上传失败', r.msg, 'Error');
        }
      })
      .catch((error) => {
        console.log("error = " + error.message);
        this.showMyToast("错误", "上传失败", "Error");
                console.log('error = ' + error.message);
                this.showMyToast('错误', '上传失败', 'Error');
      });
  }
@@ -1308,9 +1401,13 @@
    this.isShowSpinner = true;
    invoiceCodeSearch({
      orderDateLwc:
        this.deliveryFromDate == null ? null : new Date(this.deliveryFromDate),
                this.deliveryFromDate == null
                    ? null
                    : new Date(this.deliveryFromDate),
      deliverDateLwc:
        this.deliveryToDate == null ? null : new Date(this.deliveryToDate),
                this.deliveryToDate == null
                    ? null
                    : new Date(this.deliveryToDate),
      invoiceStatusLwc: this.invoiceStatusValue,
      category1Lwc: this.category1,
      category2Lwc: this.category2,
@@ -1320,59 +1417,69 @@
    })
      .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"
                            '搜索成功',
                            '共检索到' + r.entity.raesListSize + '个发票',
                            'Success'
            );
          } else {
            this.showMyToast("搜索失败", "没有搜索到相关发票", "Error");
                        this.showMyToast(
                            '搜索失败',
                            '没有搜索到相关发票',
                            'Error'
                        );
          }
        } else {
          this.showMyToast("搜索失败", r.msg, "Error");
                    this.showMyToast('搜索失败', r.msg, 'Error');
        }
      })
      .catch((error) => {
        console.log("error = " + error.message);
        this.showMyToast("错误", "搜索失败", "Error");
                console.log('error = ' + error.message);
                this.showMyToast('错误', '搜索失败', 'Error');
      });
  }
  ClearJs() {
    this.deliveryFromDate = "";
    this.deliveryToDate = "";
    this.category1 = "";
    this.category2 = "";
    this.invoiceStatusValue = "";
        this.deliveryFromDate = '';
        this.deliveryToDate = '';
        this.category1 = '';
        this.category2 = '';
        this.invoiceStatusValue = '';
    this.isShowSpinner = true;
    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");
                    this.showMyToast('搜索失败', r.msg, 'Error');
        }
      })
      .catch((error) => {
        console.log("error = " + JSON.stringify(error));
                console.log('error = ' + JSON.stringify(error));
      });
  }
@@ -1384,7 +1491,7 @@
    const selectedRows = this.template
      .querySelector("[data-field='outbound']")
      .getSelectedRows();
    console.log("selectedRows " + JSON.stringify(selectedRows));
        console.log('selectedRows ' + JSON.stringify(selectedRows));
    for (var i in cloneData) {
      let b = false;
      for (var j in selectedRows) {
@@ -1407,14 +1514,14 @@
      delete cloneData[i].invoiceFaceAmountUrl;
    }
    console.log("this.coc = " + JSON.stringify(this.coc));
    console.log("this.invoiceId = " + this.invoiceId);
    console.log("this.accountid = " + this.accountid);
    console.log("this.userWorkLocation = " + this.userWorkLocation);
    console.log("this.agencyProType = " + this.agencyProType);
    console.log("this.HospitalInfo = " + this.HospitalInfo);
    console.log("SecondDealer = " + this.secondaryDistributor);
    console.log("invoiceOrderRecoedsLwc = " + JSON.stringify(cloneData));
        console.log('this.coc = ' + JSON.stringify(this.coc));
        console.log('this.invoiceId = ' + this.invoiceId);
        console.log('this.accountid = ' + this.accountid);
        console.log('this.userWorkLocation = ' + this.userWorkLocation);
        console.log('this.agencyProType = ' + this.agencyProType);
        console.log('this.HospitalInfo = ' + this.HospitalInfo);
        console.log('SecondDealer = ' + this.secondaryDistributor);
        console.log('invoiceOrderRecoedsLwc = ' + JSON.stringify(cloneData));
    InvoiceorderSearch({
      cocLwc: this.coc,
@@ -1428,11 +1535,12 @@
    })
      .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)
                        'this.outboundData = ' +
                            JSON.stringify(this.outboundData)
          );
          let index = 0;
          this.selectedRows = [];
@@ -1440,49 +1548,56 @@
            if (this.outboundData[i].check)
              this.selectedRows.push(this.outboundData[i].esd.Id);
            this.outboundData[i].Id = this.outboundData[i].esd.Id;
            this.outboundData[i]["esdOutboundDate"] =
                        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]['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]['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]['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]['uninvoicedAmount'] =
              this.outboundData[i].esd.InvoiceNotPro_money__c;
            this.outboundData[i]["invoiceFaceAmount"] =
                        this.outboundData[i]['invoiceFaceAmount'] =
              this.outboundData[i].needInvoiceCount;
            if (
              !(
                this.outboundData[i].esd.Billed_Status__c == "全部开票" ||
                                this.outboundData[i].esd.Billed_Status__c ==
                                    '全部开票' ||
                this.EditAble ||
                this.coc.Invoice_status__c != "草案中"
                                this.coc.Invoice_status__c != '草案中'
              )
            ) {
              //let url = "/ConInvoicedetails?orderId=" + this.outboundData[i].esd.Id + "&invoiceId=" + this.invoiceId;
              let url =
                "/s/lexconinvoiceview?orderId=" +
                                '/s/lexconinvoiceview?orderId=' +
                this.outboundData[i].esd.Id +
                "&invoiceId=" +
                                '&invoiceId=' +
                this.invoiceId;
              this.outboundData[i]["invoiceFaceAmountUrl"] = url;
                            this.outboundData[i]['invoiceFaceAmountUrl'] = url;
              if (index == 0) {
                let object5 = {
                  label: "发票票面金额(元)",
                  cellAttributes: { alignment: "right" },
                  type: "url",
                  fieldName: "invoiceFaceAmountUrl",
                                    label: '发票票面金额(元)',
                                    cellAttributes: { alignment: 'right' },
                                    type: 'url',
                                    fieldName: 'invoiceFaceAmountUrl',
                  typeAttributes: {
                    label: {
                      fieldName: "invoiceFaceAmount"
                                            fieldName: 'invoiceFaceAmount'
                    },
                    target: "_blank"
                                        target: '_blank'
                  },
                  hideDefaultActions: true
                };
@@ -1492,9 +1607,9 @@
            } else {
              if (index == 0) {
                let object5 = {
                  label: "发票票面金额(元)",
                  cellAttributes: { alignment: "right" },
                  fieldName: "invoiceFaceAmount",
                                    label: '发票票面金额(元)',
                                    cellAttributes: { alignment: 'right' },
                                    fieldName: 'invoiceFaceAmount',
                  hideDefaultActions: true
                };
                this.outboundColumns.push(object5);
@@ -1505,16 +1620,17 @@
            this.sumPrice += this.outboundData[i].needInvoiceCount;
          }
          console.log(
            "this.selectedRows = " + JSON.stringify(this.selectedRows)
                        'this.selectedRows = ' +
                            JSON.stringify(this.selectedRows)
          );
          this.isShowSpinner = false;
        } else {
          this.showMyToast("搜索失败", r.msg, "Error");
                    this.showMyToast('搜索失败', r.msg, 'Error');
        }
      })
      .catch((error) => {
        console.log("error = " + error.message);
        this.showMyToast("错误", "搜索失败", "Error");
                console.log('error = ' + error.message);
                this.showMyToast('错误', '搜索失败', 'Error');
      });
  }
@@ -1543,36 +1659,36 @@
    })
      .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.isShowSpinner = false;
          let url = "/lexconinvoiceview";
          console.log("url = " + url);
                    let url = '/lexconinvoiceview';
                    console.log('url = ' + url);
          this[NavigationMixin.Navigate]({
            type: "standard__webPage",
                        type: 'standard__webPage',
            attributes: {
              url: url
            }
          });
        } else {
          this.showMyToast("删除失败", r.msg, "Error");
                    this.showMyToast('删除失败', r.msg, 'Error');
        }
      })
      .catch((error) => {
        console.log("error = " + error.message);
                console.log('error = ' + error.message);
      });
  }
  SetEditAbleJs() {
    let statusEditAbleJs = "Redirect";
        let statusEditAbleJs = 'Redirect';
    let url =
      "/lexconinvoiceview?invoiceId=" +
            '/lexconinvoiceview?invoiceId=' +
      this.invoiceId +
      "&KeyWords=" +
            '&KeyWords=' +
      statusEditAbleJs;
    console.log("url = " + url);
        console.log('url = ' + url);
    this[NavigationMixin.Navigate]({
      type: "standard__webPage",
            type: 'standard__webPage',
      attributes: {
        url: url
      }
@@ -1588,12 +1704,13 @@
    })
      .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.isShowSpinner = false;
          let url = "/s/lexconinvoiceview?invoiceId=" + this.invoiceId;
          console.log("url = " + url);
          window.open(url, "_self");
                    let url =
                        '/s/lexconinvoiceview?invoiceId=' + this.invoiceId;
                    console.log('url = ' + url);
                    window.open(url, '_self');
          // this[NavigationMixin.Navigate]({
          //     type: "standard__webPage",
          //     attributes: {
@@ -1601,26 +1718,26 @@
          //     },
          // });
        } else {
          this.showMyToast("错误", r.msg, "Error");
                    this.showMyToast('错误', r.msg, 'Error');
        }
      })
      .catch((error) => {
        console.log("error = " + error.message);
                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"}]';
    console.log("reportUrl = " + reportUrl);
        console.log('reportUrl = ' + reportUrl);
    let url =
      "/s/report/" +
            '/s/report/' +
      reportUrl +
      "?reportFilters=" +
            '?reportFilters=' +
      encodeURIComponent(reportFilters);
    window.open(url);
    // this[NavigationMixin.Navigate]({
@@ -1635,16 +1752,16 @@
  reopenJs() {
    // statusEdit = 'Redirect';
    // PageReference ref = new Pagereference('/ConInvoiceView?invoiceId=' + invoiceId + '&reopen=isreopen' + '&KeyWords=' + statusEdit);
    let statusEditAbleJs = "Redirect";
        let statusEditAbleJs = 'Redirect';
    let url =
      "/lexconinvoiceview?invoiceId=" +
            '/lexconinvoiceview?invoiceId=' +
      this.invoiceId +
      "&reopen=isreopen" +
      "&KeyWords=" +
            '&reopen=isreopen' +
            '&KeyWords=' +
      statusEditAbleJs;
    console.log("url = " + url);
        console.log('url = ' + url);
    this[NavigationMixin.Navigate]({
      type: "standard__webPage",
            type: 'standard__webPage',
      attributes: {
        url: url
      }
@@ -1658,41 +1775,46 @@
    this.showAttPop = false;
    this.filesUploaded = [];
    this.fileName = null;
    console.log("show custom message");
    var iconName = "";
    var content = "";
    if (variant.toLowerCase() == "success") {
      iconName = "utility:check";
        console.log('show custom message');
        var iconName = '';
        var content = '';
        if (variant.toLowerCase() == 'success') {
            iconName = 'utility:check';
    } else {
      iconName = "utility:error";
            iconName = 'utility:error';
    }
    if (message != "") {
        if (message != '') {
      content =
        "<h2><strong>" + title + "<strong/></h2><h5>" + message + "</h5>";
                '<h2><strong>' +
                title +
                '<strong/></h2><h5>' +
                message +
                '</h5>';
    } else {
      content = "<h2><strong>" + title + "<strong/></h2>";
            content = '<h2><strong>' + title + '<strong/></h2>';
    }
    this.template
      .querySelector("c-common-toast")
            .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;}";
      this.template.querySelector(".hideHelpText").appendChild(style);
            const style = document.createElement('style');
            style.innerText =
                '.hehe-layoutItem .slds-button__icon {display: none;}';
            this.template.querySelector('.hideHelpText').appendChild(style);
      const style2 = document.createElement("style");
            const style2 = document.createElement('style');
      style2.innerText =
        ".hehe-layoutItem  .slds-form-element__label {padding : 0px}";
      this.template.querySelector(".hideHelpText").appendChild(style2);
                '.hehe-layoutItem  .slds-form-element__label {padding : 0px}';
            this.template.querySelector('.hideHelpText').appendChild(style2);
      const style3 = document.createElement("style");
            const style3 = document.createElement('style');
      style3.innerText =
        ".readOnly  .slds-form-element__label {padding-top: 7px;}";
      this.template.querySelector(".hideHelpText").appendChild(style3);
                '.readOnly  .slds-form-element__label {padding-top: 7px;}';
            this.template.querySelector('.hideHelpText').appendChild(style3);
    } catch (error) {
      console.log(error);
    }
@@ -1701,44 +1823,48 @@
  keepTwoDecimalStr(num) {
    const result = Number(num.toString().match(/^\d+(?:\.\d{0,2})?/));
    let s = result.toString();
    let rs = s.indexOf(".");
        let rs = s.indexOf('.');
    if (rs < 0) {
      rs = s.length;
      s += ".";
            s += '.';
    }
    while (s.length <= rs + 2) {
      s += "0";
            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;}";
      this.template.querySelector(".hideHelpText").appendChild(style);
            const style = document.createElement('style');
            style.innerText =
                '.hehe-layoutItem .slds-button__icon {display: none;}';
            this.template.querySelector('.hideHelpText').appendChild(style);
      const style2 = document.createElement("style");
            const style2 = document.createElement('style');
      style2.innerText =
        ".hehe-layoutItem  .slds-form-element__label {padding : 0px}";
      this.template.querySelector(".hideHelpText").appendChild(style2);
                '.hehe-layoutItem  .slds-form-element__label {padding : 0px}';
            this.template.querySelector('.hideHelpText').appendChild(style2);
    } catch (error) {
      console.log(error);
    }
  }
  handleUnitChange(event) {
    console.log("handleUnitChange");
        console.log('handleUnitChange');
    this.invoiceAllpriceData[0].invoiceAllprice = 0.0;
    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;
                this.detailsData[i].esd.Invoice_Unit__c =
                    unitDetail.data.unitValue;
        if (
          this.detailsSelectedRows.indexOf(this.detailsData[i].recordId) == -1
                    this.detailsSelectedRows.indexOf(
                        this.detailsData[i].recordId
                    ) == -1
        )
          this.detailsSelectedRows.push(this.detailsData[i].recordId);
      }
@@ -1746,23 +1872,27 @@
    this.detailsSelectedRows = [...this.detailsSelectedRows];
    console.log(
      "this.detailsSelectedRows = " + JSON.stringify(this.detailsSelectedRows)
            'this.detailsSelectedRows = ' +
                JSON.stringify(this.detailsSelectedRows)
    );
    for (var i in this.detailsData) {
      this.detailsData[i].invoiceAllprice = 0.0;
      for (var j in this.detailsSelectedRows) {
        console.log("this.detailsData[i].Id = " + this.detailsData[i].Id);
        console.log(
          "this.detailsSelectedRows[j] = " + this.detailsSelectedRows[j]
                    '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
          );
        }
@@ -1770,7 +1900,7 @@
      this.invoiceAllpriceData[0].invoiceAllprice = this.amend(
        this.invoiceAllpriceData[0].invoiceAllprice,
        this.detailsData[i].invoiceAllprice,
        "+"
                '+'
      );
    }
    this.detailsData = [...this.detailsData];
@@ -1778,23 +1908,28 @@
  }
  handleShipmentNumber(event) {
    console.log("handleShipmentNumber");
        console.log('handleShipmentNumber');
    this.invoiceAllpriceData[0].invoiceAllprice = 0.0;
    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) {
            if (
                this.detailsSelectedRows.indexOf(numberDetail.data.recordId) !=
                -1
            ) {
        this.detailsSelectedRows.splice(
          this.detailsSelectedRows.indexOf(numberDetail.data.recordId),
                    this.detailsSelectedRows.indexOf(
                        numberDetail.data.recordId
                    ),
          1
        );
      }
    }
    console.log(
      "start this.detailsSelectedRows = " +
            'start this.detailsSelectedRows = ' +
        JSON.stringify(this.detailsSelectedRows)
    );
    console.log("numberDetail = " + JSON.stringify(numberDetail));
        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(
@@ -1804,8 +1939,9 @@
          numberDetail.data.shipmentnumber
        );
        if (
          this.detailsSelectedRows.indexOf(this.detailsData[i].recordId) ==
            -1 &&
                    this.detailsSelectedRows.indexOf(
                        this.detailsData[i].recordId
                    ) == -1 &&
          numberDetail.data.shipmentnumber != 0
        )
          this.detailsSelectedRows.push(this.detailsData[i].recordId);
@@ -1813,29 +1949,33 @@
    }
    console.log(
      "end this.detailsSelectedRows = " +
            'end this.detailsSelectedRows = ' +
        JSON.stringify(this.detailsSelectedRows)
    );
    this.detailsSelectedRows = [...this.detailsSelectedRows];
    console.log(
      "this.detailsSelectedRows = " + JSON.stringify(this.detailsSelectedRows)
            'this.detailsSelectedRows = ' +
                JSON.stringify(this.detailsSelectedRows)
    );
    for (var i in this.detailsData) {
      this.detailsData[i].invoiceAllprice = 0.0;
      for (var j in this.detailsSelectedRows) {
        console.log("this.detailsData[i].Id = " + this.detailsData[i].Id);
        console.log(
          "this.detailsSelectedRows[j] = " + this.detailsSelectedRows[j]
                    '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
          );
        }
@@ -1843,7 +1983,7 @@
      this.invoiceAllpriceData[0].invoiceAllprice = this.amend(
        this.invoiceAllpriceData[0].invoiceAllprice,
        this.detailsData[i].invoiceAllprice,
        "+"
                '+'
      );
    }
    this.detailsData = [...this.detailsData];
@@ -1851,7 +1991,7 @@
  }
  detailsGetSelectedRows(event) {
    console.log("detailsGetSelectedRows ");
        console.log('detailsGetSelectedRows ');
    this.invoiceAllpriceData[0].invoiceAllprice = 0.0;
    let selectedRows = event.detail.selectedRows;
    for (var i in this.detailsData) {
@@ -1861,10 +2001,10 @@
          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
          );
        }
@@ -1872,38 +2012,43 @@
      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
      );
    }
    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));
        console.log('this.selectedRows = ' + JSON.stringify(this.selectedRows));
        console.log('this.data = ' + JSON.stringify(this.data));
  }
  deepClone(obj) {
@@ -1915,9 +2060,9 @@
    let cloneData = this.deepClone(this.detailsData);
    let selectedRows = this.template
      .querySelector("c-lex-custom-lightning-datatable")
            .querySelector('c-lex-custom-lightning-datatable')
      .getSelectedRows();
    console.log("selectedRows = " + JSON.stringify(selectedRows));
        console.log('selectedRows = ' + JSON.stringify(selectedRows));
    for (var i in cloneData) {
      delete cloneData[i].Id;
@@ -1937,11 +2082,11 @@
      delete cloneData[i].invoiceAllprice;
      for (var j in selectedRows) {
        if (cloneData[i].esd.Id == selectedRows[j].esd.Id) {
          cloneData[i]["check"] = true;
                    cloneData[i]['check'] = true;
        }
      }
    }
    console.log("cloneData = " + JSON.stringify(cloneData));
        console.log('cloneData = ' + JSON.stringify(cloneData));
    detailsSave({
      consumableorderdetails1RecordsLwc: JSON.stringify(cloneData),
@@ -1950,21 +2095,21 @@
    })
      .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
            }
          });
        } else {
          this.showMyToast("保存失败", r.msg, "Error");
                    this.showMyToast('保存失败', r.msg, 'Error');
        }
      })
      .catch((error) => {
        console.log("error = " + error.message);
                console.log('error = ' + error.message);
      });
  }
@@ -1977,27 +2122,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:
@@ -2010,23 +2155,23 @@
  deleteAtt(event) {
    this.isShowSpinner = true;
    //var recordId = event.detail.data.recordId;
    var recordId = event.target.getAttribute("data-fileid");
    console.log("attid:" + recordId);
        var recordId = event.target.getAttribute('data-fileid');
        console.log('attid:' + recordId);
    deleteAtt({
      contentVersionId: recordId
    })
      .then((r) => {
        r = JSON.parse(JSON.stringify(r));
        if (r.status == "Success") {
          this.showMyToast("删除成功", "", "Success");
                if (r.status == 'Success') {
                    this.showMyToast('删除成功', '', 'Success');
          if (this.fileData.length == 1) window.location.reload();
          else this.init();
        } else {
          this.showMyToast("删除失败", r.msg, "Error");
                    this.showMyToast('删除失败', r.msg, 'Error');
        }
      })
      .catch((error) => {
        this.showMyToast("错误", error.message, "Error");
                this.showMyToast('错误', error.message, 'Error');
      });
  }
}