buli
2023-07-14 e6068da47c1bef5517c9e5fdc8c726766867ad4e
force-app/main/default/lwc/lexinventoryViewLWC/lexinventoryViewLWC.js
@@ -1,335 +1,366 @@
import { LightningElement, wire, api, track } from 'lwc';
import oninit from "@salesforce/apex/LexInventoryViewController.init";
import { ShowToastEvent } from "lightning/platformShowToastEvent";
import searchOrder from "@salesforce/apex/LexInventoryViewController.searchConsumableorderdetails";
import categoryAllload from "@salesforce/apex/LexInventoryViewController.categoryAllload";
import { NavigationMixin } from "lightning/navigation";
import oninit from '@salesforce/apex/LexInventoryViewController.init';
import { ShowToastEvent } from 'lightning/platformShowToastEvent';
import searchOrder from '@salesforce/apex/LexInventoryViewController.searchConsumableorderdetails';
import categoryAllload from '@salesforce/apex/LexInventoryViewController.categoryAllload';
import { NavigationMixin } from 'lightning/navigation';
//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 LexinventoryViewLWC extends NavigationMixin(
    LightningElement
) {
    //分页start
    @track sortBy = '';
    //@track sortDirection = "asc";
    @track pageSize = 200;
    error;
    records;
    currentPageToken = 0;
    nextPageToken = this.pageSize;
    @track totalRecords = 0;
    @track loader = false;
    @track pageNumber = 1;
    @track paginationVisibility = false;
    @track totalPages = 1;
    pageSizeOptions = [100, 200, 300];
    @track recordStart = 0;
    @track recordEnd = 0;
    //end
export default class LexinventoryViewLWC extends NavigationMixin(LightningElement) {
   //分页start
   @track sortBy = "";
   //@track sortDirection = "asc";
   @track pageSize = 10;
   error;
   records;
   currentPageToken = 0;
   nextPageToken = this.pageSize;
   @track totalRecords = 0;
   @track loader = false;
   @track pageNumber = 1;
   @track paginationVisibility = false;
   @track totalPages = 1;
   pageSizeOptions = [10,25,50,100];
   @track recordStart = 0;
   @track recordEnd = 0;
   //end
    @track data = [];
    @track message = '';
    @track Name;
    @track CategoryThree;
   @track data = [];
   @track message = "";
   @track Name;
   @track CategoryThree;
    @track category3Options = [];
    @track CategoryFour;
    @track category4Options = [];
    @track CategoryFive;
    @track category5Options = [];
    @track orderDetZaikuList = [];
    @track accountName;
    @track agencyProType;
    @track userWorkLocation;
    @track value = '';
    @track showTable = false;
    @track hidecheckboxcolumn = true;
    @track check = false;
    @track productkucun;
    //加载
    @track showSpinner = false;
    @track showSpinners = false;
    //医院特价
    @track hasHos = false;
    //表头样式
    stylesLoaded = false;
   @track category3Options = [];
   @track CategoryFour;
   @track category4Options = [];
   @track CategoryFive;
   @track category5Options = [];
   @track orderDetZaikuList = [];
   @track accountName;
   @track agencyProType;
   @track userWorkLocation;
   @track value = "";
   @track showTable = false;
   @track hidecheckboxcolumn = true;
   @track check = false;
   @track productkucun;
   //加载
   @track showSpinner = false;
   @track showSpinners = false;
   //医院特价
   @track hasHos = false;
   //表头样式
   stylesLoaded = false;
    @track columns = [
        {
            label: '消耗品名称',
            fieldName: 'Name__c',
            type: 'Name',
            sortable: true,
            hideDefaultActions: true,
            // initialWidth: 200,
            wrapText: true,
            cellAttributes: { alignment: 'left' }
        },
        {
            label: '第三分类',
            fieldName: 'Category3__c',
            initialWidth: 102,
            cellAttributes: { alignment: 'left' },
            hideDefaultActions: true,
            sortable: true,
            wrapText: true
        },
        {
            label: '第四分类',
            fieldName: 'Category4__c',
            cellAttributes: { alignment: 'left' },
            initialWidth: 102,
            hideDefaultActions: true,
            wrapText: true,
            sortable: true
        },
        {
            label: '第五分类',
            fieldName: 'Category5__c',
            cellAttributes: { alignment: 'left' },
            initialWidth: 102,
            hideDefaultActions: true,
            wrapText: true,
            sortable: true
        },
        {
            label: '规格',
            fieldName: 'packing_list',
            cellAttributes: { alignment: 'right' },
            initialWidth: 50,
            wrapText: true,
            hideDefaultActions: true
        },
        {
            label: '单位',
            fieldName: 'BoxPiece',
            cellAttributes: { alignment: 'left' },
            initialWidth: 50,
            wrapText: true,
            hideDefaultActions: true
        },
        {
            label: '注册证编码号',
            fieldName: 'approbation_No',
            cellAttributes: { alignment: 'left' },
            wrapText: true,
            initialWidth: 104,
            hideDefaultActions: true
        },
        {
            label: '注册有效期',
            fieldName: 'expiration_Date',
            cellAttributes: { alignment: 'left' },
            wrapText: true,
            hideDefaultActions: true,
            initialWidth: 95
        },
        {
            label: 'CFDA状态',
            fieldName: 'SFDA_Status__c',
            cellAttributes: { alignment: 'left' },
            initialWidth: 84,
            wrapText: true,
            hideDefaultActions: true
        },
        {
            label: '使用期限',
            fieldName: 'guaranteeperiod',
            cellAttributes: { alignment: 'left' },
            hideDefaultActions: true,
            initialWidth: 95
        },
        {
            label: '有效期内库存',
            type: 'customInventoryColor',
            fieldName: 'limitCount',
            sortable: true,
            cellAttributes: { alignment: 'right' },
            typeAttributes: {
                value: { fieldName: 'limitCount' },
                upperlimit: { fieldName: 'upperlimit' },
                lowerlimit: { fieldName: 'lowerlimit' },
                boxPrice: { fieldName: 'BoxPiece' }
            },
            hideDefaultActions: true,
            initialWidth: 110
        },
   @track columns = [
      {
         label: "消耗品名称",
         fieldName: "Name__c",
         type: "Name",
         sortable: true,
         hideDefaultActions: true,
         initialWidth: 300,
         wrapText: true,
         cellAttributes: { alignment: "left" }
      },
      {
         label: "第三分类",
         fieldName: "Category3__c",
         initialWidth: 120,
         cellAttributes: { alignment: "left" },
         hideDefaultActions: true,
         sortable: true,
         wrapText: true,
      },
      {
         label: "第四分类",
         fieldName: "Category4__c",
         cellAttributes: { alignment: "left" },
         initialWidth: 120,
         hideDefaultActions: true,
         wrapText: true,
         sortable: true,
      },
      {
         label: "第五分类",
         fieldName: "Category5__c",
         cellAttributes: { alignment: "left" },
         initialWidth: 120,
         hideDefaultActions: true,
         wrapText: true,
         sortable: true,
      },
      {
         label: "规格",
         fieldName: "packing_list",
         cellAttributes: { alignment: "right" },
         initialWidth: 55,
         wrapText: true,
         hideDefaultActions: true,
      },
      {
         label: "单位",
         fieldName: "BoxPiece",
         cellAttributes: { alignment: "left" },
         initialWidth: 55,
         wrapText: true,
         hideDefaultActions: true,
      },
      {
         label: "注册证编码号",
         fieldName: "approbation_No",
         cellAttributes: { alignment: "left" },
         wrapText: true,
         initialWidth: 200,
         hideDefaultActions: true,
      },
      {
         label: "注册有效期",
         fieldName: "expiration_Date",
         cellAttributes: { alignment: "left" },
         wrapText: true,
         hideDefaultActions: true,
         initialWidth: 110
      },
      {
         label: "CFDA状态",
         fieldName: "SFDA_Status__c",
         cellAttributes: { alignment: "left" },
         initialWidth: 95,
         wrapText: true,
         hideDefaultActions: true,
      },
      {
         label: "使用期限",
         fieldName: "guaranteeperiod",
         cellAttributes: { alignment: "left" },
         hideDefaultActions: true,
         initialWidth: 105
      },
      {
         label:'有效期内库存',
         type: "customInventoryColor",
         fieldName: "limitCount",
         sortable: true,
         cellAttributes: {alignment: "right" },
         typeAttributes: {
         value: { fieldName:"limitCount"},
         upperlimit: { fieldName: "upperlimit" },
         lowerlimit: { fieldName: "lowerlimit" },
         boxPrice:{ fieldName: "BoxPiece" },
         },
         hideDefaultActions: true,
         initialWidth:150
      },
        {
            label: '过期库存',
            fieldName: 'overlimitCount',
            hideDefaultActions: true,
            cellAttributes: { alignment: 'right' },
            initialWidth: 78
        }
    ];
    defaultSortDirection = 'asc';
    sortDirection = 'asc';
    sortedBy;
      {
         label: "过期库存",
         fieldName: "overlimitCount",
         hideDefaultActions: true,
         cellAttributes: { alignment: "right" },
         initialWidth:80
      }
   ];
   defaultSortDirection = "asc";
   sortDirection = "asc";
   sortedBy;
    renderedCallback() {
        if (!this.stylesLoaded) {
            Promise.all([loadStyle(this, WrappedHeaderTable)])
                .then(() => {
                    console.log("Custom styles loaded");
                    console.log('Custom styles loaded');
                    this.stylesLoaded = true;
                })
                .catch((error) => {
                    console.error("Error loading custom styles");
                    console.error('Error loading custom styles');
                });
        }
    }
   connectedCallback() {
      this.loader = true;
      this.init();
   }
    connectedCallback() {
        this.loader = true;
        this.init();
    }
   init() {
      this.showSpinner = true;
      oninit({
         pageSizeLWC: this.pageSize,
         pageTokenLWC: this.currentPageToken,
         sortFieldLWC: this.sortBy,
         sortOrderLWC: this.sortDirection
      }).then((result) => {
         result = JSON.parse(JSON.stringify(result));
         console.log("result.pageRecords = " + JSON.stringify(result.entity.pageRecords));
         console.log("result.consumableorderdetailsRecords = " + JSON.stringify(result.entity.consumableorderdetailsRecords));
         console.log("result.status = " + result.status);
         console.log("result = " + JSON.stringify(result));
         console.log("result 1= " + JSON.stringify(result.entity));
         console.log("result 2= " + JSON.stringify(result.entity.pageRecords));
         if (result.status == "Success") {
            console.log('result.entity.paginatedAccounts = ' + JSON.stringify(result.entity.paginatedAccounts));
            this.nextPageToken = result.entity.paginatedAccounts.nextPageToken;
            this.totalRecords = result.entity.paginatedAccounts.totalRecords;
            this.recordStart = result.entity.paginatedAccounts.recordStart;
            this.recordEnd = result.entity.paginatedAccounts.recordEnd;
            this.totalPages = Math.ceil(result.entity.paginatedAccounts.totalRecords / this.pageSize);
            console.log('this.totalPages = ' + this.totalPages);
            this.paginationVisibility = this.totalPages > 1 ? true : false;
    init() {
        this.showSpinner = true;
        oninit({
            pageSizeLWC: this.pageSize,
            pageTokenLWC: this.currentPageToken,
            sortFieldLWC: this.sortBy,
            sortOrderLWC: this.sortDirection
        })
            .then((result) => {
                result = JSON.parse(JSON.stringify(result));
                console.log(
                    'result.pageRecords = ' +
                        JSON.stringify(result.entity.pageRecords)
                );
                console.log(
                    'result.consumableorderdetailsRecords = ' +
                        JSON.stringify(
                            result.entity.consumableorderdetailsRecords
                        )
                );
                console.log('result.status = ' + result.status);
                console.log('result = ' + JSON.stringify(result));
                console.log('result 1= ' + JSON.stringify(result.entity));
                console.log(
                    'result 2= ' + JSON.stringify(result.entity.pageRecords)
                );
                if (result.status == 'Success') {
                    console.log(
                        'result.entity.paginatedAccounts = ' +
                            JSON.stringify(result.entity.paginatedAccounts)
                    );
                    this.nextPageToken =
                        result.entity.paginatedAccounts.nextPageToken;
                    this.totalRecords =
                        result.entity.paginatedAccounts.totalRecords;
                    this.recordStart =
                        result.entity.paginatedAccounts.recordStart;
                    this.recordEnd = result.entity.paginatedAccounts.recordEnd;
                    this.totalPages = Math.ceil(
                        result.entity.paginatedAccounts.totalRecords /
                            this.pageSize
                    );
                    console.log('this.totalPages = ' + this.totalPages);
                    this.paginationVisibility =
                        this.totalPages > 1 ? true : false;
            this.loader = false;
            this.data = result.entity.pageRecords;
            this.productkucun = result.entity.productkucun;
                    this.loader = false;
                    this.data = result.entity.pageRecords;
                    this.productkucun = result.entity.productkucun;
            for (var i in this.data) {
               this.data[i]["Name__c"] = this.data[i].Prod.Name__c;
               this.data[i]["Category3__c"] = this.data[i].Prod.Category3__c;
               this.data[i]["Category4__c"] = this.data[i].Prod.Category4__c;
               this.data[i]["Category5__c"] = this.data[i].Prod.Category5__c;
               this.data[i]["SFDA_Status__c"] = this.data[i].Prod.SFDA_Status__c;
            }
            this.showTable = true;
            this.orderDetZaikuList = result.entity.orderDetZaikuList;
            this.accountName = result.entity.accountName;
            this.agencyProType = result.entity.agencyProType;
            this.userWorkLocation = result.entity.userWorkLocation;
            let option1ValueTemp = [];
            for (var key in result.entity.categoryOptionMap) {
               let object = {};
               object['label'] = result.entity.categoryOptionMap[key];
               object['value'] = key;
               option1ValueTemp.push(object);
            }
            this.category3Options = option1ValueTemp;
            console.log(' this.optionscatone===>' + JSON.stringify(this.optionscatone));
            let option2ValueTemp = [];
            for (var key in result.entity.category4OptionMap) {
               let object = {};
               object["label"] = result.entity.category4OptionMap[key];
               object["value"] = key;
               option2ValueTemp.push(object);
            }
            this.category4Options = option2ValueTemp;
            let option3ValueTemp = [];
            for (var key in result.entity.category5OptionMap) {
               let object = {};
               object["label"] = result.entity.category5OptionMap[key];
               object["value"] = key;
               option3ValueTemp.push(object);
            }
            this.category5Options = option3ValueTemp;
            this.hasHos = result.entity.hasHos;
            console.log('this.hasHos'+this.hasHos);
            //颜色标记
              //hasHos = true 医院特价
              if (this.hasHos) {
                    let object1 = {
                        label: "医院特价",
                        fieldName: "hospitalSpecialOffer__c",
                        hideDefaultActions: true,
                  type:'boolean',
                  cellAttributes: { alignment: "left" },
                  initialWidth:80
                    for (var i in this.data) {
                        this.data[i]['Name__c'] = this.data[i].Prod.Name__c;
                        this.data[i]['Category3__c'] =
                            this.data[i].Prod.Category3__c;
                        this.data[i]['Category4__c'] =
                            this.data[i].Prod.Category4__c;
                        this.data[i]['Category5__c'] =
                            this.data[i].Prod.Category5__c;
                        this.data[i]['SFDA_Status__c'] =
                            this.data[i].Prod.SFDA_Status__c;
                    }
                    this.showTable = true;
                    this.orderDetZaikuList = result.entity.orderDetZaikuList;
                    this.accountName = result.entity.accountName;
                    this.agencyProType = result.entity.agencyProType;
                    this.userWorkLocation = result.entity.userWorkLocation;
                    let option1ValueTemp = [];
                    for (var key in result.entity.categoryOptionMap) {
                        let object = {};
                        object['label'] = result.entity.categoryOptionMap[key];
                        object['value'] = key;
                        option1ValueTemp.push(object);
                    }
                    this.category3Options = option1ValueTemp;
                    console.log(
                        ' this.optionscatone===>' +
                            JSON.stringify(this.optionscatone)
                    );
                    let option2ValueTemp = [];
                    for (var key in result.entity.category4OptionMap) {
                        let object = {};
                        object['label'] = result.entity.category4OptionMap[key];
                        object['value'] = key;
                        option2ValueTemp.push(object);
                    }
                    this.category4Options = option2ValueTemp;
                    let option3ValueTemp = [];
                    for (var key in result.entity.category5OptionMap) {
                        let object = {};
                        object['label'] = result.entity.category5OptionMap[key];
                        object['value'] = key;
                        option3ValueTemp.push(object);
                    }
                    this.category5Options = option3ValueTemp;
                    this.hasHos = result.entity.hasHos;
                    console.log('this.hasHos' + this.hasHos);
                    //颜色标记
                    };
                    this.columns.push(object1);
               console.log(' this.columns'+  this.columns);
               for (var j in this.data) {
                  this.data[j]["Name__c"] = this.data[j].Prod.Name__c;
                  this.data[j]["Category3__c"] = this.data[j].Prod.Category3__c;
                  this.data[j]["Category4__c"] = this.data[j].Prod.Category4__c;
                  this.data[j]["Category5__c"] = this.data[j].Prod.Category5__c;
                  this.data[j]["SFDA_Status__c"] = this.data[j].Prod.SFDA_Status__c;
                  this.data[j]["hospitalSpecialOffer__c"] = this.data[j].hospitalSpecialOffer;
                  console.log('this.data[j].hospitalSpecialOffer__c'+this.data[j].hospitalSpecialOffer);
               }
                    //hasHos = true 医院特价
                    if (this.hasHos) {
                        let object1 = {
                            label: '医院特价',
                            fieldName: 'hospitalSpecialOffer__c',
                            hideDefaultActions: true,
                            type: 'boolean',
                            cellAttributes: { alignment: 'left' },
                            initialWidth: 80
                        };
                        this.columns.push(object1);
                        console.log(' this.columns' + this.columns);
                        for (var j in this.data) {
                            this.data[j]['Name__c'] = this.data[j].Prod.Name__c;
                            this.data[j]['Category3__c'] =
                                this.data[j].Prod.Category3__c;
                            this.data[j]['Category4__c'] =
                                this.data[j].Prod.Category4__c;
                            this.data[j]['Category5__c'] =
                                this.data[j].Prod.Category5__c;
                            this.data[j]['SFDA_Status__c'] =
                                this.data[j].Prod.SFDA_Status__c;
                            this.data[j]['hospitalSpecialOffer__c'] =
                                this.data[j].hospitalSpecialOffer;
                            console.log(
                                'this.data[j].hospitalSpecialOffer__c' +
                                    this.data[j].hospitalSpecialOffer
                            );
                        }
                    }
                    this.showSpinner = false;
                } else {
                    // this.showToast("Error",'Error', result.msg);
                    this.showMyToast('初始化失败', result.msg, 'error');
                }
            this.showSpinner = false;
         } else {
            // this.showToast("Error",'Error', result.msg);
            this.showMyToast('初始化失败',result.msg,'error');
         }
      }).catch((error) => {
         this.loader = false;
         this.showSpinner = false;
         console.log("error = " + JSON.stringify(error));
      });
   }
            })
            .catch((error) => {
                this.loader = false;
                this.showSpinner = false;
                console.log('error = ' + JSON.stringify(error));
            });
    }
   handleChange(event) {
      let fieldName = event.target.getAttribute("data-field");
      let value = event.detail.value;
      console.log("======>fieldName" + fieldName);
      console.log("======>value" + value);
      switch (fieldName) {
         case "Name":
            this.Name = value;
            break;
         case "CategoryThree":
            this.CategoryThree = value;
            break;
         case "CategoryFour":
            this.CategoryFour = value;
            break;
         case "CategoryFive":
            this.CategoryFive = value;
            break;
         default:
            console.log("no data");
      }
   }
   dataChange(event) {
        let fieldName = event.target.getAttribute("data-field");
    handleChange(event) {
        let fieldName = event.target.getAttribute('data-field');
        let value = event.detail.value;
        console.log("fieldName = " + fieldName + " value = " + value);
        console.log('======>fieldName' + fieldName);
        console.log('======>value' + value);
        switch (fieldName) {
         case "Name":
            this.Name = value;
            break;
            case "CategoryThree":
            case 'Name':
                this.Name = value;
                break;
            case 'CategoryThree':
                this.CategoryThree = value;
                break;
            case 'CategoryFour':
                this.CategoryFour = value;
                break;
            case 'CategoryFive':
                this.CategoryFive = value;
                break;
            default:
                console.log('no data');
        }
    }
    dataChange(event) {
        let fieldName = event.target.getAttribute('data-field');
        let value = event.detail.value;
        console.log('fieldName = ' + fieldName + ' value = ' + value);
        switch (fieldName) {
            case 'Name':
                this.Name = value;
                break;
            case 'CategoryThree':
                this.CategoryThree = value;
                //调用后台显示第四五分类
                this.showAllCate();
@@ -338,7 +369,7 @@
                    this.CategoryFive = '';
                }
                break;
            case "CategoryFour":
            case 'CategoryFour':
                this.CategoryFour = value;
                //调用后台显示第五分类
                this.showCate();
@@ -346,215 +377,243 @@
                    this.CategoryFive = '';
                }
                break;
            case "CategoryFive":
            case 'CategoryFive':
                this.CategoryFive = value;
                break;
        }
    }
   showAllCate() {
    showAllCate() {
        categoryAllload({
            category3LWC: this.CategoryThree,
         agencyProTypeLWC:this.agencyProType
        }).then((result) => {
            result = JSON.parse(JSON.stringify(result));
            console.log("result = " + JSON.stringify(result));
            if (result.status == "Success") {
                this.category4Options = [];
                this.category5Options = [];
                //第4分类
                for (var key in result.entity.category4OptionMap) {
                    let object = {};
                    object["label"] = result.entity.category4OptionMap[key];
                    object["value"] = key;
                    this.category4Options.push(object);
            agencyProTypeLWC: this.agencyProType
        })
            .then((result) => {
                result = JSON.parse(JSON.stringify(result));
                console.log('result = ' + JSON.stringify(result));
                if (result.status == 'Success') {
                    this.category4Options = [];
                    this.category5Options = [];
                    //第4分类
                    for (var key in result.entity.category4OptionMap) {
                        let object = {};
                        object['label'] = result.entity.category4OptionMap[key];
                        object['value'] = key;
                        this.category4Options.push(object);
                    }
                    console.log(
                        'this.category4Options = ' +
                            JSON.stringify(this.category4Options)
                    );
                    //第5分类
                    for (var key in result.entity.category5OptionMap) {
                        let object = {};
                        object['label'] = result.entity.category5OptionMap[key];
                        object['value'] = key;
                        this.category5Options.push(object);
                    }
                } else {
                    console.log('result = ' + JSON.stringify(result));
                    this.showMyToast(result.msg, '', 'error');
                }
                console.log("this.category4Options = " + JSON.stringify(this.category4Options));
                //第5分类
                for (var key in result.entity.category5OptionMap) {
                    let object = {};
                    object["label"] = result.entity.category5OptionMap[key];
                    object["value"] = key;
                    this.category5Options.push(object);
            })
            .catch((error) => {
                console.log('error' + JSON.stringify(error));
            });
    }
    searchOrderDetail() {
        this.showTable = false;
        this.showSpinner = true;
        searchOrder({
            category1: this.Name,
            Category3: this.CategoryThree,
            Category4: this.CategoryFour,
            Category5: this.CategoryFive,
            orderDetZaikuListLWC: JSON.stringify(this.orderDetZaikuList),
            accountName: this.accountName,
            agencyProType: this.agencyProType,
            userWorkLocation: this.userWorkLocation,
            pageSizeLWC: this.pageSize,
            pageTokenLWC: this.currentPageToken,
            productkucunLWC: this.productkucun
            // sortFieldLWC: this.sortBy,
            // sortOrderLWC: this.sortDirection
        })
            .then((result) => {
                result = JSON.parse(JSON.stringify(result));
                if (result.status == 'Success') {
                    this.nextPageToken =
                        result.entity.paginatedAccounts.nextPageToken;
                    this.totalRecords =
                        result.entity.paginatedAccounts.totalRecords;
                    this.recordStart =
                        result.entity.paginatedAccounts.recordStart;
                    this.recordEnd = result.entity.paginatedAccounts.recordEnd;
                    this.totalPages = Math.ceil(
                        result.entity.paginatedAccounts.totalRecords /
                            this.pageSize
                    );
                    console.log(
                        'result.entity.paginatedAccounts = ' +
                            JSON.stringify(result.entity.paginatedAccounts)
                    );
                    console.log('this.totalPages = ' + this.totalPages);
                    this.paginationVisibility =
                        this.totalPages > 1 ? true : false;
                    console.log('this.sortDirection = ' + this.sortDirection);
                    // this.showToast("Success",'搜索成功', result.msg);
                    // this.showMyToast('搜索成功',result.msg,'success');
                    this.data = result.entity.pageRecords;
                    console.log('搜索Data==>' + JSON.stringify(this.data));
                    for (var i in this.data) {
                        this.data[i]['Name__c'] = this.data[i].Prod.Name__c;
                        this.data[i]['Category3__c'] =
                            this.data[i].Prod.Category3__c;
                        this.data[i]['Category4__c'] =
                            this.data[i].Prod.Category4__c;
                        this.data[i]['Category5__c'] =
                            this.data[i].Prod.Category5__c;
                        this.data[i]['SFDA_Status__c'] =
                            this.data[i].Prod.SFDA_Status__c;
                        this.data[i]['hospitalSpecialOffer__c'] =
                            this.data[i].hospitalSpecialOffer;
                        this.data[i]['guaranteeperiod'] =
                            this.data[i].guaranteeperiod;
                    }
                    this.data = [...this.data];
                    console.log('this.data = ' + JSON.stringify(this.data));
                    this.showTable = true;
                    this.showSpinner = false;
                } else {
                    this.nextPageToken = this.pageSize;
                    this.totalRecords = 0;
                    this.recordStart = 0;
                    this.recordEnd = 0;
                    this.totalPages = 0;
                    // this.showToast("Error",'Error', result.msg);
                    // this.showMyToast('搜索失败',result.msg,'error');
                    this.showSpinner = false;
                }
            } else {
                console.log("result = " + JSON.stringify(result));
                this.showMyToast(result.msg,'','error');
            })
            .catch((error) => {
                console.log('error = ' + JSON.stringify(error));
                this.showSpinner = false;
            });
    }
    inventoryCount() {
        this[NavigationMixin.Navigate]({
            type: 'standard__webPage',
            attributes: {
                url: '/lexinventory'
            }
        }).catch((error) => {
            console.log("error" + JSON.stringify(error));
        });
    }
   searchOrderDetail() {
      this.showTable = false;
      this.showSpinner = true;
      searchOrder({
         category1: this.Name,
         Category3: this.CategoryThree,
         Category4: this.CategoryFour,
         Category5: this.CategoryFive,
         orderDetZaikuListLWC: JSON.stringify(this.orderDetZaikuList),
         accountName: this.accountName,
         agencyProType: this.agencyProType,
         userWorkLocation: this.userWorkLocation,
         pageSizeLWC: this.pageSize,
         pageTokenLWC: this.currentPageToken,
         productkucunLWC: this.productkucun
         // sortFieldLWC: this.sortBy,
         // sortOrderLWC: this.sortDirection
      })
         .then((result) => {
            result = JSON.parse(JSON.stringify(result));
            if (result.status == "Success") {
               this.nextPageToken = result.entity.paginatedAccounts.nextPageToken;
               this.totalRecords = result.entity.paginatedAccounts.totalRecords;
               this.recordStart = result.entity.paginatedAccounts.recordStart;
               this.recordEnd = result.entity.paginatedAccounts.recordEnd;
               this.totalPages = Math.ceil(result.entity.paginatedAccounts.totalRecords / this.pageSize);
               console.log('result.entity.paginatedAccounts = ' + JSON.stringify(result.entity.paginatedAccounts));
               console.log('this.totalPages = ' + this.totalPages);
               this.paginationVisibility = this.totalPages > 1 ? true : false;
               console.log('this.sortDirection = ' + this.sortDirection);
               // this.showToast("Success",'搜索成功', result.msg);
               // this.showMyToast('搜索成功',result.msg,'success');
               this.data = result.entity.pageRecords;
               console.log('搜索Data==>'+JSON.stringify(this.data));
               for (var i in this.data) {
                  this.data[i]["Name__c"] = this.data[i].Prod.Name__c;
                  this.data[i]["Category3__c"] = this.data[i].Prod.Category3__c;
                  this.data[i]["Category4__c"] = this.data[i].Prod.Category4__c;
                  this.data[i]["Category5__c"] = this.data[i].Prod.Category5__c;
                  this.data[i]["SFDA_Status__c"] = this.data[i].Prod.SFDA_Status__c;
                  this.data[i]["hospitalSpecialOffer__c"] = this.data[i].hospitalSpecialOffer;
                  this.data[i]["guaranteeperiod"] = this.data[i].guaranteeperiod;
               }
               this.data = [...this.data];
               console.log('this.data = ' + JSON.stringify(this.data));
               this.showTable = true;
               this.showSpinner = false;
            } else {
               this.nextPageToken = this.pageSize;
               this.totalRecords = 0;
               this.recordStart = 0;
               this.recordEnd = 0;
               this.totalPages =0;
    handleExpired() {
        console.log('过期库存呢销存');
        this[NavigationMixin.Navigate]({
            type: 'standard__webPage',
            attributes: {
                url: '/lexoverduestock'
            }
        });
    }
    removeBox() {
        this[NavigationMixin.Navigate]({
            type: 'standard__webPage',
            attributes: {
                url: '/lexremovebox'
            }
        });
    }
    cancelremoveBox() {
        this[NavigationMixin.Navigate]({
            type: 'standard__webPage',
            attributes: {
                url: '/lexcancelremovebox'
            }
        });
    }
               // this.showToast("Error",'Error', result.msg);
               // this.showMyToast('搜索失败',result.msg,'error');
               this.showSpinner = false;
            }
         })
         .catch((error) => {
            console.log("error = " + JSON.stringify(error));
            this.showSpinner = false;
         });
   }
   inventoryCount() {
      this[NavigationMixin.Navigate]({
         type: 'standard__webPage',
         attributes: {
            url: '/lexinventory'
         }
      });
   }
    clearAll() {
        this.showSpinner = true;
        this.showTable = false;
        this.Name = '';
        this.CategoryThree = '';
        this.CategoryFour = '';
        this.CategoryFive = '';
        this.template.querySelectorAll('lightning-combobox').forEach((each) => {
            each.value = null;
        });
        console.log(' this.CategoryThree' + this.CategoryThree);
        console.log('数据列表' + this.data);
        searchOrder({
            category1: this.Name,
            Category3: this.CategoryThree,
            Category4: this.CategoryFour,
            Category5: this.CategoryFive,
            orderDetZaikuListLWC: JSON.stringify(this.orderDetZaikuList),
            accountName: this.accountName,
            agencyProType: this.agencyProType,
            userWorkLocation: this.userWorkLocation,
            pageSizeLWC: this.pageSize,
            pageTokenLWC: this.currentPageToken,
            productkucunLWC: this.productkucun
        })
            .then((result) => {
                console.log('result搜索 = ' + JSON.stringify(result));
                result = JSON.parse(JSON.stringify(result));
                if (result.status == 'Success') {
                    this.nextPageToken =
                        result.entity.paginatedAccounts.nextPageToken;
                    this.totalRecords =
                        result.entity.paginatedAccounts.totalRecords;
                    this.recordStart =
                        result.entity.paginatedAccounts.recordStart;
                    this.recordEnd = result.entity.paginatedAccounts.recordEnd;
                    this.totalPages = Math.ceil(
                        result.entity.paginatedAccounts.totalRecords /
                            this.pageSize
                    );
                    console.log('this.totalPages = ' + this.totalPages);
                    this.paginationVisibility =
                        this.totalPages > 1 ? true : false;
                    console.log('this.sortDirection = ' + this.sortDirection);
                    this.data = result.entity.pageRecords;
   handleExpired() {
      console.log('过期库存呢销存');
      this[NavigationMixin.Navigate]({
         type: 'standard__webPage',
         attributes: {
            url: '/lexoverduestock'
         }
      });
                    for (var i in this.data) {
                        this.data[i]['Name__c'] = this.data[i].Prod.Name__c;
                        this.data[i]['Category3__c'] =
                            this.data[i].Prod.Category3__c;
                        this.data[i]['Category4__c'] =
                            this.data[i].Prod.Category4__c;
                        this.data[i]['Category5__c'] =
                            this.data[i].Prod.Category5__c;
                        this.data[i]['SFDA_Status__c'] =
                            this.data[i].Prod.SFDA_Status__c;
                        this.data[i]['guaranteeperiod'] =
                            this.data[i].guaranteeperiod;
                    }
                    this.showSpinner = false;
                    this.showTable = true;
                    // this.showMyToast('搜索成功',result.msg,'success');
                    // this.showToast("Success",'搜索成功', result.msg);
                } else {
                    // this.showToast("Error", 'Error',result.msg);
                    // this.showMyToast('搜索失败',result.msg,'error');
                    this.showSpinner = false;
                }
            })
            .catch((error) => {
                console.log('error = ' + JSON.stringify(error));
                this.showSpinner = false;
            });
    }
   }
   removeBox() {
      this[NavigationMixin.Navigate]({
         type: 'standard__webPage',
         attributes: {
            url: '/lexremovebox'
         }
      });
   }
   cancelremoveBox() {
      this[NavigationMixin.Navigate]({
         type: 'standard__webPage',
         attributes: {
            url: '/lexcancelremovebox'
         }
      });
   }
   clearAll() {
      this.showSpinner = true;
      this.showTable = false;
      this.Name = '';
      this.CategoryThree = '';
      this.CategoryFour = '';
      this.CategoryFive = '';
      this.template.querySelectorAll("lightning-combobox").forEach((each) => {
         each.value = null;
      });
      console.log(' this.CategoryThree' + this.CategoryThree);
      console.log('数据列表' + this.data);
      searchOrder({
         category1: this.Name,
         Category3: this.CategoryThree,
         Category4: this.CategoryFour,
         Category5: this.CategoryFive,
         orderDetZaikuListLWC: JSON.stringify(this.orderDetZaikuList),
         accountName: this.accountName,
         agencyProType: this.agencyProType,
         userWorkLocation: this.userWorkLocation,
         pageSizeLWC: this.pageSize,
         pageTokenLWC: this.currentPageToken,
      })
         .then((result) => {
            console.log("result搜索 = " + JSON.stringify(result));
            result = JSON.parse(JSON.stringify(result));
            if (result.status == "Success") {
               this.nextPageToken = result.entity.paginatedAccounts.nextPageToken;
               this.totalRecords = result.entity.paginatedAccounts.totalRecords;
               this.recordStart = result.entity.paginatedAccounts.recordStart;
               this.recordEnd = result.entity.paginatedAccounts.recordEnd;
               this.totalPages = Math.ceil(result.entity.paginatedAccounts.totalRecords / this.pageSize);
               console.log('this.totalPages = ' + this.totalPages);
               this.paginationVisibility = this.totalPages > 1 ? true : false;
               console.log('this.sortDirection = ' + this.sortDirection);
               this.data = result.entity.pageRecords;
               for (var i in this.data) {
                  this.data[i]["Name__c"] = this.data[i].Prod.Name__c;
                  this.data[i]["Category3__c"] = this.data[i].Prod.Category3__c;
                  this.data[i]["Category4__c"] = this.data[i].Prod.Category4__c;
                  this.data[i]["Category5__c"] = this.data[i].Prod.Category5__c;
                  this.data[i]["SFDA_Status__c"] = this.data[i].Prod.SFDA_Status__c;
                  this.data[i]["guaranteeperiod"] = this.data[i].guaranteeperiod;
               }
               this.showSpinner = false;
               this.showTable = true;
               // this.showMyToast('搜索成功',result.msg,'success');
               // this.showToast("Success",'搜索成功', result.msg);
            } else {
               // this.showToast("Error", 'Error',result.msg);
               // this.showMyToast('搜索失败',result.msg,'error');
               this.showSpinner = false;
            }
         })
         .catch((error) => {
            console.log("error = " + JSON.stringify(error));
            this.showSpinner = false;
         });
   }
   sortByMethod(field, reverse, primer) {
    sortByMethod(field, reverse, primer) {
        const key = primer
            ? function (x) {
                  return primer(x[field]);
@@ -570,86 +629,98 @@
        };
    }
   onHandleSort(event) {
      console.log("Sort");
      this.sortBy = event.detail.fieldName;
      this.sortDirection = event.detail.sortDirection;
      this.currentPageToken = 0;
      console.log('this.sortBy = ' + this.sortBy)
      console.log('this.sortDirection = ' + this.sortDirection)
      // if('limitCount' != this.sortBy)
      //    this.searchOrderDetail();
      // else{
      //    const { fieldName: sortedBy, sortDirection } = event.detail;
      //    const cloneData = [...this.data];
      //    cloneData.sort(this.sortByMethod(sortedBy, sortDirection === 'asc' ? 1 : -1));
      //    this.data = cloneData;
      //    this.sortDirection = sortDirection;
      //    this.sortedBy = sortedBy;
      // }
      const { fieldName: sortedBy, sortDirection } = event.detail;
      const cloneData = [...this.data];
      cloneData.sort(this.sortByMethod(sortedBy, sortDirection === 'asc' ? 1 : -1));
      this.data = cloneData;
      this.sortDirection = sortDirection;
      this.sortedBy = sortedBy;
   }
   handlePaginatorChange(event) {
      this.recordsToDisplay = event.detail.recordsToDisplay;
      this.preSelected = event.detail.preSelected;
      if (this.recordsToDisplay && this.recordsToDisplay > 0) {
         this.rowNumberOffset = this.recordsToDisplay[0].rowNumber - 1;
      } else {
         this.rowNumberOffset = 0;
      }
   }
    onHandleSort(event) {
        console.log('Sort');
        this.sortBy = event.detail.fieldName;
        this.sortDirection = event.detail.sortDirection;
        this.currentPageToken = 0;
        console.log('this.sortBy = ' + this.sortBy);
        console.log('this.sortDirection = ' + this.sortDirection);
        // if('limitCount' != this.sortBy)
        //    this.searchOrderDetail();
        // else{
        //    const { fieldName: sortedBy, sortDirection } = event.detail;
        //    const cloneData = [...this.data];
        //    cloneData.sort(this.sortByMethod(sortedBy, sortDirection === 'asc' ? 1 : -1));
        //    this.data = cloneData;
        //    this.sortDirection = sortDirection;
        //    this.sortedBy = sortedBy;
        // }
        const { fieldName: sortedBy, sortDirection } = event.detail;
        const cloneData = [...this.data];
        cloneData.sort(
            this.sortByMethod(sortedBy, sortDirection === 'asc' ? 1 : -1)
        );
        this.data = cloneData;
        this.sortDirection = sortDirection;
        this.sortedBy = sortedBy;
    }
    handlePaginatorChange(event) {
        this.recordsToDisplay = event.detail.recordsToDisplay;
        this.preSelected = event.detail.preSelected;
        if (this.recordsToDisplay && this.recordsToDisplay > 0) {
            this.rowNumberOffset = this.recordsToDisplay[0].rowNumber - 1;
        } else {
            this.rowNumberOffset = 0;
        }
    }
   handlePrevious() {
      this.currentPageToken = Number(this.currentPageToken) - Number(this.pageSize);
      this.searchOrderDetail();
   }
    handlePrevious() {
        this.currentPageToken =
            Number(this.currentPageToken) - Number(this.pageSize);
        this.searchOrderDetail();
    }
   handleNext() {
      this.currentPageToken = Number(this.currentPageToken) + Number(this.pageSize);
      this.searchOrderDetail();
   }
   handleFirst() {
      this.currentPageToken = 0;
      this.searchOrderDetail();
   }
    handleNext() {
        this.currentPageToken =
            Number(this.currentPageToken) + Number(this.pageSize);
        this.searchOrderDetail();
    }
    handleFirst() {
        this.currentPageToken = 0;
        this.searchOrderDetail();
    }
   handleLast() {
      this.currentPageToken = this.totalPages > 1 ? (this.totalPages - 1) * this.pageSize : 0;
      this.searchOrderDetail();
   }
    handleLast() {
        this.currentPageToken =
            this.totalPages > 1 ? (this.totalPages - 1) * this.pageSize : 0;
        this.searchOrderDetail();
    }
   handlePageschange(event) {
      console.log(event.detail);
      this.pageSize = event.detail;
      this.currentPageToken = 0;
      this.searchOrderDetail();
   }
   get previousButtonDisabled() {
      return this.currentPageToken === 0;
   }
    handlePageschange(event) {
        console.log(event.detail);
        this.pageSize = event.detail;
        this.currentPageToken = 0;
        this.searchOrderDetail();
    }
    get previousButtonDisabled() {
        return this.currentPageToken === 0;
    }
   get nextButtonDisabled() {
      return this.nextPageToken === undefined;
   }
   showMyToast(title, message, variant) {
    get nextButtonDisabled() {
        return this.nextPageToken === undefined;
    }
    showMyToast(title, message, variant) {
        console.log('show custom message');
        var iconName = '';
        var content = '';
        if(variant == 'success'){
           iconName = 'utility:check';
        }else{
           iconName = 'utility:error';
        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>';
        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);
   }
}
        this.template
            .querySelector('c-common-toast')
            .showToast(variant, content, iconName, 10000);
    }
}