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();
|
}
|
});
|