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.
436 lines
19 KiB
436 lines
19 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>
|
|
|
|
|
|
<script id="selectManager" type="text/html">
|
|
|
|
</script>
|
|
</div>
|
|
</div>
|
|
<script src="/static/lib/layui-v2.6.3/layui.js" charset="utf-8"></script>
|
|
<script>
|
|
var data;
|
|
function changePlaceCode(){}
|
|
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',
|
|
success: function(layero, index){
|
|
var children = layero.children();
|
|
var content = $(children[1]);
|
|
var iframeChildren = $(content.children());
|
|
content.css('height','100%');
|
|
iframeChildren.css('height','100%');
|
|
}
|
|
});
|
|
});
|
|
|
|
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: 'mname', width: 200, title: '物料名称'},
|
|
{field: 'version', width: 200, title: '规格型号'},
|
|
{field: 'code', width: 200, title: '存货编码'},
|
|
{field: 'typeName', width: 200, title: '物料类型'},
|
|
{field: 'showQuantity', width: 200, title: '数量'},
|
|
{field: 'depositoryName', width: 200, title: '仓库名称'},
|
|
{field: 'depositoryCode', width: 200, title: '仓库编码'},
|
|
{title: '所处库位', width: 200, templet: '#selectManager', align: "center"},
|
|
{field: 'warningCount', width: 200, title: '待过期数量', sort: true},
|
|
{field: 'price', title: '单价', width: 200, sort: true},
|
|
{field: 'amounts', title: '总金额', width: 200, sort: true},
|
|
{field: 'texture', width: 200, title: '材质',},
|
|
{title: '操作', minWidth: 250, 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 jElement = j['warningCount'];
|
|
let placeCode = j['placeCode'].split(" ");
|
|
let depositoryId = j['depositoryId'];
|
|
let mid = j['id'];
|
|
if (jElement !== null && jElement !== undefined) {
|
|
let flag = (Number(jElement) !== 0);
|
|
if (flag) {
|
|
// console.log(i + ' -458- ' + 'jdjg is null');
|
|
Layui_SetDataTableRowColor('table', i + 1, '#b1070a');
|
|
}
|
|
|
|
}
|
|
// 所处库位
|
|
var placeCodeItem = $("[lay-id='currentTableId'] tr:eq(" + (i+1) + ")").children()[9];
|
|
var aItem = placeCodeItem.childNodes[0];
|
|
for (let k = 0; k < placeCode.length; k++) {
|
|
if(placeCode[k] !== ""){
|
|
$(aItem).append('<button id='+mid+' class="layui-btn layui-btn-primary layui-btn-xs" onclick="changePlaceCode(this)" value='+depositoryId+'>'+placeCode[k]+'</button>')
|
|
}
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
});
|
|
// 用于给table行上色的方法
|
|
function Layui_SetDataTableRowColor(TabDivId, RowIndex, ColorString) {
|
|
try {
|
|
var div = $("[lay-id='currentTableId'] tr:eq(" + RowIndex + ")");
|
|
if (div != null) //找到对象了
|
|
{
|
|
// console.log(div);
|
|
div.css("color", ColorString);
|
|
|
|
} else {
|
|
console.log('没有找到对象');
|
|
}
|
|
} catch (e) {
|
|
console.log(e.message);
|
|
}
|
|
}
|
|
|
|
//监听表格复选框选择
|
|
table.on('checkbox(currentTableFilter)', function (obj) {
|
|
console.log(obj)
|
|
});
|
|
|
|
// 用于进行渲染库位编码
|
|
form.on('switch(createPlaceCode)', 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.mcode = 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 + "&depositoryId=" + data.depositoryId
|
|
});
|
|
$(window).on("resize", function () {
|
|
layer.full(index);
|
|
});
|
|
return false;
|
|
}
|
|
});
|
|
|
|
changePlaceCode = function (obj) {
|
|
var depositoryId = obj.value;
|
|
var placeCode = obj.innerText;
|
|
var mid = obj.id;
|
|
var index = layer.open({
|
|
title: '选择库位',
|
|
type: 2,
|
|
shade: 0.2,
|
|
maxmin: true,
|
|
shadeClose: true,
|
|
area: ['70%', '70%'],
|
|
content: '/selectPlaceByDepository?depositoryId=' + depositoryId+'&mid='+mid+'&placeCode='+placeCode,
|
|
success: function(layero, index){
|
|
var children = layero.children();
|
|
var content = $(children[1]);
|
|
var iframeChildren = $(content.children());
|
|
content.css('height','100%');
|
|
iframeChildren.css('height','100%');
|
|
},
|
|
end:function () {
|
|
//执行搜索重载
|
|
table.reload('currentTableId', {
|
|
url: '/material/findInventory',
|
|
page: {
|
|
curr: 1
|
|
}
|
|
, where: {}
|
|
}, 'data');
|
|
}
|
|
});
|
|
$(window).on("resize", function () {
|
|
layer.full(index);
|
|
});
|
|
};
|
|
|
|
//用于导入数据
|
|
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 = "";
|
|
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 code = res.data.dataList[i]["code"] === null?'':res.data.dataList[i]["code"];
|
|
var mname = res.data.dataList[i]["mname"];
|
|
var version = res.data.dataList[i]["version"] === null?'':res.data.dataList[i]["version"];
|
|
var price = res.data.dataList[i]["price"];
|
|
var quantity = res.data.dataList[i]["quantity"];
|
|
var show = "<p style='color: #00FF00'>" + code+", "+mname + ", " + version + ", 单价为" + 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>
|