自动化立体仓库 - WMS系统
whycq
2024-07-08 96163502a2d563b808abfd5e06d5c71365059d5e
# 换板绑定
1个文件已添加
1个文件已修改
230 ■■■■■ 已修改文件
src/main/webapp/views/pda/changePallet.html 229 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/pda/index.html 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/pda/changePallet.html
New file
@@ -0,0 +1,229 @@
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>换板绑定</title>
    <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all">
    <link rel="stylesheet" href="../../static/css/pda.css" media="all">
    <script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
    <script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script>
    <script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script>
    <script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script>
    <script type="text/javascript" src="../../static/js/handlebars/handlebars-v4.5.3.js"></script>
</head>
<body>
<!-- 头部 -->
<header class="layui-form">
    <div class="layui-input-inline">
        <label class="layui-form-label">原托盘码</label>
        <div class="layui-input-block">
            <input class="layui-input" type="number" id="locNo" onkeyup="findByLocNo(this)" autocomplete="off">
        </div>
    </div>
    <div class="layui-input-inline">
        <label class="layui-form-label">新托盘码</label>
        <div class="layui-input-block">
            <input class="layui-input" type="text" id="matNo" onkeyup="findByMatNo(this)" autocomplete="off">
        </div>
    </div>
</header>
<!-- 主体 -->
<main>
    <table class="layui-table" id="dataByLoc" lay-filter="dataByLoc"></table>
</main>
<!-- 尾部 -->
<footer>
    <div class="layui-btn-container">
        <button id="reset" type="button" class="layui-btn layui-btn-primary" onclick="reset()">重置</button>
        <button type="button" id="changePallet" class="layui-btn layui-btn-normal " onclick="changePallet()" style="margin-left: 20px">换板</button>
        <span id="tips"></span>
    </div>
</footer>
</body>
<script>
    window.onload = function(){
        document.getElementById("locNo").focus();
    }
    /**
     * 根据库位号查找库存明细
     */
    function findByLocNo(el){
        if (isEmpty(el.value)) {
            return;
        }
        $("#matNo").val("");
        find(el.value, $("#matNo").val());
    }
    /**
     * 根据产品号查找库存明细
     */
    function findByMatNo(el){
        if (isEmpty(el.value)) {
            return;
        }
        //$("#locNo").val("");
        //find2($("#locNo").val(), el.value);
    }
    function find(locNo, matNo) {
        $.ajax({
            url: baseUrl + "/mobile/piking/auth",
            headers: {'token': localStorage.getItem('token')},
            data: {
                barcode: locNo,
            },
            method: 'POST',
            success: function (res) {
                if (res.code === 200) {
                    if (res.data != null) {
                        locDetlData = res.data;
                        tableIns.reload({data: locDetlData});
                    }
                    $('#pakOut').focus();
                } else if (res.code === 403) {
                    top.location.href = baseUrl + "/pda";
                } else {
                    locDetlData = [];
                    tableIns.reload({data: locDetlData});
                }
            }
        })
    }
    // 表格
    var locDetlData = [];
    var tableIns;
    layui.use(['table','laydate', 'form'], function() {
        var table = layui.table;
        var $ = layui.jquery;
        var layer = layui.layer;
        var form = layui.form;
        tableIns = table.render({
            id: 'tableIdx',
            elem: '#dataByLoc',
            data: [],
            limit: 500,
            cellMinWidth: 50,
            cols: [[
                {field: 'matNo', align: 'center', title: '编码', event: 'detail'}
                ,{field: 'matName', align: 'center', title: '名称', event: 'detail'}
                ,{field: 'locNo', align: 'center', title: '库位', event: 'detail'}
                ,{field: 'qty', align: 'center', title: '数量', event: 'detail', style:'color: blue', width:50}
                // ,{field: 'pickNum', align: 'center', title: '拣料', event: 'detail', width:50}
            ]],
            done: function (res, curr, count) {
            }
        });
        // 监听行工具事件
        table.on('tool(dataByLoc)', function(obj) {
            var data = obj.data;
            switch (obj.event) {
                // 详情
                case 'detail':
                    layer.open({
                        type: 2,
                        title: '库存明细',
                        shade: [0.3,'#000'],
                        area: ['90%', '70%'],
                        content: 'locDetlIframe.html?flag=1',
                        success: function(layero, index){
                            // 设置弹窗样式
                            $('.layui-layer-title').css('font-size', '16px');
                            // 注入值
                            let el = layer.getChildFrame('.form-box', index);
                            for (var val in data) {
                                var find = el.find(":input[id='" + val + "']");
                                find.val(data[val]);
                            }
                        },
                        end: function () {
                            $('#pakOut').focus();
                        }
                    });
                    break;
            }
        })
    });
    // 修改表格数据
    function updateTableData(data) {
        for (var i=0;i<locDetlData.length;i++) {
            if (data.matnr === locDetlData[i].matnr && data.locNo === locDetlData[i].locNo) {
                locDetlData[i].count = data.count;
                break
            }
        }
        tableIns.reload({data: locDetlData});
    }
    // 删除表格行
    function removeTableData(data) {
        for (var i = locDetlData.length - 1; i >= 0; i--) {
            if (locDetlData[i].locNo === data.locNo && locDetlData[i].matnr === data.matnr) {
                locDetlData.splice(i, 1);
            }
        }
        tableIns.reload({data: locDetlData});
    }
    // 重置
    function reset() {
        $("#matNo").val("");
        $("#locNo").val("");
        locDetlData = [];
        tableIns.reload({data: locDetlData});
        layui.form.render('select');
    }
    function changePallet() {
        console.log(123,$("#locNo").val(),$("#matNo").val())
        $.ajax({
            url: baseUrl + "/mobile/piking/to/full",
            headers: {'token': localStorage.getItem('token')},
            data: {
                sBarcode: $("#locNo").val(),tBarcode: $("#matNo").val()
            },
            method: 'POST',
            success: function (res) {
                if (res.code === 200) {
                    locDetlData = [];
                    $("#locNo").val(""),$("#matNo").val("")
                    tableIns.reload({data: locDetlData});
                    tips(res.msg, false)
                    $('#pakOut').focus();
                } else if (res.code === 403) {
                    top.location.href = baseUrl + "/pda";
                } else {
                    tips(res.msg, true)
                    tableIns.reload({data: locDetlData});
                }
            }
        })
    }
    /**
     * 提示信息
     * @param msg 提示内容
     * @param warn true:红色var字体
     */
    function tips(msg, warn) {
        layer.msg(msg, {icon: warn?2:1})
    }
    document.onkeyup = function (e) {
        if (window.event)//如果window.event对象存在,就以此事件对象为准
            e = window.event;
        var key = e.charCode || e.keyCode;
        if (key === 115) {
            $("#pakOut").focus();
            pakOut();
        } else if (key === 113) {
            $("#locNo").val("");
            $("#locNo").focus();
        }
    }
</script>
</html>
src/main/webapp/views/pda/index.html
@@ -79,6 +79,7 @@
<!--    <li><a id="stockOut" onclick="nav(this.id)" class="nav-unselect" href="#">出库</a></li>-->
    <li><a id="stockCheck" onclick="nav(this.id)" class="nav-unselect" href="#">库存盘点</a></li>
    <li><a id="stockQuery" onclick="nav(this.id)" class="nav-unselect" href="#">库存查询</a></li>
    <li><a id="changePallet" onclick="nav(this.id)" class="nav-unselect" href="#">换板绑定</a></li>
</ul>
<!-- 主体内容 -->