27 changed files with 1501 additions and 372 deletions
@ -0,0 +1,260 @@ |
|||||
|
<!DOCTYPE html> |
||||
|
<html lang="en" xmlns:th="http://www.thymeleaf.org"> |
||||
|
<head> |
||||
|
<meta charset="utf-8"> |
||||
|
<title>layui</title> |
||||
|
<meta name="renderer" content="webkit"> |
||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> |
||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> |
||||
|
<link rel="stylesheet" href="/static/lib/layui-v2.6.3/css/layui.css" media="all"> |
||||
|
<link rel="stylesheet" href="/static/css/public.css" media="all"> |
||||
|
</head> |
||||
|
<body> |
||||
|
|
||||
|
<div class="layuimini-container"> |
||||
|
<div class="layuimini-main"> |
||||
|
|
||||
|
<script id="toolbarDemo" type="text/html"> |
||||
|
<div class="layui-btn-container"> |
||||
|
<button class="layui-btn layui-btn-normal layui-btn-sm data-add-btn" lay-event="delete">删除</button> |
||||
|
<button class="layui-btn layui-btn-normal layui-btn-sm data-add-btn" lay-event="applicationOut">出库</button> |
||||
|
</div> |
||||
|
</script> |
||||
|
|
||||
|
<table class="layui-hide" id="currentTableId" lay-filter="currentTableFilter"></table> |
||||
|
<script id="currentTableBar" type="text/html"> |
||||
|
<a class="layui-btn layui-btn-xs data-count-edit" lay-event="applicationOut" >出库</a> |
||||
|
</script> |
||||
|
</div> |
||||
|
</div> |
||||
|
<script src="/static/lib/layui-v2.6.3/layui.js" charset="utf-8"></script> |
||||
|
<script> |
||||
|
var data; |
||||
|
layui.use(['form', 'table'], function () { |
||||
|
var $ = layui.jquery, |
||||
|
form = layui.form, |
||||
|
table = layui.table; |
||||
|
|
||||
|
|
||||
|
table.render({ |
||||
|
elem: "#currentTableId", |
||||
|
url: '/group/applicant_multi_create', |
||||
|
parseData: function (res) { //res 即为原始返回的数据 |
||||
|
return { |
||||
|
"status": res.status, //解析接口状态 |
||||
|
"message": res.statusInfo.message, //解析提示文本 |
||||
|
"count": res.count, //解析数据长度 |
||||
|
"data": res.data //解析数据列表 |
||||
|
}; |
||||
|
}, |
||||
|
request: { |
||||
|
pageName: 'page', //页码的参数名称,默认:page |
||||
|
limitName: 'size' //每页数据量的参数名,默认:limit |
||||
|
}, |
||||
|
response: { |
||||
|
statusName: 'status' //规定数据状态的字段名称,默认:code |
||||
|
,statusCode: 200 //规定成功的状态码,默认:0 |
||||
|
,msgName: 'message' //规定状态信息的字段名称,默认:msg |
||||
|
,countName: 'count' //规定数据总数的字段名称,默认:count |
||||
|
,dataName: 'data' //规定数据列表的字段名称,默认:data |
||||
|
}, |
||||
|
toolbar: '#toolbarDemo', |
||||
|
cols: [ |
||||
|
[ |
||||
|
{type: "checkbox", width: 50}, |
||||
|
{field: 'gname', width: 150, title: '组合名称'}, |
||||
|
{field: 'code', width: 150, title: '组合编码'}, |
||||
|
{title: '拥有物料', width: 700, align: "center"}, |
||||
|
{field: 'quantity', width: 200, title: '数量',edit:'quantity'}, |
||||
|
{title: '操作', minWidth: 200, toolbar: '#currentTableBar', align: "center"}, |
||||
|
] |
||||
|
], |
||||
|
limits: [10, 15, 20, 25, 50,100], |
||||
|
limit: 10, |
||||
|
page: true, |
||||
|
skin: 'line', |
||||
|
done: function (res, curr, count) { |
||||
|
$.each(res['data'], function (i, j) { |
||||
|
let materialSimple = j["materialSimple"]; |
||||
|
let gid = j["id"]; |
||||
|
let keys = Object.keys(materialSimple); |
||||
|
var materialItem = $("[lay-id='currentTableId'] tr:eq(" + (i+1) + ")").children()[3]; |
||||
|
var aItem = materialItem.childNodes[0]; |
||||
|
for (let k = 0; k < keys.length; k++) { |
||||
|
$(aItem).append('<button id='+ gid+' class="layui-btn layui-btn-primary layui-btn-xs" value='+materialSimple[keys[k]]+'>'+keys[k]+'</button>') |
||||
|
} |
||||
|
}) |
||||
|
} |
||||
|
}); |
||||
|
|
||||
|
//监听表格复选框选择 |
||||
|
table.on('checkbox(currentTableFilter)', function (obj) { |
||||
|
console.log(obj) |
||||
|
}); |
||||
|
|
||||
|
table.on('edit(currentTableFilter)', function(obj){ //注:edit是固定事件名,test是table原始容器的属性 lay-filter="对应的值" |
||||
|
|
||||
|
var req = {}; |
||||
|
req.gid = obj.data.id; |
||||
|
req.quantity = obj.data.quantity; |
||||
|
$.ajax({ |
||||
|
url: "/group/groupQuantityIsTrue", |
||||
|
type: "post", |
||||
|
data: JSON.stringify(req), |
||||
|
dataType: 'json', |
||||
|
contentType: "application/json;charset=utf-8", |
||||
|
success: function (res) { |
||||
|
var flag = res.data; |
||||
|
if (!flag) { // 如果当前数目不合适 |
||||
|
layer.msg("当前组合中有物料库存数量不足", {icon: 0, time: 500}, function () { |
||||
|
obj.update({quantity:1}) |
||||
|
}); |
||||
|
|
||||
|
} |
||||
|
} |
||||
|
}); |
||||
|
}); |
||||
|
|
||||
|
/** |
||||
|
* toolbar监听事件 |
||||
|
*/ |
||||
|
table.on('toolbar(currentTableFilter)', function (obj) { |
||||
|
|
||||
|
var checkStatus = table.checkStatus('currentTableId') |
||||
|
, data = checkStatus.data; |
||||
|
var req = {}; |
||||
|
req.quantitys = []; |
||||
|
req.gids = []; |
||||
|
for (i = 0, len = data.length; i < len; i++) { |
||||
|
req.quantitys[i] = data[i].quantity; |
||||
|
req.gids[i] = data[i].id; |
||||
|
} |
||||
|
|
||||
|
if(obj.event==='delete'){ |
||||
|
if(req.gids.length > 0) { |
||||
|
layer.confirm('真的删除么', {icon: 2, title: '提示'}, function (index) { |
||||
|
$.ajax({ |
||||
|
url: "/group/deleteApplicationToRedis", |
||||
|
type: "post", |
||||
|
data: JSON.stringify(req), |
||||
|
dataType: "json", |
||||
|
contentType: "application/json;charset=utf-8", |
||||
|
success: function (d) { |
||||
|
layer.close(this.layerIndex); |
||||
|
if (d.status >= 300) { |
||||
|
layer.msg(d.statusInfo.message);//失败的表情 |
||||
|
return; |
||||
|
} else { |
||||
|
layer.msg("删除成功!", { |
||||
|
icon: 6,//成功的表情 |
||||
|
time: 1000 |
||||
|
}, //1秒关闭(如果不配置,默认是3秒) |
||||
|
function () { |
||||
|
//do something |
||||
|
table.reload('currentTableId', { |
||||
|
url: '/group/applicant_multi_create', |
||||
|
page: { |
||||
|
curr: 1 |
||||
|
} |
||||
|
}, 'data'); |
||||
|
}); |
||||
|
} |
||||
|
} |
||||
|
}) |
||||
|
}) |
||||
|
}else{ |
||||
|
layer.msg("未选中记录,请确认!"); |
||||
|
return false; |
||||
|
} |
||||
|
} |
||||
|
else if(obj.event === 'applicationOut'){ |
||||
|
req.type = "more"; |
||||
|
$.ajax({ |
||||
|
url:"/group/createMultiApplication", |
||||
|
type:"post", |
||||
|
data:JSON.stringify(req), |
||||
|
dataType: "json", |
||||
|
contentType: "application/json;charset=utf-8", |
||||
|
success: function (d) { |
||||
|
layer.close(this.layerIndex); |
||||
|
if (d.status >= 300) { |
||||
|
layer.msg(d.statusInfo.message,{ |
||||
|
icon:0, |
||||
|
time:1000 |
||||
|
});//失败的表情 |
||||
|
return; |
||||
|
}else if(d.status === 1234){ |
||||
|
layer.msg(d.data,{ |
||||
|
icon:0, |
||||
|
time:1000 |
||||
|
}) |
||||
|
return |
||||
|
} |
||||
|
else { |
||||
|
layer.msg("申请成功!", { |
||||
|
icon: 6,//成功的表情 |
||||
|
time: 1000 |
||||
|
}, //1秒关闭(如果不配置,默认是3秒) |
||||
|
function(){ |
||||
|
//do something |
||||
|
table.reload('currentTableId', { |
||||
|
url: '/group/applicant_multi_create', |
||||
|
page: { |
||||
|
curr: 1 |
||||
|
} |
||||
|
}, 'data'); |
||||
|
}); |
||||
|
} |
||||
|
} |
||||
|
}); |
||||
|
return false; |
||||
|
} |
||||
|
|
||||
|
}); |
||||
|
|
||||
|
table.on('tool(currentTableFilter)', function (obj) { |
||||
|
let data = obj.data; |
||||
|
if(obj.event === 'applicationOut'){ |
||||
|
// 出库申请 |
||||
|
var req = data; |
||||
|
req.type = "one"; |
||||
|
$.ajax({ |
||||
|
url:"/group/createMultiApplication", |
||||
|
type:"post", |
||||
|
data:JSON.stringify(req), |
||||
|
dataType: "json", |
||||
|
contentType: "application/json;charset=utf-8", |
||||
|
success: function (d) { |
||||
|
layer.close(this.layerIndex); |
||||
|
if (d.status >= 300) { |
||||
|
layer.msg(d.statusInfo.message,{ |
||||
|
icon:0, |
||||
|
time:1000 |
||||
|
});//失败的表情 |
||||
|
return; |
||||
|
} else { |
||||
|
layer.msg("申请成功!", { |
||||
|
icon: 6,//成功的表情 |
||||
|
time: 1000 |
||||
|
}, //1秒关闭(如果不配置,默认是3秒) |
||||
|
function(){ |
||||
|
//do something |
||||
|
table.reload('currentTableId', { |
||||
|
url: '/group/applicant_multi_create', |
||||
|
page: { |
||||
|
curr: 1 |
||||
|
} |
||||
|
}, 'data'); |
||||
|
}); |
||||
|
} |
||||
|
} |
||||
|
}); |
||||
|
return false; |
||||
|
} |
||||
|
|
||||
|
}); |
||||
|
}); |
||||
|
</script> |
||||
|
|
||||
|
</body> |
||||
|
</html> |
||||
Loading…
Reference in new issue