buli
2023-07-14 5b5c1e16deaa3a9d6d0ed1ffca390655ed103df7
force-app/main/default/lwc/lexOutboundorderImport/lexOutboundorderImport.js
@@ -1,78 +1,78 @@
import { LightningElement, api, track, wire } from 'lwc';
import { ShowToastEvent } from 'lightning/platformShowToastEvent';
import init from '@salesforce/apex/LexOutboundorderImportController.init';
import importCSVFile from '@salesforce/apex/LexOutboundorderImportController.importCSVFile';
import dataImport from '@salesforce/apex/LexOutboundorderImportController.dataImport';
//table css
import { loadStyle } from 'lightning/platformResourceLoader';
import WrappedHeaderTable from '@salesforce/resourceUrl/lexdatatable';
import { LightningElement, api, track, wire } from "lwc";
import { ShowToastEvent } from "lightning/platformShowToastEvent";
import init from "@salesforce/apex/LexOutboundorderImportController.init";
import importCSVFile from "@salesforce/apex/LexOutboundorderImportController.importCSVFile";
import dataImport from "@salesforce/apex/LexOutboundorderImportController.dataImport";
//table css
import { loadStyle } from "lightning/platformResourceLoader";
import WrappedHeaderTable from "@salesforce/resourceUrl/lexdatatable";
const columns = [
    {
        label: '出库单名称',
        fieldName: 'orderName',
        label: "出库单名称",
        fieldName: "orderName",
        hideDefaultActions: true,
        initialWidth: 200,
        wrapText: true
        wrapText: true,
    },
    {
        label: '目的',
        fieldName: 'orderSummonsForDirction',
        label: "目的",
        fieldName: "orderSummonsForDirction",
        hideDefaultActions: true,
        wrapText: true
        wrapText: true,
    },
    {
        label: '医院编码',
        fieldName: 'hospitalCode',
        label: "医院编码",
        fieldName: "hospitalCode",
        hideDefaultActions: true,
        wrapText: true
        wrapText: true,
    },
    {
        label: '医院名称',
        fieldName: 'hospitalName',
        label: "医院名称",
        fieldName: "hospitalName",
        hideDefaultActions: true,
        wrapText: true,
        initialWidth: 300
    },
    {
        label: '科室',
        fieldName: 'orderOrderForCustomerText',
        label: "科室",
        fieldName: "orderOrderForCustomerText",
        hideDefaultActions: true,
        wrapText: true
        wrapText: true,
    },
    {
        label: '二级经销商',
        fieldName: 'agencyName',
        label: "二级经销商",
        fieldName: "agencyName",
        hideDefaultActions: true,
        wrapText: true
        wrapText: true,
    },
    {
        label: '出库/销售日期',
        fieldName: 'orderOutboundDate',
        label: "出库/销售日期",
        fieldName: "orderOutboundDate",
        hideDefaultActions: true,
        wrapText: true
    }
        wrapText: true,
    },
];
export default class LexOutboundorderImport extends LightningElement {
    @track isShowSpinner = true;
    //文件上传
    @track showLoadingSpinner = false;
    @track UploadFile = 'Upload File';
    @track fileName = '';
    @track UploadFile = "Upload File";
    @track fileName = "";
    @track fileData = [];
    @track fileColumns = [
        {
            label: '标题',
            fieldName: 'url',
            type: 'url',
            typeAttributes: { label: { fieldName: 'Title' }, target: '_blank' },
            hideDefaultActions: true
            label: "标题",
            fieldName: "url",
            type: "url",
            typeAttributes: { label: { fieldName: "Title" }, target: "_blank" },
            hideDefaultActions: true,
        },
        {
            label: '创建人',
            fieldName: 'CreatedByName',
            hideDefaultActions: true
        }
            label: "创建人",
            fieldName: "CreatedByName",
            hideDefaultActions: true,
        },
    ];
    filesUploaded = [];
    fileContents;
@@ -80,7 +80,7 @@
    content;
    MAX_FILE_SIZE = 1500000;
    get acceptedType() {
        return ['.csv'];
        return [".csv"];
    }
    //列表
@@ -88,11 +88,11 @@
    @track data = [];
    //数据
    @track accountid = '';
    @track userWorkLocation = '';
    @track agencyProType = '';
    @track accountName = '';
    @track sqlagencyProType = '';
    @track accountid = "";
    @track userWorkLocation = "";
    @track agencyProType = "";
    @track accountName = "";
    @track sqlagencyProType = "";
    @track csvRecordStr = [];
    @track saveFLGbln = false;
    @track secondAgencyMap = {};
@@ -103,37 +103,35 @@
        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() {
        init()
            .then((r) => {
                r = JSON.parse(JSON.stringify(r));
                console.log('r = ' + JSON.stringify(r));
                if (r.status == 'Success') {
                    this.accountid = r.entity.accountid;
                    this.userWorkLocation = r.entity.userWorkLocation;
                    this.agencyProType = r.entity.agencyProType;
                    console.log('this.agencyProType = ' + this.agencyProType);
                    this.accountName = r.entity.accountName;
                    this.sqlagencyProType = r.entity.sqlagencyProType;
                    this.isShowSpinner = false;
                } else {
                    console.log('r = ' + JSON.stringify(r));
                    this.showMyToast('初始化失败', r.msg, 'Error');
                }
            })
            .catch((error) => {
                console.log('error = ' + JSON.stringify(error));
                this.showMyToast('错误', '初始化失败', 'Error');
            });
        init().then((r) => {
            r = JSON.parse(JSON.stringify(r));
            console.log("r = " + JSON.stringify(r));
            if (r.status == "Success") {
                this.accountid = r.entity.accountid;
                this.userWorkLocation = r.entity.userWorkLocation;
                this.agencyProType = r.entity.agencyProType;
                console.log('this.agencyProType = ' + this.agencyProType);
                this.accountName = r.entity.accountName;
                this.sqlagencyProType = r.entity.sqlagencyProType;
                this.isShowSpinner = false;
            } else {
                console.log("r = " + JSON.stringify(r));
                this.showMyToast('初始化失败', r.msg, 'Error')
            }
        }).catch((error) => {
            console.log("error = " + JSON.stringify(error));
            this.showMyToast('错误', '初始化失败', 'Error')
        });
    }
    getCsvFile() {
@@ -142,7 +140,7 @@
        if (this.filesUploaded.length > 0) {
            this.file = this.filesUploaded[0];
            if (this.file.size > this.MAX_FILE_SIZE) {
                window.console.log('文件过大');
                window.console.log("文件过大");
                this.isShowSpinner = false;
                return;
            }
@@ -150,78 +148,66 @@
            this.fileReader.onloadend = () => {
                this.fileContents = this.fileReader.result;
                let base64 = 'base64,';
                this.content =
                    this.fileContents.indexOf(base64) + base64.length;
                let base64 = "base64,";
                this.content = this.fileContents.indexOf(base64) + base64.length;
                this.fileContents = this.fileContents.substring(this.content);
                console.log('getCsvFile');
                console.log('getCsvFile')
                this.importCSVFile();
            };
            this.fileReader.readAsDataURL(this.file);
        } else {
            this.fileName = '选择一个csv文件上传';
            this.showMyToast('上传失败', '选择一个csv文件上传', 'Error');
            this.fileName = "选择一个csv文件上传";
            this.showMyToast('上传失败', '选择一个csv文件上传', 'Error')
        }
    }
    importCSVFile() {
        console.log('importCSVFile');
        console.log('importCSVFile')
        console.log('this.sqlagencyProType = ' + this.sqlagencyProType);
        console.log('this.userWorkLocation = ' + this.userWorkLocation);
        console.log('this.accountName = ' + this.accountName);
        console.log(
            'encodeURIComponent(this.fileContents) = ' +
                encodeURIComponent(this.fileContents)
        );
        console.log('encodeURIComponent(this.fileContents) = ' + encodeURIComponent(this.fileContents));
        importCSVFile({
            base64DataLwc: encodeURIComponent(this.fileContents),
            sqlagencyProTypeLwc: this.sqlagencyProType,
            userWorkLocationLwc: this.userWorkLocation,
            accountNameLwc: this.accountName
        })
            .then((r) => {
                r = JSON.parse(JSON.stringify(r));
                console.log('r = ' + JSON.stringify(r));
                if (r.status == 'Success' && r.msg == '') {
                    console.log('importCSVFile success');
                    this.saveFLGbln = r.entity.saveFLGbln;
                    this.csvRecordStr = r.entity.csvRecordStr;
                    this.secondAgencyMap = r.entity.secondAgencyMap;
                    this.hospitalSysMap = r.entity.hospitalSysMap;
                    this.data = r.entity.orderRecords;
                    for (var i in this.data) {
                        this.data[i]['orderName'] = this.data[i].order.Name;
                        this.data[i]['orderSummonsForDirction'] =
                            this.data[i].order.SummonsForDirction__c;
                        this.data[i]['orderOrderForCustomerText'] =
                            this.data[i].order.Order_ForCustomerText__c;
                        this.data[i]['orderOutboundDate'] =
                            this.data[i].order.Outbound_Date__c;
                    }
                    this.isShowSpinner = false;
                } else if (r.msg != '') {
                    console.log('r.msg = ' + JSON.stringify(r.msg));
                    this.saveFLGbln = r.entity.saveFLGbln;
                    this.data = r.entity.orderRecords;
                    for (var i in this.data) {
                        this.data[i]['orderName'] = this.data[i].order.Name;
                        this.data[i]['orderSummonsForDirction'] =
                            this.data[i].order.SummonsForDirction__c;
                        this.data[i]['orderOrderForCustomerText'] =
                            this.data[i].order.Order_ForCustomerText__c;
                        this.data[i]['orderOutboundDate'] =
                            this.data[i].order.Outbound_Date__c;
                    }
                    this.showMyToast('导入失败', r.msg, 'Error');
                } else {
                    console.log('r.msg = ' + JSON.stringify(r.msg));
                    this.showMyToast('导入失败', r.msg, 'Error');
            accountNameLwc: this.accountName,
        }).then((r) => {
            r = JSON.parse(JSON.stringify(r));
            console.log("r = " + JSON.stringify(r));
            if (r.status == "Success" && r.msg == "") {
                console.log("importCSVFile success");
                this.saveFLGbln = r.entity.saveFLGbln;
                this.csvRecordStr = r.entity.csvRecordStr;
                this.secondAgencyMap = r.entity.secondAgencyMap;
                this.hospitalSysMap = r.entity.hospitalSysMap;
                this.data = r.entity.orderRecords;
                for (var i in this.data) {
                    this.data[i]['orderName'] = this.data[i].order.Name;
                    this.data[i]['orderSummonsForDirction'] = this.data[i].order.SummonsForDirction__c;
                    this.data[i]['orderOrderForCustomerText'] = this.data[i].order.Order_ForCustomerText__c;
                    this.data[i]['orderOutboundDate'] = this.data[i].order.Outbound_Date__c;
                }
            })
            .catch((error) => {
                console.log('error = ' + JSON.stringify(error.message));
                this.showMyToast('导入错误', '导入失败', 'Error');
            });
                this.isShowSpinner = false;
            } else if (r.msg != "") {
                console.log("r.msg = " + JSON.stringify(r.msg));
                this.saveFLGbln = r.entity.saveFLGbln;
                this.data = r.entity.orderRecords;
                for (var i in this.data) {
                    this.data[i]['orderName'] = this.data[i].order.Name;
                    this.data[i]['orderSummonsForDirction'] = this.data[i].order.SummonsForDirction__c;
                    this.data[i]['orderOrderForCustomerText'] = this.data[i].order.Order_ForCustomerText__c;
                    this.data[i]['orderOutboundDate'] = this.data[i].order.Outbound_Date__c;
                }
                this.showMyToast('导入失败', r.msg, 'Error')
            } else {
                console.log("r.msg = " + JSON.stringify(r.msg));
                this.showMyToast('导入失败', r.msg, 'Error')
            }
        }).catch((error) => {
            console.log("error = " + JSON.stringify(error.message));
            this.showMyToast('导入错误', '导入失败', 'Error')
        });
    }
    dataImport() {
@@ -243,31 +229,29 @@
            accountidLwc: this.accountid,
            agencyProTypeLwc: this.agencyProType,
            secondAgencyMapLwc: this.secondAgencyMap,
            hospitalSysMapLwc: this.hospitalSysMap
        })
            .then((r) => {
                r = JSON.parse(JSON.stringify(r));
                console.log('r = ' + JSON.stringify(r));
                if (r.status == 'Success' && r.msg == '') {
                    this.saveFLGbln = true;
                    console.log('dataImport success');
                    this.showMyToast('成功', '保存成功', 'Success');
                } else if (r.msg != '') {
                    console.log('r.msg = ' + JSON.stringify(r.msg));
                    this.showMyToast('保存失败', r.msg, 'Error');
                } else {
                    console.log('r.msg = ' + JSON.stringify(r.msg));
                    this.showMyToast('保存失败', r.msg, 'Error');
                }
            })
            .catch((error) => {
                console.log('error = ' + JSON.stringify(error.message));
                this.showMyToast('错误', '保存失败', 'Error');
            });
            hospitalSysMapLwc: this.hospitalSysMap,
        }).then((r) => {
            r = JSON.parse(JSON.stringify(r));
            console.log("r = " + JSON.stringify(r));
            if (r.status == "Success" && r.msg == "") {
                this.saveFLGbln = true;
                console.log("dataImport success");
                this.showMyToast('成功', '保存成功', 'Success')
            } else if (r.msg != "") {
                console.log("r.msg = " + JSON.stringify(r.msg));
                this.showMyToast('保存失败', r.msg, 'Error')
            } else {
                console.log("r.msg = " + JSON.stringify(r.msg));
                this.showMyToast('保存失败', r.msg, 'Error')
            }
        }).catch((error) => {
            console.log("error = " + JSON.stringify(error.message));
            this.showMyToast('错误', '保存失败', 'Error')
        });
    }
    handleFilesChange(event) {
        console.log('handleFilesChange');
        console.log("handleFilesChange");
        if (event.target.files.length > 0) {
            this.filesUploaded = event.target.files;
            this.fileName = event.target.files[0].name;
@@ -285,17 +269,10 @@
            iconName = 'utility:error';
        }
        if (message != '') {
            content =
                '<h2><strong>' +
                title +
                '<strong/></h2><h5>' +
                message +
                '</h5>';
            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);
    }
}
}