自动化立体仓库 - WMS系统
chen.lin
4 天以前 10778ff6207c31641187acb487d4b67c0de59b24
src/main/webapp/static/js/task/task.js
@@ -23,22 +23,23 @@
        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}
            , {field: 'ioPri', align: 'center', title: '优先级', width: 80}
            , {field: 'taskType$', align: 'center', title: '任务类型'}
            , {field: 'taskType$', align: 'center', title: '任务类型', width: 120}
            , {field: 'crnNo$', align: 'center', title: '堆垛机', hide: true}
            , {field: 'sourceStaNo$', align: 'center', title: '源站'}
            , {field: 'staNo$', align: 'center', title: '目标站', width: 120}
            , {field: 'sourceStaNo$', align: 'center', title: '源站', width: 120}
            , {field: 'sourceLocNo', align: 'center', title: '源库位', width: 120}
            , {field: 'staNo$', align: 'center', title: '目标站', width: 120}
            , {field: 'locNo', align: 'center', title: '目标库位', width: 120}
            , {field: 'barcode', align: 'center', title: '条码', width: 110}
            , {field: 'preHave', align: 'center', title: '先入品', hide: true}
            , {field: 'takeNone', align: 'center', title: '空操作', hide: true}
            , {field: 'modiUser$', align: 'center', title: '修改人员', hide: true}
            , {field: 'modiTime$', align: 'center', title: '修改时间', hide: true, width: 160}
            , {fixed: 'right', title: '操作', align: 'center', toolbar: '#operate', width: 200}
            , {fixed: 'right', title: '操作', align: 'center', toolbar: '#operate', width: 250}
        ]],
        request: {
            pageName: 'curr',
@@ -171,7 +172,7 @@
                        title: '工作号:' + data.wrkNo,
                        shadeClose: true
                    }, function () {
                        http.post(baseUrl + "/hand/control/wrkMast", {workNo: data.wrkNo, type: 2}, function (res) {
                        http.post(baseUrl + "/task/control", {workNo: data.wrkNo, type: 2}, function (res) {
                            $(".layui-laypage-btn")[0].click();
                            layer.msg(data.wrkNo + res.msg);
                        })
@@ -182,7 +183,7 @@
                        title: '工作号:' + data.wrkNo,
                        shadeClose: true
                    }, function () {
                        http.post(baseUrl + "/hand/control/wrkMast", {workNo: data.wrkNo, type: 2}, function (res) {
                        http.post(baseUrl + "/task/control", {workNo: data.wrkNo, type: 2}, function (res) {
                            $(".layui-laypage-btn")[0].click();
                            layer.msg(data.wrkNo + res.msg);
                        })
@@ -193,7 +194,7 @@
            //  拣料入库
            case 'pick':
                layer.confirm('拣料入库该笔工作档?', {title: '工作号:' + data.wrkNo, shadeClose: true}, function () {
                    http.post(baseUrl + "/hand/control/wrkMast", {workNo: data.wrkNo, type: 3}, function (res) {
                    http.post(baseUrl + "/task/control", {workNo: data.wrkNo, type: 3}, function (res) {
                        $(".layui-laypage-btn")[0].click();
                        layer.msg(data.wrkNo + res.msg);
                    })
@@ -318,6 +319,128 @@
    layDateRender();
    // 呼叫AGV功能 - 暂时注释掉
    /*
    // 初始化呼叫AGV表单渲染
    form.render('select');
    // 呼叫类型切换事件
    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(requestData),
                contentType: 'application/json;charset=UTF-8',
                method: 'POST',
                success: function(res) {
                    layer.close(loadIndex);
                    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 + "/";
                    } else {
                        layer.msg(res.msg || '呼叫AGV失败', {icon: 2});
                    }
                },
                error: function() {
                    layer.close(loadIndex);
                    layer.close(index);
                    layer.msg('网络请求失败', {icon: 2});
                }
            });
        });
    });
    */
});
// 关闭动作