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.
273 lines
13 KiB
273 lines
13 KiB
<!DOCTYPE html>
|
|
<html lang="en" xmlns:th="http://www.thymeleaf.org">
|
|
<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, maximum-scale=1">
|
|
<link rel="stylesheet" href="/static/lib/layui-v2.8.6/css/layui.css" media="all">
|
|
<link rel="stylesheet" href="/static/css/public.css" media="all">
|
|
<link rel="stylesheet" href="/static/js/lay-module/step-lay/step.css" media="all">
|
|
<link rel="stylesheet" href="/static/lib/font-awesome-4.7.0/css/font-awesome.min.css" media="all">
|
|
|
|
</head>
|
|
<body>
|
|
<div class="layuimini-container">
|
|
<div class="layuimini-main">
|
|
|
|
|
|
<div class="layui-carousel" id="stepForm" lay-filter="stepForm" style="margin: 0 auto; ">
|
|
<div carousel-item style="overflow: inherit">
|
|
<div>
|
|
<form class="layui-form"
|
|
style="margin: 0 auto;max-width: 700px;"
|
|
lay-filter="form1">
|
|
<div class="layui-card-body" style="padding-right: 0px">
|
|
<div class="layui-form-item">
|
|
<label class="layui-form-label">盘点位置:</label>
|
|
<div class="layui-input-block">
|
|
<input type="text" class="layui-input"
|
|
th:value="${record.getDepositoryCode()}"
|
|
id="openSonByDepository" readonly
|
|
lay-verify="required"/>
|
|
<input type="text" name="depositoryId" class="layui-input"
|
|
th:value="${record.getDepositoryId()}"
|
|
id="depositoryId"
|
|
style="display: none" lay-verify="required"/>
|
|
<input type="text" name="placeId" class="layui-input" th:value="${record.getPid()}"
|
|
id="placeId"
|
|
style="display: none" lay-verify="required"/>
|
|
<input type="text" name="mpId" class="layui-input" th:value="${mpId}"
|
|
id="mpId"
|
|
style="display: none" lay-verify="required"/>
|
|
</div>
|
|
</div>
|
|
<div class="layui-form-item">
|
|
<label class="layui-form-label">物料名称:</label>
|
|
<div class="layui-input-block">
|
|
<input type="text" class="layui-input"
|
|
th:value="${record.getMname()}"
|
|
id="mname" readonly/>
|
|
<input type="text" name="mid" class="layui-input" th:value="${record.getId()}"
|
|
id="mid"
|
|
style="display: none" lay-verify="required"/>
|
|
</div>
|
|
</div>
|
|
<div class="layui-form-item">
|
|
<label class="layui-form-label">物料编码:</label>
|
|
<div class="layui-input-block">
|
|
<input type="text" class="layui-input"
|
|
th:value="${record.getCode()}"
|
|
id="mcode" readonly/>
|
|
</div>
|
|
</div>
|
|
<div class="layui-form-item">
|
|
<label class="layui-form-label">物料品牌:</label>
|
|
<div class="layui-input-block">
|
|
<input type="text" class="layui-input"
|
|
th:value="${record.getBrand()}"
|
|
id="mbrand" readonly/>
|
|
</div>
|
|
</div>
|
|
<div class="layui-form-item">
|
|
<label class="layui-form-label">物料型号:</label>
|
|
<div class="layui-input-block">
|
|
<input type="text" class="layui-input"
|
|
th:value="${record.getVersion()}"
|
|
id="mversion" readonly/>
|
|
</div>
|
|
</div>
|
|
<div class="layui-form-item">
|
|
<label class="layui-form-label">计量单位:</label>
|
|
<div class="layui-input-block">
|
|
<select id="unit" name="unit">
|
|
<option th:value="${record.getUnit()}" th:text="${record.getUnit()}"></option>
|
|
<option th:each="splitInfo,iterStar:${record.getSplitInfoList()}"
|
|
th:value="${splitInfo?.getNewUnit()}"
|
|
th:text="${splitInfo?.getNewUnit()}"></option>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
<div class="layui-form-item">
|
|
<label class="layui-form-label">库存数量:</label>
|
|
<div class="layui-input-block">
|
|
<input type="text" class="layui-input"
|
|
th:value="${record.getQuantity()}"
|
|
id="quantity" readonly/>
|
|
</div>
|
|
</div>
|
|
<div class="layui-form-item">
|
|
<label class="layui-form-label">盘点数量:</label>
|
|
<div class="layui-input-block">
|
|
<input type="number" class="layui-input" id="newInventory"
|
|
onblur="calculateForMaterial(this)"
|
|
name="newInventory"
|
|
lay-verify="required"/>
|
|
</div>
|
|
</div>
|
|
<div class="layui-form-item">
|
|
<label class="layui-form-label">盘点结果:</label>
|
|
<div class="layui-input-block">
|
|
<input name="takingResult" id="result" class="layui-input"/>
|
|
</div>
|
|
</div>
|
|
<div class="layui-form-item">
|
|
<label class="layui-form-label">盈亏数量:</label>
|
|
<div class="layui-input-block">
|
|
<input type="number" class="layui-input"
|
|
readonly
|
|
id="Inventory_number"
|
|
name="inventory" lay-verify="required"/>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<script src="/static/lib/layui-v2.8.6/layui.js" charset="utf-8"></script>
|
|
<script src="/static/js/lay-config.js?v=1.0.4" charset="utf-8"></script>
|
|
<script>
|
|
|
|
|
|
layui.use(['form', 'flow', 'step', 'element'], function () {
|
|
var $ = layui.$,
|
|
step = layui.step,
|
|
element = layui.element,
|
|
form = layui.form;
|
|
|
|
|
|
// 用于分步表单加载
|
|
step.render({
|
|
elem: '#stepForm',
|
|
filter: 'stepForm',
|
|
width: '100%', //设置容器宽度
|
|
stepWidth: '750px',
|
|
height: '1050px',
|
|
stepItems: []
|
|
});
|
|
|
|
$(function() {
|
|
$.ajax({
|
|
url: "/stockTaking/getTemporaryStorageForTakingResult",
|
|
type: "post",
|
|
dataType: 'json',
|
|
data: JSON.stringify({"mpId":$("#mpId").val()}),
|
|
contentType: "application/json;charset=utf-8",
|
|
success: function (res) {
|
|
let data = res.data;
|
|
if(data !== null){
|
|
let nowUnit = $("#unit").val();
|
|
let stockUnit = data.unit;
|
|
if(nowUnit !== stockUnit){
|
|
$("#unit").val(stockUnit);
|
|
findInventoryForUnit({});
|
|
form.render();
|
|
}
|
|
$("#Inventory_number").val(data.number);
|
|
$("#result").val(data.takingResultString);
|
|
let takingResult = data.takingResult;
|
|
if("Inventory_up" === takingResult){
|
|
// 如果盘盈
|
|
$("#newInventory").val(Number(data.oldInventory) + Number(data.number));
|
|
}else if("Inventory_down" === takingResult){
|
|
// 如果盘亏
|
|
$("#newInventory").val(Number(data.oldInventory) - Number(data.number));
|
|
}else{
|
|
// 如果正常
|
|
$("#newInventory").val(0);
|
|
}
|
|
}
|
|
}
|
|
});
|
|
});
|
|
|
|
|
|
form.on('select()', function (data) {
|
|
var id = data.elem.id; //得到select原始DOM对象id
|
|
var req = {};
|
|
if (id.includes("producedDate")) {
|
|
req.mid = $("#mid").val();
|
|
req.producedDate = data.value;
|
|
$.ajax({
|
|
url: "/material/findQuantityByProducedDate",
|
|
type: "post",
|
|
dataType: 'json',
|
|
data: JSON.stringify(req),
|
|
contentType: "application/json;charset=utf-8",
|
|
success: function (d) {
|
|
$("#quantity").val(d.data)
|
|
}
|
|
});
|
|
} else if (id.includes("unit")) {
|
|
findInventoryForUnit(req);
|
|
}
|
|
});
|
|
|
|
findInventoryForUnit = function(req){
|
|
req.mid = $("#mid").val();
|
|
req.unit = $("#unit").val();
|
|
req.placeId = $("#placeId").val();
|
|
$.ajax({
|
|
url: "/material/findQuantityByUnit",
|
|
type: "post",
|
|
dataType: 'json',
|
|
data: JSON.stringify(req),
|
|
contentType: "application/json;charset=utf-8",
|
|
success: function (d) {
|
|
$("#quantity").val(d.data);
|
|
}
|
|
});
|
|
}
|
|
|
|
// 用于计算盘点结果
|
|
calculateForMaterial = function (obj) {
|
|
let oldInventory = Number($("#quantity").val());
|
|
let nowInventory = Number(obj.value);
|
|
let number = 0;
|
|
let takingResult = '';
|
|
let takingResultString = '';
|
|
let req = {};
|
|
if ((oldInventory) > (nowInventory)) {
|
|
number = oldInventory - nowInventory;
|
|
takingResult = "Inventory_down";
|
|
takingResultString = "盘亏";
|
|
} else if ((oldInventory) < (nowInventory)) {
|
|
number = nowInventory - oldInventory;
|
|
takingResult = "Inventory_up";
|
|
takingResultString = "盘盈";
|
|
} else {
|
|
takingResult = "Inventory_normal";
|
|
takingResultString = "正常";
|
|
}
|
|
$("#result").val(takingResultString);
|
|
$("#Inventory_number").val(number);
|
|
req.number = number + "";
|
|
req.takingResult = takingResult;
|
|
req.takingResultString = takingResultString;
|
|
req.id = $("#mpId").val();
|
|
req.unit = $("#unit").val();
|
|
req.oldInventory = oldInventory + "";
|
|
$.ajax({
|
|
url: "/stockTaking/temporaryStorageForTakingResult",
|
|
dataType: "json",
|
|
data: JSON.stringify(req),
|
|
type: "POST",
|
|
contentType: "application/json;charset=utf-8"
|
|
});
|
|
};
|
|
|
|
$('body').on('click', '[data-refresh]', function () {
|
|
location.reload();
|
|
})
|
|
|
|
});
|
|
|
|
</script>
|
|
</body>
|
|
</html>
|