自动化立体仓库 - WMS系统
chen.lin
4 天以前 10778ff6207c31641187acb487d4b67c0de59b24
src/main/webapp/static/js/task/task.js
@@ -23,6 +23,7 @@
        cols: [[
            {type: 'checkbox'}
            , {field: 'wrkNo', align: 'center', title: '工作号', sort: true, width: 105}
            , {field: 'agvWrkNo', align: 'center', title: 'AGV工作号', width: 180}
            , {field: 'ioTime$', align: 'center', title: '工作时间', width: 160}
            , {field: 'wrkSts$', align: 'center', title: '工作状态', width: 150}
            , {field: 'ioType$', align: 'center', title: '入出库类型', width: 150}
@@ -221,10 +222,6 @@
                }, function () {
                });
                break;
            //  呼叫AGV
            case 'callAgv':
                callAgvMove(data);
                break;
        }
    });
@@ -322,56 +319,111 @@
    layDateRender();
    // 呼叫AGV搬运
    function callAgvMove(data) {
        var defaultOrgSite = data.sourceStaNo || '';
        var defaultTarSite = data.staNo || '';
        var defaultBarcode = data.barcode || '';
    // 呼叫AGV功能 - 暂时注释掉
    /*
    // 初始化呼叫AGV表单渲染
    form.render('select');
        
        layer.open({
            type: 1,
            title: '呼叫AGV搬运 - 工作号:' + data.wrkNo,
            area: ['450px', '400px'],
            shadeClose: true,
            content: '<form class="layui-form" style="padding: 20px;">' +
                     '<div class="layui-form-item">' +
                     '<label class="layui-form-label"><span style="color: red;">*</span>源站点:</label>' +
                     '<div class="layui-input-block">' +
                     '<input type="text" name="orgSite" value="' + defaultOrgSite + '" placeholder="请输入源站点" class="layui-input" lay-verify="required">' +
                     '</div></div>' +
                     '<div class="layui-form-item">' +
                     '<label class="layui-form-label"><span style="color: red;">*</span>目标站点:</label>' +
                     '<div class="layui-input-block">' +
                     '<input type="text" name="tarSite" value="' + defaultTarSite + '" placeholder="请输入目标站点" class="layui-input" lay-verify="required">' +
                     '</div></div>' +
                     '<div class="layui-form-item">' +
                     '<label class="layui-form-label"><span style="color: red;">*</span>托盘码:</label>' +
                     '<div class="layui-input-block">' +
                     '<input type="text" name="barcode" value="' + defaultBarcode + '" placeholder="请输入托盘码" class="layui-input" lay-verify="required">' +
                     '</div></div>' +
                     '<div class="layui-form-item" style="text-align: center; margin-top: 30px;">' +
                     '<button class="layui-btn" lay-submit lay-filter="callAgvSubmit">确认呼叫</button>' +
                     '<button type="button" class="layui-btn layui-btn-primary" onclick="layer.closeAll()">取消</button>' +
                     '</div></form>',
            success: function(layero, index) {
                form.render();
                form.on('submit(callAgvSubmit)', function(formData) {
    // 呼叫类型切换事件
    form.on('select(callAgvType)', function(data) {
        var callType = data.value;
        if (callType === 'manual') {
            // 手动输入:显示目标站点
            $('#callAgvTarSiteGroup').show();
            $('#callAgvTarLocGroup').hide();
            $('#callAgvTarSite').attr('placeholder', '目标站点');
        } else if (callType === 'outbound') {
            // 出库:隐藏目标站点和库位(自动分配)
            $('#callAgvTarSiteGroup').hide();
            $('#callAgvTarLocGroup').hide();
        } else if (callType === 'inbound') {
            // 入库:显示目标库位,隐藏目标站点(站点自动分配)
            $('#callAgvTarSiteGroup').hide();
            $('#callAgvTarLocGroup').show();
            $('#callAgvTarLoc').attr('placeholder', '目标库位');
        }
    });
    // 呼叫AGV搬运 - 从页面上方表单获取输入
    $('#callAgvBtn').on('click', function() {
        var callType = $('#callAgvType').val();
        var orgSite = $('#callAgvOrgSite').val();
        var tarSite = $('#callAgvTarSite').val();
        var tarLoc = $('#callAgvTarLoc').val();
        var barcode = $('#callAgvBarcode').val();
        // 验证必填项
        if (!orgSite || orgSite.trim() === '') {
            layer.msg('请输入源站点', {icon: 2});
            $('#callAgvOrgSite').focus();
            return;
        }
        if (callType === 'manual') {
            // 手动输入:需要目标站点
            if (!tarSite || tarSite.trim() === '') {
                layer.msg('请输入目标站点', {icon: 2});
                $('#callAgvTarSite').focus();
                return;
            }
        } else if (callType === 'inbound') {
            // 入库:需要目标库位
            if (!tarLoc || tarLoc.trim() === '') {
                layer.msg('请输入目标库位', {icon: 2});
                $('#callAgvTarLoc').focus();
                return;
            }
        }
        if (!barcode || barcode.trim() === '') {
            layer.msg('请输入托盘码', {icon: 2});
            $('#callAgvBarcode').focus();
            return;
        }
        // 构建确认信息
        var confirmMsg = '确认呼叫AGV搬运?<br/>呼叫类型:';
        if (callType === 'manual') {
            confirmMsg += '手动输入<br/>源站点:' + orgSite + '<br/>目标站点:' + tarSite + '<br/>托盘码:' + barcode;
        } else if (callType === 'outbound') {
            confirmMsg += '起点+出库(站点和缓存位自动分配)<br/>源站点:' + orgSite + '<br/>托盘码:' + barcode;
        } else if (callType === 'inbound') {
            confirmMsg += '起点+入库(站点自动分配)<br/>源站点:' + orgSite + '<br/>目标库位:' + tarLoc + '<br/>托盘码:' + barcode;
        }
        layer.confirm(confirmMsg, {
            title: '呼叫AGV确认',
            icon: 3,
            shadeClose: true
        }, function(index) {
                    var loadIndex = layer.load(2);
            var requestData = {
                callType: callType,
                orgSite: orgSite.trim(),
                barcode: barcode.trim()
            };
            if (callType === 'manual' && tarSite) {
                requestData.tarSite = tarSite.trim();
            }
            if (callType === 'inbound' && tarLoc) {
                requestData.tarLoc = tarLoc.trim();
            }
                    $.ajax({
                        url: baseUrl + "/mobile/cache/agv/call",
                        headers: {'token': localStorage.getItem('token')},
                        data: JSON.stringify({
                            orgSite: formData.field.orgSite,
                            tarSite: formData.field.tarSite,
                            barcode: formData.field.barcode
                        }),
                data: JSON.stringify(requestData),
                        contentType: 'application/json;charset=UTF-8',
                        method: 'POST',
                        success: function(res) {
                            layer.close(loadIndex);
                            if (res.code === 200) {
                                layer.close(index);
                    if (res.code === 200) {
                                layer.msg('呼叫AGV成功', {icon: 1});
                        // 清空表单
                        $('#callAgvOrgSite').val('');
                        $('#callAgvTarSite').val('');
                        $('#callAgvTarLoc').val('');
                        $('#callAgvBarcode').val('');
                        // 刷新表格
                                tableReload();
                            } else if (res.code === 403) {
                                top.location.href = baseUrl + "/";
@@ -381,14 +433,13 @@
                        },
                        error: function() {
                            layer.close(loadIndex);
                    layer.close(index);
                            layer.msg('网络请求失败', {icon: 2});
                        }
                    });
                    return false;
                });
            }
        });
    }
    */
});