var pageCurr; var locNormalList = []; var locArea = []; function getCol() { var cols = []; cols.push( {type: 'checkbox', fixed: 'left'}, {field: 'anfme', align: 'center', title: '数量', sort: true, edit: 'text'} ) cols.push.apply(cols, locNormalCols); cols.push( {field: 'warehouse$', align: 'center', title: '库区'} , {field: 'state$', align: 'center', title: '出入库状态', templet: '#locNormalState'} ,{field: 'matStatus', align: 'center',title: '物料状态', width: 100, templet: '#matStatus'} , {field: 'modiUser$', align: 'center', title: '修改人员', hide: true} , {field: 'modiTime$', align: 'center', title: '修改时间', hide: true} , {field: 'appeTime$', align: 'center', title: '创建时间', hide: true} , {field: '', align: 'center', title: '操作', width: 135, fixed: 'right', templet: '#operate'} ); return cols; } layui.use(['table', 'laydate', 'form', 'upload'], function () { var table = layui.table; var $ = layui.jquery; var layer = layui.layer; var layDate = layui.laydate; var form = layui.form; var upload = layui.upload; // 库区下拉 // 获取仓库下拉 $.ajax({ url: baseUrl + "/locArea/query/allArea", headers: {'token': localStorage.getItem('token')}, method: 'POST', success: function (res) { if (res.code === 200) { var html = ""; if (res.data && res.data.length > 0) { locArea = res.data; html += res.data.map(function (item) { return ""; }); } $('#putSiteSelect').append(html); layui.form.render('select'); } else if (res.code === 403) { top.location.href = baseUrl + "/"; } else { layer.msg(res.msg) } } }); // 导入excel var uploader = upload.render({ elem: '#uploadEx' , url: baseUrl + '/locNormal/import/auth' , headers: {token: localStorage.getItem('token')} , accept: 'file' , exts: 'xls|excel|xlsx' , auto: false , bindAction: '#uploadDo' , before: function (obj) { layer.closeAll(); layer.load(1, {shade: [0.1, '#fff']}); } , choose: function (obj) { $('#uploadDesc').hide(); $('#uploadDemoView').show(); obj.preview(function (index, file, result) { $('#fileMame').html(file.name); }); } , done: function (res) { limit(); $('#uploadDesc').show(); $('#uploadDemoView').hide(); $('#fileMame').html(""); layer.closeAll('loading'); layer.msg(res.msg); tableReload(false); } , error: function (index, upload) { layer.closeAll('loading'); } }); /* 导入 */ table.on('toolbar(locNormal)', function (obj) { switch (obj.event) { // 导入 case 'intoData': layer.open({ type: 1, title: '数据导入', shadeClose: true, content: $('#importDataDiv'), success: function (layero, index) { uploader.reload(); }, end: function () { $('#uploadDesc').show(); $('#uploadDemoView').hide(); $('#fileMame').html(""); } }); break; // 导出 case 'exportData': layer.confirm('确定导出Excel吗', {shadeClose: true}, function(){ var fields=[]; var titles=[]; var exportData = {}; obj.config.cols[0].map(function (col) { if (col.type === 'normal' && col.hide === false && col.toolbar == null) { titles.push(col.title); fields.push(col.field); } }); $.each($('#search-box [name]').serializeArray(), function() { exportData[this.name] = this.value; }); var param = { 'exportData': exportData, 'fields': fields }; $.ajax({ url: baseUrl+"/locNormal/export/auth", headers: {'token': localStorage.getItem('token')}, data: JSON.stringify(param), dataType:'json', contentType:'application/json;charset=UTF-8', method: 'POST', success: function (res) { layer.closeAll(); if (res.code === 200) { table.exportFile(titles,res.data,'xls'); } else if (res.code === 403) { top.location.href = baseUrl+"/"; } else { layer.msg(res.msg) } } }); }); break; } }); // 数据渲染 tableIns = table.render({ elem: '#locNormal', headers: {token: localStorage.getItem('token')}, url: baseUrl + '/locNomal/list/auth', 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) { return { 'code': res.code, 'msg': res.msg, 'count': res.data.total, 'data': res.data.records, } }, response: { statusCode: 200 }, done: function (res, curr, count) { console.log(res); if (res.code === 403) { top.location.href = baseUrl + "/"; } pageCurr = curr; limit(); // 当前分页数据存储 locNormalList = res.data; } }); // 监听排序事件 table.on('sort(locNormal)', 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(); // 当前分页数据存储 locNormalList = res.data; } }); }); // 页面修改 table.on('edit(locNormal)', function (obj) { var count = obj.value; var matnr = obj.data.matnr; var id = obj.data.id; if (isNaN(count)) { layer.msg("请输入数字"); // 数据重载 tableIns.reload({ data: locNormalList, done: function (res) { limit(); } }); } else { if (count > 0) { for (var i = 0; i < locNormalList.length; i++) { if (locNormalList[i]["matnr"] === matnr) { locNormalList[i]["anfme"] = count; } } } else { layer.msg("数量必须大于零"); } } // 请求更新接口完成数量的更新 const param = { matnr: matnr, anfme: count, id: id, warehouse: obj.data.warehouse, supplier: obj.data.supplier, mnemonic: obj.data.mnemonic, } layer.confirm("确定修改" + obj.data.maktx + "的数量吗", { btn: ['确定', '取消'] }, function () { // 按钮1的事件 $.ajax({ url: baseUrl + "/locNormal/update/auth", headers: {'token': localStorage.getItem('token')}, data: top.reObject(param), method: 'POST', success: function (res) { layer.msg("修改成功"); }, }); }, function () { // 按钮2的事件 tableIns.reload(); }); }); // 搜索栏重置事件 form.on('submit(reset)', function (data) { pageCurr = 1; clearFormVal($('#search-box')); tableReload(false); }); // 搜索栏搜索事件 form.on('submit(search)', function (data) { pageCurr = 1; tableReload(false); }); // 监听行工具事件 table.on('tool(locNormal)', function (obj) { var data = obj.data; var param = { matnr: data.matnr, id: data.id, } switch (obj.event) { case 'outLocNormal': var warehourse = data.warehouse; if(warehourse !== 'cs'){ layer.msg("只能出材料平仓"); return; } layer.confirm('确定要出库[' + data.matnr + ']吗?', { btn: ['确定', '取消'] //可以无限个按钮 }, function (index, layero) { //确定回调-出库 $.ajax({ url: baseUrl + "/locNormal/outLoc/auth", headers: {'token': localStorage.getItem('token')}, data: top.reObject(param), method: 'POST', success: function (res) { tableReload(false); layer.closeAll(); layer.msg("出库成功"); }, }); }, function (index) { //按钮【按钮二】的回调 }); break; case 'removeLocNormal': // 移除 layer.confirm('确定要移除[' + data.matnr + ']吗?', { btn: ['确定', '取消'] //可以无限个按钮 }, function (index, layero) { //确定回调-移除 $.ajax({ url: baseUrl + "/locNormal/removeLoc/auth", headers: {'token': localStorage.getItem('token')}, data: top.reObject(param), method: 'POST', success: function (res) { tableReload(false); layer.closeAll(); layer.msg("移除成功"); }, }); }, function (index) { //按钮【按钮二】的回调 }); break; } }); }); /* 表格数据重载 */ 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); // 当前分页数据存储 locNormalList = res.data; } }); } /* 监听回车事件 */ $('body').keydown(function () { if (event.keyCode === 13) { $("#search").click(); } }); // 提取物料 var addLocNormalIdx; function addLocNormal() { addLocNormalIdx = layer.open({ type: 2, title: '新增', maxmin: true, area: [top.detailWidth, '550px'], shadeClose: true, content: 'addLocNormal.html', success: function (layero, index) { } }); } var matStatusConfirm; function showMatStatus1() { var layer = layui.layer; var table = layui.table; // 获取选中行 var checkStatus = table.checkStatus('locNormal'); // 选择行数据 var checkData = checkStatus.data; if (checkData.length == 0) { layer.msg("请选择数据"); return; } matStatusConfirm = layer.open({ type: 2, title: '选择物料状态', area: ['300px', '175px'], content: '../pakStore/matStatus.html', btn: ['确定'], success: function (layero, index) { // 成功打开弹窗 // tableReload(false); }, yes: function (index, layero) { // 子页面 var matStatus = layero.find('iframe')[0].contentDocument; // 子页面选择数据监控 var forms = matStatus.forms; var cho = forms[0][0].value; // 入参拼接 if (checkData && checkData.length > 0) { checkData.map(function (item) { item.matStatus = cho; }); } param = { list: checkData, }; // 更新物料状态 console.log('选择数据', checkData); $.ajax({ url: baseUrl+"/locNormal/getAllLocDetlData", headers: {'token': localStorage.getItem('token')}, data: JSON.stringify(param), dataType:'json', contentType:'application/json;charset=UTF-8', method: 'POST', success: function (res) { console.log('返回值', res); // 关闭弹窗 layer.close(index); // 表格数据重置 tableReload(false); } }); } }); }