|
|
|
@ -12,172 +12,204 @@ |
|
|
|
</head> |
|
|
|
<body> |
|
|
|
<style> |
|
|
|
.inputdiv{ |
|
|
|
display:flex;background-color: #fff;height: 38px;line-height: 38px;border: 1px solid rgb(238, 238, 238); |
|
|
|
.inputdiv { |
|
|
|
display: flex; |
|
|
|
background-color: #fff; |
|
|
|
height: 38px; |
|
|
|
line-height: 38px; |
|
|
|
border: 1px solid rgb(238, 238, 238); |
|
|
|
} |
|
|
|
|
|
|
|
.layui-form-label{ |
|
|
|
.layui-form-label { |
|
|
|
padding: 9px 0px; |
|
|
|
text-align: left; |
|
|
|
} |
|
|
|
.layui-input-block{ |
|
|
|
|
|
|
|
.layui-input-block { |
|
|
|
margin-left: 80px; |
|
|
|
} |
|
|
|
.layui-form-select{ |
|
|
|
|
|
|
|
.layui-form-select { |
|
|
|
width: 100%; |
|
|
|
} |
|
|
|
.layui-card-body{ |
|
|
|
|
|
|
|
.layui-card-body { |
|
|
|
padding: 10px 5px; |
|
|
|
} |
|
|
|
.lay-step{ |
|
|
|
|
|
|
|
.lay-step { |
|
|
|
display: none; |
|
|
|
} |
|
|
|
</style> |
|
|
|
<div class="layuimini-container"> |
|
|
|
<div class="layuimini-main"> |
|
|
|
<div class="layui-fluid"> |
|
|
|
<!-- 库存转移申请--> |
|
|
|
<div class="layui-carousel" id="stepForm" lay-filter="stepForm" style="margin: 0 auto;"> |
|
|
|
<div carousel-item style="overflow: inherit"> |
|
|
|
|
|
|
|
<div> |
|
|
|
<form class="layui-form layui-form-pane" style="margin: 0 auto;max-width: 460px;"> |
|
|
|
<div class="layui-card" id="cardParent"> |
|
|
|
<div class="layui-card-body" id="cardItem"> |
|
|
|
<hr> |
|
|
|
<i class="layui-icon layui-icon-subtraction" style="display: inline" onclick="deleteItem(this)"></i> |
|
|
|
<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" style="border-style: none" |
|
|
|
id="openSonByMaterial" 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" |
|
|
|
style="display: none" lay-verify="required" /> |
|
|
|
</div> |
|
|
|
|
|
|
|
</div> |
|
|
|
<div class="layui-form-item"> |
|
|
|
<label class="layui-form-label" style="height: 40px;">物料编码:</label> |
|
|
|
<div class="layui-input-block" style="margin: 0px;"> |
|
|
|
<div class="inputdiv"> |
|
|
|
<input id="code" name="code" type="text" placeholder="请填写入物料编码" value="" |
|
|
|
onblur="selectCode(this)" |
|
|
|
class="layui-input" lay-verify="required" |
|
|
|
style="border-style: none"> |
|
|
|
<img src="/static/images/search.ico" height="16" width="16" |
|
|
|
style="margin-top: 10px" onclick="scanCodeByTransfer(this)"> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="layui-form-item"> |
|
|
|
<label class="layui-form-label" style="height: 40px;">条形编码:</label> |
|
|
|
<div class="layui-input-block" style="margin: 0px;"> |
|
|
|
<div class="inputdiv"> |
|
|
|
<input id="barCode" name="barCode" type="text" placeholder="请填写入条形编码" |
|
|
|
value="" |
|
|
|
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"> |
|
|
|
<select name="fromPlaceId" id="place"></select> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="layui-form-item"> |
|
|
|
<label class="layui-form-label">物料数量:</label> |
|
|
|
<div class="layui-input-block"> |
|
|
|
<input id="quantity" name="quantity" type="number" onblur="MaterialQuantityIsTrue(this)" placeholder="请填写入物料数量" value="" class="layui-input" lay-verify="number" required> |
|
|
|
</div> |
|
|
|
<!-- 库存转移申请--> |
|
|
|
<div class="layui-carousel" id="stepForm" lay-filter="stepForm" style="margin: 0 auto;"> |
|
|
|
<div carousel-item style="overflow: inherit"> |
|
|
|
|
|
|
|
<div> |
|
|
|
<form class="layui-form layui-form-pane" style="margin: 0 auto;max-width: 460px;"> |
|
|
|
<div class="layui-card" id="cardParent"> |
|
|
|
<div class="layui-card-body" id="cardItem"> |
|
|
|
<hr> |
|
|
|
<i class="layui-icon layui-icon-subtraction" style="display: inline" |
|
|
|
onclick="deleteItem(this)"></i> |
|
|
|
<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" |
|
|
|
style="border-style: none" |
|
|
|
id="openSonByMaterial" onblur="selectMaterialByName(this)" |
|
|
|
lay-verify="required"/> |
|
|
|
<i class="layui-icon layui-icon-search" style="display: inline" |
|
|
|
id="selectMaterial" onclick="selectMaterial(this)"></i> |
|
|
|
</div> |
|
|
|
<div class="layui-form-item"> |
|
|
|
<label class="layui-form-label">计量单位:</label> |
|
|
|
<div class="layui-input-block"> |
|
|
|
<select id="unit" name="unit"> |
|
|
|
<input type="text" name="mid" class="layui-input" id="mid" |
|
|
|
style="display: none" lay-verify="required"/> |
|
|
|
</div> |
|
|
|
|
|
|
|
</select> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<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" style="border-style: none" |
|
|
|
id="openSonByDepository" readonly onclick="openDepositoryTree(this)" |
|
|
|
lay-verify="required"/> |
|
|
|
<input type="text" name="depositoryId" class="layui-input" id="depositoryId" |
|
|
|
style="display: none" lay-verify="required"/> |
|
|
|
<input type="text" name="placeId" class="layui-input" id="placeId" |
|
|
|
style="display: none" lay-verify="required"/> |
|
|
|
<img src="/static/images/search.ico" height="16" width="16" |
|
|
|
id="scanLocation" |
|
|
|
style="margin-top: 10px" onclick="scanLocationByQrCode(this)"> |
|
|
|
</div> |
|
|
|
</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"> |
|
|
|
<label class="layui-form-label" style="height: 40px;">物料编码:</label> |
|
|
|
<div class="layui-input-block" style="margin: 0px;"> |
|
|
|
<div class="inputdiv"> |
|
|
|
<input id="code" name="code" type="text" placeholder="请填写入物料编码" value="" |
|
|
|
onblur="selectCode(this)" |
|
|
|
class="layui-input" lay-verify="required" |
|
|
|
style="border-style: none"> |
|
|
|
<img src="/static/images/search.ico" height="16" width="16" |
|
|
|
style="margin-top: 10px" onclick="scanCodeByTransfer(this)"> |
|
|
|
</div> |
|
|
|
<i class="layui-icon layui-icon-addition" style="display: inline" onclick="addItem(this)"></i> |
|
|
|
</div> |
|
|
|
<!-- 提交--> |
|
|
|
<div class="layui-form-item" id="btn_sub"> |
|
|
|
<div class="layui-input-block"> |
|
|
|
<button class="layui-btn" lay-submit lay-filter="formStep" style="margin-bottom: 10px;margin-left: 15%"> |
|
|
|
 提交  |
|
|
|
</button> |
|
|
|
</div> |
|
|
|
<div class="layui-form-item"> |
|
|
|
<label class="layui-form-label" style="height: 40px;">条形编码:</label> |
|
|
|
<div class="layui-input-block" style="margin: 0px;"> |
|
|
|
<div class="inputdiv"> |
|
|
|
<input id="barCode" name="barCode" type="text" placeholder="请填写入条形编码" |
|
|
|
value="" |
|
|
|
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> |
|
|
|
</form> |
|
|
|
</div> |
|
|
|
|
|
|
|
<div class="layui-form-item"> |
|
|
|
<label class="layui-form-label">所处库位:</label> |
|
|
|
<div class="layui-input-block"> |
|
|
|
<select name="fromPlaceId" id="place"></select> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="layui-form-item"> |
|
|
|
<label class="layui-form-label">物料数量:</label> |
|
|
|
<div class="layui-input-block"> |
|
|
|
<input id="quantity" name="quantity" type="number" |
|
|
|
onblur="MaterialQuantityIsTrue(this)" 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"> |
|
|
|
|
|
|
|
<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;"> |
|
|
|
提交申请成功 |
|
|
|
</select> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div style="text-align: center;margin-top: 50px;"> |
|
|
|
<button class="layui-btn next">再申请一次</button> |
|
|
|
<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" |
|
|
|
style="border-style: none" |
|
|
|
id="openSonByDepository" readonly |
|
|
|
onclick="openDepositoryTree(this)" |
|
|
|
lay-verify="required"/> |
|
|
|
<input type="text" name="depositoryId" class="layui-input" |
|
|
|
id="depositoryId" |
|
|
|
style="display: none" lay-verify="required"/> |
|
|
|
<input type="text" name="placeId" class="layui-input" id="placeId" |
|
|
|
style="display: none" lay-verify="required"/> |
|
|
|
<img src="/static/images/search.ico" height="16" width="16" |
|
|
|
id="scanLocation" |
|
|
|
style="margin-top: 10px" onclick="scanLocationByQrCode(this)"> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</form> |
|
|
|
<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> |
|
|
|
<i class="layui-icon layui-icon-addition" style="display: inline" |
|
|
|
onclick="addItem(this)"></i> |
|
|
|
</div> |
|
|
|
<!-- 提交--> |
|
|
|
<div class="layui-form-item" id="btn_sub"> |
|
|
|
<div class="layui-input-block"> |
|
|
|
<button class="layui-btn" lay-submit lay-filter="formStep" |
|
|
|
style="margin-bottom: 10px;margin-left: 15%"> |
|
|
|
 提交  |
|
|
|
</button> |
|
|
|
</div> |
|
|
|
</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> |
|
|
|
<div style="text-align: center;margin-top: 50px;"> |
|
|
|
<button class="layui-btn next">再申请一次</button> |
|
|
|
</div> |
|
|
|
</form> |
|
|
|
</div> |
|
|
|
</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 addItem(obj){} |
|
|
|
function addItem(obj) { |
|
|
|
} |
|
|
|
|
|
|
|
// 用于删除标签 |
|
|
|
function deleteItem(obj){} |
|
|
|
function deleteItem(obj) { |
|
|
|
} |
|
|
|
|
|
|
|
// 用于编码查询 |
|
|
|
function selectCode(obj){} |
|
|
|
function selectCode(obj) { |
|
|
|
} |
|
|
|
|
|
|
|
// 用于点击搜索按钮 |
|
|
|
function selectMaterial(obj){} |
|
|
|
function selectMaterial(obj) { |
|
|
|
} |
|
|
|
|
|
|
|
// 用于物料名称查询 |
|
|
|
function selectMaterialByName(obj){} |
|
|
|
function selectMaterialByName(obj) { |
|
|
|
} |
|
|
|
|
|
|
|
// 用于加载仓库菜单 |
|
|
|
function openDepositoryTree(obj){} |
|
|
|
function openDepositoryTree(obj) { |
|
|
|
} |
|
|
|
|
|
|
|
// 用于扫码转移 |
|
|
|
function scanCodeByTransfer(obj) { |
|
|
|
} |
|
|
|
@ -196,6 +228,7 @@ |
|
|
|
function scanLocationByQrCode() { |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
// 用于暂存卡片个数 |
|
|
|
var params = []; |
|
|
|
let scanValue = {}; |
|
|
|
@ -203,7 +236,7 @@ |
|
|
|
var NewIdNumber = 1; |
|
|
|
// 用于标志是否为第一次提交 |
|
|
|
let flagForForm = false; |
|
|
|
layui.use([ 'form', 'step','layer','jquery'], function () { |
|
|
|
layui.use(['form', 'step', 'layer', 'jquery'], function () { |
|
|
|
var $ = layui.$, |
|
|
|
form = layui.form, |
|
|
|
step = layui.step; |
|
|
|
@ -223,17 +256,17 @@ |
|
|
|
|
|
|
|
|
|
|
|
form.on('submit(formStep)', function (data) { |
|
|
|
if(!flagForForm){ |
|
|
|
if (!flagForForm) { |
|
|
|
flagForForm = true; |
|
|
|
data=data.field; |
|
|
|
data = data.field; |
|
|
|
data.params = params; |
|
|
|
if(data.mid === undefined){ |
|
|
|
if (data.mid === undefined) { |
|
|
|
// 如果没有初始项 |
|
|
|
var dataKeys = Object.keys(data); |
|
|
|
var dataKey; |
|
|
|
for (let i = 0; i < dataKeys.length; i++) { |
|
|
|
dataKey = dataKeys[i]; |
|
|
|
if(dataKey.includes("mid")){ |
|
|
|
if (dataKey.includes("mid")) { |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
@ -241,33 +274,33 @@ |
|
|
|
var keyNumber = dataKey.split("mid")[1]; |
|
|
|
for (let index = 0; index < dataKeys.length; index++) { |
|
|
|
var tempKey = dataKeys[index]; |
|
|
|
if(tempKey.includes(keyNumber)){ |
|
|
|
var key = tempKey.replace(keyNumber,""); |
|
|
|
if (tempKey.includes(keyNumber)) { |
|
|
|
var key = tempKey.replace(keyNumber, ""); |
|
|
|
data[key] = data[tempKey]; |
|
|
|
delete data[tempKey]; |
|
|
|
} |
|
|
|
} |
|
|
|
data.params = remove(data.params,Number(keyNumber)); |
|
|
|
data.params = remove(data.params, Number(keyNumber)); |
|
|
|
} |
|
|
|
$.ajax({ |
|
|
|
url:"/depositoryRecord/transfer", |
|
|
|
type:'put', |
|
|
|
dataType:'json', |
|
|
|
url: "/depositoryRecord/transfer", |
|
|
|
type: 'put', |
|
|
|
dataType: 'json', |
|
|
|
contentType: "application/json;charset=utf-8", |
|
|
|
data:JSON.stringify(data), |
|
|
|
beforeSend:function () { |
|
|
|
this.layerIndex = layer.load(0, { shade: [0.5, '#393D49'] }); |
|
|
|
data: JSON.stringify(data), |
|
|
|
beforeSend: function () { |
|
|
|
this.layerIndex = layer.load(0, {shade: [0.5, '#393D49']}); |
|
|
|
}, |
|
|
|
success:function(data){ |
|
|
|
success: function (data) { |
|
|
|
layer.close(this.layerIndex); |
|
|
|
if(data.status >= 300){ |
|
|
|
if (data.status >= 300) { |
|
|
|
layer.msg(data.statusInfo.message);//失败的表情 |
|
|
|
return; |
|
|
|
}else{ |
|
|
|
} else { |
|
|
|
layer.msg("申请提交成功", { |
|
|
|
icon: 6,//成功的表情 |
|
|
|
time: 500 //1秒关闭(如果不配置,默认是3秒) |
|
|
|
}, function(){ |
|
|
|
}, function () { |
|
|
|
step.next('#stepForm'); |
|
|
|
}); |
|
|
|
} |
|
|
|
@ -303,7 +336,7 @@ |
|
|
|
NewIdNumber = NewIdNumber + 1; |
|
|
|
// 物料名称栏目 |
|
|
|
var materialItem = ` |
|
|
|
<div class="layui-card-body" style="padding-right: 0px" id=`+"cardItem"+NewIdNumber+`> |
|
|
|
<div class="layui-card-body" style="padding-right: 0px" id=` + "cardItem" + NewIdNumber + `> |
|
|
|
<hr> |
|
|
|
<i class="layui-icon layui-icon-subtraction" style="display: inline" onclick="deleteItem(this)"></i> |
|
|
|
<div class="layui-form-item"> |
|
|
|
@ -314,7 +347,7 @@ |
|
|
|
id="openSonByMaterial" lay-verify="required" onblur="selectMaterialByName(this)"/> |
|
|
|
<i class="layui-icon layui-icon-search" style="display: inline" id="selectMaterial" onclick="selectMaterial(this)"></i> |
|
|
|
</div> |
|
|
|
<input type="text" name=`+"mid"+NewIdNumber+` class="layui-input" id="mid" |
|
|
|
<input type="text" name=` + "mid" + NewIdNumber + ` class="layui-input" id="mid" |
|
|
|
style="display: none" lay-verify="required" /> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
@ -322,7 +355,7 @@ |
|
|
|
<label class="layui-form-label">物料编码:</label> |
|
|
|
<div class="layui-input-block" style="margin: 0px;"> |
|
|
|
<div class="inputdiv"> |
|
|
|
<input id=`+"code"+NewIdNumber+` name=`+"code"+NewIdNumber+` type="text" placeholder="请填写入物料编码" value="" onblur="selectCode(this)" |
|
|
|
<input id=` + "code" + NewIdNumber + ` name=` + "code" + NewIdNumber + ` type="text" placeholder="请填写入物料编码" value="" onblur="selectCode(this)" |
|
|
|
class="layui-input" lay-verify="required" style="border-style: none"> |
|
|
|
<img src="/static/images/search.ico" height="16" width="16" |
|
|
|
style="margin-top: 10px" onclick="scanCodeByTransfer(this)"> |
|
|
|
@ -333,9 +366,9 @@ |
|
|
|
<label class="layui-form-label">条形编码:</label> |
|
|
|
<div class="layui-input-block" style="margin: 0px;"> |
|
|
|
<div class="inputdiv"> |
|
|
|
<input id=`+"barCode"+NewIdNumber +` name=`+"barCode"+NewIdNumber+` type="text" placeholder="请填写入物料编码" value="" onblur="selectCode(this)" |
|
|
|
<input id=` + "barCode" + NewIdNumber + ` name=` + "barCode" + NewIdNumber + ` type="text" placeholder="请填写入物料编码" value="" onblur="selectCode(this)" |
|
|
|
class="layui-input" style="border-style: none"> |
|
|
|
<img src="/static/images/search.ico" height="16" width="16" id=`+"barCodeImg"+NewIdNumber+` |
|
|
|
<img src="/static/images/search.ico" height="16" width="16" id=` + "barCodeImg" + NewIdNumber + ` |
|
|
|
style="margin-top: 10px" onclick="scanBarCode(this)"> |
|
|
|
|
|
|
|
</div> |
|
|
|
@ -344,20 +377,20 @@ |
|
|
|
<div class="layui-form-item"> |
|
|
|
<label class="layui-form-label">所处库位:</label> |
|
|
|
<div class="layui-input-block"> |
|
|
|
<select name=`+"fromPlaceId"+NewIdNumber +` id=`+"place"+NewIdNumber +`></select> |
|
|
|
<select name=` + "fromPlaceId" + NewIdNumber + ` id=` + "place" + NewIdNumber + `></select> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="layui-form-item"> |
|
|
|
<label class="layui-form-label">物料数量:</label> |
|
|
|
<div class="layui-input-block"> |
|
|
|
<input name=`+"quantity"+NewIdNumber+` id=`+"quantity"+NewIdNumber+` type="number" placeholder="请填写入物料数量" value="" onblur="MaterialQuantityIsTrue(this)" |
|
|
|
<input name=` + "quantity" + NewIdNumber + ` id=` + "quantity" + NewIdNumber + ` type="number" placeholder="请填写入物料数量" value="" onblur="MaterialQuantityIsTrue(this)" |
|
|
|
class="layui-input" lay-verify="number"> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="layui-form-item"> |
|
|
|
<label class="layui-form-label">计量单位:</label> |
|
|
|
<div class="layui-input-block"> |
|
|
|
<select id=`+"unit"+NewIdNumber +` name=`+"unit"+NewIdNumber +`> |
|
|
|
<select id=` + "unit" + NewIdNumber + ` name=` + "unit" + NewIdNumber + `> |
|
|
|
|
|
|
|
</select> |
|
|
|
</div> |
|
|
|
@ -369,9 +402,9 @@ |
|
|
|
<input type="text" placeholder="请选择仓库" class="layui-input" style="border-style: none" |
|
|
|
id="openSonByDepository" readonly onclick="openDepositoryTree(this)" |
|
|
|
lay-verify="required"/> |
|
|
|
<input type="text" name=`+"depositoryId"+NewIdNumber+` class="layui-input" id="depositoryId" |
|
|
|
<input type="text" name=` + "depositoryId" + NewIdNumber + ` class="layui-input" id="depositoryId" |
|
|
|
style="display: none" lay-verify="required"/> |
|
|
|
<input type="text" name=`+"placeId"+NewIdNumber+` class="layui-input" id="placeId" |
|
|
|
<input type="text" name=` + "placeId" + NewIdNumber + ` class="layui-input" id="placeId" |
|
|
|
style="display: none" lay-verify="required"/> |
|
|
|
<img src="/static/images/search.ico" height="16" width="16" |
|
|
|
id="scanLocation" |
|
|
|
@ -382,7 +415,7 @@ |
|
|
|
<div class="layui-form-item"> |
|
|
|
<label class="layui-form-label">备注说明:</label> |
|
|
|
<div class="layui-input-block"> |
|
|
|
<input name=`+"applyRemark"+NewIdNumber+` placeholder="请填写相关原因及申请原因" value="" |
|
|
|
<input name=` + "applyRemark" + NewIdNumber + ` placeholder="请填写相关原因及申请原因" value="" |
|
|
|
class="layui-input"/> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
@ -391,8 +424,8 @@ |
|
|
|
// 获取当前高度 |
|
|
|
var height = parseInt(($("#stepForm").css('height')).split("px")[0]); |
|
|
|
params.push(NewIdNumber) |
|
|
|
$("#stepForm").css("height",height+532 +'px'); |
|
|
|
$("#"+parentId).after(materialItem); |
|
|
|
$("#stepForm").css("height", height + 532 + 'px'); |
|
|
|
$("#" + parentId).after(materialItem); |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
@ -405,14 +438,13 @@ |
|
|
|
// 获取祖父节点 |
|
|
|
var reparent = parent.parentNode; |
|
|
|
var height = parseInt(($("#stepForm").css('height')).split("px")[0]); |
|
|
|
$("#stepForm").css("height",height-532 +'px'); |
|
|
|
params = remove(params,parentId); |
|
|
|
$("#stepForm").css("height", height - 532 + 'px'); |
|
|
|
params = remove(params, parentId); |
|
|
|
reparent.removeChild(parent); |
|
|
|
}; |
|
|
|
|
|
|
|
// 用于实现扫描条形码 |
|
|
|
scanBarCode = function (obj) { |
|
|
|
|
|
|
|
parent.wx.scanQRCode({ |
|
|
|
desc: 'scanQRCode desc', |
|
|
|
needResult: 1, // 默认为0,扫描结果由企业微信处理,1则直接返回扫描结果, |
|
|
|
@ -423,6 +455,7 @@ |
|
|
|
var req = {}; |
|
|
|
req.qrCode = result; |
|
|
|
req.codeFlag = 1; |
|
|
|
let loading2 = layer.open({type: 3, shade: [0.25, '#000'], icon: 2, speed: 0}); |
|
|
|
$.ajax({ |
|
|
|
url: "/material/qywxApplicationOutScanBarCode", |
|
|
|
type: "post", |
|
|
|
@ -448,7 +481,7 @@ |
|
|
|
var materialCode = materialCodeItem.childNodes[1]; |
|
|
|
|
|
|
|
var data = d.data; |
|
|
|
if(data!==null) { |
|
|
|
if (data !== null) { |
|
|
|
|
|
|
|
materialName.value = data.mname; |
|
|
|
materialId.value = data.mid; |
|
|
|
@ -475,13 +508,14 @@ |
|
|
|
$('#place' + codeId).append(new Option(item.depositoryName + "-" + item.code, item.id));//往下拉菜单里添加元素 |
|
|
|
}); |
|
|
|
form.render(); |
|
|
|
} |
|
|
|
else{ |
|
|
|
layer.close(loading2); |
|
|
|
} else { |
|
|
|
// 如果没有对应关系 |
|
|
|
layer.msg("对于编码:" + result + ",并未发现对应的物料", { |
|
|
|
icon: 0, |
|
|
|
time: 1000 //0.5秒关闭(如果不配置,默认是3秒) |
|
|
|
}, function () { |
|
|
|
layer.close(loading2); |
|
|
|
}) |
|
|
|
} |
|
|
|
|
|
|
|
@ -498,7 +532,7 @@ |
|
|
|
function remove(arr, item) { |
|
|
|
var result = []; |
|
|
|
for (let i = 0; i < arr.length; i++) { |
|
|
|
if(arr[i] === item){ |
|
|
|
if (arr[i] === item) { |
|
|
|
continue; |
|
|
|
} |
|
|
|
result.push(arr[i]); |
|
|
|
@ -511,13 +545,14 @@ |
|
|
|
parent.wx.scanQRCode({ |
|
|
|
desc: 'scanQRCode desc', |
|
|
|
needResult: 1, // 默认为0,扫描结果由企业微信处理,1则直接返回扫描结果, |
|
|
|
scanType: ["qrCode","barCode"], // 可以指定扫二维码还是条形码(一维码),默认二者都有 |
|
|
|
scanType: ["qrCode", "barCode"], // 可以指定扫二维码还是条形码(一维码),默认二者都有 |
|
|
|
success: function (res) { |
|
|
|
// 回调 |
|
|
|
var result = res.resultStr;//当needResult为1时返回处理结果 |
|
|
|
var req = {}; |
|
|
|
req.qrCode = result; |
|
|
|
req.codeFlag = 2; |
|
|
|
let loading2 = layer.open({type: 3, shade: [0.25, '#000'], icon: 2, speed: 0}); |
|
|
|
$.ajax({ |
|
|
|
url: "/material/qywxApplicationOutScanQrCode", |
|
|
|
type: "post", |
|
|
|
@ -532,6 +567,7 @@ |
|
|
|
icon: 0, |
|
|
|
time: 1000 //0.5秒关闭(如果不配置,默认是3秒) |
|
|
|
}, function () { |
|
|
|
layer.close(loading2); |
|
|
|
}) |
|
|
|
} else { |
|
|
|
|
|
|
|
@ -592,6 +628,7 @@ |
|
|
|
materialName.value = data.mname; |
|
|
|
materialId.value = data.id; |
|
|
|
materialCode.value = data.code; |
|
|
|
layer.close(loading2); |
|
|
|
} |
|
|
|
} |
|
|
|
}) |
|
|
|
@ -600,7 +637,7 @@ |
|
|
|
}; |
|
|
|
|
|
|
|
// 用于实现通过编码查询物料 |
|
|
|
selectCode = function(obj){ |
|
|
|
selectCode = function (obj) { |
|
|
|
// 输入code |
|
|
|
var code = obj.value; |
|
|
|
var codeId = obj.name.split("code")[1]; |
|
|
|
@ -616,29 +653,33 @@ |
|
|
|
var req = {}; |
|
|
|
req.code = code; |
|
|
|
req.type = "out"; |
|
|
|
if(code !== ""){ |
|
|
|
if (code !== "") { |
|
|
|
let loading2 = layer.open({type: 3, shade: [0.25, '#000'], icon: 2, speed: 0}); |
|
|
|
$.ajax({ |
|
|
|
url: "/material/findMatrialByCode", |
|
|
|
type: "get", |
|
|
|
dataType: 'json', |
|
|
|
data:req, |
|
|
|
data: req, |
|
|
|
contentType: "application/json;charset=utf-8", |
|
|
|
success: function (d) { |
|
|
|
var d = d.data; |
|
|
|
if(d == null){ |
|
|
|
layer.msg("没有该编码,请确认是否输入正确"); |
|
|
|
materialName.value = ""; |
|
|
|
materialId.value = ""; |
|
|
|
obj.value = ""; |
|
|
|
}else{ |
|
|
|
if (d == null) { |
|
|
|
layer.msg("没有该编码,请确认是否输入正确", {icon: 5, time: 500}, function () { |
|
|
|
materialName.value = ""; |
|
|
|
materialId.value = ""; |
|
|
|
obj.value = ""; |
|
|
|
layer.close(loading2); |
|
|
|
}); |
|
|
|
|
|
|
|
} else { |
|
|
|
req.mid = d.id; |
|
|
|
$.ajax({ |
|
|
|
url: "/place/findPlaceByMid", |
|
|
|
type: "post", |
|
|
|
dataType: 'json', |
|
|
|
data:JSON.stringify(req), |
|
|
|
data: JSON.stringify(req), |
|
|
|
contentType: "application/json;charset=utf-8", |
|
|
|
success:function (res) { |
|
|
|
success: function (res) { |
|
|
|
var idNumber = materialId.name.split("mid")[1]; |
|
|
|
// 获取物料与条形码的对应关系 |
|
|
|
var materialAndBarCodeList = d["materialAndBarCodeList"]; |
|
|
|
@ -684,6 +725,7 @@ |
|
|
|
form.render(); |
|
|
|
materialName.value = d.mname; |
|
|
|
materialId.value = d.id; |
|
|
|
layer.close(loading2); |
|
|
|
} |
|
|
|
}); |
|
|
|
} |
|
|
|
@ -707,7 +749,6 @@ |
|
|
|
var mname = materialName.value; |
|
|
|
var barCodeChildren = parent.childNodes[9]; |
|
|
|
var barCodeItem = barCodeChildren.childNodes[3]; |
|
|
|
|
|
|
|
mname = mname.split(",")[0]; |
|
|
|
layer.open({ |
|
|
|
type: 2, |
|
|
|
@ -717,20 +758,21 @@ |
|
|
|
shadeClose: true, //点击遮罩关闭层 |
|
|
|
area: ['70%', '70%'], |
|
|
|
// content: '/selectMaterialByCard?mname='+mname+'&type=2&clickObj='+parentId, |
|
|
|
content: '/getMaterialAll?mname='+mname+'&type=2&clickObj='+parentId, |
|
|
|
move : '.layui-layer-title', |
|
|
|
fixed:false, |
|
|
|
success: function(layero, index){ |
|
|
|
content: '/getMaterialAll?mname=' + mname + '&type=2&clickObj=' + parentId, |
|
|
|
move: '.layui-layer-title', |
|
|
|
fixed: false, |
|
|
|
success: function (layero, index) { |
|
|
|
var children = layero.children(); |
|
|
|
var content = $(children[1]); |
|
|
|
var iframeChildren = $(content.children()); |
|
|
|
content.css('height','100%'); |
|
|
|
iframeChildren.css('height','100%'); |
|
|
|
content.css('height', '100%'); |
|
|
|
iframeChildren.css('height', '100%'); |
|
|
|
}, |
|
|
|
end: function () { |
|
|
|
var mid = materialId.value; |
|
|
|
let loading2 = layer.open({type: 3, shade: [0.25, '#000'], icon: 2, speed: 0}); |
|
|
|
$.ajax({ |
|
|
|
url: "/material/findMatrialById?mid=" + mid+"&type=out", |
|
|
|
url: "/material/findMatrialById?mid=" + mid + "&type=out", |
|
|
|
type: "get", |
|
|
|
dataType: 'json', |
|
|
|
contentType: "application/json;charset=utf-8", |
|
|
|
@ -738,14 +780,14 @@ |
|
|
|
var material = d.data.materialById; |
|
|
|
var placeList = d.data.placeList; |
|
|
|
var code = material.code; |
|
|
|
if(code === undefined){ |
|
|
|
if (code === undefined) { |
|
|
|
code = ""; |
|
|
|
} |
|
|
|
codeValue.value = code; |
|
|
|
var idNumber = materialId.name.split("mid")[1]; |
|
|
|
$('#place'+idNumber).empty(); |
|
|
|
$('#place' + idNumber).empty(); |
|
|
|
$.each(placeList, function (index, item) { |
|
|
|
$('#place'+idNumber).append(new Option(item.depositoryName+"-"+item.code, item.id));//往下拉菜单里添加元素 |
|
|
|
$('#place' + idNumber).append(new Option(item.depositoryName + "-" + item.code, item.id));//往下拉菜单里添加元素 |
|
|
|
}); |
|
|
|
var unit = $("#unit" + idNumber); |
|
|
|
unit.empty(); |
|
|
|
@ -781,14 +823,14 @@ |
|
|
|
$("#barCode" + idNumber).append(new Option(item.bmcode, item.id));//往下拉菜单里添加元素 |
|
|
|
}); |
|
|
|
form.render(); |
|
|
|
} |
|
|
|
else { |
|
|
|
} else { |
|
|
|
var barCode = $("#barCode" + idNumber); |
|
|
|
if (barCode.length > 0) { |
|
|
|
barCode.empty(); |
|
|
|
} |
|
|
|
} |
|
|
|
form.render(); |
|
|
|
layer.close(loading2); |
|
|
|
} |
|
|
|
}); |
|
|
|
|
|
|
|
@ -814,35 +856,40 @@ |
|
|
|
var barCodeItem = barCodeChildren.childNodes[3]; |
|
|
|
var req = {}; |
|
|
|
data = data.split(",")[0]; |
|
|
|
if(data !== ""){ |
|
|
|
if (data !== "") { |
|
|
|
req.mname = data; |
|
|
|
let loading2 = layer.open({type: 3, shade: [0.25, '#000'], icon: 2, speed: 0}); |
|
|
|
$.ajax({ |
|
|
|
url: "/material/findInventoryByCondition", |
|
|
|
type: "post", |
|
|
|
dataType: 'json', |
|
|
|
data:JSON.stringify(req), |
|
|
|
data: JSON.stringify(req), |
|
|
|
contentType: "application/json;charset=utf-8", |
|
|
|
success: function (d) { |
|
|
|
if(d.count > 1){ |
|
|
|
layer.msg("请点击右侧搜索确定物品"); |
|
|
|
materialId.value = ""; |
|
|
|
codeValue.value = ""; |
|
|
|
if (d.count > 1) { |
|
|
|
layer.msg("请点击右侧搜索确定物品", {icon: 0, time: 500}, function () { |
|
|
|
materialId.value = ""; |
|
|
|
codeValue.value = ""; |
|
|
|
layer.close(loading2); |
|
|
|
}) |
|
|
|
return false; |
|
|
|
}else if(d.count === 0){ |
|
|
|
layer.msg("没有该物品,请确认输入是否正确"); |
|
|
|
materialId.value = ""; |
|
|
|
codeValue.value = ""; |
|
|
|
materialName.value = ""; |
|
|
|
} else if (d.count === 0) { |
|
|
|
layer.msg("没有该物品,请确认输入是否正确", {icon: 0, time: 500}, function () { |
|
|
|
materialId.value = ""; |
|
|
|
codeValue.value = ""; |
|
|
|
materialName.value = ""; |
|
|
|
layer.close(loading2); |
|
|
|
}); |
|
|
|
|
|
|
|
return false; |
|
|
|
} |
|
|
|
else{ |
|
|
|
} else { |
|
|
|
var idNumber = materialId.name.split("mid")[1]; |
|
|
|
var material = d.data[0]; |
|
|
|
var unit = $("#unit" + idNumber); |
|
|
|
unit.empty(); |
|
|
|
$("#unit" + idNumber).append(new Option(material.baseUnit, "-1")); |
|
|
|
var unitList = material["splitInfoList"]; |
|
|
|
if(unitList !== null && unitList != undefined){ |
|
|
|
if (unitList !== null && unitList != undefined) { |
|
|
|
for (let i = 0; i < unitList.length; i++) { |
|
|
|
$("#unit" + idNumber).append(new Option(unitList[i].newUnit, unitList[i].newUnit)); |
|
|
|
} |
|
|
|
@ -886,6 +933,7 @@ |
|
|
|
materialName.value = material.mname; |
|
|
|
materialId.value = material.id; |
|
|
|
codeValue.value = material.code; |
|
|
|
layer.close(loading2); |
|
|
|
} |
|
|
|
} |
|
|
|
}); |
|
|
|
@ -904,15 +952,15 @@ |
|
|
|
maxmin: true, |
|
|
|
shadeClose: true, //点击遮罩关闭层 |
|
|
|
area: ['70%', '70%'], |
|
|
|
move : '.layui-layer-title', |
|
|
|
fixed:false, |
|
|
|
content: '/selectDepositoryByCard?type=1&clickObj='+parentId, |
|
|
|
success: function(layero, index){ |
|
|
|
move: '.layui-layer-title', |
|
|
|
fixed: false, |
|
|
|
content: '/selectDepositoryByCard?type=1&clickObj=' + parentId, |
|
|
|
success: function (layero, index) { |
|
|
|
var children = layero.children(); |
|
|
|
var content = $(children[1]); |
|
|
|
var iframeChildren = $(content.children()); |
|
|
|
content.css('height','100%'); |
|
|
|
iframeChildren.css('height','100%'); |
|
|
|
content.css('height', '100%'); |
|
|
|
iframeChildren.css('height', '100%'); |
|
|
|
} |
|
|
|
}); |
|
|
|
}; |
|
|
|
@ -921,12 +969,13 @@ |
|
|
|
parent.wx.scanQRCode({ |
|
|
|
desc: 'scanQRCode desc', |
|
|
|
needResult: 1, // 默认为0,扫描结果由企业微信处理,1则直接返回扫描结果, |
|
|
|
scanType: ["qrCode","barCode"], // 可以指定扫二维码还是条形码(一维码),默认二者都有 |
|
|
|
scanType: ["qrCode", "barCode"], // 可以指定扫二维码还是条形码(一维码),默认二者都有 |
|
|
|
success: function (res) { |
|
|
|
// 回调 |
|
|
|
var result = res.resultStr;//当needResult为1时返回处理结果 |
|
|
|
var req = {}; |
|
|
|
req.qrCode = result; |
|
|
|
let loading2 = layer.open({ type: 3, shade: [0.25, '#000'], icon: 2, speed: 0}); |
|
|
|
$.ajax({ |
|
|
|
url: "/place/qywxApplicationInScanQrCode", |
|
|
|
type: "post", |
|
|
|
@ -940,22 +989,26 @@ |
|
|
|
var depositoryName = parent.childNodes[1]; |
|
|
|
var depositoryId = parent.childNodes[3]; |
|
|
|
var placeId = parent.childNodes[5]; |
|
|
|
if(flag === 0){ |
|
|
|
if (flag === 0) { |
|
|
|
// 如果没有获取到位置 |
|
|
|
layer.msg("当前二维码错误,请重新扫描"); |
|
|
|
}else if(flag === 1){ |
|
|
|
layer.msg("当前二维码错误,请重新扫描",{icon:5,time:500},function () { |
|
|
|
layer.close(loading2); |
|
|
|
}); |
|
|
|
} else if (flag === 1) { |
|
|
|
// 如果获取到的是库位 |
|
|
|
var place = data["place"]; |
|
|
|
placeId.value = place.id; |
|
|
|
depositoryId.value = place.did; |
|
|
|
depositoryName.value = place.depositoryName; |
|
|
|
layer.close(loading2); |
|
|
|
|
|
|
|
}else if(flag === 2){ |
|
|
|
} else if (flag === 2) { |
|
|
|
// 如果获取到的是仓库 |
|
|
|
var depository = data["depository"]; |
|
|
|
placeId.value = 0; |
|
|
|
depositoryId.value = depository.id; |
|
|
|
depositoryName.value = depository.dname; |
|
|
|
layer.close(loading2); |
|
|
|
} |
|
|
|
} |
|
|
|
}) |
|
|
|
@ -967,7 +1020,7 @@ |
|
|
|
MaterialQuantityIsTrue = function (obj) { |
|
|
|
var id = obj.id.split("quantity")[1]; |
|
|
|
var mcode = $("#code" + id).val(); // 获取到当前输入的物料编码 |
|
|
|
var unit = $("#unit"+id).val(); |
|
|
|
var unit = $("#unit" + id).val(); |
|
|
|
if (mcode === "" || mcode === undefined || mcode === null) { |
|
|
|
layer.msg("请输入物料的正确编码!", {icon: 0, time: 500}, function () { |
|
|
|
$("#quantity" + id).val("") |
|
|
|
@ -979,7 +1032,8 @@ |
|
|
|
req.mcode = mcode; |
|
|
|
req.quantity = val; |
|
|
|
req.unit = unit; |
|
|
|
req.placeId = $("#place"+id).val(); |
|
|
|
req.placeId = $("#place" + id).val(); |
|
|
|
let loading2 = layer.open({ type: 3, shade: [0.25, '#000'], icon: 2, speed: 0}); |
|
|
|
$.ajax({ |
|
|
|
url: "/material/MaterialQuantityIsTrue", |
|
|
|
type: "post", |
|
|
|
@ -991,6 +1045,7 @@ |
|
|
|
if (!flag) { // 如果当前数目不合适 |
|
|
|
layer.msg("当前物料数量不足", {icon: 0, time: 500}, function () { |
|
|
|
$("#quantity" + id).val(""); |
|
|
|
layer.close(loading2); |
|
|
|
}); |
|
|
|
|
|
|
|
} |
|
|
|
|