| | |
| | | <!DOCTYPE html> |
| | | <html> |
| | | |
| | | <head> |
| | | <meta charset="utf-8"> |
| | | <title>托盘明细列表</title> |
| | | <meta name="renderer" content="webkit"> |
| | | <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> |
| | | <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0"> |
| | | <meta name="viewport" |
| | | content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0"> |
| | | <link rel="stylesheet" href="../../layuiadmin/layui/css/layui.css" media="all"> |
| | | <link rel="stylesheet" href="../../layuiadmin/style/admin.css" media="all"> |
| | | <link rel="stylesheet" href="../../css/public.css" media="all"> |
| | |
| | | margin-bottom: 1px; |
| | | margin-right: 1px; |
| | | } |
| | | |
| | | </style> |
| | | <script> |
| | | // 这里是需要在页面渲染之前执行的代码 |
| | |
| | | </script> |
| | | |
| | | </head> |
| | | |
| | | <body id="body"> |
| | | <div class="layui-fluid" style="padding-bottom: 0;"> |
| | | <div class="layui-card"> |
| | |
| | | <div class="layui-inline zongdan" > |
| | | <label class="layui-form-label" style="width: 60px;">物料编码</label> |
| | | <div class="layui-input-inline" style="width: 170px; margin-right: 0px;"> |
| | | <input type="text" id="SkuNo" name="SkuNo" placeholder="物料编码" autocomplete="off" class="layui-input"> |
| | | <input type="text" id="SkuNo" name="SkuNo" placeholder="物料编码" autocomplete="off" |
| | | class="layui-input"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline zongdan" > |
| | | <label class="layui-form-label" style="width: 60px;">物料名称</label> |
| | | <div class="layui-input-inline" style="width: 170px; margin-right: 0px;"> |
| | | <input type="text" id="SkuName" name="SkuName" placeholder="物料名称" autocomplete="off" class="layui-input"> |
| | | <input type="text" id="SkuName" name="SkuName" placeholder="物料名称" autocomplete="off" |
| | | class="layui-input"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline zongdan" > |
| | | <label class="layui-form-label" style="width: 60px;">托盘号</label> |
| | | <div class="layui-input-inline" style="width: 170px; margin-right: 0px;"> |
| | | <input type="text" id="PalletNo" name="PalletNo" placeholder="托盘号" autocomplete="off" class="layui-input"> |
| | | <input type="text" id="PalletNo" name="PalletNo" placeholder="托盘号" autocomplete="off" |
| | | class="layui-input"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline mingxi"> |
| | |
| | | <div class="layui-inline mingxi"> |
| | | <label class="layui-form-label" style="width: 60px;">进厂编号</label> |
| | | <div class="layui-input-inline" style="width: 170px; margin-right: 0px;"> |
| | | <input type="text" id="LotNo" name="LotNo" placeholder="进厂编号" autocomplete="off" class="layui-input"> |
| | | <input type="text" id="LotNo" name="LotNo" placeholder="进厂编号" autocomplete="off" |
| | | class="layui-input"> |
| | | </div> |
| | | </div> |
| | | |
| | |
| | | <div class="layui-inline zongdan" > |
| | | <label class="layui-form-label" style="width: 60px;">箱码</label> |
| | | <div class="layui-input-inline" style="width: 170px; margin-right: 0px;"> |
| | | <input type="text" id="BoxNo" name="BoxNo" placeholder="箱码" autocomplete="off" class="layui-input"> |
| | | <input type="text" id="BoxNo" name="BoxNo" placeholder="箱码" autocomplete="off" |
| | | class="layui-input"> |
| | | </div> |
| | | </div> |
| | | <!-- <div class="layui-inline zhijian"> |
| | |
| | | <div class="layui-inline zhijian"> |
| | | <label class="layui-form-label" style="width: 60px;">抽检标记</label> |
| | | <div class="layui-input-inline" style="width: 170px; margin-right: 0px;"> |
| | | <select name="InspectMark" id="InspectMark" lay-filter="InspectMark" |
| | | lay-search> |
| | | <select name="InspectMark" id="InspectMark" lay-filter="InspectMark" lay-search> |
| | | <option value=""></option> |
| | | <option value="0">否</option> |
| | | <option value="1">是</option> |
| | |
| | | <div class="layui-inline zhijian"> |
| | | <label class="layui-form-label" style="width: 60px;">零托标记</label> |
| | | <div class="layui-input-inline" style="width: 170px; margin-right: 0px;"> |
| | | <select name="BitPalletMark" id="BitPalletMark" lay-filter="BitPalletMark" |
| | | lay-search> |
| | | <select name="BitPalletMark" id="BitPalletMark" lay-filter="BitPalletMark" lay-search> |
| | | <option value=""></option> |
| | | <option value="0">否</option> |
| | | <option value="1">是</option> |
| | |
| | | <div class="layui-inline zhijian"> |
| | | <label class="layui-form-label" style="width: 60px;">零箱标记</label> |
| | | <div class="layui-input-inline" style="width: 170px; margin-right: 0px;"> |
| | | <select name="BitBoxMark" id="BitBoxMark" lay-filter="BitBoxMark" |
| | | lay-search> |
| | | <select name="BitBoxMark" id="BitBoxMark" lay-filter="BitBoxMark" lay-search> |
| | | <option value=""></option> |
| | | <option value="0">否</option> |
| | | <option value="1">是</option> |
| | |
| | | <div class="layui-inline zhijian"> |
| | | <label class="layui-form-label" style="width: 60px;">质检状态</label> |
| | | <div class="layui-input-inline" style="width: 170px; margin-right: 0px;"> |
| | | <select name="InspectStatus" id="InspectStatus" lay-filter="InspectStatus" |
| | | lay-search> |
| | | <select name="InspectStatus" id="InspectStatus" lay-filter="InspectStatus" lay-search> |
| | | <option value=""></option> |
| | | <option value="0">待质检</option><!-- 待检验 --> |
| | | <option value="1">检验合格</option><!-- 合格品 --> |
| | |
| | | </div> |
| | | |
| | | <div class="layui-inline sousuo"> |
| | | <button class="layui-btn layui-btn-sm layuiadmin-btn-list" lay-submit lay-filter="LAY-app-contlist-search"> |
| | | <button class="layui-btn layui-btn-sm layuiadmin-btn-list" lay-submit |
| | | lay-filter="LAY-app-contlist-search"> |
| | | <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>搜索 |
| | | </button> |
| | | <button class="layui-btn layui-btn-sm layuiadmin-btn-list" lay-submit |
| | | lay-filter="daochu"> |
| | | <button class="layui-btn layui-btn-sm layuiadmin-btn-list" lay-submit lay-filter="daochu"> |
| | | <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>导出 |
| | | </button> |
| | | </div> |
| | |
| | | <table id="LAY-app-content-list2" lay-filter="LAY-app-content-list2"></table> |
| | | <!-- #region 自定义表头 --> |
| | | <div class="headerSetIcon"> |
| | | <button class="layui-btn layui-btn-primary layui-btn-sm" data-type="customCols2"> |
| | | <button class="layui-btn layui-btn-primary layui-btn-sm" |
| | | data-type="customCols2"> |
| | | <i class="layui-icon"></i> |
| | | </button> |
| | | </div> |
| | |
| | | <script type="text/html" id="templetInspectTime"> |
| | | {{# function GetBtn1(d){ |
| | | return formatDate(d.InspectTime); |
| | | } |
| | | }} |
| | | {{ GetBtn1(d) }} |
| | | </script> |
| | | |
| | | <script type="text/html" id="templetExpirationTime"> |
| | | {{# function GetBtn1(d){ |
| | | return formatDate(d.ExpirationTime); |
| | | } |
| | | }} |
| | | {{ GetBtn1(d) }} |
| | |
| | | |
| | | // 表单需要的变量 |
| | | var infoOptions; |
| | | //#region 原始非自定义列 |
| | | // infoOptions = { |
| | | // elem: '#LAY-app-content-list', |
| | | // height: 'full-206', |
| | | // id: 'LAY-app-content-list', |
| | | // page: true, |
| | | // limit: pageCnt, |
| | | // limits: pageLimits, |
| | | // even: true, |
| | | // cellMinWidth: 80, //全局定义常规单元格的最小宽度,layui 2.2.1 新增 |
| | | // cols: |
| | | // [[ |
| | | // { |
| | | // title: '序号', type: 'numbers', fixed: 'left' |
| | | // }, |
| | | // { |
| | | // field: 'AreaNo', title: '所属区域', align: 'center', |
| | | // }, |
| | | // { |
| | | // field: 'LocatNo', title: '储位地址', align: 'center' |
| | | // }, |
| | | // { |
| | | // field: 'PalletNo', title: '托盘号', align: 'center', |
| | | // }, |
| | | // { |
| | | // field: 'SkuNo', title: '物料编码', align: 'center' |
| | | // }, |
| | | // { |
| | | // field: 'SkuName', title: '物料名称', align: 'center', |
| | | // }, |
| | | // { |
| | | // field: 'LotNo', title: '批次号', align: 'center', |
| | | // }, |
| | | // { |
| | | // field: 'LotText', title: '批次描述', align: 'center' |
| | | // }, |
| | | // { |
| | | // field: 'SupplierLot', title: '供货批次', align: 'center', |
| | | // }, |
| | | // { |
| | | // field: 'Qty', title: '数量', align: 'center' |
| | | // }, |
| | | // { |
| | | // field: 'LockQty', title: '锁定数量', align: 'center', |
| | | // }, |
| | | // { |
| | | // field: 'FrozenQty', title: '冻结数量', align: 'center' |
| | | // }, |
| | | // { |
| | | // field: 'InspectMark', title: '抽检标记', align: 'center', templet: '#InspectMarkStatus' |
| | | // }, |
| | | // { |
| | | // field: 'BitPalletMark', title: '零托标记', align: 'center', templet: '#BitPalletMarkStatus' |
| | | // }, |
| | | // //{ |
| | | // // field: 'Status', title: '托盘状态', align: 'center', templet: '#PalletStatus', |
| | | // //}, |
| | | // ]] |
| | | // }; |
| | | //#endregion |
| | | |
| | | //#region 自定义表头 |
| | | var TotalColsArr = [[ |
| | | {field: '',title: '序号',type:'numbers',align: 'center',fixed: 'left', "disabled": true}, |
| | |
| | | |
| | | // 表单需要的变量 |
| | | var infoOptions2; |
| | | //#region 原始非自定义列 |
| | | // infoOptions2 = { |
| | | // elem: '#LAY-app-content-list2', |
| | | // height: 'full-206', |
| | | // id: 'LAY-app-content-list2', |
| | | // page: true, |
| | | // limit: pageCnt, |
| | | // limits: pageLimits, |
| | | // even: true, |
| | | // cellMinWidth: 80, //全局定义常规单元格的最小宽度,layui 2.2.1 新增 |
| | | // cols: |
| | | // [[ |
| | | // { |
| | | // title: '序号', type: 'numbers', fixed: 'left' |
| | | // }, |
| | | // { |
| | | // field: 'SkuNo', title: '物料编码', align: 'center', |
| | | // }, |
| | | // { |
| | | // field: 'SkuName', title: '物料名称', align: 'center', |
| | | // }, |
| | | // { |
| | | // field: 'PalletNo', title: '托盘号', align: 'center', width: 110, |
| | | // }, |
| | | // { |
| | | // field: 'BoxNo', title: '箱码', align: 'center', width: 100, |
| | | // }, |
| | | // { |
| | | // field: 'Status', title: '箱支状态', align: 'center', templet: '#BoxStatus', |
| | | // }, |
| | | // { |
| | | // field: 'LotNo', title: '批次号', align: 'center', |
| | | // }, |
| | | // { |
| | | // field: 'LotText', title: '批次描述', align: 'center', |
| | | // }, |
| | | // { |
| | | // field: 'Qty', title: '数量', width: 90, align: 'center', |
| | | // }, |
| | | // { |
| | | // field: 'FullQty', title: '整箱数量', width: 100, align: 'center', |
| | | // }, |
| | | // { |
| | | // field: 'ProductionTime', title: '生产日期', align: 'center', |
| | | // templet: function(d) { |
| | | // return formatDate(d.ProductionTime); |
| | | // }, |
| | | // }, |
| | | // { |
| | | // field: 'InspectMark', title: '抽检标记', align: 'center', templet: '#InspectMarkStatus', |
| | | // }, |
| | | // { |
| | | // field: 'BitBoxMark', templet: '#BitPalletMarkStatus1', title: '零箱标记', align: 'center', |
| | | // }, |
| | | // { |
| | | // field: 'InspectStatus', templet: '#InspectStatus1', title: '质检状态', align: 'center', |
| | | // }, |
| | | // { |
| | | // field: 'InspectTime', title: '复检时间', align: 'center', |
| | | // templet: function(d) { |
| | | // return formatDate(d.InspectTime); |
| | | // }, |
| | | // }, |
| | | // { |
| | | // title: '操作', fixed: 'right', align: 'center', toolbar: '#table-content-list' |
| | | // } |
| | | // ]] |
| | | // }; |
| | | //#endregion |
| | | |
| | | |
| | | //获取明细信息 |
| | | //#region 自定义表头 |
| | |
| | | {field: 'BitBoxMark', templet: '#BitPalletMarkStatus1', title: '零箱标记', align: 'center'}, |
| | | {field: 'InspectStatus', templet: '#InspectStatus1', title: '质检状态', align: 'center'}, |
| | | {field: 'InspectTime', title: '复检时间', align: 'center',templet: '#templetInspectTime'}, |
| | | { field: 'ExpirationTime', title: '有效期至', align: 'center', templet: '#templetExpirationTime' }, |
| | | {field: 'caozuo',title: '操作', fixed: 'right', align: 'center', toolbar: '#table-content-list', "disabled": true} |
| | | ]]; |
| | | var DetailColsSysArr=encodeURIComponent(encodeURIComponent(JSON.stringify(DetailColsArr)))//将表头数据进行url编码 |
| | |
| | | var iframeWindow = window['layui-layer-iframe' + index], |
| | | submitID = 'layuiadmin-app-form-edit', |
| | | submit = layero.find('iframe').contents().find('#' + submitID); |
| | | if(doing) |
| | | { |
| | | if (doing) { |
| | | doing = false; |
| | | |
| | | layer.close(index); //关闭弹层 |
| | |
| | | }); |
| | | </script> |
| | | </body> |
| | | |
| | | </html> |
| | |
| | | <!-- <meta name="viewport" content="width=device-width, initial-scale=0.665, minimum-scale=0.5, maximum-scale=1, user-scalable=no" /> --> |
| | | <!-- <meta name="viewport" content="width=device-width, initial-scale=0.665" /> --> |
| | | <meta http-equiv="X-UA-Compatible" content="ie=edge" /> |
| | | <title>Boxline PDA</title> |
| | | <title>AGV转运</title> |
| | | |
| | | <link rel="stylesheet" href="/layui/css/layui.css" /> |
| | | <link rel="stylesheet" href="/css/style.css" /> |
New file |
| | |
| | | <!DOCTYPE html> |
| | | <html> |
| | | |
| | | <head> |
| | | <meta name="viewport" content="user-scalable=0,width=device-width,initial-scale=1.0" /> |
| | | <meta charset="UTF-8" /> |
| | | <meta http-equiv="X-UA-Compatible" content="ie=edge" /> |
| | | <title>箱码查询</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"> |
| | | .layui-form-label { |
| | | width: 20%; |
| | | } |
| | | |
| | | .layui-input-block { |
| | | width: 80%; |
| | | margin-left: 20%; |
| | | } |
| | | |
| | | .div-tbl-title { |
| | | width: 98%; |
| | | margin: auto; |
| | | /* background-color: #4476A7; */ |
| | | height: 30px; |
| | | margin-top: 20px; |
| | | } |
| | | |
| | | .div-tbl-title table { |
| | | width: 100%; |
| | | height: 30px; |
| | | } |
| | | |
| | | .div-tbl-title td { |
| | | width: 50%; |
| | | height: 30px; |
| | | line-height: 30px; |
| | | } |
| | | |
| | | .div-tbl-title span { |
| | | float: left; |
| | | width: 60%; |
| | | height: 30px; |
| | | line-height: 30px; |
| | | } |
| | | |
| | | .div-tbl-title input { |
| | | float: left; |
| | | width: 40%; |
| | | height: 30px; |
| | | line-height: 30px; |
| | | border: none; |
| | | } |
| | | |
| | | .layout-tbl-paging { |
| | | margin-top: 0; |
| | | } |
| | | |
| | | .layout-bill-info { |
| | | height: auto; |
| | | } |
| | | |
| | | .btn-ok { |
| | | border: none; |
| | | color: #FFFFFF; |
| | | background-color: #0a93e3; |
| | | width: 48%; |
| | | height: 36px; |
| | | border-radius: 5px; |
| | | float: left; |
| | | margin: 0 1%; |
| | | margin-left: 25%; |
| | | } |
| | | |
| | | .btn-ok:active { |
| | | opacity: 0.8; |
| | | } |
| | | |
| | | td { |
| | | word-break: break-all; |
| | | word-wrap: break-word; |
| | | } |
| | | </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> |
| | | |
| | | <div id="" class="layout-bill-info"> |
| | | <form class="layui-form" action="" style="height: auto;"> |
| | | <div id="" class="layui-form-item layout-input" style="margin-top: 5px;"> |
| | | <label class="layui-form-label">外箱条码</label> |
| | | <div class="layui-input-block"> |
| | | <input id="BoxNo" type="text" placeholder="请扫描箱码" autocomplete="off" class="layui-input"> |
| | | </div> |
| | | </div> |
| | | <div id="" class="layui-form-item layout-input" style="margin-top: 5px;"> |
| | | <label class="layui-form-label">物料编码</label> |
| | | <div class="layui-input-block"> |
| | | <input id="SkuNo" type="text" autocomplete="off" class="layui-input" style="border: 0px; " |
| | | disabled> |
| | | </div> |
| | | </div> |
| | | <div id="" class="layui-form-item layout-input" style="margin-top: 5px;"> |
| | | <label class="layui-form-label">物料名称</label> |
| | | <div class="layui-input-block"> |
| | | <input id="SkuName" type="text" autocomplete="off" class="layui-input" style="border: 0px;" |
| | | disabled> |
| | | </div> |
| | | </div> |
| | | |
| | | <table class="layout-tbl-input" border="" cellspacing="" cellpadding=""> |
| | | <tr> |
| | | <td> |
| | | <div id="" class="layui-form-item layout-boxinfo"> |
| | | <label class="layui-form-label" lang>进厂编号:</label> |
| | | <div class="layui-input-block"> |
| | | <input id="LotNo" type="text" disabled placeholder="" autocomplete="off" |
| | | class="layui-input"> |
| | | </div> |
| | | </div> |
| | | </td> |
| | | <td> |
| | | <div id="" class="layui-form-item layout-boxinfo"> |
| | | <label class="layui-form-label" lang>原厂批号:</label> |
| | | <div class="layui-input-block"> |
| | | <input id="SupplierLot" type="text" disabled placeholder="" autocomplete="off" |
| | | class="layui-input"> |
| | | </div> |
| | | </div> |
| | | </td> |
| | | |
| | | </tr> |
| | | <tr> |
| | | <td> |
| | | <div id="" class="layui-form-item layout-boxinfo"> |
| | | <label class="layui-form-label" lang>箱内数量:</label> |
| | | <div class="layui-input-block"> |
| | | <input id="Qty" type="text" disabled placeholder="" autocomplete="off" |
| | | class="layui-input"> |
| | | </div> |
| | | </div> |
| | | </td> |
| | | <td> |
| | | <div id="" class="layui-form-item layout-boxinfo"> |
| | | <label class="layui-form-label" lang>质量状态:</label> |
| | | <div class="layui-input-block"> |
| | | <input id="InspectStatus" type="text" disabled placeholder="" autocomplete="off" |
| | | class="layui-input"> |
| | | </div> |
| | | </div> |
| | | </td> |
| | | </tr> |
| | | </table> |
| | | |
| | | |
| | | <div id="" class="" style="width: 100%;height: 36px;margin-top: 15px;"> |
| | | <button id="btnQuery" class="btn-ok" type="button">查询</button> |
| | | </div> |
| | | </form> |
| | | </div> |
| | | |
| | | |
| | | <div id="" class="layout-tbl-paging" style="margin-top: 5px;"> |
| | | <!-- 箱内支信息 --> |
| | | <table id="tableBoxList" class="tbl-box-list" border="1px"> |
| | | <tr> |
| | | <th>支码</th> |
| | | <th>数量</th> |
| | | </tr> |
| | | <tr id="boxCell" style="display: none;"> |
| | | <td name="BoxNo">支码</td> |
| | | <td name="Qty">数量</td> |
| | | </tr> |
| | | </table> |
| | | |
| | | <!-- 分页 --> |
| | | <table id="tableBoxPages" class="tbl-box-pages" cellspacing="" cellpadding=""> |
| | | <tr> |
| | | <td class="page-prev">上一页</td> |
| | | <td class="page-num page-num-select">1</td> |
| | | <td class="page-num">2</td> |
| | | <td class="page-num">3</td> |
| | | <td class="page-num">4</td> |
| | | <td class="page-num">5</td> |
| | | <td class="page-next">下一页</td> |
| | | </tr> |
| | | </table> |
| | | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <script src="/js/jquery-3.5.1.min.js"></script> |
| | | <script src="/layui/layui.js"></script> |
| | | <script src="/js/public.js"></script> |
| | | <script src="/js/jquery.cookie.js"></script> |
| | | <script> |
| | | layui.use(['form', 'jquery'], function () { |
| | | var form = layui.form |
| | | |
| | | //当前分页 |
| | | var curPageIndex = 1 |
| | | var tableData = null |
| | | |
| | | // 功能列隐藏 |
| | | $("#menuImg").click(function (e) { |
| | | e.stopPropagation() |
| | | |
| | | if ($("#menuList").is(":hidden")) { |
| | | $("#menuList").show() |
| | | } else { |
| | | $("#menuList").hide() |
| | | } |
| | | }) |
| | | |
| | | $('body').click(function () { |
| | | $("#menuList").hide() |
| | | }) |
| | | |
| | | // 清空文本框信息 |
| | | function clear() { |
| | | $("#BoxNo").val(''); |
| | | $("#SkuNo").val(""); |
| | | $("#SkuName").val(""); |
| | | $("#LotNo").val(""); |
| | | $("#SupplierLot").val(""); |
| | | $("#Qty").val(""); |
| | | $("#InspectStatus").val(""); |
| | | |
| | | // 清空table列表 |
| | | let trs = $("#tableBoxList tr") |
| | | let len = trs.length |
| | | for (i = len - 1; i >= 2; i--) { |
| | | trs[i].remove(); |
| | | } |
| | | } |
| | | |
| | | $("#btnQuery").click(function () { |
| | | if ($('#BoxNo').val() == '') { |
| | | layer.msg("请扫描外箱条码", { |
| | | icon: 2, |
| | | time: 2000 //2秒关闭(如果不配置,默认是3秒) |
| | | }, function () { }); |
| | | clear(); |
| | | return |
| | | } |
| | | |
| | | // 获取查询参数 |
| | | var param = { |
| | | BoxNo: $('#BoxNo').val(), |
| | | }; |
| | | |
| | | // 查询-根据箱码获取详细信息 |
| | | sendData(IP + "/PdaCr/GetBoxQueryList", param, 'get', function (res) { |
| | | console.log("箱码查询:", res) |
| | | if (res.code == 0) { //成功 |
| | | clear(); |
| | | $("#BoxNo").val(res.data.BoxNo); |
| | | $("#SkuNo").val(res.data.SkuNo); |
| | | $("#SkuName").val(res.data.SkuName); |
| | | $("#LotNo").val(res.data.LotNo); |
| | | $("#SupplierLot").val(res.data.SupplierLot); |
| | | $("#Qty").val(res.data.Qty); |
| | | $("#InspectStatus").val(res.data.InspectStatus); |
| | | |
| | | tableData = deepCopy(res.data.InfoList) |
| | | refreshTable() |
| | | } else { //不成功 |
| | | layer.msg(res.msg, { |
| | | icon: 2, |
| | | time: 2000 //2秒关闭(如果不配置,默认是3秒) |
| | | }, function () { |
| | | clear(); |
| | | let trs = $("#tableBoxList tr") |
| | | let len = trs.length |
| | | for (i = len - 1; i >= 2; i--) { |
| | | trs[i].remove(); |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | | }) |
| | | |
| | | function refreshTable() { |
| | | //先清空一下箱子列表 |
| | | let trs = $("#tableBoxList tr") |
| | | let len = trs.length |
| | | for (i = len - 1; i >= 2; i--) { |
| | | trs[i].remove(); |
| | | } |
| | | |
| | | if (tableData.length > 0) { //成功 |
| | | var list = tableData |
| | | var arrTrs = new Array() |
| | | let idx = 0 |
| | | for (var i in list) { |
| | | var tr = $("#boxCell").eq(0).clone(); |
| | | tr.appendTo("#tableBoxList"); |
| | | idx++; |
| | | tr.attr('index', idx) |
| | | tr.find("td[name='BoxNo']").html(list[i].BoxNo2); |
| | | tr.find("td[name='Qty']").html(list[i].Qty2); |
| | | |
| | | tr.show(); |
| | | arrTrs[i] = tr |
| | | } |
| | | |
| | | //设置分页 |
| | | setPages(1, list.length) |
| | | } else { //不成功 |
| | | // $("#boxNum").val(0) |
| | | layer.msg("无数据", { |
| | | icon: 2, |
| | | time: 2000 //2秒关闭(如果不配置,默认是3秒) |
| | | }, function () { }); |
| | | setPages(1, 0) |
| | | } |
| | | } |
| | | |
| | | //设置分页 |
| | | function setPages(pageIndex, boxNum) { |
| | | if (boxNum <= 0) { |
| | | //列表为空,隐藏分页页码 |
| | | $("#tableBoxPages").hide() |
| | | return |
| | | } |
| | | |
| | | let pageNum = Math.floor(boxNum / 10); |
| | | if (boxNum % 10 > 0) { |
| | | pageNum += 1; |
| | | } |
| | | //console.log("pageNum is " + pageNum) |
| | | |
| | | $("#tableBoxPages").find("tr").remove() |
| | | let table = $("#tableBoxPages") |
| | | $("<tr></tr>").appendTo("#tableBoxPages") |
| | | |
| | | |
| | | $("<td id='prevPage' class='page-prev'>上一页</td>").appendTo("#tableBoxPages tr") |
| | | $("#tableBoxPages tr").eq(0).find("td[id^='prevPage']").click(function () { |
| | | onClickPrevPage() |
| | | }) |
| | | for (i = 1; i < pageNum + 1; i++) { |
| | | $("<td class='page-num'>" + i + "</td>").appendTo("#tableBoxPages tr") |
| | | } |
| | | |
| | | $("<td id='nextPage' class='page-next'>下一页</td>").appendTo("#tableBoxPages tr") |
| | | $("#tableBoxPages tr").eq(0).find("td[id^='nextPage']").click(function () { |
| | | onClickNextPage() |
| | | }) |
| | | |
| | | $("#tableBoxPages").show() |
| | | |
| | | setCurPage(1) |
| | | } |
| | | |
| | | //设置当前分页 |
| | | function setCurPage(pageIndex) { |
| | | let totalTrNum = $("#tableBoxList tr").length |
| | | if (totalTrNum <= 2) { |
| | | //console.log("tableBoxList 为空 totalTrNum: " + totalTrNum) |
| | | //curPageIndex = 1 |
| | | return |
| | | } |
| | | |
| | | let pageNum = getBoxPageNum() |
| | | if (pageIndex > pageNum) { |
| | | //console.log("设置的页码超出页数, pageIndex : " + pageIndex) |
| | | //curPageIndex = 1 |
| | | return |
| | | } |
| | | |
| | | let startIndex = (pageIndex - 1) * 10 + 1 |
| | | let n = totalTrNum - startIndex |
| | | let endIndex = 0 |
| | | if (n > 9) { |
| | | endIndex = startIndex + 9 |
| | | } else { |
| | | endIndex = startIndex + n |
| | | } |
| | | |
| | | let trs = $("#tableBoxList tr") |
| | | //console.log("行数 "+trs.length) |
| | | let d = 0 |
| | | for (let i = 2; i < trs.length; i++) { |
| | | //console.log("行索引 " + trs.eq(i).attr('index')) |
| | | let t = trs.eq(i) |
| | | d = t.attr('index') |
| | | if (d >= startIndex && d <= endIndex) { |
| | | t.show() |
| | | } else { |
| | | t.hide() |
| | | } |
| | | } |
| | | |
| | | curPageIndex = pageIndex |
| | | |
| | | let ptr = $("#tableBoxPages tr") |
| | | for (let i = 1; i < pageNum + 1; i++) { |
| | | ptr.eq(0).find("td").eq(i).removeClass("page-num-select") |
| | | if (i == curPageIndex) { |
| | | ptr.eq(0).find("td").eq(i).addClass("page-num-select") |
| | | } |
| | | } |
| | | } |
| | | |
| | | function onClickPrevPage() { |
| | | //console.log("上一页按钮被点击") |
| | | if (curPageIndex == 1) { |
| | | return |
| | | } |
| | | setCurPage(curPageIndex - 1) |
| | | } |
| | | |
| | | function onClickNextPage() { |
| | | //console.log("下一页按钮被点击") |
| | | let n = getBoxPageNum() |
| | | if (curPageIndex == n) { |
| | | return |
| | | } |
| | | setCurPage(curPageIndex + 1) |
| | | } |
| | | |
| | | function getBoxPageNum() { |
| | | let num = $("#tableBoxList tr").length |
| | | if (num <= 2) { |
| | | return 0 |
| | | } |
| | | |
| | | let pageNum = Math.floor(num / 10); |
| | | if (num % 10 > 0) { |
| | | pageNum += 1; |
| | | } |
| | | |
| | | return pageNum |
| | | } |
| | | }) |
| | | </script> |
| | | </body> |
| | | |
| | | </html> |
| | |
| | | <!DOCTYPE html> |
| | | <html> |
| | | |
| | | <head> |
| | | <meta name="viewport" content="user-scalable=0,width=device-width,initial-scale=1.0" /> |
| | | <meta charset="UTF-8" /> |
| | | <!-- <meta name="viewport" content="width=device-width, initial-scale=0.665, minimum-scale=0.5, maximum-scale=1, user-scalable=no" /> --> |
| | | <!-- <meta name="viewport" content="width=device-width, initial-scale=0.665" /> --> |
| | | <meta http-equiv="X-UA-Compatible" content="ie=edge" /> |
| | | <title>Boxline PDA</title> |
| | | <title>托盘变更</title> |
| | | |
| | | <link rel="stylesheet" href="/layui/css/layui.css" /> |
| | | <link rel="stylesheet" href="/css/style.css" /> |
| | |
| | | .layui-form-label { |
| | | width: 20%; |
| | | } |
| | | |
| | | .layui-input-block { |
| | | width: 80%; |
| | | margin-left: 20%; |
| | | } |
| | | |
| | | .div-tbl-title { |
| | | width: 98%; |
| | | margin: auto; |
| | |
| | | height: 30px; |
| | | margin-top: 20px; |
| | | } |
| | | |
| | | .div-tbl-title table { |
| | | width: 100%; |
| | | height: 30px; |
| | | } |
| | | |
| | | .div-tbl-title td { |
| | | width: 50%; |
| | | height: 30px; |
| | | line-height: 30px; |
| | | } |
| | | |
| | | .div-tbl-title span { |
| | | float: left; |
| | | width: 60%; |
| | | height: 30px; |
| | | line-height: 30px; |
| | | } |
| | | |
| | | .div-tbl-title input { |
| | | float: left; |
| | | width: 40%; |
| | |
| | | line-height: 30px; |
| | | border: none; |
| | | } |
| | | |
| | | .layout-tbl-paging { |
| | | margin-top: 0; |
| | | } |
| | | |
| | | .layout-bill-info { |
| | | height: auto; |
| | | } |
| | | |
| | | .btn-ok { |
| | | border: none; |
| | | color: #FFFFFF; |
| | |
| | | margin: 0 1%; |
| | | margin-left: 20%; |
| | | } |
| | | |
| | | .btn-ok:active { |
| | | opacity: 0.8; |
| | | } |
| | | |
| | | .layout-tab-page { |
| | | height: auto; |
| | | } |
| | | |
| | | .layui-form-switch{ |
| | | margin-top: 0; |
| | | } |
| | | </style> |
| | | <link rel="stylesheet" href="/css/adapter.css" /> |
| | | </head> |
| | | |
| | | <body> |
| | | <div id="" class="main-content"> |
| | | <div id="" class="layout-title" > |
| | |
| | | <div id="" class="layui-form-item layout-input" style="margin-top: 10px;"> |
| | | <label class="layui-form-label">原托盘条码:</label> |
| | | <div class="layui-input-block"> |
| | | <input id="PalletNo" type="text" lay-verify="stock" placeholder="托盘条码" |
| | | autocomplete="off" class="layui-input"> |
| | | <input id="PalletNo" type="text" lay-verify="stock" placeholder="托盘条码" autocomplete="off" |
| | | class="layui-input"> |
| | | </div> |
| | | </div> |
| | | <div id="" class="layui-form-item layout-input" style="margin-top: 10px;"> |
| | | <div id="layout-boxcode" class="layui-form-item layout-input"> |
| | | <label class="layui-form-label" lang>是否整托变更:</label> |
| | | <div class="layui-input-block"> |
| | | <input type="checkbox" name="IsZhengTuo" id="IsZhengTuo" lay-skin="switch" lay-text="是|否" |
| | | lay-filter="IsZhengTuo"> |
| | | <input type="checkbox" name="IsZhengTuo" id="IsZhengTuo" lay-skin="switch" |
| | | lay-text="是|否" lay-filter="IsZhengTuo"> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | <div id="layout-boxcode" class="layui-form-item layout-input"> |
| | | <label class="layui-form-label">外箱条码:</label> |
| | | <div class="layui-input-block"> |
| | | <input id="BoxNo" type="text" placeholder="请扫描外箱条码" |
| | | autocomplete="off" class="layui-input"> |
| | | <input id="BoxNo" type="text" placeholder="请扫描外箱条码" autocomplete="off" |
| | | class="layui-input"> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | <div id="" class="layui-form-item layout-input" style="margin-top: 10px;"> |
| | | <label class="layui-form-label">新托盘条码:</label> |
| | | <div class="layui-input-block"> |
| | | <input id="PalletNo2" type="text" lay-verify="stock" placeholder="托盘条码" |
| | | autocomplete="off" class="layui-input"> |
| | | <input id="PalletNo2" type="text" lay-verify="stock" placeholder="托盘条码" autocomplete="off" |
| | | class="layui-input"> |
| | | </div> |
| | | </div> |
| | | <div id="" class="" style="width: 100%;height: 36px;margin-top: 15px;"> |
| | |
| | | setCurPage(curPageIndex + 1) |
| | | } |
| | | |
| | | function getBoxPageNum() |
| | | { |
| | | function getBoxPageNum() { |
| | | let num = $("#tableBoxList tr").length |
| | | if(num <= 2 ){ |
| | | return 0 |
| | |
| | | }) |
| | | </script> |
| | | </body> |
| | | |
| | | </html> |
| | |
| | | <!DOCTYPE html> |
| | | <html> |
| | | |
| | | <head> |
| | | <meta name="viewport" content="user-scalable=0,width=device-width,initial-scale=1.0" /> |
| | | <meta charset="UTF-8" /> |
| | | <!-- <meta name="viewport" content="width=device-width, initial-scale=0.665, minimum-scale=0.5, maximum-scale=1, user-scalable=no" /> --> |
| | | <!-- <meta name="viewport" content="width=device-width, initial-scale=0.665" /> --> |
| | | <meta http-equiv="X-UA-Compatible" content="ie=edge" /> |
| | | <title>Boxline PDA</title> |
| | | <title>平库查询</title> |
| | | |
| | | <link rel="stylesheet" href="/layui/css/layui.css" /> |
| | | <link rel="stylesheet" href="/css/style.css" /> |
| | |
| | | .layui-form-label { |
| | | width: 20%; |
| | | } |
| | | |
| | | .layui-input-block { |
| | | width: 80%; |
| | | margin-left: 20%; |
| | | } |
| | | |
| | | .div-tbl-title { |
| | | width: 98%; |
| | | margin: auto; |
| | |
| | | height: 30px; |
| | | margin-top: 20px; |
| | | } |
| | | |
| | | .div-tbl-title table { |
| | | width: 100%; |
| | | height: 30px; |
| | | } |
| | | |
| | | .div-tbl-title td { |
| | | width: 50%; |
| | | height: 30px; |
| | | line-height: 30px; |
| | | } |
| | | |
| | | .div-tbl-title span { |
| | | float: left; |
| | | width: 60%; |
| | | height: 30px; |
| | | line-height: 30px; |
| | | } |
| | | |
| | | .div-tbl-title input { |
| | | float: left; |
| | | width: 40%; |
| | |
| | | line-height: 30px; |
| | | border: none; |
| | | } |
| | | |
| | | .layout-tbl-paging { |
| | | margin-top: 0; |
| | | } |
| | | |
| | | .layout-bill-info { |
| | | height: auto; |
| | | } |
| | | |
| | | .btn-ok { |
| | | border: none; |
| | | color: #FFFFFF; |
| | |
| | | margin: 0 1%; |
| | | margin-left: 25%; |
| | | } |
| | | |
| | | .btn-ok:active { |
| | | opacity: 0.8; |
| | | } |
| | | |
| | | td{ |
| | | word-break: break-all; |
| | | word-wrap:break-word; |
| | | } |
| | | |
| | | .LotInfo{ |
| | | text-align: left; |
| | | line-height: 1.5; |
| | |
| | | </style> |
| | | <link rel="stylesheet" href="/css/adapter.css" /> |
| | | </head> |
| | | |
| | | <body> |
| | | <div id="" class="main-content"> |
| | | <div id="" class="layout-title" > |
| | |
| | | <div id="" class="layui-form-item layout-input" style="margin-top: 5px;"> |
| | | <label class="layui-form-label">托盘条码</label> |
| | | <div class="layui-input-block"> |
| | | <input id="PalletNo" type="text" lay-verify="stock" placeholder="托盘条码" |
| | | autocomplete="off" class="layui-input"> |
| | | <input id="PalletNo" type="text" lay-verify="stock" placeholder="托盘条码" autocomplete="off" |
| | | class="layui-input"> |
| | | </div> |
| | | </div> |
| | | <div id="" class="" style="width: 100%;height: 36px;margin-top: 15px;"> |
| | |
| | | setCurPage(curPageIndex + 1) |
| | | } |
| | | |
| | | function getBoxPageNum() |
| | | { |
| | | function getBoxPageNum() { |
| | | let num = $("#tableBoxList tr").length |
| | | if(num <= 2 ){ |
| | | return 0 |
| | |
| | | }) |
| | | </script> |
| | | </body> |
| | | |
| | | </html> |
| | |
| | | <!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> |
| | | <title>退货入库单</title> |
| | | |
| | | <link rel="stylesheet" href="/layui/css/layui.css" /> |
| | | <link rel="stylesheet" href="/css/style.css" /> |
| | |
| | | height: auto; |
| | | /* background-color: #009E94; */ |
| | | } |
| | | |
| | | .layout-tbl-submit { |
| | | margin-top: 10px; |
| | | } |
| | | |
| | | .out-scatter-num .local-input { |
| | | width: 40%; |
| | | height: 25px; |
| | | float: left; |
| | | } |
| | | |
| | | .out-scatter-num .local-ok button { |
| | | height: 25px; |
| | | border: 0; |
| | |
| | | margin-left: 10px; |
| | | width: 100%; |
| | | } |
| | | |
| | | .out-scatter-num .layui-form-label { |
| | | width: 30%; |
| | | /* background-color: #007BFF; */ |
| | | } |
| | | |
| | | .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; |
| | | } |
| | | |
| | | .layout-tbl-paging { |
| | | margin-top: 20px; |
| | | } |
| | |
| | | .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; |
| | | } |
| | | |
| | | .layui-form-radio{ |
| | | margin: 0; |
| | | padding-right: 0; |
| | | } |
| | | |
| | | td{ |
| | | word-break: break-all; word-wrap:break-word; |
| | | word-break: break-all; |
| | | word-wrap: break-word; |
| | | } |
| | | </style> |
| | | <link rel="stylesheet" href="/css/adapter.css" /> |
| | | </head> |
| | | |
| | | <body> |
| | | <div id="" class="main-content"> |
| | | <div id="" class="layout-title" > |
| | |
| | | <div id="layout-pallet" class="layui-form-item layout-input"> |
| | | <label class="layui-form-label">出库口:</label> |
| | | <div class="layui-input-block"> |
| | | <input id="exitDesc" style="border: none;" type="text" lay-verify="stock" disabled placeholder="" |
| | | autocomplete="off" class="layui-input"> |
| | | <input id="exitDesc" style="border: none;" type="text" lay-verify="stock" disabled |
| | | placeholder="" autocomplete="off" class="layui-input"> |
| | | </div> |
| | | </div> |
| | | <div id="layout-pallet" class="layui-form-item layout-input"> |
| | |
| | | <label class="layui-form-label" style="width: 21%;">质检状态:</label> |
| | | <div class="local-input"> |
| | | <div class="layui-input-block local-input" style="line-height: 28px;"> |
| | | <input type="radio" name="status" value = "1" class="layui-input" checked="checked" style="padding-left:0.1rem;">合格 |
| | | <input type="radio" name="status" value = "2" class="layui-input" style="padding-left:0.1rem;">不合格 |
| | | <input type="radio" name="status" value="1" class="layui-input" |
| | | checked="checked" style="padding-left:0.1rem;">合格 |
| | | <input type="radio" name="status" value="2" class="layui-input" |
| | | style="padding-left:0.1rem;">不合格 |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | </tr> |
| | | <tr id="outScatter"> |
| | | <td> |
| | | <div id="layout-boxcode" class="layui-form-item out-scatter-num" style="margin-top: 10px;"> |
| | | <div id="layout-boxcode" class="layui-form-item out-scatter-num" |
| | | style="margin-top: 10px;"> |
| | | <label class="layui-form-label" style="width: 21%;">拣货数量:</label> |
| | | <div id="" class="local-input" > |
| | | <div class="layui-input-block" > |
| | | <input id="outScatterQty" type="number" placeholder="请输入拣货数量" |
| | | autocomplete="off" class="layui-input" style="padding-left:0.1rem;" oninput="value=value.replace(/^(0+)|[^\d]+/g,'')"> |
| | | autocomplete="off" class="layui-input" style="padding-left:0.1rem;" |
| | | oninput="value=value.replace(/^(0+)|[^\d]+/g,'')"> |
| | | </div> |
| | | </div> |
| | | <div id="" class="local-ok" > |
| | |
| | | <span id="" style="width: 50%;height: 30px;float: left;"> |
| | | 箱子数量 |
| | | </span> |
| | | <input id="boxNum" type="text" disabled placeholder="" |
| | | autocomplete="off" style="border: none;float: left; width: 40%;height: 30px; line-height: 30px;background-color: #FFFFFF;"> |
| | | <input id="boxNum" type="text" disabled placeholder="" autocomplete="off" |
| | | style="border: none;float: left; width: 40%;height: 30px; line-height: 30px;background-color: #FFFFFF;"> |
| | | </td> |
| | | <td style="height: 30px;line-height: 30px;color: red;width: 50%;"> |
| | | <span id="" style="width: 50%;height: 30px;float: left;"> |
| | | 待拣箱数 |
| | | </span> |
| | | <input id="pickingBoxNum" type="text" disabled placeholder="" |
| | | autocomplete="off" style="border: none; width: 50%;float: left;height: 30px; line-height: 30px; background-color: #FFFFFF;"> |
| | | <input id="pickingBoxNum" type="text" disabled placeholder="" autocomplete="off" |
| | | style="border: none; width: 50%;float: left;height: 30px; line-height: 30px; background-color: #FFFFFF;"> |
| | | </td> |
| | | </tr> |
| | | </table> |
| | |
| | | <td name="pickednum">30</td> |
| | | <td name="check" style="text-align: center;"> |
| | | <!-- <div id="" style="width:100%;margin: auto;"> --> |
| | | <input type="checkbox" id="cbox2" value="second_checkbox" onclick="return false;" checked="checked" > |
| | | <input type="checkbox" id="cbox2" value="second_checkbox" onclick="return false;" |
| | | checked="checked"> |
| | | <!-- </div> --> |
| | | </td> |
| | | </tr> |
| | |
| | | setCurPage(curPageIndex + 1) |
| | | } |
| | | |
| | | function getBoxPageNum() |
| | | { |
| | | function getBoxPageNum() { |
| | | let num = $("#tableBoxList tr").length |
| | | if(num <= 2 ){ |
| | | return 0 |
| | |
| | | }) |
| | | </script> |
| | | </body> |
| | | |
| | | </html> |
| | |
| | | <!-- <meta name="viewport" content="width=device-width, initial-scale=0.665, minimum-scale=0.5, maximum-scale=1, user-scalable=no" /> --> |
| | | <!-- <meta name="viewport" content="width=device-width, initial-scale=0.665" /> --> |
| | | <meta http-equiv="X-UA-Compatible" content="ie=edge" /> |
| | | <title>Boxline PDA</title> |
| | | <title>库存盘点</title> |
| | | |
| | | <link rel="stylesheet" href="/layui/css/layui.css" /> |
| | | <link rel="stylesheet" href="/css/style.css" /> |
| | |
| | | .cut-line { |
| | | margin-top: 10px; |
| | | } |
| | | |
| | | .show{ |
| | | display: block; |
| | | } |
| | | |
| | | .noshow{ |
| | | display: none; |
| | | } |
| | | |
| | | td { |
| | | word-break: break-all; |
| | | word-wrap: break-word; |
| | | } |
| | | |
| | | .layui-form-switch { |
| | | margin-top: 0; |
| | | } |
| | |
| | | <div id="" class="layui-form-item layout-input" > |
| | | <label class="layui-form-label">是否数量盘点:</label> |
| | | <div class="layui-input-block" style="position: absolute;top: 100;"> |
| | | <input type="checkbox" name="IsZhengTuo" id="IsZhengTuo" lay-skin="switch" lay-text="是|否" |
| | | lay-filter="IsZhengTuo" class="layui-input" > |
| | | <input type="checkbox" name="IsZhengTuo" id="IsZhengTuo" lay-skin="switch" |
| | | lay-text="是|否" lay-filter="IsZhengTuo" class="layui-input"> |
| | | </div> |
| | | </div> |
| | | <div id="boxno1" class="layui-form-item layout-input" style="margin-top: 10px;"> |
| | |
| | | <div id="tableid" class="layout-tbl-paging"> |
| | | <table id="tableBoxList" class="tbl-box-list" border="" cellspacing="" cellpadding=""> |
| | | <tr> |
| | | <th style="width: 40%;"><p id="a">箱码</p></th> |
| | | <th style="width: 30%;"><p id="b">支码</p></th> |
| | | <th style="width: 15%;"><p id="c">箱内数量</p></th> |
| | | <th style="width: 15%;"><p id="d">结果</p></th> |
| | | <th style="width: 40%;"> |
| | | <p id="a">箱码</p> |
| | | </th> |
| | | <th style="width: 30%;"> |
| | | <p id="b">支码</p> |
| | | </th> |
| | | <th style="width: 15%;"> |
| | | <p id="c">箱内数量</p> |
| | | </th> |
| | | <th style="width: 15%;"> |
| | | <p id="d">结果</p> |
| | | </th> |
| | | </tr> |
| | | <tr id="boxCell" style="display: none;"> |
| | | <td name="boxNo"></td> |
| | |
| | | idx++; |
| | | tr.attr('index', idx) |
| | | //判断是否为数量 |
| | | if(isContinue == "1") |
| | | { |
| | | if (isContinue == "1") { |
| | | tr.find("td[name='boxNo']").html(list[i].SkuNo); |
| | | tr.find("td[name='boxNo3']").html(list[i].PalletNo); |
| | | } |
| | |
| | | <!DOCTYPE html> |
| | | <html> |
| | | |
| | | <head> |
| | | <meta name="viewport" content="user-scalable=0,width=device-width,initial-scale=1.0" /> |
| | | <meta charset="UTF-8" /> |
| | | <!-- <meta name="viewport" content="width=device-width, initial-scale=0.665, minimum-scale=0.5, maximum-scale=1, user-scalable=no" /> --> |
| | | <!-- <meta name="viewport" content="width=device-width, initial-scale=0.665" /> --> |
| | | <meta http-equiv="X-UA-Compatible" content="ie=edge" /> |
| | | <title>Boxline PDA</title> |
| | | <title>库存查询</title> |
| | | |
| | | <link rel="stylesheet" href="/layui/css/layui.css" /> |
| | | <link rel="stylesheet" href="/css/style.css" /> |
| | |
| | | .layui-form-label { |
| | | width: 20%; |
| | | } |
| | | |
| | | .layui-input-block { |
| | | width: 80%; |
| | | margin-left: 20%; |
| | | } |
| | | |
| | | .div-tbl-title { |
| | | width: 98%; |
| | | margin: auto; |
| | |
| | | height: 30px; |
| | | margin-top: 20px; |
| | | } |
| | | |
| | | .div-tbl-title table { |
| | | width: 100%; |
| | | height: 30px; |
| | | } |
| | | |
| | | .div-tbl-title td { |
| | | width: 50%; |
| | | height: 30px; |
| | | line-height: 30px; |
| | | } |
| | | |
| | | .div-tbl-title span { |
| | | float: left; |
| | | width: 60%; |
| | | height: 30px; |
| | | line-height: 30px; |
| | | } |
| | | |
| | | .div-tbl-title input { |
| | | float: left; |
| | | width: 40%; |
| | |
| | | line-height: 30px; |
| | | border: none; |
| | | } |
| | | |
| | | .layout-tbl-paging { |
| | | margin-top: 0; |
| | | } |
| | | |
| | | .layout-bill-info { |
| | | height: auto; |
| | | } |
| | | |
| | | .btn-ok { |
| | | border: none; |
| | | color: #FFFFFF; |
| | |
| | | margin: 0 1%; |
| | | margin-left: 25%; |
| | | } |
| | | |
| | | .btn-ok:active { |
| | | opacity: 0.8; |
| | | } |
| | | |
| | | td{ |
| | | word-break: break-all; word-wrap:break-word; |
| | | word-break: break-all; |
| | | word-wrap: break-word; |
| | | } |
| | | </style> |
| | | <link rel="stylesheet" href="/css/adapter.css" /> |
| | | </head> |
| | | |
| | | <body> |
| | | <div id="" class="main-content"> |
| | | <div id="" class="layout-title" > |
| | |
| | | <div id="" class="layui-form-item layout-input" style="margin-top: 5px;"> |
| | | <label class="layui-form-label">储位地址</label> |
| | | <div class="layui-input-block"> |
| | | <input id="LocatNo" type="text" lay-verify="stock" placeholder="储位地址" |
| | | autocomplete="off" class="layui-input"> |
| | | <input id="LocatNo" type="text" lay-verify="stock" placeholder="储位地址" autocomplete="off" |
| | | class="layui-input"> |
| | | </div> |
| | | </div> |
| | | <div id="" class="layui-form-item layout-input" style="margin-top: 5px;"> |
| | | <label class="layui-form-label">托盘条码</label> |
| | | <div class="layui-input-block"> |
| | | <input id="PalletNo" type="text" lay-verify="stock" placeholder="托盘条码" |
| | | autocomplete="off" class="layui-input"> |
| | | <input id="PalletNo" type="text" lay-verify="stock" placeholder="托盘条码" autocomplete="off" |
| | | class="layui-input"> |
| | | </div> |
| | | </div> |
| | | <div id="" class="layui-form-item layout-input" style="margin-top: 5px;"> |
| | | <label class="layui-form-label">物料编码</label> |
| | | <div class="layui-input-block"> |
| | | <input id="SkuNo" type="text" lay-verify="stock" |
| | | autocomplete="off" class="layui-input" style="border: 0px; " disabled> |
| | | <input id="SkuNo" type="text" lay-verify="stock" autocomplete="off" class="layui-input" |
| | | style="border: 0px; " disabled> |
| | | </div> |
| | | </div> |
| | | <div id="" class="layui-form-item layout-input" style="margin-top: 5px;"> |
| | | <label class="layui-form-label">物料名称</label> |
| | | <div class="layui-input-block"> |
| | | <input id="SkuName" type="text" lay-verify="stock" |
| | | autocomplete="off" class="layui-input" style="border: 0px;" disabled> |
| | | <input id="SkuName" type="text" lay-verify="stock" autocomplete="off" class="layui-input" |
| | | style="border: 0px;" disabled> |
| | | </div> |
| | | </div> |
| | | <div id="" class="layui-form-item layout-input" style="margin-top: 5px;"> |
| | | <label class="layui-form-label">物料规格</label> |
| | | <div class="layui-input-block"> |
| | | <input id="Standard" type="text" lay-verify="stock" |
| | | autocomplete="off" class="layui-input" style="border: 0px;" disabled> |
| | | <input id="Standard" type="text" lay-verify="stock" autocomplete="off" class="layui-input" |
| | | style="border: 0px;" disabled> |
| | | </div> |
| | | </div> |
| | | <div id="" class="" style="width: 100%;height: 36px;margin-top: 15px;"> |
| | |
| | | setCurPage(curPageIndex + 1) |
| | | } |
| | | |
| | | function getBoxPageNum() |
| | | { |
| | | function getBoxPageNum() { |
| | | let num = $("#tableBoxList tr").length |
| | | if(num <= 2 ){ |
| | | return 0 |
| | |
| | | }) |
| | | </script> |
| | | </body> |
| | | |
| | | </html> |
| | |
| | | <!DOCTYPE html> |
| | | <html> |
| | | |
| | | <head> |
| | | <meta charset="UTF-8" /> |
| | | <meta name="viewport" content="user-scalable=0,width=device-width,initial-scale=1.0" /> |
| | |
| | | .layout-bill-info { |
| | | height: 255px; |
| | | } |
| | | |
| | | .layout-tbl-submit { |
| | | margin-top: 10px; |
| | | } |
| | | |
| | | .menu { |
| | | height: 40px; |
| | | } |
| | | |
| | | .sub-title-bg { |
| | | background-image: url(../assets/subtitle_bg.png); |
| | | /* margin:20px 10px 5px 10px; */ |
| | |
| | | margin-top: 20px; |
| | | width: 96%; |
| | | } |
| | | |
| | | .sub-title-bg span { |
| | | font-size: 16px; |
| | | color: #FFFFFF; |
| | |
| | | /* background-color: #0000FF; */ |
| | | margin-top: 0px; |
| | | } |
| | | |
| | | .layout-btn-container { |
| | | width: 96%; |
| | | /* margin:5px 10px 5px 10px; */ |
| | | margin: auto; |
| | | } |
| | | |
| | | .layout-btn-container table { |
| | | width: 100%; |
| | | border-collapse: separate; |
| | | border-spacing: 0px 10px; |
| | | } |
| | | |
| | | .layout-btn-container table td { |
| | | width: 50%; |
| | | } |
| | | |
| | | .btn{ |
| | | width: 95%; |
| | | height: 50px; |
| | | font-size: 0.8rem; |
| | | } |
| | | |
| | | .btn:active{ |
| | | opacity: 0.5; |
| | | } |
| | | |
| | | .mybtn-primary { |
| | | color: #fff; |
| | | background-color: #007bff; |
| | |
| | | height: 50px; |
| | | width: 98%; |
| | | } |
| | | |
| | | .mybtn-primary:active { |
| | | opacity: 0.8; |
| | | } |
| | | |
| | | .show{ |
| | | display: block; |
| | | } |
| | | |
| | | .noshow{ |
| | | display: none; |
| | | } |
| | | </style> |
| | | <link rel="stylesheet" href="../css/adapter.css" /> |
| | | </head> |
| | | |
| | | <body> |
| | | <div id="" class="main-content"> |
| | | <div id="" class="layout-title" > |
| | |
| | | }) |
| | | </script> |
| | | </body> |
| | | |
| | | </html> |
New file |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | | using System.Text; |
| | | using SqlSugar; |
| | | |
| | | namespace WMS.Entity.DataEntity |
| | | { |
| | | |
| | | public class DataBoxDto |
| | | { |
| | | /// <summary> |
| | | /// Desc:箱号 |
| | | /// Default: |
| | | /// Nullable:True |
| | | /// </summary> |
| | | public string BoxNo { get; set; } |
| | | /// <summary> |
| | | /// Desc:批次号 |
| | | /// Default: |
| | | /// Nullable:True |
| | | /// </summary> |
| | | public string LotNo { get; set; } |
| | | |
| | | /// <summary> |
| | | /// Desc:供货批次 |
| | | /// Default: |
| | | /// Nullable:True |
| | | /// </summary> |
| | | public string SupplierLot { get; set; } |
| | | /// <summary> |
| | | /// Desc:物料编码 |
| | | /// Default: |
| | | /// Nullable:True |
| | | /// </summary> |
| | | public string SkuNo { get; set; } |
| | | |
| | | /// <summary> |
| | | /// Desc:物料名称 |
| | | /// Default: |
| | | /// Nullable:True |
| | | /// </summary> |
| | | public string SkuName { get; set; } |
| | | |
| | | |
| | | /// <summary> |
| | | /// Desc:箱内数量 |
| | | /// Default: |
| | | /// Nullable:True |
| | | /// </summary> |
| | | public decimal Qty { get; set; } |
| | | |
| | | /// <summary> |
| | | /// Desc:质量状态 |
| | | /// Default: |
| | | /// Nullable:True |
| | | /// </summary> |
| | | public string InspectStatus { get; set; } |
| | | |
| | | public List<DataBoxInfoDto> InfoList { get; set; } |
| | | } |
| | | |
| | | public class DataBoxInfoDto |
| | | { |
| | | public string BoxNo2 { get; set; } |
| | | public decimal Qty2 { get; set; } |
| | | } |
| | | |
| | | } |
| | |
| | | SkuName = boxInfo.SkuName, |
| | | Standard = sku.Standard, |
| | | ProductionTime = boxInfo.ProductionTime, |
| | | ExpirationTime = boxInfo.ExpirationTime, |
| | | SupplierLot = boxInfo.SupplierLot, |
| | | InspectStatus = boxInfo.InspectStatus, |
| | | InspectMark = boxInfo.InspectMark, |
| | |
| | | SkuName = demo.SkuName, |
| | | Standard = noticeDetail.Standard, |
| | | ProductionTime = demo.ProductionTime, |
| | | ExpirationTime = demo.ExpirationTime, |
| | | SupplierLot = demo.SupplierLot, |
| | | InspectStatus = demo.InspectStatus, |
| | | InspectMark = demo.InspectMark, |
| | |
| | | SkuName = item.SkuName, |
| | | Standard = sku.Standard, |
| | | ProductionTime = item.ProductionTime, |
| | | ExpirationTime = item.ExpirationTime, |
| | | SupplierLot = item.SupplierLot, |
| | | InspectMark = item.InspectMark, |
| | | BitBoxMark = item.BitBoxMark, |
| | |
| | | using Model.InterFaceModel; |
| | | using Model.ModelDto.BllCheckDto; |
| | | using Model.ModelDto.PdaDto; |
| | | using Model.ModelVm; |
| | | using Newtonsoft.Json; |
| | | using SqlSugar; |
| | | using Utility.Tools; |
| | |
| | | } |
| | | #endregion |
| | | |
| | | #region 箱码查询 |
| | | /// <summary> |
| | | /// 箱码查询 |
| | | /// </summary> |
| | | /// <param name="boxNo">箱码</param> |
| | | /// <returns></returns> |
| | | public DataBoxDto GetBoxQueryList(string boxNo) |
| | | { |
| | | // 实例化返回类 |
| | | DataBoxDto boxModel = new DataBoxDto(); |
| | | List<DataBoxInfoDto> list = new List<DataBoxInfoDto>(); |
| | | |
| | | // 根据箱码获取箱信息 |
| | | var boxData = Db.Queryable<DataBoxInfo>().Where(m => m.IsDel == "0" && m.BoxNo == boxNo); |
| | | |
| | | if (boxData.Count() == 0) |
| | | { |
| | | // 根据盒码获取箱信息 |
| | | boxData = Db.Queryable<DataBoxInfo>().Where(m => m.IsDel == "0" && m.BoxNo2 == boxNo); |
| | | if (boxData.Count() == 0) |
| | | { |
| | | boxModel = Db.Queryable<DataBoxInfo>().Where(m => m.IsDel == "0" && m.BoxNo3 == boxNo).Select(it => new DataBoxDto() { Qty = it.Qty }, true).First(); |
| | | return boxModel; |
| | | } |
| | | |
| | | list = boxData.Select(it => new DataBoxInfoDto() |
| | | { |
| | | BoxNo2 = it.BoxNo3, |
| | | Qty2 = it.Qty |
| | | }).ToList(); |
| | | |
| | | boxData = Db.Queryable<DataBoxInfo>().Where(m => m.IsDel == "0" && m.BoxNo2 == boxNo); |
| | | boxModel = boxData.GroupBy(m => new |
| | | { |
| | | m.BoxNo, |
| | | m.SkuName, |
| | | m.SkuNo, |
| | | m.LotNo, |
| | | m.SupplierLot, |
| | | m.InspectStatus |
| | | }).Select(it => new DataBoxDto() |
| | | { |
| | | BoxNo = it.BoxNo, |
| | | SkuName = it.SkuName, |
| | | SkuNo = it.SkuNo, |
| | | LotNo = it.LotNo, |
| | | SupplierLot = it.SupplierLot, |
| | | InspectStatus = it.InspectStatus == "0" ? "待检" : it.InspectStatus == "1" ? "合格":"不合格", |
| | | Qty = SqlFunc.AggregateSum(it.Qty) |
| | | }).First(); |
| | | |
| | | boxModel.InfoList = list; |
| | | return boxModel; |
| | | } |
| | | else //箱码内数据 |
| | | { |
| | | // 处理多级码 |
| | | var num = boxData.Count(m => !string.IsNullOrWhiteSpace(m.BoxNo2)); |
| | | if (num > 0) |
| | | { |
| | | list = boxData.GroupBy(m => new |
| | | { |
| | | m.BoxNo2 |
| | | }).Select(it => new DataBoxInfoDto() |
| | | { |
| | | BoxNo2 = it.BoxNo2, |
| | | Qty2 = SqlFunc.AggregateSum(it.Qty) |
| | | }).ToList(); |
| | | } |
| | | else |
| | | { |
| | | list = boxData.Select(it => new DataBoxInfoDto() |
| | | { |
| | | BoxNo2 = SqlFunc.IsNull(it.BoxNo3,""), |
| | | Qty2 = it.Qty |
| | | }).ToList(); |
| | | } |
| | | |
| | | // 箱码信息赋值 |
| | | boxData = Db.Queryable<DataBoxInfo>().Where(m => m.IsDel == "0" && m.BoxNo == boxNo); |
| | | boxModel = boxData.GroupBy(m => new |
| | | { |
| | | m.BoxNo, |
| | | m.SkuName, |
| | | m.SkuNo, |
| | | m.LotNo, |
| | | m.SupplierLot, |
| | | m.InspectStatus |
| | | }).Select(it => new DataBoxDto() |
| | | { |
| | | BoxNo = it.BoxNo, |
| | | SkuName = it.SkuName, |
| | | SkuNo = it.SkuNo, |
| | | LotNo = it.LotNo, |
| | | SupplierLot = it.SupplierLot, |
| | | InspectStatus = it.InspectStatus == "0" ? "待检" : it.InspectStatus == "1" ? "合格" : "不合格", |
| | | Qty = SqlFunc.AggregateSum(it.Qty) |
| | | }).First(); |
| | | boxModel.InfoList = list; |
| | | |
| | | return boxModel; |
| | | } |
| | | } |
| | | #endregion |
| | | |
| | | } |
| | | } |
| | |
| | | /// <param name="bitBoxMark">零箱标记</param> |
| | | /// <param name="inspectStatus">质量状态</param> |
| | | /// <returns></returns> |
| | | public List<DataBoxInfo> GetDataBoxInfo(string id, string skuNo, string skuName, string palletNo, string lotNo, string boxNo, string status, string inspectMark, string bitBoxMark, string inspectStatus) |
| | | public List<DataBoxInfo> GetDataBoxInfo(string id, string skuNo, string skuName, string palletNo, string lotNo, |
| | | string boxNo, string status, string inspectMark, string bitBoxMark, string inspectStatus) |
| | | { |
| | | string str = "select PalletNo,PalletNo2,PalletNo3,BoxNo,BoxNo2,BoxNo3,Status,LotNo,Qty,FullQty,SkuNo,SkuName,LotText,ProductionTime,InspectMark,BitBoxMark,InspectStatus,InspectTime from DataBoxInfo Where IsDel = @isdel"; |
| | | string str = "select PalletNo,PalletNo2,PalletNo3,BoxNo,BoxNo2,BoxNo3,Status,LotNo,Qty,FullQty,SkuNo,SkuName,LotText,ProductionTime," + |
| | | "ExpirationTime,InspectMark,BitBoxMark,InspectStatus,InspectTime from DataBoxInfo Where IsDel = @isdel"; |
| | | //判断id是否为空 |
| | | if (!string.IsNullOrEmpty(id)) |
| | | { |
| | |
| | | /// <returns></returns> |
| | | public List<DataBoxInfo> GetBoxInfoByBoxNo(string boxNo, string boxNo3) |
| | | { |
| | | string str = "select PalletNo,PalletNo2,PalletNo3,BoxNo,BoxNo2,BoxNo3,Status,LotNo,Qty,FullQty,SkuNo,SkuName,LotText,ProductionTime,InspectMark,BitBoxMark,InspectStatus,InspectTime from DataBoxInfo Where IsDel = @isdel"; |
| | | string str = "select PalletNo,PalletNo2,PalletNo3,BoxNo,BoxNo2,BoxNo3,Status,LotNo,Qty,FullQty,SkuNo,SkuName,LotText," + |
| | | "ProductionTime,ExpirationTime,InspectMark,BitBoxMark,InspectStatus,InspectTime from DataBoxInfo Where IsDel = @isdel"; |
| | | //判断箱码是否为空 |
| | | if (!string.IsNullOrEmpty(boxNo)) |
| | | { |
| | |
| | | public DateTime? ProductionTime {get;set;} |
| | | |
| | | /// <summary> |
| | | /// 过期时间 |
| | | /// </summary> |
| | | public DateTime? ExpirationTime { get; set; } |
| | | |
| | | /// <summary> |
| | | /// Desc:供货批次 |
| | | /// Default: |
| | | /// Nullable:True |
| | |
| | | /// <param name="userId"></param> |
| | | List<string> AgvTransport2(string soNo, string palletNo, string areaNo, int userId, string url); |
| | | #endregion |
| | | |
| | | #region 箱码查询 |
| | | /// <summary> |
| | | /// pda库存查询 |
| | | /// </summary> |
| | | /// <param name="boxNo">储位编号</param> |
| | | /// <param name="palletNo">托盘号</param> |
| | | /// <returns></returns> |
| | | DataBoxDto GetBoxQueryList(string boxNo); |
| | | #endregion |
| | | } |
| | | } |
| | |
| | | } |
| | | #endregion |
| | | |
| | | #region 箱码查询 |
| | | /// <summary> |
| | | /// pda箱码查询 |
| | | /// </summary> |
| | | /// <param name="boxNo">箱码</param> |
| | | /// <returns></returns> |
| | | [HttpGet] |
| | | public IActionResult GetBoxQueryList(string boxNo) |
| | | { |
| | | try |
| | | { |
| | | DataBoxDto stockList = _pdaCrSvc.GetBoxQueryList(boxNo); |
| | | if (stockList == null) |
| | | { |
| | | return Ok(new { data = stockList, code = 1, msg = "无数据" }); |
| | | } |
| | | return Ok(new { data = stockList, code = 0, msg = "成功" }); |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | return Ok(new { data = "", code = 1, msg = $"异常:{e.Message}" }); |
| | | } |
| | | |
| | | } |
| | | #endregion |
| | | |
| | | } |
| | | } |