|  |  |  | 
|---|
|  |  |  | // 生产 | 
|---|
|  |  |  | // var baseUrl = "/asrs"; | 
|---|
|  |  |  | // 测试 | 
|---|
|  |  |  | var baseUrl = ""; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | var baseUrl = "/tzskwms"; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 详情窗口-高度 | 
|---|
|  |  |  | var detailHeight = '80%'; | 
|---|
|  |  |  | 
|---|
|  |  |  | return typeof obj == "undefined" || obj == null || obj === ""; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // let loadIndex = layer.msg('请求中...', {icon: 16, shade: 0.01, time: false}); | 
|---|
|  |  |  | //       layer.close(loadIndex); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 时间 ==>> 字符串 | 
|---|
|  |  |  | function dateToStr(date) { | 
|---|
|  |  |  | function dateToStr(date, millisecond) { | 
|---|
|  |  |  | var time = new Date(date); | 
|---|
|  |  |  | var y = time.getFullYear(); | 
|---|
|  |  |  | var M = time.getMonth() + 1; | 
|---|
|  |  |  | 
|---|
|  |  |  | m = m < 10 ? ("0" + m) : m; | 
|---|
|  |  |  | var s = time.getSeconds(); | 
|---|
|  |  |  | s = s < 10 ? ("0" + s) : s; | 
|---|
|  |  |  | return y + "-" + M + "-" + d + " " + h + ":" + m + ":" + s; | 
|---|
|  |  |  | if (!millisecond) { | 
|---|
|  |  |  | return y + "-" + M + "-" + d + " " + h + ":" + m + ":" + s; | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | var p = time.getMilliseconds(); | 
|---|
|  |  |  | if (p < 10) { | 
|---|
|  |  |  | p = "00" + p; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (p <  100) { | 
|---|
|  |  |  | p = "0" + p; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return y + "-" + M + "-" + d + " " + h + ":" + m + ":" + s + "," + p; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 字符串 ===>> 时间 | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 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); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | 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); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | 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>=1; i--){ | 
|---|
|  |  |  | if(arr[i][key] === val){ | 
|---|
|  |  |  | arr.splice(i,1); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | var matCols = [ | 
|---|
|  |  |  | {field: 'matnr', align: 'center',title: '存货编码', width: 180} | 
|---|
|  |  |  | //,{field: 'name', align: 'center',title: '移动类型', hide: true} | 
|---|
|  |  |  | ,{field: 'maktx', align: 'center',title: '存货名称', width: 150} | 
|---|
|  |  |  | ,{field: 'specs', align: 'center',title: '规格型号', hide: false} | 
|---|
|  |  |  | ,{field: 'model', align: 'center',title: '通用型号', hide: false} | 
|---|
|  |  |  | // ,{field: 'manuDate', align: 'center',title: '单据时间', hide: false} | 
|---|
|  |  |  | // ,{field: 'weight', align: 'center',title: '重量', hide: false} | 
|---|
|  |  |  | // ,{field: 'units', align: 'center',title: '支数', hide: false} | 
|---|
|  |  |  | // ,{field: 'origin', align: 'center',title: '物料状态', hide: true} | 
|---|
|  |  |  | ,{field: 'brand', align: 'center',title: '存货分类编码', hide: true} | 
|---|
|  |  |  | ,{field: 'color', align: 'center',title: '存货分类名称', hide: true} | 
|---|
|  |  |  | ,{field: 'unit', align: 'center',title: '计量单位', hide: true} | 
|---|
|  |  |  | ,{field: 'price', align: 'center',title: '进项税', hide: true} | 
|---|
|  |  |  | ,{field: 'units', align: 'center',title: '销项税', hide: true} | 
|---|
|  |  |  | ,{field: 'dsDate', align: 'center',title: '启用日期', hide: true} | 
|---|
|  |  |  | ,{field: 'supp', align: 'center',title: '建档人', hide: true} | 
|---|
|  |  |  | ,{field: 'dInvCreateDatetime', align: 'center',title: '建档日期', hide: true} | 
|---|
|  |  |  | // ,{field: 'sku', align: 'center',title: 'sku', hide: true} | 
|---|
|  |  |  | // ,{field: 'barcode', align: 'center',title: '条码', hide: true} | 
|---|
|  |  |  | // ,{field: 'manu', align: 'center',title: '厂家', hide: true} | 
|---|
|  |  |  | // ,{field: 'itemNum', align: 'center',title: '品项数', hide: true} | 
|---|
|  |  |  | // ,{field: 'safeQty', 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: '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} | 
|---|
|  |  |  | ] | 
|---|
|  |  |  |  | 
|---|
|  |  |  | var detlCols = [ | 
|---|
|  |  |  | ,{field: 'zpallet', align: 'center',title: '托盘条码', hide: true} | 
|---|
|  |  |  | ,{field: 'zpallet', align: 'center',title: '托盘条码', hide: false} | 
|---|
|  |  |  | ,{field: 'suppCode', align: 'center',title: '料箱码', hide: false, width: 110} | 
|---|
|  |  |  | ,{field: 'matnr', align: 'center',title: '存货编码',hide: true} | 
|---|
|  |  |  | ,{field: 'matnr', align: 'center',title: '存货编码'} | 
|---|
|  |  |  | ,{field: 'anfme', align: 'center',title: '数量'} | 
|---|
|  |  |  | ,{field: 'batch', align: 'center',title: '序列码', width: 300, sort:true, hide: true} | 
|---|
|  |  |  | ,{field: 'maktx', align: 'center',title: '存货名称'} | 
|---|
|  |  |  | ,{field: 'orderNo', align: 'center',title: '单据编号', hide: false} | 
|---|
|  |  |  | ,{field: 'threeCode', align: 'center',title: '销售订单号'} | 
|---|
|  |  |  | ,{field: 'deadTime', align: 'center',title: '销售订单行号'} | 
|---|
|  |  |  | ,{field: 'specs', align: 'center',title: '规格型号', hide: false} | 
|---|
|  |  |  | ,{field: 'model', align: 'center',title: '通用型号', hide: false} | 
|---|
|  |  |  |  | 
|---|
|  |  |  | ,{field: 'brand', align: 'center',title: '存货分类编码', hide: true} | 
|---|
|  |  |  | ,{field: 'color', align: 'center',title: '存货分类名称', hide: true} | 
|---|
|  |  |  | ,{field: 'unit', align: 'center',title: '计量单位', hide: true} | 
|---|
|  |  |  | ,{field: 'price', align: 'center',title: '进项税', hide: true} | 
|---|
|  |  |  | ,{field: 'units', align: 'center',title: '销项税', hide: true} | 
|---|
|  |  |  | ,{field: 'dsDate', align: 'center',title: '启用日期', hide: true} | 
|---|
|  |  |  | ,{field: 'supp', align: 'center',title: '建档人', hide: true} | 
|---|
|  |  |  | ,{field: 'dInvCreateDatetime', align: 'center',title: '建档日期', hide: true} | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // ,{field: 'specs', align: 'center',title: '规格'} | 
|---|
|  |  |  | // ,{field: 'anfme', align: 'center',title: '数量'} | 
|---|
|  |  |  | // ,{field: 'name', align: 'center',title: '移动类型', hide: true} | 
|---|
|  |  |  | // ,{field: 'orderNo', align: 'center',title: '单据编号', hide: false} | 
|---|
|  |  |  | // ,{field: 'model', align: 'center',title: '通用型号', hide: true} | 
|---|
|  |  |  | // ,{field: 'manuDate', align: 'center',title: '单据时间', hide: true} | 
|---|
|  |  |  | // ,{field: 'weight', align: 'center',title: '重量', hide: true} | 
|---|
|  |  |  | // ,{field: 'units', align: 'center',title: '支数', hide: true} | 
|---|
|  |  |  | // ,{field: 'origin', 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: 'sku', align: 'center',title: 'sku', hide: true} | 
|---|
|  |  |  | // ,{field: 'barcode', align: 'center',title: '条码', hide: true} | 
|---|
|  |  |  | // ,{field: 'manu', align: 'center',title: '厂家', hide: true} | 
|---|
|  |  |  | // ,{field: 'itemNum', align: 'center',title: '品项数', hide: true} | 
|---|
|  |  |  | // ,{field: 'safeQty', 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} | 
|---|
|  |  |  | ] | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 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); | 
|---|
|  |  |  | } | 
|---|