11 changed files with 1022 additions and 180 deletions
@ -0,0 +1,452 @@ |
|||||
|
<!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; |
||||
|
} |
||||
|
|
||||
|
.layui-fluid { |
||||
|
padding-left: 0px; |
||||
|
padding-right: 0px; |
||||
|
} |
||||
|
|
||||
|
.inputdiv .layui-unselect { |
||||
|
border-style: none; |
||||
|
width: 100%; |
||||
|
} |
||||
|
</style> |
||||
|
<div class="layuimini-container"> |
||||
|
<div class="layuimini-main"> |
||||
|
<fieldset class="table-search-fieldset" style="padding: 10px 2px 5px;"> |
||||
|
<legend>物料拆单</legend> |
||||
|
<div class="layui-fluid"> |
||||
|
<div class="layui-card"> |
||||
|
<div class="layui-card-body" style="padding-left:0px;padding-right:0px"> |
||||
|
<div> |
||||
|
<form class="layui-form layui-form-pane" |
||||
|
style="margin: 0 auto;max-width: 700px;padding-top: 5px; padding-bottom: 50px" |
||||
|
lay-filter="formStep"> |
||||
|
<input name="id" style="display: none" id="id" th:value="${record.getId()}"> |
||||
|
<div class="layui-form-item"> |
||||
|
<label class="layui-form-label">物料名称:</label> |
||||
|
|
||||
|
<div class="layui-input-block"> |
||||
|
<div class="inputdiv"> |
||||
|
<input type="text" placeholder="请选择物料" class="layui-input" |
||||
|
style="border-style: none" th:value="${record.getMname()}" |
||||
|
id="mname" onblur="selectMaterialByName(this)" |
||||
|
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="${record.getMid()}" |
||||
|
style="display: none" lay-verify="required"/> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
|
||||
|
<div class="layui-form-item"> |
||||
|
<label class="layui-form-label">物料编码:</label> |
||||
|
<div class="layui-input-block" style="margin: 0px;"> |
||||
|
<div class="inputdiv"> |
||||
|
<input id="code" name="code" type="text" placeholder="请填写入物料编码" |
||||
|
onblur="selectCode(this)" th:value="${record.getMcode()}" |
||||
|
class="layui-input" lay-verify="required" |
||||
|
style="border-style: none"> |
||||
|
<img src="/static/images/search.ico" height="16" width="16" |
||||
|
id="qrCodeImg" |
||||
|
style="margin-top: 10px" onclick="scanCode(this)"> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="layui-form-item"> |
||||
|
<label class="layui-form-label">条形编码:</label> |
||||
|
<div class="layui-input-block" style="margin: 0px;"> |
||||
|
<div class="inputdiv"> |
||||
|
<input id="barCode" name="barCode" type="text" readonly |
||||
|
class="layui-input" |
||||
|
style="border-style: none"> |
||||
|
<img src="/static/images/search.ico" height="16" width="16" |
||||
|
id="barCodeImg" |
||||
|
style="margin-top: 10px" onclick="scanBarCode(this)"> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
<div class="layui-form-item"> |
||||
|
<label class="layui-form-label">规格型号:</label> |
||||
|
|
||||
|
<div class="layui-input-block"> |
||||
|
<input type="text" name="version" class="layui-input" th:value="${record.getVersion()}" id="version" readonly/> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
|
||||
|
<div class="layui-form-item"> |
||||
|
<label class="layui-form-label">物料类型:</label> |
||||
|
|
||||
|
<div class="layui-input-block"> |
||||
|
<input type="text" name="typeName" class="layui-input" id="typeName" readonly th:value="${record.getTypeName()}" |
||||
|
lay-verify="required"/> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
<div class="layui-form-item"> |
||||
|
<label class="layui-form-label">计量单位:</label> |
||||
|
|
||||
|
<div class="layui-input-block"> |
||||
|
<input type="text" name="oldUnit" class="layui-input" id="unit" readonly th:value="${record.getOldUnit()}" |
||||
|
lay-verify="required"/> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
<div class="layui-form-item"> |
||||
|
<label class="layui-form-label">拆单单位:</label> |
||||
|
<div class="layui-input-block"> |
||||
|
<input type="text" name="newUnit" class="layui-input" id="newUnit" th:value="${record.getNewUnit()}" |
||||
|
lay-verify="required"/> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
<div class="layui-form-item"> |
||||
|
<label class="layui-form-label">对应数目:</label> |
||||
|
|
||||
|
<div class="layui-input-block"> |
||||
|
<input type="text" name="quantity" class="layui-input" id="quantity" th:value="${record.getQuantity()}" |
||||
|
lay-verify="number"/> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
<div class="layui-form-item"> |
||||
|
<div class="layui-input-block"> |
||||
|
<button class="layui-btn" type="button" lay-submit lay-filter="formStep"> |
||||
|
 提交  |
||||
|
</button> |
||||
|
</div> |
||||
|
</div> |
||||
|
</form> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</fieldset> |
||||
|
</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 selectMaterialByName() { |
||||
|
} |
||||
|
|
||||
|
// 打开物料选择树 |
||||
|
function selectMaterial() { |
||||
|
} |
||||
|
|
||||
|
// 用于编码查询 |
||||
|
function selectCode(obj) { |
||||
|
} |
||||
|
|
||||
|
// 用于扫描条形码 |
||||
|
function scanBarCode(obj) { |
||||
|
} |
||||
|
|
||||
|
|
||||
|
// 用于扫码入库 |
||||
|
function scanCode(obj) { |
||||
|
} |
||||
|
|
||||
|
layui.use(['form', 'layer'], function () { |
||||
|
var $ = layui.jquery, |
||||
|
form = layui.form, |
||||
|
layer = layui.layer; |
||||
|
let id = $("#id").val(); |
||||
|
form.on('submit(formStep)', function (data) { |
||||
|
data = data.field; |
||||
|
data.state = 1; |
||||
|
$.ajax({ |
||||
|
url:"/split/split_edit", |
||||
|
data:JSON.stringify(data), |
||||
|
dataType:"json", |
||||
|
type:"post", |
||||
|
contentType: "application/json;charset=utf-8", |
||||
|
success:function (res) { |
||||
|
layer.close(this.layerIndex); |
||||
|
if (data.status >= 300) { |
||||
|
layer.msg(data.statusInfo.detail,{ |
||||
|
icon:6, |
||||
|
time:1000 |
||||
|
},function () { |
||||
|
window.location="/split_edit?id="+id |
||||
|
});//失败的表情 |
||||
|
} else { |
||||
|
layer.msg("修改成功!", { |
||||
|
icon: 6,//成功的表情 |
||||
|
time: 1000 |
||||
|
}, //1秒关闭(如果不配置,默认是3秒) |
||||
|
function(){ |
||||
|
//do something |
||||
|
window.location="/split_edit?id="+id |
||||
|
}); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
}) |
||||
|
}); |
||||
|
|
||||
|
// 通过名称查询物料 |
||||
|
selectMaterialByName = function (obj) { |
||||
|
let materialName = $("#mname"); |
||||
|
var data = materialName.val(); |
||||
|
var req = {}; |
||||
|
req.mname = data; |
||||
|
let materialId = $("#mid"); |
||||
|
let codeValue = $("#code"); |
||||
|
let version = $("#version"); |
||||
|
let typeName = $("#typeName"); |
||||
|
let unit = $("#unit"); |
||||
|
$.ajax({ |
||||
|
url: "/material/findMaterialByCondition", |
||||
|
type: "post", |
||||
|
dataType: 'json', |
||||
|
data: JSON.stringify(req), |
||||
|
contentType: "application/json;charset=utf-8", |
||||
|
success: function (d) { |
||||
|
if (d.count > 1) { |
||||
|
layer.msg("请点击右侧搜索确定物品"); |
||||
|
materialId.val(""); |
||||
|
codeValue.val(""); |
||||
|
version.val(""); |
||||
|
typeName.val(""); |
||||
|
unit.val(""); |
||||
|
return false; |
||||
|
} else if (d.count === 0) { |
||||
|
layer.msg("没有该物品,请确认输入是否正确"); |
||||
|
materialId.val(""); |
||||
|
codeValue.val(""); |
||||
|
materialName.val(""); |
||||
|
version.val(""); |
||||
|
typeName.val(""); |
||||
|
unit.val(""); |
||||
|
return false; |
||||
|
} else { |
||||
|
var material = d.data[0]; |
||||
|
materialName.val(material.mname); |
||||
|
materialId.val(material.mid); |
||||
|
codeValue.val(material.code); |
||||
|
version.val(material.version); |
||||
|
typeName.val(material.typeName); |
||||
|
unit.val(material.unit); |
||||
|
} |
||||
|
} |
||||
|
}); |
||||
|
}; |
||||
|
|
||||
|
// 打开物料选择树 |
||||
|
selectMaterial = function (obj) { |
||||
|
let mname = $("#mname").val(); |
||||
|
mname = mname.split(",")[0]; |
||||
|
layer.open({ |
||||
|
type: 2, |
||||
|
title: '弹窗内容', |
||||
|
skin: 'layui-layer-rim', |
||||
|
maxmin: true, |
||||
|
shadeClose: true, //点击遮罩关闭层 |
||||
|
area: ['70%', '70%'], |
||||
|
content: '/selectMaterial?mname=' + mname, |
||||
|
move: '.layui-layer-title', |
||||
|
fixed: false, |
||||
|
success: function (layero, index) { |
||||
|
let children = layero.children(); |
||||
|
let content = $(children[1]); |
||||
|
let iframeChildren = $(content.children()); |
||||
|
content.css('height', '100%'); |
||||
|
iframeChildren.css('height', '100%'); |
||||
|
}, |
||||
|
end: function () { |
||||
|
var mid = $("#mid").val(); |
||||
|
if (mid !== '') { |
||||
|
$.ajax({ |
||||
|
url: "/material/findMatrialById?mid=" + mid, |
||||
|
type: "get", |
||||
|
dataType: 'json', |
||||
|
contentType: "application/json;charset=utf-8", |
||||
|
success: function (d) { |
||||
|
var material = d.data.materialById; |
||||
|
var code = material.code; |
||||
|
if (code === undefined) { |
||||
|
code = ""; |
||||
|
} |
||||
|
$("#code").val(code); |
||||
|
$("#version").val(material.version); |
||||
|
$("#unit").val(material.unit); |
||||
|
$("#typeName").val(material.typeName); |
||||
|
var materialAndBarCodeList = material["materialAndBarCodeList"]; |
||||
|
if (materialAndBarCodeList.length > 0) { |
||||
|
// 如果有对应的条形码 |
||||
|
$("#barCode").remove(); |
||||
|
var barCodeSelect = ` |
||||
|
<select id="barCode" name= "barCode"></select>`; |
||||
|
$("#barCodeImg").before(barCodeSelect); |
||||
|
form.render(); |
||||
|
$.each(materialAndBarCodeList, function (index, item) { |
||||
|
$("#barCode").append(new Option(item.bmcode, item.id));//往下拉菜单里添加元素 |
||||
|
}); |
||||
|
form.render(); |
||||
|
} |
||||
|
} |
||||
|
}); |
||||
|
} |
||||
|
|
||||
|
|
||||
|
} |
||||
|
}); |
||||
|
}; |
||||
|
|
||||
|
scanCodeInStorage = function (obj) { |
||||
|
var objIdNumber = obj.id.split("qrCodeImg")[1]; |
||||
|
parent.wx.scanQRCode({ |
||||
|
desc: 'scanQRCode desc', |
||||
|
needResult: 1, // 默认为0,扫描结果由企业微信处理,1则直接返回扫描结果, |
||||
|
scanType: ["qrCode"], // 可以指定扫二维码还是条形码(一维码),默认二者都有 |
||||
|
success: function (res) { |
||||
|
// 回调 |
||||
|
var result = res.resultStr;//当needResult为1时返回处理结果 |
||||
|
var req = {}; |
||||
|
req.qrCode = result; |
||||
|
$("#qrCode" + objIdNumber).val(result); |
||||
|
$.ajax({ |
||||
|
url: "/material/qywxApplicationInScanQrCode", |
||||
|
type: "post", |
||||
|
dataType: 'json', |
||||
|
data: JSON.stringify(req), |
||||
|
contentType: "application/json;charset=utf-8", |
||||
|
success: function (d) { |
||||
|
|
||||
|
} |
||||
|
|
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
}; |
||||
|
|
||||
|
scanBarCode = function (obj) { |
||||
|
parent.wx.scanQRCode({ |
||||
|
desc: 'scanQRCode desc', |
||||
|
needResult: 1, // 默认为0,扫描结果由企业微信处理,1则直接返回扫描结果, |
||||
|
scanType: ["barCode"], // 可以指定扫二维码还是条形码(一维码),默认二者都有 |
||||
|
success: function (res) { |
||||
|
// 回调 |
||||
|
var result = res.resultStr;//当needResult为1时返回处理结果 |
||||
|
var req = {}; |
||||
|
req.qrCode = result; |
||||
|
$.ajax({ |
||||
|
url: "/material/qywxApplicationInScanBarCode", |
||||
|
type: "post", |
||||
|
dataType: 'json', |
||||
|
data: JSON.stringify(req), |
||||
|
contentType: "application/json;charset=utf-8", |
||||
|
success: function (d) { |
||||
|
|
||||
|
} |
||||
|
}) |
||||
|
|
||||
|
}, |
||||
|
error: function (res) { |
||||
|
if (res.errMsg.indexOf('function_not_exist') > 0) { |
||||
|
alert('版本过低请升级') |
||||
|
} |
||||
|
alert(res) |
||||
|
|
||||
|
} |
||||
|
}); |
||||
|
}; |
||||
|
|
||||
|
// 用于实现通过编码查询物料 |
||||
|
selectCode = function (obj) { |
||||
|
// 输入code |
||||
|
var code = obj.value; |
||||
|
var req = {}; |
||||
|
req.code = code; |
||||
|
req.type = "in"; |
||||
|
$.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(""); |
||||
|
$("#code").val(""); |
||||
|
$("#barCode").val(""); |
||||
|
$("#version").val(""); |
||||
|
$("#unit").val(""); |
||||
|
$("#typeName").val(""); |
||||
|
form.render(); |
||||
|
|
||||
|
} else { |
||||
|
$("#mname").val(d.mname); |
||||
|
$("#mid").val( d.mid); |
||||
|
$("#version").val(d.version); |
||||
|
$("#unit").val(d.unit); |
||||
|
$("#typeName").val(d.typeName); |
||||
|
// 获取物料与条形码的对应关系 |
||||
|
var materialAndBarCodeList = d["materialAndBarCodeList"]; |
||||
|
if (materialAndBarCodeList.length > 0) { |
||||
|
// 如果有对应的条形码 |
||||
|
$("#barCode").remove(); |
||||
|
$(".layui-unselect").remove(); |
||||
|
var barCodeSelect = ` |
||||
|
<select id="barCode" name="barCode"> |
||||
|
</select>`; |
||||
|
$("#barCodeImg").before(barCodeSelect); |
||||
|
|
||||
|
form.render(); |
||||
|
$.each(materialAndBarCodeList, function (index, item) { |
||||
|
$("#barCode").append(new Option(item.bmcode, item.bmcode));//往下拉菜单里添加元素 |
||||
|
}); |
||||
|
form.render(); |
||||
|
} else { |
||||
|
$("#barCode").remove(); |
||||
|
$(".layui-unselect").remove(); |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
} |
||||
|
}); |
||||
|
|
||||
|
}; |
||||
|
|
||||
|
}) |
||||
|
</script> |
||||
|
|
||||
|
</body> |
||||
|
</html> |
||||
Loading…
Reference in new issue