自动化立体仓库 - WMS系统
pang.jiabao
2025-04-09 2e74e70bf05962e27d9147f862f8a3ce2511be65
src/main/webapp/views/home/console.html
@@ -31,11 +31,15 @@
            display: inline-block;
            width: 49%;
        }
        .chart-elem div {
            padding-top: 15px;
            padding-bottom: 5px;
        }
        .chart-elem:first-child {
            padding: 0 50px;
        }
        .chart-elem:last-child {
            padding-left: 20px;
            padding: 0 50px;
            border-left: 1px solid rgba(0,0,0,.1);
        }
        /*表格工具栏*/
@@ -98,7 +102,10 @@
<!--表格数据-->
<div class="home-elem loc-retention">
    <div class="layui-form">
        <div id="form-header">库存滞留时间统计表</div>
        <div id="form-header">Таблица статистики времени задержки на складе</div>
        <div>
            <button class="layui-btn" id="export-btn">Экспорт</button>
        </div>
        <table class="layui-hide" id="stayTime" lay-filter="stayTime"></table>
    </div>
</div>
@@ -124,10 +131,10 @@
                    plotShadow: false
                };
                var title = {
                    text: '库位使用比例',
                    text: 'Процент использования складских мест',
                    margin:1,
                    style: {fontSize: '18px',color: '#777',fontWeight: 'bold'},
                    y: 20
                    y: 5
                };
                var tooltip = {
                    pointFormat: '{series.name}: <b>{point.percentage:.1f}%</b>'
@@ -150,13 +157,17 @@
                    name: '库位占比',
                    data: dataPie
                }];
                var loading = {
                    hideDuration: 3,
                    showDuration: 3
                };
                var json = {};
                json.chart = chart;
                json.title = title;
                json.tooltip = tooltip;
                json.series = series;
                json.plotOptions = plotOptions;
                json.loading = loading;
                json.credits = {enabled: false};
                $('#pie').highcharts(json);
@@ -178,10 +189,10 @@
                var data = res.data;
                var dataPie = eval(data.rows);
                var title = {
                    text: '日入出库数量',
                    text: 'Ежедневное количество поступающих  и исходящих товаров',
                    margin: 1,
                    style: {fontSize: '18px',color: '#777',fontWeight: 'bold'},
                    y: 20
                    y: 5
                };
                var xAxis = {
                    categories: [getDate(-11), getDate(-10), getDate(-9), getDate(-8), getDate(-7), getDate(-6),
@@ -189,7 +200,7 @@
                };
                var yAxis = {
                    title: {
                        text: '入/出库数量'
                        text: 'Количество поступающих/исходящих товаров'
                    },
                    plotLines: [{
                        value: 0,
@@ -204,6 +215,10 @@
                    verticalAlign: 'middle',
                    borderWidth: 0
                };
                var loading = {
                    hideDuration: 3,
                    showDuration: 3
                }
                var series = dataPie;
                var json = {};
                json.title = title;
@@ -211,6 +226,7 @@
                json.yAxis = yAxis;
                json.tooltip = tooltip;
                json.legend = legend;
                json.loading = loading;
                json.series = series;
                json.credits = {enabled: false};
                $('#line').highcharts(json);
@@ -220,6 +236,15 @@
    // 表格
    var pageCurr;
    function getCol() {
        var cols = [
            {field: 'appeTime$', title: 'Время поступления на склад', align: 'center', width: 200}
            ,{field: 'stay_time', align: 'center',title: 'Время задержки'}
            ,{field: 'loc_no', align: 'center',title: 'Номер складского места'}
        ];
        cols.push.apply(cols, detlCols);
        return cols;
    }
    layui.use(['table','laydate', 'form'], function() {
        var table = layui.table;
        var $ = layui.jquery;
@@ -236,21 +261,7 @@
            even: true,
            cellMinWidth: 50,
            crossDomain: true,
            cols: [[
                {field: 'appe_time', title: '入库时间', align: 'center', width: 200}
                ,{field: 'stay_time', align: 'center',title: '滞留天数'}
                ,{field: 'loc_no', align: 'center',title: '库位号'}
                ,{field: 'matnr', align: 'center',title: '物料'}
                ,{field: 'maktx', align: 'center',title: '物料描述'}
                ,{field: 'lgnum', align: 'center',title: '仓库号'}
                ,{field: 'tbnum', align: 'center',title: '请求编号'}
                ,{field: 'zmatid', align: 'center',title: '物料标签ID'}
                ,{field: 'werks', align: 'center',title: '工厂'}
                ,{field: 'anfme', align: 'center',title: '数量'}
                ,{field: 'altme', align: 'center',title: '单位'}
                ,{field: 'zpallet', align: 'center',title: '托盘码'}
                ,{field: 'bname', align: 'center',title: '用户ID'}
            ]],
            cols: [getCol()],
            request: {
                pageName: 'curr',
                pageSize: 'limit'
@@ -295,6 +306,71 @@
                }
            });
        });
        $(document).ready(function() {
            // 为导出按钮添加点击事件
            $('#export-btn').click(function() {
                // 这里添加导出逻辑
                alert('В процессе работы');
                // 你可以在这里调用具体的导出函数
                exportData();
            });
        });
        // var table1 = layui.table1;
        function exportData() {
            var searchData = {};
            // 收集当前搜索框的值
            $.each($('#search-box [name]').serializeArray(), function() {
                searchData[this.name] = this.value;
            });
            // 发送导出请求,您需要根据您的具体情况调整 URL
            // $.ajax({
            //     url: baseUrl + '/report/viewStayTimeExport.action', // 请替换为实际的导出接口
            //     method: 'POST',
            //     data: JSON.stringify(searchData),  // 发送的参数
            //     contentType: 'application/json;charset=UTF-8',
            //     headers: {'token': localStorage.getItem('token')}, // 添加 token
            //     success: function(res) {
            //         // 假设后端返回的是一个文件下载链接
            //         if (res.code === 200 && res.data.downloadUrl) {
            //             window.location.href = res.data.downloadUrl; // 自动触发下载
            //         } else {
            //             layer.msg(res.msg || '导出失败');
            //         }
            //     },
            //     error: function() {
            //         layer.msg('导出请求失败');
            //     }
            // });
            var titles=[];
            var fields=[];
            $.ajax({
                url: baseUrl + '/report/viewStayTimeExport.action', // 请替换为实际的导出接口
                method: 'GET', // 尝试使用 GET 请求
                contentType: 'application/json;charset=UTF-8',
                headers: {'token': localStorage.getItem('token')},
                success: function(res) {
                    console.log("res")
                    console.log(res)
                    // 假设后端返回的是一个文件下载链接
                    layer.closeAll();
                    if (res.code === 200) {
                        table.exportFile(titles,res.data,'xls');
                    } else if (res.code === 403) {
                        top.location.href = baseUrl+"/";
                    } else {
                        layer.msg(res.msg)
                    }
                },
                error: function() {
                    layer.msg('导出请求失败');
                }
            });
        }
    });
@@ -322,4 +398,4 @@
        return fmt;
    }
</script>
</html>
</html>