chengsc
2 天以前 4981a1e8bfe9c18965d93dec8569d4980e824884
修改拆箱换标问题,添加拆托功能页
4个文件已修改
1个文件已添加
1018 ■■■■■ 已修改文件
Pda/View/HouseDataSetting/BoxDevanning.html 117 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Pda/View/HouseDataSetting/SkuDismantling.html 846 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/WMS.BLL/BllPdaServer/PdaCrServer.cs 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/WMS.IBLL/IPdaServer/IPdaCrServer.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/Wms/Controllers/PdaCrController.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Pda/View/HouseDataSetting/BoxDevanning.html
@@ -40,7 +40,11 @@
                        <li><a href="../login.html">重新登录</a></li>
                    </ul>
                </div>
                <div>
                    <button id="click" class="layout-btn" type="button"
                    style="background-color: #999; width: 100%;text-align: center; margin-top: 2px;">连接蓝牙</button>
                </div>
                <div id="" class="layout-bill-info">
                    <form class="layui-form" action="">
                        <div id="BOX" class="layui-form-item layout-input">
@@ -62,7 +66,7 @@
                            <tr>
                                <td style="width: 23%;"></td>
                                <td>
                                    <button class="layout-btn layout-btn-red" lang type="button" lay-submit
                                    <button id="click2" class="layout-btn layout-btn-red" lang type="button" lay-submit
                                        lay-filter="formUnbind">拆箱</button>
                                </td>
                                <td style="width: 33%;"></td>
@@ -79,7 +83,14 @@
        <script src="/layui/layui.js"></script>
        <script src="/js/public.js"></script>
        <script src="/js/jquery.cookie.js"></script>
        <script type="text/javascript" src="https://js.cdn.aliyun.dcloud.net.cn/dev/uni-app/uni.webview.1.5.2.js"></script>
        <script>
            var dataLists;
            var isChongFu = true;
            layui.use(['form', 'jquery'], function() {
                var form = layui.form
                
@@ -97,10 +108,22 @@
                    // //console.log("body")
                    $("#menuList").hide()
                })                
                 
                var isChongFu = true;
                form.on('submit(formUnbind)', function(data) {
            })
            document.addEventListener("UniAppJSBridgeReady", function () {
                document.getElementById("click").addEventListener("click", function () {
                    let data = {
                        type: "search"
                    };
                    console.log("给 uni-app 发送数据", data);
                    uni.postMessage({
                        data: data,
                    });
                });
                document.getElementById("click2").addEventListener("click", function () {
                    if (!$("#devanQty").val()) {
                        layer.msg('请输入拆箱数量', {
                            icon: 2,
@@ -116,7 +139,7 @@
                        });
                        return;
                    }
                    if (!$("#BOXCODE").val()) {
                    if (!$("#BOXCODE").val()) {
                        layer.msg('请扫描外箱条码', {
                            icon: 2,
                            time: 2000 //2秒关闭(如果不配置,默认是3秒)
@@ -124,44 +147,66 @@
                        return;
                    }
                    if (isChongFu == true) {
                        isChongFu = false;
                        var param = {
                            "DevanQty":parseFloat($("#devanQty").val()),
                            "BoxNo": $("#BOXCODE").val(),
                        }
                        sendData(IP + "/PdaCr/AddLableByDevanning", param, 'post', function(res) {
                            if (res.code == 0) { //成功
                                layer.msg("成功", {
                                    icon: 1,
                                    time: 2000 //2秒关闭(如果不配置,默认是3秒)
                                }, function () {
                                    tableData = null
                                    $("#devanQty").val('')
                                    $("#BOXCODE").val('')
                        isChongFu = false;
                        var param = {
                            "DevanQty":parseFloat($("#devanQty").val()),
                            "BoxNo": $("#BOXCODE").val(),
                        }
                        synData(IP + "/PdaCr/AddLableByDevanning", param, 'post', function(res) {
                            if (res.code == 0) { //成功
                                layer.msg("成功", {
                                    icon: 1,
                                    time: 2000 //2秒关闭(如果不配置,默认是3秒)
                                }, function () {
                                    $("#devanQty").val('')
                                    $("#BOXCODE").val('')
                                    dataLists = res.data;
                                    console.log(dataLists);
                                    isChongFu = true;
                                    let data = {
                                        type: "print",
                                        listData:dataLists
                                        // {
                                        //     SkuNo:'541100554848',
                                        //     SkuName:'葡萄糖葡萄糖葡萄糖葡萄糖葡萄糖',
                                        //     LotNo:'120326',
                                        //     Date1:'2025-04-10',
                                        //     Date2:'2026-04-10',
                                        //     BoxNo:['T2300001','T2300002','T2300003'],
                                        // }
                                        // lstData: {
                                        //     name: "Iuhuy",
                                        //     avatar:
                                        //         "http://thirdwx.qlogo.cn/mmopen/vi_32/EURpungADj4vP3UczBVvD1DcEUt9q7WFqc6mZlSZoXoS9PyaPicnX8pjmic0rLbmwYCSa247gibINd1dWr0ic1QTvw/132",
                                        // },
                                    };
                                    console.log("给 uni-app 发送数据", data);
                                    isChongFu = true;
                                });
                            } else { //不成功
                                layer.msg(res.msg, {
                                    icon: 2,
                                    time: 2000 //2秒关闭(如果不配置,默认是3秒)
                                }, function() {isChongFu = true;});
                            }
                        });
                        return false; //阻止表单跳转。如果需要表单跳转,去掉这段即可。
                    }else{
                                    uni.postMessage({
                                        data: data,
                                    });
                                });
                            } else { //不成功
                                layer.msg(res.msg, {
                                    icon: 2,
                                    time: 2000 //2秒关闭(如果不配置,默认是3秒)
                                }, function() {isChongFu = true;});
                            }
                        });
                    }else{
                        layer.msg("请勿重复点击", {
                            icon: 2,
                            time: 2000 //2秒关闭(如果不配置,默认是3秒)
                        });
                    }
                    
                });
                // form.verify({
                //     stock: [/^[\S]{6}$/, '托盘条码必须为六位字符']
                // });
            })
            });
        </script>
    </body>
</html>
Pda/View/HouseDataSetting/SkuDismantling.html
New file
@@ -0,0 +1,846 @@
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="user-scalable=0,width=device-width,initial-scale=1.0" />
    <!-- <meta name="viewport" content="width=device-width, initial-scale=0.665, minimum-scale=0.5, maximum-scale=2.0, user-scalable=no" /> -->
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <title>Boxline PDA</title>
    <link rel="stylesheet" href="/layui/css/layui.css" />
    <link rel="stylesheet" href="/css/style.css" />
    <script src="/js/adaptive.js"></script>
    <link rel="stylesheet" href="/css/my.css" />
    <style type="text/css">
        .layout-bill-info {
            height: auto;
            /* background-color: #009E94; */
        }
        .layout-tbl-submit {
            margin-top: 10px;
        }
        /* .out-scatter-num {
                 background-color: #009688;
            } */
        .out-scatter-num .local-input {
            width: 40%;
            height: 25px;
            float: left;
        }
        .out-scatter-num .local-ok button {
            height: 25px;
            border: 0;
            color: #FFFFFF;
            background-color: #0a93e3;
            border-radius: 3px;
            padding: 2px;
            margin-left: 10px;
            width: 100%;
        }
        .out-scatter-num .layui-input-block {
            width: 100%;
            /* background-color: #009E94; */
            margin-left: 0;
        }
        .out-scatter-num .local-ok {
            width: 20%;
            height: 25px;
            float: left;
        }
        .btn-ok-blue {
            border: none;
            color: #FFFFFF;
            background-color: #0a93e3;
            width: 48%;
            height: 36px;
            border-radius: 5px;
        }
        .btn-ok-red {
            border: none;
            color: #FFFFFF;
            background-color: #9f1707;
            width: 48%;
            height: 36px;
            border-radius: 5px;
        }
        .btn-ok-blue:active {
            opacity: 0.8;
        }
        .btn-ok-red:active {
            opacity: 0.8;
        }
        .layout-tbl-paging {
            margin-top: 20px;
        }
        .foot-container {
            text-align: center;
        }
        .layout-tab-page {
            height: auto;
        }
        .layui-form-checkbox {
            margin: auto;
            /* padding-left: 2px; */
            /* padding-right: 2px; */
        }
        .div-tbl-title {
            width: 98%;
            margin: auto;
            /* background-color: #4476A7; */
            height: 30px;
        }
        .div-tbl-title table {
            width: 100%;
            height: 30px;
        }
        td {
            word-break: break-all;
            word-wrap: break-word;
        }
        .layui-input-block .layui-input,
        .layui-input-block .layui-textarea {
            padding-left: 0rem;
            font-size: 13px;
        }
        .lableWidth {
            width: 17%;
        }
        .layui-input-block {
            width: 83%;
            margin-left: 17%;
        }
        .layui-form-switch {
            margin-top: 0;
        }
        ul {
            list-style-type: none;
            padding: 0;
        }
        li {
            cursor: pointer;
            background-color: lightgray;
            padding: 10px;
            margin-bottom: 5px;
        }
    </style>
    <link rel="stylesheet" href="/css/adapter.css" />
</head>
<body>
    <div id="" class="main-content">
        <div id="" class="layout-title">
            <table border="" cellspacing="" cellpadding="">
                <tr>
                    <td class="img-back"><a href="../index.html"><img src="/assets/back.jpg"></a></td>
                    <td class="title-text">物料拆托</td>
                    <td class="title-menu-icon"><img id="menuImg" src="/assets/menu.jpg"></td>
                </tr>
            </table>
        </div>
        <div id="" class="layout-sub-content">
            <div id="menuList" class="menu">
                <ul class="" style="text-align: center;">
                    <li><a href="../index.html">主页</a></li>
                    <li><a href="../login.html">重新登录</a></li>
                </ul>
            </div>
            <!-- <ul>
                <li id="option1">标签</li>
                <li id="option2">数量</li>
            </ul> -->
            <button id="option1" class="layout-btn" type="button">标签</button>
            <button id="option2" class="layout-btn" type="button">数量</button>
            <br /><br />
            <!-- 有码 -->
            <div id="content1">
                <div id="" class="layout-bill-info">
                    <form class="layui-form" action="" style="height: auto;">
                        <div id="layout-pallet" class="layui-form-item layout-input">
                            <label class="layui-form-label lableWidth">托盘条码:</label>
                            <div class="layui-input-block">
                                <input id="palletNo" type="text" lay-verify="stock" placeholder="请扫描托盘条码"
                                    autocomplete="off" class="layui-input" style="height:24px">
                            </div>
                        </div>
                        <div class="layui-form-item layout-input">
                            <label class="layui-form-label lableWidth">外箱条码:</label>
                            <div class="layui-input-block">
                                <input id="boxNo" type="text" placeholder="请扫描外箱条码" autocomplete="off"
                                    class="layui-input">
                            </div>
                        </div>
                        <div id="layout-pallet" class="layui-form-item layout-input" style="margin-top: 5px;">
                            <label class="layui-form-label lableWidth">新托盘条码:</label>
                            <div class="layui-input-block">
                                <input id="palletNo3" type="text" lay-verify="stock" placeholder="请扫描新托盘条码"
                                    autocomplete="off" class="layui-input" style="height:24px">
                            </div>
                        </div>
                        <div id="" class="layout-tab-page">
                            <table class="layout-tab-content">
                                <tr>
                                    <td style="width: 33%;"></td>
                                    <td>
                                        <button class="layout-btn layout-btn-red" lang type="button" lay-submit
                                            lay-filter="formPickScatter">拣货</button>
                                    </td>
                                    <td style="width: 33%;"></td>
                                </tr>
                            </table>
                            <div id="" style="text-align: right;margin-top: 10px; display: none;">
                                <div id="" class="cut-line">
                                    <img src="/assets/fengexian.png">
                                </div>
                            </div>
                        </div>
                    </form>
                </div>
            </div>
            <!-- 无码 -->
            <div id="content2">
                <div id="" class="layout-bill-info">
                    <form class="layui-form" action="" style="height: auto;">
                        <div id="layout-pallet" class="layui-form-item layout-input">
                            <label class="layui-form-label lableWidth">托盘条码:</label>
                            <div class="layui-input-block">
                                <input id="palletNo2" type="text" lay-verify="stock" placeholder="请扫描托盘条码"
                                    autocomplete="off" class="layui-input" style="height:24px">
                            </div>
                        </div>
                        <div id="layout-skuLotNo2" class="layui-form-item layout-dropdownlist">
                            <label class="layui-form-label lableWidth">物料 - 批次:</label>
                            <div class="layui-input-block">
                                <select id="skuLotNo2" lay-filter="getSkuLotNo2" lay-search>
                                    <option value=""></option>
                                </select>
                                <img src="/assets/down_arraw.png">
                            </div>
                        </div>
                        <div id="layout-pallet" class="layui-form-item layout-input">
                            <label class="layui-form-label lableWidth">新托盘条码:</label>
                            <div class="layui-input-block">
                                <input id="palletNo4" type="text" lay-verify="stock" placeholder="请扫描新托盘条码"
                                    autocomplete="off" class="layui-input" style="height:24px">
                            </div>
                        </div>
                        <div id="" class="layout-tab-page">
                            <table class="layout-tab-content">
                                <tr>
                                    <td>
                                        <div id="layout-qty" class="layui-form-item out-scatter-num">
                                            <label class="layui-form-label lableWidth">拆托数量:</label>
                                            <div id="" class="local-input">
                                                <div class="layui-input-block">
                                                    <input id="pickQty2" type="number" placeholder="请输入拣货数量"
                                                        autocomplete="off" class="layui-input"
                                                        style="padding-left:0.1rem;"
                                                        oninput="value=value.replace(/^(0+)|[^\d]+/g,'')">
                                                </div>
                                            </div>
                                            <div id="" class="local-ok">
                                                <button type="button" lay-submit
                                                    lay-filter="formPickScatter2">确认</button>
                                            </div>
                                        </div>
                                    </td>
                                </tr>
                            </table>
                            <div id="" style="text-align: right;margin-top: 10px; display: none;">
                                <div id="" class="cut-line">
                                    <img src="/assets/fengexian.png">
                                </div>
                            </div>
                        </div>
                    </form>
                </div>
            </div>
        </div>
    </div>
    <script src="/js/jquery-3.5.1.min.js"></script>
    <script src="/layui/layui.js"></script>
    <script src="/js/jquery.cookie.js"></script>
    <script src="/js/public.js"></script>
    <script>
        layui.use(['form', 'jquery'], function () {
            var form = layui.form;
            /* 标签切换代码 */
            var xianshiyemian = 0;
            $('#option1').attr("style", "background-color: red;width: 50%;float: left;text-align: center;"); //选中后颜色
            $('#option2').attr("style", "background-color: #999;width: 50%;float: right;text-align: center;"); //默认颜色
            $('#content2').hide();
            $(document).ready(function () {
                $('#option1').click(function () {
                    // qingkong();
                    xianshiyemian = 0;
                    $('#content1').show();
                    $('#option1').attr("style", "background-color: red;width: 50%;float: left;text-align: center;"); //选中后颜色
                    $('#content2').hide();
                    $('#option2').attr("style", "background-color: #999;width: 50%;float: right;text-align: center;"); //默认颜色
                    $("#palletNo").focus();//光标默认选中
                });
                $('#option2').click(function () {
                    // qingkong();
                    xianshiyemian = 1;
                    $('#content1').hide();
                    $('#option1').attr("style", "background-color: #999;width: 50%;float: left;text-align: center;"); //默认颜色
                    $('#content2').show();
                    $('#option2').attr("style", "background-color: red;width: 50%;float: right;text-align: center;"); //选中后颜色
                    $("#palletNo2").focus();//光标默认选中
                });
            });
            //是否整托拣货
            var isContinue = "0";
            var canPickBox = true
            $("#palletNo").focus();//光标默认选中
            //当托盘条码输入框文本改变时,检查一下托盘状态
            $("#palletNo").on('input', function () {
                if ($("#palletNo").val() == "" || $("#palletNo").val().length < 8) {
                    return
                }
                if ($("#palletNo").val().length >= 8) {
                    $("#palletNo").val($("#palletNo").val().substr(-8))
                }
                checkPalletState()
            })
            //箱码文本框回车事件
            $("#boxNo").blur(function () {
                GetBoxInfo();
            });
            //查询箱码信息
            function GetBoxInfo(){
                var param = {
                    "PalletNo": $("#palletNo").val(),
                    "BoxNo": $("#boxNo").val(),
                }
                synData(IP + "/PdaCr/GetBoxInfo", param, 'post', function (res) {
                    if (res.code == 0) { //成功
                        $("#boxNo").focus();//光标默认选中
                    } else { //不成功
                        layer.msg(res.msg, {
                            icon: 2,
                            time: 2000 //2秒关闭(如果不配置,默认是3秒)
                        }, function () { });
                    }
                });
            }
            //检查托盘状态
            function checkPalletState() {
                var param = {
                    "PalletNo": $("#palletNo").val()
                }
                synData(IP + "/PdaSo/IsEnableOkPalletNo", param, 'post', function (res) {
                    if (res.code == 0) { //成功
                        $("#boxNo").focus();//光标默认选中
                    } else { //不成功
                        layer.msg(res.msg, {
                            icon: 2,
                            time: 2000 //2秒关闭(如果不配置,默认是3秒)
                        }, function () { });
                    }
                });
            }
            //单拣货(确认按钮)
            form.on('submit(formPickScatter)', function (data) {
                if ($('#palletNo').val() == "") {
                    layer.msg("请输入托盘码", {
                        icon: 2,
                        time: 2000 //2秒关闭(如果不配置,默认是3秒)
                    }); return;
                }
                if ($('#palletNo3').val() == "") {
                    layer.msg("请输入新托盘码", {
                        icon: 2,
                        time: 2000 //2秒关闭(如果不配置,默认是3秒)
                    }); return;
                }
                if (isContinue == "0") {
                    if ($('#boxNo').val() == "") {
                        layer.msg("请输入箱码", {
                            icon: 2,
                            time: 2000 //2秒关闭(如果不配置,默认是3秒)
                        }); return;
                    }
                    if ($('#boxQty').val() == "") {
                        layer.msg("箱内数量为空,不能拣货", {
                            icon: 2,
                            time: 2000 //2秒关闭(如果不配置,默认是3秒)
                        });
                        return;
                    }
                }
                if (canPickBox == false) {
                    layer.msg("请求未完成,不要重复请求", {
                        icon: 2,
                        time: 2000 //2秒关闭(如果不配置,默认是3秒)
                    });
                    return;
                }
                reqPickScatter()
                return false; //阻止表单跳转。如果需要表单跳转,去掉这段即可。
            });
            //确认拣货
            function reqPickScatter() {
                var param = {
                    "PalletNo": $('#palletNo').val(),
                    "BoxNo": $('#boxNo').val(),
                    "palletNoNew": $('#palletNo3').val(),
                }
                sendData(IP + "/PdaSo/SoSetPinPick", param, 'post', function (res) {
                    //console.log(res);
                    if (res.code == 0) { //成功
                        layer.msg(res.msg, {
                            icon: 1,
                            time: 2000 //2秒关闭(如果不配置,默认是3秒)
                        }, function () {
                            canPickBox = true//回调
                            $("#boxNo").val('');
                        });
                    } else { //不成功
                        layer.msg(res.msg, {
                            icon: 2,
                            time: 2000 //2秒关闭(如果不配置,默认是3秒)
                        }, function () {
                            canPickBox = true;//回调
                        });
                    }
                });
            }
            //----------------------------------------------------------------------------------
            //主页及重新登录
            $("#menuImg").click(function (e) {
                //console.log("menuImg")
                e.stopPropagation()
                if ($("#menuList").is(":hidden")) {
                    $("#menuList").show()
                } else {
                    $("#menuList").hide()
                }
            })
            $('body').click(function () {
                // //console.log("body")
                $("#menuList").hide()
            })
            //数量标签-------------------------------------------------------------------------------
            function clear21() {
                $('#outModel2').val("");//出库口
                $('#standard2').val("");//规格
                $('#pickQty2').val("");//待拣数量
                $('#pickedQty2').val("");//已拣数量
            }
            function clear22() {
                //物料批次
                $("#skuLotNo2").empty()
                $("#skuLotNo2").append('<option value =>' + '</option>');
                form.render('select');
            }
            function clear23() {
                $("#planQty2").val("");  //计划数量
                $("#finishQty2").val("");//完成数量
            }
            function clear24() {
                $('#boxNo2').val("");//箱码
                $('#boxQty2').val("");//箱内数量
            }
            //当托盘条码输入框文本改变时,检查一下托盘状态
            $("#palletNo2").on('input', function () {
                if ($("#palletNo2").val() == "" || $("#palletNo2").val().length < 8) {
                    return
                }
                if ($("#palletNo2").val().length >= 8) {
                    $("#palletNo2").val($("#palletNo2").val().substr(-8))
                }
                checkPalletState2()
            })
            //检查托盘状态
            function checkPalletState2() {
                var param = {
                    "PalletNo": $("#palletNo2").val()
                }
                synData(IP + "/PdaSo/IsEnableOkPalletNo", param, 'post', function (res) {
                    if (res.code == 0) { //成功
                        updateBillList2();
                        console.log($('#bar2').val())
                        if ($('#bar2').val() == "") {
                            console.log(1)
                            clear21();
                            return;
                        } else {
                            console.log(2)
                            updateSkuLotNoList2();
                            updateQtyList2();
                            getBar2();
                            // GetDataInfo();
                        }
                    } else { //不成功
                        layer.msg(res.msg, {
                            icon: 2,
                            time: 2000 //2秒关闭(如果不配置,默认是3秒)
                        }, function () { });
                    }
                });
            }
            //初始化渲染 出库单
            function updateBillList2() {
                $("#bar2").empty()
                $("#bar2").append('<option value =>' + '</option>');
                form.render('select');
                var param = {
                    PalletNo: $("#palletNo2").val(),
                };
                synData(IP + "/PdaSo/GetRunSoNoticeList", param, 'post', function (res) {
                    if (res.code == 0) { //成功
                        console.log(res.data);
                        for (var i = 0; i < res.data.length; i++) {
                            if (i == 0) {
                                $("#bar2").append('<option value =' + res.data[i] + ' selected>' + res.data[i] + '</option>');
                            } else {
                                $("#bar2").append('<option value =' + res.data[i] + '>' + res.data[i] + '</option>');
                            }
                        }
                        form.render('select');
                    } else { //不成功
                        layer.msg(res.msg, {
                            icon: 2,
                            time: 2000 //2秒关闭(如果不配置,默认是3秒)
                        });
                    }
                });
            }
            //初始化渲染 物料-批次
            function updateSkuLotNoList2() {
                clear22();
                var param = {
                    PalletNo: $("#palletNo2").val(),
                    SoNo: $("#bar2").val(),
                };
                synData(IP + "/PdaSo/GetSoSkuLotNoListByPallet", param, 'post', function (res) {
                    console.log(res);
                    if (res.code == 0) { //成功
                        for (var i = 0; i < res.data.length; i++) {
                            if (i == 0) {
                                $("#skuLotNo2").append('<option value =' + res.data[i].SoDetailId + ' selected>' + res.data[i].SkuName);
                                if (res.data[i].LotNo != null) {
                                    $("#skuLotNo2").append(" - " + res.data[i].LotNo);
                                }
                                $("#skuLotNo2").append('</option>');
                            } else {
                                $("#skuLotNo2").append('<option value =' + res.data[i].SoDetailId + '>' + res.data[i].SkuName);
                                if (res.data[i].LotNo != null) {
                                    $("#skuLotNo2").append(" - " + res.data[i].LotNo);
                                }
                                $("#skuLotNo2").append('</option>');
                            }
                        }
                        form.render('select');
                    } else { //不成功
                        layer.msg(res.msg, {
                            icon: 2,
                            time: 2000 //2秒关闭(如果不配置,默认是3秒)
                        }, function () { });
                    }
                });
            }
            //初始化渲单据的计划数量和完成数量
            function updateQtyList2() {
                clear23();
                console.log("AA");
                var param = {
                    SoDetailId: $("#skuLotNo2").val(),
                };
                synData(IP + "/PdaSo/GetPlanAndFinishQty", param, 'post', function (res) {
                    console.log(res);
                    console.log(res.data);
                    if (res.code == 0) { //成功
                        $("#planQty2").val(res.data.PlanQty)
                        $("#finishQty2").val(res.data.FinishQty)
                    } else { //不成功
                        layer.msg(res.msg, {
                            icon: 2,
                            time: 2000 //2秒关闭(如果不配置,默认是3秒)
                        }, function () { });
                    }
                });
            }
            //根据单据获取出库口、规格、待检数量、已拣数量
            function getBar2() {
                clear21();
                var param = {
                    PalletNo: $("#palletNo2").val(),
                    SoDetailId: $("#skuLotNo2").val(),
                }
                synData(IP + "/PdaSo/GetOutlets", param, 'post', function (res) {
                    if (res.code == 0) { //成功
                        let data = res.data
                        console.log(res.data);
                        $('#outModel2').val(res.data.OutModel);
                        $('#standard2').val(res.data.Standard);
                        $('#pickQty2').val(res.data.PickQty - res.data.PickedQty);
                        $('#pickedQty2').val(res.data.PickedQty);
                    } else { //不成功
                        layer.msg(res.msg, {
                            icon: 2,
                            time: 2000 //2秒关闭(如果不配置,默认是3秒)
                        }, function () { });
                    }
                });
            }
            //获取托盘物料名细
            function GetDataInfo() {
                let param2 = {
                    "SoDetailId": $("#skuLotNo2").val(),
                    "PalletNo": $("#palletNo2").val(),
                }
                console.log(param2);
                synData(IP + "/PdaSo/GetAllotPlnInfo", param2, 'post', function (res) {
                    if (res.code == 0) {
                        tableData2 = deepCopy(res.data)
                        refreshTable2(tableData2)
                    } else {
                        layer.msg(res.msg, {
                            icon: 2,
                            time: 2000 //2秒关闭(如果不配置,默认是3秒)
                        }, function () { });
                    }
                });
            }
            //渲染表格数据
            function refreshTable2(list) {
                //先清空一下信息列表
                let trs = $("#tableBoxList2 tr")
                let len = trs.length
                //console.log("tr 数量 + " + trs.length)
                for (i = len - 1; i >= 2; i--) {
                    trs[i].remove();
                }
                console.log(list != null);
                console.log(list);
                if (list != null && list.length > 0) { //成功
                    var arrTrs = new Array()
                    let idx = 0
                    for (var i in list) {
                        // list[i].BoxCode
                        var tr = $("#boxCell2").eq(0).clone();
                        tr.appendTo("#tableBoxList2");
                        // tr.attr('id', list[i].BoxCode)
                        idx++;
                        tr.attr('index', idx)
                        // tr.find("td[name='skuNo']").attr('style', 'max-width:90px;');
                        // tr.find("td[name='skuName']").attr('style', 'max-width:120px;');
                        tr.find("td[name='SkuNo']").html(list[i].BoxNo);
                        tr.find("td[name='Qty']").html(list[i].Qty);
                        tr.find("td[name='pickedQty']").html(list[i].PickedQty);
                        tr.show();
                        arrTrs[i] = tr
                    }
                    setPages(1, list.length)
                    canPickBox = true
                } else { //不成功
                    layer.msg("无数据", {
                        icon: 2,
                        time: 2000 //2秒关闭(如果不配置,默认是3秒)
                    }, function () { });
                    // $("#boxNum").val(0)
                    setPages(1, 0)
                }
            }
            //单拣货(确认按钮)
            form.on('submit(formPickScatter2)', function (data) {
                if ($('#bar2').val() == "") {
                    layer.msg("请选择出库单", {
                        icon: 2,
                        time: 2000 //2秒关闭(如果不配置,默认是3秒)
                    }); return;
                }
                if ($('#skuLotNo2').val() == "") {
                    layer.msg("请选择物料-批次", {
                        icon: 2,
                        time: 2000 //2秒关闭(如果不配置,默认是3秒)
                    }); return;
                }
                if ($('#palletNo2').val() == "") {
                    layer.msg("请输入托盘码", {
                        icon: 2,
                        time: 2000 //2秒关闭(如果不配置,默认是3秒)
                    }); return;
                }
                if ($('#palletNo4').val() == "") {
                    layer.msg("请输入新托盘码", {
                        icon: 2,
                        time: 2000 //2秒关闭(如果不配置,默认是3秒)
                    }); return;
                }
                let pickedQty = parseInt($('#pickedQty2').val()) //已拣数量
                let pickQty = parseInt($('#pickQty2').val())  //拣货数量
                if (pickQty <= 0) {
                    layer.msg("拣货数量需大于0", {
                        icon: 2,
                        time: 2000 //2秒关闭(如果不配置,默认是3秒)
                    });
                    return;
                }
                if (canPickBox == false) {
                    layer.msg("请求未完成,不要重复请求", {
                        icon: 2,
                        time: 2000 //2秒关闭(如果不配置,默认是3秒)
                    });
                    return;
                }
                reqPickScatter2()
                return false; //阻止表单跳转。如果需要表单跳转,去掉这段即可。
            });
            //确认拣货
            function reqPickScatter2() {
                var param = {
                    "SoNo": $("#bar2").val(),
                    "SoDetailId": $("#skuLotNo2").val(),
                    "PalletNo": $('#palletNo2').val(),
                    "PickQty": $('#pickQty2').val(),
                    "PalletNoNew": $('#palletNo4').val(),
                }
                sendData(IP + "/PdaSo/SoSetQtyPinPick", param, 'post', function (res) {
                    //console.log(res);
                    if (res.code == 0) { //成功
                        layer.msg(res.msg, {
                            icon: 1,
                            time: 2000 //2秒关闭(如果不配置,默认是3秒)
                        }, function () {
                            canPickBox = true//回调
                            updateQtyList2();
                            getBar2();
                            GetDataInfo();
                        });
                    } else { //不成功
                        layer.msg(res.msg, {
                            icon: 2,
                            time: 2000 //2秒关闭(如果不配置,默认是3秒)
                        }, function () {
                            canPickBox = true;//回调
                        });
                    }
                });
            }
        })
    </script>
</body>
</html>
Wms/WMS.BLL/BllPdaServer/PdaCrServer.cs
@@ -1217,7 +1217,7 @@
        /// <param name="boxNo"></param>
        /// <param name="devanQty"></param>
        /// <param name="userId"></param>
        public void AddLableByDevanning(string boxNo, decimal devanQty, int userId)
        public BoxListInfoDto AddLableByDevanning(string boxNo, decimal devanQty, int userId)
        {
            try
            {
@@ -1293,6 +1293,24 @@
                new OperationCrServer().AddLogOperationCr("库内作业", "操作日志", boxNo, "编辑", $"拆箱贴标:原箱码:{boxNo}拆箱,添加新箱码{boxNoNew}", userId);
                //提交事务
                Db.CommitTran();
                #region 获取拆箱的信息打印
                var data = new BoxListInfoDto()
                {
                    SkuNo = boxInfo.SkuNo,
                    SkuName = boxInfo.SkuName,
                    LotNo = boxInfo.LotNo,
                    BoxNoList = new List<string>() { boxNoNew } ,
                    Date1 = boxInfo.ProductionTime.ToString(),
                    Date2 = boxInfo.ExpirationTime.ToString(),
                };
                #endregion
                return data;
            }
            catch (Exception e)
            {
@@ -1424,5 +1442,33 @@
        #endregion
        #region 物料拆托 (标签、数量)
        public void GetBoxInfo(string boxNo,string pallNo)
        {
            try
            {
                var boxInfo = Db.Queryable<DataBoxInfo>().Where(m=>m.IsDel == "0" && m.BoxNo == boxNo).ToList();
                if (!string.IsNullOrWhiteSpace(pallNo))
                {
                    boxInfo = boxInfo.Where(m=>m.PalletNo == pallNo).ToList();
                }
                if (boxInfo.Count!=1)
                {
                    throw new Exception("标签信息错误,请联系管理员");
                }
            }
            catch (Exception e)
            {
                throw new Exception(e.Message);
            }
        }
        #endregion
    }
}
Wms/WMS.IBLL/IPdaServer/IPdaCrServer.cs
@@ -2,6 +2,7 @@
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
using Model.ModelDto;
using Model.ModelDto.BllCheckDto;
using Model.ModelDto.PdaDto;
using WMS.Entity.DataEntity;
@@ -155,7 +156,7 @@
        #region 箱码拆箱贴标
        //箱码拆箱添加标签信息
        void AddLableByDevanning(string boxNo,decimal devanQty, int userId);
        BoxListInfoDto AddLableByDevanning(string boxNo,decimal devanQty, int userId);
        /// <summary>
Wms/Wms/Controllers/PdaCrController.cs
@@ -312,9 +312,9 @@
                }
                var uId = int.Parse(userId);
                _pdaCrSvc.AddLableByDevanning(model.BoxNo, model.DevanQty,uId);
                var list = _pdaCrSvc.AddLableByDevanning(model.BoxNo, model.DevanQty,uId);
                return Ok(new { data = "", code = 0, msg = "成功" });
                return Ok(new { data = list, code = 0, msg = "成功" });
            }
            catch (Exception e)
            {