自动化立体仓库 - WMS系统
skyouc
2026-01-09 88fc713144a877a4257b4173fbfadafd926c94de
src/main/webapp/static/js/common.js
@@ -1,4 +1,4 @@
var baseUrl = "/lfdwms";
var baseUrl = "/wms";
// 详情窗口-高度
var detailHeight = '80%';
@@ -6,7 +6,7 @@
var detailWidth = '90%';
// 非空判断
function isEmpty(obj){
function isEmpty(obj) {
    return typeof obj == "undefined" || obj == null || obj === "";
}
@@ -34,7 +34,7 @@
        if (p < 10) {
            p = "00" + p;
        }
        if (p <  100) {
        if (p < 100) {
            p = "0" + p;
        }
        return y + "-" + M + "-" + d + " " + h + ":" + m + ":" + s + "," + p;
@@ -54,7 +54,7 @@
// 清理对象null值
function reObject(data) {
    for (var obj in data) {
        if (data[obj]===null){
        if (data[obj] === null) {
            delete data[obj];
        }
    }
@@ -71,26 +71,26 @@
}
// 权限
function limit(child){
    if (child == null){
function limit(child) {
    if (child == null) {
        child = false;
    }
    var param = (child?parent.window:window).location.href.split("?")[1];
    var param = (child ? parent.window : window).location.href.split("?")[1];
    if (null != param) {
        var resourceId = param.split("=")[1];
        $.ajax({
            url: baseUrl+"/power/menu/"+resourceId+"/auth",
            url: baseUrl + "/power/menu/" + resourceId + "/auth",
            headers: {'token': localStorage.getItem('token')},
            method: 'GET',
            async: false,
            success: function (res) {
                if (res.code === 200){
                    for(var i = 0, len = res.data.length; i < len; i++) {
                        (child?parent:window).$('#'+res.data[i].code).css("display", "inline-block");
                        (child?parent:window).$('.'+res.data[i].code).css("display", "inline-block");
                if (res.code === 200) {
                    for (var i = 0, len = res.data.length; i < len; i++) {
                        (child ? parent : window).$('#' + res.data[i].code).css("display", "inline-block");
                        (child ? parent : window).$('.' + res.data[i].code).css("display", "inline-block");
                    }
                } else if (res.code === 403){
                    top.location.href = baseUrl+"/";
                } else if (res.code === 403) {
                    top.location.href = baseUrl + "/";
                } else {
                    layer.msg(res.msg)
                }
@@ -103,7 +103,6 @@
// http请求
!function (n) {
    "use strict";
    var http = {
        toAjax: function (params) {
            $.ajax(params);
@@ -118,11 +117,11 @@
                timeout: 10000,
                cache: false,
                success: function (res) {
                    if (res.code === 200){
                    if (res.code === 200) {
                        callback(res);
                    } else if (res.code === 403){
                        top.location.href = baseUrl+"/";
                    }  else {
                    } else if (res.code === 403) {
                        top.location.href = baseUrl + "/";
                    } else {
                        layer.msg(res.msg);
                    }
                },
@@ -149,11 +148,11 @@
                timeout: 10000,
                cache: false,
                success: function (res) {
                    if (res.code === 200){
                    if (res.code === 200) {
                        callback(res);
                    } else if (res.code === 403){
                        top.location.href = baseUrl+"/";
                    }  else {
                    } else if (res.code === 403) {
                        top.location.href = baseUrl + "/";
                    } else {
                        layer.msg(res.msg);
                    }
                },
@@ -170,90 +169,179 @@
/*************************************************************************************************************/
/********************************************** 物料业务抽象 ***************************************************/
/*************************************************************************************************************/
function arrRemove(arr, key, val) {
    for(var i=arr.length-1; i>=0; i--){
        if(arr[i][key] === val){
            arr.splice(i,1);
    for (var i = arr.length - 1; i >= 0; i--) {
        if (arr[i][key] === val) {
            arr.splice(i, 1);
        }
    }
}
var matCols = [
    {field: 'matnr', align: 'center',title: '商品编号(品号)', width: 180}
    {field: 'matnr', align: 'center', title: '商品编号(品号)', width: 180}
    // {field: 'id', align: 'center',title: 'ID'}
    // ,{field: 'uuid', align: 'center',title: '编号'}
    // ,{field: 'tagId$', align: 'center',title: '所属归类'}
    ,{field: 'maktx', align: 'center',title: '商品名称(品名)', width: 200}
    // ,{field: 'name', align: 'center',title: '别名'}
    ,{field: 'specs', align: 'center',title: '规格'}
    ,{field: 'model', align: 'center',title: '代码', hide: true}
    ,{field: 'color', align: 'center',title: '颜色', hide: true}
    ,{field: 'brand', align: 'center',title: '品牌', hide: true}
    ,{field: 'unit', align: 'center',title: '单位', hide: false}
    ,{field: 'price', align: 'center',title: '单价', hide: true}
    ,{field: 'sku', align: 'center',title: 'sku', hide: true}
    ,{field: 'units', align: 'center',title: '单位量', hide: true}
    ,{field: 'barcode', align: 'center',title: '条码', hide: true}
    ,{field: 'origin', align: 'center',title: '产地', hide: true}
    ,{field: 'manu', align: 'center',title: '厂家', hide: true}
    ,{field: 'manuDate', align: 'center',title: '生产日期', hide: true}
    ,{field: 'itemNum', align: 'center',title: '品项数', hide: true}
    ,{field: 'safeQty', align: 'center',title: '安全库存量', hide: true}
    ,{field: 'weight', align: 'center',title: '单箱净重', hide: true}
    ,{field: 'length', align: 'center',title: '单箱毛重', hide: true}
    ,{field: 'volume', align: 'center',title: '单箱体积', hide: true}
    ,{field: 'threeCode', align: 'center',title: '箱子尺寸', hide: true}
    ,{field: 'supp', align: 'center',title: '供应商', hide: true}
    ,{field: 'suppCode', align: 'center',title: '供应商编码', hide: true}
    ,{field: 'beBatch$', align: 'center',title: '是否批次', hide: true}
    ,{field: 'deadTime', align: 'center',title: '保质期', hide: true}
    ,{field: 'deadWarn', align: 'center',title: '预警天数', hide: true}
    ,{field: 'source$', align: 'center',title: '制购', hide: true}
    ,{field: 'check$', align: 'center',title: '要求检验', hide: true}
    ,{field: 'danger$', align: 'center',title: '危险品', hide: true}
    , {field: 'maktx', align: 'center', title: '商品名称(品名)', width: 200}
    , {field: 'specs', align: 'center', title: '规格'}
    , {
        field: 'safeQty', align: 'center', title: '归零阀值', templet: function (d) {
            var raw = d.safeQty;
            if (raw === null || raw === undefined) return '';
            if (typeof raw === 'string' && raw.trim() === '') return '';
            var num = Number(raw);
            if (!isFinite(num)) return '';
            return num.toFixed(2);
        }
    }
    , {field: 'model', align: 'center', title: '代码', hide: true}
    , {field: 'color', align: 'center', title: '颜色', hide: true}
    , {field: 'brand', align: 'center', title: '品牌', hide: true}
    , {field: 'upQty', align: 'center', title: '组托上限', hide: true}
    , {field: 'unit', align: 'center', title: '单位', hide: false}
    , {field: 'price', align: 'center', title: '单价', hide: true}
    , {field: 'sku', align: 'center', title: 'sku', hide: true}
    , {field: 'units', align: 'center', title: '单位量', hide: true}
    , {field: 'barcode', align: 'center', title: '条码', hide: true}
    , {field: 'origin', align: 'center', title: '产地', hide: true}
    , {field: 'manu', align: 'center', title: '厂家', hide: true}
    , {field: 'manuDate', align: 'center', title: '生产日期', hide: true}
    , {field: 'itemNum', align: 'center', title: '品项数', hide: true}
    , {field: 'weight', align: 'center', title: '单箱净重', hide: true}
    , {field: 'length', align: 'center', title: '单箱毛重', hide: true}
    , {
        field: 'volume', align: 'center', title: 'kg/cm', templet: function (d) {
            var raw = d.volume;
            if (raw === null || raw === undefined) return '';
            if (typeof raw === 'string' && raw.trim() === '') return '';
            var num = Number(raw);
            if (!isFinite(num)) return '';
            return num.toFixed(2);
        }
    }
    , {field: 'threeCode', align: 'center', title: '箱子尺寸', hide: true}
    , {field: 'supp', align: 'center', title: '供应商', hide: true}
    , {field: 'suppCode', align: 'center', title: '供应商编码', hide: true}
    , {field: 'beBatch$', align: 'center', title: '是否批次', hide: true}
    , {field: 'deadTime', align: 'center', title: '保质期', hide: true}
    , {field: 'deadWarn', align: 'center', title: '预警天数', hide: true}
    , {field: 'source$', align: 'center', title: '制购', hide: true}
    , {field: 'check$', align: 'center', title: '要求检验', hide: true}
    , {field: 'danger$', align: 'center', title: '危险品', hide: true}
    // ,{field: 'status$', align: 'center',title: '状态'}
    // ,{field: 'createBy$', align: 'center',title: '添加人员'}
    // ,{field: 'createTime$', align: 'center',title: '添加时间'}
    ,{field: 'updateBy$', align: 'center',title: '修改人员', hide: true}
    ,{field: 'updateTime$', align: 'center',title: '修改时间', hide: true}
    ,{field: 'memo', align: 'center',title: '备注', hide: true}
    , {field: 'updateBy$', align: 'center', title: '修改人员', hide: true}
    , {field: 'updateTime$', align: 'center', title: '修改时间', hide: true}
    , {field: 'memo', align: 'center', title: '备注', hide: true}
]
var cacheCols = [
    {field: 'matnr', align: 'center', title: '商品编号(品号)', sort: true}
    , {field: 'maktx', align: 'center', title: '商品名称(品名)', sort: true}
    , {field: 'anfme', align: 'center', title: '数量', hide: false}
    , {field: 'specs', align: 'center', title: '规格', hide: false}
    , {field: 'model', align: 'center', title: '代码', hide: true}
    , {field: 'color', align: 'center', title: '颜色', hide: true}
    , {field: 'brand', align: 'center', title: '品牌', hide: true}
    , {field: 'unit', align: 'center', title: '单位', hide: false}
    , {field: 'batch', align: 'center', title: '货品特征', sort: true}
    , {
        field: 'frozen$', align: 'center', title: '冻结否', hide: true,
        templet: function (d) {
            // 根据条件判断字体颜色
            if (d.frozen$ === '已冻结') {
                return '<span style="color: #34a8de;">' + d.frozen$ + '</span>';
            } else {
                return '<span">' + d.frozen$ + '</span>';
            }
        }
    }
]
var detlCols = [
    {field: 'matnr', align: 'center',title: '商品编号(品号)', sort:true}
    ,{field: 'maktx', align: 'center',title: '商品名称(品名)', sort:true}
    ,{field: 'orderNo', align: 'center',title: '单据编号', hide: false}
    ,{field: 'batch', align: 'center',title: '货品特征', sort:true}
    ,{field: 'anfme', align: 'center',title: '数量', hide: false}
    ,{field: 'zpallet', align: 'center',title: '托盘条码', hide: false}
    ,{field: 'specs', align: 'center',title: '规格', hide: false}
    ,{field: 'model', align: 'center',title: '代码', hide: true}
    ,{field: 'color', align: 'center',title: '颜色', hide: true}
    ,{field: 'brand', align: 'center',title: '品牌', hide: true}
    ,{field: 'unit', align: 'center',title: '单位', hide: false}
    ,{field: 'price', align: 'center',title: '单价', hide: true}
    ,{field: 'sku', align: 'center',title: 'sku', hide: true}
    ,{field: 'units', align: 'center',title: '单位量', hide: true}
    ,{field: 'barcode', align: 'center',title: '条码', hide: true}
    ,{field: 'origin', align: 'center',title: '产地', hide: true}
    ,{field: 'manu', align: 'center',title: '厂家', hide: true}
    ,{field: 'manuDate', align: 'center',title: '生产日期', hide: true}
    ,{field: 'itemNum', align: 'center',title: '品项数', hide: true}
    ,{field: 'safeQty', align: 'center',title: '安全库存量', hide: true}
    ,{field: 'weight', align: 'center',title: '单箱净重', hide: true}
    ,{field: 'length', align: 'center',title: '单箱毛重', hide: true}
    ,{field: 'volume', align: 'center',title: '单箱体积', hide: true}
    ,{field: 'threeCode', align: 'center',title: '箱子尺寸', hide: true}
    ,{field: 'supp', align: 'center',title: '供应商', hide: true}
    ,{field: 'suppCode', align: 'center',title: '供应商编码', hide: true}
    ,{field: 'beBatch$', align: 'center',title: '是否批次', hide: true}
    ,{field: 'deadTime', align: 'center',title: '保质期', hide: true}
    ,{field: 'deadWarn', align: 'center',title: '预警天数', hide: true}
    ,{field: 'source$', align: 'center',title: '制购', hide: true}
    ,{field: 'check$', align: 'center',title: '要求检验', hide: true}
    ,{field: 'danger$', align: 'center',title: '危险品', hide: true}
    {field: 'matnr', align: 'center', title: '商品编号(品号)', sort: true}
    , {field: 'maktx', align: 'center', title: '商品名称(品名)', sort: true}
    , {field: 'orderNo', align: 'center', title: '单据编号', hide: false}
    , {field: 'batch', align: 'center', title: '货品特征', sort: true}
    , {
        field: 'anfme', align: 'center', title: '数量', hide: false, templet: function (d) {
            var raw = d.anfme;
            if (raw === null || raw === undefined) return '';
            if (typeof raw === 'string' && raw.trim() === '') return '';
            var num = Number(raw);
            if (!isFinite(num)) return '';
            return num.toFixed(2);
        }
    }
    , {field: 'zpallet', align: 'center', title: '托盘条码', hide: false}
    , {field: 'specs', align: 'center', title: '规格', hide: false}
    , {
        field: 'safeQty', align: 'center', title: '归零阀值', hide: false, templet: function (d) {
            var raw = d.safeQty;
            if (raw === null || raw === undefined) return '';
            if (typeof raw === 'string' && raw.trim() === '') return '';
            var num = Number(raw);
            if (!isFinite(num)) return '';
            return num.toFixed(2);
        }
    }
    , {
        field: 'volume', align: 'center', title: 'km/cm', hide: false, templet: function (d) {
            var raw = d.volume;
            if (raw === null || raw === undefined) return '';
            if (typeof raw === 'string' && raw.trim() === '') return '';
            var num = Number(raw);
            if (!isFinite(num)) return '';
            return num.toFixed(2);
        }
    }
    , {field: 'model', align: 'center', title: '代码', hide: true}
    , {field: 'color', align: 'center', title: '颜色', hide: true}
    , {field: 'brand', align: 'center', title: '品牌', hide: true}
    , {field: 'unit', align: 'center', title: '单位', hide: false}
    , {field: 'price', align: 'center', title: '单价', hide: true}
    , {field: 'sku', align: 'center', title: 'sku', hide: true}
    , {field: 'units', align: 'center', title: '单位量', hide: true}
    , {field: 'barcode', align: 'center', title: '条码', hide: true}
    , {field: 'origin', align: 'center', title: '产地', hide: true}
    , {field: 'manu', align: 'center', title: '厂家', hide: true}
    , {field: 'manuDate', align: 'center', title: '生产日期', hide: true}
    , {field: 'itemNum', align: 'center', title: '品项数', hide: true}
    , {field: 'weight', align: 'center', title: '单箱净重', hide: true}
    , {field: 'length', align: 'center', title: '单箱毛重', hide: true}
    , {field: 'threeCode', align: 'center', title: '箱子尺寸', hide: true}
    , {field: 'supp', align: 'center', title: '供应商', hide: true}
    , {field: 'suppCode', align: 'center', title: '供应商编码', hide: true}
    , {field: 'beBatch$', align: 'center', title: '是否批次', hide: true}
    , {field: 'deadTime', align: 'center', title: '保质期', hide: true}
    , {field: 'deadWarn', align: 'center', title: '预警天数', hide: true}
    , {field: 'source$', align: 'center', title: '制购', hide: true}
    , {field: 'check$', align: 'center', title: '要求检验', hide: true}
    , {field: 'danger$', align: 'center', title: '危险品', hide: true}
    , {
        field: 'frozen$', align: 'center', title: '冻结否', hide: true,
        templet: function (d) {
            // 根据条件判断字体颜色
            if (d.frozen$ === '已冻结') {
                return '<span style="color: #34a8de;">' + d.frozen$ + '</span>';
            } else {
                return '<span">' + d.frozen$ + '</span>';
            }
        }
    }
]
function getQueryVariable(variable) {
    var query = window.location.search.substring(1);
    var vars = query.split("&");
    for (var i = 0; i < vars.length; i++) {
        var pair = vars[i].split("=");
        if (pair[0] == variable) {
            return pair[1];
        }
    }
    return (false);
}