Junjie
2023-05-19 db1de2dced1def55238e8a2cba3fbdff70d0f3c1
src/main/webapp/static/wms/js/wrkMast/wrkMast.js
@@ -1,17 +1,23 @@
var pageCurr;
var wrkNo;
layui.use(['table','laydate', 'form'], function(){
layui.config({
    base: baseUrl + "/static/wms/layui/lay/modules/"
}).extend({
    dropdown: 'dropdown/dropdown',
}).use(['table', 'laydate', 'form', 'dropdown'], function () {
    var table = layui.table;
    var $ = layui.jquery;
    var layer = layui.layer;
    var layDate = layui.laydate;
    var form = layui.form;
    $('#wrkNo').val(parent.wrkNo);
    // 数据渲染
    tableIns = table.render({
        elem: '#wrkMast',
        headers: {token: localStorage.getItem('token')},
        url: baseUrl+'/wrkMast/list/auth',
        url: baseUrl + '/wrkMast/list/auth',
        where: {wrk_no: parent.wrkNo},
        page: true,
        limit: 16,
        limits: [16, 30, 50, 100, 200, 500],
@@ -20,19 +26,19 @@
        cellMinWidth: 50,
        cols: [[
            {type: 'checkbox'}
            ,{field: 'wrkNo', align: 'center',title: '工作号',sort: true, width: 85}
            ,{field: 'ioTime$', align: 'center',title: '工作时间',sort: true, width: 160}
            ,{field: 'wrkSts$', align: 'center',title: '工作状态'}
            ,{field: 'ioType$', align: 'center',title: '入出库类型'}
            ,{field: 'ioPri', align: 'center',title: '优先级'}
            ,{field: 'crnNo$', align: 'center',title: '堆垛机'}
            ,{field: 'sourceStaNo$', align: 'center',title: '源站'}
            ,{field: 'staNo$', align: 'center',title: '目标站'}
            ,{field: 'sourceLocNo$', align: 'center',title: '源库位'}
            ,{field: 'locNo$', align: 'center',title: '目标库位'}
            ,{field: 'barcode', align: 'center',title: '条码'}
            ,{field: 'preHave', align: 'center',title: '先入品', hide: true}
            ,{field: 'takeNone', align: 'center',title: '空操作', hide: true}
            , {field: 'wrkNo', align: 'center', title: '工作号', sort: true, width: 85}
            , {field: 'ioTime$', align: 'center', title: '工作时间', sort: true, width: 160}
            , {field: 'wrkSts$', align: 'center', title: '工作状态'}
            , {field: 'ioType$', align: 'center', title: '入出库类型'}
            , {field: 'ioPri', align: 'center', title: '优先级'}
            , {field: 'crnNo$', align: 'center', title: '堆垛机'}
            , {field: 'sourceStaNo$', align: 'center', title: '源站'}
            , {field: 'staNo$', align: 'center', title: '目标站'}
            , {field: 'sourceLocNo$', align: 'center', title: '源库位'}
            , {field: 'locNo$', align: 'center', title: '目标库位'}
            , {field: 'barcode', align: 'center', title: '条码'}
            , {field: 'preHave', align: 'center', title: '先入品', hide: true}
            , {field: 'takeNone', align: 'center', title: '空操作', hide: true}
            // ,{field: 'picking', align: 'center',title: '拣料', templet:function(row){
            //         var html = "<input value='picking' type='checkbox' lay-skin='primary' lay-filter='tableCheckbox' table-index='"+row.LAY_TABLE_INDEX+"'";
            //         if(row.picking === 'Y'){html += " checked ";}
@@ -55,8 +61,8 @@
            // ,{field: 'crnStrTime$', align: 'center',title: '堆垛机启动时间'}
            // ,{field: 'crnEndTime$', align: 'center',title: '堆垛机停止时间'}
            // ,{field: 'refIotime$', align: 'center',title: '拣料时间'}
            ,{field: 'modiUser$', align: 'center',title: '修改人员', hide:true}
            ,{field: 'modiTime$', align: 'center',title: '修改时间', hide:true, width: 160}
            , {field: 'modiUser$', align: 'center', title: '修改人员', hide: true}
            , {field: 'modiTime$', align: 'center', title: '修改时间', hide: true, width: 160}
            // ,{field: 'memo', align: 'center',title: '备注'}
            //
            // ,{field: 'fullPlt', align: 'center',title: '满板', templet:function(row){
@@ -66,7 +72,7 @@
            //         return html;
            //     }}
            ,{fixed: 'right', title:'操作', align: 'center', toolbar: '#operate', width:250}
            , {fixed: 'right', title: '操作', align: 'left', toolbar: '#operate', width: 120}
        ]],
        request: {
            pageName: 'curr',
@@ -83,17 +89,18 @@
        response: {
            statusCode: 200
        },
        done: function(res, curr, count) {
        done: function (res, curr, count) {
            if (res.code === 403) {
                top.location.href = baseUrl+"/";
                top.location.href = baseUrl + "/";
            }
            pageCurr=curr;
            $(".layui-table-body, .layui-table-box, .layui-table-cell").css('overflow','visible');//解决layui数据表格中嵌套下拉框显示问题
            pageCurr = curr;
            limit();
            form.on('checkbox(tableCheckbox)', function (data) {
                var _index = $(data.elem).attr('table-index')||0;
                if(data.elem.checked){
                var _index = $(data.elem).attr('table-index') || 0;
                if (data.elem.checked) {
                    res.data[_index][data.value] = 'Y';
                }else{
                } else {
                    res.data[_index][data.value] = 'N';
                }
            });
@@ -103,7 +110,7 @@
    // 监听排序事件
    table.on('sort(wrkMast)', function (obj) {
        var searchData = {};
        $.each($('#search-box [name]').serializeArray(), function() {
        $.each($('#search-box [name]').serializeArray(), function () {
            searchData[this.name] = this.value;
        });
        searchData['orderByField'] = obj.field;
@@ -115,9 +122,9 @@
            },
            done: function (res, curr, count) {
                if (res.code === 403) {
                    top.location.href = baseUrl+"/";
                    top.location.href = baseUrl + "/";
                }
                pageCurr=curr;
                pageCurr = curr;
                limit();
            }
        });
@@ -126,10 +133,10 @@
    // 监听头工具栏事件
    table.on('toolbar(wrkMast)', function (obj) {
        var checkStatus = table.checkStatus(obj.config.id);
        switch(obj.event) {
        switch (obj.event) {
            // 增加优先级
            case 'priAdd':
                var list=[];
                var list = [];
                checkStatus.data.map(function (track) {
                    list.push({
                        wrkNo: track.wrkNo,
@@ -138,19 +145,19 @@
                    });
                });
                $.ajax({
                    url: baseUrl+"/wrkMast/add/pri/auth",
                    url: baseUrl + "/wrkMast/add/pri/auth",
                    headers: {'token': localStorage.getItem('token')},
                    contentType:'application/json;charset=UTF-8',
                    contentType: 'application/json;charset=UTF-8',
                    data: JSON.stringify(list),
                    method: 'POST',
                    traditional:true,
                    traditional: true,
                    success: function (res) {
                        layer.closeAll();
                        if (res.code === 200){
                        if (res.code === 200) {
                            $(".layui-laypage-btn")[0].click();
                            layer.msg(res.msg);
                        } else if (res.code === 403){
                            top.location.href = baseUrl+"/";
                        } else if (res.code === 403) {
                            top.location.href = baseUrl + "/";
                        } else {
                            layer.msg(res.msg)
                        }
@@ -159,7 +166,7 @@
                break;
            // 降低优先级
            case 'priRed':
                var list=[];
                var list = [];
                checkStatus.data.map(function (track) {
                    list.push({
                        wrkNo: track.wrkNo,
@@ -168,19 +175,19 @@
                    });
                });
                $.ajax({
                    url: baseUrl+"/wrkMast/red/pri/auth",
                    url: baseUrl + "/wrkMast/red/pri/auth",
                    headers: {'token': localStorage.getItem('token')},
                    contentType:'application/json;charset=UTF-8',
                    contentType: 'application/json;charset=UTF-8',
                    data: JSON.stringify(list),
                    method: 'POST',
                    traditional:true,
                    traditional: true,
                    success: function (res) {
                        layer.closeAll();
                        if (res.code === 200){
                        if (res.code === 200) {
                            $(".layui-laypage-btn")[0].click();
                            layer.msg(res.msg);
                        } else if (res.code === 403){
                            top.location.href = baseUrl+"/";
                        } else if (res.code === 403) {
                            top.location.href = baseUrl + "/";
                        } else {
                            layer.msg(res.msg)
                        }
@@ -195,31 +202,33 @@
                    area: [top.detailWidth, top.detailHeight],
                    shadeClose: false,
                    content: 'wrkMast_detail.html',
                    success: function(layero, index){
                    success: function (layero, index) {
                        layer.getChildFrame('#data-detail-submit-edit', index).hide();
                       clearFormVal(layer.getChildFrame('#detail', index));
                        layer.getChildFrame('##dealDownLine', index).hide();layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"});
                        clearFormVal(layer.getChildFrame('#detail', index));
                        layer.getChildFrame('##dealDownLine', index).hide();
                        layer.iframeAuto(index);
                        layer.style(index, {top: (($(window).height() - layer.getChildFrame('#data-detail', index).height()) / 3) + "px"});
                    }
                });
                break;
            case 'deleteData':
                var data = checkStatus.data;
                if (data.length === 0){
                if (data.length === 0) {
                    layer.msg('请选择数据');
                } else {
                    layer.confirm('确定删除'+(data.length===1?'此':data.length)+'条数据吗', function(){
                    layer.confirm('确定删除' + (data.length === 1 ? '此' : data.length) + '条数据吗', function () {
                        $.ajax({
                            url: baseUrl+"/wrkMast/delete/auth",
                            url: baseUrl + "/wrkMast/delete/auth",
                            headers: {'token': localStorage.getItem('token')},
                            data: {param: JSON.stringify(data)},
                            method: 'POST',
                            traditional:true,
                            traditional: true,
                            success: function (res) {
                                if (res.code === 200){
                                if (res.code === 200) {
                                    layer.closeAll();
                                    tableReload(false);
                                } else if (res.code === 403){
                                    top.location.href = baseUrl+"/";
                                } else if (res.code === 403) {
                                    top.location.href = baseUrl + "/";
                                } else {
                                    layer.msg(res.msg)
                                }
@@ -229,9 +238,9 @@
                }
                break;
            case 'exportData':
                layer.confirm('确定导出Excel吗', {shadeClose: true}, function(){
                    var titles=[];
                    var fields=[];
                layer.confirm('确定导出Excel吗', {shadeClose: true}, function () {
                    var titles = [];
                    var fields = [];
                    obj.config.cols[0].map(function (col) {
                        if (col.type === 'normal' && col.hide === false && col.toolbar == null) {
                            titles.push(col.title);
@@ -239,7 +248,7 @@
                        }
                    });
                    var exportData = {};
                    $.each($('#search-box [name]').serializeArray(), function() {
                    $.each($('#search-box [name]').serializeArray(), function () {
                        exportData[this.name] = this.value;
                    });
                    var param = {
@@ -247,18 +256,18 @@
                        'fields': fields
                    };
                    $.ajax({
                        url: baseUrl+"/wrkMast/export/auth",
                        url: baseUrl + "/wrkMast/export/auth",
                        headers: {'token': localStorage.getItem('token')},
                        data: JSON.stringify(param),
                        dataType:'json',
                        contentType:'application/json;charset=UTF-8',
                        dataType: 'json',
                        contentType: 'application/json;charset=UTF-8',
                        method: 'POST',
                        success: function (res) {
                            layer.closeAll();
                            if (res.code === 200) {
                                table.exportFile(titles,res.data,'xls');
                                table.exportFile(titles, res.data, 'xls');
                            } else if (res.code === 403) {
                                top.location.href = baseUrl+"/";
                                top.location.href = baseUrl + "/";
                            } else {
                                layer.msg(res.msg)
                            }
@@ -270,7 +279,7 @@
    });
    // 监听行工具事件
    table.on('tool(wrkMast)', function(obj){
    table.on('tool(wrkMast)', function (obj) {
        let data = obj.data;
        switch (obj.event) {
            // 明细展示
@@ -286,14 +295,14 @@
                    area: [top.detailWidth, top.detailHeight],
                    shadeClose: true,
                    content: 'wrkDetl.html',
                    success: function(layero, index){
                    success: function (layero, index) {
                    }
                });
                break;
            // 完成
            case 'complete':
                layer.confirm('确认完成该笔工作档?', {title: '工作号:'+data.wrkNo, shadeClose: true}, function(){
                    http.post(baseUrl+"/hand/control/wrkMast", {workNo: data.wrkNo, type:1}, function (res) {
                layer.confirm('确认完成该笔工作档?', {title: '工作号:' + data.wrkNo, shadeClose: true}, function () {
                    http.post(baseUrl + "/hand/control/wrkMast", {workNo: data.wrkNo, type: 1}, function (res) {
                        $(".layui-laypage-btn")[0].click();
                        layer.msg(data.wrkNo + res.msg);
                    })
@@ -304,16 +313,22 @@
            // 取消
            case 'cancel':
                if (data.pdcType === "Y") {
                    layer.confirm('当前任务关联ERP销售单,取消将重新生成出库作业,是否继续?', {title: '工作号:'+data.wrkNo, shadeClose: true}, function(){
                        http.post(baseUrl+"/hand/control/wrkMast", {workNo: data.wrkNo, type:2}, function (res) {
                    layer.confirm('当前任务关联ERP销售单,取消将重新生成出库作业,是否继续?', {
                        title: '工作号:' + data.wrkNo,
                        shadeClose: true
                    }, function () {
                        http.post(baseUrl + "/hand/control/wrkMast", {workNo: data.wrkNo, type: 2}, function (res) {
                            $(".layui-laypage-btn")[0].click();
                            layer.msg(data.wrkNo + res.msg);
                        })
                        layer.closeAll();
                    });
                } else {
                    layer.confirm('确认取消该笔工作档?', {title: '工作号:'+data.wrkNo, shadeClose: true}, function(){
                        http.post(baseUrl+"/hand/control/wrkMast", {workNo: data.wrkNo, type:2}, function (res) {
                    layer.confirm('确认取消该笔工作档?', {
                        title: '工作号:' + data.wrkNo,
                        shadeClose: true
                    }, function () {
                        http.post(baseUrl + "/hand/control/wrkMast", {workNo: data.wrkNo, type: 2}, function (res) {
                            $(".layui-laypage-btn")[0].click();
                            layer.msg(data.wrkNo + res.msg);
                        })
@@ -323,8 +338,8 @@
                break;
            //  拣料入库
            case 'pick':
                layer.confirm('拣料入库该笔工作档?', {title: '工作号:'+data.wrkNo, shadeClose: true}, function(){
                    http.post(baseUrl+"/hand/control/wrkMast", {workNo: data.wrkNo, type:3}, function (res) {
                layer.confirm('拣料入库该笔工作档?', {title: '工作号:' + data.wrkNo, shadeClose: true}, function () {
                    http.post(baseUrl + "/hand/control/wrkMast", {workNo: data.wrkNo, type: 3}, function (res) {
                        $(".layui-laypage-btn")[0].click();
                        layer.msg(data.wrkNo + res.msg);
                    })
@@ -333,8 +348,11 @@
                break;
            //  先入品
            case 'preHave':
                layer.confirm('任务发生先入品异常。如需重新入库,请确保货物已放至堆垛机出库站!', {title: '工作号:'+data.wrkNo, shadeClose: true}, function(){
                    http.post(baseUrl+"/deal/preHave/start", {wrkNo: data.wrkNo}, function (res) {
                layer.confirm('任务发生先入品异常。如需重新入库,请确保货物已放至堆垛机出库站!', {
                    title: '工作号:' + data.wrkNo,
                    shadeClose: true
                }, function () {
                    http.post(baseUrl + "/deal/preHave/start", {wrkNo: data.wrkNo}, function (res) {
                        $(".layui-laypage-btn")[0].click();
                        layer.msg(data.wrkNo + res.msg, {icon: 1});
                    })
@@ -343,7 +361,53 @@
                break;
            //  空操作
            case 'takeNone':
                layer.confirm('任务发送空操作异常!是否。。。。。。。。?', {title: '工作号:'+data.wrkNo, shadeClose: true}, function(){
                layer.confirm('任务发送空操作异常!是否。。。。。。。。?', {
                    title: '工作号:' + data.wrkNo,
                    shadeClose: true
                }, function () {
                });
                break;
            case 'more':
                //更多下拉菜单
                dropdown.render({
                    elem: '#operate'
                    , show: true //外部事件触发即显示
                    , data: [{
                        title: 'item 1'
                        , id: 'aaa'
                    }, {
                        title: 'item 2'
                        , id: 'bbb'
                    }, {
                        title: '删除'
                        , id: 'del'
                    }]
                    , click: function (data, othis) {
                        //根据 id 做出不同操作
                        if (data.id === 'del') {
                            layer.confirm('真的删除行么', function (index) {
                                obj.del();
                                layer.close(index);
                            });
                        } else {
                            layer.msg('得到表格下拉菜单 id:' + data.id);
                        }
                    }
                    , align: 'right' //右对齐弹出(v2.6.8 新增)
                    , style: 'box-shadow: 1px 1px 10px rgb(0 0 0 / 12%);' //设置额外样式
                });
                break;
            case 'commandShow'://查看指令
                wrkNo = data.wrkNo;
                layer.open({
                    type: 2,
                    title: 'WMS任务指令',
                    maxmin: true,
                    area: [top.detailWidth, top.detailHeight],
                    shadeClose: true,
                    content: '../commandManage/commandManage.html',
                    success: function(layero, index){
                    }
                });
                break;
        }
@@ -351,7 +415,7 @@
    // 数据保存动作
    form.on('submit(save)', function () {
        if (banMsg != null){
        if (banMsg != null) {
            layer.msg(banMsg);
            return;
        }
@@ -363,9 +427,9 @@
        method("update")
    });
    function method(name){
    function method(name) {
        var index = layer.load(1, {
            shade: [0.5,'#000'] //0.1透明度的背景
            shade: [0.5, '#000'] //0.1透明度的背景
        });
        var data = {
            wrkNo: $('#wrkNo').val(),
@@ -426,20 +490,20 @@
        };
        $.ajax({
            url: baseUrl+"/wrkMast/"+name+"/auth",
            url: baseUrl + "/wrkMast/" + name + "/auth",
            headers: {'token': localStorage.getItem('token')},
            data: top.reObject(data),
            method: 'POST',
            success: function (res) {
                if (res.code === 200){
                if (res.code === 200) {
                    parent.layer.closeAll();
                    parent.$(".layui-laypage-btn")[0].click();
                    $("#data-detail :input").each(function () {
                        $(this).val("");
                    });
                } else if (res.code === 403){
                    top.location.href = baseUrl+"/";
                }else {
                } else if (res.code === 403) {
                    top.location.href = baseUrl + "/";
                } else {
                    layer.msg(res.msg)
                }
                layer.close(index);
@@ -523,12 +587,13 @@
    });
    layDate.render({
        elem: '.layui-laydate-range'
        ,type: 'datetime'
        ,range: true
        , type: 'datetime'
        , range: true
    });
    var pageCur;
    function locDetl(param){
    function locDetl(param) {
        $('#detlTable').css("display", 'block');
        // 数据渲染
        $('#wrkNo').val(param);
@@ -536,7 +601,7 @@
        tableIns1 = table.render({
            elem: '#wrkDetlByMap',
            headers: {token: localStorage.getItem('token')},
            url: baseUrl+'/wrkDetl/list/auth',
            url: baseUrl + '/wrkDetl/list/auth',
            where: {wrk_no: param},
            page: true,
            limit: 16,
@@ -546,22 +611,22 @@
            cellMinWidth: 50,
            cols: [[
                {type: 'checkbox'}
                ,{field: 'wrkNo', align: 'center',title: '工作号'}
                ,{field: 'ioTime$', align: 'center',title: '工作时间'}
                ,{field: 'matnr', align: 'center',title: '物料'}
                ,{field: 'lgnum', align: 'center',title: '仓库号'}
                ,{field: 'tbnum', align: 'center',title: '转储请求编号'}
                ,{field: 'tbpos', align: 'center',title: '行项目'}
                ,{field: 'zmatid', align: 'center',title: '物料标签ID'}
                ,{field: 'maktx', align: 'center',title: '物料描述'}
                ,{field: 'werks', align: 'center',title: '工厂'}
                ,{field: 'anfme', align: 'center',title: '数量'}
                ,{field: 'altme', align: 'center',title: '单位'}
                ,{field: 'zpallet', align: 'center',title: '托盘条码'}
                ,{field: 'bname', align: 'center',title: '用户ID'}
                ,{field: 'memo', align: 'center',title: '备注'}
                , {field: 'wrkNo', align: 'center', title: '工作号'}
                , {field: 'ioTime$', align: 'center', title: '工作时间'}
                , {field: 'matnr', align: 'center', title: '物料'}
                , {field: 'lgnum', align: 'center', title: '仓库号'}
                , {field: 'tbnum', align: 'center', title: '转储请求编号'}
                , {field: 'tbpos', align: 'center', title: '行项目'}
                , {field: 'zmatid', align: 'center', title: '物料标签ID'}
                , {field: 'maktx', align: 'center', title: '物料描述'}
                , {field: 'werks', align: 'center', title: '工厂'}
                , {field: 'anfme', align: 'center', title: '数量'}
                , {field: 'altme', align: 'center', title: '单位'}
                , {field: 'zpallet', align: 'center', title: '托盘条码'}
                , {field: 'bname', align: 'center', title: '用户ID'}
                , {field: 'memo', align: 'center', title: '备注'}
                ,{fixed: 'right', title:'操作', align: 'center', toolbar: '#operate', width:50}
                , {fixed: 'right', title: '操作', align: 'center', toolbar: '#operate', width: 50}
            ]],
            request: {
                pageName: 'curr',
@@ -578,16 +643,16 @@
            response: {
                statusCode: 200
            },
            done: function(res, curr, count) {
            done: function (res, curr, count) {
                if (res.code === 403) {
                    top.location.href = baseUrl+"/";
                    top.location.href = baseUrl + "/";
                }
                pageCur=curr;
                pageCur = curr;
                form.on('checkbox(tableCheckbox)', function (data) {
                    var _index = $(data.elem).attr('table-index')||0;
                    if(data.elem.checked){
                    var _index = $(data.elem).attr('table-index') || 0;
                    if (data.elem.checked) {
                        res.data[_index][data.value] = 'Y';
                    }else{
                    } else {
                        res.data[_index][data.value] = 'N';
                    }
                });