<!DOCTYPE html>
|
<html>
|
<head>
|
<meta charset="utf-8">
|
<title>库存信息列表</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.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
|
<link rel="stylesheet" href="../../layuiadmin/layui/css/layui.css" media="all">
|
<link rel="stylesheet" href="../../layuiadmin/style/admin.css" media="all">
|
<style type="text/css">
|
.layui-form-item .layui-inline {
|
margin-bottom: 1px;
|
margin-right: 1px;
|
}
|
|
</style>
|
|
</head>
|
<body>
|
|
<div class="layui-fluid" style="padding-bottom: 0;">
|
<div class="layui-card">
|
<div class="layui-form layui-card-header layuiadmin-card-header-auto">
|
<div class="layui-form-item" style="margin-bottom: 0px;">
|
|
<div class="layui-inline zongdan" >
|
<label class="layui-form-label" style="width: 60px;">物品编码</label>
|
<div class="layui-input-inline" style="width: 170px; margin-right: 0px;">
|
<input type="text" id="GoodCode" name="GoodCode" placeholder="物品编码" autocomplete="off" class="layui-input">
|
</div>
|
</div>
|
<div class="layui-inline zongdan" >
|
<label class="layui-form-label" style="width: 60px;">物品名称</label>
|
<div class="layui-input-inline" style="width: 170px; margin-right: 0px;">
|
<input type="text" id="GoodsName" name="GoodsName" placeholder="物品名称" autocomplete="off" class="layui-input">
|
</div>
|
</div>
|
<div class="layui-inline mingxi">
|
<label class="layui-form-label" style="width: 60px;">批次</label>
|
<div class="layui-input-inline" style="width: 170px; margin-right: 0px;">
|
<input type="text" id="StockLotNo" name="StockLotNo" placeholder="批次" autocomplete="off" class="layui-input">
|
</div>
|
</div>
|
<div class="layui-inline mingxi">
|
<label class="layui-form-label" style="width: 60px;">储位地址</label>
|
<div class="layui-input-inline" style="width: 170px; margin-right: 0px;">
|
<input type="text" id="StockSlotCode" name="StockSlotCode" placeholder="储位地址" autocomplete="off" class="layui-input">
|
</div>
|
</div>
|
<div class="layui-inline mingxi">
|
<label class="layui-form-label" style="width: 60px;">托盘条码</label>
|
<div class="layui-input-inline" style="width: 170px; margin-right: 0px;">
|
<input type="text" id="StockStockCode" name="StockStockCode" placeholder="储位地址" autocomplete="off" class="layui-input">
|
</div>
|
</div>
|
<div class="layui-inline ">
|
<label class="layui-form-label" style="width: 60px;">库存状态</label>
|
<div class="layui-input-inline" style="width: 170px; margin-right: 0px;">
|
<select name="StockStatusFlag" id="StockStatusFlag" lay-filter="StockStatusFlag"
|
lay-search>
|
<option value=""></option>
|
<option value="0">正常</option>
|
<option value="1">占用</option>
|
</select>
|
</div>
|
</div>
|
<div class="layui-inline " style="display: none;">
|
<label class="layui-form-label" style="width: 60px;">抽检托</label>
|
<div class="layui-input-inline" style="width: 170px; margin-right: 0px;">
|
<select name="IsSamolingTray" id="IsSamolingTray" lay-filter="IsSamolingTray"
|
lay-search>
|
<option value=""></option>
|
<option value="0">否</option>
|
<option value="1">是</option>
|
</select>
|
</div>
|
</div>
|
<div class="layui-inline zhijian">
|
<label class="layui-form-label" style="width: 60px;">质检状态</label>
|
<div class="layui-input-inline" style="width: 170px; margin-right: 0px;">
|
<select name="InspectionStatus" id="InspectionStatus" lay-filter="InspectionStatus"
|
lay-search>
|
<option value=""></option>
|
<option value="0">在检库存</option><!-- 待检验 -->
|
<option value="1">可用库存</option><!-- 合格品 -->
|
<option value="2">冻结库存</option><!-- 不合格 -->
|
</select>
|
</div>
|
</div>
|
<div class="layui-inline zhijian">
|
<label class="layui-form-label" style="width: 60px;">开始时间</label>
|
<div class="layui-input-inline" style="width: 170px; margin-right: 0px;">
|
<input type="text" autocomplete="off" id="StartTime" class="layui-input"
|
placeholder="开始时间">
|
</div>
|
</div>
|
<div class="layui-inline zhijian">
|
<label class="layui-form-label" style="width: 60px;">结束时间</label>
|
<div class="layui-input-inline" style="width: 170px; margin-right: 0px;">
|
<input type="text" autocomplete="off" id="EndTime" class="layui-input"
|
placeholder="结束时间">
|
</div>
|
</div>
|
<div class="layui-inline sousuo">
|
<button class="layui-btn layui-btn-sm layuiadmin-btn-list" lay-submit lay-filter="LAY-app-contlist-search">
|
<i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>搜索
|
</button>
|
<button class="layui-btn layui-btn-sm layuiadmin-btn-list" lay-submit
|
lay-filter="daochu">
|
<i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>导出
|
</button>
|
</div>
|
|
|
</div>
|
</div>
|
|
|
<div class="layui-card-body">
|
<div style="position: relative;">
|
<div class="layui-tab layui-tab-brief" lay-filter="docDemoTabBrief">
|
<ul class="layui-tab-title">
|
<li class="layui-this">物品总量</li>
|
<li >物品明细</li>
|
</ul>
|
<div class="layui-tab-content">
|
<div class="layui-tab-item layui-show">
|
<table id="LAY-app-content-list" lay-filter="LAY-app-content-list"></table>
|
</div>
|
<div class="layui-tab-item">
|
<table id="LAY-app-content-list2" lay-filter="LAY-app-content-list2"></table>
|
</div>
|
</div>
|
</div>
|
|
</div>
|
|
<script type="text/html" id="buttonTpl">
|
{{# if(d.StockStatusFlag=='1'){ }}
|
<button class="layui-btn layui-btn-radius layui-btn-danger layui-btn-xs">占用</button>
|
{{# } else { }}
|
<button class="layui-btn layui-btn-radius layui-btn-xs">正常</button>
|
{{# } }}
|
</script>
|
<script type="text/html" id="buttonTp2">
|
{{# if(d.InspectionStatus=='0'){ }}
|
<button class="layui-btn layui-btn-radius layui-btn-warm layui-btn-xs">在检库存</button>
|
{{# } else if(d.InspectionStatus=='1'){ }}
|
<button class="layui-btn layui-btn-radius layui-btn-xs">可用库存</button>
|
{{# } else if(d.InspectionStatus=='2'){}}
|
<button class="layui-btn layui-btn-radius layui-btn-danger layui-btn-xs">冻结库存</button>
|
{{# } }}
|
</script>
|
|
<script type="text/html" id="buttonTp7">
|
{{# if(d.AbnormalStatu=='0'){ }}
|
<button class="layui-btn layui-btn-radius layui-btn-xs">正常</button>
|
{{# } else { }}
|
<button class="layui-btn layui-btn-radius layui-btn-danger layui-btn-xs">异常</button>
|
{{# } }}
|
</script>
|
</div>
|
</div>
|
</div>
|
|
<script src="../../layuiadmin/layui/layui.js"></script>
|
<script src="../../js/public.js"></script>
|
<script src="../../js/jquery-3.5.1.min.js"></script>
|
<script src="../../js/jquery.cookie.js"></script>
|
<script>
|
var uid = $.cookie('userId');
|
layui.config({
|
base: '../../layuiadmin/' //静态资源所在路径
|
}).extend({
|
index: 'lib/index' //主入口模块
|
}).use(['index', 'table', 'laypage', 'layer','element','laydate'], function() {
|
var table = layui.table,
|
form = layui.form,
|
laypage = layui.laypage,
|
layer = layui.layer;
|
element = layui.element;
|
laydate = layui.laydate;
|
|
laydate.render({
|
elem: '#StartTime',
|
format: 'yyyy-MM-dd' //可任意组合
|
});
|
laydate.render({
|
elem: '#EndTime',
|
format: 'yyyy-MM-dd' //可任意组合
|
});
|
//获取当前时间
|
function getNowTime() {
|
var date = new Date();
|
//年 getFullYear():四位数字返回年份
|
var year = date.getFullYear(); //getFullYear()代替getYear()
|
//月 getMonth():0 ~ 11
|
var month = date.getMonth() + 1;
|
//日 getDate():(1 ~ 31)
|
var day = date.getDate();
|
//时 getHours():(0 ~ 23)
|
var hour = date.getHours();
|
//分 getMinutes(): (0 ~ 59)
|
var minute = date.getMinutes();
|
//秒 getSeconds():(0 ~ 59)
|
var second = date.getSeconds();
|
|
var time = year + addZero(month) + addZero(day) + addZero(hour) + addZero(minute) + addZero(second);
|
return time;
|
|
//小于10的拼接上0字符串
|
|
};
|
function addZero(s) {
|
return s < 10 ? ('0' + s) : s;
|
};
|
|
var $ = layui.$;
|
var yemianid =0;
|
|
|
var param = {
|
GoodsCode: $("#GoodCode").val(),
|
GoodsName: $("#GoodsName").val(),
|
};
|
var url = IP + "/Stock/GetStockSlotList";
|
var tableIns = table.render({
|
elem: '#LAY-app-content-list',
|
url: url,
|
method: 'POST',
|
height: 'full-208',
|
id: 'LAY-app-content-list',
|
where: param,
|
contentType: 'application/json',
|
page: true,
|
limit: pageCnt,
|
limits: pageLimits,
|
totalRow:true,
|
cellMinWidth: 80, //全局定义常规单元格的最小宽度,layui 2.2.1 新增
|
cols: [
|
[{
|
field: 'GoodCode',
|
title: '物品编码',
|
align: 'center',
|
totalRowText:"合计:",
|
},{
|
field: 'GoodsName',
|
title: '物品名称',
|
align: 'center',
|
|
},{
|
field: 'GoodsStandard',
|
title: '物品规格',
|
align: 'center',
|
|
},{
|
field: 'UnitName',
|
title: '计量单位',
|
align: 'center',
|
|
},{
|
field: 'StockQuantity',
|
title: '库存数量',
|
align: 'center',
|
totalRow:true,
|
},{
|
field: 'LockQuantity',
|
title: '锁定数量',
|
align: 'center',
|
totalRow:true,
|
},{
|
field: 'QualifiedQuantity',
|
title: '合格数量',
|
align: 'center',
|
totalRow:true,
|
},{
|
field: 'NoQualifiedQuantity',
|
title: '不合格数量',
|
align: 'center',
|
totalRow:true,
|
}
|
]
|
]
|
});
|
|
function refreshTable() {
|
|
tableIns.reload({
|
where: { //设定异步数据接口的额外参数,任意设
|
GoodsCode: $("#GoodCode").val(),
|
GoodsName: $("#GoodsName").val(),
|
},
|
page: {
|
curr: 1 //重新从第 1 页开始
|
}
|
});
|
}
|
var param2 = {
|
// Id: uid,
|
GoodsCode:$("#GoodCode").val(),
|
GoodsName:$("#GoodsName").val(),
|
StockLotNo:$("#StockLotNo").val(),
|
StockSlotCode:$("#StockSlotCode").val(),
|
StockStockCode:$("#StockStockCode").val(),
|
StockStatusFlag:$("#StockStatusFlag").val(),
|
InspectionStatus:$("#InspectionStatus").val(),
|
IsSamolingTray:$("#IsSamolingTray").val(),
|
StartTime: $("#StartTime").val(),
|
EndTime: $("#EndTime").val(),
|
};
|
var url = IP + "/Stock/GetWmsStockTrayList";
|
var tableIns2 =table.render({
|
elem: '#LAY-app-content-list2',
|
url: url,
|
method: 'POST',
|
height: 'full-208',
|
id: 'LAY-app-content-list2',
|
where: param2,
|
contentType: 'application/json',
|
page: true,
|
limit: pageCnt,
|
limits: pageLimits,
|
cellMinWidth: 60, //全局定义常规单元格的最小宽度,layui 2.2.1 新增
|
cols: [
|
[
|
{
|
field: 'WarehouseName',
|
title: '所属仓库',
|
align: 'center',
|
hide:true
|
}, {
|
field: 'StockStockCode',
|
title: '托盘条码',
|
align: 'center',
|
width: 110,
|
}, {
|
field: 'StockSlotCode',
|
title: '储位地址',
|
align: 'center',
|
width: 100,
|
}, {
|
field: 'LanewayName',
|
title: '所属巷道',
|
width: 90,
|
align: 'center',
|
}, {
|
field: 'StockGoodId',
|
title: '物品编码',
|
width: 100,
|
align: 'center',
|
}, {
|
field: 'GoodsName',
|
title: '物品名称',
|
align: 'center',
|
}, {
|
field: 'GoodsStandard',
|
title: '物品规格',
|
width: 130,
|
align: 'center',
|
}, {
|
field: 'StockLotNo',
|
title: '批次',
|
align: 'center',
|
}, {
|
field: 'StockQuantity',
|
title: '库存数量',
|
width: 110,
|
align: 'center',
|
}, {
|
field: 'LockQuantity',
|
title: '锁定数量',
|
width: 110,
|
align: 'center',
|
}, {
|
field: 'PalletTags',
|
title: '托盘标识',
|
width: 100,
|
align: 'center',
|
templet: function(d) {
|
switch(d.PalletTags){
|
case "01":
|
return "生产";
|
break;
|
case "02":
|
return "暂存";
|
break;
|
case "03":
|
return "退货";
|
break;
|
case "04":
|
return "预拣";
|
break;
|
case "05":
|
return "空托";
|
break;
|
}
|
return formatDate(d.StockDate);
|
},
|
}, {
|
field: 'StockStatusFlag',
|
templet: '#buttonTpl',
|
title: '库存状态',
|
width: 90,
|
align: 'center',
|
}, {
|
field: 'InspectionStatus',
|
templet: '#buttonTp2',
|
title: '质检状态',
|
width: 90,
|
align: 'center',
|
},
|
//{
|
//field: 'IsSamolingTray',
|
//templet: '#buttonTp3',
|
//title: '抽检托',
|
//width: 80,
|
//align: 'center',
|
//},
|
{
|
field: 'AbnormalStatu',
|
templet: '#buttonTp7',
|
title: '异常状态',
|
width: 90,
|
align: 'center',
|
},{
|
field: 'StockDate',
|
title: '入库时间',
|
align: 'center',
|
width: 150,
|
templet: function(d) {
|
return formatDate(d.StockDate);
|
},
|
},
|
|
]
|
],
|
});
|
function refreshTable2(goodCode) {
|
tableIns2.reload({
|
where: { //设定异步数据接口的额外参数,任意设
|
GoodsCode: goodCode,
|
GoodsName: $("#GoodsName").val(),
|
StockLotNo:$("#StockLotNo").val(),
|
StockSlotCode:$("#StockSlotCode").val(),
|
StockStockCode:$("#StockStockCode").val(),
|
StockStatusFlag:$("#StockStatusFlag").val(),
|
InspectionStatus:$("#InspectionStatus").val(),
|
IsSamolingTray:$("#IsSamolingTray").val(),
|
StartTime: $("#StartTime").val(),
|
EndTime: $("#EndTime").val(),
|
},
|
page: {
|
curr: 1 //重新从第 1 页开始
|
}
|
});
|
}
|
|
|
//监听搜索
|
form.on('submit(LAY-app-contlist-search)', function(data) {
|
|
var GoodCode = $("#GoodCode").val();
|
var GoodsName = $("#GoodsName").val();
|
var StockLotNo = $("#StockLotNo").val();
|
var StockSlotCode = $("#StockSlotCode").val();
|
var StockStockCode = $("#StockStockCode").val();
|
var StockStatusFlag = $("#StockStatusFlag").val();
|
var InspectionStatus = $("#InspectionStatus").val();
|
var IsSamolingTray = $("#IsSamolingTray").val();
|
if(yemianid == 0){
|
console.log("总单");
|
refreshTable();
|
}else if(yemianid == 1){
|
console.log("明细");
|
refreshTable2(GoodCode);
|
}
|
|
});
|
//触发行双击事件
|
table.on('rowDouble(LAY-app-content-list)', function(obj) {
|
$(".layui-tab-title>li").attr("class", "");
|
$('.layui-tab-title>li').eq(1).attr('class', 'layui-this');
|
$('.layui-tab-content .layui-tab-item').attr('class', 'layui-tab-item')
|
$('.layui-tab-content .layui-tab-item').eq(1).attr('class', 'layui-tab-item layui-show')
|
console.log(obj);
|
refreshTable2(obj.data.GoodCode);
|
yemianid=1;
|
});
|
|
//监听Tab切换,以改变地址hash值
|
element.on('tab(docDemoTabBrief)', function(data){
|
console.log(data.index);
|
yemianid = data.index
|
|
});
|
|
form.on('submit(daochu)', function () {
|
layer.confirm('确定导出当前数据吗?', function(index) {
|
if(yemianid == 0){
|
console.log("总单");
|
var param = {
|
GoodsCode: $("#GoodCode").val(),
|
GoodsName: $("#GoodsName").val(),
|
};
|
sendData(IP + "/Stock/GetStockSlotListDaoChu", param, 'post', function (res) {
|
console.log(res);
|
if (res.code == 0) { //成功
|
var list = res.data;
|
table.exportFile(tableIns.config.id, list,'xls',"库存信息"+getNowTime(),); //data 为该实例中的任意数量的数据
|
layer.msg('导出成功!', {
|
icon: 1,
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
}, function () {
|
|
});
|
|
} else { //不成功
|
layer.msg('获取信息失败!', {
|
icon: 2,
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
}, function () { });
|
}
|
});
|
}else if(yemianid == 1){
|
console.log("明细");
|
var param = {
|
GoodsCode: $("#GoodCode").val(),
|
GoodsName: $("#GoodsName").val(),
|
StockLotNo:$("#StockLotNo").val(),
|
StockSlotCode:$("#StockSlotCode").val(),
|
StockStockCode:$("#StockStockCode").val(),
|
StockStatusFlag:$("#StockStatusFlag").val(),
|
InspectionStatus:$("#InspectionStatus").val(),
|
IsSamolingTray:$("#IsSamolingTray").val(),
|
StartTime: $("#StartTime").val(),
|
EndTime: $("#EndTime").val(),
|
};
|
sendData(IP + "/Stock/GetWmsStockTrayListDaoChu", param, 'post', function (res) {
|
console.log(res);
|
if (res.code == 0) { //成功
|
var list = res.data;
|
table.exportFile(tableIns2.config.id, list,'xls',"库存明细信息"+getNowTime(),); //data 为该实例中的任意数量的数据
|
layer.msg('导出成功!', {
|
icon: 1,
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
}, function () {
|
|
});
|
|
} else { //不成功
|
layer.msg('获取信息失败!', {
|
icon: 2,
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
}, function () { });
|
}
|
});
|
}
|
});
|
|
|
});
|
|
});
|
</script>
|
</body>
|
</html>
|