自动化立体仓库 - WMS系统
pang.jiabao
2025-02-21 e28269e80c3d8cdd4b77566263f684532436b489
src/main/webapp/static/js/picking/picking.js
@@ -2,6 +2,8 @@
var printMatCodeNos = [];
var ordernoo = "123";
var insTbCount = 0;
var selectedData = [];
var selectType = 'one';
layui.config({
    base: baseUrl + "/static/layui/lay/modules/"
}).use(['table','laydate', 'form', 'admin', 'layer'], function(){
@@ -27,11 +29,11 @@
        limit: 15,
        limits: [15, 30, 50, 100, 200, 500],
        // toolbar: '#toolbar',
        cellMinWidth: 50,
        // cellMinWidth: 50,
        height: 'full-120',
        cols: [[
            // {type: 'checkbox'}
            {type: 'numbers'}
            {type: 'checkbox'}
            ,{type: 'numbers', title: '序号'}
            ,{field: 'wrkNo', align: 'center',title: 'id', hide:true}
            ,{field: 'doc_num',title: '拣货单号' }
            ,{align: 'center', title: '二维码', toolbar: '#operate', width: 200 , hide:true}
@@ -40,7 +42,7 @@
            ,{field: 'custName', align: 'center',title: '客户名称', width: 160}
            ,{field: 'createTime$', align: 'center',title: '创建时间'}
            ,{field: 'updateTime$', align: 'center',title: '出库时间'}
            ,{align: 'center', title: '操作', toolbar: '#operate'}
            ,{align: 'center', title: '操作', toolbar: '#operate',width: 300}
        ]],
        request: {
@@ -48,7 +50,6 @@
            pageSize: 'limit'
        },
        parseData: function (res) {
            console.log(res);
            return {
                'code': res.code,
                'msg': res.msg,
@@ -72,6 +73,19 @@
                if ($(this).text() === '未出库') {
                    $('tr').eq(index).css("color", 'red');
                }
            });
            // 重新勾选
            var selectedOrderNos = selectedData.map(item => item.doc_num);
            var indexArr = []
            res.data.forEach(function (item,index) {
                if (selectedOrderNos.includes(item.doc_num)) {
                    indexArr.push(index)
                }
            })
            table.setRowChecked('saasLog',{
                index: indexArr
            });
        }
    });
@@ -233,13 +247,74 @@
        tableReload(false);
    });
    // 复选框勾选事件
    table.on('checkbox(saasLog)', function (obj) {
        if (obj.type === 'all' && obj.checked) {
            selectType = 'all'
        } else if (obj.type === 'one' && obj.checked) {
            selectType = 'one'
            selectedData.push(obj.data); // 选中时保存数据
        } else if (obj.type === 'one' && !obj.checked && obj.index !== undefined) {
            selectType = 'one'
            selectedData = selectedData.filter(item => item.doc_num !== obj.data.doc_num); // 取消时移除数据
        } else if (obj.type === 'all' && !obj.checked && obj.index === undefined) {
            selectType = 'one'
            selectedData = [];
        }
    });
    // 重置
    form.on('submit(reset)', function (data) {
        pageCurr = 1;
        selectedData = []
        selectType = 'one'
        clearFormVal($('#search-box'));
        tableReload(false);
    });
    // 导出
    form.on('submit(exportExcel)', function (data) {
        layer.confirm('确定导出Excel吗', {shadeClose: true}, function () {
            layer.closeAll();
            layer.load(1, {shade: [0.1, '#fff']});
            var reqData = {};
            reqData.type = selectType;
            if (reqData.type === 'one') {
                if (selectedData.length === 0) {
                    layer.msg('请先勾选数据')
                    layer.closeAll('loading');
                    return
                }
                reqData.docNumList = selectedData.map(item => item.doc_num);
            } else {
                var searchData = {};
                $.each($('#search-box [name]').serializeArray(), function() {
                    searchData[this.name] = this.value;
                });
                reqData.queryWhere = searchData
            }
            $.ajax({
                url: baseUrl + "/pakOut/excelExport3/auth",
                headers: {'token': localStorage.getItem('token')},
                data: JSON.stringify(reqData),
                contentType: 'application/json;charset=UTF-8',
                method: 'POST',
                xhrFields: {
                    responseType: 'blob'  // 处理返回的文件流
                },
                success: function (res) {
                    var link = document.createElement('a');
                    link.href = URL.createObjectURL(res);  // 使用 Blob 对象生成临时 URL
                    link.download = new Date().getTime() + '.xlsx';  // 设置下载的文件名
                    document.body.appendChild(link);
                    link.click();  // 触发下载
                    document.body.removeChild(link);
                }
            });
            layer.closeAll('loading');
        });
    });
    // 时间选择器
    function layDateRender(data) {
        setTimeout(function () {