|  |  | 
 |  |  |         ,{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, width: 150, sort: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: 'packageType', align: 'center',title: '包装类型',edit:true} | 
 |  |  |         ,{field: 'zpalletType', align: 'center',title: '托盘类型',edit: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: 'vadf2', align: 'center',title: '分解段,%', hide:true,edit:true} | 
 |  |  |         ,{field: 'yellowness', align: 'center',title: '黄度',edit:true} | 
 |  |  |         ,{field: 'opacity', align: 'center',title: '不透明度,%',edit:true} | 
 |  |  |         ,{field: 'lactideContent', 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: '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: '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} | 
 |  |  |         ,{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} | 
 |  |  |         ,{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: '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} | 
 |  |  | 
 |  |  |  | 
 |  |  | layui.config({ | 
 |  |  |     base: baseUrl + "/static/layui/lay/modules/" | 
 |  |  | }).use(['table','laydate', 'form', 'admin', 'dropdown'], function() { | 
 |  |  | }).use(['table','laydate', 'form', 'admin', 'xmSelect', 'dropdown'], function() { | 
 |  |  |     var dropdown = layui.dropdown; | 
 |  |  |     var table = layui.table; | 
 |  |  |     var $ = layui.jquery; | 
 |  |  |     var layer = layui.layer; | 
 |  |  |     laydate = layui.laydate; | 
 |  |  |     var form = layui.form; | 
 |  |  |     admin = layui.admin; | 
 |  |  |  | 
 |  |  |     // 模拟从后端接口获取数据 | 
 |  |  |     $.ajax({ | 
 |  |  |         url: baseUrl + "/pla/dropdownValues/list", | 
 |  |  |         headers: {'token': localStorage.getItem('token')}, | 
 |  |  |         method: 'GET', | 
 |  |  |         success: function (res) { | 
 |  |  |             if (res.code === 200) { | 
 |  |  |                 var data = res.data | 
 |  |  |  | 
 |  |  |                 if (data.owner && Array.isArray(data.owner)) { | 
 |  |  |                     data.owner.forEach(function(item) { | 
 |  |  |                         $('#ownerSelect').append(new Option(item, item)); | 
 |  |  |                     }); | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 if (data.workshop && Array.isArray(data.workshop)) { | 
 |  |  |                     data.workshop.forEach(function(item) { | 
 |  |  |                         $('#workshopSelect').append(new Option(item, item)); | 
 |  |  |                     }); | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 // 重新渲染 LayUI 表单 | 
 |  |  |                 form.render('select'); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |     }); | 
 |  |  |  | 
 |  |  |     // 日期时间范围 | 
 |  |  |     laydate.render({ | 
 |  |  | 
 |  |  |             return $(window).height() - otherHeight - 100; // 返回 number 类型 | 
 |  |  |         }, | 
 |  |  |         //height: 'full', | 
 |  |  |         limit: 16, | 
 |  |  |         limits: [16, 50, 100, 200, 500,2000,5000,10000], | 
 |  |  |         limit: 500, | 
 |  |  |         limits: [16, 50, 100, 200, 500,], | 
 |  |  |         even: true, | 
 |  |  |         toolbar: '#toolbar', | 
 |  |  |         cellMinWidth: 50, | 
 |  |  | 
 |  |  |             }); | 
 |  |  |             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, | 
 |  |  | 
 |  |  |             }); | 
 |  |  |         } | 
 |  |  |     }); | 
 |  |  |  | 
 |  |  |     // 渲染物料选择 | 
 |  |  |     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){ | 
 |  |  | 
 |  |  |                         headers: {token: localStorage.getItem('token')}, | 
 |  |  |                         url: baseUrl+'/plaQty/list/auth', | 
 |  |  |                         where: { | 
 |  |  |                             brand: data.brand, | 
 |  |  |                             batch: data.batch, | 
 |  |  |                             package_no: data.packageNo | 
 |  |  |                         }, | 
 |  |  | 
 |  |  |         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].batch+";"+printData.data[i].packageNo+";"+printData.data[i].line) | 
 |  |  |                 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].batch+";"+printData.data[i].packageNo+";"+printData.data[i].line) | 
 |  |  |                 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(); | 
 |  |  | 
 |  |  |         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: { | 
 |  |  | 
 |  |  |  | 
 |  |  |         for(var i=0; i<data.length; i++){ | 
 |  |  |             if(data[i].LAY_CHECKED){ | 
 |  |  |                 if(data[i].status === "暂入库" || data[i].status === "待入库" || data[i].status === "全部出库"|| data[i].weightAnfme <= data[i].qtyAnfme){ | 
 |  |  |                 if(data[i].status === "暂入库" || data[i].status === "待入库" || data[i].status === "全部出库"|| data[i].weightAnfme < data[i].qtyAnfme){ | 
 |  |  |                     layer.msg("选中的明细还未入库或者已全部出库或者没有剩余可出重量,请重新选择"); | 
 |  |  |                     return; | 
 |  |  |                 } | 
 |  |  | 
 |  |  |                     layer.msg("选中的明细中含有多种牌号,请重新选择"); | 
 |  |  |                     return; | 
 |  |  |                 } | 
 |  |  |                 if(data[i].stockFreeze === 0){ | 
 |  |  |                     layer.msg("选中的明细中含有冻结的库存,请解冻后操作"); | 
 |  |  |                 //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]); | 
 |  |  | 
 |  |  |  | 
 |  |  |                 var iframe = window['layui-layer-iframe' + index]; | 
 |  |  |                 iframe.child(dataSave) | 
 |  |  |             }, | 
 |  |  |             end: function() { | 
 |  |  |                 // ✅ 子页面关闭时刷新表格 | 
 |  |  |                 tableReload(false); // 或根据实际情况传 true/false | 
 |  |  |             } | 
 |  |  |         }); | 
 |  |  |     }) |