自动化立体仓库 - WMS系统
1
16 小时以前 8a2733f19643f6c2b60d653df62b4910daec48cd
#快速查看码垛数量页面优化
2个文件已修改
300 ■■■■■ 已修改文件
src/main/webapp/static/js/basArmMastExp/basArmMastExp.js 132 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/basArmMastExp/basArmMastExp.html 168 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/js/basArmMastExp/basArmMastExp.js
@@ -8,10 +8,9 @@
    var layDate = layui.laydate;
    var form = layui.form;
    var admin = layui.admin;
    // 数据渲染
    tableIns = table.render({
        elem: '#basArmMast',
        elem: '#basArmMastExp',
        headers: {token: localStorage.getItem('token')},
        url: baseUrl+'/basArmMast/list/auth',
        page: true,
@@ -21,42 +20,81 @@
        cellMinWidth: 50,
        height: 'full-120',
        cols: [[
            {type: 'checkbox'}
            ,
            {field: 'id', align: 'center',title: 'ID',hide: true}
            ,{field: 'armNo', align: 'center',title: '机械臂编号',hide: false}
            ,{field: 'orderNo', align: 'center',title: '订单号',hide: false}
            ,{field: 'armDirection', align: 'center',title: '操作方向',hide: true}
            ,{field: 'staNo', align: 'center',title: '终点',hide: false}
            ,{field: 'sortingLine', align: 'center',title: '起点',hide: false}
            ,{field: 'matnr', align: 'center',title: '商品编号',hide: false}
            ,{field: 'sku', align: 'center',title: 'sku',hide: true}
            // ,{field: 'po', align: 'center',title: 'po',hide: false}
            // ,{field: 'upc', align: 'center',title: 'upc',hide: false}
            // ,{field: 'status', align: 'center',title: '作业状态',hide: true}
            // ,{field: 'status$', align: 'center',title: '作业状态',hide: false}
            // ,{field: 'bindingTags', align: 'center',title: '分拣绑定标记',hide: false}
            // ,{field: 'priority', align: 'center',title: '优先级',hide: true}
            // ,{field: 'supplier', align: 'center',title: '货源',hide: false}
            ,{field: 'ctns', align: 'center',title: '总箱数',hide: true}
            // ,{field: 'createTime', align: 'center',title: '时间戳',hide: true}
            // ,{field: 'barcode', align: 'center',title: '托盘码',hide: false}
            // ,{field: 'armError', align: 'center',title: '异常代码',hide: true}
            // ,{field: 'armMsg', align: 'center',title: '异常信息',hide: true}
            ,{fixed: 'right', title:'操作', align: 'center', toolbar: '#operate', width:120}
            {type: 'checkbox'},
            {field: 'armNo', align: 'center', title: '机械臂编号'},
            {field: 'orderNo', align: 'center', title: '订单号'},
            {field: 'matnr', align: 'center', title: '商品编号'},
            {field: 'po', align: 'center', title: 'PO'},
            {field: 'upc', align: 'center', title: 'UPC'},
            {field: 'sortingLine', align: 'center', title: '起点'},
            {field: 'status', align: 'center', title: '作业状态', templet: function(d){
                    return '2.单码完成等待托盘完成';  // 因为现在只显示状态2,固定显示
                }},
            {field: 'barcode', align: 'center', title: '托盘码'},
            {field: 'supplier', align: 'center', title: '货源'},
            {field: 'quantity', align: 'center', title: '数量', sort: true, style: 'background-color: #fffbe6; font-weight: bold;'},  // 高亮显示数量
            // {fixed: 'right', title: '操作', align: 'center', toolbar: '#operate', width: 120}
        ]],
        request: {
            pageName: 'curr',
            pageSize: 'limit'
        },
        parseData: function (res) {
            return {
                'code': res.code,
                'msg': res.msg,
                'count': res.data.total,
                'data': res.data.records
            if (res.code !== 200) {
                return {
                    'code': res.code,
                    'msg': res.msg,
                    'count': 0,
                    'data': []
                };
            }
            var records = res.data.records || [];
            var groupMap = new Map();  // 用来汇总状态为2的数据
            records.forEach(function(item) {
                // 只处理状态为2的记录,其他状态直接忽略(隐藏)
                if (String(item.status) === '2') {
                    // 生成唯一标识(5个字段组合)
                    var key = [
                        item.armNo || '',
                        item.sortingLine || '',
                        item.barcode || '',
                        item.matnr || '',
                        item.orderNo || ''
                    ].join('|||||');  // 用多个|分隔,避免字段值冲突
                    if (groupMap.has(key)) {
                        // 已存在相同组合,数量+1
                        groupMap.get(key).quantity += 1;
                    } else {
                        // 新组合,创建一条汇总记录
                        groupMap.set(key, {
                            armNo: item.armNo,
                            orderNo: item.orderNo,
                            matnr: item.matnr,
                            po: item.po || '',
                            upc: item.upc || '',
                            sortingLine: item.sortingLine,
                            barcode: item.barcode,
                            supplier: item.supplier || '',
                            status: '2',           // 固定显示为2
                            quantity: 1            // 初始数量1
                        });
                    }
                }
                // 状态不为2的记录直接跳过,不加入任何数据
            });
            // 转换为数组
            var finalData = Array.from(groupMap.values());
            return {
                'code': 200,
                'msg': res.msg,
                'count': finalData.length,   // 分页总数 = 合并后的行数
                'data': finalData
            };
        },
        response: {
            statusCode: 200
@@ -69,7 +107,6 @@
            limit();
        }
    });
    // 监听排序事件
    table.on('sort(basArmMast)', function (obj) {
        var searchData = {};
@@ -83,7 +120,6 @@
            page: {curr: 1}
        });
    });
    // 监听头工具栏事件
    table.on('toolbar(basArmMast)', function (obj) {
        var checkStatus = table.checkStatus(obj.config.id).data;
@@ -92,14 +128,14 @@
                showEditModel();
                break;
            case 'deleteData':
               if (checkStatus.length === 0) {
                   layer.msg('请选择要删除的数据', {icon: 2});
                   return;
               }
               del(checkStatus.map(function (d) {
                   return d.id;
               }));
               break;
                if (checkStatus.length === 0) {
                    layer.msg('请选择要删除的数据', {icon: 2});
                    return;
                }
                del(checkStatus.map(function (d) {
                    return d.id;
                }));
                break;
            case 'exportData':
                admin.confirm('确定导出Excel吗', {shadeClose: true}, function(){
                    var titles=[];
@@ -140,7 +176,6 @@
                break;
        }
    });
    // 监听行工具事件
    table.on('tool(basArmMast)', function(obj){
        var data = obj.data;
@@ -153,7 +188,6 @@
                break;
        }
    });
    /* 弹窗 - 新增、修改 */
    function showEditModel(mData) {
        admin.open({
@@ -191,7 +225,6 @@
            }
        });
    }
    /* 删除 */
    function del(ids) {
        layer.confirm('确定要删除选中数据吗?', {
@@ -219,20 +252,17 @@
            })
        });
    }
    // 搜索
    form.on('submit(search)', function (data) {
        pageCurr = 1;
        tableReload(false);
    });
    // 重置
    form.on('submit(reset)', function (data) {
        pageCurr = 1;
        clearFormVal($('#search-box'));
        tableReload(false);
    });
    // 时间选择器
    function layDateRender(data) {
        setTimeout(function () {
@@ -241,18 +271,14 @@
                ,type: 'datetime'
                ,range: true
            });
        }, 300);
    }
    layDateRender();
});
// 关闭动作
$(document).on('click','#data-detail-close', function () {
    parent.layer.closeAll();
});
function tableReload(child) {
    var searchData = {};
    $.each($('#search-box [name]').serializeArray(), function() {
@@ -261,5 +287,5 @@
    tableIns.reload({
        where: searchData,
        page: {curr: pageCurr}
     });
}
    });
}
src/main/webapp/views/basArmMastExp/basArmMastExp.html
@@ -11,17 +11,11 @@
    <link rel="stylesheet" href="../../static/css/cool.css" media="all">
</head>
<body>
<div class="layui-fluid">
    <div class="layui-card">
        <div class="layui-card-body">
            <div class="layui-form toolbar" id="search-box">
                <div class="layui-form-item">
<!--                    <div class="layui-inline">-->
<!--                        <div class="layui-input-inline">-->
<!--                            <input class="layui-input" type="text" name="id" placeholder="编号" autocomplete="off">-->
<!--                        </div>-->
<!--                    </div>-->
                    <div class="layui-inline">
                        <div class="layui-input-inline">
                            <input class="layui-input" type="text" name="arm_no" placeholder="机械臂编号" autocomplete="off">
@@ -34,7 +28,17 @@
                    </div>
                    <div class="layui-inline">
                        <div class="layui-input-inline">
                            <input class="layui-input" type="text" name="sta_no" placeholder="终点、码垛位" autocomplete="off">
                            <input class="layui-input" type="text" name="matnr" placeholder="商品编号" autocomplete="off">
                        </div>
                    </div>
                    <div class="layui-inline">
                        <div class="layui-input-inline">
                            <input class="layui-input" type="text" name="po" placeholder="po" autocomplete="off">
                        </div>
                    </div>
                    <div class="layui-inline">
                        <div class="layui-input-inline">
                            <input class="layui-input" type="text" name="upc" placeholder="upc" autocomplete="off">
                        </div>
                    </div>
                    <div class="layui-inline">
@@ -45,7 +49,6 @@
                    <div class="layui-inline">
                        <div class="layui-input-inline">
                            <select name="status" id="status" class="layui-input" type="text" placeholder="作业状态" autocomplete="off">
<!--                                <option style="display: none"></option>-->
                                <option value="">作业状态</option>
                                <option value="0">0.等待下发至机械臂</option>
                                <option value="1">1.机械臂作业中</option>
@@ -59,39 +62,14 @@
                    </div>
                    <div class="layui-inline">
                        <div class="layui-input-inline">
                            <input class="layui-input" type="text" name="sku" placeholder="sku" autocomplete="off">
                        </div>
                    </div>
                    <div class="layui-inline">
                        <div class="layui-input-inline">
                            <input class="layui-input" type="text" name="po" placeholder="po" autocomplete="off">
                        </div>
                    </div>
                    <div class="layui-inline">
                        <div class="layui-input-inline">
                            <input class="layui-input" type="text" name="upc" placeholder="upc" autocomplete="off">
                        </div>
                    </div>
<!--                     <div class="layui-inline" style="width: 300px">-->
<!--                        <div class="layui-input-inline">-->
<!--                            <input class="layui-input layui-laydate-range" name="create_time" type="text" placeholder="起始时间 - 终止时间" autocomplete="off" style="width: 300px">-->
<!--                        </div>-->
<!--                    </div>-->
                    <div class="layui-inline">
                        <div class="layui-input-inline">
                            <input class="layui-input" type="text" name="binding_tags" placeholder="分拣绑定标记" autocomplete="off">
                        </div>
                    </div>
                    <div class="layui-inline">
                        <div class="layui-input-inline">
                            <input class="layui-input" type="text" name="barcode" placeholder="托盘码" autocomplete="off">
                        </div>
                    </div>
<!--                    <div class="layui-inline">-->
<!--                        <div class="layui-input-inline">-->
<!--                            <input class="layui-input" type="text" name="condition" placeholder="请输入" autocomplete="off">-->
<!--                        </div>-->
<!--                    </div>-->
                    <div class="layui-inline">
                        <div class="layui-input-inline">
                            <input class="layui-input" type="text" name="supplier" placeholder="货源" autocomplete="off">
                        </div>
                    </div>
                    <div class="layui-inline">&emsp;
                        <button class="layui-btn icon-btn" lay-filter="search" lay-submit>
                            <i class="layui-icon">&#xe615;</i>搜索
@@ -102,29 +80,26 @@
                    </div>
                </div>
            </div>
            <table class="layui-hide" id="basArmMast" lay-filter="basArmMast"></table>
            <table class="layui-hide" id="basArmMastExp" lay-filter="basArmMastExp"></table>
        </div>
    </div>
</div>
<script type="text/html" id="toolbar">
    <div class="layui-btn-container">
        <button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData">新增</button>
        <button class="layui-btn layui-btn-sm layui-btn-danger" id="btn-delete" lay-event="deleteData">删除</button>
        <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData" style="float: right">导出</button>
<!--        <button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData">新增</button>-->
<!--        <button class="layui-btn layui-btn-sm layui-btn-danger" id="btn-delete" lay-event="deleteData">删除</button>-->
<!--        <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData" style="float: right">导出</button>-->
    </div>
</script>
<script type="text/html" id="operate">
    <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="edit">修改</a>
    <a class="layui-btn layui-btn-danger layui-btn-xs btn-edit" lay-event="del">删除</a>
<!--    <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="edit">修改</a>-->
<!--    <a class="layui-btn layui-btn-danger layui-btn-xs btn-edit" lay-event="del">删除</a>-->
</script>
<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script>
<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script>
<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script>
<script type="text/javascript" src="../../static/js/basArmMast/basArmMast.js" charset="utf-8"></script>
<script type="text/javascript" src="../../static/js/basArmMastExp/basArmMastExp.js" charset="utf-8"></script>
</body>
<!-- 表单弹窗 -->
<script type="text/html" id="editDialog">
@@ -132,49 +107,6 @@
        <input name="id" type="hidden">
        <div class="layui-row">
            <div class="layui-col-md12">
<!--                <div class="layui-form-item">-->
<!--                    <label class="layui-form-label layui-form-required">机械臂编号: </label>-->
<!--                    <div class="layui-input-block">-->
<!--                        <input class="layui-input" name="armNo" placeholder="请输入机械臂编号" lay-vertype="tips" lay-verify="required">-->
<!--                    </div>-->
<!--                </div>-->
<!--                <div class="layui-form-item">-->
<!--                    <label class="layui-form-label layui-form-required">操作方向: </label>-->
<!--                    <div class="layui-input-block">-->
<!--                        <input class="layui-input" name="armDirection" placeholder="请输入操作方向" lay-vertype="tips" lay-verify="required">-->
<!--                    </div>-->
<!--                </div>-->
<!--                <div class="layui-form-item">-->
<!--                    <label class="layui-form-label layui-form-required">终点: </label>-->
<!--                    <div class="layui-input-block">-->
<!--                        <input class="layui-input" name="staNo" placeholder="请输入终点" lay-vertype="tips" lay-verify="required">-->
<!--                    </div>-->
<!--                </div>-->
<!--                <div class="layui-form-item">-->
<!--                    <label class="layui-form-label layui-form-required">起点: </label>-->
<!--                    <div class="layui-input-block">-->
<!--                        <input class="layui-input" name="sortingLine" placeholder="请输入起点" lay-vertype="tips" lay-verify="required">-->
<!--                    </div>-->
<!--                </div>-->
<!--                <div class="layui-form-item">-->
<!--                    <label class="layui-form-label layui-form-required">分拣绑定标记: </label>-->
<!--                    <div class="layui-input-block">-->
<!--                        <input class="layui-input" name="bindingTags" placeholder="请输入分拣绑定标记" lay-vertype="tips" lay-verify="required">-->
<!--                    </div>-->
<!--                </div>-->
<!--                <div class="layui-form-item">-->
<!--                    <label class="layui-form-label layui-form-required">优先级: </label>-->
<!--                    <div class="layui-input-block">-->
<!--                        <input class="layui-input" name="priority" placeholder="请输入优先级" lay-vertype="tips" lay-verify="required">-->
<!--                    </div>-->
<!--                </div>-->
<!--                <div class="layui-form-item">-->
<!--                    <label class="layui-form-label layui-form-required">状态: </label>-->
<!--                    <div class="layui-input-block">-->
<!--                        <input class="layui-input" name="status" placeholder="请输入状态" lay-vertype="tips" lay-verify="required">-->
<!--                    </div>-->
<!--                </div>-->
                <!-- 工作状态 -->
                <div class="layui-form-item">
                    <label class="layui-form-label layui-form-required">状态:</label>
@@ -190,54 +122,6 @@
                        </select>
                    </div>
                </div>
<!--                <div class="layui-form-item">-->
<!--                    <label class="layui-form-label layui-form-required">: </label>-->
<!--                    <div class="layui-input-block">-->
<!--                        <input class="layui-input" name="matnr" placeholder="请输入" lay-vertype="tips" lay-verify="required">-->
<!--                    </div>-->
<!--                </div>-->
<!--                <div class="layui-form-item">-->
<!--                    <label class="layui-form-label layui-form-required">: </label>-->
<!--                    <div class="layui-input-block">-->
<!--                        <input class="layui-input" name="sku" placeholder="请输入" lay-vertype="tips" lay-verify="required">-->
<!--                    </div>-->
<!--                </div>-->
<!--                <div class="layui-form-item">-->
<!--                    <label class="layui-form-label layui-form-required">: </label>-->
<!--                    <div class="layui-input-block">-->
<!--                        <input class="layui-input" name="po" placeholder="请输入" lay-vertype="tips" lay-verify="required">-->
<!--                    </div>-->
<!--                </div>-->
<!--                <div class="layui-form-item">-->
<!--                    <label class="layui-form-label layui-form-required">: </label>-->
<!--                    <div class="layui-input-block">-->
<!--                        <input class="layui-input" name="upc" placeholder="请输入" lay-vertype="tips" lay-verify="required">-->
<!--                    </div>-->
<!--                </div>-->
<!--                <div class="layui-form-item">-->
<!--                    <label class="layui-form-label layui-form-required">货源: </label>-->
<!--                    <div class="layui-input-block">-->
<!--                        <input class="layui-input" name="supplier" placeholder="请输入货源" lay-vertype="tips" lay-verify="required">-->
<!--                    </div>-->
<!--                </div>-->
<!--                <div class="layui-form-item">-->
<!--                    <label class="layui-form-label layui-form-required">: </label>-->
<!--                    <div class="layui-input-block">-->
<!--                        <input class="layui-input" name="orderNo" placeholder="请输入" lay-vertype="tips" lay-verify="required">-->
<!--                    </div>-->
<!--                </div>-->
<!--                <div class="layui-form-item">-->
<!--                    <label class="layui-form-label layui-form-required">箱数: </label>-->
<!--                    <div class="layui-input-block">-->
<!--                        <input class="layui-input" name="ctns" placeholder="请输入箱数" lay-vertype="tips" lay-verify="required">-->
<!--                    </div>-->
<!--                </div>-->
<!--                <div class="layui-form-item">-->
<!--                    <label class="layui-form-label layui-form-required">时间戳: </label>-->
<!--                    <div class="layui-input-block">-->
<!--                        <input class="layui-input" name="createTime" placeholder="请输入时间戳" lay-vertype="tips" lay-verify="required">-->
<!--                    </div>-->
<!--                </div>-->
                <div class="layui-form-item">
                    <label class="layui-form-label layui-form-required">托盘码: </label>
                    <div class="layui-input-block">
@@ -256,8 +140,7 @@
                        <input class="layui-input" name="armMsg" placeholder="请输入异常信息">
                    </div>
                </div>
             </div>
            </div>
        </div>
        <hr class="layui-bg-gray">
        <div class="layui-form-item text-right">
@@ -266,5 +149,4 @@
        </div>
    </form>
</script>
</html>
</html>