<!DOCTYPE html> 
 | 
<html lang="en"> 
 | 
<head> 
 | 
    <meta charset="UTF-8"> 
 | 
    <title>首页</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"> 
 | 
    <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all"> 
 | 
    <script type="text/javascript" src="../../static/js/common.js"></script> 
 | 
    <script type="text/javascript" src="../../static/layui/layui.js"></script> 
 | 
    <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> 
 | 
    <style> 
 | 
        body { 
 | 
            background-color: #f1f1f1; 
 | 
        } 
 | 
        .home-elem { 
 | 
            background-color: #fff; 
 | 
            height: 30%; 
 | 
            margin: 15px 15px 45px 15px; 
 | 
            border-radius: 5px; 
 | 
            box-shadow: 0 0 3px rgba(0,0,0,.3); 
 | 
        } 
 | 
        .home-elem:first-child{ 
 | 
            margin-bottom: 0; 
 | 
        } 
 | 
        .chart-elem { 
 | 
            box-sizing: border-box; 
 | 
            display: inline-block; 
 | 
            width: 49%; 
 | 
        } 
 | 
        .chart-elem:first-child { 
 | 
            padding: 0 50px; 
 | 
        } 
 | 
        .chart-elem:last-child { 
 | 
            padding-left: 20px; 
 | 
            border-left: 1px solid rgba(0,0,0,.1); 
 | 
        } 
 | 
        /*表格工具栏*/ 
 | 
        .layui-table-tool { 
 | 
            display: none; 
 | 
        } 
 | 
        /*表格*/ 
 | 
        .layui-table thead th { 
 | 
            font-weight: bold; 
 | 
            text-align: center; 
 | 
        } 
 | 
        div .layui-table-tool .layui-table-tool-self .layui-inline[title='导出']{ 
 | 
            display: none; 
 | 
        } 
 | 
        .layui-form.layui-border-box.layui-table-view{ 
 | 
            margin: 15px 0 35px 0; 
 | 
            width: 100%; 
 | 
            border-width: 0; 
 | 
        } 
 | 
        .layui-table-box{ 
 | 
            padding-bottom: 10px; 
 | 
        } 
 | 
        .layui-table-body.layui-table-main{ 
 | 
            overflow: hidden; 
 | 
        } 
 | 
        .layui-table-page{ 
 | 
            border-width: 0; 
 | 
        } 
 | 
        .layui-table tbody tr:hover, .layui-table thead tr, .layui-table-click, .layui-table-header, .layui-table-hover, .layui-table-mend, .layui-table-patch, .layui-table-tool, .layui-table-total, .layui-table-total tr, .layui-table[lay-even] tr:nth-child(even) { 
 | 
            background-color: #f9f9f9; 
 | 
        } 
 | 
        .layui-table thead tr { 
 | 
            background-color: #fff; 
 | 
        } 
 | 
        #form-header { 
 | 
            font-size: 18px; 
 | 
            color: #377bb5; 
 | 
            font-weight: bold; 
 | 
            height: 30px; 
 | 
            box-sizing: border-box; 
 | 
            padding: 10px 0 10px 20px; 
 | 
        } 
 | 
        .layui-form.layui-border-box.layui-table-view { 
 | 
            border-top: 1px solid rgba(0,0,0,.1); 
 | 
        } 
 | 
    </style> 
 | 
</head> 
 | 
<body> 
 | 
  
 | 
<!--报表数据--> 
 | 
<div class="home-elem charts-contain"> 
 | 
    <div class="chart-elem"> 
 | 
        <div id="pie"></div> 
 | 
    </div> 
 | 
    <div class="chart-elem"> 
 | 
        <div id="line"></div> 
 | 
    </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> 
 | 
</div> 
 | 
</body> 
 | 
<script> 
 | 
    pieCharts(); 
 | 
    lineCharts(); 
 | 
    // 饼图 
 | 
    function pieCharts(){ 
 | 
        $.ajax({ 
 | 
            url:baseUrl+'/console/loc/pie/charts', 
 | 
            headers: {'token': localStorage.getItem('token')}, 
 | 
            dataType: 'json', 
 | 
            contentType: 'application/json;charset=UTF-8', 
 | 
            crossDomain: true, 
 | 
            method: 'POST', 
 | 
            success:function(res){ 
 | 
                var data = res.data; 
 | 
                var dataPie=eval(data.rows); 
 | 
                var chart = { 
 | 
                    plotBackgroundColor: null, 
 | 
                    plotBorderWidth: null, 
 | 
                    plotShadow: false 
 | 
                }; 
 | 
                var title = { 
 | 
                    text: '库位使用比例', 
 | 
                    margin:1, 
 | 
                    style: {fontSize: '18px',color: '#777',fontWeight: 'bold'}, 
 | 
                    y: 20 
 | 
                }; 
 | 
                var tooltip = { 
 | 
                    pointFormat: '{series.name}: <b>{point.percentage:.1f}%</b>' 
 | 
                }; 
 | 
                var plotOptions = { 
 | 
                    pie: { 
 | 
                        allowPointSelect: true, 
 | 
                        cursor: 'pointer', 
 | 
                        dataLabels: { 
 | 
                            enabled: true, 
 | 
                            format: '<b>{point.name}</b>: {point.percentage:.1f} %', 
 | 
                            style: { 
 | 
                                color: (Highcharts.theme && Highcharts.theme.contrastTextColor) || 'black' 
 | 
                            } 
 | 
                        } 
 | 
                    } 
 | 
                }; 
 | 
                var series= [{ 
 | 
                    type: 'pie', 
 | 
                    name: '库位占比', 
 | 
                    data: dataPie 
 | 
                }]; 
 | 
  
 | 
                var json = {}; 
 | 
                json.chart = chart; 
 | 
                json.title = title; 
 | 
                json.tooltip = tooltip; 
 | 
                json.series = series; 
 | 
                json.plotOptions = plotOptions; 
 | 
                json.credits = {enabled: false}; 
 | 
                $('#pie').highcharts(json); 
 | 
  
 | 
            }, 
 | 
            error:function(){ 
 | 
            } 
 | 
        }); 
 | 
    } 
 | 
  
 | 
    // 折线图 
 | 
    function lineCharts() { 
 | 
        $.ajax({ 
 | 
            url: baseUrl+'/console/locIo/line/charts', 
 | 
            headers: {'token': localStorage.getItem('token')}, 
 | 
            dataType: 'json', 
 | 
            contentType: 'application/json;charset=UTF-8', 
 | 
            method: 'POST', 
 | 
            success: function (res) { 
 | 
                var data = res.data; 
 | 
                var dataPie = eval(data.rows); 
 | 
                var title = { 
 | 
                    text: '日入出库数量', 
 | 
                    margin: 1, 
 | 
                    style: {fontSize: '18px',color: '#777',fontWeight: 'bold'}, 
 | 
                    y: 20 
 | 
                }; 
 | 
                var xAxis = { 
 | 
                    categories: [getDate(-11), getDate(-10), getDate(-9), getDate(-8), getDate(-7), getDate(-6), 
 | 
                        getDate(-5), getDate(-4), getDate(-3), getDate(-2), getDate(-1), getDate(-0)] 
 | 
                }; 
 | 
                var yAxis = { 
 | 
                    title: { 
 | 
                        text: '入/出库数量' 
 | 
                    }, 
 | 
                    plotLines: [{ 
 | 
                        value: 0, 
 | 
                        width: 1, 
 | 
                        color: '#808080' 
 | 
                    }] 
 | 
                }; 
 | 
                var tooltip = {}; 
 | 
                var legend = { 
 | 
                    layout: 'vertical', 
 | 
                    align: 'right', 
 | 
                    verticalAlign: 'middle', 
 | 
                    borderWidth: 0 
 | 
                }; 
 | 
                var series = dataPie; 
 | 
                var json = {}; 
 | 
                json.title = title; 
 | 
                json.xAxis = xAxis; 
 | 
                json.yAxis = yAxis; 
 | 
                json.tooltip = tooltip; 
 | 
                json.legend = legend; 
 | 
                json.series = series; 
 | 
                json.credits = {enabled: false}; 
 | 
                $('#line').highcharts(json); 
 | 
            } 
 | 
        }); 
 | 
    } 
 | 
  
 | 
    // 表格 
 | 
    var pageCurr; 
 | 
    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: [[ 
 | 
                {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'} 
 | 
            ]], 
 | 
            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 
 | 
                }, 
 | 
                done: function (res, curr, count) { 
 | 
                    if (res.code === 403) { 
 | 
                        top.location.href = baseUrl+"/"; 
 | 
                    } 
 | 
                    pageCurr=curr; 
 | 
                } 
 | 
            }); 
 | 
        }); 
 | 
    }); 
 | 
  
 | 
  
 | 
    function getDate(value){ 
 | 
        var date = new Date();// 获取当前时间 
 | 
        date.setDate(date.getDate() + value);// 设置天数 -1 天 
 | 
        return date.Format("MM-dd"); 
 | 
    } 
 | 
    /** 
 | 
     * 日期格式化 
 | 
     */ 
 | 
    Date.prototype.Format = function (fmt) { 
 | 
        var o = { 
 | 
            "M+": this.getMonth() + 1, //月份 
 | 
            "d+": this.getDate(), //日 
 | 
            "h+": this.getHours(), //小时 
 | 
            "m+": this.getMinutes(), //分 
 | 
            "s+": this.getSeconds(), //秒 
 | 
            "q+": Math.floor((this.getMonth() + 3) / 3), //季度 
 | 
            "S": this.getMilliseconds() //毫秒 
 | 
        }; 
 | 
        if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length)); 
 | 
        for (var k in o) 
 | 
            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> 
 | 
</html> 
 |