|
|
|
|
<!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.6.3/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">
|
|
|
|
|
</head>
|
|
|
|
|
<body>
|
|
|
|
|
<style>
|
|
|
|
|
.inputdiv {
|
|
|
|
|
display: flex;
|
|
|
|
|
background-color: #fff;
|
|
|
|
|
height: 38px;
|
|
|
|
|
line-height: 38px;
|
|
|
|
|
border: 1px solid rgb(238, 238, 238);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.layui-form-label {
|
|
|
|
|
padding: 9px 0px;
|
|
|
|
|
text-align: left;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.layui-input-block {
|
|
|
|
|
margin-left: 80px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.lay-step {
|
|
|
|
|
display: none;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
</style>
|
|
|
|
|
<div class="layuimini-container">
|
|
|
|
|
<div class="layuimini-main">
|
|
|
|
|
<div class="layui-fluid">
|
|
|
|
|
<div class="layui-card">
|
|
|
|
|
<div class="layui-card-body" style="padding-top: 40px;">
|
|
|
|
|
<div class="layui-carousel" id="stepForm" lay-filter="stepForm" style="margin: 0 auto;">
|
|
|
|
|
<div carousel-item>
|
|
|
|
|
<div>
|
|
|
|
|
<form class="layui-form layui-form-pane"
|
|
|
|
|
style="margin: 0 auto;max-width: 460px;padding-top: 40px;">
|
|
|
|
|
<div class="layui-card-body" id="cardItem">
|
|
|
|
|
<div class="layui-form-item">
|
|
|
|
|
<label class="layui-form-label" style="height: 40px;">物料名称:</label>
|
|
|
|
|
<div class="layui-input-block">
|
|
|
|
|
<div class="inputdiv">
|
|
|
|
|
<input type="text" placeholder="请选择物料" class="layui-input"
|
|
|
|
|
th:value="${materialById.getMname()}"
|
|
|
|
|
id="mname" style="border-style: none"
|
|
|
|
|
lay-verify="required"/>
|
|
|
|
|
<i class="layui-icon layui-icon-search" style="display: inline"
|
|
|
|
|
id="selectMaterial" onclick="selectMaterial(this)"></i>
|
|
|
|
|
</div>
|
|
|
|
|
<input type="text" name="mid" class="layui-input" id="mid"
|
|
|
|
|
th:value="${materialById.getId()}"
|
|
|
|
|
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 id="code" name="code" type="text" placeholder="请填写入物料编码" value=""
|
|
|
|
|
th:value="${materialById.getCode()}"
|
|
|
|
|
class="layui-input" lay-verify="required">
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="layui-form-item">
|
|
|
|
|
<label class="layui-form-label">物料数量:</label>
|
|
|
|
|
<div class="layui-input-block">
|
|
|
|
|
<input name="quantity" id="quantity"
|
|
|
|
|
onblur="MaterialQuantityIsTrue(this)" type="number"
|
|
|
|
|
placeholder="请填写入物料数量" value="" class="layui-input"
|
|
|
|
|
lay-verify="number" required>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="layui-form-item">
|
|
|
|
|
<label class="layui-form-label">计量单位:</label>
|
|
|
|
|
<div class="layui-input-block">
|
|
|
|
|
<select id="unit" name="unit">
|
|
|
|
|
<option value="-1" th:text="${materialById.getUnit()}"></option>
|
|
|
|
|
<option th:each="splitInfo,iterStar:${materialById.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 name="applyRemark" placeholder="请填写相关原因及申请原因" value=""
|
|
|
|
|
class="layui-input"/>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="layui-form-item">
|
|
|
|
|
<div class="layui-input-block">
|
|
|
|
|
<button class="layui-btn" lay-submit lay-filter="formStep">
|
|
|
|
|
 提交 
|
|
|
|
|
</button>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</form>
|
|
|
|
|
</div>
|
|
|
|
|
<div>
|
|
|
|
|
<form class="layui-form" style="margin: 0 auto;max-width: 460px;padding-top: 40px;">
|
|
|
|
|
<div style="text-align: center;margin-top: 90px;">
|
|
|
|
|
<i class="layui-icon layui-circle"
|
|
|
|
|
style="color: white;font-size:30px;font-weight:bold;background: #52C41A;padding: 20px;line-height: 80px;"></i>
|
|
|
|
|
<div style="font-size: 24px;color: #333;font-weight: 500;margin-top: 30px;">
|
|
|
|
|
提交申请成功
|
|
|
|
|
</div>
|
|
|
|
|
<div style="font-size: 14px;color: #666;margin-top: 20px;">预计审核时间为1天</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div style="text-align: center;margin-top: 50px;">
|
|
|
|
|
<button class="layui-btn next">再申请一次</button>
|
|
|
|
|
</div>
|
|
|
|
|
</form>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<hr>
|
|
|
|
|
<div style="color: #666;margin-top: 30px;margin-bottom: 40px;padding-left: 30px;">
|
|
|
|
|
<h3>说明</h3><br>
|
|
|
|
|
申请提交后,24小时内审核完毕
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<script src="/static/lib/layui-v2.6.3/layui.js" charset="utf-8"></script>
|
|
|
|
|
<script src="/static/js/lay-config.js?v=1.0.4" charset="utf-8"></script>
|
|
|
|
|
<script>
|
|
|
|
|
function MaterialQuantityIsTrue() {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function selectMaterial() {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 用于标志是否为第一次提交
|
|
|
|
|
let flagForForm = false;
|
|
|
|
|
|
|
|
|
|
layui.use(['form', 'step', 'layer', 'jquery'], function () {
|
|
|
|
|
var $ = layui.$,
|
|
|
|
|
form = layui.form,
|
|
|
|
|
step = layui.step;
|
|
|
|
|
var temp = {};
|
|
|
|
|
temp.mid = $("#mid").val();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$("#code").blur(function () {
|
|
|
|
|
var code = $(this).val();
|
|
|
|
|
var req = {};
|
|
|
|
|
req.code = code;
|
|
|
|
|
req.type = "out";
|
|
|
|
|
if(code !== ""){
|
|
|
|
|
$.ajax({
|
|
|
|
|
url: "/material/findMatrialByCode",
|
|
|
|
|
type: "get",
|
|
|
|
|
dataType: 'json',
|
|
|
|
|
data: (req),
|
|
|
|
|
contentType: "application/json;charset=utf-8",
|
|
|
|
|
success: function (d) {
|
|
|
|
|
var d = d.data;
|
|
|
|
|
if (d == null) {
|
|
|
|
|
layer.msg("没有该编码,请确认是否输入正确");
|
|
|
|
|
$("#mname").val("");
|
|
|
|
|
$("#mid").val("");
|
|
|
|
|
} else {
|
|
|
|
|
req.mid = d.id;
|
|
|
|
|
let unitItem = $("#unit");
|
|
|
|
|
unitItem.empty();
|
|
|
|
|
unitItem.append(new Option(d.baseUnit, "-1"));
|
|
|
|
|
$.each(d.splitInfoList, function (index, item) {
|
|
|
|
|
$("#unit").append(new Option(item.newUnit, item.newUnit));
|
|
|
|
|
});
|
|
|
|
|
$("#mname").val(d.mname);
|
|
|
|
|
$("#mid").val(d.id);
|
|
|
|
|
form.render();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
$("#mname").blur(function () {
|
|
|
|
|
var data = $(this).val();
|
|
|
|
|
var req = {};
|
|
|
|
|
req.mname = data;
|
|
|
|
|
$.ajax({
|
|
|
|
|
url: "/material/findInventoryByCondition",
|
|
|
|
|
type: "post",
|
|
|
|
|
dataType: 'json',
|
|
|
|
|
data: JSON.stringify(req),
|
|
|
|
|
contentType: "application/json;charset=utf-8",
|
|
|
|
|
success: function (d) {
|
|
|
|
|
if (d.count > 1) {
|
|
|
|
|
layer.msg("请点击右侧搜索确定物品");
|
|
|
|
|
$("#mid").val("");
|
|
|
|
|
$("#code").val("");
|
|
|
|
|
return false;
|
|
|
|
|
} else if (d.count === 0) {
|
|
|
|
|
layer.msg("没有该物品,请确认输入是否正确");
|
|
|
|
|
$("#mid").val("");
|
|
|
|
|
$("#code").val("");
|
|
|
|
|
return false;
|
|
|
|
|
} else {
|
|
|
|
|
var material = d.data[0];
|
|
|
|
|
$("#mname").val(material.mname);
|
|
|
|
|
$("#mid").val(material.id);
|
|
|
|
|
$("#code").val(material.code);
|
|
|
|
|
$("#unit").empty();
|
|
|
|
|
$("#unit").append(new Option(material.baseUnit, "-1"));
|
|
|
|
|
$.each(material.splitInfoList, function (index, item) {
|
|
|
|
|
$("#unit").append(new Option(item.newUnit, item.newUnit));
|
|
|
|
|
});
|
|
|
|
|
form.render();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
$('#openSonByDepository').on('click', function () {
|
|
|
|
|
layer.open({
|
|
|
|
|
type: 2,
|
|
|
|
|
title: '弹窗内容',
|
|
|
|
|
skin: 'layui-layer-rim',
|
|
|
|
|
maxmin: true,
|
|
|
|
|
shadeClose: true, //点击遮罩关闭层
|
|
|
|
|
area: ['70%', '70%'],
|
|
|
|
|
move: '.layui-layer-title',
|
|
|
|
|
fixed: false,
|
|
|
|
|
content: '/selectDepository?type=2',
|
|
|
|
|
success: function (layero, index) {
|
|
|
|
|
var children = layero.children();
|
|
|
|
|
var content = $(children[1]);
|
|
|
|
|
var iframeChildren = $(content.children());
|
|
|
|
|
content.css('height', '100%');
|
|
|
|
|
iframeChildren.css('height', '100%');
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$('#selectMaterial').on('click', function () {
|
|
|
|
|
var mname = $("#mname").val();
|
|
|
|
|
mname = mname.split(",")[0];
|
|
|
|
|
layer.open({
|
|
|
|
|
type: 2,
|
|
|
|
|
title: '弹窗内容',
|
|
|
|
|
skin: 'layui-layer-rim',
|
|
|
|
|
maxmin: true,
|
|
|
|
|
shadeClose: true, //点击遮罩关闭层
|
|
|
|
|
area: ['70%', '70%'],
|
|
|
|
|
move: '.layui-layer-title',
|
|
|
|
|
fixed: false,
|
|
|
|
|
content: '/selectMaterial?mname=' + mname,
|
|
|
|
|
success: function (layero, index) {
|
|
|
|
|
var children = layero.children();
|
|
|
|
|
var content = $(children[1]);
|
|
|
|
|
var iframeChildren = $(content.children());
|
|
|
|
|
content.css('height', '100%');
|
|
|
|
|
iframeChildren.css('height', '100%');
|
|
|
|
|
},
|
|
|
|
|
end: function () {
|
|
|
|
|
var mid = $("#mid").val();
|
|
|
|
|
$.ajax({
|
|
|
|
|
url: "/material/findMatrialById?mid=" + mid,
|
|
|
|
|
type: "get",
|
|
|
|
|
dataType: 'json',
|
|
|
|
|
contentType: "application/json;charset=utf-8",
|
|
|
|
|
success: function (d) {
|
|
|
|
|
var code = d.data.materialById.code;
|
|
|
|
|
if (code === undefined) {
|
|
|
|
|
code = "";
|
|
|
|
|
}
|
|
|
|
|
$("#code").val(code);
|
|
|
|
|
$("#unit").empty();
|
|
|
|
|
$("#unit").append(new Option(d.data.materialById.baseUnit, "-1"));
|
|
|
|
|
$.each(d.data.materialById.splitInfoList, function (index, item) {
|
|
|
|
|
$("#unit").append(new Option(item.newUnit, item.newUnit));
|
|
|
|
|
});
|
|
|
|
|
form.render();
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
// 用于分步表单加载
|
|
|
|
|
step.render({
|
|
|
|
|
elem: '#stepForm',
|
|
|
|
|
filter: 'stepForm',
|
|
|
|
|
width: '100%', //设置容器宽度
|
|
|
|
|
height: '600px',
|
|
|
|
|
stepItems: [{
|
|
|
|
|
title: '填写信息'
|
|
|
|
|
}, {
|
|
|
|
|
title: '提交成功'
|
|
|
|
|
}]
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
form.on('submit(formStep)', function (data) {
|
|
|
|
|
if(!flagForForm){
|
|
|
|
|
flagForForm = true;
|
|
|
|
|
data = data.field;
|
|
|
|
|
var params = [];
|
|
|
|
|
data.params = params;
|
|
|
|
|
$.ajax({
|
|
|
|
|
url: "/depositoryRecord/applicationOut",
|
|
|
|
|
type: 'post',
|
|
|
|
|
dataType: 'json',
|
|
|
|
|
contentType: "application/json;charset=utf-8",
|
|
|
|
|
data: JSON.stringify(data),
|
|
|
|
|
beforeSend: function () {
|
|
|
|
|
this.layerIndex = layer.load(0, {shade: [0.5, '#393D49']});
|
|
|
|
|
},
|
|
|
|
|
success: function (data) {
|
|
|
|
|
layer.close(this.layerIndex);
|
|
|
|
|
if (data.status >= 300) {
|
|
|
|
|
layer.msg(data.statusInfo.message);//失败的表情
|
|
|
|
|
return;
|
|
|
|
|
} else {
|
|
|
|
|
layer.msg("申请提交成功", {
|
|
|
|
|
icon: 6,//成功的表情
|
|
|
|
|
time: 500 //1秒关闭(如果不配置,默认是3秒)
|
|
|
|
|
}, function () {
|
|
|
|
|
step.next('#stepForm');
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
complete: function () {
|
|
|
|
|
layer.close(this.layerIndex);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
form.on('submit(formStep2)', function (data) {
|
|
|
|
|
step.next('#stepForm');
|
|
|
|
|
return false;
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
$('.pre').click(function () {
|
|
|
|
|
step.pre('#stepForm');
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
$('.next').click(function () {
|
|
|
|
|
step.next('#stepForm');
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
//用于判断当前物料数量是否合适
|
|
|
|
|
MaterialQuantityIsTrue = function (obj) {
|
|
|
|
|
var mcode = $("#code").val(); // 获取到当前输入的物料编码
|
|
|
|
|
var unit = $("#unit").val();
|
|
|
|
|
if (mcode === "" || mcode === undefined || mcode === null) {
|
|
|
|
|
layer.msg("请输入物料的正确编码!", {icon: 0, time: 500}, function () {
|
|
|
|
|
$("#quantity").val("")
|
|
|
|
|
});
|
|
|
|
|
} else {
|
|
|
|
|
let val = $("#quantity").val();
|
|
|
|
|
if (val !== null && val !== undefined && val !== '') {
|
|
|
|
|
var req = {};
|
|
|
|
|
req.mcode = mcode;
|
|
|
|
|
req.quantity = val;
|
|
|
|
|
req.unit = unit;
|
|
|
|
|
req.placeId = -1;
|
|
|
|
|
$.ajax({
|
|
|
|
|
url: "/material/MaterialQuantityIsTrue",
|
|
|
|
|
type: "post",
|
|
|
|
|
data: JSON.stringify(req),
|
|
|
|
|
dataType: 'json',
|
|
|
|
|
contentType: "application/json;charset=utf-8",
|
|
|
|
|
success: function (res) {
|
|
|
|
|
var flag = res.data;
|
|
|
|
|
if (!flag) { // 如果当前数目不合适
|
|
|
|
|
layer.msg("当前单仓库中物料数量不足", {icon: 0, time: 500}, function () {
|
|
|
|
|
$("#quantity").val("");
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
})
|
|
|
|
|
</script>
|
|
|
|
|
</body>
|
|
|
|
|
</html>
|