// var baseUrl = "/crm"; 
 | 
var baseUrl = ""; 
 | 
  
 | 
// 详情窗口-高度 
 | 
var detailHeight = '80%'; 
 | 
// 详情窗口-宽度 
 | 
var detailWidth = '90%'; 
 | 
  
 | 
// layui.config({ 
 | 
//     // defaultTheme: 'theme-colorful', // 默认主题 
 | 
//     // version: true,                  // 加载模块不缓存 
 | 
//     maxTabNum: 30,                  // 最大打开的Tab数量 
 | 
//     base: baseUrl + "/static/layui/lay/modules/" 
 | 
// }).use(['admin'], function() { 
 | 
//     var $ = layui.jquery; 
 | 
//     var layer = layui.layer; 
 | 
//     var admin = layui.admin; 
 | 
// 
 | 
// }); 
 | 
  
 | 
// 非空判断 
 | 
function isEmpty(obj){ 
 | 
    return typeof obj == "undefined" || obj == null || obj === ""; 
 | 
} 
 | 
  
 | 
function emptyShow(d) { 
 | 
    return isEmpty(d)?"--":d; 
 | 
} 
 | 
  
 | 
function eq(o1, o2) { 
 | 
    if (!isEmpty(o1) && !isEmpty(o2)) { 
 | 
        return o1===o2; 
 | 
    } 
 | 
    if (isEmpty(o1) && isEmpty(o2)) { 
 | 
        return true; 
 | 
    } 
 | 
    return o1 === o2; 
 | 
} 
 | 
  
 | 
// 时间 ==>> 字符串 
 | 
function dateToStr(date) { 
 | 
    var time = new Date(date); 
 | 
    var y = time.getFullYear(); 
 | 
    var M = time.getMonth() + 1; 
 | 
    M = M < 10 ? ("0" + M) : M; 
 | 
    var d = time.getDate(); 
 | 
    d = d < 10 ? ("0" + d) : d; 
 | 
    var h = time.getHours(); 
 | 
    h = h < 10 ? ("0" + h) : h; 
 | 
    var m = time.getMinutes(); 
 | 
    m = m < 10 ? ("0" + m) : m; 
 | 
    var s = time.getSeconds(); 
 | 
    s = s < 10 ? ("0" + s) : s; 
 | 
    return y + "-" + M + "-" + d + " " + h + ":" + m + ":" + s; 
 | 
} 
 | 
  
 | 
// 字符串 ===>> 时间 
 | 
function strToDate(str) { 
 | 
    var t = Date.parse(str); 
 | 
    if (!isNaN(t)) { 
 | 
        return new Date(Date.parse(str.replace(/-/g, "/"))); 
 | 
    } else { 
 | 
        return null; 
 | 
    } 
 | 
} 
 | 
  
 | 
// 清理对象null值 
 | 
function reObject(data) { 
 | 
    for (var obj in data) { 
 | 
        if (data[obj]===null){ 
 | 
            delete data[obj]; 
 | 
        } 
 | 
    } 
 | 
    return data; 
 | 
} 
 | 
  
 | 
/** 
 | 
 * disabled 属性转换 
 | 
 */ 
 | 
function convertDisabled(el, param) { 
 | 
    el.each(function () { 
 | 
        $(this).attr("disabled", param); 
 | 
    }); 
 | 
} 
 | 
  
 | 
// 清除表单 
 | 
function clearFormVal(el) { 
 | 
    $(':input', el) 
 | 
        .val('') 
 | 
        .removeAttr('checked') 
 | 
        .removeAttr('selected'); 
 | 
} 
 | 
  
 | 
// url键值对 
 | 
function urlParam(key) { 
 | 
    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] === key){ 
 | 
            return pair[1]; 
 | 
        } 
 | 
    } 
 | 
    return false; 
 | 
} 
 | 
  
 | 
// 权限 
 | 
function limit(child){ 
 | 
    if (child == null){ 
 | 
        child = false; 
 | 
    } 
 | 
    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", 
 | 
            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"); 
 | 
                    } 
 | 
                } else if (res.code === 403){ 
 | 
                    top.location.href = baseUrl+"/"; 
 | 
                } else { 
 | 
                    layer.msg(res.msg) 
 | 
                } 
 | 
            } 
 | 
        }); 
 | 
    } 
 | 
} 
 | 
  
 | 
  
 | 
// http请求 
 | 
!function (n) { 
 | 
    "use strict"; 
 | 
  
 | 
    var http = { 
 | 
        toAjax: function (params) { 
 | 
            $.ajax(params); 
 | 
        }, 
 | 
        get: function (url, data, callback) { 
 | 
            http.toAjax({ 
 | 
                method: 'GET', 
 | 
                url: url, 
 | 
                data: data, 
 | 
                dataType: 'json', 
 | 
                header: {'token': localStorage.getItem('token')}, 
 | 
                timeout: 10000, 
 | 
                cache: false, 
 | 
                success: function (res) { 
 | 
                    if (res.code === 200){ 
 | 
                        callback(res); 
 | 
                    } else if (res.code === 403){ 
 | 
                        top.location.href = baseUrl+"/"; 
 | 
                    }  else { 
 | 
                        layer.msg(res.msg, {icon: 2}); 
 | 
                    } 
 | 
                }, 
 | 
                error: function (res, type) { 
 | 
  
 | 
                } 
 | 
            }) 
 | 
        }, 
 | 
        // 默认表单 
 | 
        post: function (url, param, callback, type) { 
 | 
            var headerType; 
 | 
            if (type === 'json') { 
 | 
                headerType = {'Content-Type': 'application/json'} 
 | 
            } else { 
 | 
                headerType = {'Content-Type': 'application/x-www-form-urlencoded'} 
 | 
            } 
 | 
            headerType['token'] = localStorage.getItem('token'); 
 | 
            http.toAjax({ 
 | 
                method: 'POST', 
 | 
                url: url, 
 | 
                data: param, 
 | 
                dataType: 'json', 
 | 
                headers: headerType, 
 | 
                timeout: 10000, 
 | 
                cache: false, 
 | 
                success: function (res) { 
 | 
                    if (res.code === 200){ 
 | 
                        callback(res); 
 | 
                    } else if (res.code === 403){ 
 | 
                        top.location.href = baseUrl+"/"; 
 | 
                    }  else { 
 | 
                        layer.msg(res.msg, {icon: 2}); 
 | 
                    } 
 | 
                }, 
 | 
                error: function (res, type) { 
 | 
  
 | 
                } 
 | 
            }) 
 | 
        }, 
 | 
    }; 
 | 
    "function" == typeof define && define.amd ? define(function () { 
 | 
        return http 
 | 
    }) : "object" == typeof module && module.exports ? module.exports = http : n.http = http 
 | 
}(this); 
 | 
  
 | 
  
 | 
function arrRemove(arr, key, val) { 
 | 
    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: 'maktx', align: 'center',title: '商品名称', width: 200} 
 | 
    ,{field: 'name', align: 'center',title: '名称', hide: true} 
 | 
    ,{field: 'specs', align: 'center',title: '规格'} 
 | 
    ,{field: 'model', align: 'center',title: '型号', hide: true} 
 | 
    ,{field: 'unit', align: 'center',title: '单位', hide: true} 
 | 
    ,{field: 'barcode', align: 'center',title: 'SKC',hide: true} 
 | 
    // ,{field: 'docId', align: 'center',title: '单据类型', hide: true} 
 | 
    // ,{field: 'docNum', align: 'center',title: '单据编号', hide: true} 
 | 
    ,{field: 'custName', align: 'center',title: '客户名称', hide: true} 
 | 
    ,{field: 'itemNum', align: 'center',title: '品项数', hide: true} 
 | 
    ,{field: 'count', align: 'center',title: '数量', hide: true} 
 | 
    ,{field: 'price', align: 'center',title: '单价'} 
 | 
    ,{field: 'weight', 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: '修改人员'} 
 | 
    // ,{field: 'updateTime$', align: 'center',title: '修改时间'} 
 | 
    ,{field: 'memo', align: 'center',title: '备注', hide: true} 
 | 
] 
 | 
  
 | 
var detlCols = [ 
 | 
    {field: 'matnr', align: 'center',title: '商品编号', width: 180} 
 | 
    ,{field: 'maktx', align: 'center',title: '商品名称', width: 200} 
 | 
    ,{field: 'anfme', align: 'center',title: '库存数量', style: 'font-weight: bold'} 
 | 
    ,{field: 'name', align: 'center',title: '名称', hide: true} 
 | 
    ,{field: 'specs', align: 'center',title: '规格'} 
 | 
    ,{field: 'model', align: 'center',title: '型号', hide: true} 
 | 
    ,{field: 'batch', align: 'center',title: '批号'} 
 | 
    ,{field: 'unit', align: 'center',title: '单位', hide: true} 
 | 
    ,{field: 'barcode', align: 'center',title: 'SKC',hide: true} 
 | 
    ,{field: 'docId', align: 'center',title: '单据类型', hide: true} 
 | 
    ,{field: 'docNum', align: 'center',title: '单据编号', hide: true} 
 | 
    ,{field: 'custName', align: 'center',title: '客户名称', hide: true} 
 | 
    ,{field: 'itemNum', align: 'center',title: '品项数', hide: true} 
 | 
    ,{field: 'count', align: 'center',title: '数量', hide: true} 
 | 
    ,{field: 'price', align: 'center',title: '单价', hide: true} 
 | 
    ,{field: 'weight', align: 'center',title: '重量', hide: true} 
 | 
    ,{field: 'zpallet', align: 'center',title: '托盘码'} 
 | 
    // ,{field: 'createBy$', align: 'center',title: '添加人员'} 
 | 
    // ,{field: 'createTime$', align: 'center',title: '添加时间'} 
 | 
    // ,{field: 'updateBy$', align: 'center',title: '修改人员'} 
 | 
    // ,{field: 'updateTime$', align: 'center',title: '修改时间'} 
 | 
    ,{field: 'memo', align: 'center',title: '备注', hide: true} 
 | 
] 
 | 
  
 | 
  
 | 
var popupRight; 
 | 
var cstmrByMore; 
 |