已废弃
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

337 lines
15 KiB

<!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">
<fieldset class="table-search-fieldset">
<legend>搜索信息</legend>
<div style="margin: 10px 10px 10px 10px">
<form class="layui-form layui-form-pane" action="">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">仓库</label>
<div class="layui-input-inline">
<!-- <select name="depositoryId" >
<option value="" selected>请选择仓库</option>
<option th:each="depository,iterStar:${depositories}" th:value="${depository?.getId()}" th:text="${depository?.getDname()}" >外芯仓库</option>
</select>-->
<input type="text" placeholder="请选择仓库" class="layui-input" id="openSonByDepository" readonly />
<input type="text" name="depositoryId" class="layui-input" id="depositoryId" style="display: none" />
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">物料名称</label>
<div class="layui-input-inline">
<input type="text" name="mname" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">存货编码</label>
<div class="layui-input-inline">
<input type="text" name="code" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-inline">
<button type="submit" class="layui-btn layui-btn-primary" lay-submit
lay-filter="data-search-btn"><i class="layui-icon"></i> 搜 索
</button>
</div>
</div>
</form>
</div>
</fieldset>
<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="add">添加</button>
<button class="layui-btn layui-btn-normal layui-btn-sm data-add-btn" lay-event="dispose">处理</button>
<button class="layui-btn layui-btn-normal layui-btn-sm data-add-btn" id="u_fileUpload" lay-event="import">导入数据</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-normal layui-btn-xs data-count-subclass" lay-event="applicationIn">入库申请</a>
<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','upload'], function () {
var $ = layui.jquery,
form = layui.form,
upload = layui.upload,
table = layui.table;
$('#openSonByDepository').on('click', function(){
layer.open({
type: 2,
title: '弹窗内容',
skin: 'layui-layer-rim',
maxmin: true,
shadeClose: true, //点击遮罩关闭层
area : ['70%' , '70%'],
move : '.layui-layer-title',
fixed:false,
content: '/selectDepository?type=2',
});
});
table.render({
elem: "#currentTableId",
url: '/material/findInventory',
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: 'id', width: '10%', title: '物料编号'},
{field: 'mname', width: '10%', title: '物料名称'},
{field: 'version',width: 200,title: '规格型号'},
{field: 'code',width: 200,title: '存货编码',sort: true},
{field: 'typeName', width: '10%', title: '物料类型'},
{field: 'depositoryName', width: '12%', title: '仓库名称'},
{field: 'depositoryCode', width: '12%', title: '仓库编码'},
{field: 'placeCode', width: '12%', title: '库位编码'},
{field: 'quantity', width: '10%', title: '数量', sort: true},
{field: 'price', title: '单价', width: '8%', sort: true},
{field: 'amounts', title: '总金额', minWidth: 150, sort: true},
{field: 'unit',width: '10%',title: '计量单位'},
{field: 'texture',width: '8%',title: '材质',},
{title: '操作', minWidth: 250, toolbar: '#currentTableBar', align: "center"}
]
],
limits: [10, 15, 20, 25, 50],
limit: 10,
page: true,
skin: 'line',
done:function () {
$("[data-field='id']").css('display','none');
}
});
//监听表格复选框选择
table.on('checkbox(currentTableFilter)', function (obj) {
console.log(obj)
});
// 监听搜索操作
form.on('submit(data-search-btn)', function (data) {
var req={};
data=data.field;
if (data.mname!==''){
req.mname=data.mname;
}
if (data.depositoryId!==''){
req.depositoryId=data.depositoryId;
}
if(data.code !==''){
req.code =data.code;
}
//执行搜索重载
table.reload('currentTableId', {
url: '/material/findInventory',
page: {
curr: 1
}
, where: req
}, 'data');
return false;
});
/**
* toolbar监听事件
*/
table.on('toolbar(currentTableFilter)', function (obj) {
if (obj.event === 'add') { // 监听入库申请操作
var checkStatus = table.checkStatus('currentTableId')
, data = checkStatus.data;
var req = {};
req.mids = [];
req.depositoryIds = [];
req.placeCodes = [];
for (i = 0, len = data.length; i < len; i++) {
req.mids[i] = data[i].id;
req.depositoryIds[i] = data[i].depositoryId;
req.placeCodes[i] = data[i].placeCode;
}
if(req.mids.length > 0) {
$.ajax({
url: "/depositoryRecord/addApplicationToRedis",
type: "post",
data: JSON.stringify(req),
dataType: "json",
contentType: "application/json;charset=utf-8",
success: function (data) {
if (data.status == 201) {
layer.msg("添加成功", {
icon: 6,//成功的表情
time: 500 //1秒关闭(如果不配置,默认是3秒)
}, function () {
//执行搜索重载
table.reload('currentTableId', {
url: '/material/findInventory',
page: {
curr: 1
}
}, 'data');
});
} else {
layer.msg("添加失败,请重试", {
icon: 2,
time: 200,
}, function () {
//执行搜索重载
table.reload('currentTableId', {
url: '/material/findInventory',
page: {
curr: 1
}
}, 'data');
})
}
}
})
}
else{
layer.msg("未选中记录,请确认!");
return false;
}
}
else if(obj.event==='dispose'){
var index = layer.open({
title: '入库申请',
type: 2,
shade: 0.2,
maxmin: true,
shadeClose: true,
area: ['100%', '100%'],
content: '/application_multi'
});
$(window).on("resize", function () {
layer.full(index);
});
return false;
}
});
table.on('tool(currentTableFilter)', function (obj) {
let data = obj.data;
if (obj.event === 'applicationIn') {
// 入库申请
var index = layer.open({
title: '入库申请',
type: 2,
shade: 0.2,
maxmin: true,
shadeClose: true,
area: ['100%', '100%'],
content: '/application_in_back?mid='+data.id+"&depositoryId="+data.depositoryId
});
$(window).on("resize", function () {
layer.full(index);
});
return false;
}else if(obj.event === 'applicationOut'){
// 出库申请
var index = layer.open({
title: '出库申请',
type: 2,
shade: 0.2,
maxmin: true,
shadeClose: true,
area: ['100%', '100%'],
content: '/application_out_back?code='+data.code+"&depositoryCode="+data.depositoryCode
});
$(window).on("resize", function () {
layer.full(index);
});
return false;
}
});
//用于导入数据
var upLoader = upload.render({
elem:"#u_fileUpload", // 绑定元素
url:'/excel/importInventory', // 上传接口
accept:'file', // 允许上传的格式,
before: function(obj) { //obj参数包含的信息,跟 choose回调完全一致,可参见上文。
layer.load(); //上传loading
},
exts:'xls|xlsx|csv',
done:function(res){
layer.closeAll('loading'); //关闭loading
//如果上传成功
if(res.code == 200){
var re = "";
console.log(res)
for (let i = 0; i < res.data.errMsg.length; i++) {
var show = "<p style='color: #ff211e'>"+res.data.errMsg[i] + ":错误"+"</p>"
re += show
}
for (let i = 0; i < res.data.dataList.length; i++) {
var mname = res.data.dataList[i]["mname"];
var code = res.data.dataList[i]["code"];
var price = res.data.dataList[i]["price"];
var quantity = res.data.dataList[i]["quantity"];
var show = "<p style='color: #00FF00'>"+mname +" " +code+" "+price +" "+quantity +":成功" +"</p>"
re += show
}
layer.open({
type: 1,
skin: 'layui-layer-rim', //加上边框
area: ['500px', '500px'], //宽高
content: re
})
}else{
layer.msg(res.msg)
}
},
error:function (){
layer.closeAll('loading'); //关闭loading
var demoText = $('#demoText');
demoText.html('<span style="color: #FF5722;">上传失败</span> <a class="layui-btn layui-btn-xs demo-reload">重试</a>');
demoText.find('.demo-reload').on('click', function(){
upLoader.upload()
})
}
})
});
</script>
</body>
</html>