自动化立体仓库 - WMS系统
lty
2026-01-22 35b1b26f1fe16550b4ee2881a26d599456fe59b4
src/main/webapp/views/home/console.html
@@ -2,7 +2,7 @@
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>首页</title>
    <title data-i18n="首页">首页</title>
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
@@ -12,6 +12,7 @@
    <script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
    <script type="text/javascript" src="../../static/js/echarts/echarts.min.js"></script>
    <script type="text/javascript" src="../../static/js/echarts/highcharts.js"></script>
    <script src="../../static/js/i18n/i18n-helper.js"></script>
    <style>
        body {
            background-color: #f1f1f1;
@@ -99,17 +100,20 @@
    </div>
</div>
<!--表格数据-->
<div class="home-elem loc-retention">
    <div class="layui-form">
        <div id="form-header">库存滞留时间统计表</div>
        <table class="layui-hide" id="stayTime" lay-filter="stayTime"></table>
    <!--表格数据-->
    <div class="home-elem loc-retention">
        <div class="layui-form">
            <div id="form-header" data-i18n="库存滞留时间统计表">库存滞留时间统计表</div>
            <table class="layui-hide" id="stayTime" lay-filter="stayTime"></table>
        </div>
    </div>
</div>
</body>
<script>
    pieCharts();
    lineCharts();
    $(document).on('i18n:ready', function() {
        pieCharts();
        lineCharts();
    });
    // 饼图
    function pieCharts(){
        $.ajax({
@@ -122,13 +126,22 @@
            success:function(res){
                var data = res.data;
                var dataPie=eval(data.rows);
                if (dataPie && typeof I18n !== 'undefined') {
                    for(var i=0; i<dataPie.length; i++) {
                        if(dataPie[i].name) {
                            dataPie[i].name = I18n.t(dataPie[i].name);
                        } else if (Array.isArray(dataPie[i]) && dataPie[i].length > 0) {
                            dataPie[i][0] = I18n.t(dataPie[i][0]);
                        }
                    }
                }
                var chart = {
                    plotBackgroundColor: null,
                    plotBorderWidth: null,
                    plotShadow: false
                };
                var title = {
                    text: '库位使用比例',
                    text: typeof I18n !== 'undefined' ? I18n.t('库位使用比例') : '库位使用比例',
                    margin:1,
                    style: {fontSize: '18px',color: '#777',fontWeight: 'bold'},
                    y: 5
@@ -151,7 +164,7 @@
                };
                var series= [{
                    type: 'pie',
                    name: '库位占比',
                    name: typeof I18n !== 'undefined' ? I18n.t('库位占比') : '库位占比',
                    data: dataPie
                }];
                var loading = {
@@ -185,8 +198,17 @@
            success: function (res) {
                var data = res.data;
                var dataPie = eval(data.rows);
                if (dataPie && typeof I18n !== 'undefined') {
                    for(var i=0; i<dataPie.length; i++) {
                        if(dataPie[i].name) {
                            dataPie[i].name = I18n.t(dataPie[i].name);
                        } else if (Array.isArray(dataPie[i]) && dataPie[i].length > 0) {
                            dataPie[i][0] = I18n.t(dataPie[i][0]);
                        }
                    }
                }
                var title = {
                    text: '日入出库数量',
                    text: typeof I18n !== 'undefined' ? I18n.t('日入出库数量') : '日入出库数量',
                    margin: 1,
                    style: {fontSize: '18px',color: '#777',fontWeight: 'bold'},
                    y: 5
@@ -197,7 +219,7 @@
                };
                var yAxis = {
                    title: {
                        text: '入/出库数量'
                        text: typeof I18n !== 'undefined' ? I18n.t('入_出库数量') : '入/出库数量'
                    },
                    plotLines: [{
                        value: 0,
@@ -233,76 +255,106 @@
    // 表格
    var pageCurr;
    var tableIns;
    function getCol() {
        var cols = [
            {field: 'appeTime$', title: '入库时间', align: 'center', width: 200}
            ,{field: 'stay_time', align: 'center',title: '滞留天数'}
            ,{field: 'loc_no', align: 'center',title: '库位号'}
            {field: 'appeTime$', title: typeof I18n !== 'undefined' ? I18n.t('入库时间') : '入库时间', align: 'center', width: 200}
            ,{field: 'stay_time', align: 'center',title: typeof I18n !== 'undefined' ? I18n.t('滞留天数') : '滞留天数'}
            ,{field: 'loc_no', align: 'center',title: typeof I18n !== 'undefined' ? I18n.t('库位号') : '库位号'}
        ];
        cols.push.apply(cols, detlCols);
        cols.push.apply(cols, getDetlCols());
        return cols;
    }
    // 监听语言切换事件
    $(document).on('i18n:languageChanged', function() {
        pieCharts();
        lineCharts();
        if (tableIns) {
            tableIns.reload({
                cols: [getCol()],
                text: { none: typeof I18n !== 'undefined' ? I18n.t('no_data') : 'No Data' }
            });
        }
    });
    layui.use(['table','laydate', 'form'], function() {
        var table = layui.table;
        var $ = layui.jquery;
        var layer = layui.layer;
        // 数据渲染
        tableIns = table.render({
            elem: '#stayTime',
            headers: {token: localStorage.getItem('token')},
            url: baseUrl+'/report/viewStayTimeList.action',
            page: true,
            limit: 10,
            toolbar: '#toolbar',
            even: true,
            cellMinWidth: 50,
            crossDomain: true,
            cols: [getCol()],
            request: {
                pageName: 'curr',
                pageSize: 'limit'
            },
            parseData: function (res) {
                return {
                    'code': res.code,
                    'msg': res.msg,
                    'count': res.data.total,
                    'data': res.data.records
                }
            },
            response: {
                statusCode: 200
            },
            done: function(res, curr, count) {
                if (res.code === 403) {
                    top.location.href = baseUrl+"/";
                }
                pageCurr=curr;
            }
        });
        // 监听排序事件
        table.on('sort(stayTime)', function (obj) {
            var searchData = {};
            $.each($('#search-box [name]').serializeArray(), function() {
                searchData[this.name] = this.value;
            });
            searchData['orderByField'] = obj.field;
            searchData['orderByType'] = obj.type;
            tableIns.reload({
                where: searchData,
                page: {
                    curr: 1
        function initTable() {
            // 数据渲染
            tableIns = table.render({
                elem: '#stayTime',
                headers: {token: localStorage.getItem('token')},
                url: baseUrl+'/report/viewStayTimeList.action',
                page: true,
                limit: 10,
                toolbar: '#toolbar',
                even: true,
                cellMinWidth: 50,
                crossDomain: true,
                cols: [getCol()],
                text: { none: typeof I18n !== 'undefined' ? I18n.t('no_data') : 'No Data' },
                request: {
                    pageName: 'curr',
                    pageSize: 'limit'
                },
                done: function (res, curr, count) {
                parseData: function (res) {
                    return {
                        'code': res.code,
                        'msg': res.msg,
                        'count': res.data.total,
                        'data': res.data.records
                    }
                },
                response: {
                    statusCode: 200
                },
                done: function(res, curr, count) {
                    if (res.code === 403) {
                        top.location.href = baseUrl+"/";
                    }
                    pageCurr=curr;
                    if (typeof I18n !== 'undefined') {
                        I18n.updateLayuiPagination();
                    }
                }
            });
        });
            // 监听排序事件
            table.on('sort(stayTime)', function (obj) {
                var searchData = {};
                $.each($('#search-box [name]').serializeArray(), function() {
                    searchData[this.name] = this.value;
                });
                searchData['orderByField'] = obj.field;
                searchData['orderByType'] = obj.type;
                tableIns.reload({
                    where: searchData,
                    page: {
                        curr: 1
                    },
                    done: function (res, curr, count) {
                        if (res.code === 403) {
                            top.location.href = baseUrl+"/";
                        }
                        pageCurr=curr;
                        if (typeof I18n !== 'undefined') {
                            I18n.updateLayuiPagination();
                        }
                    }
                });
            });
        }
        if (typeof I18n !== 'undefined' && I18n.isReady()) {
            initTable();
        } else {
            $(document).on('i18n:ready', function() {
                initTable();
            });
        }
    });
@@ -329,12 +381,5 @@
            if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
        return fmt;
    }
</script>
<script src="../../static/js/translate.js"></script>
<script>
    translate.selectLanguageTag.show = false; //不出现的select的选择语言
    translate.service.use('client.edge'); //设置翻译服务
    translate.listener.start(); //开启页面元素动态监控,js改变的内容也会被翻译,参考文档: http://translate.zvo.cn/4067.html
    translate.execute();
</script>
</html>