自动化立体仓库 - WMS系统
pang.jiabao
2025-04-15 7317c0c6f3e88ff9476c16e473391e8b8cb2c3ee
src/main/webapp/static/js/pla/plaDetl.js
@@ -17,12 +17,10 @@
        ,{field: 'pakinTime$', title: '入库时间', align: 'center' , sort:true}
        ,{field: 'matnr', align: 'center',title: '存货编码',hide:true,edit:true}
        ,{field: 'brand', align: 'center',title: '牌号',edit:true}
        ,{field: 'batch', align: 'center',title: '批号',edit:true, width: 150, sort:true}
        ,{field: 'batch', align: 'center',title: '批号',edit:true, sort:true}
        ,{field: 'packageNo', align: 'center',title: '包装号',edit:true, sort:true}
        ,{field: 'proDate', align: 'center',title: '生产日期',edit:true, width: 100}
        ,{field: 'weight', align: 'center',title: '重量KG',edit:true,totalRow:true}
        ,{field: 'packageType', align: 'center',title: '包装类型',edit:true}
        ,{field: 'zpalletType', align: 'center',title: '托盘类型',edit:true}
        ,{field: 'filmWrap', align: 'center',title: '缠膜',edit:true,hide:true}
        ,{field: 'fingerMelting', align: 'center',title: '熔指,g/10min',edit:true}
        ,{field: 'water', align: 'center',title: '水分,ppm', hide:true,edit:true}
@@ -41,6 +39,8 @@
        ,{field: 'str4', align: 'center',title: '维卡,℃',hide:true,edit:true}
        ,{field: 'str5', align: 'center',title: '半结晶时间,min',hide:true,edit:true}
        ,{field: 'str6', align: 'center',title: '结晶度,%',hide:true,edit:true}
        ,{field: 'packageType', align: 'center',title: '包装类型',edit:true}
        ,{field: 'zpalletType', align: 'center',title: '托盘类型',edit:true}
        ,{field: 'massState', align: 'center',title: '质量状态',edit:true}
        ,{field: 'problem', align: 'center',title: '备注',edit:true,hide:true}
        ,{field: 'direction', align: 'center',title: '应用方向',edit:true,hide:true}
@@ -53,18 +53,23 @@
        ,{field: 'workshop', align: 'center',title: '生产车间',hide:true,edit:true}
        ,{field: 'line', align: 'center',title: '生产线',hide:true,edit:true}
        ,{field: 'weightAnfme', align: 'center',title: '剩余重量(KG)',edit:true,totalRow:true}
        ,{field: 'qtyAnfme', align: 'center',title: '待出库重量(KG)',hide:true}
        ,{field: 'qtyAnfme', align: 'center',title: '待出库重量(KG)',hide:true,edit:true}
        ,{field: 'status', align: 'center',title: '状态', templet: setState ,edit:true}
        ,{field: 'stockFreeze', align: 'center',title: '库存冻结', templet: '#stockFreezeTpl'}
        ,{field: 'stockFreezeBy', align: 'center',title: '操作人员',hide:true}
        ,{field: 'stockFreezeDate$', align: 'center',title: '操作日期',hide:true}
        ,{align: 'center', title: '流转明细', toolbar: '#tbLook'}
        ,{field: 'createTime$', title: '创建时间', align: 'center' , sort:true}
        ,{field: 'createTime$', title: '创建时间', align: 'center' , sort:true,hide:true}
        ,{field: 'newBrand', align: 'center',title: '关联牌号',edit:true,hide:true}
        ,{field: 'newBatch', align: 'center',title: '关联批号',edit:true, width: 150, sort:true,hide:true}
        ,{field: 'newPackageNo', align: 'center',title: '关联包装号',edit:true, sort:true,hide:true}
        // ,{field: 'orderNo', align: 'center',title: '单号', hide:true}
        // ,{field: 'pakoutTime', align: 'center',title: '出库时间', hide:true}
        // ,{field: 'orderWeight', align: 'center',title: '重量', hide:true}
        // ,{field: 'handlerBy', align: 'center',title: '经办人', hide:true}
        // ,{field: 'transfer', align: 'center',title: '流转形式', hide:true}
        ,{field: 'transfer', align: 'center',title: '退货标识', hide:true}
        ,{field: 'modifyUser', align: 'center',title: '退货人', hide:true}
        ,{field: 'createUser', align: 'center',title: '退货备注', hide:true}
        // ,{field: 'customer', align: 'center',title: '客户名称', hide:true}
        // ,{field: 'allocate', align: 'center',title: '调拨到', hide:true}
        // ,{field: 'memo', align: 'center',title: '备注', hide:true}
@@ -90,7 +95,8 @@
layui.config({
    base: baseUrl + "/static/layui/lay/modules/"
}).use(['table','laydate', 'form', 'admin', 'dropdown'], function() {
}).use(['table','laydate', 'form', 'admin', 'xmSelect', 'dropdown'], function() {
    var dropdown = layui.dropdown;
    var table = layui.table;
    var $ = layui.jquery;
    var layer = layui.layer;
@@ -119,8 +125,8 @@
            return $(window).height() - otherHeight - 100; // 返回 number 类型
        },
        //height: 'full',
        limit: 16,
        limits: [16, 50, 100, 200, 500,2000,5000,10000],
        limit: 500,
        limits: [16, 50, 100, 200, 500,],
        even: true,
        toolbar: '#toolbar',
        cellMinWidth: 50,
@@ -136,12 +142,18 @@
            });
            return arr;
        }() ],
        where:{
            type: function() {
                const tabPosition = JSON.parse(sessionStorage.getItem('easyweb-iframe_tempData')).tabPosition
                return tabPosition.match(/\d+$/)[0] === '90646' ? '改性树脂' :
                    (tabPosition.match(/\d+$/)[0] === '90657' ? '纯树脂' : '')
                 }
            },
        request: {
            pageName: 'curr',
            pageSize: 'limit'
        },
        parseData: function (res) {
            console.log(res)
            return {
                'code': res.code,
                'msg': res.msg,
@@ -191,6 +203,36 @@
            });
        }
    });
    // 渲染物料选择
    var matXmSelect = xmSelect.render({
        el: '#mat',
        style: {
            width: '270px',
        },
        autoRow: true,
        toolbar: { show: true },
        filterable: true,
        remoteSearch: true,
        remoteMethod: function(val, cb, show){
            $.ajax({
                url: baseUrl+"/pla/batch/all/get/kv",
                headers: {'token': localStorage.getItem('token')},
                data: {
                    condition: val
                },
                method: 'POST',
                success: function (res) {
                    if (res.code === 200){
                        cb(res.data)
                    } else {
                        cb([]);
                        layer.msg(res.msg, {icon: 2});
                    }
                }
            });
        }
    })
    // 复选框事件
    table.on('checkbox(plaDetl)', function(obj){
@@ -242,6 +284,7 @@
                        headers: {token: localStorage.getItem('token')},
                        url: baseUrl+'/plaQty/list/auth',
                        where: {
                            brand: data.brand,
                            batch: data.batch,
                            package_no: data.packageNo
                        },
@@ -466,9 +509,9 @@
        layer.closeAll();
        for (let i=0;i<printData.data.length;i++){
            if (className === 'template-barcode') {
                printData.data[i]["barcodeUrl"]=baseUrl+"/mac/code/auth?type=1&param="+(printData.data[i].batch+";"+printData.data[i].packageNo+";"+printData.data[i].line)
                printData.data[i]["barcodeUrl"]=baseUrl+"/mac/code/auth?type=1&param="+(printData.data[i].brand+";"+printData.data[i].batch+";"+printData.data[i].packageNo+";"+printData.data[i].line)
            } else {
                printData.data[i]["barcodeUrl"]=baseUrl+"/mac/code/auth?type=2&param="+(printData.data[i].batch+";"+printData.data[i].packageNo+";"+printData.data[i].line)
                printData.data[i]["barcodeUrl"]=baseUrl+"/mac/code/auth?type=2&param="+(printData.data[i].brand+";"+printData.data[i].batch+";"+printData.data[i].packageNo+";"+printData.data[i].line)
            }
        }
        var tpl = templateDom.html();
@@ -519,8 +562,11 @@
        tableReload(false);
    });
    // 用来标识搜索重置时,改性树脂和纯树脂从点击事件传过来名称,进行物质类别限定
    let customValue = undefined
    // 重置事件
    form.on('submit(reset)', function (data) {
        customValue = $(this).attr('data-value');
        reset();
    });
@@ -528,7 +574,8 @@
        clearFormVal($('#search-box'));
        matCodeData = [];
        tableReload();
        locTips(false);
        // locTips(false);
    }
    // 重载表格
@@ -541,6 +588,13 @@
        $.each($('#search-box [name]').serializeArray(), function() {
            searchData[this.name] = this.value;
        });
        if(customValue !== undefined){
            searchData['type'] = customValue
        }
        if(searchData.select){
            searchData.batch = searchData.select;
            searchData.select = null;
        }
        (child ? parent.tableIns : tableIns).reload({
            where: searchData,
            page: {
@@ -726,7 +780,7 @@
        for(var i=0; i<data.length; i++){
            if(data[i].LAY_CHECKED){
                if(data[i].status === "暂入库" || data[i].status === "待入库" || data[i].status === "全部出库"|| data[i].weightAnfme <= data[i].qtyAnfme){
                if(data[i].status === "暂入库" || data[i].status === "待入库" || data[i].status === "全部出库"|| data[i].weightAnfme < data[i].qtyAnfme){
                    layer.msg("选中的明细还未入库或者已全部出库或者没有剩余可出重量,请重新选择");
                    return;
                }
@@ -737,10 +791,15 @@
                    layer.msg("选中的明细中含有多种牌号,请重新选择");
                    return;
                }
                if(data[i].stockFreeze === 0){
                    layer.msg("选中的明细中含有冻结的库存,请解冻后操作");
                //if (data[i].zpalletType == null && data[i].packageType == null && data[i].massState == null) {
                if (typeof data[i].massState === 'undefined' || data[i].massState === null || data[i].massState.trim().length === 0){
                    layer.msg("质量指标未上传");
                    return;
                }
                // if(data[i].stockFreeze === 0){
                //     layer.msg("选中的明细中含有冻结的库存,请解冻后操作");
                //     return;
                // }
                dataSave.push(data[i]);
            }else {
                dataOld.push(data[i]);