var pageCurr; layui.use(['table','laydate', 'form'], function() { var table = layui.table; var $ = layui.jquery; var layer = layui.layer; var layDate = layui.laydate; var form = layui.form; // 数据渲染 tableIns = table.render({ elem: '#stockOut', headers: {token: localStorage.getItem('token')}, url: baseUrl+'/stock/out/list/auth', page: true, limit: 10, even: true, toolbar: '#toolbar', cellMinWidth: 50, cols: [[ {type: 'checkbox'} ,{field: 'locNo$', align: 'center',title: '库位号'} ,{field: 'matnr', align: 'center',title: '物料'} ,{field: 'lgnum', align: 'center',title: '仓库号', width:80} ,{field: 'tbnum', align: 'center',title: '转储请求编号'} // ,{field: 'tbpos', align: 'center',title: '行项目'} ,{field: 'zmatid', align: 'center',title: '物料标签ID', width:200} ,{field: 'maktx', align: 'center',title: '物料描述', width:150} ,{field: 'werks', align: 'center',title: '工厂'} ,{field: 'anfme', align: 'center',title: '数量', width:80} ,{field: 'altme', align: 'center',title: '单位', width:80} ,{field: 'zpallet', align: 'center',title: '托盘条码'} ,{field: 'bname', align: 'center',title: '用户ID'} // ,{field: 'memo', align: 'center',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(res, curr, count) { if (res.code === 403) { top.location.href = baseUrl+"/"; } 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'; } }); getOutBound(); } }); // 监听排序事件 table.on('sort(stockOut)', function (obj) { var searchData = {}; $.each($('#search-box [name]').serializeArray(), function() { searchData[this.name] = this.value; }); searchData['orderByField'] = obj.field; searchData['orderByType'] = obj.type; tableIns.reload({ where: searchData, page: { curr: 1 }, done: function (res, curr, count) { if (res.code === 403) { top.location.href = baseUrl+"/"; } pageCurr=curr; limit(); } }); }); // 监听头工具栏事件 table.on('toolbar(stockOut)', function (obj) { var data = table.checkStatus(obj.config.id).data; switch (obj.event) { case 'outbound': var staNo = $("#staNoSelect").val(); if (staNo === "" || staNo === null){ layer.msg("请选择出库口"); return; } var locNos = []; data.forEach(function(elem) { locNos.push(elem.locNo); }); if (data.length === 0){ layer.msg('请至少选中一行数据'); } else { $.ajax({ url: baseUrl+"/plate/out/start", headers: {'token': localStorage.getItem('token')}, data: { outSite: staNo, locNos: locNos }, method: 'POST', traditional:true, success: function (res) { if (res.code === 200){ tableReload(); // 重载表格 getOutBound(); // 重载出库口 layer.msg(res.msg); } else if (res.code === 403){ top.location.href = baseUrl+"/"; } else { layer.msg(res.msg) } } }); } break; } }); // 搜索栏搜索事件 form.on('submit(search)', function (data) { pageCurr = 1; tableReload(); getOutBound(); }); // 搜索栏重置事件 form.on('submit(reset)', function (data) { pageCurr = 1; clearFormVal($('#search-box')); tableReload(); getOutBound(); }); // 获取出库口 function getOutBound(){ $.ajax({ url: baseUrl+"/available/take/site", headers: {'token': localStorage.getItem('token')}, method: 'POST', async: false, success: function (res) { if (res.code === 200){ var tpl = $("#takeSiteSelectTemplate").html(); var template = Handlebars.compile(tpl); var html = template(res); $('#staNoSelect').append(html); form.render('select'); } else if (res.code === 403){ top.location.href = baseUrl+"/"; }else { layer.msg(res.msg) } } }) } }) 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); } }); }