销售出库明细报表:导出功能因为只显示单据第一行的主表信息而导致部分内容空白问题解决
1个文件已修改
102 ■■■■ 已修改文件
WebTM/views/应收管理/报表分析/Kf_SellOutEntryReport.html 102 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/Ó¦ÊÕ¹ÜÀí/±¨±í·ÖÎö/Kf_SellOutEntryReport.html
@@ -200,6 +200,7 @@
            //导出功能获取数据
            var option_Bak = {};
            var option1_Bak = {};
            var sWhere_Bak = "";
            //#endregion
            //#region è¿›å…¥é¡µé¢å³åŠ è½½
@@ -326,6 +327,28 @@
                    , limit: 50
                    , limits: [50, 500, 5000, 50000]
                };
                option_Bak = {
                    elem: '#mainTable'
                    , toolbar: '#toolbarDemo'
                    , height: 'full-50'
                    , page: true
                    , totalRow: true
                    //, cellMinWidth: 90
                    , limit: 50
                    , limits: [50, 500, 5000, 50000]
                };
                option1_Bak = {
                    elem: '#mainTable1'
                    //, toolbar: '#toolbarDemo'
                    , height: 'full-50'
                    , page: true
                    , totalRow: true
                    //, cellMinWidth: 90
                    , limit: 50
                    , limits: [50, 500, 5000, 50000]
                };
            }
            //#endregion
            //#endregion
@@ -375,11 +398,6 @@
                            //获取表2数据
                            option1.cols = [col];
                            option1.data = data1.data[1];
                            //获取导出数据
                            option_Bak = option;
                            option1_Bak = option1;
                            //设置表1:列表同一个单据只有第一条数据显示主表信息,其它记录只显示子表信息;合计数据
                            //设置数据:声明计算合计的变量
@@ -560,6 +578,9 @@
                sWhere += getSWhereByHUser();
                get_Display(sWhere);
                sWhere_Bak = sWhere;
                sWhere = "";//调用接口后清空sWhere缓存
            }
            //#endregion
@@ -920,22 +941,69 @@
                return sheet;
            }
            function exportAll() {
                //获取sheet
                let sheet1 = oneTable(option_Bak);
                let sheet2 = twoTable(option1_Bak);
                $.ajax({
                    url: GetWEBURL() + '/Kf_SellOutEntryReport/list',
                    type: "GET",
                    data: { "sWhere": sWhere_Bak, "user": sessionStorage["HUserName"], "userid": sessionStorage["Czybm"] },
                    success: function (data1) {
                        if (data1.count == 1) {
                            var totalArray = ["件数", "米数", "金额"];
                            var data = [];
                            var col = [];
                            //给空的数组赋值
                            for (var key in data1.list) {
                                data.push({ "id": data1.list[key].ColmCols, "name": data1.list[key].ColmCols, "Type": data1.list[key].ColmType });
                            }
                            //在列表左边添加勾选框
                            col.push({ type: 'checkbox', fixed: 'left' });
                            for (var i = 0; i < data.length; i++) {
                                // if (data[i].name == 'HInterID' || data[i].name == 'HBillType' || data[i].name == 'hmainid') {
                                if ($.inArray(data[i].name, titleData) > -1) {
                                    col.push({ field: data[i].id, title: data[i].name, align: 'center', hide: true }); //隐藏id列
                                }
                                else if ($.inArray(data[i].name, totalArray) > -1) {
                                    col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, totalRow: true, width: 120, templet: "<div>{{d." + data[i].name + " ==null ?'':fixed(d." + data[i].name + ")}}</div>" });
                                }
                                else {
                                    switch (data[i].Type) {
                                        //int
                                        case 'DateTime':
                                            col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, templet: "<div>{{d." + data[i].name + " ==null ?'':layui.util.toDateString(d." + data[i].name + ", 'yyyy-MM-dd')}}</div>", width: 120 });
                                            break;
                                        default:
                                            col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, width: 120 });
                                    }
                                }
                            }
                //创建excel文档
                const wb = XLSX.utils.book_new();
                XLSX.utils.book_append_sheet(wb, sheet1, "涤纶");
                XLSX.utils.book_append_sheet(wb, sheet2, "羊毛");
                const workbookBlob = workbook2blob(wb);
                            //设置表1导出数据
                            option_Bak.cols = [col];
                            option_Bak.data = data1.data[0];
                // å¯¼å‡ºæœ€åŽçš„æ€»è¡¨
                var ExcelName = "销售出库明细报表" + Format(new Date(), "yyyy-MM-dd") + ".xlsx";
                openDownloadDialog(workbookBlob, ExcelName);
                            //获取表2导出数据
                            option1_Bak.cols = [col];
                            option1_Bak.data = data1.data[1];
                            //获取sheet
                            let sheet1 = oneTable(option_Bak);
                            let sheet2 = twoTable(option1_Bak);
                // å°†blob对象 åˆ›å»ºbloburl,然后用a标签实现弹出下载框
                            //创建excel文档
                            const wb = XLSX.utils.book_new();
                            XLSX.utils.book_append_sheet(wb, sheet1, "涤纶");
                            XLSX.utils.book_append_sheet(wb, sheet2, "羊毛");
                            const workbookBlob = workbook2blob(wb);
                            // å¯¼å‡ºæœ€åŽçš„æ€»è¡¨
                            var ExcelName = "销售出库明细报表" + Format(new Date(), "yyyy-MM-dd") + ".xlsx";
                            openDownloadDialog(workbookBlob, ExcelName);
                        } else {
                            layer.alert(data1.code + data1.Message, { icon: 5 });
                        }
                    }, error: function () {
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                });
            }
            //#region è®¾ç½®å¯¼å‡ºå‚æ•°
            function workbook2blob(workbook) {