buli
2023-06-05 0f44cb1a0b7b36860e9ce81c1eac9e395d87f0b4
force-app/main/default/lwc/lexSaleAndDelivery/lexSaleAndDelivery.js
@@ -1,25 +1,29 @@
import { LightningElement, wire, api, track } from 'lwc';
import { NavigationMixin } from 'lightning/navigation';
import init from '@salesforce/apex/LexSaleAndDeliveryController.init';
import init from '@salesforce/apex/LexSaleAndDeliveryController.init';//cleanUp
import cleanUp from '@salesforce/apex/LexSaleAndDeliveryController.cleanUp';
import { ShowToastEvent } from "lightning/platformShowToastEvent";
import searchOrderInstatus from '@salesforce/apex/LexSaleAndDeliveryController.searchOrderInstatus';
import searchConsumableorderdetails from '@salesforce/apex/LexSaleAndDeliveryController.searchConsumableorderdetails';
import searchConsumableorFinish from '@salesforce/apex/LexSaleAndDeliveryController.searchConsumableorFinish';
//table css
import { loadStyle } from "lightning/platformResourceLoader";
import WrappedHeaderTable from "@salesforce/resourceUrl/lexdatatable";
const columns = [
    {
        label: '出库日',
        fieldName: 'Outbound_Date__c',
    {
        label: '出库日',
        fieldName: 'Outbound_Date__c',
        type: 'date',
        initialWidth : 100,
        hideDefaultActions: true ,
        initialWidth: 130,
        hideDefaultActions: true,
        sortable: true
    },
    {
        label: '出库单号',
        fieldName: 'url',
        type : 'url',
        initialWidth : 175,
    {
        label: '出库单号',
        fieldName: 'url',
        type: 'url',
        initialWidth: 175,
        typeAttributes: {
            label: {
                fieldName: 'Name'
@@ -27,132 +31,62 @@
            target: '_blank'
        },
        hideDefaultActions: true,
        sortable: true
    },
    {
        label: '客户名',
        fieldName: 'ShipmentAccount__c',
        hideDefaultActions: true ,
        wrapText:true,
        initialWidth: 225,
        sortable: true
    },
    {
        label: '科室',
        fieldName: 'Order_ForCustomerText__c',
        hideDefaultActions: true
    {
        label: '客户名',
        fieldName: 'ShipmentAccount__c',
        hideDefaultActions: true,
        wrapText: true,
        sortable: true
    },
    {
        label: '出库单状态',
        fieldName: 'SummonsStatus_c__c',
        hideDefaultActions: true ,
        sortable: true,
        initialWidth : 100
    {
        label: '科室',
        fieldName: 'Order_ForCustomerText__c',
        hideDefaultActions: true,
        initialWidth: 120
    },
    {
        label: '开票状态',
        fieldName: 'Billed_Status__c',
    {
        label: '出库单状态',
        fieldName: 'SummonsStatus_c__c',
        hideDefaultActions: true,
        sortable: true,
        initialWidth : 100
        initialWidth: 100
    },
    {
        label: '未发票金额(元)',
        fieldName: 'InvoiceNotPro_money__c',
    {
        label: '开票状态',
        fieldName: 'Billed_Status__c',
        hideDefaultActions: true,
        initialWidth : 150
        sortable: true,
        initialWidth: 100
    },
    {
        label: '创建日期',
    {
        label: '未发票金额(元)',
        fieldName: 'InvoiceNotPro_money__c',
        hideDefaultActions: true,
        type: "number",
        typeAttributes: {
            minimumFractionDigits: 2,
        },
        initialWidth: 150
    },
    {
        label: '创建日期',
        fieldName: 'CreatedDate',
        hideDefaultActions: true,
        sortable: true ,
        sortable: true,
        type: "date",
        typeAttributes:{
        typeAttributes: {
            timeZone: "Asia/Shanghai",
            day: "numeric",
            month: "numeric",
            year: "numeric",
            month: "long",
            day: "2-digit",
            hour: "2-digit",
            minute: "2-digit"
        },
        initialWidth : 200
        initialWidth: 200
    }
];
const editColumns = [
    {
        label: '出库日',
        fieldName: 'Outbound_Date__c',
        type: 'date',
        hideDefaultActions: true ,
        sortable: true
    },
    {
        label: '出库单号',
        fieldName: 'url',
        type : 'url',
        typeAttributes: {
            label: {
                fieldName: 'Name'
            },
            target: '_blank'
        },
        hideDefaultActions: true,
        sortable: true
    },
    {
        label: '客户名',
        fieldName: 'ShipmentAccount__c',
        hideDefaultActions: true ,
        sortable: true
    },
    {
        label: '科室',
        fieldName: 'Order_ForCustomerText__c',
        hideDefaultActions: true
    },
    {
        label: '出库单状态',
        fieldName: 'SummonsStatus_c__c',
        hideDefaultActions: true ,
        sortable: true,
        initialWidth : 100
    },
    {
        label: '开票状态',
        fieldName: 'Billed_Status__c',
        hideDefaultActions: true,
        sortable: true,
        initialWidth : 100
    },
    {
        label: '未发票金额(元)',
        fieldName: 'InvoiceNotPro_money__c',
        hideDefaultActions: true,
        initialWidth : 150
    },
    {
        label: '创建日期',
        fieldName: 'CreatedDate',
        hideDefaultActions: true,
        sortable: true
    },
    // {
    //     label: '单位',
    //     hideDefaultActions: true,
    //     type:'customUnit',
    // },
    // {
    //     label: '出货数量',
    //     hideDefaultActions: true,
    //     type:'customShipment',
    // },
    // {
    //     label: '出货单价(元)',
    //     hideDefaultActions: true,
    //     type:'customShipmentUnitPrice',
    // }
];
export default class LexSaleAndDelivery extends NavigationMixin(LightningElement) {
    columns = columns;
@@ -175,6 +109,21 @@
    sortDirection = 'asc';
    sortedBy;
    stylesLoaded = false;
    renderedCallback() {
        if (!this.stylesLoaded) {
            Promise.all([loadStyle(this, WrappedHeaderTable)])
                .then(() => {
                    console.log("Custom styles loaded");
                    this.stylesLoaded = true;
                })
                .catch((error) => {
                    console.error("Error loading custom styles");
                });
        }
    }
    connectedCallback() {
        init().then((r) => {
            r = JSON.parse(JSON.stringify(r));
@@ -185,23 +134,27 @@
                this.agencyProType = r.entity.agencyProType;
                this.userWorkLocation = r.entity.userWorkLocation;
                this.data = r.entity.raesList;
                for(var i in this.data){
                    this.data[i]['url'] = '/s/lexsummonscreat?ESetid='+this.data[i].Id;
                for (var i in this.data) {
                    this.data[i]['url'] = '/s/lexsummonscreat?ESetid=' + this.data[i].Id;
                }
                console.log('this.data = ' + JSON.stringify(this.data));
                this.isShowSpinner = false;
                this.showTable = true;
            } else {
                console.log('r = ' + JSON.stringify(r))
                this.showToast('Error', r.msg);
                this.showMyToast('初始化失败', r.msg,'Error');
            }
        }).catch((error) => {
            console.log('error = ' + JSON.stringify(error))
            this.showMyToast('错误', '初始化失败','Error');
        })
    }
    //新建出库单
    neworderhead(){
    neworderhead() {
        this[NavigationMixin.Navigate]({
            type: 'standard__webPage',
            attributes: {
@@ -228,19 +181,20 @@
            console.log('r = ' + JSON.stringify(r));
            if (r.status == 'Success') {
                this.data = r.entity.raesList;
                for(var i in this.data){
                    this.data[i]['url'] = '/s/lexsummonscreat?ESetid='+this.data[i].Id;
                for (var i in this.data) {
                    this.data[i]['url'] = '/s/lexsummonscreat?ESetid=' + this.data[i].Id;
                }
                this.message = r.msg;
                if(this.message == '没有搜索到相关出库单。'){
                    this.showToast('Error', this.message);
                }else{
                    this.showToast('Success', this.message);
                if (this.message == '没有搜索到相关出库单') {
                    this.showMyToast('搜索失败', this.message,'Error');
                } else {
                    this.showMyToast('搜索成功', this.message,'Success');
                }
                this.isShowSpinner = false;
                //this.isCssLoaded = true
                this.showTable = true;
            } else {
                this.showToast('Error', r.msg);
                this.showMyToast('错误',  r.msg,'Error');
            }
        }).catch((error) => {
            console.log('error = ' + JSON.stringify(error))
@@ -248,10 +202,12 @@
    }
    //还没出库的出库单
    searchConsumableorderdetailsJs(){
    searchConsumableorderdetailsJs() {
        this.isShowSpinner = true;
        this.showTable = false;
        console.log('searchConsumableorderdetailsJs');
        console.log('this.deliveryFromDate = ' + this.deliveryFromDate);
        console.log('this.deliveryToDate = ' + this.deliveryToDate);
        searchConsumableorderdetails({
            orderDate: this.deliveryFromDate,
            deliverDate: this.deliveryToDate,
@@ -265,27 +221,28 @@
            console.log('r = ' + JSON.stringify(r));
            if (r.status == 'Success') {
                this.data = r.entity.raesList;
                for(var i in this.data){
                    this.data[i]['url'] = '/s/lexsummonscreat?ESetid='+this.data[i].Id;
                for (var i in this.data) {
                    this.data[i]['url'] = '/s/lexsummonscreat?ESetid=' + this.data[i].Id;
                }
                this.message = r.msg;
                if(this.message == '没有搜索到相关出库单。'){
                    this.showToast('Error', this.message);
                }else{
                    this.showToast('Success', this.message);
                if (this.message == '没有搜索到相关出库单') {
                    this.showMyToast('搜索失败', this.message,'Error');
                } else {
                    this.showMyToast('搜索成功', this.message,'Success');
                }
                this.isShowSpinner = false;
                this.showTable = true;
            } else {
                this.showToast('Error', r.msg);
                this.showMyToast('搜索失败', r.msg,'Error');
            }
        }).catch((error) => {
            console.log('error = ' + JSON.stringify(error))
            this.showMyToast('搜索失败', '搜索还没出库的出库单出错','Error');
        })
    }
    //已出库已开票的出库单
    searchConsumableorFinishJs(){
    searchConsumableorFinishJs() {
        this.isShowSpinner = true;
        this.showTable = false;
        console.log('searchConsumableorFinishJs');
@@ -302,22 +259,23 @@
            console.log('r = ' + JSON.stringify(r));
            if (r.status == 'Success') {
                this.data = r.entity.raesList;
                for(var i in this.data){
                    this.data[i]['url'] = '/s/lexsummonscreat?ESetid='+this.data[i].Id;
                for (var i in this.data) {
                    this.data[i]['url'] = '/s/lexsummonscreat?ESetid=' + this.data[i].Id;
                }
                this.message = r.msg;
                if(this.message == '没有搜索到相关出库单。'){
                    this.showToast('Error', this.message);
                }else{
                    this.showToast('Success', this.message);
                if (this.message == '没有搜索到相关出库单') {
                    this.showMyToast('搜索失败', this.message,'Error');
                } else {
                    this.showMyToast('搜索成功', this.message,'Success');
                }
                this.isShowSpinner = false;
                this.showTable = true;
            } else {
                this.showToast('Error', r.msg);
                this.showMyToast('搜索失败', r.msg,'Error');
            }
        }).catch((error) => {
            console.log('error = ' + JSON.stringify(error))
            this.showMyToast('搜索失败', '搜索已出库已开票的出库单出错','Error');
        })
    }
@@ -327,18 +285,47 @@
        this.deliveryToDate = '';
        this.deliveryOrderNo = '';
        this.contactName = '';
        this.isShowSpinner = true;
        this.showTable = false;
        cleanUp({
            accountid: this.accountid,
            agencyProType: this.agencyProType,
            userWorkLocation: this.userWorkLocation,
        }).then((r) => {
            r = JSON.parse(JSON.stringify(r));
            console.log('r = ' + JSON.stringify(r));
            if (r.status == 'Success') {
                this.data = r.entity.raesList;
                for (var i in this.data) {
                    this.data[i]['url'] = '/s/lexsummonscreat?ESetid=' + this.data[i].Id;
                }
                this.message = r.msg;
                if (this.message == '没有搜索到相关出库单') {
                    this.showMyToast('搜索失败', this.message,'Error');
                } else {
                    this.showMyToast('搜索成功', this.message,'Success');
                }
                this.isShowSpinner = false;
                this.showTable = true;
            } else {
                this.showMyToast('搜索失败', r.msg,'Error');
            }
        }).catch((error) => {
            console.log('error = ' + JSON.stringify(error))
            this.showMyToast('搜索失败', '搜索失败','Error');
        })
    }
    //Capture the event fired from the paginator component
    handlePaginatorChange(event){
    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{
        if (this.recordsToDisplay && this.recordsToDisplay > 0) {
            this.rowNumberOffset = this.recordsToDisplay[0].rowNumber - 1;
        } else {
            this.rowNumberOffset = 0;
        }
    }
        }
    }
    //排序
    onHandleSort(event) {
@@ -353,11 +340,11 @@
    sortBy(field, reverse, primer) {
        const key = primer
            ? function (x) {
                  return primer(x[field]);
              }
                return primer(x[field]);
            }
            : function (x) {
                  return x[field];
              };
                return x[field];
            };
        return function (a, b) {
            a = key(a);
@@ -389,7 +376,7 @@
    }
    editProductLimit(){
    editProductLimit() {
        this[NavigationMixin.Navigate]({
            type: 'standard__webPage',
            attributes: {
@@ -398,18 +385,26 @@
        });
    }
    showToast(type, msg) {
    showMyToast(title, message, variant) {
        this.isShowSpinner = false;
        const event = new ShowToastEvent({
            title: type,
            variant: type,
            message: msg
        });
        this.dispatchEvent(event);
        console.log('show custom message');
        var iconName = '';
        var content = '';
        if (variant.toLowerCase() == '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);
    }
    @track isModalOpen = false;
    openModal(){
    openModal() {
        this.isModalOpen = true;
    }
}