var pageCurr; layui.config({ base: baseUrl + "/static/layui/lay/modules/" }).use(['table','laydate', 'form', 'element', 'admin', 'xmSelect'], function(){ var table = layui.table; var $ = layui.jquery; var layer = layui.layer; var layDate = layui.laydate; var form = layui.form; var element = layui.element; var admin = layui.admin; var xmSelect = layui.xmSelect; // 数据渲染 tableIns = table.render({ elem: '#safeSto', headers: {token: localStorage.getItem('token')}, url: baseUrl+'/safeSto/list/auth', page: true, limit: 16, limits: [16, 30, 50, 100, 200, 500], toolbar: '#toolbar', cellMinWidth: 50, cols: [[ {type: 'numbers', fixed: 'left'} ,{field: 'node_name', align: 'center',title: '货位'} ,{field: 'matnr', align: 'center',title: '商品编号'} ,{field: 'maktx', align: 'center',title: '商品名称'} ,{field: 'progress', align: 'center',title: '使用情况', templet: '#progressTpl', width: 350} ,{field: 'status', align: 'center',title: '警报', templet: '#statusTpl', width: 100} ,{field: 'safe_qua', align: 'center',title: '安全库存量', style: 'font-weight: bold'} ,{field: 'amount', align: 'center',title: '当前库存量', style: 'font-weight: bold; color: #2d8cf0'} ,{fixed: 'right', title:'操作', align: 'center', toolbar: '#operate', width:120} ]], 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+"/"; } element.render('progress') pageCurr=curr; limit(); } }); // 监听头工具栏事件 table.on('toolbar(safeSto)', function (obj) { var checkStatus = table.checkStatus(obj.config.id); switch(obj.event) { case 'add': showEditModel(); break; case 'exportData': layer.confirm('确定导出Excel吗', {shadeClose: true}, function(){ window.location.href = baseUrl + '/safeSto/excel/export/auth?token='+localStorage.getItem('token'); layer.closeAll(); }); break; } }); // 监听行工具事件 table.on('tool(safeSto)', function(obj){ var data = obj.data; switch (obj.event) { // 修改 case 'modify': console.log(data); showEditModel(data); break; // 删除 case 'del': var params = []; params.push({ nodeId: data.node_id, nodeName: data.node_name, matnr: data.matnr }) doDel(params); break; // 补仓 case 'allot': layer.confirm(data.node_name +'补仓 '+ data.matnr + ',数量:' + (data.safe_qua - data.amount), function(){ var index = layer.load(1, {shade: [0.1,'#000']}); $.ajax({ url: baseUrl+"/work/stock/transfer", headers: {'token': localStorage.getItem('token')}, contentType:'application/json;charset=UTF-8', data: JSON.stringify({ node_id: data.node_id, matnr: data.matnr, safe_qua: data.safe_qua, amount: data.amount }), dataType:'json', method: 'POST', success: function (res) { if (res.code === 200) { layer.msg(res.msg, {icon: 1}) $(".layui-laypage-btn")[0].click(); } else if (res.code === 403) { top.location.href = baseUrl+"/"; } else { layer.msg(res.msg, {icon: 2}) } layer.close(index); } }); }); break; } }); /* 显示表单弹窗 */ function showEditModel(mData) { admin.open({ type: 1, area: '500px', title: (mData ? '修改' : '添加') + '安全库存', content: $('#editDialog').html(), success: function (layero, dIndex) { // 回显表单数据 form.val('detail', mData); // 表单提交事件 form.on('submit(editSubmit)', function (data) { data.field.nodeId = insNodeXmSel.getValue()[0] ? insNodeXmSel.getValue()[0].id : null; data.field.matId = matXmSelect.getValue()[0] ? matXmSelect.getValue()[0].value : null; var loadIndex = layer.load(2); $.ajax({ url: baseUrl+"/safeSto/"+(mData?'update':'add')+"/auth", headers: {'token': localStorage.getItem('token')}, data: JSON.stringify(data.field), contentType:'application/json;charset=UTF-8', method: 'POST', success: function (res) { layer.close(loadIndex); if (res.code === 200){ layer.close(dIndex); layer.msg(res.msg, {icon: 1}); tableReload(); } else if (res.code === 403){ top.location.href = baseUrl+"/"; }else { layer.msg(res.msg, {icon: 2}); } } }) return false; }); // 渲染仓库下拉树 var insNodeXmSel; $.ajax({ url: baseUrl + "/node/tree/auth", headers: {'token': localStorage.getItem('token')}, method: 'POST', async: false, success: function (res) { if (res.code === 200) { insNodeXmSel = xmSelect.render({ el: '#nodeSel', autoRow: true, radio: true, // 单选 filterable: true, height: '300px', tree: { show: true, showFolderIcon: true, showLine: true, indent: 20, strict: false, // 父节点也能选中,重要 clickExpand: true, clickCheck: false, expandedKeys: true }, prop: { name: 'title', value: 'id', }, toolbar: { show: true, list: ['ALL', 'REVERSE', 'CLEAR'] }, data: function(){ return res.data } }) } else { layer.msg(res.msg, {icon: 2}); } } }) // 渲染商品选择 var matXmSelect = xmSelect.render({ el: '#mat', radio: true, autoRow: true, toolbar: { show: true }, filterable: true, remoteSearch: true, remoteMethod: function(val, cb, show){ //这里如果val为空, 则不触发搜索 // if(!val){ // return cb([]); // } $.ajax({ url: baseUrl+"/mat/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}); } } }); } }) // 弹窗不出现滚动条 $(layero).children('.layui-layer-content').css('overflow', 'visible'); layui.form.render('select'); } }); } /* 删除 */ function doDel(params) { layer.confirm('确定要删除选中数据吗?', { skin: 'layui-layer-admin', shade: .1 }, function (i) { layer.close(i); var loadIndex = layer.load(2); $.ajax({ url: baseUrl+"/safeSto/delete/auth", headers: {'token': localStorage.getItem('token')}, data: JSON.stringify(params), contentType:'application/json;charset=UTF-8', method: 'POST', success: function (res) { layer.close(loadIndex); if (res.code === 200){ layer.msg(res.msg, {icon: 1}); $(".layui-laypage-btn")[0].click(); } else if (res.code === 403){ top.location.href = baseUrl+"/"; } else { layer.msg(res.msg, {icon: 2}); } } }) }); } // 搜索栏搜索事件 form.on('submit(search)', function (data) { pageCurr = 1; tableReload(); }); // 搜索栏重置事件 form.on('submit(reset)', function (data) { pageCurr = 1; clearFormVal($('#search-box')); tableReload(); }); // 时间选择器 layDate.render({ elem: '#createTime\\$', type: 'datetime' }); layDate.render({ elem: '#updateTime\\$', type: 'datetime' }); }); // 关闭动作 $(document).on('click','#data-detail-close', function () { parent.layer.closeAll(); }); function tableReload() { var searchData = {}; $.each($('#search-box [name]').serializeArray(), function() { searchData[this.name] = this.value; }); tableIns.reload({ where: searchData, page: { curr: pageCurr } }); } $('body').keydown(function () { if (event.keyCode === 13) { $("#search").click(); } });