<!DOCTYPE html>
|
<html lang="en">
|
<head>
|
<meta charset="UTF-8">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no"/>
|
<title>库存</title>
|
<link rel="stylesheet" href="../../static/layui/css/layui.css" media="all">
|
<link rel="stylesheet" href="../../static/css/pda.css" media="all">
|
<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
|
<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script>
|
<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script>
|
<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script>
|
<script type="text/javascript" src="../../static/js/handlebars/handlebars-v4.5.3.js"></script>
|
<style>
|
.number-tool {
|
margin-left: 10px;
|
padding: 1px 0 1px 5px;
|
display: inline-block;
|
width: 120px;
|
}
|
.number-tool:after {
|
clear: both;
|
content: "";
|
display: table;
|
}
|
.number-tool button {
|
background-color: #fff;
|
margin-top: 3px;
|
font-size: 16px;
|
height: 25px;
|
float: left;
|
width: 25px;
|
border: 1px solid #777777;
|
}
|
.number-tool input {
|
text-align: center;
|
height: 30px;
|
float: left;
|
margin: 0 5px;
|
width: 50px;
|
padding: 0;
|
}
|
#confirm {
|
margin: 10px 10px;
|
padding: 5px 20px;
|
font-weight: 600;
|
}
|
#remove {
|
margin: 10px 10px;
|
padding: 5px 20px;
|
color: darkred;
|
}
|
|
/**绿色勾*/
|
#node-ok {
|
float: left;
|
width: 15px;
|
height: 15px;
|
border-radius: 50%;
|
margin-top: 13px;
|
background-color: #2ac845;
|
display: none;
|
}
|
</style>
|
</head>
|
<body>
|
<!-- 头部 -->
|
<header>
|
<div class="layui-input-inline" style="margin-top: 0px">
|
<label class="layui-form-label">货位</label>
|
<input class="layui-input" id="locNo" onkeyup="find(this)" placeholder="扫码 / 输入" autocomplete="off" style="width: 65%; height: 40px; margin-right: 0;float: left">
|
<span id="node-ok"></span>
|
</div>
|
</header>
|
|
<!-- 主体 -->
|
<main>
|
<table class="layui-table" id="chooseData" lay-filter="chooseData"></table>
|
</main>
|
<!-- 尾部 -->
|
<footer>
|
<div class="layui-btn-container">
|
<button type="button" id="reset-btn" class="layui-btn layui-btn-primary" onclick="reset()">重置</button>
|
<span id="tips"></span>
|
</div>
|
</footer>
|
|
</body>
|
<script>
|
window.onload = function(){document.getElementById("locNo").focus();}
|
var tableIns;
|
var anfmeLayer;
|
layui.use(['table','laydate', 'form'], function() {
|
var table = layui.table;
|
var $ = layui.jquery;
|
var layer = layui.layer;
|
var form = layui.form;
|
|
tableIns = table.render({
|
elem: '#chooseData',
|
data: [],
|
limit: 500,
|
cellMinWidth: 50,
|
cols: [[
|
{align: 'center', field: 'anfme', title: '数量', style:'font-weight: bold;', width:80},
|
// {field: 'matnr', align: 'center', title: '商品编号', event: 'modify'},
|
{field: 'maktx', align: 'center', title: '商品名称'}
|
]],
|
done: function (res, curr, count) {
|
}
|
});
|
|
});
|
|
/**
|
* 根据通知单号查询物料详情
|
*/
|
function find(el){
|
if (isEmpty(el.value)) {
|
$('#node-ok').hide();
|
return;
|
}
|
$.ajax({
|
url: baseUrl + "/locDetl/queryDetl/auth",
|
headers: {'token': localStorage.getItem('token')},
|
data: {
|
uuid: el.value
|
},
|
method: 'GET',
|
success: function (res) {
|
if (res.code === 200) {
|
locDetlData = [];
|
initTableData(res.data);
|
if (res.data != null && res.data.length > 0) {
|
$('#node-ok').show();
|
} else {
|
$('#node-ok').hide();
|
}
|
} else if (res.code === 403) {
|
top.location.href = baseUrl + "/pda";
|
} else {
|
tips(res.msg, true)
|
}
|
}
|
})
|
}
|
|
// 添加表格数据
|
var locDetlData = [];
|
function initTableData(data) {
|
for (var i=0;i<data.length;i++) {
|
var toPush = true;
|
for (var j=0;j<locDetlData.length;j++){
|
if (data[i].matnr === locDetlData[j].matnr) {
|
toPush = false;
|
}
|
}
|
if (toPush) {
|
locDetlData.push(data[i]);
|
}
|
}
|
tableIns.reload({data: locDetlData});
|
}
|
function addTableData(data) {
|
if (isEmpty(data.matnr)){
|
tips("提取失败", true);
|
return;
|
}
|
var toPush = true;
|
for (var j=0;j<locDetlData.length;j++){
|
if (data.matnr === locDetlData[j].matnr) {
|
toPush = false;
|
}
|
}
|
if (toPush) {
|
locDetlData.push(data);
|
}
|
tableIns.reload({data: locDetlData});
|
}
|
|
/************************************* 数量 ****************************************/
|
var countDom = $('#count');
|
var minCount = 0;
|
function add() {
|
countDom.val(Number(countDom.val()) + 1);
|
}
|
function reduce() {
|
if (countDom.val() <= minCount) {
|
return;
|
}
|
countDom.val(countDom.val() - 1);
|
}
|
|
// 修改数量
|
function confirm(){
|
var matnr = $('#matnr').val();
|
var count = $('#count').val();
|
for (var j=0;j<locDetlData.length;j++){
|
if (matnr === locDetlData[j].matnr) {
|
if (count < minCount) {
|
tips("数量必须大于0", true);
|
return;
|
}
|
locDetlData[j].count = Number(count);
|
}
|
}
|
tableIns.reload({data: locDetlData});
|
layer.close(anfmeLayer);
|
tips("修改成功");
|
}
|
|
// 移除物料
|
function remove() {
|
var matnr = $('#matnr').val();
|
for (var j=0;j<locDetlData.length;j++){
|
if (matnr === locDetlData[j].matnr) {
|
locDetlData.splice(j, 1);
|
}
|
}
|
tableIns.reload({data: locDetlData});
|
layer.close(anfmeLayer);
|
tips("移除成功");
|
}
|
|
|
|
/************************************* 补充 ****************************************/
|
var matCodeLayerIdx;
|
function replenish() {
|
matCodeLayerIdx = layer.open({
|
type: 2,
|
title: '补充商品',
|
shade: [0.3,'#000'],
|
area: ['90%', '80%'],
|
content: 'matQuery.html',
|
success: function(layero, index){
|
$('.layui-layer-title').css('font-size', '16px');
|
$('.layui-layer.layui-layer-iframe').css('border-radius', '8px');
|
},
|
end: function () {
|
// $('#mat-btn').focus();
|
}
|
});
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 重置
|
function reset() {
|
$('#locNo').val("");
|
$('#node-ok').hide();
|
locDetlData = [];
|
tableIns.reload({data: locDetlData});
|
}
|
|
// 确认
|
function check() {
|
var locNo = $('#locNo').val();
|
if (isEmpty(locNo)) {
|
tips("货位不能为空", true);
|
return;
|
}
|
if (locDetlData.length > 0) {
|
for (var i = 0; i<locDetlData.length; i++) {
|
if (locDetlData[i].count === null || locDetlData[i].count === 0) {
|
tips(locDetlData[i].matnr + "商品数量错误", true);
|
return;
|
}
|
}
|
}
|
$.ajax({
|
url: baseUrl+"/work/stock/check",
|
headers: {'token': localStorage.getItem('token')},
|
data: JSON.stringify({
|
locNo: locNo,
|
dtos: locDetlData
|
}),
|
contentType:'application/json;charset=UTF-8',
|
method: 'POST',
|
async: false,
|
success: function (res) {
|
if (res.code === 200) {
|
reset();
|
tips("盘点成功")
|
} else if (res.code === 403) {
|
top.location.href = baseUrl + "/pda";
|
} else {
|
tips(res.msg, true)
|
}
|
}
|
})
|
}
|
|
/**
|
* 提示信息
|
* @param msg 提示内容
|
* @param warn true:红色字体
|
*/
|
function tips(msg, warn) {
|
layer.msg(msg, {icon: warn?2:1})
|
}
|
|
document.onkeyup = function (e) {
|
if (window.event)//如果window.event对象存在,就以此事件对象为准
|
e = window.event;
|
var key = e.charCode || e.keyCode;
|
if (key === 115) {
|
$("#comb-btn").focus();
|
comb();
|
} else if (key === 113) {
|
$("#locNo").val("");
|
$("#locNo").focus();
|
}
|
}
|
</script>
|
</html>
|