buli
2023-07-14 36d15f189de2e83ce2576715dac30c3c260388dd
force-app/main/default/lwc/lexTopPage/lexTopPage.js
@@ -1,771 +1,812 @@
import { LightningElement, wire, api, track } from "lwc";
import { ShowToastEvent } from "lightning/platformShowToastEvent";
import { NavigationMixin } from "lightning/navigation";
import initPage from "@salesforce/apex/LexTopPageController.initPage";
import initTotalNum from "@salesforce/apex/LexConsumableGoodsInfo.initTotalNum";
import initArrDet from "@salesforce/apex/LexConsumableGoodsInfo.initArrDet";
import initArrDetAll from "@salesforce/apex/LexConsumableGoodsInfo.initArrDetAll";
import initDeliveryDet from "@salesforce/apex/LexConsumableGoodsInfo.initDeliveryDet";
import initDeliveryDetAll from "@salesforce/apex/LexConsumableGoodsInfo.initDeliveryDetAll";
import initNotArrDet from "@salesforce/apex/LexConsumableGoodsInfo.initNotArrDet";
import initNotArrDetAll from "@salesforce/apex/LexConsumableGoodsInfo.initNotArrDetAll";
import initMoreThan7 from "@salesforce/apex/LexConsumableGoodsInfo.initMoreThan7";
import initMoreThan7All from "@salesforce/apex/LexConsumableGoodsInfo.initMoreThan7All";
import { LightningElement, wire, api, track } from 'lwc';
import { ShowToastEvent } from 'lightning/platformShowToastEvent';
import { NavigationMixin } from 'lightning/navigation';
import initPage from '@salesforce/apex/LexTopPageController.initPage';
import initTotalNum from '@salesforce/apex/LexConsumableGoodsInfo.initTotalNum';
import initArrDet from '@salesforce/apex/LexConsumableGoodsInfo.initArrDet';
import initArrDetAll from '@salesforce/apex/LexConsumableGoodsInfo.initArrDetAll';
import initDeliveryDet from '@salesforce/apex/LexConsumableGoodsInfo.initDeliveryDet';
import initDeliveryDetAll from '@salesforce/apex/LexConsumableGoodsInfo.initDeliveryDetAll';
import initNotArrDet from '@salesforce/apex/LexConsumableGoodsInfo.initNotArrDet';
import initNotArrDetAll from '@salesforce/apex/LexConsumableGoodsInfo.initNotArrDetAll';
import initMoreThan7 from '@salesforce/apex/LexConsumableGoodsInfo.initMoreThan7';
import initMoreThan7All from '@salesforce/apex/LexConsumableGoodsInfo.initMoreThan7All';
//table css
import { loadStyle } from "lightning/platformResourceLoader";
import WrappedHeaderTable from "@salesforce/resourceUrl/lexdatatable";
import { loadStyle } from 'lightning/platformResourceLoader';
import WrappedHeaderTable from '@salesforce/resourceUrl/lexdatatable';
export default class LexTopPage extends NavigationMixin(LightningElement) {
  @track title = [];
  @track raesList = [];
  @track column = [];
  @track overlimitdateorderdetails = [];
  @track productLimitRecords = [];
  @track accountInfo;
  @track accountId;
  @track userPro_Type;
  @track pageRecords = [];
  @track csvData = [];
  @track product_Limit;
  @track over_view = false;
  @track overlimit = false;
  @track hasHos = false;
  @track activeSections = ["A", "B", "C"];
  @track isRender = false;
  @track consumableorderdetailsRecordsview;
  @track showSpinner = true;
  @track showPage = false;
  //
  @track showPop = false;
  @track popTitle;
  @track totalNum;
  @track orderNumberArrived;
  @track deliveryDetailCount;
  @track orderNumberNotarrive;
  @track moreThanSevenDays;
  stylesLoaded = false;
    @track title = [];
    @track raesList = [];
    @track column = [];
    @track overlimitdateorderdetails = [];
    @track productLimitRecords = [];
    @track accountInfo;
    @track accountId;
    @track userPro_Type;
    @track pageRecords = [];
    @track csvData = [];
    @track product_Limit;
    @track over_view = false;
    @track overlimit = false;
    @track hasHos = false;
    @track activeSections = ['A', 'B', 'C'];
    @track isRender = false;
    @track consumableorderdetailsRecordsview;
    @track showSpinner = true;
    @track showPage = false;
    //
    @track showPop = false;
    @track popTitle;
    @track totalNum;
    @track orderNumberArrived;
    @track deliveryDetailCount;
    @track orderNumberNotarrive;
    @track moreThanSevenDays;
    stylesLoaded = false;
  @track showTable = false;
  @track hidecheckboxcolumn = true;
  //排序
  defaultSortDirection = "asc";
  sortDirection = "asc";
  sortedBy;
    @track showTable = false;
    @track hidecheckboxcolumn = true;
    //排序
    defaultSortDirection = 'asc';
    sortDirection = 'asc';
    sortedBy;
  //分页start
  @track sortBy = "";
  @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
    //分页start
    @track sortBy = '';
    @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 isNoteStay = true;
    //是否一直显示提示
    @track isNoteStay = true;
  //未全部发货订单明细col
  @track colms = [
    {
      label: "消耗品订单名称",
      type: "customOutputGood",
      typeAttributes: {
        outputValue: { fieldName: "Name" },
        type: "Title",
        recordId: { fieldName: "Id" }
      },
      hideDefaultActions: true,
      // initialWidth: 200,
      wrapText: true
    },
    {
      label: "SAP合同号",
      fieldName: "ContractNo__c",
      hideDefaultActions: true,
      wrapText: true,
      initialWidth: 180
    },
    {
      label: "订单总数",
      type: "customOutputGood",
      typeAttributes: {
        outputValue: { fieldName: "Total_num__c" },
        type: "TotalNum",
        recordId: { fieldName: "Id" }
      },
      hideDefaultActions: true,
      initialWidth: 100
    },
    {
      label: "已到货数量",
      type: "customOutputGood",
      typeAttributes: {
        outputValue: { fieldName: "OrderNumber_arrived__c" },
        type: "ArrDet",
        recordId: { fieldName: "Id" }
      },
      hideDefaultActions: true,
      initialWidth: 100
    },
    {
      label: "待系统操作入库数量",
      type: "customOutputGood",
      typeAttributes: {
        outputValue: { fieldName: "Delivery_detail_count__c" },
        type: "DeliveryDet",
        recordId: { fieldName: "Id" }
      },
      hideDefaultActions: true,
      initialWidth: 150
    },
    {
      label: "还没发货数量",
      type: "customOutputGood",
      typeAttributes: {
        outputValue: { fieldName: "OrderNumber_notarrive__c" },
        type: "NotArrDet",
        recordId: { fieldName: "Id" }
      },
      hideDefaultActions: true,
      initialWidth: 120
    },
    {
      label: "发货七天还未到货数",
      type: "customOutputGood",
      typeAttributes: {
        outputValue: { fieldName: "More_than_seven_days__c" },
        type: "MoreThan7",
        recordId: { fieldName: "Id" }
      },
      hideDefaultActions: true,
      initialWidth: 150
    },
    {
      label: "最新发货日期",
      fieldName: "Shipment_date__c",
      hideDefaultActions: true,
      initialWidth: 105
    },
    {
      label: "首次发货日期",
      fieldName: "First_Delivery__c",
      hideDefaultActions: true,
      initialWidth: 105
    //未全部发货订单明细col
    @track colms = [
        {
            label: '消耗品订单名称',
            type: 'customOutputGood',
            typeAttributes: {
                outputValue: { fieldName: 'Name' },
                type: 'Title',
                recordId: { fieldName: 'Id' }
            },
            hideDefaultActions: true,
            // initialWidth: 200,
            wrapText: true
        },
        {
            label: 'SAP合同号',
            fieldName: 'ContractNo__c',
            hideDefaultActions: true,
            wrapText: true,
            initialWidth: 180
        },
        {
            label: '订单总数',
            type: 'customOutputGood',
            typeAttributes: {
                outputValue: { fieldName: 'Total_num__c' },
                type: 'TotalNum',
                recordId: { fieldName: 'Id' }
            },
            hideDefaultActions: true,
            initialWidth: 100
        },
        {
            label: '已到货数量',
            type: 'customOutputGood',
            typeAttributes: {
                outputValue: { fieldName: 'OrderNumber_arrived__c' },
                type: 'ArrDet',
                recordId: { fieldName: 'Id' }
            },
            hideDefaultActions: true,
            initialWidth: 100
        },
        {
            label: '待系统操作入库数量',
            type: 'customOutputGood',
            typeAttributes: {
                outputValue: { fieldName: 'Delivery_detail_count__c' },
                type: 'DeliveryDet',
                recordId: { fieldName: 'Id' }
            },
            hideDefaultActions: true,
            initialWidth: 150
        },
        {
            label: '还没发货数量',
            type: 'customOutputGood',
            typeAttributes: {
                outputValue: { fieldName: 'OrderNumber_notarrive__c' },
                type: 'NotArrDet',
                recordId: { fieldName: 'Id' }
            },
            hideDefaultActions: true,
            initialWidth: 120
        },
        {
            label: '发货七天还未到货数',
            type: 'customOutputGood',
            typeAttributes: {
                outputValue: { fieldName: 'More_than_seven_days__c' },
                type: 'MoreThan7',
                recordId: { fieldName: 'Id' }
            },
            hideDefaultActions: true,
            initialWidth: 150
        },
        {
            label: '最新发货日期',
            fieldName: 'Shipment_date__c',
            hideDefaultActions: true,
            initialWidth: 105
        },
        {
            label: '首次发货日期',
            fieldName: 'First_Delivery__c',
            hideDefaultActions: true,
            initialWidth: 105
        }
    ];
    @track colms2 = [
        { label: '产品型号', fieldName: 'prodModel', hideDefaultActions: true },
        {
            label: '数量',
            fieldName: 'recordCount',
            hideDefaultActions: true,
            initialWidth: 60,
            cellAttributes: { alignment: 'center' }
        }
    ];
    //使用期限小于一年的产品col
    @track colm3 = [
        { label: '产品型号', fieldName: 'prodName', hideDefaultActions: true },
        {
            label: '数量',
            fieldName: 'countid',
            hideDefaultActions: true,
            cellAttributes: { alignment: 'left' }
        },
        {
            label: '单位',
            fieldName: 'BoxPiece',
            hideDefaultActions: true,
            cellAttributes: { alignment: 'left' }
        }
    ];
    //经销商库存上下限col
    @track colm4 = [
        { label: '产品型号', fieldName: 'prodName', hideDefaultActions: true },
        {
            label: '库存下限',
            fieldName: 'limitLow',
            hideDefaultActions: true,
            cellAttributes: { alignment: 'left' }
        },
        {
            label: '库存上限',
            fieldName: 'limitUp',
            hideDefaultActions: true,
            cellAttributes: { alignment: 'left' }
        }
    ];
    @track columns = [
        {
            label: '消耗品名称',
            fieldName: 'Name__c',
            type: 'Name',
            sortable: true,
            hideDefaultActions: true,
            wrapText: true,
            cellAttributes: { alignment: 'left' }
        },
        {
            label: '规格',
            fieldName: 'packing_list',
            cellAttributes: { alignment: 'right' },
            initialWidth: 50,
            wrapText: true,
            hideDefaultActions: true
        },
        {
            label: '第三分类',
            fieldName: 'Category3__c',
            initialWidth: 85,
            cellAttributes: { alignment: 'left' },
            hideDefaultActions: true,
            wrapText: true
        },
        {
            label: '第四分类',
            fieldName: 'Category4__c',
            cellAttributes: { alignment: 'left' },
            initialWidth: 85,
            hideDefaultActions: true,
            wrapText: true
        },
        {
            label: '第五分类',
            fieldName: 'Category5__c',
            cellAttributes: { alignment: 'left' },
            initialWidth: 85,
            hideDefaultActions: true,
            wrapText: true,
            sortable: true
        },
        {
            label: 'CFDA状态',
            fieldName: 'SFDA_Status__c',
            cellAttributes: { alignment: 'left' },
            initialWidth: 80,
            hideDefaultActions: true
        },
        {
            label: '注册证编码号',
            fieldName: 'approbation_No',
            cellAttributes: { alignment: 'left' },
            wrapText: true,
            initialWidth: 155,
            hideDefaultActions: true
        },
        {
            label: '注册证效期',
            fieldName: 'expiration_Date',
            cellAttributes: { alignment: 'left' },
            wrapText: true,
            hideDefaultActions: true,
            initialWidth: 100
        },
        {
            label: '产品数量下限',
            fieldName: 'lowerlimit',
            cellAttributes: { alignment: 'right' },
            wrapText: true,
            hideDefaultActions: true,
            initialWidth: 100
        },
        {
            label: '使用期限',
            fieldName: 'guaranteeperiod',
            cellAttributes: { alignment: 'left' },
            hideDefaultActions: true,
            initialWidth: 95
        },
        {
            label: '有效期内库存',
            type: 'customInventoryColor',
            cellAttributes: { alignment: 'right' },
            typeAttributes: {
                value: { fieldName: 'limitCount' },
                upperlimit: { fieldName: 'upperlimit' },
                lowerlimit: { fieldName: 'lowerlimit' },
                boxPrice: { fieldName: 'BoxPiece' }
            },
            hideDefaultActions: true,
            initialWidth: 95
        },
        {
            label: '过期库存',
            fieldName: 'overlimitCount',
            hideDefaultActions: true,
            cellAttributes: { alignment: 'right' },
            initialWidth: 75
        },
        {
            label: '单位',
            fieldName: 'BoxPiece',
            cellAttributes: { alignment: 'left' },
            initialWidth: 50,
            wrapText: true,
            hideDefaultActions: true
        }
    ];
    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');
                });
        }
    }
  ];
  @track colms2 = [
    { label: "产品型号", fieldName: "prodModel", hideDefaultActions: true },
    {
      label: "数量",
      fieldName: "recordCount",
      hideDefaultActions: true,
      initialWidth: 60,
      cellAttributes: { alignment: "center" }
    connectedCallback() {
        this.loader = true;
        this.init();
    }
  ];
  //使用期限小于一年的产品col
  @track colm3 = [
    { label: "产品型号", fieldName: "prodName", hideDefaultActions: true },
    {
      label: "数量",
      fieldName: "countid",
      hideDefaultActions: true,
      cellAttributes: { alignment: "left" }
    },
    {
      label: "单位",
      fieldName: "BoxPiece",
      hideDefaultActions: true,
      cellAttributes: { alignment: "left" }
    }
  ];
  //经销商库存上下限col
  @track colm4 = [
    { label: "产品型号", fieldName: "prodName", hideDefaultActions: true },
    {
      label: "库存下限",
      fieldName: "limitLow",
      hideDefaultActions: true,
      cellAttributes: { alignment: "left" }
    },
    {
      label: "库存上限",
      fieldName: "limitUp",
      hideDefaultActions: true,
      cellAttributes: { alignment: "left" }
    }
  ];
  @track columns = [
    {
      label: "消耗品名称",
      fieldName: "Name__c",
      type: "Name",
      sortable: true,
      hideDefaultActions: true,
      wrapText: true,
      cellAttributes: { alignment: "left" }
    },
    {
      label: "规格",
      fieldName: "packing_list",
      cellAttributes: { alignment: "right" },
      initialWidth: 50,
      wrapText: true,
      hideDefaultActions: true
    },
    {
      label: "第三分类",
      fieldName: "Category3__c",
      initialWidth: 85,
      cellAttributes: { alignment: "left" },
      hideDefaultActions: true,
      wrapText: true
    },
    {
      label: "第四分类",
      fieldName: "Category4__c",
      cellAttributes: { alignment: "left" },
      initialWidth: 85,
      hideDefaultActions: true,
      wrapText: true
    },
    {
      label: "第五分类",
      fieldName: "Category5__c",
      cellAttributes: { alignment: "left" },
      initialWidth: 85,
      hideDefaultActions: true,
      wrapText: true,
      sortable: true
    },
    {
      label: "CFDA状态",
      fieldName: "SFDA_Status__c",
      cellAttributes: { alignment: "left" },
      initialWidth: 80,
      hideDefaultActions: true
    },
    {
      label: "注册证编码号",
      fieldName: "approbation_No",
      cellAttributes: { alignment: "left" },
      wrapText: true,
      initialWidth: 155,
      hideDefaultActions: true
    },
    {
      label: "注册证效期",
      fieldName: "expiration_Date",
      cellAttributes: { alignment: "left" },
      wrapText: true,
      hideDefaultActions: true,
      initialWidth: 100
    },
    {
      label: "产品数量下限",
      fieldName: "lowerlimit",
      cellAttributes: { alignment: "right" },
      wrapText: true,
      hideDefaultActions: true,
      initialWidth: 100
    },
    {
      label: "使用期限",
      fieldName: "guaranteeperiod",
      cellAttributes: { alignment: "left" },
      hideDefaultActions: true,
      initialWidth: 95
    },
    {
      label: "有效期内库存",
      type: "customInventoryColor",
      cellAttributes: { alignment: "right" },
      typeAttributes: {
        value: { fieldName: "limitCount" },
        upperlimit: { fieldName: "upperlimit" },
        lowerlimit: { fieldName: "lowerlimit" },
        boxPrice: { fieldName: "BoxPiece" }
      },
      hideDefaultActions: true,
      initialWidth: 95
    },
    {
      label: "过期库存",
      fieldName: "overlimitCount",
      hideDefaultActions: true,
      cellAttributes: { alignment: "right" },
      initialWidth: 75
    },
    {
      label: "单位",
      fieldName: "BoxPiece",
      cellAttributes: { alignment: "left" },
      initialWidth: 50,
      wrapText: true,
      hideDefaultActions: true
    }
  ];
  renderedCallback() {
    if (!this.stylesLoaded) {
      Promise.all([loadStyle(this, WrappedHeaderTable)])
        .then(() => {
          console.log("Custom styles loaded");
          this.stylesLoaded = true;
    init() {
        this.showSpinner = true;
        initPage({
            pageSizeLWC: this.pageSize,
            pageTokenLWC: this.currentPageToken
        })
        .catch((error) => {
          console.error("Error loading custom styles");
        });
            .then((result) => {
                this.isNoteStay = result.isNoteStay;
                console.log('isNoteStay:' + result.isNoteStay);
                if (result.result == 'Success') {
                    //分页start
                    this.nextPageToken = result.paginatedAccounts.nextPageToken;
                    this.totalRecords = result.paginatedAccounts.totalRecords;
                    this.recordStart = result.paginatedAccounts.recordStart;
                    this.recordEnd = result.paginatedAccounts.recordEnd;
                    this.totalPages = Math.ceil(
                        result.paginatedAccounts.totalRecords / this.pageSize
                    );
                    console.log('this.totalPages = ' + this.totalPages);
                    this.paginationVisibility =
                        this.totalPages > 1 ? true : false;
                    console.log('this.sortDirection = ' + this.sortDirection);
                    this.loader = false;
                    //分页end
                    this.title = result.title;
                    this.totalNum = result.totalNum;
                    this.orderNumberArrived = result.orderNumberArrived;
                    this.deliveryDetailCount = result.deliveryDetailCount;
                    this.orderNumberNotarrive = result.orderNumberNotarrive;
                    this.moreThanSevenDays = result.moreThanSevenDays;
                    this.raesList = result.raesList;
                    this.raesList.push({
                        Id: '1',
                        Name: '待操作入库订单汇总',
                        Total_num__c: this.totalNum,
                        OrderNumber_arrived__c: this.orderNumberArrived,
                        Delivery_detail_count__c: this.deliveryDetailCount,
                        OrderNumber_notarrive__c: this.orderNumberNotarrive,
                        More_than_seven_days__c: this.moreThanSevenDays
                    });
                    this.column = result.column;
                    this.accountInfo = result.accountInfo;
                    this.accountId = result.accountInfo.Id;
                    this.pageRecords = result.pageRecords;
                    this.overlimitdateorderdetails =
                        result.overlimitdateorderdetails;
                    this.over_view = result.over_view;
                    this.overlimit = result.overlimit;
                    this.hasHos = result.hasHos;
                    this.product_Limit = result.product_Limit;
                    console.log('result==>' + JSON.stringify(result));
                    for (var i in this.pageRecords) {
                        this.pageRecords[i]['Name__c'] =
                            this.pageRecords[i].Prod.Name__c;
                        this.pageRecords[i]['Category3__c'] =
                            this.pageRecords[i].Prod.Category3__c;
                        this.pageRecords[i]['Category4__c'] =
                            this.pageRecords[i].Prod.Category3__c;
                        this.pageRecords[i]['Category5__c'] =
                            this.pageRecords[i].Prod.Category3__c;
                        this.pageRecords[i]['SFDA_Status__c'] =
                            this.pageRecords[i].Prod.SFDA_Status__c;
                    }
                    //hasHos = true 医院特价
                    if (this.hasHos) {
                        let object1 = {
                            label: '医院特价',
                            fieldName: 'hospitalSpecialOffer',
                            hideDefaultActions: true,
                            type: 'boolean',
                            cellAttributes: { alignment: 'left' },
                            initialWidth: 75
                        };
                        this.columns.push(object1);
                        console.log(' this.columns' + this.columns);
                        for (var j in this.pageRecords) {
                            this.pageRecords[j]['Name__c'] =
                                this.pageRecords[j].Prod.Name__c;
                            this.pageRecords[j]['Category3__c'] =
                                this.pageRecords[j].Prod.Category3__c;
                            this.pageRecords[j]['Category4__c'] =
                                this.pageRecords[j].Prod.Category3__c;
                            this.pageRecords[j]['Category5__c'] =
                                this.pageRecords[j].Prod.Category3__c;
                            this.pageRecords[j]['SFDA_Status__c'] =
                                this.pageRecords[j].Prod.SFDA_Status__c;
                            this.pageRecords[j]['hospitalSpecialOffer__c'] =
                                this.pageRecords[j].hospitalSpecialOffer;
                        }
                    }
                    this.showTable = true;
                    if (
                        this.product_Limit != null &&
                        this.product_Limit != ''
                    ) {
                        var records = this.product_Limit.split(',');
                        for (var i in records) {
                            var parms = records[i].split('|');
                            var record = new Object();
                            record['prodName'] = parms[0];
                            record['limitLow'] = parms[1];
                            record['limitUp'] = parms[2];
                            this.productLimitRecords.push(record);
                        }
                    }
                    // this.productLimitRecords = records;
                    console.log(
                        'productLimitRecords:' +
                            JSON.stringify(this.productLimitRecords)
                    );
                    console.log('product_Limit:' + this.product_Limit);
                    this.consumableorderdetailsRecordsview =
                        result.consumableorderdetailsRecordsview;
                    //add by WangXueqin 2023/05/05
                    this.userPro_Type = result.userPro_Type;
                    console.log('this.accountId:' + this.accountId);
                    console.log(
                        'this.accountInfo:' + JSON.stringify(this.accountInfo)
                    );
                    this.showSpinner = false;
                    this.showPage = true;
                    // this.showMyToast('初始化页面成功', '', 'success');
                } else {
                    this.showPage = true;
                    this.showSpinner = false;
                    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'
                );
            });
    }
  }
  connectedCallback() {
    this.loader = true;
    this.init();
  }
  init() {
    this.showSpinner = true;
    initPage({
      pageSizeLWC: this.pageSize,
      pageTokenLWC: this.currentPageToken
    })
      .then((result) => {
        this.isNoteStay = result.isNoteStay;
        console.log("isNoteStay:" + result.isNoteStay);
        if (result.result == "Success") {
          //分页start
          this.nextPageToken = result.paginatedAccounts.nextPageToken;
          this.totalRecords = result.paginatedAccounts.totalRecords;
          this.recordStart = result.paginatedAccounts.recordStart;
          this.recordEnd = result.paginatedAccounts.recordEnd;
          this.totalPages = Math.ceil(
            result.paginatedAccounts.totalRecords / this.pageSize
          );
          console.log("this.totalPages = " + this.totalPages);
          this.paginationVisibility = this.totalPages > 1 ? true : false;
          console.log("this.sortDirection = " + this.sortDirection);
          this.loader = false;
          //分页end
          this.title = result.title;
          this.totalNum = result.totalNum;
          this.orderNumberArrived = result.orderNumberArrived;
          this.deliveryDetailCount = result.deliveryDetailCount;
          this.orderNumberNotarrive = result.orderNumberNotarrive;
          this.moreThanSevenDays = result.moreThanSevenDays;
          this.raesList = result.raesList;
          this.raesList.push({
            Id: "1",
            Name: "待操作入库订单汇总",
            Total_num__c: this.totalNum,
            OrderNumber_arrived__c: this.orderNumberArrived,
            Delivery_detail_count__c: this.deliveryDetailCount,
            OrderNumber_notarrive__c: this.orderNumberNotarrive,
            More_than_seven_days__c: this.moreThanSevenDays
          });
          this.column = result.column;
          this.accountInfo = result.accountInfo;
          this.accountId = result.accountInfo.Id;
          this.pageRecords = result.pageRecords;
          this.overlimitdateorderdetails = result.overlimitdateorderdetails;
          this.over_view = result.over_view;
          this.overlimit = result.overlimit;
          this.hasHos = result.hasHos;
          this.product_Limit = result.product_Limit;
          console.log("result==>" + JSON.stringify(result));
          for (var i in this.pageRecords) {
            this.pageRecords[i]["Name__c"] = this.pageRecords[i].Prod.Name__c;
            this.pageRecords[i]["Category3__c"] =
              this.pageRecords[i].Prod.Category3__c;
            this.pageRecords[i]["Category4__c"] =
              this.pageRecords[i].Prod.Category3__c;
            this.pageRecords[i]["Category5__c"] =
              this.pageRecords[i].Prod.Category3__c;
            this.pageRecords[i]["SFDA_Status__c"] =
              this.pageRecords[i].Prod.SFDA_Status__c;
          }
          //hasHos = true 医院特价
          if (this.hasHos) {
            let object1 = {
              label: "医院特价",
              fieldName: "hospitalSpecialOffer",
              hideDefaultActions: true,
              type: "boolean",
              cellAttributes: { alignment: "left" },
              initialWidth: 75
    //点击链接
    clickLick(event) {
        var outputValue = event.detail.data.value;
        var outputType = event.detail.data.type;
        var recordId = event.detail.data.recordId;
        console.log(
            'click:' + outputValue + '---' + outputType + '---' + recordId
        );
        if (outputType == 'Title') {
            const config = {
                type: 'standard__webPage',
                attributes: {
                    url: '/lexarrivegoods?ESetId=' + recordId
                }
            };
            this.columns.push(object1);
            console.log(" this.columns" + this.columns);
            for (var j in this.pageRecords) {
              this.pageRecords[j]["Name__c"] = this.pageRecords[j].Prod.Name__c;
              this.pageRecords[j]["Category3__c"] =
                this.pageRecords[j].Prod.Category3__c;
              this.pageRecords[j]["Category4__c"] =
                this.pageRecords[j].Prod.Category3__c;
              this.pageRecords[j]["Category5__c"] =
                this.pageRecords[j].Prod.Category3__c;
              this.pageRecords[j]["SFDA_Status__c"] =
                this.pageRecords[j].Prod.SFDA_Status__c;
              this.pageRecords[j]["hospitalSpecialOffer__c"] =
                this.pageRecords[j].hospitalSpecialOffer;
            this[NavigationMixin.Navigate](config);
        } else if (outputType == 'TotalNum') {
            this.popTitle = '所有产品一览';
            initTotalNum({ ordId: recordId, type: '' }).then((result) => {
                if (result.result == 'Success') {
                    this.recordList = result.recordList;
                    console.log('data:' + JSON.stringify(this.recordList));
                    this.showPop = true;
                } else {
                    this.showMyToast(
                        '加载所有产品一览页面失败',
                        result.errorMsg,
                        'error'
                    );
                }
            });
        } else if (outputType == 'ArrDet') {
            if (recordId == '1') {
                this.popTitle = '所有已到货产品一览';
                initArrDetAll({ type: '' }).then((result) => {
                    if (result.result == 'Success') {
                        this.recordList = result.recordList;
                        console.log('data:' + JSON.stringify(this.recordList));
                        this.showPop = true;
                    } else {
                        this.showMyToast(
                            '加载所有已到货产品一览页面失败',
                            result.errorMsg,
                            'error'
                        );
                    }
                });
            } else {
                this.popTitle = '已到货产品一览';
                initArrDet({ orderId: recordId }).then((result) => {
                    if (result.result == 'Success') {
                        this.recordList = result.recordList;
                        console.log('data:' + JSON.stringify(this.recordList));
                        this.showPop = true;
                    } else {
                        this.showMyToast(
                            '加载已到货产品一览页面失败',
                            result.errorMsg,
                            'error'
                        );
                    }
                });
            }
          }
          this.showTable = true;
          if (this.product_Limit != null && this.product_Limit != "") {
            var records = this.product_Limit.split(",");
            for (var i in records) {
              var parms = records[i].split("|");
              var record = new Object();
              record["prodName"] = parms[0];
              record["limitLow"] = parms[1];
              record["limitUp"] = parms[2];
              this.productLimitRecords.push(record);
        } else if (outputType == 'DeliveryDet') {
            if (recordId == '1') {
                this.popTitle = '所有已发货还没到货产品一览';
                initDeliveryDetAll({ type: '' }).then((result) => {
                    if (result.result == 'Success') {
                        this.recordList = result.recordList;
                        console.log('data:' + JSON.stringify(this.recordList));
                        this.showPop = true;
                    } else {
                        this.showMyToast(
                            '加载所有已发货还没到货产品一览页面失败',
                            result.errorMsg,
                            'error'
                        );
                    }
                });
            } else {
                this.popTitle = '未到货产品一览';
                initDeliveryDet({ orderId: recordId }).then((result) => {
                    if (result.result == 'Success') {
                        this.recordList = result.recordList;
                        console.log('data:' + JSON.stringify(this.recordList));
                        this.showPop = true;
                    } else {
                        this.showMyToast(
                            '加载未到货产品一览页面失败',
                            result.errorMsg,
                            'error'
                        );
                    }
                });
            }
          }
          // this.productLimitRecords = records;
          console.log(
            "productLimitRecords:" + JSON.stringify(this.productLimitRecords)
          );
          console.log("product_Limit:" + this.product_Limit);
          this.consumableorderdetailsRecordsview =
            result.consumableorderdetailsRecordsview;
          //add by WangXueqin 2023/05/05
          this.userPro_Type = result.userPro_Type;
          console.log("this.accountId:" + this.accountId);
          console.log("this.accountInfo:" + JSON.stringify(this.accountInfo));
          this.showSpinner = false;
          this.showPage = true;
          // this.showMyToast('初始化页面成功', '', 'success');
        } else {
          this.showPage = true;
          this.showSpinner = false;
          console.log("Error:" + result.errorMsg);
          this.showMyToast("初始化页面失败", result.errorMsg, "error");
        } else if (outputType == 'NotArrDet') {
            if (recordId == '1') {
                this.popTitle = '所有还没发货产品一览';
                initNotArrDetAll({ type: '' }).then((result) => {
                    if (result.result == 'Success') {
                        this.recordList = result.recordList;
                        console.log('data:' + JSON.stringify(this.recordList));
                        this.showPop = true;
                    } else {
                        this.showMyToast(
                            '加载所有还没发货产品一览页面失败',
                            result.errorMsg,
                            'error'
                        );
                    }
                });
            } else {
                this.popTitle = '还没发货数量';
                initNotArrDet({ orderId: recordId }).then((result) => {
                    if (result.result == 'Success') {
                        this.recordList = result.recordList;
                        console.log('data:' + JSON.stringify(this.recordList));
                        this.showPop = true;
                    } else {
                        this.showMyToast(
                            '加载还没发货数量页面失败',
                            result.errorMsg,
                            'error'
                        );
                    }
                });
            }
        } else if (outputType == 'MoreThan7') {
            if (recordId == '1') {
                this.popTitle = '所有发货七天还未到货数';
                initMoreThan7All({ type: '' }).then((result) => {
                    if (result.result == 'Success') {
                        this.recordList = result.recordList;
                        console.log('data:' + JSON.stringify(this.recordList));
                        this.showPop = true;
                    } else {
                        this.showMyToast(
                            '加载所有发货七天还未到货数页面失败',
                            result.errorMsg,
                            'error'
                        );
                    }
                });
            } else {
                this.popTitle = '发货七天还未到货数';
                initMoreThan7({ orderId: recordId }).then((result) => {
                    if (result.result == 'Success') {
                        this.recordList = result.recordList;
                        console.log('data:' + JSON.stringify(this.recordList));
                        this.showPop = true;
                    } else {
                        this.showMyToast(
                            '加载发货七天还未到货数页面失败',
                            result.errorMsg,
                            'error'
                        );
                    }
                });
            }
        }
      })
      .catch((error) => {
        this.showSpinner = false;
        console.log("Error:" + error);
        this.showMyToast("初始化页面失败", JSON.stringify(error), "error");
      });
  }
  //点击链接
  clickLick(event) {
    var outputValue = event.detail.data.value;
    var outputType = event.detail.data.type;
    var recordId = event.detail.data.recordId;
    console.log("click:" + outputValue + "---" + outputType + "---" + recordId);
    if (outputType == "Title") {
      const config = {
        type: "standard__webPage",
        attributes: {
          url: "/lexarrivegoods?ESetId=" + recordId
        }
      };
      this[NavigationMixin.Navigate](config);
    } else if (outputType == "TotalNum") {
      this.popTitle = "所有产品一览";
      initTotalNum({ ordId: recordId, type: "" }).then((result) => {
        if (result.result == "Success") {
          this.recordList = result.recordList;
          console.log("data:" + JSON.stringify(this.recordList));
          this.showPop = true;
        } else {
          this.showMyToast(
            "加载所有产品一览页面失败",
            result.errorMsg,
            "error"
          );
        }
      });
    } else if (outputType == "ArrDet") {
      if (recordId == "1") {
        this.popTitle = "所有已到货产品一览";
        initArrDetAll({ type: "" }).then((result) => {
          if (result.result == "Success") {
            this.recordList = result.recordList;
            console.log("data:" + JSON.stringify(this.recordList));
            this.showPop = true;
          } else {
            this.showMyToast(
              "加载所有已到货产品一览页面失败",
              result.errorMsg,
              "error"
            );
          }
        });
      } else {
        this.popTitle = "已到货产品一览";
        initArrDet({ orderId: recordId }).then((result) => {
          if (result.result == "Success") {
            this.recordList = result.recordList;
            console.log("data:" + JSON.stringify(this.recordList));
            this.showPop = true;
          } else {
            this.showMyToast(
              "加载已到货产品一览页面失败",
              result.errorMsg,
              "error"
            );
          }
        });
      }
    } else if (outputType == "DeliveryDet") {
      if (recordId == "1") {
        this.popTitle = "所有已发货还没到货产品一览";
        initDeliveryDetAll({ type: "" }).then((result) => {
          if (result.result == "Success") {
            this.recordList = result.recordList;
            console.log("data:" + JSON.stringify(this.recordList));
            this.showPop = true;
          } else {
            this.showMyToast(
              "加载所有已发货还没到货产品一览页面失败",
              result.errorMsg,
              "error"
            );
          }
        });
      } else {
        this.popTitle = "未到货产品一览";
        initDeliveryDet({ orderId: recordId }).then((result) => {
          if (result.result == "Success") {
            this.recordList = result.recordList;
            console.log("data:" + JSON.stringify(this.recordList));
            this.showPop = true;
          } else {
            this.showMyToast(
              "加载未到货产品一览页面失败",
              result.errorMsg,
              "error"
            );
          }
        });
      }
    } else if (outputType == "NotArrDet") {
      if (recordId == "1") {
        this.popTitle = "所有还没发货产品一览";
        initNotArrDetAll({ type: "" }).then((result) => {
          if (result.result == "Success") {
            this.recordList = result.recordList;
            console.log("data:" + JSON.stringify(this.recordList));
            this.showPop = true;
          } else {
            this.showMyToast(
              "加载所有还没发货产品一览页面失败",
              result.errorMsg,
              "error"
            );
          }
        });
      } else {
        this.popTitle = "还没发货数量";
        initNotArrDet({ orderId: recordId }).then((result) => {
          if (result.result == "Success") {
            this.recordList = result.recordList;
            console.log("data:" + JSON.stringify(this.recordList));
            this.showPop = true;
          } else {
            this.showMyToast(
              "加载还没发货数量页面失败",
              result.errorMsg,
              "error"
            );
          }
        });
      }
    } else if (outputType == "MoreThan7") {
      if (recordId == "1") {
        this.popTitle = "所有发货七天还未到货数";
        initMoreThan7All({ type: "" }).then((result) => {
          if (result.result == "Success") {
            this.recordList = result.recordList;
            console.log("data:" + JSON.stringify(this.recordList));
            this.showPop = true;
          } else {
            this.showMyToast(
              "加载所有发货七天还未到货数页面失败",
              result.errorMsg,
              "error"
            );
          }
        });
      } else {
        this.popTitle = "发货七天还未到货数";
        initMoreThan7({ orderId: recordId }).then((result) => {
          if (result.result == "Success") {
            this.recordList = result.recordList;
            console.log("data:" + JSON.stringify(this.recordList));
            this.showPop = true;
          } else {
            this.showMyToast(
              "加载发货七天还未到货数页面失败",
              result.errorMsg,
              "error"
            );
          }
        });
      }
    }
  }
  //关闭弹窗
  closePop() {
    this.showPop = false;
  }
  editProductLimit(event) {
    //add by Wang Xueqin 2023/05/05
    let url =
      "/LexProductLimitEdit?accountid=" +
      this.accountId +
      "&userPro_Type=" +
      this.userPro_Type;
    const config = {
      type: "standard__webPage",
      attributes: {
        url: url
      }
    };
    this[NavigationMixin.Navigate](config);
  }
  //新建消耗品订单
  newOrder() {
    this[NavigationMixin.Navigate]({
      type: "standard__objectPage",
      attributes: {
        objectApiName: "Consumable_order__c",
        actionName: "new"
      },
      state: {
        useRecordTypeCheck: 1
      }
    });
  }
  showMyToast(title, message, variant) {
    console.log("show custom message");
    var iconName = "";
    var content = "";
    if (variant == "success") {
      iconName = "utility:check";
    } else {
      iconName = "utility:error";
    //关闭弹窗
    closePop() {
        this.showPop = false;
    }
    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);
  }
  //排序
  sortByMethod(field, reverse, primer) {
    const key = primer
      ? function (x) {
          return primer(x[field]);
        }
      : function (x) {
          return x[field];
    editProductLimit(event) {
        //add by Wang Xueqin 2023/05/05
        //let url =
<<<<<<< HEAD
        // '/LexProductLimitEdit?accountid=' +
        // this.accountId +
        // '&userPro_Type=' +
        // this.userPro_Type;
        let url =
            '/lexproductlimitedit?accountid=' +
            this.accountId +
            '&userPro_Type=' +
            this.userPro_Type;
=======
            // '/LexProductLimitEdit?accountid=' +
            // this.accountId +
            // '&userPro_Type=' +
            // this.userPro_Type;
        let url = "/lexproductlimitedit?accountid=" + this.accountId + "&userPro_Type=" + this.userPro_Type;
>>>>>>> LEXCommunityLiJun
        const config = {
            type: 'standard__webPage',
            attributes: {
                url: url
            }
        };
    return function (a, b) {
      a = key(a);
      b = key(b);
      return reverse * ((a > b) - (b > a));
    };
  }
  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);
    const { fieldName: sortedBy, sortDirection } = event.detail;
    const cloneData = [...this.pageRecords];
    cloneData.sort(
      this.sortByMethod(sortedBy, sortDirection === "asc" ? 1 : -1)
    );
    this.pageRecords = 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;
        this[NavigationMixin.Navigate](config);
    }
  }
  handlePrevious() {
    this.currentPageToken =
      Number(this.currentPageToken) - Number(this.pageSize);
    this.init();
  }
  handleNext() {
    this.currentPageToken =
      Number(this.currentPageToken) + Number(this.pageSize);
    this.init();
  }
  handleFirst() {
    this.currentPageToken = 0;
    this.init();
  }
    //新建消耗品订单
    newOrder() {
        this[NavigationMixin.Navigate]({
            type: 'standard__objectPage',
            attributes: {
                objectApiName: 'Consumable_order__c',
                actionName: 'new'
            },
            state: {
                useRecordTypeCheck: 1
            }
        });
    }
  handleLast() {
    this.currentPageToken =
      this.totalPages > 1 ? (this.totalPages - 1) * this.pageSize : 0;
    this.init();
  }
    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);
    }
    //排序
  handlePageschange(event) {
    console.log(event.detail);
    this.pageSize = event.detail;
    this.currentPageToken = 0;
    this.init();
  }
  get previousButtonDisabled() {
    return this.currentPageToken === 0;
  }
    sortByMethod(field, reverse, primer) {
        const key = primer
            ? function (x) {
                  return primer(x[field]);
              }
            : function (x) {
                  return x[field];
              };
  get nextButtonDisabled() {
    return this.nextPageToken === undefined;
  }
        return function (a, b) {
            a = key(a);
            b = key(b);
            return reverse * ((a > b) - (b > a));
        };
    }
    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);
        const { fieldName: sortedBy, sortDirection } = event.detail;
        const cloneData = [...this.pageRecords];
        cloneData.sort(
            this.sortByMethod(sortedBy, sortDirection === 'asc' ? 1 : -1)
        );
        this.pageRecords = 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.init();
    }
    handleNext() {
        this.currentPageToken =
            Number(this.currentPageToken) + Number(this.pageSize);
        this.init();
    }
    handleFirst() {
        this.currentPageToken = 0;
        this.init();
    }
    handleLast() {
        this.currentPageToken =
            this.totalPages > 1 ? (this.totalPages - 1) * this.pageSize : 0;
        this.init();
    }
    handlePageschange(event) {
        console.log(event.detail);
        this.pageSize = event.detail;
        this.currentPageToken = 0;
        this.init();
    }
    get previousButtonDisabled() {
        return this.currentPageToken === 0;
    }
    get nextButtonDisabled() {
        return this.nextPageToken === undefined;
    }
<<<<<<< HEAD
}
=======
}
>>>>>>> LEXCommunityLiJun