<!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">
|
</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">
|
<div class="layui-inline">
|
<label class="layui-form-label">流水单号</label>
|
<div class="layui-input-inline">
|
<input type="text" id="CheckOrderBillCode" name="CheckOrderBillCode" placeholder="单号" autocomplete="off"
|
class="layui-input">
|
</div>
|
</div>
|
<div class="layui-inline">
|
<label class="layui-form-label">执行状态</label>
|
<div class="layui-input-inline">
|
<select name="State" id="State" lay-filter="State" lay-search>
|
<option value=""></option>
|
<option value="0">等待执行</option>
|
<option value="1">正在执行</option>
|
<option value="2">执行完成</option>
|
</select>
|
</div>
|
</div>
|
<div class="layui-inline">
|
<label class="layui-form-label">储位</label>
|
<div class="layui-input-inline">
|
<input type="text" id="SlotCode" name="SlotCode" placeholder="储位" 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" id="StockCode" name="StockCode" placeholder="托盘" autocomplete="off"
|
class="layui-input">
|
</div>
|
</div>
|
<div class="layui-inline">
|
<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>
|
</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 style="padding-bottom: 6px; position: absolute; top: 0; right: 16px;">
|
<button class="layui-btn layui-btn-sm layuiadmin-btn-list" data-type="pdckBtn"
|
id="pdckBtn">盘点出库</button>
|
</div>
|
</div>
|
<script type="text/html" id="buttonTpl">
|
{{# if(d.State=='0'){ }}
|
<button class="layui-btn layui-btn-radius layui-btn-xs">等待执行</button>
|
{{# } else if(d.State=='1'){ }}
|
<button class="layui-btn layui-btn-radius layui-btn-warm layui-btn-xs">正在执行</button>
|
{{# } else if(d.State=='2'){ }}
|
<button class="layui-btn layui-btn-radius layui-btn-normal layui-btn-xs">执行完成</button>
|
{{# } }}
|
</script>
|
<script type="text/html" id="buttonTplX">
|
{{# if(d.State=='0'){ }}
|
<button class="layui-btn layui-btn-radius layui-btn-xs">待拣货</button>
|
{{# } else if(d.State=='1'){ }}
|
<button class="layui-btn layui-btn-radius layui-btn-warm layui-btn-xs">已拣货</button>
|
{{# } }}
|
</script>
|
<script type="text/html" id="buttonResult">
|
{{# if(d.CheckResult=='0'){ }}
|
<button class="layui-btn layui-btn-radius layui-btn-xs">正常</button>
|
{{# } else if(d.CheckResult=='1'){ }}
|
<button class="layui-btn layui-btn-radius layui-btn-danger layui-btn-xs">盘亏</button>
|
{{# } else if(d.CheckResult=='2'){ }}
|
<button class="layui-btn layui-btn-radius layui-btn-warm 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'], function() {
|
var table = layui.table,
|
form = layui.form,
|
laypage = layui.laypage,
|
layer = layui.layer;
|
refreshTable();
|
|
function refreshTable() {
|
var param = {
|
//UId: uid,
|
CheckOrderBillCode: $("#CheckOrderBillCode").val(),
|
State: $("#State").val(),
|
SlotCode: $("#SlotCode").val(),
|
StockCode: $("#StockCode").val()
|
};
|
|
var url = IP + "/StockCheckOrder/GetStockCheckOrderListZ";
|
|
table.render({
|
elem: '#LAY-app-content-list',
|
url: url,
|
method: 'POST',
|
height: 'full-168',
|
id: 'LAY-app-content-list',
|
where: param,
|
contentType: 'application/json',
|
page: true,
|
limit: pageCnt,
|
limits: pageLimits,
|
cellMinWidth: 60, //全局定义常规单元格的最小宽度,layui 2.2.1 新增
|
cols: [
|
[{
|
field: 'Id',
|
title: 'Id',
|
type: 'checkbox',
|
width: 50,
|
sort: true,
|
fixed: 'left'
|
}, {
|
field: 'CheckOrderBillCode',
|
title: '流水单号',
|
align: 'center',
|
sort: true,
|
}, {
|
field: 'CheckBillCode',
|
title: '盘点单号',
|
align: 'center',
|
sort: true,
|
}, {
|
field: 'SlotCode',
|
title: '储位',
|
align: 'center',
|
sort: true,
|
width: 200,
|
}, {
|
field: 'StockCode',
|
title: '托盘',
|
align: 'center',
|
sort: true,
|
width: 200,
|
}, {
|
field: 'CreateUserName',
|
title: '创建人',
|
align: 'center',
|
sort: true,
|
width: 100,
|
}, {
|
field: 'CreateTime',
|
title: '创建时间',
|
align: 'center',
|
width: 180,
|
templet: function(d) {
|
return formatDate(d.CreateTime);
|
}
|
}, {
|
field: 'UpdateUserName',
|
title: '修改人',
|
align: 'center',
|
sort: true,
|
width: 100,
|
}, {
|
field: 'UpdateTime',
|
title: '修改时间',
|
align: 'center',
|
width: 180,
|
templet: function(d) {
|
return formatDate(d.UpdateTime);
|
}
|
}, {
|
field: 'State',
|
templet: '#buttonTpl',
|
title: '执行状态',
|
fixed: 'right',
|
align: 'center',
|
width: 100,
|
}]
|
]
|
});
|
|
}
|
|
function refreshTablemx(CheckOrderBillCode,SlotCode,StockCode){
|
var param = {
|
CheckOrderBillCode: CheckOrderBillCode,
|
SlotCode: SlotCode,
|
StockCode: StockCode
|
};
|
|
var url = IP + "/StockCheckOrder/GetStockCheckOrderListX";
|
|
table.render({
|
elem: '#LAY-app-content-list2',
|
url: url,
|
method: 'POST',
|
height: 'full-168',
|
id: 'LAY-app-content-list2',
|
where: param,
|
contentType: 'application/json',
|
page: true,
|
limit: pageCnt,
|
limits: pageLimits,
|
cellMinWidth: 60, //全局定义常规单元格的最小宽度,layui 2.2.1 新增
|
cols: [
|
[{
|
field: 'StockCode',
|
fixed: 'left',
|
title: '托盘条码',
|
align: 'center',
|
width: 100
|
}, {
|
field: 'SlotCode',
|
fixed: 'left',
|
title: '储位编码',
|
align: 'center',
|
width: 130
|
}, {
|
field: 'BoxCode',
|
fixed: 'left',
|
title: '箱码编号',
|
align: 'center',
|
width: 150
|
}, {
|
field: 'GoodsCode',
|
title: '物品编码',
|
align: 'center',
|
width: 150
|
}, {
|
field: 'GoodsName',
|
title: '物品名称',
|
align: 'center',
|
width: 200
|
}, {
|
field: 'GoodsStandard',
|
title: '物品规格',
|
align: 'center',
|
width: 100
|
}, {
|
field: 'LotNo',
|
title: '批次',
|
align: 'center',
|
width: 150
|
}, {
|
field: 'Quantity',
|
title: '库存数量',
|
align: 'center',
|
width: 100
|
}, {
|
field: 'RealQuantity',
|
title: '实物数量',
|
align: 'center',
|
width: 100,
|
edit: 'number',
|
event:'dataNumber'
|
}, {
|
field: 'GoodsUnit',
|
title: '单位id',
|
align: 'center',
|
width: 80,
|
hide: true
|
}, {
|
field: 'UnitName',
|
title: '计量单位',
|
align: 'center',
|
width: 80,
|
}, {
|
field: 'CreateUserName',
|
title: '创建人',
|
align: 'center',
|
width: 100
|
}, {
|
field: 'CreateTime',
|
title: '创建时间',
|
align: 'center',
|
width: 180,
|
templet: function(d) {
|
return formatDate(d.CreateTime);
|
}
|
}, {
|
field: 'UpdateUserName',
|
title: '修改人',
|
align: 'center',
|
width: 100
|
}, {
|
field: 'UpdateTime',
|
title: '修改时间',
|
align: 'center',
|
width: 180,
|
templet: function(d) {
|
return formatDate(d.UpdateTime);
|
}
|
}, {
|
field: 'CheckResult',
|
templet: '#buttonResult',
|
title: '盘点结果',
|
align: 'center',
|
fixed: 'right',
|
width: 100
|
}, {
|
field: 'ExecuteFlag',
|
templet: '#buttonTplX',
|
title: '状态',
|
align: 'center',
|
fixed: 'right',
|
width: 100
|
}]
|
]
|
});
|
}
|
|
form.on('submit(LAY-app-contlist-search)', function(data) {
|
if ($(".layui-tab-title>li[class='layui-this']").html() == "总单") {
|
refreshTable();
|
}
|
});
|
|
table.on('tool(LAY-app-content-list2)', function(obj) {
|
var data = obj.data;
|
if(obj.event === 'dataNumber')
|
{
|
$("table input").attr("type","number");
|
$("table input").attr("step","1");
|
$("table input").attr("oninput","value=value.replace(/[^\\d]+/g,'')");
|
}
|
});
|
|
active = {
|
pdckBtn: function() {
|
var checkStatus = table.checkStatus('LAY-app-content-list'),
|
checkData = checkStatus.data; //得到选中的数据
|
if (checkData.length === 0) {
|
return layer.msg('请选择数据');
|
}
|
layer.confirm('确定出库吗?', function(index) {
|
var arr = [];
|
for (var i = 0; i < checkData.length; i++) {
|
arr.push(checkData[i].Id); //属性
|
}
|
var param = {
|
Ids: arr,
|
UserId: $.cookie('userId')
|
};
|
console.log(param);
|
sendData(IP + "/StockCheckOrder/IssuedOutBound", param, 'post', function(res) {
|
console.log(res);
|
if (res.code == 1) { //成功
|
layer.msg(res.msg, {
|
icon: 1,
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
}, function() {
|
refreshTable();
|
});
|
} else { //不成功
|
layer.msg(res.msg, {
|
icon: 2,
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
});
|
}
|
});
|
});
|
}
|
// ,
|
// create: function() {
|
// var checkStatus = table.checkStatus('LAY-app-content-list'),
|
// checkData = checkStatus.data; //得到选中的数据
|
// if (checkData.length === 0) {
|
// return layer.msg('请选择数据');
|
// }
|
// if (checkData.length > 1) {
|
// return layer.msg('只能选择一行数据');
|
// }
|
// layer.confirm('确定要生成调整计划吗?', function(index) {
|
// console.log(checkData);
|
// var ids = new Array();
|
// for (var i = 0; i < checkData.length; i++) {
|
// ids[i] = checkData[i].Id;
|
// }
|
// var param = {
|
// ids: ids
|
// };
|
// sendData(IP + "/Stock/CreateStockEditBill", param, 'post', function(res) {
|
// console.log(res);
|
// if (res.code == 1) { //成功
|
// layer.msg(res.msg, {
|
// icon: 1,
|
// time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
// }, function() {
|
// refreshTable();
|
// });
|
// } else { //不成功
|
// layer.msg(res.msg, {
|
// icon: 2,
|
// time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
// }, function() {});
|
// }
|
// });
|
// });
|
// }
|
};
|
|
$('.layui-btn.layuiadmin-btn-list').on('click', function() {
|
var type = $(this).data('type');
|
active[type] ? active[type].call(this) : '';
|
});
|
|
var CheckOrderBillCode = "";
|
var SlotCode = "";
|
var StockCode = "";
|
//触发行双击事件
|
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')
|
refreshTablemx(obj.data.CheckOrderBillCode,obj.data.SlotCode,obj.data.StockCode);
|
CheckOrderBillCode = obj.data.CheckOrderBillCode;
|
SlotCode = obj.data.SlotCode;
|
StockCode = obj.data.StockCode;
|
});
|
|
table.on('edit(LAY-app-content-list2)', function(obj){ //注:edit是固定事件名,test是table原始容器的属性 lay-filter="对应的值"
|
//console.log(obj.value); //得到修改后的值
|
//console.log(obj.field); //当前编辑的字段名
|
//console.log(obj.data); //所在行的所有相关数据
|
//alert(obj.value);
|
|
// var retNum = /^[0-9]+.?[0-9]*$/;//匹配数字
|
// var wholenumber = /^[0-9]+[0-9]*]*$/;
|
// if(retNum.test(obj.value)){
|
// if(wholenumber.test(obj.value)){
|
// var param = {
|
// Id: obj.data.Id,
|
// SlotCode: "",
|
// StockCode: "",
|
// RealQuantity: obj.value,
|
// UserId: $.cookie('userId')
|
// };
|
// sendData(IP + "/StockCheckOrder/EditRealQuantity", param, 'post', function(res) {
|
// console.log(res);
|
// if (res.code == 1) { //成功
|
// layer.msg(res.msg, {
|
// icon: 1,
|
// time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
// }, function() {
|
// refreshTablemx(CheckOrderBillCode,SlotCode,StockCode);
|
// });
|
// } else { //不成功
|
// layer.msg(res.msg, {
|
// icon: 2,
|
// time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
// });
|
// }
|
// });
|
// }
|
// else{
|
// layer.alert('只能输入整数!');
|
// }
|
// }
|
// else{
|
// layer.alert('只能输入数字!');
|
// }
|
var reg = /^([0-9][0-9]*)$/;
|
// if(obj.value <= 0){
|
// layer.msg("入库数量必须大于0!", {
|
// icon: 2,
|
// time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
// }, function() {
|
|
// });
|
// return;
|
// }
|
if(!reg.test(obj.value)){
|
layer.msg("入库数量必须是大于0的整数", {
|
icon: 2,
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
}, function() {
|
|
});
|
return;
|
}
|
|
var param = {
|
Id: obj.data.Id,
|
SlotCode: "",
|
StockCode: "",
|
RealQuantity: obj.value,
|
UserId: $.cookie('userId')
|
};
|
sendData(IP + "/StockCheckOrder/EditRealQuantity", param, 'post', function(res) {
|
console.log(res);
|
if (res.code == 1) { //成功
|
layer.msg(res.msg, {
|
icon: 1,
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
}, function() {
|
refreshTablemx(CheckOrderBillCode,SlotCode,StockCode);
|
});
|
} else { //不成功
|
layer.msg(res.msg, {
|
icon: 2,
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
});
|
}
|
});
|
|
});
|
|
|
$(function() {
|
$("#pdckBtn").hide();
|
});
|
|
var element = layui.element;
|
var houseId = 0;
|
var param = {
|
Id: $.cookie('userId')
|
}
|
var xml = '';
|
|
function getchiled(data, mainId) {
|
if (data) {
|
var list = data.filter(item => item.ParentId == mainId);
|
if (list) {
|
for (var i = 0; i < list.length; i++) {
|
var id = list[i].Id;
|
//查询有无子菜单
|
var count = data.filter(item => item.ParentId == id).length;
|
if (count > 0) {
|
xml = xml +
|
'<dd>' +
|
'<a href="javascript:;">' + list[i].Name + '</a>' +
|
'<dl class="layui-nav-child">';
|
getchiled(data, id);
|
xml = xml +
|
'</dl></dd>';
|
|
} else {
|
xml = xml +
|
'<dd>' +
|
'<a lay-href="' + list[i].Url + '">' + list[i].Name + '</a>' +
|
'</dd>';
|
|
}
|
}
|
|
}
|
|
}
|
}
|
|
var menuList;
|
sendData(IP + "/Menu/GetPermission", param, 'post', function(res) {
|
if (res.code == 1) { //成功
|
var list = res.data.filter(item => item.Layer == 0);
|
if (list) {
|
for (var i = 0; i < list.length; i++) {
|
xml = xml +
|
'<li class="layui-nav-item">' +
|
'<a href="javascript:;" lay-tips=' + list[i].Icon + ' lay-direction="2">' +
|
// '<i class="layui-icon ' + list[i].Icon + '"></i>' +
|
'<span class="iconfont ' + list[i].Icon + '"></span>' +
|
'<cite>' + list[i].Name + '</cite>' +
|
'</a>';
|
var id = list[i].Id;
|
//查询有无子菜单
|
var count = res.data.filter(item => item.ParentId == id).length;
|
if (count > 0) {
|
xml = xml +
|
'<dl class="layui-nav-child">';
|
getchiled(res.data, id);
|
xml = xml +
|
'</dl>';
|
}
|
xml = xml +
|
'</li>'
|
}
|
}
|
$("#LAY-system-side-menu").append(xml);
|
element.render("#leftmenu");
|
for (var k = 0; k < res.data.length; k++) {
|
if (res.data[k].ModuleId == "ffc1a121f9e84696bf62fce353037fq1") {
|
$(function() {
|
$("#pdckBtn").show();
|
});
|
}
|
}
|
} else { //不成功
|
layer.msg('获取信息失败', {
|
icon: 2,
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
}, function() {
|
//回调
|
});
|
}
|
});
|
});
|
</script>
|
</body>
|
</html>
|