|  |  | 
 |  |  | var data = []; | 
 |  |  | var checkStatus = []; | 
 |  |  | var dataCheck = []; | 
 |  |  | var admin; | 
 |  |  | var printData = []; | 
 |  |  | var layDate; | 
 |  |  | function getCol() { | 
 |  |  |     var cols = [ | 
 |  |  |         {field: 'id', title: 'id', align: 'center',hide:true} | 
 |  |  |         ,{type: 'checkbox'} | 
 |  |  |         ,{field: 'pakinTime', title: '入库时间', align: 'center'} | 
 |  |  |         ,{field: 'batch', align: 'center',title: '批号'} | 
 |  |  |         ,{field: 'packageNo', align: 'center',title: '包号'} | 
 |  |  |         ,{field: 'brand', align: 'center',title: '牌号'} | 
 |  |  |         ,{field: 'weight', align: 'center',title: '重量(KG)', hide:true} | 
 |  |  |         ,{field: 'workshop', align: 'center',title: '生产车间', hide:true} | 
 |  |  |         ,{field: 'line', align: 'center',title: '生产线', hide:true} | 
 |  |  |         ,{field: 'packageType', align: 'center',title: '包装类型'} | 
 |  |  |         ,{field: 'zpalletType', align: 'center',title: '托盘类型'} | 
 |  |  |         ,{field: 'filmWrap', align: 'center',title: '缠膜', edit: true} | 
 |  |  |         ,{field: 'fingerMelting', align: 'center',title: '熔指(g/10min)'} | 
 |  |  |         ,{field: 'fusingPoint', align: 'center',title: '熔点(℃)'} | 
 |  |  |         ,{field: 'vadf1', align: 'center',title: '挥发份1(%)', hide:true} | 
 |  |  |         ,{field: 'vadf2', align: 'center',title: '挥发份2(%)', hide:true} | 
 |  |  |         ,{field: 'yellowness', align: 'center',title: '黄度',  hide:true} | 
 |  |  |         ,{field: 'opacity', align: 'center',title: '不透明度(0-100%)', hide:true} | 
 |  |  |         ,{field: 'water', align: 'center',title: '水分(ppm)', hide:true} | 
 |  |  |         ,{field: 'l', align: 'center',title: 'l值', edit: true, hide:true} | 
 |  |  |         ,{field: 'a', align: 'center',title: 'a值', edit: true, hide:true} | 
 |  |  |         ,{field: 'b', align: 'center',title: 'b值', edit: true, hide:true} | 
 |  |  |         ,{field: 'fillIn', align: 'center',title: '填充(%)', edit: true} | 
 |  |  |         ,{field: 'massState', align: 'center',title: '质量状态', hide:true} | 
 |  |  |         ,{field: 'problem', align: 'center',title: '质量问题', hide:true} | 
 |  |  |         ,{field: 'stash', align: 'center',title: '仓库', edit:true} | 
 |  |  |         ,{field: 'locNo', align: 'center',title: '库位', edit:true} | 
 |  |  |         ,{field: 'weightAnfme', align: 'center',title: '剩余重量(KG)', edit:true} | 
 |  |  |         ,{field: 'status', align: 'center',title: '状态', edit:true} | 
 |  |  |         ,{align: 'center', title: '明细', toolbar: '#tbLook'} | 
 |  |  |         ,{field: 'orderNo', align: 'center',title: '单号', edit:true} | 
 |  |  |         ,{field: 'pakoutTime', align: 'center',title: '出库时间', edit:true} | 
 |  |  |         ,{field: 'orderWeight', align: 'center',title: '重量', edit:true} | 
 |  |  |         ,{field: 'handlerBy', align: 'center',title: '经办人', edit:true} | 
 |  |  |         ,{field: 'transfer', align: 'center',title: '流转形式', edit:true} | 
 |  |  |         ,{field: 'customer', align: 'center',title: '客户名称', edit:true} | 
 |  |  |         ,{field: 'allocate', align: 'center',title: '调拨到', edit:true} | 
 |  |  |         ,{field: 'memo', align: 'center',title: '备注', edit:true} | 
 |  |  |         ,{type: 'checkbox',totalRow:true} | 
 |  |  |         ,{field:'id', width:80, title: '', sort: true, totalRowText: '合计:',hide: true} | 
 |  |  |         ,{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, 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: '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} | 
 |  |  |         ,{field: 'fusingPoint', align: 'center',title: '熔点,℃',edit:true} | 
 |  |  |         ,{field: 'vadf1', align: 'center',title: '挥发段,%', hide:true,edit:true} | 
 |  |  |         ,{field: 'vadf2', align: 'center',title: '分解段,%', hide:true,edit:true} | 
 |  |  |         ,{field: 'yellowness', align: 'center',title: '黄度',edit:true} | 
 |  |  |         ,{field: 'opacity', align: 'center',title: '不透明度,%',edit:true} | 
 |  |  |         ,{field: 'l', align: 'center',title: 'L*', hide:true,edit:true} | 
 |  |  |         ,{field: 'a', align: 'center',title: 'a*', hide:true,edit:true} | 
 |  |  |         ,{field: 'b', align: 'center',title: 'b*', hide:true,edit:true} | 
 |  |  |         ,{field: 'fillIn', align: 'center',title: '填充,%',hide:true,edit:true} | 
 |  |  |         ,{field: 'str1', align: 'center',title: '拉伸强度,MPa',hide:true,edit:true} | 
 |  |  |         ,{field: 'str2', align: 'center',title: '断裂伸长率,%',hide:true,edit:true} | 
 |  |  |         ,{field: 'str3', align: 'center',title: '缺口冲击,KJ/m2',hide:true,edit:true} | 
 |  |  |         ,{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} | 
 |  |  |         ,{field: 'position', align: 'center',title: '存放位置',edit:true,hide:true} | 
 |  |  |         ,{field: 'stash', align: 'center',title: '仓库',edit:true,hide:true} | 
 |  |  |         ,{field: 'locNo', align: 'center',title: '库位',edit:true} | 
 |  |  |         ,{field: 'owner', align: 'center',title: '主体',edit:true} | 
 |  |  |         ,{field: 'type', align: 'center',title: '物资类别',hide:true,edit:true} | 
 |  |  |         ,{field: 'proOrderNo', align: 'center',title: '生产订单编号',hide:true,edit:true} | 
 |  |  |         ,{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,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,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: '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} | 
 |  |  |     ]; | 
 |  |  |     return cols; | 
 |  |  | } | 
 |  |  |  | 
 |  |  | function setState(data){ | 
 |  |  |     if(data.status === "待入库"){ | 
 |  |  |         return  "<span style='color: orange'>待入库</span>" | 
 |  |  |     }else if(data.status === "已入库"){ | 
 |  |  |         return  "<span style='color: blue'>已入库</span>" | 
 |  |  |     }else if(data.status === "待出库"){ | 
 |  |  |         return  "<span style='color: red'>待出库</span>" | 
 |  |  |     }else if(data.status === "部分出库"){ | 
 |  |  |         return  "<span style='color: black'>部分出库</span>" | 
 |  |  |     }else if(data.status === "全部出库"){ | 
 |  |  |         return  "<span style='color: gray'>全部出库</span>" | 
 |  |  |     }else if(data.status === "暂入库"){ | 
 |  |  |         return  "<span style='color: purple'>暂入库</span>" | 
 |  |  |     } | 
 |  |  | } | 
 |  |  |  | 
 |  |  | layui.config({ | 
 |  |  |     base: baseUrl + "/static/layui/lay/modules/" | 
 |  |  | }).use(['table','laydate', 'form', 'admin'], function() { | 
 |  |  | }).use(['table','laydate', 'form', 'admin', 'xmSelect', 'dropdown'], function() { | 
 |  |  |     var dropdown = layui.dropdown; | 
 |  |  |     var table = layui.table; | 
 |  |  |     var $ = layui.jquery; | 
 |  |  |     var layer = layui.layer; | 
 |  |  |     var layDate = layui.laydate; | 
 |  |  |     laydate = layui.laydate; | 
 |  |  |     var form = layui.form; | 
 |  |  |     var admin = layui.admin; | 
 |  |  |     admin = layui.admin; | 
 |  |  |  | 
 |  |  |     // 日期时间范围 | 
 |  |  |     laydate.render({ | 
 |  |  |         elem: '#ID-laydate-range-datetime', | 
 |  |  |         type: 'datetime', | 
 |  |  |         range: true | 
 |  |  |     }); | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     // 数据渲染 | 
 |  |  |     tableIns = table.render({ | 
 |  |  |         elem: '#plaDetl', | 
 |  |  |         headers: {token: localStorage.getItem('token')}, | 
 |  |  |         url: baseUrl+'/pla/list/auth?step=3', | 
 |  |  |         url: baseUrl+'/pla/list/auth?step=2', | 
 |  |  |         page: true, | 
 |  |  |         limit: 16, | 
 |  |  |         limits: [16, 30, 50, 100, 200, 500], | 
 |  |  |         totalRow: true, // 开启合计行 | 
 |  |  |         height: function(){ | 
 |  |  |             var otherHeight = $('.function-area').outerHeight() + $('#search-box').outerHeight(); // 自定义其他区域的高度 | 
 |  |  |             console.log($(window).height() - otherHeight); | 
 |  |  |             return $(window).height() - otherHeight - 100; // 返回 number 类型 | 
 |  |  |         }, | 
 |  |  |         //height: 'full', | 
 |  |  |         limit: 500, | 
 |  |  |         limits: [16, 50, 100, 200, 500,], | 
 |  |  |         even: true, | 
 |  |  |         toolbar: '#toolbar', | 
 |  |  |         cellMinWidth: 50, | 
 |  |  |         cols: [getCol()], | 
 |  |  |         cols: [function(){ | 
 |  |  |             var arr = getCol(); | 
 |  |  |  | 
 |  |  |             // 初始化筛选状态 | 
 |  |  |             var local = layui.data('table-filter-test'); // 获取对应的本地记录 | 
 |  |  |             layui.each(arr, function(index, item){ | 
 |  |  |                 if(item.field in local){ | 
 |  |  |                     item.hide = local[item.field]; | 
 |  |  |                 } | 
 |  |  |             }); | 
 |  |  |             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, | 
 |  |  |                 'count': res.data.total, | 
 |  |  |                 'data': res.data.records | 
 |  |  |                 'data': res.data.records, | 
 |  |  |             } | 
 |  |  |         }, | 
 |  |  |         response: { | 
 |  |  |             statusCode: 200 | 
 |  |  |         }, | 
 |  |  |         done: function(res, curr, count) { | 
 |  |  |             // 记录筛选状态 | 
 |  |  |             var that = this; | 
 |  |  |             that.elem.next().on('mousedown', 'input[lay-filter="LAY_TABLE_TOOL_COLS"]+', function(){ | 
 |  |  |                 var input = $(this).prev()[0]; | 
 |  |  |                 // 此处表名可任意定义 | 
 |  |  |                 layui.data('table-filter-test', { | 
 |  |  |                     key: input.name | 
 |  |  |                     ,value: input.checked | 
 |  |  |                 }) | 
 |  |  |             }); | 
 |  |  |  | 
 |  |  |             //$(".lavui-table-grid-down").hide(); | 
 |  |  |             if (res.code === 403) { | 
 |  |  |                 top.location.href = baseUrl+"/"; | 
 |  |  |             } | 
 |  |  | 
 |  |  |                     res.data[_index][data.value] = 'N'; | 
 |  |  |                 } | 
 |  |  |             }); | 
 |  |  |             let headerTop = $('.layui-table-header').offset().top; //获取表格头到文档顶部的距离 | 
 |  |  |             let headerPage = $('.layui-table-page').offset().top; //获取表格底部文档顶部的距离 | 
 |  |  |             $(window).scroll(function () { | 
 |  |  |                 if ((headerTop - $(window).scrollTop()) < 0) { //超过了 | 
 |  |  |                     $('.layui-table-header').addClass('table-header-fixed'); //添加样式,固定住表头 | 
 |  |  |                 } else { //没超过 | 
 |  |  |                     $('.layui-table-header').removeClass('table-header-fixed'); //移除样式 | 
 |  |  |                 } | 
 |  |  |             }); | 
 |  |  |         } | 
 |  |  |     }); | 
 |  |  |  | 
 |  |  |     // 渲染物料选择 | 
 |  |  |     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){ | 
 |  |  |         // console.log(obj); // 查看对象所有成员 | 
 |  |  |         // console.log(obj.checked); // 当前是否选中状态 | 
 |  |  |         // console.log(obj.data); // 选中行的相关数据 | 
 |  |  |         // console.log(obj.type); // 若触发的是全选,则为:all;若触发的是单选,则为:one | 
 |  |  |         var checkStatus = table.checkStatus(obj.config.id) | 
 |  |  |         var selectedNum = checkStatus.data.length; | 
 |  |  |         var weightAll = 0; | 
 |  |  |         var weightAnfmeAll = 0; | 
 |  |  |  | 
 |  |  |         for (var i in checkStatus.data){ | 
 |  |  |             weightAll += checkStatus.data[i].weight; | 
 |  |  |             weightAnfmeAll += checkStatus.data[i].weightAnfme; | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         $('.layui-table-total').find('.laytable-cell-1-0-1').text(selectedNum); | 
 |  |  |         $('.layui-table-total').find('.laytable-cell-1-0-9').text(weightAll); | 
 |  |  |         $('.layui-table-total').find('.laytable-cell-1-0-41').text(weightAnfmeAll); | 
 |  |  |  | 
 |  |  |     }); | 
 |  |  |  | 
 |  |  |     // 行单击事件( 双击事件为: rowDouble ) | 
 |  |  |     table.on('row(plaDetl)', function(obj){ | 
 |  |  |  | 
 |  |  |     }); | 
 |  |  |  | 
 |  |  |     table.on('tool(plaDetl)', function (obj) { | 
 |  |  | 
 |  |  |                 type: 1, | 
 |  |  |                 title: false, | 
 |  |  |                 area: '1200px', | 
 |  |  |                 offset: [top + 'px', (left - 530 + $a.outerWidth()) + 'px'], | 
 |  |  |                 offset: ['600px', (left - 1200 + $a.outerWidth()) + 'px'], | 
 |  |  |                 shade: .01, | 
 |  |  |                 shadeClose: true, | 
 |  |  |                 fixed: false, | 
 |  |  | 
 |  |  |                         headers: {token: localStorage.getItem('token')}, | 
 |  |  |                         url: baseUrl+'/plaQty/list/auth', | 
 |  |  |                         where: { | 
 |  |  |                             brand: data.brand, | 
 |  |  |                             batch: data.batch, | 
 |  |  |                             package_no: data.packageNo | 
 |  |  |                         }, | 
 |  |  | 
 |  |  |                     }); | 
 |  |  |                 } | 
 |  |  |             }); | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |     }) | 
 |  |  |  | 
 |  |  |     // 监听头工具栏事件 | 
 |  |  |     table.on('toolbar(plaDetl)', function (obj) { | 
 |  |  |         var checkStatus = table.checkStatus(obj.config.id) | 
 |  |  |         printData = checkStatus; | 
 |  |  |         switch(obj.event) { | 
 |  |  |             case 'updateData': | 
 |  |  |                 var data = checkStatus.data; | 
 |  |  |                 if (data.length === 0){ | 
 |  |  |                     layer.msg('请选择数据'); | 
 |  |  |                 } else { | 
 |  |  |                     layer.confirm('确定修改'+(data.length===1?'此':data.length)+'条数据吗', function(){ | 
 |  |  |                         $.ajax({ | 
 |  |  |                             url: baseUrl+"/pla/update/auth", | 
 |  |  |                             headers: {'token': localStorage.getItem('token')}, | 
 |  |  |                             data: JSON.stringify(data), | 
 |  |  |                             contentType:'application/json;charset=UTF-8', | 
 |  |  |                             method: 'POST', | 
 |  |  |                             traditional:true, | 
 |  |  |                             success: function (res) { | 
 |  |  |                                 if (res.code === 200){ | 
 |  |  |                                     layer.closeAll(); | 
 |  |  |                                     tableReload(false); | 
 |  |  |                                 } else if (res.code === 403){ | 
 |  |  |                                     top.location.href = baseUrl+"/"; | 
 |  |  |                                 } else { | 
 |  |  |                                     layer.msg(res.msg) | 
 |  |  |                                 } | 
 |  |  |                             } | 
 |  |  |                         }) | 
 |  |  |                     }); | 
 |  |  |                 } | 
 |  |  |                 break; | 
 |  |  |             case "deleteData": | 
 |  |  |                 var data = checkStatus.data; | 
 |  |  |                 if (data.length === 0){ | 
 |  |  |                     layer.msg('请选择数据'); | 
 |  |  |                 } else { | 
 |  |  |                     layer.confirm('确定删除'+(data.length===1?'此':data.length)+'条数据吗', function(){ | 
 |  |  |                         $.ajax({ | 
 |  |  |                             url: baseUrl+"/pla/delete/auth", | 
 |  |  |                             headers: {'token': localStorage.getItem('token')}, | 
 |  |  |                             data: JSON.stringify(data), | 
 |  |  |                             contentType:'application/json;charset=UTF-8', | 
 |  |  |                             method: 'POST', | 
 |  |  |                             traditional:true, | 
 |  |  |                             success: function (res) { | 
 |  |  |                                 if (res.code === 200){ | 
 |  |  |                                     layer.closeAll(); | 
 |  |  |                                     tableReload(false); | 
 |  |  |                                 } else if (res.code === 403){ | 
 |  |  |                                     top.location.href = baseUrl+"/"; | 
 |  |  |                                 } else { | 
 |  |  |                                     layer.msg(res.msg) | 
 |  |  |                                 } | 
 |  |  |                             } | 
 |  |  |                         }) | 
 |  |  |                     }); | 
 |  |  |                 } | 
 |  |  |                 break; | 
 |  |  |             case "viladate": | 
 |  |  |                 var data = checkStatus.data; | 
 |  |  |                 if (data.length === 0){ | 
 |  |  |                     layer.msg('请选择数据'); | 
 |  |  |                 } else { | 
 |  |  |                     layer.confirm('确定校验'+(data.length===1?'此':data.length)+'条数据吗', function(){ | 
 |  |  |                         $.ajax({ | 
 |  |  |                             url: baseUrl+"/pla/viladate/auth", | 
 |  |  |                             headers: {'token': localStorage.getItem('token')}, | 
 |  |  |                             data: JSON.stringify(data), | 
 |  |  |                             contentType:'application/json;charset=UTF-8', | 
 |  |  |                             method: 'POST', | 
 |  |  |                             traditional:true, | 
 |  |  |                             success: function (res) { | 
 |  |  |                                 if (res.code === 200){ | 
 |  |  |                                     layer.closeAll(); | 
 |  |  |                                     tableReload(false); | 
 |  |  |                                 } else if (res.code === 403){ | 
 |  |  |                                     top.location.href = baseUrl+"/"; | 
 |  |  |                                 } else { | 
 |  |  |                                     layer.msg(res.msg) | 
 |  |  |                                 } | 
 |  |  |                             } | 
 |  |  |                         }) | 
 |  |  |                     }); | 
 |  |  |                 } | 
 |  |  |                 break; | 
 |  |  |             case 'freezeData': | 
 |  |  |                 var data = checkStatus.data; | 
 |  |  |                 if (data.length === 0){ | 
 |  |  |                     layer.msg('请选择数据'); | 
 |  |  |                 } else { | 
 |  |  |                     layer.confirm('确定冻结'+(data.length===1?'此':data.length)+'条数据吗', function(){ | 
 |  |  |                         $.ajax({ | 
 |  |  |                             url: baseUrl+"/pla/updateStockFreeze", | 
 |  |  |                             headers: {'token': localStorage.getItem('token')}, | 
 |  |  |                             data: JSON.stringify(data), | 
 |  |  |                             contentType:'application/json;charset=UTF-8', | 
 |  |  |                             method: 'POST', | 
 |  |  |                             traditional:true, | 
 |  |  |                             success: function (res) { | 
 |  |  |                                 if (res.code === 200){ | 
 |  |  |                                     layer.closeAll(); | 
 |  |  |                                     tableReload(false); | 
 |  |  |                                     layer.msg(res.msg,{icon:1}) | 
 |  |  |                                 } else if (res.code === 403){ | 
 |  |  |                                     top.location.href = baseUrl+"/"; | 
 |  |  |                                 } else { | 
 |  |  |                                     layer.msg(res.msg,{icon:2}) | 
 |  |  |                                 } | 
 |  |  |                             } | 
 |  |  |                         }) | 
 |  |  |                     }); | 
 |  |  |                 } | 
 |  |  |                 break; | 
 |  |  |             case 'disFreezeData': | 
 |  |  |                 var data = checkStatus.data; | 
 |  |  |                 if (data.length === 0){ | 
 |  |  |                     layer.msg('请选择数据'); | 
 |  |  |                 } else { | 
 |  |  |                     layer.confirm('确定解除'+(data.length===1?'此':data.length)+'条数据的冻结吗', function(){ | 
 |  |  |                         $.ajax({ | 
 |  |  |                             url: baseUrl+"/pla/updateStockDisFreeze", | 
 |  |  |                             headers: {'token': localStorage.getItem('token')}, | 
 |  |  |                             data: JSON.stringify(data), | 
 |  |  |                             contentType:'application/json;charset=UTF-8', | 
 |  |  |                             method: 'POST', | 
 |  |  |                             traditional:true, | 
 |  |  |                             success: function (res) { | 
 |  |  |                                 if (res.code === 200){ | 
 |  |  |                                     layer.closeAll(); | 
 |  |  |                                     tableReload(false); | 
 |  |  |                                     layer.msg(res.msg,{icon:1}) | 
 |  |  |                                 } else if (res.code === 403){ | 
 |  |  |                                     top.location.href = baseUrl+"/"; | 
 |  |  |                                 } else { | 
 |  |  |                                     layer.msg(res.msg,{icon:2}) | 
 |  |  |                                 } | 
 |  |  |                             } | 
 |  |  |                         }) | 
 |  |  |                     }); | 
 |  |  |                 } | 
 |  |  |                 break; | 
 |  |  |             // 批量打印 | 
 |  |  |             case "btnPrintBatch": | 
 |  |  |                 printMatCodeNos = []; | 
 |  |  |                 var data = checkStatus.data; | 
 |  |  |                 if (data.length === 0){ | 
 |  |  |                     layer.msg('请选择打印数据'); | 
 |  |  |                 } else { | 
 |  |  |                     layer.open({ | 
 |  |  |                         type: 1, | 
 |  |  |                         area: ['600px', '750px'], | 
 |  |  |                         title: '批量打印 [数量'+ data.length +']', | 
 |  |  |                         shadeClose: true, | 
 |  |  |                         content: $('#printDataDiv'), | 
 |  |  |                         success: function(layero, index){ | 
 |  |  |                             for (var i = 0; i<data.length;i++) { | 
 |  |  |                                 printMatCodeNos.push(data[i].matnr); | 
 |  |  |                             } | 
 |  |  |                         }, | 
 |  |  |                         end: function () { | 
 |  |  |                         } | 
 |  |  |                     }); | 
 |  |  |                 } | 
 |  |  |                 break; | 
 |  |  |         } | 
 |  |  |     }) | 
 |  |  |  | 
 |  |  |     // 模板选择 | 
 |  |  |     form.on('radio(selectTemplateRadio)', function (data) { | 
 |  |  |         $('.template-preview').hide(); | 
 |  |  |         $('#template-preview-'+data.value).show(); | 
 |  |  |     }); | 
 |  |  |  | 
 |  |  |     // 开始打印 | 
 |  |  |     form.on('submit(doPrint)', function (data) { | 
 |  |  |         var templateNo = data.field.selectTemplate; | 
 |  |  |         var templateDom = $("#templatePreview"+templateNo); | 
 |  |  |         var className = templateDom.attr("class"); | 
 |  |  |         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¶m="+(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¶m="+(printData.data[i].brand+";"+printData.data[i].batch+";"+printData.data[i].packageNo+";"+printData.data[i].line) | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         var tpl = templateDom.html(); | 
 |  |  |         var template = Handlebars.compile(tpl); | 
 |  |  |         var html = template(printData); | 
 |  |  |         var box = $("#box"); | 
 |  |  |         box.html(html);box.show(); | 
 |  |  |         box.print({mediaPrint:true}); | 
 |  |  |         box.hide(); | 
 |  |  |         // $.ajax({ | 
 |  |  |         //     url: baseUrl+"/pla/print/auth", | 
 |  |  |         //     headers: {'token': localStorage.getItem('token')}, | 
 |  |  |         //     data: JSON.stringify(printData.data), | 
 |  |  |         //     contentType:'application/json;charset=UTF-8', | 
 |  |  |         //     method: 'POST', | 
 |  |  |         //     async: false, | 
 |  |  |         //     success: function (res) { | 
 |  |  |         //         if (res.code === 200){ | 
 |  |  |         //             layer.closeAll(); | 
 |  |  |         //             for (let i=0;i<res.data.length;i++){ | 
 |  |  |         //                 var templateDom = $("#templatePreview"+templateNo); | 
 |  |  |         //                 var className = templateDom.attr("class"); | 
 |  |  |         //                 if (className === 'template-barcode') { | 
 |  |  |         //                     res.data[i]["barcodeUrl"]=baseUrl+"/mac/code/auth?type=1¶m="+res.data[i].matnr; | 
 |  |  |         //                 } else { | 
 |  |  |         //                     res.data[i]["barcodeUrl"]=baseUrl+"/mac/code/auth?type=2¶m="+res.data[i].matnr; | 
 |  |  |         //                 } | 
 |  |  |         //             } | 
 |  |  |         //             var tpl = templateDom.html(); | 
 |  |  |         //             var template = Handlebars.compile(tpl); | 
 |  |  |         //             var html = template(res); | 
 |  |  |         //             var box = $("#box"); | 
 |  |  |         //             box.html(html);box.show(); | 
 |  |  |         //             box.print({mediaPrint:true}); | 
 |  |  |         //             box.hide(); | 
 |  |  |         //         } else if (res.code === 403){ | 
 |  |  |         //             top.location.href = baseUrl+"/"; | 
 |  |  |         //         }else { | 
 |  |  |         //             layer.msg(res.msg) | 
 |  |  |         //         } | 
 |  |  |         //     } | 
 |  |  |         // }) | 
 |  |  |     }); | 
 |  |  |  | 
 |  |  |     // 搜索栏搜索事件 | 
 |  |  |     form.on('submit(search)', function (data) { | 
 |  |  | 
 |  |  |         tableReload(false); | 
 |  |  |     }); | 
 |  |  |  | 
 |  |  |     // 用来标识搜索重置时,改性树脂和纯树脂从点击事件传过来名称,进行物质类别限定 | 
 |  |  |     let customValue = undefined | 
 |  |  |     // 重置事件 | 
 |  |  |     form.on('submit(reset)', function (data) { | 
 |  |  |         customValue = $(this).attr('data-value'); | 
 |  |  |         reset(); | 
 |  |  |     }); | 
 |  |  |  | 
 |  |  | 
 |  |  |         clearFormVal($('#search-box')); | 
 |  |  |         matCodeData = []; | 
 |  |  |         tableReload(); | 
 |  |  |         locTips(false); | 
 |  |  |  | 
 |  |  |         // locTips(false); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     // 重载表格 | 
 |  |  | 
 |  |  |         $.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: { | 
 |  |  | 
 |  |  |             } | 
 |  |  |         }); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     $(document).on('click','#updateZpallet',function (){ | 
 |  |  |         debugger; | 
 |  |  |     }) | 
 |  |  |     $("[name='layTableCheckbox']").click(function(){ // 通过name属性选取元素,并添加点击事件 | 
 |  |  |         alert("Hello World!"); // 在控制台输出提示信息 | 
 |  |  |         debugger | 
 |  |  |     }); | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  | 
 |  |  |                     layer.msg("有未填写字段"); | 
 |  |  |                     return; | 
 |  |  |                 } | 
 |  |  |                 data[i].step = 3; | 
 |  |  |                 dataSave.push(data[i]); | 
 |  |  |             }else { | 
 |  |  |                 dataOld.push(data[i]); | 
 |  |  | 
 |  |  |  | 
 |  |  |     $(document).on('click','#sellout', function () { | 
 |  |  |  | 
 |  |  |         let data = table.cache.plaDetl; | 
 |  |  |         let dataSave = []; | 
 |  |  |         let dataOld = []; | 
 |  |  |         var data = table.cache.plaDetl; | 
 |  |  |         var dataSave = []; | 
 |  |  |         var dataOld = []; | 
 |  |  |         var brand; | 
 |  |  |  | 
 |  |  |         for(var i=0; i<data.length; i++){ | 
 |  |  |             if(data[i].LAY_CHECKED){ | 
 |  |  |                 if(data[i].status === "待入库" || data[i].status === "全部出库"){ | 
 |  |  |                     layer.msg("选中的明细还未入库或者已全部出库,请重新选择"); | 
 |  |  |                 if(data[i].status === "暂入库" || data[i].status === "待入库" || data[i].status === "全部出库"|| data[i].weightAnfme < data[i].qtyAnfme){ | 
 |  |  |                     layer.msg("选中的明细还未入库或者已全部出库或者没有剩余可出重量,请重新选择"); | 
 |  |  |                     return; | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 brand = brand ? brand : data[i].brand; | 
 |  |  |  | 
 |  |  |                 if(brand != data[i].brand){ | 
 |  |  |                     layer.msg("选中的明细中含有多种牌号,请重新选择"); | 
 |  |  |                     return; | 
 |  |  |                 } | 
 |  |  |                 //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]); | 
 |  |  | 
 |  |  |             layer.msg("未勾选,请先勾选需要更改的库存"); | 
 |  |  |             return; | 
 |  |  |         } | 
 |  |  |         if(dataSave.length > 1){ | 
 |  |  |             layer.msg("请勾选一条库存明细"); | 
 |  |  |             return; | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         layer.open({ | 
 |  |  |             type: 2, | 
 |  |  |             title: '卖出', | 
 |  |  |             title: '出库', | 
 |  |  |             maxmin: true, | 
 |  |  |             area: ['800px', top.detailHeight], | 
 |  |  |             shadeClose: false, | 
 |  |  |             content: 'sellout.html', | 
 |  |  |             success: function(layero, index){ | 
 |  |  |                 layer.getChildFrame('#data-detail-submit-edit', index).hide(); | 
 |  |  |                 //layer.getChildFrame('#data-detail-submit-edit', index).hide(); | 
 |  |  |                 top.convertDisabled(layer.getChildFrame('#data-detail :input', index), false); | 
 |  |  |                 layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); | 
 |  |  |  | 
 |  |  | 
 |  |  |         let dataOld = []; | 
 |  |  |         for(var i=0; i<data.length; i++){ | 
 |  |  |             if(data[i].LAY_CHECKED){ | 
 |  |  |                 if(data[i].status === "待入库" || data[i].status === "全部出库"){ | 
 |  |  |                 if(data[i].status === "暂入库" || data[i].status === "待入库" || data[i].status === "全部出库"){ | 
 |  |  |                     layer.msg("选中的明细还未入库或者已全部出库,请重新选择"); | 
 |  |  |                     return; | 
 |  |  |                 } | 
 |  |  | 
 |  |  |             shadeClose: false, | 
 |  |  |             content: 'pickup.html', | 
 |  |  |             success: function(layero, index){ | 
 |  |  |                 layer.getChildFrame('#data-detail-submit-edit', index).hide(); | 
 |  |  |                 //layer.getChildFrame('#data-detail-submit-edit', index).hide(); | 
 |  |  |                 top.convertDisabled(layer.getChildFrame('#data-detail :input', index), false); | 
 |  |  |                 layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); | 
 |  |  |  | 
 |  |  | 
 |  |  |             } | 
 |  |  |         }); | 
 |  |  |     }) | 
 |  |  |     $(document).on('click','#updateOwner', function () { | 
 |  |  |         let data = table.cache.plaDetl; | 
 |  |  |         let dataSave = []; | 
 |  |  |         let dataOld = []; | 
 |  |  |         for(var i=0; i<data.length; i++){ | 
 |  |  |             if(data[i].LAY_CHECKED){ | 
 |  |  |                 data[i].step = 1; | 
 |  |  |                 dataSave.push(data[i]); | 
 |  |  |             }else { | 
 |  |  |                 dataOld.push(data[i]); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         dataCheck = dataSave; | 
 |  |  |  | 
 |  |  |         if(!dataSave || dataSave.length < 1){ | 
 |  |  |             layer.msg("未勾选,请先勾选需要更改的库存"); | 
 |  |  |             return; | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         layer.open({ | 
 |  |  |             type: 2, | 
 |  |  |             title: '变更主体', | 
 |  |  |             maxmin: true, | 
 |  |  |             area: ['500px', top.detailHeight], | 
 |  |  |             shadeClose: false, | 
 |  |  |             content: 'updateOwner.html', | 
 |  |  |             success: function(layero, index){ | 
 |  |  |                 layer.getChildFrame('#data-detail-submit-edit', index).hide(); | 
 |  |  |                 top.convertDisabled(layer.getChildFrame('#data-detail :input', index), false); | 
 |  |  |                 layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); | 
 |  |  |  | 
 |  |  |                 var iframe = window['layui-layer-iframe' + index]; | 
 |  |  |                 iframe.child(dataSave) | 
 |  |  |             } | 
 |  |  |         }); | 
 |  |  |     }) | 
 |  |  |  | 
 |  |  | }) | 
 |  |  |  | 
 |  |  | 
 |  |  |     parent.layer.closeAll(); | 
 |  |  | }); | 
 |  |  |  | 
 |  |  | // excel导入模板下载 | 
 |  |  | function excelMouldDownload(){ | 
 |  |  |     layer.load(1, {shade: [0.1,'#fff']}); | 
 |  |  |     location.href = baseUrl + "/pla/excel/import/mould"; | 
 |  |  |     layer.closeAll('loading'); | 
 |  |  | } | 
 |  |  |  | 
 |  |  | // excel导入 | 
 |  |  | function importExcel() { | 
 |  |  |     $("#importExcel").trigger("click"); | 
 |  |  | } | 
 |  |  | function upload(obj){ | 
 |  |  |     if(!obj.files) { | 
 |  |  |         return; | 
 |  |  |     } | 
 |  |  |     var file = obj.files[0]; | 
 |  |  |     admin.confirm('确认同步 [' + file.name +'] 文件吗?', function (index) { | 
 |  |  |         layer.load(1, {shade: [0.1,'#fff']}); | 
 |  |  |         var url = baseUrl + "/pla/excel/import/auth"; | 
 |  |  |         var form = new FormData(); | 
 |  |  |         form.append("file", file); | 
 |  |  |         xhr = new XMLHttpRequest(); | 
 |  |  |         xhr.open("post", url, true); //post方式,url为服务器请求地址,true 该参数规定请求是否异步处理。 | 
 |  |  |         xhr.setRequestHeader('token', localStorage.getItem('token')); | 
 |  |  |         xhr.onload = uploadComplete; //请求完成 | 
 |  |  |         xhr.onerror =  uploadFailed; //请求失败 | 
 |  |  |         xhr.onloadend = function () { // // 上传完成重置文件流 | 
 |  |  |             layer.closeAll('loading'); | 
 |  |  |             $("#importExcel").val(""); | 
 |  |  |         }; | 
 |  |  |         // xhr.upload.onprogress = progressFunction;//【上传进度调用方法实现】 | 
 |  |  |         xhr.upload.onloadstart = function(){//上传开始执行方法 | 
 |  |  |             ot = new Date().getTime();   //设置上传开始时间 | 
 |  |  |             oloaded = 0;//设置上传开始时,以上传的文件大小为0 | 
 |  |  |         }; | 
 |  |  |         xhr.send(form); | 
 |  |  |     }, function(index){ | 
 |  |  |         $("#importExcel").val(""); | 
 |  |  |     }); | 
 |  |  | } | 
 |  |  | function uploadComplete(evt) { | 
 |  |  |     var res = JSON.parse(evt.target.responseText); | 
 |  |  |     if(res.code === 200) { | 
 |  |  |         layer.msg(res.msg, {icon: 1}); | 
 |  |  |         loadTree(""); | 
 |  |  |     } else { | 
 |  |  |         layer.msg(res.msg, {icon: 2}); | 
 |  |  |     } | 
 |  |  | } | 
 |  |  | function uploadFailed(evt) { | 
 |  |  |     var res = JSON.parse(evt.target.responseText); | 
 |  |  |     layer.msg(res.msg, {icon: 2}); | 
 |  |  | } | 
 |  |  | function clearTable(){ | 
 |  |  |  | 
 |  |  | } | 
 |  |  |  |