<!DOCTYPE html>
<html  lang="zh" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <!--360浏览器优先以webkit内核解析-->
    <title>概况</title>
    <link rel="shortcut icon" href="favicon.ico">
    <link  th:href="@{/css/bootstrap.min.css}" rel="stylesheet"/>
    <link  th:href="@{/css/font-awesome.css}" rel="stylesheet"/>
    <link  th:href="@{/css/main/animate.min.css}" rel="stylesheet"/>
    <link  th:href="@{/css/main/style.min862f.css}" rel="stylesheet"/>

    <style>
        .tab-ul{
            display: inline-block;
            margin: 0 auto;
        }
        .tab-ul li{
            text-decoration: none;
            display: inline-block;
            margin: 0 20px;
        }
        .chart-hide{
            display: none;
        }
    </style>
</head>

<body class="gray-bg">
    <div class="row" style="padding:20px 30px 10px 30px;">
        <div class="col-sm-2" style="padding:5px;">
              <div class="total_box ys01">
                 <h1 id="s1">-</h1>
                 <p>今日总单量</p>
              </div>
        </div>
        <div class="col-sm-2" style="padding:5px;" onclick="createMenuItem('/twms/admin/receiptHeader?type=40','入库单')">
              <div class="total_box ys02">
                 <h1 id="s2">-</h1>
                 <p>今日入库量</p>
              </div>
        </div>
        <div class="col-sm-2" style="padding:5px;" onclick="createMenuItem('/twms/admin/shipmentHeader?type=40','出库单')">
              <div class="total_box ys03">
                 <h1 id="s3">-</h1>
                 <p>今日出库量</p>
              </div>
        </div>
        <div class="col-sm-2" style="padding:5px;" onclick="createMenuItem('/twms/admin/inventory','库存查看')">
              <div class="total_box ys04">
                 <h1 id="s4">-</h1>
                 <p>库存总量</p>
              </div>
        </div>
        <div class="col-sm-2" style="padding:5px;">
              <div class="total_box ys05">
                 <h1 id="s5">-</h1>
                 <p>库内物料品数</p>
              </div>
        </div>
        <div class="col-sm-2" style="padding:5px;" onclick="createMenuItem('/twms/admin/task?id=100','任务查看')">
              <div class="total_box ys06">
                 <h1 id="s6">-</h1>
                 <p>待执行任务数</p>
              </div>
        </div>
    </div>
    
    <div class="row" style="padding:0 30px;">
       <div class="col-sm-6" style="padding:5px 5px 10px 5px;">
            <div class="float-e-margins">
               <div class="ibox-title">
                   <h5>每日收发货量</h5>
                   <ul class="tab-ul tab-list1">
                       <li><a>时间维度</a></li>
                       <li><a>仓库维度</a></li>
                       <li><a>货主维度</a></li>
                   </ul>
               </div>
               <div class="ibox-content">
                   <div class="echart-1"><div id="chart1" class="flot-chart1"></div></div>
                   <div class="echart-1 chart-hide">
                       <div id="chart1-1" class="flot-chart1"></div>
                   </div>
                   <div class="echart-1 chart-hide"><div id="chart1-2" class="flot-chart1"></div></div>
               </div>
            </div>     
       </div>
       <div class="col-sm-6" style="padding:5px 5px 10px 5px;">
            <div class="float-e-margins">
                <div class="ibox-title">
                    <h5>库位利用率</h5>
                </div>
               <div class="ibox-content">
                   <div class="echart-2"><div id="chart2" class="flot-chart1"></div></div>
               </div>
            </div>     
       </div>
       <div class="col-sm-6" style="padding:5px 5px 10px 5px;">
            <div class="float-e-margins">
               <div class="ibox-title">
                   <h5>库龄展示</h5>
                   <ul class="tab-ul tab-list3">
                       <li><a>仓库维度</a></li>
                       <li><a>货主维度</a></li>
                   </ul>
               </div>
               <div class="ibox-content">
                   <div class="echart-3"><div id="chart3" class="flot-chart1"></div></div>
                   <div class="echart-3 chart-hide"><div id="chart3-1" class="flot-chart1">2</div></div>
               </div>
            </div>     
       </div>
       <div class="col-sm-6" style="padding:5px 5px 10px 5px;">
            <div class="ibox float-e-margins">
               <div class="ibox-title">
                   <h5>库存分布</h5>
                   <ul class="tab-ul tab-list4">
                       <li><a>仓库维度</a></li>
                       <li><a>货主维度</a></li>
                   </ul>
               </div>
               <div class="ibox-content">
                   <div class="echart-4"><div id="chart4" class="flot-chart1"></div></div>
                   <div class="echart-4 chart-hide"><div id="chart4-1" class="flot-chart1">2</div></div>
               </div>
            </div>     
       </div>
    </div>


    <script th:src="@{/js/jquery.min.js}"></script>
    <script th:src="@{/js/bootstrap.min.js}"></script>
    <script th:src="@{/js/echarts/echarts.js}"></script>
    <script th:src="@{/huaheng/js/common.js}"></script>
    <script>

        $(function () {
            refresh();

            $(".tab-list1 li").click(function () {
                let a=$('.tab-list1 li').index(this);
                $(".echart-1").addClass('chart-hide');
                $(".echart-1").eq(a).removeClass('chart-hide');
                a=String(a+1);
                chart(a);
            });

            $(".tab-list3 li").click(function () {
                let a=$('.tab-list3 li').index(this);
                $(".echart-3").addClass('chart-hide');
                $(".echart-3").eq(a).removeClass('chart-hide');
                a=String(a+1);
                chart3(a);
            });

            $(".tab-list4 li").click(function () {
                let a=$('.tab-list4 li').index(this);
                $(".echart-4").addClass('chart-hide');
                $(".echart-4").eq(a).removeClass('chart-hide');
                a=String(a+1);
                chart4(a);
            });
        });

        function refresh() {
            $.get("../admin/home/getCommonData").done(function (data) {
                if(data.code==200){
                    $("#s1").text(data.data.bllCount)
                    $("#s2").text(data.data.receiptTotal)
                    $("#s3").text(data.data.shipmentTotal)
                    $("#s4").text(data.data.inventoryTotal)
                    $("#s5").text(data.data.materialCount)
                    $("#s6").text(data.data.taskUncompletedTotal)
                }
            });

            $.ajax({
                url: '../admin/home/getShipmentsLast7Days',
                type:'get',
                data:{
                    type:'1'
                },
                success:function (data) {
                    let option={
                        title: {
                            // text: '',
                        },
                        tooltip: {
                            trigger: 'axis'
                        },
                        legend: {
                            data:['今日入库量','今日出库量']
                        },
                        toolbox: {
                            show: true,
                            feature: {
                                dataView: {readOnly: false},
                                magicType: {type: ['line', 'bar']},
                                saveAsImage: {}
                            }
                        },
                        xAxis:  {
                            type: 'category',
                            boundaryGap: false,
                            data: []
                        },
                        yAxis: {
                            type: 'value',
                        },
                        series: [
                            {
                                name:'今日入库量',
                                type:'line',
                                data:[],
                            },
                            {
                                name:'今日出库量',
                                type:'line',
                                data:[],
                            }
                        ]
                    };
                    for(let value of data.data.receiptDetails){
                        option.xAxis.data.push(value.lastUpdated.substr(0,10));
                        option.series[0].data.push(value.qty)
                    }
                    for(let value of data.data.shipmentDetails){
                        option.series[1].data.push(value.qty)
                    }
                    let chart1=echarts.init(document.getElementById('chart1'));
                    chart1.setOption(option);
                }
            });

            $.ajax({
                url:'../admin/home/getLocationProp',
                type:'get',
                data:{
                    type:'1'
                },
                success:function (data) {
                    let option={
                        title: {
                            // text: '',
                        },
                        tooltip: {
                            trigger: 'axis',
                            // formatter: '{a0}:{c0}% <br>{a1}:{c1}%',
                            axisPointer : {
                                type : 'shadow'
                            },
                            formatter:function (params) {
                                let tip=params[0].name+'<br>';
                                for (let i = params.length-1; i >= 0; i--) {
                                    tip=tip+params[i].marker+params[i].seriesName+':'+params[i].value+'%<br>'
                                }
                                return tip
                            }
                        },
                        legend: {
                            data:['有货','无货']
                        },
                        xAxis:  {
                            type: 'category',
                            boundaryGap: true,
                            data: []
                        },
                        yAxis: {
                            type: 'value',
                            axisLabel: {
                                formatter: '{value} %'
                            }
                        },
                        series: [
                            {
                                name:'有货',
                                type:'bar',
                                stack: '总量',
                                barWidth: '30%',
                                data:[],
                            },
                            {
                                name:'无货',
                                type:'bar',
                                stack: '总量',
                                barWidth: '30%',
                                data:[],
                            }
                        ]
                    };
                    for(let value of data.data){
                        option.xAxis.data.push(value.warehouseName);
                        option.series[0].data.push(value.有货*100);
                        option.series[1].data.push(value.无货*100);
                    }
                    let chart1=echarts.init(document.getElementById('chart2'));
                    chart1.setOption(option);
                }
            });

            $.ajax({
                url:'../admin/home/getInventoryStatus',
                type:'get',
                data:{
                    type:'1'
                },
                success:function (value) {
                    let option={
                        tooltip: {
                            trigger: 'axis',
                            axisPointer : {
                                type : 'shadow'
                            },
                            formatter:function (params) {
                                let tip=params[0].name+'<br>';
                                for (let i = params.length-1; i >= 0; i--) {
                                    tip=tip+params[i].marker+params[i].seriesName+':'+params[i].value+'%<br>'
                                }
                                return tip
                            }
                        },
                        legend: {
                            data:['<3个月','3-6个月','6-9个月','9-12个月','>12个月']
                        },
                        toolbox: {
                            show: true,
                            feature: {
                                dataView: {readOnly: false},
                                magicType: {type: ['line', 'bar']},
                                saveAsImage: {}
                            }
                        },
                        xAxis:  {
                            type: 'category',
                            boundaryGap: true,
                            data: []
                        },
                        yAxis: {
                            type: 'value',
                            axisLabel: {
                                formatter: '{value} %'
                            }
                        },
                        series: []
                    };
                    let length=value.data.length;
                    for(let t=0;t<length;t++){
                        option.xAxis.data.push(value.data[t].warehouseName);
                    }
                    // for (let l = 0; l < length; l++) {
                    //     for(let k=0;k<9;k++){
                    //         option.series.push({name:value.data[l].list1[k].materialName,type:'bar',stack: value.data[l].warehouseName,data:[]});
                    //     }
                    // }

                    for(let k=0;k<5;k++){
                        option.series.push({name:option.legend.data[k],type:'bar',stack:'总量',barWidth:'30%',data:[]});
                    }

                    // for (let i = 0; i < 10 ; i++) {
                    //     for(let j=i;j<i+length*10;j+=10){
                    //         option.series[i].data.push(value.data[j].days);
                    //     }
                    // }
                    for(let i=0;i<length;i++){
                        for (let j = 0; j < 5; j++) {
                            option.series[j].data.push(value.data[i].list1[j]*100);
                        }
                    }

                    let chart1=echarts.init(document.getElementById('chart3'));
                    chart1.setOption(option);
                }
            });

            $.ajax({
                url:'../admin/home/getInventoryProp',
                type:'get',
                data:{
                    type:'1'
                },
                success:function (value) {
                    let option={
                        tooltip: {
                            trigger: 'item',
                            axisPointer : {
                                type : 'shadow'
                            },
                            formatter:function (params) {
                                return params.marker+params.data.name+':'+params.data.value
                            }
                        },
                        xAxis:  {
                            type: 'category',
                            boundaryGap: true,
                            data: []
                        },
                        yAxis: {
                            type: 'value',
                            axisLabel: {
                                formatter: '{value}'
                            }
                        },
                        series: []
                    };
                    let length=value.data.length;
                    for(let t=0;t<length;t++){
                        option.xAxis.data.push(value.data[t].warehouseName);
                    }

                    for(let k=0;k<10;k++){
                        option.series.push({type:'bar',stack:'总量',data:[]});
                    }
                    for(let i=0;i<length;i++){
                        let showLine = 0;
                        if (value.data[i].list1.length < 10){
                            showLine = value.data[i].list1.length;
                        } else {
                            showLine = 10;
                        }
                        for (let j = 0; j < showLine; j++) {
                            option.series[j].data.push({value:value.data[i].list1[j].total,name:value.data[i].list1[j].name});
                        }
                    }

                    let chart1=echarts.init(document.getElementById('chart4'));
                    chart1.setOption(option);
                }
            })

        }


        let chart11=null;
        let chart12=null;
        let chart31=null;
        let chart41=null;

        function chart(index) {
            $.ajax({
                url: '../admin/home/getShipmentsLast7Days',
                type:'get',
                data:{
                    type:index
                },
                success:function (data) {
                    if(index==='2'){
                        let option={
                            title: {
                                // text: '',
                            },
                            tooltip: {
                                trigger: 'axis'
                            },
                            legend: {
                                data:['今日入库量','今日出库量']
                            },
                            toolbox: {
                                show: true,
                                feature: {
                                    dataView: {readOnly: false},
                                    magicType: {type: ['line', 'bar']},
                                    saveAsImage: {}
                                }
                            },
                            xAxis:  {
                                type: 'category',
                                boundaryGap: false,
                                data: []
                            },
                            yAxis: {
                                type: 'value',
                            },
                            series: [
                                {
                                    name:'今日入库量',
                                    type:'line',
                                    data:[],
                                },
                                {
                                    name:'今日出库量',
                                    type:'line',
                                    data:[],
                                }
                            ]
                        };
                        for(let value of data.data.receiptDetails){
                            option.xAxis.data.push(value.warehouseName);
                            option.series[0].data.push(value.qty)
                        }
                        for(let value of data.data.shipmentDetails){
                            option.series[1].data.push(value.qty)
                        }
                        if(chart11 !== null){
                            chart11.setOption(option);
                        }
                        else {
                            chart11=echarts.init(document.getElementById('chart1-1'));
                            chart11.setOption(option);
                        }
                    }
                    else if(index==='3'){
                        let option={
                            title: {
                                // text: '',
                            },
                            tooltip: {
                                trigger: 'axis'
                            },
                            legend: {
                                data:['今日入库量','今日出库量']
                            },
                            toolbox: {
                                show: true,
                                feature: {
                                    dataView: {readOnly: false},
                                    magicType: {type: ['line', 'bar']},
                                    saveAsImage: {}
                                }
                            },
                            xAxis:  {
                                type: 'category',
                                boundaryGap: false,
                                data: []
                            },
                            yAxis: {
                                type: 'value',
                            },
                            series: [
                                {
                                    name:'今日入库量',
                                    type:'line',
                                    data:[],
                                },
                                {
                                    name:'今日出库量',
                                    type:'line',
                                    data:[],
                                }
                            ]
                        };
                        for(let value of data.data.receiptDetails){
                            option.xAxis.data.push(value.companyName);
                            option.series[0].data.push(value.qty)
                        }
                        for(let value of data.data.shipmentDetails){
                            option.series[1].data.push(value.qty)
                        }
                        if(chart12 !== null){
                            chart12.setOption(option);
                        }
                        else {
                            chart12=echarts.init(document.getElementById('chart1-2'));
                            chart12.setOption(option);
                        }
                    }
                }
            });
        }

        function chart3(index) {
            $.ajax({
                url:'../admin/home/getInventoryStatus',
                type:'get',
                data:{
                    type:index
                },
                success:function (value) {
                    if(index==='2'){
                        let option={
                            tooltip: {
                                trigger: 'axis',
                                axisPointer : {
                                    type : 'shadow'
                                },
                                formatter:function (params) {
                                    let tip=params[0].name+'<br>';
                                    for (let i = params.length-1; i >= 0; i--) {
                                        tip=tip+params[i].marker+params[i].seriesName+':'+params[i].value+'%<br>'
                                    }
                                    return tip
                                }
                            },
                            legend: {
                                data:['<3个月','3-6个月','6-9个月','9-12个月','>12个月']
                            },
                            toolbox: {
                                show: true,
                                feature: {
                                    dataView: {readOnly: false},
                                    magicType: {type: ['line', 'bar']},
                                    saveAsImage: {}
                                }
                            },
                            xAxis:  {
                                type: 'category',
                                boundaryGap: true,
                                data: []
                            },
                            yAxis: {
                                type: 'value',
                                axisLabel: {
                                    formatter: '{value} %'
                                }
                            },
                            series: []
                        };
                        let length=value.data.length;
                        for(let t=0;t<length;t++){
                            option.xAxis.data.push(value.data[t].companyName);
                        }
                        for(let k=0;k<5;k++){
                            option.series.push({name:option.legend.data[k],type:'bar',stack:'总量',barWidth:'30%',data:[]});
                        }
                        for(let i=0;i<length;i++){
                            for (let j = 0; j < 5; j++) {
                                option.series[j].data.push(value.data[i].list1[j]*100);
                            }
                        }
                        if(chart31 !== null){
                            chart31.setOption(option);
                        }
                        else {
                            chart31=echarts.init(document.getElementById('chart3-1'));
                            chart31.setOption(option);
                        }
                    }
                }
            });
        }

        function chart4(index) {
            $.ajax({
                url:'../admin/home/getInventoryProp',
                type:'get',
                data:{
                    type:index
                },
                success:function (value) {
                    if(index==='2'){
                        let option={
                            tooltip: {
                                trigger: 'item',
                                axisPointer : {
                                    type : 'shadow'
                                },
                                formatter:function (params) {
                                    return params.marker+params.data.name+':'+params.data.value
                                }
                            },
                            xAxis:  {
                                type: 'category',
                                boundaryGap: true,
                                data: []
                            },
                            yAxis: {
                                type: 'value',
                                axisLabel: {
                                    formatter: '{value}'
                                }
                            },
                            series: []
                        };
                        let length=value.data.length;
                        for(let t=0;t<length;t++){
                            option.xAxis.data.push(value.data[t].companyName);
                        }

                        for(let k=0;k<10;k++){
                            option.series.push({type:'bar',stack:'总量',data:[]});
                        }
                        for(let i=0;i<length;i++){
                            for (let j = 0; j < 10; j++) {
                                option.series[j].data.push({value:value.data[i].list1[j].total,name:value.data[i].list1[j].name});
                            }
                        }
                        if(chart41 !== null){
                            chart41.setOption(option);
                        }
                        else {
                            chart41=echarts.init(document.getElementById('chart4-1'));
                            chart41.setOption(option);
                        }
                    }
                }
            })
        }


        function createMenuItem(dataUrl, menuName) {
            let dataIndex = Math.floor((Math.random() * 200) + 100),
                flag = true;
            if (dataUrl == undefined || $.trim(dataUrl).length == 0) return false;
            var topWindow = $(window.parent.document);
            // 选项卡菜单已存在
            $('.menuTab', topWindow).each(function() {
                //todo 增加判断 如果是detail 则需去掉后面的/id 再判断
                if ($(this).data('id') == dataUrl) {
                    if (!$(this).hasClass('active')) {
                        $(this).addClass('active').siblings('.menuTab').removeClass('active');
                        $('.page-tabs-content').animate({ marginLeft: ""}, "fast");
                        // 显示tab对应的内容区
                        $('.mainContent .huaheng_iframe', topWindow).each(function() {
                            if ($(this).data('id') == dataUrl) {
                                $(this).show().siblings('.huaheng_iframe').hide();
                                return false;
                            }
                        });
                    }
                    flag = false;
                    return false;
                }
            });
            // 选项卡菜单不存在
            if (flag) {
                // if (dataUrl.indexOf("?") != -1) {
                //     dataUrl=dataUrl.substr(0,dataUrl.indexOf("?"));
                // }
                var str = '<a href="javascript:;" class="active menuTab" data-id="' + dataUrl + '">' + menuName + ' <i class="fa fa-times-circle"></i></a>';
                $('.menuTab', topWindow).removeClass('active');

                // 添加选项卡对应的iframe
                var str1 = '<iframe class="huaheng_iframe" name="iframe' + dataIndex + '" width="100%" height="100%" src="' + dataUrl + '" frameborder="0" data-id="' + dataUrl + '" seamless></iframe>';
                $('.mainContent', topWindow).find('iframe.huaheng_iframe').hide().parents('.mainContent').append(str1);

                // 添加选项卡
                $('.menuTabs .page-tabs-content', topWindow).append(str);
            }
            return false;
        }

    </script>
</body>
</html>