Junjie
2023-04-06 07fda5932802ec084cde49bd74dd0788306fca16
src/main/webapp/views/console.html
@@ -20,13 +20,14 @@
            <button class="floorBtn  btn-16" onclick="changFloor(1)" style="margin-top: 150px">1F</button>
            <button class="floorBtn  btn-16" onclick="changFloor(2)" style="margin-top: 200px">2F</button>
            <button class="floorBtn  btn-16" onclick="changFloor(3)" style="margin-top: 250px">3F</button>
            <button class="floorBtn  btn-16" onclick="testMove()" style="margin-top: 250px">测试移动小车</button>
            <button class="floorBtn  btn-16" onclick="changFloor(4)" style="margin-top: 300px">4F</button>
            <button class="floorBtn  btn-16" onclick="testMove()" style="margin-top: 350px">测试移动车</button>
        <!-- 货架 + 堆垛机 + 入库站点 -->
        <div class="main-part">
            <!-- 第一组 -->
            <div class="lane" id="mapDataId" style="margin-bottom: 280px">
                <div class="sxcar" id="sxcar-1"></div>
            </div>
        </div>
    </main>
@@ -340,6 +341,7 @@
    var tData2 = []
    var tData3 = []
    var mapData = [] //地图数据
    var currentLev = 1;//当前地图楼层
    function getCodeData(){
        $.ajax({
            url:baseUrl +'/console/barcode/output/site',
@@ -395,8 +397,32 @@
    $(function (){
        initMap()
        initMap(1)
    })
    setInterval(() => {
        getShuttleStateInfo()
    },1000)
    // 四向穿梭车信息表获取
    function getShuttleStateInfo() {
        $.ajax({
            url: baseUrl+ "/shuttle/table/shuttle/state",
            headers: {'token': localStorage.getItem('token')},
            method: 'POST',
            success: function (res) {
                res.data.forEach((item,index) => {
                    if(item.locNoLev != currentLev){
                        //四向穿梭车楼层和当前地图楼层不一致,删除该车辆
                        $("#sxcar-" + item.shuttleNo).remove()
                    }else {
                        //移动四向穿梭车
                        moveCar(item.shuttleNo,item.locNoX,item.locNoY)
                    }
                })
            }
        });
    }
    //计算四向穿梭车图标位置
    function getCarPosition(x,y) {
@@ -415,10 +441,10 @@
    }
    //初始化地图
    function initMap() {
    function initMap(lev) {
        //母轨道第一次索引,用于定位小车
        let firstMotherIndex = [0,0];
        $("#mapDataId").empty()
        $.ajax({
            type:"get",
            url: baseUrl + "/static/js/map.json",
@@ -447,8 +473,18 @@
                                        break;
                                    case 4:
                                        //站点
                                        let data = colData.data
                                        col = '<div id="site-' + data + '" class="site">' + data + '(9991)</div>';
                                        if (lev == 1) {
                                            let data = colData.data;
                                            col = '<div id="site-' + data + '" class="site">' + data + '(9991)</div>';
                                        }else {
                                            //其他楼层只有提升机能显示
                                            let data = colData.data;
                                            if (data == 109) {//其他楼层只有提升机能显示
                                                col = '<div id="site-' + data + '" class="site">' + data + '(9991)</div>';
                                            }else {
                                                col = '<div style="visibility: hidden" id="site-' + data + '" class="site">' + data + '(9991)</div>';
                                            }
                                        }
                                        break;
                                    default:
                                        col = '<button class="item">' + idx + '</button>';
@@ -466,10 +502,23 @@
                    }
                })
                moveCar(1, firstMotherIndex[0], firstMotherIndex[1]);
                $("#mapDataId").append(content)
            }
        })
        $.ajax({
            url: baseUrl+ "/shuttle/table/shuttle/state",
            headers: {'token': localStorage.getItem('token')},
            method: 'POST',
            success: function (res) {
                res.data.forEach((item,index) => {
                    if(lev == item.locNoLev){
                        let carBox = '<div class="sxcar" id="sxcar-' + item.shuttleNo + '"></div>'
                        $("#mapDataId").append(carBox)
                    }
                })
            }
        });
    }
    //将地图数据转换成int二维数组(后续用于请求计算路径时携带地图数据参数使用)
@@ -933,74 +982,6 @@
        }
    }
    // 页面点击事件监听 ---------------------------------------------------------
    // 输送设备点击事件
    // $('.site').on('click', function () {
    //    var id = this.id.split("-")[1];
    //    if (id === undefined) {
    //       return;
    //    }
    //    layer.open({
    //       title: id + " 站点信息详情",
    //       closeBtn: 0,
    //       skin: 'layui-layer-lan',
    //       offset: '180px',
    //       type: 1,
    //       shadeClose: true,
    //       content: $('#siteWindow'),
    //       area: ['35rem', '18rem'],
    //       btn: ['确定', '关闭'],
    //       success: function(layero, index){
    //          http.post(baseUrl+"/console/site/detail", {siteId: id}, function (res) {
    //             for (var val in res.data) {
    //                var find = $("#siteWindow").find(":input[name='" + val + "']");
    //                if (find[0].type==='text') {
    //                   find.val(res.data[val]);
    //                } else if (find[0].type === 'checkbox') {
    //                   find.attr("checked", res.data[val] === 'Y');
    //                }
    //             }
    //          })
    //       },
    //       end: function () {
    //          $(':input', $("#siteWindow")).val('').removeAttr('checked').removeAttr('selected');
    //       }
    //    });
    // });
    // 堆垛机点击事件
    // $('.machine').on('click', function () {
    //    var id = this.id.split("-")[1];
    //    layer.open({
    //       title: id+"号堆垛机",
    //       skin: 'layui-layer-lan',
    //       closeBtn: 0,
    //       type: 1,
    //       offset: '150px',
    //       shadeClose: true,
    //       content: $("#crnWindow"),
    //       area: ['40rem', '20rem'],
    //       btn: ['确定', '关闭'],
    //       success: function(layero, index){
    //          http.post(baseUrl+"/console/crn/detail", {crnNo: id}, function (res) {
    //             for (var val in res.data) {
    //                var find = $("#crnWindow").find(":input[name='" + val + "']");
    //                if (find[0].type==='text') {
    //                   find.val(res.data[val]);
    //                } else if (find[0].type === 'checkbox') {
    //                   find.attr("checked", res.data[val] === 'Y');
    //                }
    //             }
    //          })
    //       },
    //       end: function () {
    //          $(':input', $("#crnWindow")).val('').removeAttr('checked').removeAttr('selected');
    //       }
    //    });
    // });
    // 小车偏移动画
    function carAnimate(id, target) {
        var targetTop = 122;
@@ -1030,29 +1011,10 @@
        $("#site-" + id).animate({top: targetTop+'px'}, 1000);
    }
     //楼层切换按钮
    function changFloor(x) {
        switch (x) {
            case 1:
                $('#fool1').css("display","block")
                $('#fool2').css("display","none")
                $('#fool3').css("display","none")
                return
            case 2:
                $('#fool1').css("display","none")
                $('#fool2').css("display","block")
                $('#fool3').css("display","none")
                return
            case 3:
                $('#fool1').css("display","none")
                $('#fool2').css("display","none")
                $('#fool3').css("display","block")
                return
            default:
                return;
        }
        currentLev = x
        initMap(currentLev)
    }
</script>