var initCountVal = 0; var initAnfmeVal = "-"; var matCodeData = []; var currLocNo; var matCodeLayerIdx; var data = []; var checkStatus = []; var dataCheck = []; var admin; function getCol() { var cols = [ {field: 'id', title: 'id', align: 'center',hide:true} ,{type: 'checkbox'} ,{field: 'pakinTime$', title: '入库时间', align: 'center' , sort: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: '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: '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} ,{field: 'packageType', align: 'center',title: '包装类型',edit:true} ,{field: 'zpalletType', align: 'center',title: '托盘类型',edit:true} ,{field: 'filmWrap', align: 'center',title: '缠膜',edit: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: 'massState', align: 'center',title: '质量状态',edit:true} ,{field: 'problem', align: 'center',title: '备注',edit:true} ,{field: 'direction', align: 'center',title: '应用方向',edit:true} ,{field: 'position', align: 'center',title: '存放位置',edit:true} ,{field: 'stash', align: 'center',title: '仓库',edit:true} ,{field: 'locNo', align: 'center',title: '库位',edit:true} ,{field: 'weightAnfme', align: 'center',title: '剩余重量(KG)',edit:true} ,{field: 'qtyAnfme', align: 'center',title: '待出库重量(KG)',hide:true} ,{field: 'status', align: 'center',title: '状态', templet: setState ,edit:true} ,{align: 'center', title: '流转明细', toolbar: '#tbLook'} // ,{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: '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 "待入库" }else if(data.status === "已入库"){ return "已入库" }else if(data.status === "待出库"){ return "待出库" }else if(data.status === "部分出库"){ return "部分出库" }else if(data.status === "全部出库"){ return "全部出库" }else if(data.status === "暂入库"){ return "暂入库" } } layui.config({ base: baseUrl + "/static/layui/lay/modules/" }).extend({ dropdown: 'dropdown/dropdown', }).use(['table','laydate', 'form', 'admin', 'dropdown'], function() { var table = layui.table; var $ = layui.jquery; var layer = layui.layer; var layDate = layui.laydate; var form = layui.form; admin = layui.admin; // 数据渲染 tableIns = table.render({ elem: '#plaDetl', headers: {token: localStorage.getItem('token')}, url: baseUrl+'/pla/list/auth?step=2', page: true, limit: 16, limits: [16, 30, 50, 100, 200, 500], even: true, toolbar: '#toolbar', cellMinWidth: 50, cols: [getCol()], 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 } }, response: { statusCode: 200 }, done: function(res, curr, count) { if (res.code === 403) { top.location.href = baseUrl+"/"; } tableData = table.cache.locDetl; console.log(tableData); pageCurr=curr; limit(); form.on('checkbox(tableCheckbox)', function (data) { var _index = $(data.elem).attr('table-index')||0; if(data.elem.checked){ res.data[_index][data.value] = 'Y'; }else{ res.data[_index][data.value] = 'N'; } }); } }); table.on('tool(plaDetl)', function (obj) { var data = obj.data; var layEvent = obj.event; if (layEvent === 'look') { var $a = $(obj.tr).find('a[lay-event="look"]'); var offset = $a.offset(); var top = offset.top; var left = offset.left; layer.open({ type: 1, title: false, area: '1200px', offset: ['600px', (left - 1200 + $a.outerWidth()) + 'px'], shade: .01, shadeClose: true, fixed: false, content: '
', success: function (layero) { table.render({ elem: '#lookSSXMTable', headers: {token: localStorage.getItem('token')}, url: baseUrl+'/plaQty/list/auth', where: { batch: data.batch, package_no: data.packageNo }, page: true, cellMinWidth: 100, cols: [[ {type: 'numbers'}, {field: 'orderNo', title: '单号'}, {field: 'pakoutTime', title: '出库时间'}, {field: 'orderWeight', title: '重量'}, {field: 'handlerBy', title: '经办人'}, {field: 'transfer', title: '流转形式'}, {field: 'customer', title: '客户名称'}, {field: 'allocate', title: '调拨到'}, {field: 'memo', title: '备注'}, ]], request: { pageName: 'curr', pageSize: 'limit' }, parseData: function (res) { return { 'code': res.code, 'msg': res.msg, 'count': res.data.total, 'data': res.data.records } }, response: { statusCode: 200 }, done: function () { $(layero).find('.layui-table-view').css('margin', '0'); }, size: '' }); } }); } }) // 监听头工具栏事件 table.on('toolbar(plaDetl)', function (obj) { var checkStatus = table.checkStatus(obj.config.id) 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) } } }) }); } } }) // 搜索栏搜索事件 form.on('submit(search)', function (data) { pageCurr = 1; tableReload(false); }); // 重置事件 form.on('submit(reset)', function (data) { reset(); }); function reset() { clearFormVal($('#search-box')); matCodeData = []; tableReload(); locTips(false); } // 重载表格 // function tableReload() { // tableIns.reload({data: matCodeData}); // } function tableReload(child) { var searchData = { }; $.each($('#search-box [name]').serializeArray(), function() { searchData[this.name] = this.value; }); (child ? parent.tableIns : tableIns).reload({ where: searchData, page: { curr: pageCurr }, done: function (res, curr, count) { if (res.code === 403) { top.location.href = baseUrl+"/"; } pageCurr=curr; if (res.data.length === 0 && count !== 0) { tableIns.reload({ where: searchData, page: { curr: pageCurr-1 } }); pageCurr -= 1; } limit(child); } }); } $(document).on('click','#add', function () { var now = dateToStr(new Date()) var newRow = {ioTime : now}; data = table.cache.plaDetl; data.push(newRow); table.reload('plaDetl',{ data: data }) }) $(document).on('click','#delete', function () { let dataNew = []; let data = table.cache.plaDetl; for(var i=0; i 1){ layer.msg("请勾选一条库存明细"); return; } layer.open({ type: 2, title: '卖出', maxmin: true, area: ['800px', top.detailHeight], shadeClose: false, content: 'pickup.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) } }); }) $(document).on('click','#returned', function () { layer.open({ type: 2, title: '退回', maxmin: true, area: ['800px', '800px'], shadeClose: false, content: 'returned.html', success: function(layero, index){ layer.getChildFrame('#data-detail-submit-edit', index).hide(); top.convertDisabled(layer.getChildFrame('#data-detail :input', index), false); } }); }) }) // 关闭动作 $(document).on('click','#data-detail-close', function () { 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}); }