binxie
2023-06-26 b5c5eb130ca0848124f9d136af4be142ad5aac07
force-app/main/default/lwc/lexConsumable/lexConsumable.js
@@ -1,4 +1,4 @@
import { LightningElement, wire, api, track } from 'lwc';
import { LightningElement,wire,api,track } from 'lwc';
import { CurrentPageReference } from 'lightning/navigation';
import { ShowToastEvent } from 'lightning/platformShowToastEvent';
import { NavigationMixin } from 'lightning/navigation';
@@ -19,1758 +19,1372 @@
import initContract from '@salesforce/apex/LexSearchContractController.init';
import searchContract from '@salesforce/apex/LexSearchContractController.searchContract';
import deleteAtt from '@salesforce/apex/LexConsumableController.deleteAtt';
//table css
import { loadStyle } from 'lightning/platformResourceLoader';
import WrappedHeaderTable from '@salesforce/resourceUrl/lexdatatable';
//table css
import { loadStyle } from "lightning/platformResourceLoader";
import WrappedHeaderTable from "@salesforce/resourceUrl/lexdatatable";
export default class LexConsumable extends NavigationMixin(LightningElement) {
    //页面基础数据
    @track editAble;
    @track pageType;
    @track esetId;
    @track keyWords;
    @track coc;
    @track cocId;
    @track userWorkLocation;
    @track accountName;
    @track accountid;
    @track specialCampaign = false;
    @track dealerProductId = [];
    @track category1;
    @track category3 = '';
    @track category4 = '';
    @track category5 = '';
    @track category_Goods;
    @track category3Option = [];
    @track category4Option = [];
    @track category5Option = [];
    @track consumableorderdetailsRecordsview = [];
    @track currentRecord = []; //分页
    @track selectRows = [];
    @track attachmentRecoeds = [];
    @track contactDealer = [];
    @track proLimitAndDate = [];
    @track agencyProType;
    @track agencyProType1;
    @track OSHFLG = false;
    @track bargainPrice;
    @track showOrderDate = false;
    @track showAttUploadDate = false;
    @track edoffersPrice = false;
    @track editDelCommitBtnDisabled = false;
    @track showEditBtn = false;
    @track disabledEditBtn = false;
    @track showPrintSheetBtn = false;
    @track showUploadSheetBtn = false;
    @track disabledUploadSheetBtn = false;
    @track showSubOrderbtn = false;
    @track disabledSubOrderbtn = false;
    @track showSaveOrderbtn1 = false;
    @track showSaveOrderbtn2 = false;
    @track showDeleteBtn = false;
    @track disabledDeleteBtn = false;
    @track showOfferPriceInputBtn = false;
    @track disabledOfferPriceInputBtn = false;
    @track showReapplyBtn = false;
    @track showHospital = false;
    @track showPage = false;
    @track cansee = false;
    @track showSpinner = true;
    @track showPopSpinner = false;
    stylesLoaded = false;
    //是否一直显示提示
    @track isNoteStay = true;
    //排序相关
    @track sortDirection = 'asc';
    @track sortedBy;
    //分页
    @track currentPage = 1;
    @track pageSize = 10;
    // @track totalPage = 0;
    @track pageSizeOptions = [10, 25, 50, 100];
    @track recordStart = 0;
    @track recordEnd = 0;
    //报错提醒
    // @track hasError = false;
    @track errorMsgs = [];
    // @track hasWarning = false;
    @track warningMsgs = [];
    //附件上传
    @track showAttPop = false;
    @track filesUploaded = [];
    @track fileName;
    file;
    fileContents;
    fileReader;
    content;
    //医院搜索
    @track showAttHosPop = false;
    @track hospitalList = [];
    @track searchNameHos;
    @track chooseHospital;
    @track chooseHospitalId;
    @track hospitalId;
    @track hospitalName;
    @track tempidHp;
    @track hosCols = [
        // {label:'医院名称',fieldName:'Name',type:'button',typeAttributes:{label:{fieldName:'Name'},variant:'base'}},
        {
            label: '',
            type: 'button',
            typeAttributes: { label: '选择' },
            initialWidth: 90,
            hideDefaultActions: true,
            wrapText: true
        },
        {
            label: '医院名称',
            fieldName: 'Name',
            initialWidth: 380,
            wrapText: true,
            hideDefaultActions: true
        },
        {
            label: '省份',
            fieldName: 'StateMaster',
            initialWidth: 80,
            hideDefaultActions: true,
            wrapText: true
        },
        {
            label: '地址',
            fieldName: 'Address__c',
            hideDefaultActions: true,
            wrapText: true
        }
    ];
    //合同搜索
    @track contractLabel;
    @track showConPop = false;
    @track contractList = [];
    @track searchNameCon;
    @track chooseContract;
    @track chooseContractId;
    @track contractId;
    @track contractName;
    @track tempidPp;
    @track conCols = [
        {
            label: '',
            type: 'button',
            typeAttributes: { label: '选择' },
            initialWidth: 90,
            hideDefaultActions: true,
            wrapText: true
        },
        {
            label: '合同名称',
            fieldName: 'Name',
            wrapText: true,
            hideDefaultActions: true
        },
        {
            label: '省份',
            fieldName: 'StateMaster',
            initialWidth: 80,
            hideDefaultActions: true,
            wrapText: true
        },
        {
            label: '申请销售课',
            fieldName: 'Sales_Section__c',
            initialWidth: 160,
            hideDefaultActions: true,
            wrapText: true
        },
        {
            label: '允许报价期间(开始日)',
            fieldName: 'Contract_Decide_Start_Date__c',
            initialWidth: 175,
            hideDefaultActions: true,
            wrapText: true
        },
        {
            label: '允许报价期间(结束日)',
            fieldName: 'Contract_Decide_End_Date__c',
            initialWidth: 175,
            hideDefaultActions: true,
            wrapText: true
        }
    ];
   //页面基础数据
   @track editAble;
   @track pageType;
   @track esetId;
   @track keyWords;
   @track coc;
   @track cocId;
   @track userWorkLocation;
   @track accountName;
   @track accountid;
   @track specialCampaign = false;
   @track dealerProductId = [];
   @track category1;
   @track category3 = '';
   @track category4 = '';
   @track category5 = '';
   @track category_Goods;
   @track category3Option = [];
   @track category4Option = [];
   @track category5Option = [];
   @track consumableorderdetailsRecordsview = [];
   @track currentRecord = [];//分页
   @track selectRows = [];
   @track attachmentRecoeds = [];
   @track contactDealer = [];
   @track proLimitAndDate = [];
   @track agencyProType;
   @track agencyProType1;
   @track OSHFLG = false;
   @track bargainPrice;
   @track showOrderDate = false;
   @track showAttUploadDate = false;
   @track edoffersPrice = false;
   @track editDelCommitBtnDisabled = false;
   @track showEditBtn = false;
   @track disabledEditBtn = false;
   @track showPrintSheetBtn = false;
   @track showUploadSheetBtn = false;
   @track disabledUploadSheetBtn = false;
   @track showSubOrderbtn = false;
   @track disabledSubOrderbtn = false;
   @track showSaveOrderbtn1 = false;
   @track showSaveOrderbtn2 = false;
   @track showDeleteBtn = false;
   @track disabledDeleteBtn = false;
   @track showOfferPriceInputBtn = false;
   @track disabledOfferPriceInputBtn = false;
   @track showReapplyBtn = false;
   @track showHospital = false;
   @track showPage = false;
   @track cansee = false;
   @track showSpinner = true;
   @track showPopSpinner = false;
   stylesLoaded = false;
   //是否一直显示提示
   @track isNoteStay = true;
   //排序相关
   @track sortDirection = 'asc';
   @track sortedBy;
   //分页
   @track currentPage = 1;
   @track pageSize = 10;
   // @track totalPage = 0;
   @track pageSizeOptions = [10, 25, 50, 100];
   @track recordStart = 0;
   @track recordEnd = 0;
   //报错提醒
   // @track hasError = false;
   @track errorMsgs = [];
   // @track hasWarning = false;
   @track warningMsgs = [];
   //附件上传
   @track showAttPop = false;
   @track filesUploaded = [];
   @track fileName;
   file;
   fileContents;
   fileReader;
   content;
   //医院搜索
   @track showAttHosPop = false;
   @track hospitalList = [];
   @track searchNameHos;
   @track chooseHospital;
   @track chooseHospitalId;
   @track hospitalId;
   @track hospitalName;
   @track tempidHp;
   @track hosCols = [
      // {label:'医院名称',fieldName:'Name',type:'button',typeAttributes:{label:{fieldName:'Name'},variant:'base'}},
      {label:'',type:'button',typeAttributes:{label:'选择'},initialWidth:90,hideDefaultActions: true,wrapText:true},
      {label:'医院名称',fieldName:'Name',initialWidth:380,wrapText:true,hideDefaultActions: true},
      {label:'省份',fieldName:'StateMaster',initialWidth:80,hideDefaultActions: true,wrapText:true},
      {label:'地址',fieldName:'Address__c',hideDefaultActions: true,wrapText:true}
   ];
   //合同搜索
   @track contractLabel;
   @track showConPop = false;
   @track contractList = [];
   @track searchNameCon;
   @track chooseContract;
   @track chooseContractId;
   @track contractId;
   @track contractName;
   @track tempidPp;
   @track conCols = [
      {label:'',type:'button',typeAttributes:{label:'选择'},initialWidth:90,hideDefaultActions: true,wrapText:true},
      {label:'合同名称',fieldName:'Name',wrapText:true,hideDefaultActions: true},
      {label:'省份',fieldName:'StateMaster',initialWidth:80,hideDefaultActions: true,wrapText:true},
      {label:'申请销售课',fieldName:'Sales_Section__c',initialWidth:160,hideDefaultActions: true,wrapText:true},
      {label:'允许报价期间(开始日)',fieldName:'Contract_Decide_Start_Date__c',initialWidth:175,hideDefaultActions: true,wrapText:true},
      {label:'允许报价期间(结束日)',fieldName:'Contract_Decide_End_Date__c',initialWidth:175,hideDefaultActions: true,wrapText:true}
   ];
    //消耗品数据col
    get cols() {
        var cols = [];
        cols.push({
            label: '消耗品名称',
            fieldName: 'prodName',
            wrapText: true,
            hideDefaultActions: true,
            sortable: true,
            initialWidth: 150
        });
        cols.push({
            label: '规格',
            fieldName: 'packing_list',
            wrapText: true,
            hideDefaultActions: true,
            initialWidth: 50,
            cellAttributes: { alignment: 'right' }
        });
        cols.push({
            label: 'CFDA状态',
            fieldName: 'prodSFDAStatus',
            wrapText: true,
            hideDefaultActions: true,
            initialWidth: 97
        });
        cols.push({
            label: '注册证编码号',
            fieldName: 'approbation_No',
            wrapText: true,
            hideDefaultActions: true,
            initialWidth: 120
        });
        cols.push({
            label: '注册证效期',
            fieldName: 'expiration_Date',
            wrapText: true,
            hideDefaultActions: true,
            initialWidth: 105
        });
        cols.push({
            label: '第3分类',
            fieldName: 'prodCategory3',
            wrapText: true,
            hideDefaultActions: true,
            initialWidth: 78,
            sortable: true
        });
        cols.push({
            label: '第4分类',
            fieldName: 'prodCategory4',
            wrapText: true,
            hideDefaultActions: true,
            initialWidth: 107,
            sortable: true
        });
        cols.push({
            label: '第5分类',
            fieldName: 'prodCategory5',
            wrapText: true,
            hideDefaultActions: true,
            initialWidth: 80,
            sortable: true
        });
        if (this.cansee) {
            cols.push({
                label: '标准单价',
                type: 'number',
                typeAttributes: { minimumFractionDigits: 2 },
                fieldName: 'prodIntraTradeList',
                hideDefaultActions: true,
                initialWidth: 80
            });
        }
        if (this.editAble) {
            cols.push({
                label: '采购数量',
                type: 'customTableInput',
                typeAttributes: {
                    recordId: { fieldName: 'recordId' },
                    inputValue: { fieldName: 'consumableCount' },
                    upperLimit: { fieldName: 'upperlimit' },
                    lowerLimit: { fieldName: 'lowerlimit' },
                    allnumber: { fieldName: 'allnumber' },
                    valueType: 'Number'
                },
                hideDefaultActions: true,
                initialWidth: 80
            });
        } else {
            cols.push({
                label: '采购数量',
                fieldName: 'consumableCount',
                hideDefaultActions: true,
                initialWidth: 80,
                cellAttributes: { alignment: 'right' }
            });
        }
        cols.push({
            label: '在库数下限',
            fieldName: 'lowerlimit',
            hideDefaultActions: true,
            initialWidth: 100,
            cellAttributes: { alignment: 'right' }
        });
        cols.push({
            label: '在库数上限',
            fieldName: 'upperlimit',
            hideDefaultActions: true,
            initialWidth: 100,
            cellAttributes: { alignment: 'right' }
        });
        // cols.push({label:'有效期库存(盒)',fieldName:'allnumber',hideDefaultActions: true,initialWidth:105,sortable: true});
        cols.push({
            label: '有效期库存(盒)',
            type: 'customInventoryColor',
            typeAttributes: {
                value: { fieldName: 'allnumber' },
                upperlimit: { fieldName: 'upperlimit' },
                lowerlimit: { fieldName: 'lowerlimit' },
                boxPrice: '盒'
   //消耗品数据col
   get cols(){
      var cols = [];
      cols.push({label:'消耗品名称',fieldName:'prodName',wrapText:true,hideDefaultActions: true,sortable: true,initialWidth:150});
      cols.push({label:'规格',fieldName:'packing_list',wrapText:true,hideDefaultActions: true,initialWidth:50,cellAttributes: { alignment: "right" }});
      cols.push({label:'CFDA状态',fieldName:'prodSFDAStatus',wrapText:true,hideDefaultActions: true,initialWidth:97});
      cols.push({label:'注册证编码号',fieldName:'approbation_No',wrapText:true,hideDefaultActions: true,initialWidth:120});
      cols.push({label:'注册证效期',fieldName:'expiration_Date',wrapText:true,hideDefaultActions: true,initialWidth:105});
      cols.push({label:'第3分类',fieldName:'prodCategory3',wrapText:true,hideDefaultActions: true,initialWidth:78,sortable: true});
      cols.push({label:'第4分类',fieldName:'prodCategory4',wrapText:true,hideDefaultActions: true,initialWidth:107,sortable: true});
      cols.push({label:'第5分类',fieldName:'prodCategory5',wrapText:true,hideDefaultActions: true,initialWidth:80,sortable: true});
      if(this.cansee){
         cols.push({label:'标准单价',type:'number',typeAttributes:{minimumFractionDigits: 2},fieldName:'prodIntraTradeList',hideDefaultActions: true,initialWidth:80});
      }
      if(this.editAble){
         cols.push(
            {label:'采购数量',
            type: "customTableInput",typeAttributes: {
               recordId: { fieldName: "recordId" },
               inputValue: { fieldName: "consumableCount" },
               upperLimit: { fieldName: "upperlimit" },
               lowerLimit: { fieldName: "lowerlimit" },
               allnumber: { fieldName: "allnumber" },
               valueType: 'Number'
            },
            hideDefaultActions: true,
            initialWidth: 126
        });
        cols.push({
            label: '有效期库存(个)',
            fieldName: 'allnumber_piece',
            hideDefaultActions: true,
            initialWidth: 126,
            cellAttributes: { alignment: 'right' }
        });
        return cols;
    }
            hideDefaultActions: true,initialWidth:80});
      }else{
         cols.push({label:'采购数量',fieldName:'consumableCount',hideDefaultActions: true,initialWidth:80,cellAttributes: { alignment: "right" }});
      }
      cols.push({label:'在库数下限',fieldName:'lowerlimit',hideDefaultActions: true,initialWidth:100,cellAttributes: { alignment: "right" }});
      cols.push({label:'在库数上限',fieldName:'upperlimit',hideDefaultActions: true,initialWidth:100,cellAttributes: { alignment: "right" }});
      // cols.push({label:'有效期库存(盒)',fieldName:'allnumber',hideDefaultActions: true,initialWidth:105,sortable: true});
      cols.push(
         {label:'有效期库存(盒)',
         type: "customInventoryColor",
         typeAttributes: {
            value: { fieldName: "allnumber" },
            upperlimit: { fieldName: "upperlimit" },
            lowerlimit: { fieldName: "lowerlimit" },
            boxPrice: '盒'
         },
         hideDefaultActions: true,initialWidth:126});
      cols.push({label:'有效期库存(个)',fieldName:'allnumber_piece',hideDefaultActions: true,initialWidth:126,cellAttributes: { alignment: "right" }});
      return cols;
   }
    //附件cols
    @track attCols = [
        {
            label: '标题',
            fieldName: 'attUrl',
            type: 'url',
            typeAttributes: {
                label: { fieldName: 'fileName' },
                target: '_blank'
            },
            hideDefaultActions: true
        },
        {
            label: '创建人',
            fieldName: 'ownerUrl',
            type: 'url',
            typeAttributes: {
                label: { fieldName: 'ownerName' },
                target: '_blank'
            },
            hideDefaultActions: true
        },
        {
            label: '上传日期',
            fieldName: 'updateDate',
            hideDefaultActions: true
        },
        {
            label: '',
            type: 'tableCellIcon',
            typeAttributes: {
                iconName: 'utility:delete',
                recordId: { fieldName: 'recordId' }
            },
            initialWidth: 50,
            hideDefaultActions: true
        }
    ];
   //附件cols
   @track attCols = [
      {label:'标题',fieldName:'attUrl',type:'url',typeAttributes:{label:{fieldName:'fileName'},target: "_blank"},hideDefaultActions: true},
      {label:'创建人',fieldName:'ownerUrl',type:'url',typeAttributes:{label:{fieldName:'ownerName'},target: "_blank"},hideDefaultActions: true},
      {label:'上传日期',fieldName:'updateDate',hideDefaultActions: true},
      {label:'',type:'tableCellIcon',typeAttributes:{iconName:'utility:delete',recordId:{fieldName : 'recordId'}},initialWidth:50,hideDefaultActions: true}
   ];
    //取得所有被勾选的产品id
    getAllChecked() {
        this.selectRows = [];
        for (var i in this.currentRecord) {
            if (this.currentRecord[i].check) {
                this.selectRows.push(this.currentRecord[i].recordId);
   //取得所有被勾选的产品id
   getAllChecked(){
      this.selectRows = [];
      for(var i in this.currentRecord){
         if(this.currentRecord[i].check){
            this.selectRows.push(this.currentRecord[i].recordId);
         }
      }
   }
   //勾选操作
   checkRows(event){
      this.selectRows = [];
      const selectedRows = event.detail.selectedRows;
      for(var i in this.consumableorderdetailsRecordsview){
         var count = 0;
         for(var j in selectedRows){
            if(this.consumableorderdetailsRecordsview[i].recordId == selectedRows[j].recordId){
               count++
               console.log("checkId:"+selectedRows[j].recordId+'---'+this.consumableorderdetailsRecordsview[i].prodName);
            }
        }
    }
    //勾选操作
    checkRows(event) {
        this.selectRows = [];
        const selectedRows = event.detail.selectedRows;
        for (var i in this.consumableorderdetailsRecordsview) {
            var count = 0;
            for (var j in selectedRows) {
                if (
                    this.consumableorderdetailsRecordsview[i].recordId ==
                    selectedRows[j].recordId
                ) {
                    count++;
                    console.log(
                        'checkId:' +
                            selectedRows[j].recordId +
                            '---' +
                            this.consumableorderdetailsRecordsview[i].prodName
                    );
                }
         }
         if(count == 0){
            this.consumableorderdetailsRecordsview[i].check = false;
         }else{
            this.consumableorderdetailsRecordsview[i].check = true;
            this.selectRows.push(this.consumableorderdetailsRecordsview[i].recordId);
         }
      }
      for(var i in this.selectRows){
         console.log("checkId1:"+this.selectRows[i]);
         for(var i in this.currentRecord){
            if(this.currentRecord[i].recordId == this.selectRows[i]){
               console.log("currentRecord:"+this.selectRows[i]);
            }
            if (count == 0) {
                this.consumableorderdetailsRecordsview[i].check = false;
            } else {
                this.consumableorderdetailsRecordsview[i].check = true;
                this.selectRows.push(
                    this.consumableorderdetailsRecordsview[i].recordId
                );
         }
      }
   }
   //采购数量获取
   conCountChange(event){
      var recordId = event.detail.data.recordId;
      var conCount = event.detail.data.value;
      console.log('countChange:'+recordId+'---'+conCount);
      for(var i in this.consumableorderdetailsRecordsview){
         if(this.consumableorderdetailsRecordsview[i].recordId == recordId){
            this.consumableorderdetailsRecordsview[i].esd.Consumable_count__c = conCount;
            this.consumableorderdetailsRecordsview[i].consumableCount = conCount;
            if(conCount != null && conCount !=0 && conCount!=''){
               this.consumableorderdetailsRecordsview[i].check = true;
            }else{
               this.consumableorderdetailsRecordsview[i].check = false;
               this.consumableorderdetailsRecordsview[i].esd.Consumable_count__c = null;
               this.consumableorderdetailsRecordsview[i].consumableCount = null;
            }
        }
        for (var i in this.selectRows) {
            console.log('checkId1:' + this.selectRows[i]);
            for (var i in this.currentRecord) {
                if (this.currentRecord[i].recordId == this.selectRows[i]) {
                    console.log('currentRecord:' + this.selectRows[i]);
                }
         }
      }
      this.getAllChecked();
      for(var i in this.currentRecord){
         if(this.currentRecord[i].recordId == recordId){
            console.log("currentRecord1:"+this.currentRecord[i].esd.Consumable_count__c);
         }
      }
   }
   //采购数量失焦
   conCountBlur(event){
      var conCount = event.detail.data.value;
      var allnumber = event.detail.data.allnumber;
      var upperLimit = event.detail.data.upperLimit;
      var lowerLimit = event.detail.data.lowerLimit;
      console.log('limit:'+conCount+'---'+ allnumber+'---'+lowerLimit+'---'+allnumber);
      if(upperLimit != null && lowerLimit != null && conCount != null && allnumber != null){
         if(parseInt(allnumber) + parseInt(conCount) > upperLimit){
            // window.alert("该产品订购数量超出库存上限!");
            this.showMyToast('该产品订购数量超出库存上限!','','error');
         }
         if(parseInt(allnumber) + parseInt(conCount) < lowerLimit){
            // window.alert("该产品订购数量低于库存下限!");
            this.showMyToast('该产品订购数量低于库存下限!','','error');
         }
      }
   }
   @wire(CurrentPageReference)
   getStateParameters(currentPageReference) {
      console.log('CurrentPageReference');
      if (currentPageReference) {
         this.pageType = currentPageReference.state?.type;
         this.esetId = currentPageReference.state?.ESetid;
         this.keyWords = currentPageReference.state?.KeyWords;
         console.log('type:'+this.pageType);
         console.log('esetId:'+this.esetId);
         console.log('keyWords:'+this.keyWords);
      }
   }
   renderedCallback(){
      if (!this.stylesLoaded) {
          Promise.all([loadStyle(this, WrappedHeaderTable)])
              .then(() => {
                  console.log("Custom styles loaded");
                  this.stylesLoaded = true;
              })
              .catch((error) => {
                  console.error("Error loading custom styles");
              });
      }
   }
   //页面初始化
   connectedCallback(){
      this.showSpinner = true;
      initPage({type:this.pageType, esetId:this.esetId, keywordStr:this.keyWords})
         .then(result=>{
            this.isNoteStay = result.isNoteStay;
            if(result.result == 'Success'){
               this.editAble = result.editAble;
               this.edoffersPrice = result.edoffersPrice;
               this.cansee = result.cansee;
               this.editDelCommitBtnDisabled = result.editDelCommitBtnDisabled;
               this.category3Option = result.category3Option;
               this.category4Option = result.category4Option;
               this.category5Option = result.category5Option;
               this.agencyProType = result.agencyProType;
               this.agencyProType1 = result.agencyProType1;
               this.OSHFLG = result.OSHFLG;
               this.hospitalName = result.hospitalName;
               this.contractName = result.contractName;
               this.contractLabel = '经销商有效合同';
               this.consumableorderdetailsRecordsview = result.consumableorderdetailsRecordsview;
               this.currentPage = 1;
               this.showCurrentReocrd();
               this.getAllChecked();
               this.attachmentRecoeds = result.attachmentRecoeds;
               console.log("attSize:"+this.attachmentRecoeds.length);
               for(var i in this.attachmentRecoeds){
                  this.attachmentRecoeds[i]['recordId'] = this.attachmentRecoeds[i].Concc.Id;
                  this.attachmentRecoeds[i]['documentId'] = this.attachmentRecoeds[i].Concc.ContentDocumentId;
                  this.attachmentRecoeds[i]['fileFullName'] = this.attachmentRecoeds[i].Concc.Title;
                  var contractionName = this.attachmentRecoeds[i].Concc.Title;
                  // var contractionName = '长文件长文件长文件长文件';
                  if(contractionName.length > 25){
                     contractionName = contractionName.substr(0,21) + "...";
                  }
                  this.attachmentRecoeds[i]['fileName'] = contractionName;
                  this.attachmentRecoeds[i]['ownerName'] = this.attachmentRecoeds[i].Concc.Owner.Name;
                  this.attachmentRecoeds[i]['downloadUrl'] = '/sfc/servlet.shepherd/document/download/'+this.attachmentRecoeds[i].Concc.ContentDocumentId+'?operationContext=S1';
                  // var date = this.attachmentRecoeds[i].Concc.CreatedDate;
                  // var year = date.getFullYear();
                  // var month = date.getMonth();
                  // var day = date.getDay();
                  // console.log(year+'-'+month+'-'+day);
                  this.attachmentRecoeds[i]['updateDate'] = new Date(Date.parse(this.attachmentRecoeds[i].Concc.CreatedDate)).toLocaleString();
                  this.attachmentRecoeds[i]['attUrl'] = '/'+this.attachmentRecoeds[i].Concc.Id;
                  this.attachmentRecoeds[i]['ownerUrl'] = '/'+this.attachmentRecoeds[i].Concc.OwnerId;
               }
               this.errorMsgs = result.errorMsgList;
               this.warningMsgs = result.warningMsgList;
               this.userWorkLocation = result.userWorkLocation;
               this.accountName = result.accountName;
               this.accountid = result.accountid;
               this.hospitalId = result.hospitalId;
               this.contractId = result.contractId;
               this.category_Goods = result.category_Goods;
               this.specialCampaign = result.specialCampaign;
               this.dealerProductId = result.dealerProductId;
               this.contactDealer = result.contactDealer;
               this.pageType = result.methodType;
               this.proLimitAndDate = result.proLimitAndDate;
               console.log("proLimitAndDate:"+JSON.stringify(this.proLimitAndDate));
               this.coc = result.coc;
               this.cocId = this.coc.Id;
               if(this.pageType == 'hospitalorder' && this.agencyProType != 'ET'){
                  this.showHospital = true;
               }
               if(this.coc.Order_status__c == "已提交" || this.coc.Order_status__c == "批准"){
                  this.showOrderDate = true;
               }
               if(this.coc.Consumable_pdf_insert_day__c != null){
                  this.showAttUploadDate = true;
               }
               if(!(this.editAble || this.edoffersPrice)){
                  this.showEditBtn = true;
                  this.showOfferPriceInputBtn = true;
               }
               if(this.coc.Order_status__c == "已提交" || this.coc.Order_status__c == "批准" || this.coc.Order_status__c == "驳回"){
                  this.disabledEditBtn = true;
                  this.disabledUploadSheetBtn = true;
                  this.disabledSubOrderbtn = true;
                  this.disabledDeleteBtn = true;
                  this.disabledOfferPriceInputBtn = true;
               }
               if(!(this.editDelCommitBtnDisabled || this.editAble || this.edoffersPrice)){
                  this.showPrintSheetBtn = true;
                  this.showUploadSheetBtn = true;
                  this.showSubOrderbtn = true;
                  this.showDeleteBtn = true;
               }
               if((this.editDelCommitBtnDisabled || this.editAble || this.edoffersPrice) && this.coc.Order_status__c != "驳回"){
                  this.showSaveOrderbtn1 = true;
               }
               if(this.coc.Order_status__c == "驳回" && this.editAble){
                  this.showSaveOrderbtn2 = true;
               }
               if(this.coc.Order_status__c == "驳回" && !this.editAble){
                  this.showReapplyBtn = true;
               }
               this.showSpinner = false;
               this.showPage = true;
            }else{
               this.showSpinner = false;
               console.log("Error:"+result.errorMsg);
               this.showMyToast('初始化页面失败',result.errorMsg,'error');
            }
        }
    }
    //采购数量获取
    conCountChange(event) {
        var recordId = event.detail.data.recordId;
        var conCount = event.detail.data.value;
        console.log('countChange:' + recordId + '---' + conCount);
        for (var i in this.consumableorderdetailsRecordsview) {
            if (
                this.consumableorderdetailsRecordsview[i].recordId == recordId
            ) {
                this.consumableorderdetailsRecordsview[
                    i
                ].esd.Consumable_count__c = conCount;
                this.consumableorderdetailsRecordsview[i].consumableCount =
                    conCount;
                if (conCount != null && conCount != 0 && conCount != '') {
                    this.consumableorderdetailsRecordsview[i].check = true;
                } else {
                    this.consumableorderdetailsRecordsview[i].check = false;
                    this.consumableorderdetailsRecordsview[
                        i
                    ].esd.Consumable_count__c = null;
                    this.consumableorderdetailsRecordsview[i].consumableCount =
                        null;
                }
            }
        }
        this.getAllChecked();
        for (var i in this.currentRecord) {
            if (this.currentRecord[i].recordId == recordId) {
                console.log(
                    'currentRecord1:' +
                        this.currentRecord[i].esd.Consumable_count__c
                );
            }
        }
    }
    //采购数量失焦
    conCountBlur(event) {
        var conCount = event.detail.data.value;
        var allnumber = event.detail.data.allnumber;
        var upperLimit = event.detail.data.upperLimit;
        var lowerLimit = event.detail.data.lowerLimit;
        console.log(
            'limit:' +
                conCount +
                '---' +
                allnumber +
                '---' +
                lowerLimit +
                '---' +
                allnumber
        );
        if (
            upperLimit != null &&
            lowerLimit != null &&
            conCount != null &&
            allnumber != null
        ) {
            if (parseInt(allnumber) + parseInt(conCount) > upperLimit) {
                // window.alert("该产品订购数量超出库存上限!");
                this.showMyToast('该产品订购数量超出库存上限!', '', 'error');
            }
            if (parseInt(allnumber) + parseInt(conCount) < lowerLimit) {
                // window.alert("该产品订购数量低于库存下限!");
                this.showMyToast('该产品订购数量低于库存下限!', '', 'error');
            }
        }
    }
    @wire(CurrentPageReference)
    getStateParameters(currentPageReference) {
        console.log('CurrentPageReference');
        if (currentPageReference) {
            this.pageType = currentPageReference.state?.type;
            this.esetId = currentPageReference.state?.ESetid;
            this.keyWords = currentPageReference.state?.KeyWords;
            console.log('type:' + this.pageType);
            console.log('esetId:' + this.esetId);
            console.log('keyWords:' + this.keyWords);
        }
    }
    renderedCallback() {
        if (!this.stylesLoaded) {
            Promise.all([loadStyle(this, WrappedHeaderTable)])
                .then(() => {
                    console.log('Custom styles loaded');
                    this.stylesLoaded = true;
                })
                .catch((error) => {
                    console.error('Error loading custom styles');
                });
        }
    }
    //页面初始化
    connectedCallback() {
        this.showSpinner = true;
        initPage({
            type: this.pageType,
            esetId: this.esetId,
            keywordStr: this.keyWords
        })
            .then((result) => {
                this.isNoteStay = result.isNoteStay;
                if (result.result == 'Success') {
                    this.editAble = result.editAble;
                    this.edoffersPrice = result.edoffersPrice;
                    this.cansee = result.cansee;
                    this.editDelCommitBtnDisabled =
                        result.editDelCommitBtnDisabled;
                    this.category3Option = result.category3Option;
                    this.category4Option = result.category4Option;
                    this.category5Option = result.category5Option;
                    this.agencyProType = result.agencyProType;
                    this.agencyProType1 = result.agencyProType1;
                    this.OSHFLG = result.OSHFLG;
                    this.hospitalName = result.hospitalName;
                    this.contractName = result.contractName;
                    this.contractLabel = '经销商有效合同';
                    this.consumableorderdetailsRecordsview =
                        result.consumableorderdetailsRecordsview;
                    this.currentPage = 1;
                    this.showCurrentReocrd();
                    this.getAllChecked();
                    this.attachmentRecoeds = result.attachmentRecoeds;
                    console.log('attSize:' + this.attachmentRecoeds.length);
                    for (var i in this.attachmentRecoeds) {
                        this.attachmentRecoeds[i]['recordId'] =
                            this.attachmentRecoeds[i].Concc.Id;
                        this.attachmentRecoeds[i]['documentId'] =
                            this.attachmentRecoeds[i].Concc.ContentDocumentId;
                        this.attachmentRecoeds[i]['fileFullName'] =
                            this.attachmentRecoeds[i].Concc.Title;
                        var contractionName =
                            this.attachmentRecoeds[i].Concc.Title;
                        // var contractionName = '长文件长文件长文件长文件';
                        if (contractionName.length > 25) {
                            contractionName =
                                contractionName.substr(0, 21) + '...';
                        }
                        this.attachmentRecoeds[i]['fileName'] = contractionName;
                        this.attachmentRecoeds[i]['ownerName'] =
                            this.attachmentRecoeds[i].Concc.Owner.Name;
                        this.attachmentRecoeds[i]['downloadUrl'] =
                            '/sfc/servlet.shepherd/document/download/' +
                            this.attachmentRecoeds[i].Concc.ContentDocumentId +
                            '?operationContext=S1';
                        // var date = this.attachmentRecoeds[i].Concc.CreatedDate;
                        // var year = date.getFullYear();
                        // var month = date.getMonth();
                        // var day = date.getDay();
                        // console.log(year+'-'+month+'-'+day);
                        this.attachmentRecoeds[i]['updateDate'] = new Date(
                            Date.parse(
                                this.attachmentRecoeds[i].Concc.CreatedDate
                            )
                        ).toLocaleString();
                        this.attachmentRecoeds[i]['attUrl'] =
                            '/' + this.attachmentRecoeds[i].Concc.Id;
                        this.attachmentRecoeds[i]['ownerUrl'] =
                            '/' + this.attachmentRecoeds[i].Concc.OwnerId;
                    }
                    this.errorMsgs = result.errorMsgList;
                    this.warningMsgs = result.warningMsgList;
                    this.userWorkLocation = result.userWorkLocation;
                    this.accountName = result.accountName;
                    this.accountid = result.accountid;
                    this.hospitalId = result.hospitalId;
                    this.contractId = result.contractId;
                    this.category_Goods = result.category_Goods;
                    this.specialCampaign = result.specialCampaign;
                    this.dealerProductId = result.dealerProductId;
                    this.contactDealer = result.contactDealer;
                    this.pageType = result.methodType;
                    this.proLimitAndDate = result.proLimitAndDate;
                    console.log(
                        'proLimitAndDate:' +
                            JSON.stringify(this.proLimitAndDate)
                    );
                    this.coc = result.coc;
                    this.cocId = this.coc.Id;
                    if (
                        this.pageType == 'hospitalorder' &&
                        this.agencyProType != 'ET'
                    ) {
                        this.showHospital = true;
                    }
                    if (
                        this.coc.Order_status__c == '已提交' ||
                        this.coc.Order_status__c == '批准'
                    ) {
                        this.showOrderDate = true;
                    }
                    if (this.coc.Consumable_pdf_insert_day__c != null) {
                        this.showAttUploadDate = true;
                    }
                    if (!(this.editAble || this.edoffersPrice)) {
                        this.showEditBtn = true;
                        this.showOfferPriceInputBtn = true;
                    }
                    if (
                        this.coc.Order_status__c == '已提交' ||
                        this.coc.Order_status__c == '批准' ||
                        this.coc.Order_status__c == '驳回'
                    ) {
                        this.disabledEditBtn = true;
                        this.disabledUploadSheetBtn = true;
                        this.disabledSubOrderbtn = true;
                        this.disabledDeleteBtn = true;
                        this.disabledOfferPriceInputBtn = true;
                    }
                    if (
                        !(
                            this.editDelCommitBtnDisabled ||
                            this.editAble ||
                            this.edoffersPrice
                        )
                    ) {
                        this.showPrintSheetBtn = true;
                        this.showUploadSheetBtn = true;
                        this.showSubOrderbtn = true;
                        this.showDeleteBtn = true;
                    }
                    if (
                        (this.editDelCommitBtnDisabled ||
                            this.editAble ||
                            this.edoffersPrice) &&
                        this.coc.Order_status__c != '驳回'
                    ) {
                        this.showSaveOrderbtn1 = true;
                    }
                    if (this.coc.Order_status__c == '驳回' && this.editAble) {
                        this.showSaveOrderbtn2 = true;
                    }
                    if (this.coc.Order_status__c == '驳回' && !this.editAble) {
                        this.showReapplyBtn = true;
                    }
                    this.showSpinner = false;
                    this.showPage = true;
                } else {
                    this.showSpinner = false;
                    console.log('Error:' + result.errorMsg);
                    this.showMyToast(
                        '初始化页面失败',
                        result.errorMsg,
                        'error'
                    );
                }
            })
            .catch((error) => {
                this.showSpinner = false;
                console.log('error:' + error);
                this.showMyToast('初始化页面失败', error, 'error');
            });
    }
    //排序
    onHandleSort(event) {
        //将已经选好了的放到前面,不进行排序
        console.log('sort');
        if (this.editAble) {
            const { fieldName: sortedBy, sortDirection } = event.detail;
            const cloneData = [...this.currentRecord];
            cloneData.sort(
                this.sortBy(sortedBy, sortDirection === 'asc' ? 1 : -1)
            );
            let index = 0;
            let selectedRows = this.template
                .querySelector('c-lex-custom-lightning-datatable')
                .getSelectedRows();
            let selectedRowsIds = [];
            for (var i in selectedRows) {
                selectedRowsIds.push(selectedRows[i].recordId);
            }
            console.log('selectedRowsIds = ' + JSON.stringify(selectedRowsIds));
            for (var i = 0; i < cloneData.length; i++) {
                if (selectedRowsIds.indexOf(cloneData[i].recordId) != -1) {
                    if (i != 0) {
                        let temp = cloneData[index];
                        cloneData[index] = cloneData[i];
                        cloneData[i] = temp;
                    }
                    index++;
                }
            }
            this.currentRecord = cloneData;
            this.sortDirection = sortDirection;
            this.sortedBy = sortedBy;
        } else {
            const { fieldName: sortedBy, sortDirection } = event.detail;
            const cloneData = [...this.currentRecord];
            cloneData.sort(
                this.sortBy(sortedBy, sortDirection === 'asc' ? 1 : -1)
            );
            this.currentRecord = cloneData;
            this.sortDirection = sortDirection;
            this.sortedBy = sortedBy;
        }
    }
    sortBy(field, reverse, primer) {
        const key = primer
            ? function (x) {
                  return primer(x[field]);
              }
            : function (x) {
                  return x[field];
              };
        return function (a, b) {
            a = key(a);
            b = key(b);
            return reverse * ((a > b) - (b > a));
        };
    }
    //是否有警告
    get hasWarning() {
        if (this.warningMsgs == null || this.warningMsgs.length == 0) {
            return false;
        }
        if (this.warningMsgs.length > 0) {
            return true;
        }
    }
    //是否有错误
    get hasError() {
        if (this.errorMsgs == null || this.errorMsgs.length == 0) {
            return false;
        }
        if (this.errorMsgs.length > 0) {
            return true;
        }
    }
    //特价change事件
    offerPriceChange(event) {
        this.coc.Offers_Price__c = event.detail.value;
    }
    //消耗品名称change事件
    category1Change(event) {
        this.category1 = event.detail.value;
    }
    //第三分类change事件
    category3Change(event) {
        this.showSpinner = true;
        this.category3 = event.detail.value;
        this.category4 = '';
        this.category5 = '';
        categoryAllload({
            agencyProTypeStr: this.agencyProType,
            category3Str: this.category3
        }).then((result) => {
            if (result.result == 'Success') {
                this.category4Option = result.category4Option;
                this.category5Option = result.category5Option;
                this.showSpinner = false;
            } else {
                this.showSpinner = false;
                console.log('Error:' + result.errorMsg);
                this.showMyToast('加载分类失败', result.errorMsg, 'error');
            }
        });
    }
    //第四分类change事件
    category4Change(event) {
        this.showSpinner = true;
        this.category4 = event.detail.value;
        this.category5 = '';
        categoryload({
            agencyProTypeStr: this.agencyProType,
            category3Str: this.category3,
            category4Str: this.category4
        }).then((result) => {
            if (result.result == 'Success') {
                this.category4Option = result.category4Option;
                this.category5Option = result.category5Option;
                this.showSpinner = false;
            } else {
                this.showSpinner = false;
                console.log('Error:' + result.errorMsg);
                this.showMyToast('加载分类失败', result.errorMsg, 'error');
            }
        });
    }
    //第五分类change事件
    category5Change(event) {
        this.category5 = event.detail.value;
    }
    //搜索产品
    searchProduct(event) {
        this.showSpinner = true;
        searchConsumableorderdetails({
            userWorkLocationStr: this.userWorkLocation,
            agencyProTypeStr: this.agencyProType,
            accountNameStr: this.accountName,
            accountIdStr: this.accountid,
            contractIdStr: this.contractId,
            hospitalIdStr: this.hospitalId,
            category1Str: this.category1,
            category3Str: this.category3,
            category4Str: this.category4,
            category5Str: this.category5,
            category_GoodStr: this.category_Goods,
            specialCampaignStr: this.specialCampaign,
            dealerProductIdStr: JSON.stringify(this.dealerProductId),
            methodTypeStr: this.pageType,
            editAbleStr: this.editAble,
            consumableorderdetailsRecordsviewStr: JSON.stringify(
                this.consumableorderdetailsRecordsview
            ),
            proLimitAndDateList: this.proLimitAndDate
        })
            .then((result) => {
                if (result.result == 'Success') {
                    this.consumableorderdetailsRecordsview =
                        result.consumableorderdetailsRecordsview;
                    this.currentPage = 1;
                    this.currentRecord = [];
                    this.showCurrentReocrd();
                    this.getAllChecked();
                    this.showSpinner = false;
                    this.errorMsgs = result.errorMsgList;
                    this.warningMsgs = result.warningMsgList;
                    // this.hasError = result.hasError;
                    // this.hasWarning = result.hasWarning;
                    this.showMyToast('搜索成功', result.errorMsg, 'success');
                } else {
                    this.showSpinner = false;
                    console.log('Error:' + result.errorMsg);
                    if (result.errorMsg == '没有搜索到相关数据') {
                        this.showMyToast(result.errorMsg, '', 'error');
                    } else {
                        this.showMyToast('搜索失败', result.errorMsg, 'error');
                    }
                }
            })
            .catch((error) => {
                console.log('Error:' + error);
            });
    }
    //清除搜索栏
    clear(event) {
        this.category1 = '';
        this.category3 = '';
        this.category4 = '';
        this.category5 = '';
        this.showSpinner = true;
        searchConsumableorderdetails({
            userWorkLocationStr: this.userWorkLocation,
            agencyProTypeStr: this.agencyProType,
            accountNameStr: this.accountName,
            accountIdStr: this.accountid,
            contractIdStr: this.contractId,
            hospitalIdStr: this.hospitalId,
            category1Str: this.category1,
            category3Str: this.category3,
            category4Str: this.category4,
            category5Str: this.category5,
            category_GoodStr: this.category_Goods,
            specialCampaignStr: this.specialCampaign,
            dealerProductIdStr: JSON.stringify(this.dealerProductId),
            methodTypeStr: this.pageType,
            editAbleStr: this.editAble,
            consumableorderdetailsRecordsviewStr: JSON.stringify(
                this.consumableorderdetailsRecordsview
            ),
            proLimitAndDateList: this.proLimitAndDate
        }).then((result) => {
            if (result.result == 'Success') {
                this.consumableorderdetailsRecordsview =
                    result.consumableorderdetailsRecordsview;
                this.currentPage = 1;
                this.currentRecord = [];
                this.showCurrentReocrd();
                this.getAllChecked();
                this.showSpinner = false;
                this.showMyToast('搜索成功', result.errorMsg, 'success');
            } else {
                this.showSpinner = false;
                console.log('Error:' + result.errorMsg);
                if (result.errorMsg == '没有搜索到相关数据') {
                    this.showMyToast(result.errorMsg, '', 'error');
                } else {
                    this.showMyToast('搜索失败', result.errorMsg, 'error');
                }
            }
        });
    }
    //选择所有
    checkAll(event) {
        for (
            let i = 0, len = this.consumableorderdetailsRecordsview.length;
            i < len;
            i++
        ) {
            this.consumableorderdetailsRecordsview[i].check =
                event.target.checked;
        }
    }
    //选择
    check(event) {
        let index = event.target.getAttribute('data-index');
        this.consumableorderdetailsRecordsview[index].check =
            event.target.checked;
    }
    //采购数量change事件
    // consumableCountChange(event){
    //    let index = event.target.getAttribute("data-index");
    //    var value = event.target.value;
    //    this.consumableorderdetailsRecordsview[index].esd.Consumable_count__c = value;
    //    if(isNaN(value)){
    //       value=0.00;
    //    }
    //    if(value != null && value !=0 && value!=''){
    //       this.consumableorderdetailsRecordsview[index].check = true;
    //    }else{
    //       this.consumableorderdetailsRecordsview[index].check = false;
    //    }
    // }
    //保存订单
    saveOrder(event) {
        this.showSpinner = true;
        console.log('start save');
        save({
            contractNameStr: this.contractName,
            cocStr: JSON.stringify(this.coc),
            agencyProTypeStr: this.agencyProType,
            accountidStr: this.accountid,
            consumableorderdetailsRecordsviewStr: JSON.stringify(
                this.consumableorderdetailsRecordsview
            ),
            contactDealerStr: JSON.stringify(this.contactDealer),
            methodTypeStr: this.pageType,
            eSetIdStr: this.esetId,
            hospitalIdStr: this.hospitalId,
            contractIdStr: this.contractId,
            agencyProType1Str: this.agencyProType1,
            OSHFLGStr: this.OSHFLG
        }).then((result) => {
         })
         .catch(error=>{
            this.showSpinner = false;
            if (result.result == 'Success') {
                this.esetId = result.eSetId;
                const config = {
                    type: 'standard__webPage',
                    attributes: {
                        url:
                            '/lexconsumable?ESetid=' +
                            this.esetId +
                            '&type=' +
                            this.pageType
                    }
                };
                this[NavigationMixin.Navigate](config);
            } else {
                this.showSpinner = false;
                console.log('Error:' + result.errorMsg);
                this.showMyToast('保存失败', result.errorMsg, 'error');
            console.log("error:"+error);
            this.showMyToast('初始化页面失败',error,'error');
         })
   }
   //排序
   onHandleSort(event){
      //将已经选好了的放到前面,不进行排序
      console.log('sort');
      if(this.editAble){
         const { fieldName: sortedBy, sortDirection } = event.detail;
         const cloneData = [...this.currentRecord];
         cloneData.sort(this.sortBy(sortedBy, sortDirection === 'asc' ? 1 : -1));
         let index = 0;
         let selectedRows = this.template.querySelector('c-lex-custom-lightning-datatable').getSelectedRows();
         let selectedRowsIds = [];
         for(var i in selectedRows){
            selectedRowsIds.push(selectedRows[i].recordId);
         }
         console.log('selectedRowsIds = ' + JSON.stringify(selectedRowsIds));
         for(var i = 0;i < cloneData.length ; i++){
            if(selectedRowsIds.indexOf(cloneData[i].recordId) != -1){
               if(i != 0){
                  let temp = cloneData[index];
                  cloneData[index] = cloneData[i];
                  cloneData[i] = temp;
               }
               index++;
            }
        });
    }
         }
         this.currentRecord = cloneData;
         this.sortDirection = sortDirection;
         this.sortedBy = sortedBy;
      }else{
         const { fieldName: sortedBy, sortDirection } = event.detail;
         const cloneData = [...this.currentRecord];
         cloneData.sort(this.sortBy(sortedBy, sortDirection === 'asc' ? 1 : -1));
         this.currentRecord = cloneData;
         this.sortDirection = sortDirection;
         this.sortedBy = sortedBy;
      }
   }
    //保存订单(驳回)
    orderCopy(event) {
        this.showSpinner = true;
        ordrCopy({
            contractNameStr: this.contractName,
            cocStr: JSON.stringify(this.coc),
            agencyProTypeStr: this.agencyProType,
            accountidStr: this.accountid,
            consumableorderdetailsRecordsviewStr: JSON.stringify(
                this.consumableorderdetailsRecordsview
            ),
            contactDealerStr: JSON.stringify(this.contactDealer),
            methodTypeStr: this.pageType,
            hospitalIdStr: this.hospitalId,
            contractIdStr: this.contractId,
            agencyProType1Str: this.agencyProType1,
            OSHFLGStr: this.OSHFLG
        }).then((result) => {
            this.showSpinner = false;
            if (result.result == 'Success') {
                this.esetId = result.eSetId;
                const config = {
                    type: 'standard__webPage',
                    attributes: {
                        url:
                            '/lexconsumable?ESetid=' +
                            this.esetId +
                            '&type=' +
                            this.pageType
                    }
                };
                this[NavigationMixin.Navigate](config);
            } else {
                this.showSpinner = false;
                console.log('Error:' + result.errorMsg);
                this.showMyToast('保存失败', result.errorMsg, 'error');
   sortBy(field, reverse, primer) {
      const key = primer
          ? function (x) {
                return primer(x[field]);
            }
        });
    }
    //编辑
    editOrder(event) {
        setEditAble({ eSetidStr: this.esetId }).then((result) => {
            if (result.result == 'Success') {
                const config = {
                    type: 'standard__webPage',
                    attributes: {
                        url: result.url
                    }
                };
                this[NavigationMixin.Navigate](config);
            } else {
                this.showSpinner = false;
                console.log('Error:' + result.errorMsg);
                this.showMyToast('编辑失败', result.errorMsg, 'error');
            }
        });
    }
    //打印配置单
    printOrder(event) {
        var site = window.location.origin;
        const config = {
            type: 'standard__webPage',
            attributes: {
                url:
                    site + '/consumable/PrintConsumblePDF?ESetid=' + this.esetId
            }
        };
        this[NavigationMixin.Navigate](config);
    }
    //上传配置单
    uploadOrder(event) {
        this.showAttPop = true;
    }
    //提交订单
    submitOrder(event) {
        sorder({ eSetidStr: this.esetId, accountidStr: this.accountid })
            .then((result) => {
                if (result.result == 'Success') {
                    const config = {
                        type: 'standard__webPage',
                        attributes: {
                            url: result.url
                        }
                    };
                    this[NavigationMixin.Navigate](config);
                } else {
                    this.showSpinner = false;
                    this.errorMsgs = result.errorMsgList;
                    this.warningMsgs = result.warningMsgList;
                    console.log('Error:' + result.errorMsg);
                    if (result.errorMsg.indexOf('请上传订货配置单附件') != -1) {
                        result.errorMsg = '请上传订货配置单附件';
                    }
                    this.showMyToast('提交失败', result.errorMsg, 'error');
                }
            })
            .catch((error) => {
                console.log('Error:' + error);
            });
    }
    //删除订单
    deleteOrder(event) {
        if (!window.confirm('删除是不可恢复的,你确认要删除吗?')) {
            return;
        }
        delConsumable({ eSetidStr: this.esetId }).then((result) => {
            if (result.result == 'Success') {
                const config = {
                    type: 'standard__webPage',
                    attributes: {
                        url: result.url
                    }
                };
                this[NavigationMixin.Navigate](config);
            } else {
                this.showSpinner = false;
                console.log('Error:' + result.errorMsg);
                this.showMyToast('删除失败', result.errorMsg, 'error');
            }
        });
    }
    //特价金额录入
    inputOfferPrice(event) {
        this.edoffersPrice = true;
        if (!(this.editAble || this.edoffersPrice)) {
            this.showEditBtn = true;
            this.showOfferPriceInputBtn = true;
        } else {
            this.showEditBtn = false;
            this.showOfferPriceInputBtn = false;
        }
        if (
            !(
                this.editDelCommitBtnDisabled ||
                this.editAble ||
                this.edoffersPrice
            )
        ) {
            this.showPrintSheetBtn = true;
            this.showUploadSheetBtn = true;
            this.showSubOrderbtn = true;
            this.showDeleteBtn = true;
        } else {
            this.showPrintSheetBtn = false;
            this.showUploadSheetBtn = false;
            this.showSubOrderbtn = false;
            this.showDeleteBtn = false;
        }
        if (
            (this.editDelCommitBtnDisabled ||
                this.editAble ||
                this.edoffersPrice) &&
            this.coc.Order_status__c != '驳回'
        ) {
            this.showSaveOrderbtn1 = true;
        } else {
            this.showSaveOrderbtn1 = false;
        }
    }
    //再申请
    reapplyOrder(event) {
        backOrder({ eSetidStr: this.esetId }).then((result) => {
            if (result.result == 'Success') {
                const config = {
                    type: 'standard__webPage',
                    attributes: {
                        url: result.url
                    }
                };
                this[NavigationMixin.Navigate](config);
            } else {
                this.showSpinner = false;
                console.log('Error:' + result.errorMsg);
                this.showMyToast('再申请失败', result.errorMsg, 'error');
            }
        });
    }
    //附件change事件
    attChange(event) {
        if (event.target.files.length > 0) {
            this.filesUploaded = event.target.files;
            this.fileName = event.target.files[0].name;
            console.log('this.fileName:' + this.fileName);
        }
    }
    //是否显示附件移除
    get attDelBtn() {
        if (
            this.fileName != '' &&
            this.fileName != null &&
            this.fileName != '请选择一个文件上传'
        ) {
            return true;
        } else {
            return false;
        }
    }
    //关闭附件弹窗
    closePop() {
        this.showAttPop = false;
        this.filesUploaded = [];
        this.fileName = null;
    }
    //移除附件
    removeAtt() {
        this.filesUploaded = [];
        this.fileName = '';
    }
    //上传附件
    uploadAtt(event) {
        if (this.filesUploaded.length > 0) {
            this.file = this.filesUploaded[0];
            if (this.file.size > this.MAX_FILE_SIZE) {
                window.console.log('文件过大');
                return;
            }
            this.fileReader = new FileReader();
            this.fileReader.onloadend = () => {
                this.fileContents = this.fileReader.result;
                let base64 = 'base64,';
                this.content =
                    this.fileContents.indexOf(base64) + base64.length;
                this.fileContents = this.fileContents.substring(this.content);
                this.saveToFile();
          : function (x) {
                return x[field];
            };
            this.fileReader.readAsDataURL(this.file);
        } else {
            this.fileName = '请选择一个文件上传';
        }
    }
    //调用上传附件后台方法
    saveToFile() {
        this.showPopSpinner = true;
        filesUpload({
            pId: this.esetId,
            fileName: this.file.name,
            base64Data: encodeURIComponent(this.fileContents)
        })
            .then((result) => {
                this.showPopSpinner = false;
                if (result.result == 'Success') {
                    this.closePop();
                    window.location.reload();
                } else {
                    console.log('Error:' + result.errorMsg);
                    this.showMyToast('上传失败', result.errorMsg, 'error');
                }
      return function (a, b) {
          a = key(a);
          b = key(b);
          return reverse * ((a > b) - (b > a));
      };
   }
   //是否有警告
   get hasWarning(){
      if(this.warningMsgs == null || this.warningMsgs.length == 0){
         return false;
      }
      if(this.warningMsgs.length > 0){
         return true;
      }
   }
   //是否有错误
   get hasError(){
      if(this.errorMsgs == null || this.errorMsgs.length == 0){
         return false;
      }
      if(this.errorMsgs.length > 0){
         return true;
      }
   }
   //特价change事件
   offerPriceChange(event){
      this.coc.Offers_Price__c = event.detail.value;
   }
   //消耗品名称change事件
   category1Change(event){
      this.category1 = event.detail.value;
   }
   //第三分类change事件
   category3Change(event){
      this.showSpinner = true;
      this.category3 = event.detail.value;
      this.category4 = '';
      this.category5 = '';
      categoryAllload({agencyProTypeStr:this.agencyProType, category3Str:this.category3})
         .then(result=>{
            if(result.result == 'Success'){
               this.category4Option = result.category4Option;
               this.category5Option = result.category5Option;
               this.showSpinner = false;
            }else{
               this.showSpinner = false;
               console.log("Error:"+result.errorMsg);
               this.showMyToast('加载分类失败',result.errorMsg,'error');
            }
         })
   }
   //第四分类change事件
   category4Change(event){
      this.showSpinner = true;
      this.category4 = event.detail.value;
      this.category5 = '';
      categoryload({agencyProTypeStr:this.agencyProType, category3Str:this.category3, category4Str:this.category4})
         .then(result=>{
            if(result.result == 'Success'){
               this.category4Option = result.category4Option;
               this.category5Option = result.category5Option;
               this.showSpinner = false;
            }else{
               this.showSpinner = false;
               console.log("Error:"+result.errorMsg);
               this.showMyToast('加载分类失败',result.errorMsg,'error');
            }
         })
   }
   //第五分类change事件
   category5Change(event){
      this.category5 = event.detail.value;
   }
   //搜索产品
   searchProduct(event){
      this.showSpinner = true;
      searchConsumableorderdetails({userWorkLocationStr:this.userWorkLocation,
         agencyProTypeStr:this.agencyProType,
         accountNameStr:this.accountName,
         accountIdStr:this.accountid,
         contractIdStr:this.contractId,
         hospitalIdStr:this.hospitalId,
         category1Str:this.category1,
         category3Str:this.category3,
         category4Str:this.category4,
         category5Str:this.category5,
         category_GoodStr:this.category_Goods,
         specialCampaignStr:this.specialCampaign,
         dealerProductIdStr:JSON.stringify(this.dealerProductId),
         methodTypeStr:this.pageType,
         editAbleStr:this.editAble,
         consumableorderdetailsRecordsviewStr:JSON.stringify(this.consumableorderdetailsRecordsview),
         proLimitAndDateList : this.proLimitAndDate
      })
            .then(result=>{
               if(result.result == 'Success'){
                  this.consumableorderdetailsRecordsview = result.consumableorderdetailsRecordsview;
                  this.currentPage = 1;
                  this.currentRecord = [];
                  this.showCurrentReocrd();
                  this.getAllChecked();
                  this.showSpinner = false;
                  this.errorMsgs = result.errorMsgList;
                  this.warningMsgs = result.warningMsgList;
                  // this.hasError = result.hasError;
                  // this.hasWarning = result.hasWarning;
                  this.showMyToast('搜索成功',result.errorMsg,'success');
               }else{
                  this.showSpinner = false;
                  console.log("Error:"+result.errorMsg);
                  if(result.errorMsg == '没有搜索到相关数据'){
                     this.showMyToast(result.errorMsg,'','error');
                  }else{
                     this.showMyToast('搜索失败',result.errorMsg,'error');
                  }
               }
            })
            .catch((error) => {
                this.showPopSpinner = false;
                this.showMyToast('上传失败', error, 'error');
            });
    }
    //删除附件
    deleteAtt(event) {
        this.showSpinner = true;
        var recordId = event.target.getAttribute('data-fileid');
        console.log('attid:' + recordId);
        deleteAtt({ contentVersionId: recordId, cocId: this.esetId })
            .then((result) => {
                this.showSpinner = false;
                if (result.result == 'Success') {
                    window.location.reload();
                } else {
                    console.log('Error:' + result.errorMsg);
                    this.showMyToast('删除失败', result.errorMsg, 'error');
                }
            .catch(error=>{
               console.log("Error:"+error);
            })
            .catch((error) => {
                this.showSpinner = false;
                console.log('Error:' + error);
                this.showMyToast('删除失败', JSON.stringify(error), 'error');
            });
    }
   }
    //预览附件
    previweAtt(event) {
        var recordId = event.target.getAttribute('data-fileid');
        console.log(recordId);
        this[NavigationMixin.Navigate]({
            type: 'standard__namedPage',
            attributes: {
                pageName: 'filePreview'
            },
            state: {
                recordIds: recordId,
                selectedRecordId: recordId
   //清除搜索栏
   clear(event){
      this.category1 = '';
      this.category3 = '';
      this.category4 = '';
      this.category5 = '';
      this.showSpinner = true;
      searchConsumableorderdetails({
         userWorkLocationStr:this.userWorkLocation,
         agencyProTypeStr:this.agencyProType,
         accountNameStr:this.accountName,
         accountIdStr:this.accountid,
         contractIdStr:this.contractId,
         hospitalIdStr:this.hospitalId,
         category1Str:this.category1,
         category3Str:this.category3,
         category4Str:this.category4,
         category5Str:this.category5,
         category_GoodStr:this.category_Goods,
         specialCampaignStr:this.specialCampaign,
         dealerProductIdStr:JSON.stringify(this.dealerProductId),
         methodTypeStr:this.pageType,
         editAbleStr:this.editAble,
         consumableorderdetailsRecordsviewStr:JSON.stringify(this.consumableorderdetailsRecordsview),
         proLimitAndDateList : this.proLimitAndDate
      }).then(result=>{
            if(result.result == 'Success'){
               this.consumableorderdetailsRecordsview = result.consumableorderdetailsRecordsview;
               this.currentPage = 1;
               this.currentRecord = [];
               this.showCurrentReocrd();
               this.getAllChecked();
               this.showSpinner = false;
               this.showMyToast('搜索成功',result.errorMsg,'success');
            }else{
               this.showSpinner = false;
               console.log("Error:"+result.errorMsg);
               if(result.errorMsg == '没有搜索到相关数据'){
                  this.showMyToast(result.errorMsg,'','error');
               }else{
                  this.showMyToast('搜索失败',result.errorMsg,'error');
               }
            }
        });
    }
         })
   }
    //打开搜索弹窗,并初始化弹窗
    showSearchHos(event) {
        initHospital()
            .then((result) => {
                if (result.result == 'Success') {
                    this.showAttHosPop = true;
                    this.hospitalList = result.attList;
                    for (var i in this.hospitalList) {
                        if (this.hospitalList[i].State_Master__c) {
                            this.hospitalList[i]['StateMaster'] =
                                this.hospitalList[i].State_Master__r.Name;
                        }
                    }
                } else {
                    console.log('Error:' + result.errorMsg);
                    this.showMyToast(
                        '初始化检索医院页面失败',
                        result.errorMsg,
                        'error'
                    );
                }
   //选择所有
   checkAll(event){
      for(let i=0, len=this.consumableorderdetailsRecordsview.length; i < len ;i++){
         this.consumableorderdetailsRecordsview[i].check = event.target.checked;
      }
   }
   //选择
   check(event){
      let index = event.target.getAttribute("data-index");
      this.consumableorderdetailsRecordsview[index].check = event.target.checked;
   }
   //采购数量change事件
   // consumableCountChange(event){
   //    let index = event.target.getAttribute("data-index");
   //    var value = event.target.value;
   //    this.consumableorderdetailsRecordsview[index].esd.Consumable_count__c = value;
   //    if(isNaN(value)){
   //       value=0.00;
   //    }
   //    if(value != null && value !=0 && value!=''){
   //       this.consumableorderdetailsRecordsview[index].check = true;
   //    }else{
   //       this.consumableorderdetailsRecordsview[index].check = false;
   //    }
   // }
   //保存订单
   saveOrder(event){
      this.showSpinner = true;
      console.log('start save');
      save({
         contractNameStr:this.contractName,
         cocStr:JSON.stringify(this.coc),
         agencyProTypeStr:this.agencyProType,
         accountidStr:this.accountid,
         consumableorderdetailsRecordsviewStr:JSON.stringify(this.consumableorderdetailsRecordsview),
         contactDealerStr:JSON.stringify(this.contactDealer),
         methodTypeStr:this.pageType,
         eSetIdStr:this.esetId,
         hospitalIdStr : this.hospitalId,
         contractIdStr : this.contractId,
         agencyProType1Str : this.agencyProType1,
         OSHFLGStr : this.OSHFLG
      }).then(result=>{
         this.showSpinner = false;
         if(result.result == 'Success'){
            this.esetId = result.eSetId;
            const config = {
               type: 'standard__webPage',
               attributes: {
                  url: '/lexconsumable?ESetid=' + this.esetId + '&type=' + this.pageType
               }
           };
           this[NavigationMixin.Navigate](config);
         }else{
            this.showSpinner = false;
            console.log("Error:"+result.errorMsg);
            this.showMyToast('保存失败',result.errorMsg,'error');
         }
      })
   }
   //保存订单(驳回)
   orderCopy(event){
      this.showSpinner = true;
      ordrCopy({
         contractNameStr:this.contractName,
         cocStr:JSON.stringify(this.coc),
         agencyProTypeStr:this.agencyProType,
         accountidStr:this.accountid,
         consumableorderdetailsRecordsviewStr:JSON.stringify(this.consumableorderdetailsRecordsview),
         contactDealerStr:JSON.stringify(this.contactDealer),
         methodTypeStr:this.pageType,
         hospitalIdStr:this.hospitalId,
         contractIdStr : this.contractId,
         agencyProType1Str : this.agencyProType1,
         OSHFLGStr : this.OSHFLG
      }).then(result=>{
         this.showSpinner = false;
         if(result.result == 'Success'){
            this.esetId = result.eSetId;
            const config = {
               type: 'standard__webPage',
               attributes: {
                   url: '/lexconsumable?ESetid=' + this.esetId + '&type=' + this.pageType
               }
           };
           this[NavigationMixin.Navigate](config);
         }else{
            this.showSpinner = false;
            console.log("Error:"+result.errorMsg);
            this.showMyToast('保存失败',result.errorMsg,'error');
         }
      })
   }
   //编辑
   editOrder(event){
      setEditAble({eSetidStr:this.esetId})
         .then(result=>{
            if(result.result == 'Success'){
               const config = {
                  type: 'standard__webPage',
                  attributes: {
                      url: result.url
                  }
               };
              this[NavigationMixin.Navigate](config);
            }else{
               this.showSpinner = false;
               console.log("Error:"+result.errorMsg);
               this.showMyToast('编辑失败',result.errorMsg,'error');
            }
         })
   }
   //打印配置单
   printOrder(event){
      var site = window.location.origin;
      const config = {
         type: 'standard__webPage',
         attributes: {
            url: site+'/consumable/PrintConsumblePDF?ESetid='+this.esetId
         }
      };
      this[NavigationMixin.Navigate](config);
   }
   //上传配置单
   uploadOrder(event){
      this.showAttPop = true;
   }
   //提交订单
   submitOrder(event){
      sorder({eSetidStr:this.esetId,accountidStr:this.accountid})
         .then(result=>{
            if(result.result == 'Success'){
               const config = {
                  type: 'standard__webPage',
                  attributes: {
                     url: result.url
                  }
               };
               this[NavigationMixin.Navigate](config);
            }else{
               this.showSpinner = false;
               this.errorMsgs = result.errorMsgList;
               this.warningMsgs = result.warningMsgList;
               console.log("Error:"+result.errorMsg);
               if(result.errorMsg.indexOf("请上传订货配置单附件") != -1){
                  result.errorMsg = '请上传订货配置单附件';
               }
               this.showMyToast('提交失败',result.errorMsg,'error');
            }
         })
         .catch(error=>{
            console.log("Error:"+error);
         })
   }
   //删除订单
   deleteOrder(event){
      if(!window.confirm('删除是不可恢复的,你确认要删除吗?')){
         return;
      }
      delConsumable({eSetidStr:this.esetId})
         .then(result=>{
            if(result.result == 'Success'){
               const config = {
                  type: 'standard__webPage',
                  attributes: {
                     url: result.url
                  }
            };
            this[NavigationMixin.Navigate](config);
            }else{
               this.showSpinner = false;
               console.log("Error:"+result.errorMsg);
               this.showMyToast('删除失败',result.errorMsg,'error');
            }
         })
   }
   //特价金额录入
   inputOfferPrice(event){
      this.edoffersPrice = true;
      if(!(this.editAble || this.edoffersPrice)){
         this.showEditBtn = true;
         this.showOfferPriceInputBtn = true;
      }else{
         this.showEditBtn = false;
         this.showOfferPriceInputBtn = false;
      }
      if(!(this.editDelCommitBtnDisabled || this.editAble || this.edoffersPrice)){
         this.showPrintSheetBtn = true;
         this.showUploadSheetBtn = true;
         this.showSubOrderbtn = true;
         this.showDeleteBtn = true;
      }else{
         this.showPrintSheetBtn = false;
         this.showUploadSheetBtn = false;
         this.showSubOrderbtn = false;
         this.showDeleteBtn = false;
      }
      if((this.editDelCommitBtnDisabled || this.editAble || this.edoffersPrice) && this.coc.Order_status__c != "驳回"){
         this.showSaveOrderbtn1 = true;
      }else{
         this.showSaveOrderbtn1 = false;
      }
   }
   //再申请
   reapplyOrder(event){
      backOrder({eSetidStr:this.esetId})
         .then(result=>{
            if(result.result == 'Success'){
               const config = {
                  type: 'standard__webPage',
                  attributes: {
                     url: result.url
                  }
            };
            this[NavigationMixin.Navigate](config);
            }else{
               this.showSpinner = false;
               console.log("Error:"+result.errorMsg);
               this.showMyToast('再申请失败',result.errorMsg,'error');
            }
         })
   }
   //附件change事件
   attChange(event){
      if(event.target.files.length > 0) {
         this.filesUploaded = event.target.files;
         this.fileName = event.target.files[0].name;
         console.log('this.fileName:'+this.fileName);
      }
   }
   //是否显示附件移除
   get attDelBtn(){
      if(this.fileName != '' && this.fileName != null && this.fileName != '请选择一个文件上传'){
         return true;
      }else{
         return false;
      }
   }
   //关闭附件弹窗
   closePop(){
      this.showAttPop = false;
      this.filesUploaded = [];
      this.fileName = null;
   }
   //移除附件
   removeAtt(){
      this.filesUploaded = [];
      this.fileName = '';
   }
   //上传附件
   uploadAtt(event){
      if(this.filesUploaded.length > 0) {
         this.file = this.filesUploaded[0];
         if (this.file.size > this.MAX_FILE_SIZE) {
            window.console.log('文件过大');
            return ;
         }
         this.fileReader= new FileReader();
         this.fileReader.onloadend = (() => {
            this.fileContents = this.fileReader.result;
            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 = '请选择一个文件上传';
      }
   }
   //调用上传附件后台方法
   saveToFile() {
      this.showPopSpinner = true;
      filesUpload({pId:this.esetId, fileName: this.file.name, base64Data: encodeURIComponent(this.fileContents)})
         .then(result => {
            this.showPopSpinner = false;
            if(result.result == 'Success'){
               this.closePop();
               window.location.reload();
            }else{
               console.log("Error:"+result.errorMsg);
               this.showMyToast('上传失败',result.errorMsg,'error');
            }
         })
         .catch(error => {
            this.showPopSpinner = false;
            this.showMyToast('上传失败',error,'error');
         });
   }
   //删除附件
   deleteAtt(event){
      this.showSpinner = true;
      var recordId = event.target.getAttribute("data-fileid");
      console.log('attid:'+recordId);
      deleteAtt({contentVersionId : recordId, cocId : this.esetId})
      .then(result=>{
         this.showSpinner = false;
         if(result.result == 'Success'){
            window.location.reload();
         }else{
            console.log("Error:"+result.errorMsg);
            this.showMyToast('删除失败',result.errorMsg,'error');
         }
      })
      .catch(error=>{
         this.showSpinner = false;
         console.log("Error:"+error);
         this.showMyToast('删除失败',JSON.stringify(error),'error');
      })
   }
   //预览附件
   previweAtt(event){
      var recordId = event.target.getAttribute("data-fileid");
      console.log(recordId);
      this[NavigationMixin.Navigate]({
         type:'standard__namedPage',
         attributes:{
            pageName:'filePreview'
         },
         state:{
            recordIds: recordId,
            selectedRecordId: recordId
         }
      });
   }
   //打开搜索弹窗,并初始化弹窗
   showSearchHos(event){
      initHospital()
         .then(result=>{
            if(result.result == 'Success'){
               this.showAttHosPop = true;
               this.hospitalList = result.attList;
               for(var i in this.hospitalList){
                  if(this.hospitalList[i].State_Master__c){
                     this.hospitalList[i]['StateMaster'] = this.hospitalList[i].State_Master__r.Name;
                  }
               }
            }else{
               console.log("Error:"+result.errorMsg);
               this.showMyToast('初始化检索医院页面失败',result.errorMsg,'error');
            }
         })
         .catch(error=>{
            console.log("Error:"+error);
            this.showMyToast('初始化检索医院页面失败',error,'error');
         })
   }
   //检索医院
   searchHos(event){
      searchHospital({searchName:this.searchNameHos, accountId:this.accountid})
         .then(result=>{
            if(result.result == 'Success'){
               this.hospitalList = result.attList;
               for(var i in this.hospitalList){
                  if(this.hospitalList[i].State_Master__c){
                     this.hospitalList[i]['StateMaster'] = this.hospitalList[i].State_Master__r.Name;
                  }
               }
            }else{
               console.log("Error:"+result.errorMsg);
               this.showMyToast('搜索失败',result.errorMsg,'error');
            }
         })
         .catch(error=>{
            console.log("Error:"+error);
            this.showMyToast('搜索失败',error,'error');
         })
   }
   //医院名称change
   searchNameHosChange(event){
      this.searchNameHos = event.detail.value;
   }
   //关闭弹窗
   closeHospitalPop(){
      this.showAttHosPop = false;
      this.chooseHospital = '';
      this.chooseHospitalId = '';
   }
   // //选择医院
   // chooseHos(event){
   //    var hosName = event.target.getAttribute("data-name");
   //    var hosid = event.target.getAttribute("data-hosid");
   //    console.log('hos:'+hosName+'---'+hosid);
   //    this.chooseHospital = hosName;
   //    this.chooseHospitalId = hosid;
   // }
   changeHos(event){
      this.hospitalName = event.detail.value;
   }
   changeCon(event){
      this.contractName = event.detail.value;
   }
   chooseHos(event){
      const row = event.detail.row;
      this.chooseHospitalId = row.Id;
      this.chooseHospital = row.Name;
      console.log('row.Id:'+row.Id);
      console.log('row.Name:'+row.Name);
      this.confirmHospital();
   }
   //确认选择医院
   confirmHospital(){
      if(this.chooseHospital != '' && this.chooseHospital != null){
         this.hospitalId = this.chooseHospitalId;
         this.tempidHp = this.chooseHospitalId;
         this.hospitalName = this.chooseHospital;
         this.closeHospitalPop();
         //消除警告
         var arr = [];
         for(var i in this.warningMsgs){
            if(this.warningMsgs[i] != '请选择医院'){
               arr.push(this.warningMsgs[i]);
            }
         }
         this.warningMsgs = arr;
         if(this.tempidHp != 'tempId' && this.tempidHp != ''){
            searchorderdetails({
               methodTypeStr : this.pageType,
               accountIdStr : this.accountid,
               hospitalIdStr : this.hospitalId,
               contractIdStr : this.contractId,
               userWorkLocationStr : this.userWorkLocation,
               accountNameStr : this.accountName,
               proLimitAndDateList : this.proLimitAndDate,
               editAbleStr : this.editAble
            }).then(result=>{
               if(result.result == 'Success'){
                  this.consumableorderdetailsRecordsview = result.consumableorderdetailsRecordsview;
                  this.currentPage = 1;
                  this.currentRecord = [];
                  this.showCurrentReocrd();
                  this.getAllChecked();
                  this.showMyToast('搜索成功',result.errorMsg,'success');
               }else{
                  console.log("Error:"+result.errorMsg);
                  if(result.errorMsg == '没有搜索到相关数据'){
                     this.showMyToast(result.errorMsg,'','error');
                  }else{
                     this.showMyToast('搜索产品失败',result.errorMsg,'error');
                  }
               }
            })
            .catch((error) => {
                console.log('Error:' + error);
                this.showMyToast('初始化检索医院页面失败', error, 'error');
            });
    }
    //检索医院
    searchHos(event) {
        searchHospital({
            searchName: this.searchNameHos,
            accountId: this.accountid
        })
            .then((result) => {
                if (result.result == 'Success') {
                    this.hospitalList = result.attList;
                    for (var i in this.hospitalList) {
                        if (this.hospitalList[i].State_Master__c) {
                            this.hospitalList[i]['StateMaster'] =
                                this.hospitalList[i].State_Master__r.Name;
                        }
                    }
                } else {
                    console.log('Error:' + result.errorMsg);
                    this.showMyToast('搜索失败', result.errorMsg, 'error');
                }
            .catch(error=>{
               console.log("Error:"+error);
               this.showMyToast('搜索产品失败',error,'error');
            })
            .catch((error) => {
                console.log('Error:' + error);
                this.showMyToast('搜索失败', error, 'error');
            });
    }
            this.tempidHp = 'tempId';
         }
      }else{
         this.showMyToast('请选择医院','','error');
      }
   }
    //医院名称change
    searchNameHosChange(event) {
        this.searchNameHos = event.detail.value;
    }
    //关闭弹窗
    closeHospitalPop() {
        this.showAttHosPop = false;
        this.chooseHospital = '';
        this.chooseHospitalId = '';
    }
    // //选择医院
    // chooseHos(event){
    //    var hosName = event.target.getAttribute("data-name");
    //    var hosid = event.target.getAttribute("data-hosid");
    //    console.log('hos:'+hosName+'---'+hosid);
    //    this.chooseHospital = hosName;
    //    this.chooseHospitalId = hosid;
    // }
    changeHos(event) {
        this.hospitalName = event.detail.value;
    }
    changeCon(event) {
        this.contractName = event.detail.value;
    }
    chooseHos(event) {
        const row = event.detail.row;
        this.chooseHospitalId = row.Id;
        this.chooseHospital = row.Name;
        console.log('row.Id:' + row.Id);
        console.log('row.Name:' + row.Name);
        this.confirmHospital();
    }
    //确认选择医院
    confirmHospital() {
        if (this.chooseHospital != '' && this.chooseHospital != null) {
            this.hospitalId = this.chooseHospitalId;
            this.tempidHp = this.chooseHospitalId;
            this.hospitalName = this.chooseHospital;
            this.closeHospitalPop();
            //消除警告
            var arr = [];
            for (var i in this.warningMsgs) {
                if (this.warningMsgs[i] != '请选择医院') {
                    arr.push(this.warningMsgs[i]);
                }
   //打开合同检索弹窗并初始化
   showSearchCon(){
      initContract({ctype:this.agencyProType1})
      .then(result=>{
         if(result.result == 'Success'){
            this.showConPop = true;
            this.contractList = result.attList;
            for(var i in this.contractList){
               if(this.contractList[i].State_Master__c){
                  this.contractList[i]['StateMaster'] = this.contractList[i].State_Master__r.Name;
               }
            }
            this.warningMsgs = arr;
            if (this.tempidHp != 'tempId' && this.tempidHp != '') {
                searchorderdetails({
                    methodTypeStr: this.pageType,
                    accountIdStr: this.accountid,
                    hospitalIdStr: this.hospitalId,
                    contractIdStr: this.contractId,
                    userWorkLocationStr: this.userWorkLocation,
                    accountNameStr: this.accountName,
                    proLimitAndDateList: this.proLimitAndDate,
                    editAbleStr: this.editAble
                })
                    .then((result) => {
                        if (result.result == 'Success') {
                            this.consumableorderdetailsRecordsview =
                                result.consumableorderdetailsRecordsview;
                            this.currentPage = 1;
                            this.currentRecord = [];
                            this.showCurrentReocrd();
                            this.getAllChecked();
                            this.showMyToast(
                                '搜索成功',
                                result.errorMsg,
                                'success'
                            );
                        } else {
                            console.log('Error:' + result.errorMsg);
                            if (result.errorMsg == '没有搜索到相关数据') {
                                this.showMyToast(result.errorMsg, '', 'error');
                            } else {
                                this.showMyToast(
                                    '搜索产品失败',
                                    result.errorMsg,
                                    'error'
                                );
                            }
                        }
                    })
                    .catch((error) => {
                        console.log('Error:' + error);
                        this.showMyToast('搜索产品失败', error, 'error');
                    });
                this.tempidHp = 'tempId';
            }
        } else {
            this.showMyToast('请选择医院', '', 'error');
        }
    }
         }else{
            console.log("Error:"+result.errorMsg);
            this.showMyToast('初始化检索合同页面失败',result.errorMsg,'error');
         }
      })
      .catch(error=>{
         console.log("Error:"+error);
         this.showMyToast('初始化检索合同页面失败',error,'error');
      })
   }
    //打开合同检索弹窗并初始化
    showSearchCon() {
        initContract({ ctype: this.agencyProType1 })
            .then((result) => {
                if (result.result == 'Success') {
                    this.showConPop = true;
                    this.contractList = result.attList;
                    for (var i in this.contractList) {
                        if (this.contractList[i].State_Master__c) {
                            this.contractList[i]['StateMaster'] =
                                this.contractList[i].State_Master__r.Name;
                        }
                    }
                } else {
                    console.log('Error:' + result.errorMsg);
                    this.showMyToast(
                        '初始化检索合同页面失败',
                        result.errorMsg,
                        'error'
                    );
                }
   //检索合同
   searchCon(){
      searchContract({searchName:this.searchNameCon, accountId:this.accountid, ctype:this.agencyProType1,OSHFLGStr : this.OSHFLG})
      .then(result=>{
         if(result.result == 'Success'){
            this.contractList = result.attList;
            for(var i in this.contractList){
               if(this.contractList[i].State_Master__c){
                  this.contractList[i]['StateMaster'] = this.contractList[i].State_Master__r.Name;
               }
            }
         }else{
            console.log("Error:"+result.errorMsg);
            this.showMyToast('搜索失败',result.errorMsg,'error');
         }
      })
      .catch(error=>{
         console.log("Error:"+error);
         this.showMyToast('搜索失败',error,'error');
      })
   }
   searchNameConChange(event){
      this.searchNameCon = event.detail.value;
   }
   //关闭弹窗
   closeContractPop(){
      this.showConPop = false;
      this.chooseContract = '';
      this.chooseContractId = '';
   }
   //选择合同
   // chooseCon(event){
   //    var conName = event.target.getAttribute("data-name");
   //    var conid = event.target.getAttribute("data-hosid");
   //    console.log('hos:'+conName+'---'+conid);
   //    this.chooseContract = conName;
   //    this.chooseContractId = conid;
   // }
   chooseCon(event){
      const row = event.detail.row;
      this.chooseContractId = row.Id;
      this.chooseContract = row.Name;
      console.log('row.Id:'+row.Id);
      console.log('row.Name:'+row.Name);
      this.confirmContract();
   }
   //确认选择合同
   confirmContract(){
      if(this.chooseContract != '' && this.chooseContract != null){
         this.contractId = this.chooseContractId;
         this.tempidPp = this.chooseContractId;
         this.contractName = this.chooseContract;
         this.closeContractPop();
         if(this.tempidPp != 'tempId' && this.tempidPp != '' && this.contractId != '' && this.pageType == 'promotionorder'){
            searchorderdetails({
               methodTypeStr : this.pageType,
               accountIdStr : this.accountid,
               hospitalIdStr : this.hospitalId,
               contractIdStr : this.contractId,
               userWorkLocationStr : this.userWorkLocation,
               accountNameStr : this.accountName,
               proLimitAndDateList : this.proLimitAndDate,
               editAbleStr : this.editAble
            }).then(result=>{
               if(result.result == 'Success'){
                  this.consumableorderdetailsRecordsview = result.consumableorderdetailsRecordsview;
                  this.currentPage = 1;
                  this.currentRecord = [];
                  this.showCurrentReocrd();
                  this.getAllChecked();
                  this.showMyToast('搜索成功',result.errorMsg,'success');
               }else{
                  console.log("Error:"+result.errorMsg);
                  if(result.errorMsg == '没有搜索到相关数据'){
                     this.showMyToast(result.errorMsg,'','error');
                  }else{
                     this.showMyToast('搜索产品失败',result.errorMsg,'error');
                  }
               }
            })
            .catch((error) => {
                console.log('Error:' + error);
                this.showMyToast('初始化检索合同页面失败', error, 'error');
            });
    }
    //检索合同
    searchCon() {
        searchContract({
            searchName: this.searchNameCon,
            accountId: this.accountid,
            ctype: this.agencyProType1,
            OSHFLGStr: this.OSHFLG
        })
            .then((result) => {
                if (result.result == 'Success') {
                    this.contractList = result.attList;
                    for (var i in this.contractList) {
                        if (this.contractList[i].State_Master__c) {
                            this.contractList[i]['StateMaster'] =
                                this.contractList[i].State_Master__r.Name;
                        }
                    }
                } else {
                    console.log('Error:' + result.errorMsg);
                    this.showMyToast('搜索失败', result.errorMsg, 'error');
                }
            .catch(error=>{
               console.log("Error:"+error);
               this.showMyToast('搜索产品失败',error,'error');
            })
            .catch((error) => {
                console.log('Error:' + error);
                this.showMyToast('搜索失败', error, 'error');
            });
    }
            this.tempidPp = 'tempId';
         }
      }else{
         this.showMyToast('请选择合同','','error');
      }
   }
    searchNameConChange(event) {
        this.searchNameCon = event.detail.value;
    }
   showMyToast(title, message, variant) {
      console.log('show custom message');
      var iconName = '';
      var content = '';
      if(variant == 'success'){
         iconName = 'utility:check';
      }else{
         iconName = 'utility:error';
      }
      if(message != ''){
         content = '<h2><strong>'+title+'<strong/></h2><h5>'+message+'</h5>';
      }else{
         content = '<h2><strong>'+title+'<strong/></h2>';
      }
      this.template.querySelector('c-common-toast').
      showToast(variant,content,iconName,10000);
      // var mode;
      // if(this.isNoteStay){
      //     mode ='sticky';
      // }else{
      //     mode = 'dismissable';
      // }
      // const evt = new ShowToastEvent({
      //     title: title,
      //     message: message,
      //     variant: variant,
      //     mode: mode
      // });
      // this.dispatchEvent(evt);
   }
    //关闭弹窗
    closeContractPop() {
        this.showConPop = false;
        this.chooseContract = '';
        this.chooseContractId = '';
    }
    //选择合同
    // chooseCon(event){
    //    var conName = event.target.getAttribute("data-name");
    //    var conid = event.target.getAttribute("data-hosid");
    //    console.log('hos:'+conName+'---'+conid);
    //    this.chooseContract = conName;
    //    this.chooseContractId = conid;
    // }
    chooseCon(event) {
        const row = event.detail.row;
        this.chooseContractId = row.Id;
        this.chooseContract = row.Name;
        console.log('row.Id:' + row.Id);
        console.log('row.Name:' + row.Name);
        this.confirmContract();
    }
    //确认选择合同
    confirmContract() {
        if (this.chooseContract != '' && this.chooseContract != null) {
            this.contractId = this.chooseContractId;
            this.tempidPp = this.chooseContractId;
            this.contractName = this.chooseContract;
            this.closeContractPop();
            if (
                this.tempidPp != 'tempId' &&
                this.tempidPp != '' &&
                this.contractId != '' &&
                this.pageType == 'promotionorder'
            ) {
                searchorderdetails({
                    methodTypeStr: this.pageType,
                    accountIdStr: this.accountid,
                    hospitalIdStr: this.hospitalId,
                    contractIdStr: this.contractId,
                    userWorkLocationStr: this.userWorkLocation,
                    accountNameStr: this.accountName,
                    proLimitAndDateList: this.proLimitAndDate,
                    editAbleStr: this.editAble
                })
                    .then((result) => {
                        if (result.result == 'Success') {
                            this.consumableorderdetailsRecordsview =
                                result.consumableorderdetailsRecordsview;
                            this.currentPage = 1;
                            this.currentRecord = [];
                            this.showCurrentReocrd();
                            this.getAllChecked();
                            this.showMyToast(
                                '搜索成功',
                                result.errorMsg,
                                'success'
                            );
                        } else {
                            console.log('Error:' + result.errorMsg);
                            if (result.errorMsg == '没有搜索到相关数据') {
                                this.showMyToast(result.errorMsg, '', 'error');
                            } else {
                                this.showMyToast(
                                    '搜索产品失败',
                                    result.errorMsg,
                                    'error'
                                );
                            }
                        }
                    })
                    .catch((error) => {
                        console.log('Error:' + error);
                        this.showMyToast('搜索产品失败', error, 'error');
                    });
                this.tempidPp = 'tempId';
   //分页
   showCurrentReocrd(){
      var startIndex = 0;
      var endIndex = 0;
      console.log('len:'+this.consumableorderdetailsRecordsview.length);
      if(this.consumableorderdetailsRecordsview != null && this.consumableorderdetailsRecordsview.length > 0){
         var currentRecord = [];
         var currentCount = 0;
         var mu = this.consumableorderdetailsRecordsview.length % this.pageSize;
         if(this.currentPage == this.totalPage){
            if(mu != 0){
               currentCount = mu;
            }else{
               currentCount = this.pageSize;
            }
        } else {
            this.showMyToast('请选择合同', '', 'error');
        }
    }
    showMyToast(title, message, variant) {
        console.log('show custom message');
        var iconName = '';
        var content = '';
        if (variant == 'success') {
            iconName = 'utility:check';
        } else {
            iconName = 'utility:error';
        }
        if (message != '') {
            content =
                '<h2><strong>' +
                title +
                '<strong/></h2><h5>' +
                message +
                '</h5>';
        } else {
            content = '<h2><strong>' + title + '<strong/></h2>';
        }
        this.template
            .querySelector('c-common-toast')
            .showToast(variant, content, iconName, 10000);
        // var mode;
        // if(this.isNoteStay){
        //     mode ='sticky';
        // }else{
        //     mode = 'dismissable';
        // }
        // const evt = new ShowToastEvent({
        //     title: title,
        //     message: message,
        //     variant: variant,
        //     mode: mode
        // });
        // this.dispatchEvent(evt);
    }
    //分页
    showCurrentReocrd() {
        var startIndex = 0;
        var endIndex = 0;
        console.log('len:' + this.consumableorderdetailsRecordsview.length);
        if (
            this.consumableorderdetailsRecordsview != null &&
            this.consumableorderdetailsRecordsview.length > 0
        ) {
            var currentRecord = [];
            var currentCount = 0;
            var mu =
                this.consumableorderdetailsRecordsview.length % this.pageSize;
            if (this.currentPage == this.totalPage) {
                if (mu != 0) {
                    currentCount = mu;
                } else {
                    currentCount = this.pageSize;
                }
            } else {
                currentCount = this.pageSize;
         }else{
            currentCount = this.pageSize;
         }
         console.log('this.totalPage:'+this.totalPage);
         console.log('this.pageSize:'+this.pageSize);
         console.log('mu:'+mu);
         console.log('currentCount:'+currentCount);
         startIndex = (this.currentPage - 1) * this.pageSize;
         endIndex = parseInt(startIndex) + parseInt(currentCount) - 1;
         console.log('startIndex:'+startIndex);
         console.log('endIndex:'+endIndex);
         if(this.editAble){
            for(var i in this.currentRecord){
               if(this.currentRecord[i].check){
                  currentRecord.push(this.currentRecord[i]);
               }
            }
            console.log('this.totalPage:' + this.totalPage);
            console.log('this.pageSize:' + this.pageSize);
            console.log('mu:' + mu);
            console.log('currentCount:' + currentCount);
            startIndex = (this.currentPage - 1) * this.pageSize;
            endIndex = parseInt(startIndex) + parseInt(currentCount) - 1;
            console.log('startIndex:' + startIndex);
            console.log('endIndex:' + endIndex);
            if (this.editAble) {
                for (var i in this.currentRecord) {
                    if (this.currentRecord[i].check) {
                        currentRecord.push(this.currentRecord[i]);
                    }
                }
         }
         for(var i = startIndex; i <= endIndex; i++){
            var count  = 0;
            for(var j in this.currentRecord){
               if(this.consumableorderdetailsRecordsview[i].recordId == this.currentRecord[j].recordId){
                  count++;
               }
            }
            for (var i = startIndex; i <= endIndex; i++) {
                var count = 0;
                for (var j in this.currentRecord) {
                    if (
                        this.consumableorderdetailsRecordsview[i].recordId ==
                        this.currentRecord[j].recordId
                    ) {
                        count++;
                    }
                }
                if (count == 0) {
                    currentRecord.push(
                        this.consumableorderdetailsRecordsview[i]
                    );
                }
            if(count == 0){
               currentRecord.push(this.consumableorderdetailsRecordsview[i]);
            }
            this.recordStart = startIndex + 1;
            this.recordEnd = endIndex + 1;
            this.currentRecord = currentRecord;
        } else {
            this.currentPage = 0;
            this.currentRecord = [];
        }
    }
         }
         this.recordStart = startIndex + 1;
         this.recordEnd = endIndex + 1;
         this.currentRecord = currentRecord;
      }else{
         this.currentPage = 0;
         this.currentRecord = [];
      }
   }
    get prePage() {
        return this.currentPage - 1;
    }
   get prePage(){
      return this.currentPage - 1;
   }
    get nextPage() {
        return this.currentPage + 1;
    }
   get nextPage(){
      return this.currentPage + 1;
   }
    get totalPage() {
        if (
            this.consumableorderdetailsRecordsview.length % this.pageSize ==
            0
        ) {
            return Math.trunc(
                this.consumableorderdetailsRecordsview.length / this.pageSize
            );
        } else {
            return (
                Math.trunc(
                    this.consumableorderdetailsRecordsview.length /
                        this.pageSize
                ) + 1
            );
        }
    }
   get totalPage(){
      if(this.consumableorderdetailsRecordsview.length % this.pageSize == 0){
         return Math.trunc(this.consumableorderdetailsRecordsview.length / this.pageSize);
      }else{
         return Math.trunc(this.consumableorderdetailsRecordsview.length / this.pageSize) + 1;
      }
   }
    get totalRecords() {
        return this.consumableorderdetailsRecordsview.length;
    }
   get totalRecords(){
      return this.consumableorderdetailsRecordsview.length;
   }
    //第一页
    goFirstPage() {
        this.currentPage = 1;
        this.showCurrentReocrd();
    }
   //第一页
   goFirstPage(){
      this.currentPage = 1;
      this.showCurrentReocrd();
   }
    //最后一页
    goLastPage() {
        this.currentPage = this.totalPage;
        this.showCurrentReocrd();
    }
   //最后一页
   goLastPage(){
      this.currentPage = this.totalPage;
      this.showCurrentReocrd();
   }
    //上一页
    prePageClick() {
        this.currentPage = this.currentPage - 1;
        this.showCurrentReocrd();
    }
   //上一页
   prePageClick(){
      this.currentPage = this.currentPage - 1;
      this.showCurrentReocrd();
   }
    //下一页
    nextPageClick() {
        this.currentPage = this.currentPage + 1;
        this.showCurrentReocrd();
    }
   //下一页
   nextPageClick(){
      this.currentPage = this.currentPage + 1;
      this.showCurrentReocrd();
   }
    //page size change
    pageSizeChange(event) {
        console.log('pagesize:' + event.detail);
        this.pageSize = event.detail;
        this.currentPage = 1;
        this.currentRecord = [];
        this.showCurrentReocrd();
    }
   //page size change
   pageSizeChange(event){
      console.log('pagesize:'+event.detail);
      this.pageSize = event.detail;
      this.currentPage = 1;
      this.currentRecord = [];
      this.showCurrentReocrd();
   }
   //上一页按钮是否disable
   get previousButtonDisabled() {
      return this.currentPage == 1 || this.currentPage == 0;
   }
    //上一页按钮是否disable
    get previousButtonDisabled() {
        return this.currentPage == 1 || this.currentPage == 0;
    }
    //下一页按钮是否disable
    get nextButtonDisabled() {
        return this.currentPage == this.totalPage;
    }
   //下一页按钮是否disable
   get nextButtonDisabled() {
      return this.currentPage == this.totalPage;
   }
}