LocationAndTaskMonitor.js 10 KB
layui.config({
    base: "/js/"
}).use(['layer', 'jquery'], function () {
    var layer = layui.layer,
        $ = layui.jquery
    //滚动速度设置
    var timer = 120;
    //定时器
    var upScroll;
    //滚动内容
    var content = $("#content")[0];
    var msg1 = $("#msg1")[0];
    var msg2 = $("#msg2")[0];
    var Roadway = "0";
    var name = "";
    var open = 0;
    var index;

    //滚动效果
    function myScrollTop() {
        if (content.scrollTop >= (content.scrollHeight - content.clientHeight - 10)) {
            content.scrollTop = 0;
        } else {
            content.scrollTop++;
        }
    }
    //鼠标悬停停止滚动
    content.onmouseover = function () {
        clearInterval(upScroll);
    };
    //鼠标离开继续滚动
    content.onmouseout = function () {
        upScroll = setInterval(myScrollTop, timer);
    };
    //更新滚动数据
    var html = "";
    function findTask() {
        if (open == 0) {
            $.ajax({
                async: false,
                url: "/monitor/LocationAndTaskMonitor/FindTask",
                type: "post",
                data: { Roadway: Roadway },
                dataType: "json",
                success: function (result) {
                    clearInterval(upScroll);
                    if (result.data.length > 0) {
                        html = "";
                        for (var i = 0; i < result.data.length; i++) {
                            html += "<li>" +
                                "Id:" + result.data[i].Id + " 出库单号:" + result.data[i].SourceCode + " 物料号:" + result.data[i].MaterialCode + " 站台:" + result.data[i].Station + " 数量:" + result.data[i].Qty + " 分配数量:" + result.data[i].QtyDivided
                            "</li>";
                        }
                        msg2.innerHTML = "";
                        msg1.innerHTML = html;
                        if (content.scrollHeight > content.clientHeight) {
                            msg2.innerHTML = html;
                        }
                        upScroll = setInterval(myScrollTop, timer);
                    } else {
                        html = "";
                        html += "<li>" +
                            "无出库任务" +
                            "</li>";
                        msg2.innerHTML = "";
                        msg1.innerHTML = html;
                    }

                }
            });
        }
    }

    //生成仓位托盘扇形图
    function findPallet() {
        if (open == 0) {
            if (Roadway == "5") {
                var text = "小板板托盘数据";
            } else {
                var text = "托盘数据";
            }
            $.ajax({
                async: false,
                url: "/monitor/LocationAndTaskMonitor/FindPallet",
                type: "post",
                data: { Roadway: Roadway },
                dataType: "json",
                success: function (result) {
                    var servicedata = [];
                    var legendServicedata = [];
                    for (var i = 0; i < result.data.length; i++) {
                        var obj = new Object();
                        obj.name = result.data[i].name;
                        obj.value = result.data[i].num;
                        servicedata[i] = obj;
                        legendServicedata[i] = result.data[i].name;
                    }
                    // 基于准备好的dom,初始化echarts实例
                    var myChart = echarts.init(document.getElementById('pallet'));
                    // 指定图表的配置项和数据
                    var option = {
                        title: {
                            text: text,
                            subtext: name,
                            left: 'center'
                        },
                        //tooltip: {
                        //    trigger: 'item',
                        //    formatter: '{a} <br/>{b} : {c} ({d}%)'
                        //},
                        legend: {
                            orient: 'vertical',
                            // top: 'middle',
                            x: 'left',
                            //bottom: 10,
                            //left: 'center',
                            data: legendServicedata
                        },
                        series: [
                            {
                                type: 'pie',
                                radius: '65%',
                                center: ['50%', '50%'],
                                selectedMode: 'single',
                                data: servicedata,
                                // 设置值域的标签
                                label: {
                                    normal: {
                                        show: true,
                                        position: "outer",  // 设置标签位置,默认在饼状图外 可选值:'outer' ¦ 'inner(饼状图上)'
                                        fontSize: 20,
                                        //lineHeight: 30,
                                        //color: '#999',
                                        formatter: "{b}: {c} 个"
                                    }
                                }
                            }
                        ]
                    };
                    myChart.setOption(option);
                }
            });
        }
    }

    //生成出库分配任务扇形图
    function findTaskNum() {
        if (open == 0) {
            console.log(Roadway);
            if (Roadway == "5") {
                var text = "大板托盘数据";
            } else {
                var text = "分配出库任务数据";
            }
            $.ajax({
                async: false,
                url: "/monitor/LocationAndTaskMonitor/FindTaskNum",
                type: "post",
                data: { Roadway: Roadway },
                dataType: "json",
                success: function (result) {
                    var servicedata = [];
                    var legendServicedata = [];
                    for (var i = 0; i < result.data.length; i++) {
                        var obj = new Object();
                        obj.name = result.data[i].name;
                        obj.value = result.data[i].num;
                        servicedata[i] = obj;
                        legendServicedata[i] = result.data[i].name;
                    }
                    // 基于准备好的dom,初始化echarts实例
                    var myChart = echarts.init(document.getElementById('task'));
                    // 指定图表的配置项和数据
                    var option = {
                        title: {
                            text: text,
                            subtext: name,
                            left: 'center'
                        },
                        legend: {
                            orient: 'vertical',
                            x: 'left',
                            data: legendServicedata
                        },
                        series: [
                            {
                                type: 'pie',
                                radius: '65%',
                                center: ['50%', '50%'],
                                selectedMode: 'single',
                                data: servicedata,
                                // 设置值域的标签
                                label: {
                                    normal: {
                                        show: true,
                                        position: "outer",  // 设置标签位置,默认在饼状图外 可选值:'outer' ¦ 'inner(饼状图上)'
                                        fontSize: 20,
                                        formatter: "{b}: {c} 个"
                                    }
                                }
                            }
                        ]
                    };
                    myChart.setOption(option);
                }
            });
        }
    }

    $("#contentH3").on("click", function () {
        index = window.top.layer.open({
            type: 2,
            title: ['全屏', 'font-size:18px;'],
            content: "/monitor/LocationAndTaskMonitor/Index",
            area: ["100%", "100%"],
            maxmin: true,
            success: function (layero, index) {
                open = 1;
            },
            end: function () {
                open = 0;
            }
        });
    });

    $(function () {
        var index = parent.layer.getFrameIndex(window.name);
        if (index != undefined) {
            $("#contentH3").unbind("click").bind("click", function () {
                parent.layer.close(index);
            });
        }
        layer.open({
            title: ['选择', 'font-size:18px;'],
            content: '请选择仓库'
            , offset: 'auto'
            , area: ['450px', '150px']
            , btn: ['原材料', 'PP卷', 'PP片', '铜箔', '成品']
            , yes: function (index, layero) {
                Roadway = "1";
                name = "原材料";
                layer.close(index);
            }
            , btn2: function (index, layero) {
                Roadway = "2";
                name = "pp卷";
            }
            , btn3: function (index, layero) {
                Roadway = "3";
                name = "pp片";
            }
            , btn4: function (index, layero) {
                Roadway = "4";
                name = "铜箔";
            }
            , btn5: function (index, layero) {
                Roadway = "5";
                name = "成品库";
            }
            , cancel: function () {
                Roadway = "1";
                name = "原材料";
            }
            , end: function () {
                upScroll = setInterval(myScrollTop, timer);
                setInterval(findTask, 5000);
                setInterval(findPallet, 3000);
                setInterval(findTaskNum, 3000);
            }
        });

    })
});