自动化立体仓库 - WMS系统
#
Junjie
2 天以前 b9dc5699e4e999bd8f40ef1025791d9e18a074f4
src/main/webapp/static/js/common.js
@@ -1,4 +1,4 @@
var baseUrl = "/lfdwms";
var baseUrl = "/jshdasrs";
// 详情窗口-高度
var detailHeight = '80%';
@@ -181,38 +181,43 @@
}
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: '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: 'specs', align: 'center',title: '规格', hide: true}
    // ,{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: true}
    // ,{field: 'price', align: 'center',title: '单价', hide: true}
    ,{field: 'standby2', align: 'center',title: '条码upc', hide: true}
    ,{field: 'units', align: 'center',title: '单箱毛重kg', hide: false}
    ,{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: '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: '单箱净重kg', hide: false}
    ,{field: 'manLength', align: 'center',title: '长(毫米)', hide: false}
    ,{field: 'width', align: 'center',title: '宽(毫米)', hide: false}
    ,{field: 'height', align: 'center',title: '高(毫米)', hide: false}
    // ,{field: 'length', align: 'center',title: '单箱毛重', hide: true}
    // ,{field: 'volume', align: 'center',title: '单箱体积', hide: false}
    // ,{field: 'threeCode', align: 'center',title: '箱子尺寸', hide: true}
    ,{field: 'standby1', align: 'center',title: '客户po', 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: '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: '添加时间'}
@@ -222,38 +227,112 @@
]
var detlCols = [
    {field: 'matnr', align: 'center',title: '商品编号(品号)', sort:true}
    ,{field: 'maktx', align: 'center',title: '商品名称(品名)', sort: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: 'batch', align: 'center',title: '货品特征', sort:true,hide: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: 'boxType3', 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: true}
    // ,{field: 'price', align: 'center',title: '单价', hide: true}
    ,{field: 'standby2', align: 'center',title: '条码upc', hide: false}
    ,{field: 'units', align: 'center',title: '单箱毛重kg', 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: 'safeQty', align: 'center',title: '总件数', hide: true}
    ,{field: 'weight', align: 'center',title: '单箱净重kg', hide: false}
    // ,{field: 'manLength', align: 'center',title: '长(毫米)', hide: false}
    // ,{field: 'width', align: 'center',title: '宽(毫米)', hide: false}
    // ,{field: 'height', align: 'center',title: '高(毫米)', hide: false}
    // ,{field: 'threeCode', align: 'center',title: '箱子尺寸', hide: true}
    ,{field: 'standby1', align: 'center',title: '客户po', hide: false}
    ,{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: '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>';
    //         }
    //     }}
    ,{field: 'memo', align: 'center',title: '备注', hide: false}
]
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);
}
/**
 * 获取AI助手SVG图标HTML
 * @param {number} width 宽度,默认48
 * @param {number} height 高度,默认48
 * @returns {string} SVG HTML字符串
 */
function getAiIconHtml(width, height) {
    width = width || 48;
    height = height || 48;
    // 生成唯一ID防止冲突
    var uniqueId = 'ai_icon_' + Math.random().toString(36).substr(2, 9);
    var textGradientId = 'textGradient_' + uniqueId;
    var glowId = 'glow_' + uniqueId;
    var spinName = 'spin_' + uniqueId;
    return '<svg width="' + width + '" height="' + height + '" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" fill="none">' +
        '<defs>' +
        '<linearGradient id="' + textGradientId + '" gradientUnits="userSpaceOnUse" x1="25" y1="50" x2="75" y2="50">' +
        '<stop offset="0%"   stop-color="#8b5cf6"/>' +
        '<stop offset="20%"  stop-color="#f472b6"/>' +
        '<stop offset="40%"  stop-color="#fb923c"/>' +
        '<stop offset="60%"  stop-color="#fbbf24"/>' +
        '<stop offset="80%"  stop-color="#22d3ee"/>' +
        '<stop offset="100%" stop-color="#3b82f6"/>' +
        '<animateTransform attributeName="gradientTransform" type="rotate" from="0 50 50" to="360 50 50" dur="5s" repeatCount="indefinite" />' +
        '</linearGradient>' +
        '<filter id="' + glowId + '" x="-50%" y="-50%" width="200%" height="200%">' +
        '<feGaussianBlur stdDeviation="1.6" result="blur"/>' +
        '<feMerge>' +
        '<feMergeNode in="blur"/>' +
        '<feMergeNode in="SourceGraphic"/>' +
        '</feMerge>' +
        '</filter>' +
        '<style>' +
        '.' + spinName + ' { animation: ' + spinName + ' 5s linear infinite; transform-origin: 50px 50px; }' +
        '@keyframes ' + spinName + ' { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }' +
        '.geo-text-' + uniqueId + ' { fill: url(#' + textGradientId + '); stroke: rgba(0,0,0,0.40); stroke-width: 0.45; paint-order: stroke fill; }' +
        '</style>' +
        '</defs>' +
        '<g class="' + spinName + '" filter="url(#' + glowId + ')">' +
        '<g transform="rotate(0 50 50)"><rect x="48" y="18" width="4.5" height="10" rx="2" fill="#8b5cf6"/></g>' +
        '<g transform="rotate(60 50 50)"><rect x="48" y="18" width="4.5" height="10" rx="2" fill="#f472b6"/></g>' +
        '<g transform="rotate(120 50 50)"><rect x="48" y="18" width="4.5" height="10" rx="2" fill="#fb923c"/></g>' +
        '<g transform="rotate(180 50 50)"><rect x="48" y="18" width="4.5" height="10" rx="2" fill="#fbbf24"/></g>' +
        '<g transform="rotate(240 50 50)"><rect x="48" y="18" width="4.5" height="10" rx="2" fill="#22d3ee"/></g>' +
        '<g transform="rotate(300 50 50)"><rect x="48" y="18" width="4.5" height="10" rx="2" fill="#3b82f6"/></g>' +
        '</g>' +
        '<g transform="translate(50 50) scale(0.35) translate(-32.5 -20)" class="geo-text-' + uniqueId + '">' +
        '<path d="M0 40 L20 0 L40 40 Z"/><rect x="12" y="22" width="16" height="4" rx="1"/>' +
        '<rect x="50" y="0"  width="15" height="4" rx="1"/><rect x="55" y="4"  width="5"  height="32" rx="1.5"/><rect x="50" y="36" width="15" height="4" rx="1"/>' +
        '</g>' +
        '</svg>';
}