<!DOCTYPE html>
|
<html lang="en">
|
<head>
|
<meta charset="UTF-8">
|
<meta name="viewport" content="width=device-width, target-densitydpi=high-dpi, 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>
|
.site-list {
|
padding: 2px 0;
|
height: 22px;
|
margin-bottom: 5px;
|
}
|
.site-list label {
|
padding-right: 15px;
|
}
|
.site-list label span {
|
vertical-align: middle;
|
font-size: 13px;
|
}
|
|
.cool-checkbox:checked {
|
background:#1673ff
|
}
|
.cool-checkbox {
|
width:15px;
|
height:15px;
|
background-color:#ffffff;
|
border:solid 1px #dddddd;
|
-webkit-border-radius:50%;
|
border-radius:50%;
|
font-size:15px;
|
margin:0 5px 0 0;
|
padding:0;
|
position:relative;
|
display:inline-block;
|
vertical-align:middle;
|
cursor:default;
|
-webkit-appearance:none;
|
-webkit-user-select:none;
|
user-select:none;
|
-webkit-transition:background-color ease 0.1s;
|
transition:background-color ease 0.1s;
|
}
|
.cool-checkbox:checked::after {
|
content:'';
|
top:3px;
|
left:3px;
|
position:absolute;
|
background:transparent;
|
border:#fff solid 2px;
|
border-top:none;
|
border-right:none;
|
height:3px;
|
width:6px;
|
-moz-transform:rotate(-45deg);
|
-ms-transform:rotate(-45deg);
|
-webkit-transform:rotate(-45deg);
|
transform:rotate(-45deg);
|
}
|
|
</style>
|
</head>
|
<body>
|
<!-- 头部 -->
|
<header>
|
<div class="layui-input-inline">
|
<label class="layui-form-label">条码</label>
|
<input class="layui-input" type="number" id="code" onkeyup="findCode(this)" oninput="if(value.length>8)value=value.slice(0,8)" placeholder="扫码 / 输入" autocomplete="off">
|
</div>
|
<div style="margin: 5px 5px" class="layui-form">
|
<button id="mat-btn" type="button" class="layui-btn layui-btn-normal" onclick="getMat()"><i class="layui-icon">+</i>提取</button>
|
<!-- 入库口 -->
|
<div class="layui-inline" style="width: 120px; margin-left: 15px">
|
<select id="putSiteSelect">
|
<option value="">入库口</option>
|
</select>
|
</div>
|
|
</div>
|
</header>
|
|
<!-- 主体 -->
|
<main>
|
<table class="layui-table" id="chooseData" lay-filter="chooseData"></table>
|
</main>
|
<!-- 尾部 -->
|
<footer>
|
<div class="layui-btn-container">
|
<button type="button" class="layui-btn layui-btn-primary" onclick="reset()">重置</button>
|
<button id="empty-pakin" type="button" class="layui-btn layui-btn-normal" onclick="emptyPakIn()" style="margin-left: 15px">空板入库</button>
|
<button id="pakin" type="button" class="layui-btn layui-btn-normal" onclick="pakIn()" style="margin-left: 15px">入库</button>
|
</div>
|
</footer>
|
</body>
|
<script>
|
var tableIns;
|
window.onload = function(){
|
document.getElementById("code").focus();
|
getInBound();
|
}
|
|
|
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: [[
|
{fixed: 'left', align: 'center', field: 'count', title: '数量', style:'color: blue', width:50},
|
{field: 'matnr', align: 'center', title: '商品编号'},
|
{field: 'maktx', align: 'center', title: '商品名称'}
|
]],
|
done: function (res, curr, count) {
|
|
}
|
});
|
|
});
|
|
function findCode(el) {
|
if (el.value.length === 8) {
|
$('#mat-btn').focus();
|
getMat();
|
}
|
}
|
|
// 获取入库口
|
function getInBound(){
|
$.ajax({
|
url: baseUrl+"/available/put/site",
|
headers: {'token': localStorage.getItem('token')},
|
method: 'POST',
|
async: false,
|
success: function (res) {
|
if (res.code === 200){
|
var tpl = $("#putSiteSelectTemplate").html();
|
var template = Handlebars.compile(tpl);
|
var html = template(res);
|
$('#putSiteSelect').append(html);
|
layui.form.render('select');
|
} else if (res.code === 403){
|
top.location.href = baseUrl+"/pda";
|
}else {
|
tips("获取入库口失败", true)
|
}
|
}
|
})
|
}
|
|
// 提取物料
|
var matCodeLayerIdx;
|
function getMat() {
|
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');
|
},
|
end: function () {
|
$('#mat-btn').focus();
|
}
|
});
|
}
|
|
// 添加表格数据
|
var matData = [];
|
function addTableData(data) {
|
if (isEmpty(data.maktx)){
|
tips("提取失败", true);
|
return;
|
}
|
let toPush = true;
|
for (var j=0;j<matData.length;j++){
|
if (data.matnr === matData[j].matnr) {
|
matData[j].count = Number(matData[j].count) + Number(data.count);
|
toPush = false;
|
}
|
}
|
if (toPush) {
|
matData.push(data);
|
}
|
tips("提取成功");
|
tableIns.reload({data: matData});
|
}
|
|
// 重置
|
function reset() {
|
$('#code').val("");
|
matData = [];
|
tableIns.reload({data: matData});
|
$('#putSiteSelect').val("");
|
layui.form.render('select');
|
// tips("");
|
}
|
|
// 入库
|
function pakIn() {
|
var barcode = $('#code').val();
|
if (isEmpty(barcode)) {
|
tips("托盘条码为空", true);
|
return;
|
}
|
if (barcode.length !== 8) {
|
tips("条码必须为8位", true);
|
return;
|
}
|
if (matData.length === 0) {
|
tips("请提取物料", true);
|
return;
|
}
|
// var site = $('input:radio[name="site"]:checked').next("span").html();
|
var site = $('#putSiteSelect').val();
|
if (null === site || undefined === site || site === "") {
|
tips("请选择入库口", true);
|
return;
|
}
|
$.ajax({
|
url: baseUrl+"/full/store/put/start",
|
headers: {'token': localStorage.getItem('token')},
|
data: JSON.stringify({
|
barcode: barcode,
|
devpNo: site,
|
list: matData
|
}),
|
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)
|
}
|
}
|
})
|
}
|
|
// 空板入库
|
function emptyPakIn() {
|
var barcode = $('#code').val();
|
if (isEmpty(barcode)) {
|
tips("托盘条码为空", true);
|
return;
|
}
|
if (barcode.length !== 8) {
|
tips("条码必须为8位", true);
|
return;
|
}
|
var site = $('#putSiteSelect').val();
|
if (null === site || undefined === site || site === "") {
|
tips("请选择入库口", true);
|
return;
|
}
|
$.ajax({
|
url: baseUrl+"/empty/plate/in/start",
|
headers: {'token': localStorage.getItem('token')},
|
data: {
|
barcode: barcode,
|
sourceStaNo: site
|
},
|
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) {
|
// let tips = $('#tips');
|
// tips.html(msg);
|
// tips.css("color", warn?"red":'#666');
|
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) {
|
$("#pakin").focus();
|
pakIn();
|
} else if (key === 113) {
|
$("#code").val("");
|
$("#code").focus();
|
}
|
}
|
</script>
|
<script type="text/template" id="putSiteSelectTemplate">
|
{{#each data}}
|
<option value="{{this}}">{{this}}</option>
|
{{/each}}
|
</script>
|
</html>
|