Browse Source

在入库界面添加扫码功能

lwx_dev
erdanergou 3 years ago
parent
commit
2e5295fe6b
  1. 29
      src/main/java/com/dreamchaser/depository_manage/controller/MaterialController.java
  2. 2
      src/main/java/com/dreamchaser/depository_manage/controller/PageController.java
  3. 187
      src/main/resources/templates/pages/application/application-in.html
  4. 48
      src/main/resources/templates/pages/scanQrCode/ScanQrCodeIn.html
  5. 187
      target/classes/templates/pages/application/application-in.html

29
src/main/java/com/dreamchaser/depository_manage/controller/MaterialController.java

@ -17,6 +17,7 @@ import com.sun.mail.imap.protocol.ID;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.io.IOException; import java.io.IOException;
@ -220,6 +221,15 @@ public class MaterialController {
List<PlaceP> placeByMidAndDid = placeService.findPlaceByMidAndDid(ObjectFormatUtil.toInteger(mid), depositoryByAdminorg.get(i).getId()); List<PlaceP> placeByMidAndDid = placeService.findPlaceByMidAndDid(ObjectFormatUtil.toInteger(mid), depositoryByAdminorg.get(i).getId());
placePList.addAll(placeByMidAndDid); placePList.addAll(placeByMidAndDid);
} }
Map<String,Object> param = new HashMap<>();
param.put("code",materialById.getCode());
List<MaterialP> inventory = materialService.findInventory(param);
if(inventory.size() > 0){
materialById.setPrice(inventory.get(0).getPrice());
}else{
materialById.setPrice(0.0);
}
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
map.put("materialById", materialById); map.put("materialById", materialById);
map.put("placeList", placePList); map.put("placeList", placePList);
@ -262,6 +272,14 @@ public class MaterialController {
MaterialP mp = null; MaterialP mp = null;
if (materialPByCondition.size() > 0) { if (materialPByCondition.size() > 0) {
mp = materialPByCondition.get(0); mp = materialPByCondition.get(0);
Map<String,Object> paramByPrice = new HashMap<>();
paramByPrice.put("code",mp.getCode());
List<MaterialP> inventory = materialService.findInventory(paramByPrice);
if(inventory.size() > 0){
mp.setPrice(inventory.get(0).getPrice());
}else{
mp.setPrice(0.0);
}
} }
return new RestResponse(mp, 1, 200); return new RestResponse(mp, 1, 200);
} }
@ -408,4 +426,15 @@ public class MaterialController {
return new RestResponse(s); return new RestResponse(s);
} }
// 获取扫描结果并跳转到入库
@GetMapping("/application_in_scanQrCode")
public RestResponse applicationInScanQrCode(HttpServletRequest request){
UserByPort userByPort = (UserByPort) request.getAttribute("userToken");
String scanQrCodeValue = redisTemplate.opsForValue().get("scanQrCodeValue"+userByPort.getNumber()).toString();
redisTemplate.delete("scanQrCodeValue"+userByPort.getNumber());
JSONObject jsonObject = JSONObject.parseObject(scanQrCodeValue);
return new RestResponse(jsonObject);
}
} }

2
src/main/java/com/dreamchaser/depository_manage/controller/PageController.java

@ -1150,7 +1150,7 @@ public class PageController {
recordMinP.setMname(materialById.getMname()); recordMinP.setMname(materialById.getMname());
recordMinP.setMcode(materialById.getCode()); recordMinP.setMcode(materialById.getCode());
recordMinP.setPlaceCode(placeById.getCode()); recordMinP.setPlaceCode(placeById.getCode());
Double price = (materialById.getPrice() / 100) * recordMinP.getQuantity(); Double price = (materialById.getPrice()) * recordMinP.getQuantity();
BigDecimal bg = new BigDecimal(price); BigDecimal bg = new BigDecimal(price);
price = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); price = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
recordMinP.setPrice(price); recordMinP.setPrice(price);

187
src/main/resources/templates/pages/application/application-in.html

@ -101,7 +101,7 @@
</div> </div>
<!-- 提交按钮--> <!-- 提交按钮-->
<div class="layui-form-item"> <div class="layui-form-item" id="btn_sub">
<div class="layui-input-block" style="bottom: 15px;"> <div class="layui-input-block" style="bottom: 15px;">
<button id="submitForm" class="layui-btn" lay-submit lay-filter="formStep" style="margin-left: 15%"> <button id="submitForm" class="layui-btn" lay-submit lay-filter="formStep" style="margin-left: 15%">
&emsp;提交&emsp; &emsp;提交&emsp;
@ -152,12 +152,11 @@
// 用于扫码入库 // 用于扫码入库
function scanCodeInStorage(obj) {} function scanCodeInStorage(obj) {}
// 用于删除当前选项卡 // 用于重新渲染该页面
function deleteTable() { function Coverpage(num, obj) {}
}
// 用于暂存卡片个数 // 用于暂存卡片个数
var params = []; var params = [];
let scanValue = {};
// 用于卡片编号 // 用于卡片编号
var NewIdNumber = 1; var NewIdNumber = 1;
layui.use(['form','miniTab', 'step','flow'], function () { layui.use(['form','miniTab', 'step','flow'], function () {
@ -271,7 +270,7 @@
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">物料编码:</label> <label class="layui-form-label">物料编码:</label>
<div class="layui-input-block"> <div class="layui-input-block" style="margin: 0px;">
<div class="inputdiv"> <div class="inputdiv">
<input id="code" name=`+"code"+NewIdNumber+` type="text" placeholder="请填写入物料编码" value="" onblur="selectCode(this)" <input id="code" name=`+"code"+NewIdNumber+` type="text" placeholder="请填写入物料编码" value="" onblur="selectCode(this)"
class="layui-input" lay-verify="required" style="border-style: none"> class="layui-input" lay-verify="required" style="border-style: none">
@ -356,10 +355,15 @@
var code = obj.value; var code = obj.value;
// 获取对应元素 // 获取对应元素
var parent = obj.parentNode.parentNode.parentNode.parentNode; var parent = obj.parentNode.parentNode.parentNode.parentNode;
var children = parent.childNodes[5]; var materialChildren = parent.childNodes[5];
var materialItem = children.childNodes[3].childNodes[1].childNodes; var priceChildren = parent.childNodes[9];
// 物料条目
var materialItem = materialChildren.childNodes[3].childNodes[1].childNodes;
var materialName = materialItem[1]; var materialName = materialItem[1];
var materialId = materialName.parentNode.parentNode.childNodes[3]; var materialId = materialName.parentNode.parentNode.childNodes[3];
// 单价条目
var priceItem = priceChildren.childNodes[3].childNodes;
var priceValue = priceItem[1];
var req = {}; var req = {};
req.code = code; req.code = code;
req.type = "in"; req.type = "in";
@ -375,10 +379,12 @@
layer.msg("没有该编码,请确认是否输入正确"); layer.msg("没有该编码,请确认是否输入正确");
materialName.value = ""; materialName.value = "";
materialId.value = ""; materialId.value = "";
priceValue.value = "";
obj.value = ""; obj.value = "";
}else{ }else{
materialName.value = d.mname; materialName.value = d.mname;
materialId.value = d.id; materialId.value = d.id;
priceValue.value = d.price;
} }
} }
}); });
@ -389,6 +395,7 @@
var parent = obj.parentNode.parentNode.parentNode.parentNode; var parent = obj.parentNode.parentNode.parentNode.parentNode;
var parentId = parent.id; var parentId = parent.id;
var codeChildren = parent.childNodes[7]; var codeChildren = parent.childNodes[7];
var priceChildren = parent.childNodes[9];
var materialChildren = parent.childNodes[5]; var materialChildren = parent.childNodes[5];
var codeItem = codeChildren.childNodes[3].childNodes[1]; var codeItem = codeChildren.childNodes[3].childNodes[1];
var codeValue = codeItem.childNodes[1]; var codeValue = codeItem.childNodes[1];
@ -396,6 +403,9 @@
var materialName = materialItem[1]; var materialName = materialItem[1];
var materialId = materialName.parentNode.parentNode.childNodes[3]; var materialId = materialName.parentNode.parentNode.childNodes[3];
var mname = materialName.value; var mname = materialName.value;
// 单价条目
var priceItem = priceChildren.childNodes[3].childNodes;
var priceValue = priceItem[1];
layer.open({ layer.open({
type: 2, type: 2,
title: '弹窗内容', title: '弹窗内容',
@ -420,6 +430,7 @@
code = ""; code = "";
} }
codeValue.value = code; codeValue.value = code;
priceValue.value = material.price;
} }
}); });
@ -471,8 +482,130 @@
}); });
}; };
// 用于重新渲染该页面
Coverpage = function (num, obj) {
var parent = $("#cardParent");
// 获取待添加父类
NewIdNumber = num;
if (num === 0) { // 如果是第一个
NewIdNumber = "";
}
var depositoryItem = `
<div class="layui-form-item">
<label class="layui-form-label">仓库:</label>
<div class="layui-input-block">
<input type="text" placeholder="请选择仓库" class="layui-input"
id="openSonByDepository" readonly onclick="openDepositoryTree(this)"
lay-verify="required"/>
<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" value="0"
style="display: none" lay-verify="required"/>
</div>
</div>
`;
if (scanValue.depository !== undefined && scanValue.depository !== null && scanValue.depository !== "") {
let depository = scanValue.depository;
// 如果扫描了仓库
depositoryItem = `<div class="layui-form-item">
<label class="layui-form-label">仓库:</label>
<div class="layui-input-block">
<input type="text" placeholder="请选择仓库" class="layui-input" value=` + depository.dname + `
id="openSonByDepository" readonly onclick="openDepositoryTree(this)"
lay-verify="required"/>
<input type="text" name=` + "depositoryId" + NewIdNumber + ` class="layui-input" id="depositoryId" value=` + depository.did + `
style="display: none" lay-verify="required"/>
<input type="text" name=` + "placeId" + NewIdNumber + ` class="layui-input" id="placeId" value="0"
style="display: none" lay-verify="required"/>
</div>
</div>`;
}
if (scanValue.place !== undefined && scanValue.place !== null && scanValue.place !== "") {
// 如果扫描了库位
let place = scanValue.place;
depositoryItem = `<div class="layui-form-item">
<label class="layui-form-label">仓库:</label>
<div class="layui-input-block">
<input type="text" placeholder="请选择仓库" class="layui-input"
id="openSonByDepository" readonly onclick="openDepositoryTree(this)" value=` + place.dname + "-" + place.code + `
lay-verify="required"/>
<input type="text" name=` + "depositoryId" + NewIdNumber + ` class="layui-input" id="depositoryId" value=` + place.depositoryId + `
style="display: none" lay-verify="required"/>
<input type="text" name=` + "placeId" + NewIdNumber + ` class="layui-input" id="placeId" value=` + place.pid + `
style="display: none" lay-verify="required"/>
</div>
</div>`;
}
var firstItem =
// 前半部分
` <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">
<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"
id="openSonByMaterial" lay-verify="required" value="${obj.mname}" 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" value="${obj.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" style="margin: 0px;">
<div class="inputdiv">
<input id="code" name=` + "code" + NewIdNumber + ` type="text" placeholder="请填写入物料编码" onblur="selectCode(this)"
class="layui-input" lay-verify="required" value="${obj.code}" style="border-style: none">
<img src="/static/images/search.ico" height="16" width="16" style="margin-top: 10px" >
</div>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">物料单价:</label>
<div class="layui-input-block">
<input name=` + "price" + NewIdNumber + ` type="number" placeholder="请填写入物料单价" value=""
class="layui-input" lay-verify="number">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">物料数量:</label>
<div class="layui-input-block">
<input name=` + "quantity" + NewIdNumber + ` type="number" placeholder="请填写入物料数量" value=""
class="layui-input" lay-verify="number">
</div>
</div>`;
var lastItem = `<div class="layui-form-item">
<label class="layui-form-label">备注说明:</label>
<div class="layui-input-block">
<textarea name=` + "applyRemark" + NewIdNumber + ` placeholder="请填写相关原因及申请原因" value=""
class="layui-textarea"></textarea>
</div>
</div>
<i class="layui-icon layui-icon-addition" style="display: inline" onclick="addItem(this)"></i>
</div>`;
// 获取当前高度
var height = parseInt(($("#stepForm").css('height')).split("px")[0]);
if (NewIdNumber !== "") {
params.push(NewIdNumber)
}
$("#stepForm").css("height", height + 475 + 'px');
var materialItem = firstItem + depositoryItem + lastItem; // 最终
$("#btn_sub").prepend(materialItem)
};
// 用于扫码入库 // 用于扫码入库
scanCodeInStorage = function(obj){ scanCodeInStorage = function(){
layer.open({ layer.open({
type: 2, type: 2,
title: '扫码', title: '扫码',
@ -484,12 +617,41 @@
fixed:false, fixed:false,
content: '/scanQrCodeIn', content: '/scanQrCodeIn',
end: function () { end: function () {
miniTab.deleteCurrentByIframe(); $.ajax({
url: "/material/application_in_scanQrCode",
type: "get",
dataType: 'json',
contentType: "application/json;charset=utf-8",
success: function (d) {
var data = d.data;
var depository = data["depository"];
var materialList = data["materialList"];
var place = data["place"];
if (depository !== undefined && depository !== null && depository !== "") {
// 如果扫描到仓库
scanValue.depository = depository;
}
if (place !== undefined && place !== null && place !== "") {
// 如果扫描到库位
scanValue.place = place;
}
if (materialList.length > 0) {
for (let i = 1; i <= materialList.length; i++) {
Coverpage(i, materialList[i-1]);
}
} else {
var material = {};
material.mname = '';
material.mid = '';
material.code = '';
Coverpage(0, material);
}
}
})
} }
}) })
}; };
// 用于打开仓库树形菜单 // 用于打开仓库树形菜单
openDepositoryTree = function (obj) { openDepositoryTree = function (obj) {
var parent = obj.parentNode.parentNode.parentNode; var parent = obj.parentNode.parentNode.parentNode;
@ -506,6 +668,9 @@
content: '/selectDepositoryByCard?type=1&clickObj='+parentId, content: '/selectDepositoryByCard?type=1&clickObj='+parentId,
}); });
} }
}) })
</script> </script>
</body> </body>

48
src/main/resources/templates/pages/scanQrCode/ScanQrCodeIn.html

@ -100,17 +100,23 @@
if (vue.materialList.length > 0) { if (vue.materialList.length > 0) {
// 如果有物料 // 如果有物料
vue.temporaryScanValue(params); // 将数据暂存至redis中 vue.temporaryScanValue(params); // 将数据暂存至redis中
vue.chooseIn(); // 弹出选择框 // 关闭当前页
var index = parent.layer.getFrameIndex(window.name);
parent.layer.close(index);
} else { } else {
// 如果没有 // 如果没有
layer.confirm("暂未选择物料,是否继续扫描", { layer.confirm("暂未选择物料,是否继续扫描", {
btn:["继续","取消"] btn:["继续","取消"]
},function () { // 继续 },function () { // 继续
vue.turnCameraOn(); // 继续扫描 vue.turnCameraOn(); // 继续扫描
layer.close(layer.index); // 关闭弹窗 // 关闭当前页
var index = parent.layer.getFrameIndex(window.name);
parent.layer.close(index);
},function () { // 取消 },function () { // 取消
vue.temporaryScanValue(params); // 将数据暂存 vue.temporaryScanValue(params); // 将数据暂存
vue.chooseIn(); // 弹出选择框 // 关闭当前页
var index = parent.layer.getFrameIndex(window.name);
parent.layer.close(index);
}) })
} }
} }
@ -123,7 +129,9 @@
if (vue.materialList.length > 0) { if (vue.materialList.length > 0) {
// 如果有物料 // 如果有物料
vue.temporaryScanValue(params); // 将数据暂存至redis中 vue.temporaryScanValue(params); // 将数据暂存至redis中
vue.chooseIn(); // 弹出选择框 // 关闭当前页
var index = parent.layer.getFrameIndex(window.name);
parent.layer.close(index);
} else { } else {
// 如果没有 // 如果没有
layer.confirm("当前并未扫描物料,是否继续扫描", layer.confirm("当前并未扫描物料,是否继续扫描",
@ -134,7 +142,9 @@
}, },
function () { function () {
vue.temporaryScanValue(params); // 将数据暂存 vue.temporaryScanValue(params); // 将数据暂存
vue.chooseIn(); // 弹出选择框 // 关闭当前页
var index = parent.layer.getFrameIndex(window.name);
parent.layer.close(index);
} }
) )
} }
@ -158,8 +168,9 @@
vue.temporaryScanValue(params); // 将物料暂存 vue.temporaryScanValue(params); // 将物料暂存
if ( vue.depository !== null || vue.place !== null) { if ( vue.depository !== null || vue.place !== null) {
// 如果已经扫描了仓库或库位 // 如果已经扫描了仓库或库位
// 弹出选择框 // 关闭当前页
vue.chooseIn(); var index = parent.layer.getFrameIndex(window.name);
parent.layer.close(index);
} }
else { else {
// 如果没有扫描仓库或库位 // 如果没有扫描仓库或库位
@ -168,8 +179,9 @@
btn: ["继续", "取消"] btn: ["继续", "取消"]
}, },
function () {// 继续 function () {// 继续
// 弹出选择框 // 关闭当前页
vue.chooseIn(); var index = parent.layer.getFrameIndex(window.name);
parent.layer.close(index);
}, },
function () { // 取消当前操作 function () { // 取消当前操作
vue.turnCameraOn(); // 继续扫描 vue.turnCameraOn(); // 继续扫描
@ -241,24 +253,6 @@
contentType: "application/json;charset=utf-8", contentType: "application/json;charset=utf-8",
data: JSON.stringify(params) data: JSON.stringify(params)
}); });
},
// 弹出入库|出库选择框
chooseIn(){
layer.open({
type: 2,
title: '入库',
skin: 'layui-layer-rim',
maxmin: true,
shadeClose: true, //点击遮罩关闭层
area: ['100%', '100%'],
move: '.layui-layer-title',
fixed: false,
content: '/application_in_scanQrCode',
end:function () {
var index = parent.layer.getFrameIndex(window.name);
parent.layer.close(index);
}
})
} }
} }

187
target/classes/templates/pages/application/application-in.html

@ -101,7 +101,7 @@
</div> </div>
<!-- 提交按钮--> <!-- 提交按钮-->
<div class="layui-form-item"> <div class="layui-form-item" id="btn_sub">
<div class="layui-input-block" style="bottom: 15px;"> <div class="layui-input-block" style="bottom: 15px;">
<button id="submitForm" class="layui-btn" lay-submit lay-filter="formStep" style="margin-left: 15%"> <button id="submitForm" class="layui-btn" lay-submit lay-filter="formStep" style="margin-left: 15%">
&emsp;提交&emsp; &emsp;提交&emsp;
@ -152,12 +152,11 @@
// 用于扫码入库 // 用于扫码入库
function scanCodeInStorage(obj) {} function scanCodeInStorage(obj) {}
// 用于删除当前选项卡 // 用于重新渲染该页面
function deleteTable() { function Coverpage(num, obj) {}
}
// 用于暂存卡片个数 // 用于暂存卡片个数
var params = []; var params = [];
let scanValue = {};
// 用于卡片编号 // 用于卡片编号
var NewIdNumber = 1; var NewIdNumber = 1;
layui.use(['form','miniTab', 'step','flow'], function () { layui.use(['form','miniTab', 'step','flow'], function () {
@ -271,7 +270,7 @@
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">物料编码:</label> <label class="layui-form-label">物料编码:</label>
<div class="layui-input-block"> <div class="layui-input-block" style="margin: 0px;">
<div class="inputdiv"> <div class="inputdiv">
<input id="code" name=`+"code"+NewIdNumber+` type="text" placeholder="请填写入物料编码" value="" onblur="selectCode(this)" <input id="code" name=`+"code"+NewIdNumber+` type="text" placeholder="请填写入物料编码" value="" onblur="selectCode(this)"
class="layui-input" lay-verify="required" style="border-style: none"> class="layui-input" lay-verify="required" style="border-style: none">
@ -356,10 +355,15 @@
var code = obj.value; var code = obj.value;
// 获取对应元素 // 获取对应元素
var parent = obj.parentNode.parentNode.parentNode.parentNode; var parent = obj.parentNode.parentNode.parentNode.parentNode;
var children = parent.childNodes[5]; var materialChildren = parent.childNodes[5];
var materialItem = children.childNodes[3].childNodes[1].childNodes; var priceChildren = parent.childNodes[9];
// 物料条目
var materialItem = materialChildren.childNodes[3].childNodes[1].childNodes;
var materialName = materialItem[1]; var materialName = materialItem[1];
var materialId = materialName.parentNode.parentNode.childNodes[3]; var materialId = materialName.parentNode.parentNode.childNodes[3];
// 单价条目
var priceItem = priceChildren.childNodes[3].childNodes;
var priceValue = priceItem[1];
var req = {}; var req = {};
req.code = code; req.code = code;
req.type = "in"; req.type = "in";
@ -375,10 +379,12 @@
layer.msg("没有该编码,请确认是否输入正确"); layer.msg("没有该编码,请确认是否输入正确");
materialName.value = ""; materialName.value = "";
materialId.value = ""; materialId.value = "";
priceValue.value = "";
obj.value = ""; obj.value = "";
}else{ }else{
materialName.value = d.mname; materialName.value = d.mname;
materialId.value = d.id; materialId.value = d.id;
priceValue.value = d.price;
} }
} }
}); });
@ -389,6 +395,7 @@
var parent = obj.parentNode.parentNode.parentNode.parentNode; var parent = obj.parentNode.parentNode.parentNode.parentNode;
var parentId = parent.id; var parentId = parent.id;
var codeChildren = parent.childNodes[7]; var codeChildren = parent.childNodes[7];
var priceChildren = parent.childNodes[9];
var materialChildren = parent.childNodes[5]; var materialChildren = parent.childNodes[5];
var codeItem = codeChildren.childNodes[3].childNodes[1]; var codeItem = codeChildren.childNodes[3].childNodes[1];
var codeValue = codeItem.childNodes[1]; var codeValue = codeItem.childNodes[1];
@ -396,6 +403,9 @@
var materialName = materialItem[1]; var materialName = materialItem[1];
var materialId = materialName.parentNode.parentNode.childNodes[3]; var materialId = materialName.parentNode.parentNode.childNodes[3];
var mname = materialName.value; var mname = materialName.value;
// 单价条目
var priceItem = priceChildren.childNodes[3].childNodes;
var priceValue = priceItem[1];
layer.open({ layer.open({
type: 2, type: 2,
title: '弹窗内容', title: '弹窗内容',
@ -420,6 +430,7 @@
code = ""; code = "";
} }
codeValue.value = code; codeValue.value = code;
priceValue.value = material.price;
} }
}); });
@ -471,8 +482,130 @@
}); });
}; };
// 用于重新渲染该页面
Coverpage = function (num, obj) {
var parent = $("#cardParent");
// 获取待添加父类
NewIdNumber = num;
if (num === 0) { // 如果是第一个
NewIdNumber = "";
}
var depositoryItem = `
<div class="layui-form-item">
<label class="layui-form-label">仓库:</label>
<div class="layui-input-block">
<input type="text" placeholder="请选择仓库" class="layui-input"
id="openSonByDepository" readonly onclick="openDepositoryTree(this)"
lay-verify="required"/>
<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" value="0"
style="display: none" lay-verify="required"/>
</div>
</div>
`;
if (scanValue.depository !== undefined && scanValue.depository !== null && scanValue.depository !== "") {
let depository = scanValue.depository;
// 如果扫描了仓库
depositoryItem = `<div class="layui-form-item">
<label class="layui-form-label">仓库:</label>
<div class="layui-input-block">
<input type="text" placeholder="请选择仓库" class="layui-input" value=` + depository.dname + `
id="openSonByDepository" readonly onclick="openDepositoryTree(this)"
lay-verify="required"/>
<input type="text" name=` + "depositoryId" + NewIdNumber + ` class="layui-input" id="depositoryId" value=` + depository.did + `
style="display: none" lay-verify="required"/>
<input type="text" name=` + "placeId" + NewIdNumber + ` class="layui-input" id="placeId" value="0"
style="display: none" lay-verify="required"/>
</div>
</div>`;
}
if (scanValue.place !== undefined && scanValue.place !== null && scanValue.place !== "") {
// 如果扫描了库位
let place = scanValue.place;
depositoryItem = `<div class="layui-form-item">
<label class="layui-form-label">仓库:</label>
<div class="layui-input-block">
<input type="text" placeholder="请选择仓库" class="layui-input"
id="openSonByDepository" readonly onclick="openDepositoryTree(this)" value=` + place.dname + "-" + place.code + `
lay-verify="required"/>
<input type="text" name=` + "depositoryId" + NewIdNumber + ` class="layui-input" id="depositoryId" value=` + place.depositoryId + `
style="display: none" lay-verify="required"/>
<input type="text" name=` + "placeId" + NewIdNumber + ` class="layui-input" id="placeId" value=` + place.pid + `
style="display: none" lay-verify="required"/>
</div>
</div>`;
}
var firstItem =
// 前半部分
` <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">
<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"
id="openSonByMaterial" lay-verify="required" value="${obj.mname}" 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" value="${obj.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" style="margin: 0px;">
<div class="inputdiv">
<input id="code" name=` + "code" + NewIdNumber + ` type="text" placeholder="请填写入物料编码" onblur="selectCode(this)"
class="layui-input" lay-verify="required" value="${obj.code}" style="border-style: none">
<img src="/static/images/search.ico" height="16" width="16" style="margin-top: 10px" >
</div>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">物料单价:</label>
<div class="layui-input-block">
<input name=` + "price" + NewIdNumber + ` type="number" placeholder="请填写入物料单价" value=""
class="layui-input" lay-verify="number">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">物料数量:</label>
<div class="layui-input-block">
<input name=` + "quantity" + NewIdNumber + ` type="number" placeholder="请填写入物料数量" value=""
class="layui-input" lay-verify="number">
</div>
</div>`;
var lastItem = `<div class="layui-form-item">
<label class="layui-form-label">备注说明:</label>
<div class="layui-input-block">
<textarea name=` + "applyRemark" + NewIdNumber + ` placeholder="请填写相关原因及申请原因" value=""
class="layui-textarea"></textarea>
</div>
</div>
<i class="layui-icon layui-icon-addition" style="display: inline" onclick="addItem(this)"></i>
</div>`;
// 获取当前高度
var height = parseInt(($("#stepForm").css('height')).split("px")[0]);
if (NewIdNumber !== "") {
params.push(NewIdNumber)
}
$("#stepForm").css("height", height + 475 + 'px');
var materialItem = firstItem + depositoryItem + lastItem; // 最终
$("#btn_sub").prepend(materialItem)
};
// 用于扫码入库 // 用于扫码入库
scanCodeInStorage = function(obj){ scanCodeInStorage = function(){
layer.open({ layer.open({
type: 2, type: 2,
title: '扫码', title: '扫码',
@ -484,12 +617,41 @@
fixed:false, fixed:false,
content: '/scanQrCodeIn', content: '/scanQrCodeIn',
end: function () { end: function () {
miniTab.deleteCurrentByIframe(); $.ajax({
url: "/material/application_in_scanQrCode",
type: "get",
dataType: 'json',
contentType: "application/json;charset=utf-8",
success: function (d) {
var data = d.data;
var depository = data["depository"];
var materialList = data["materialList"];
var place = data["place"];
if (depository !== undefined && depository !== null && depository !== "") {
// 如果扫描到仓库
scanValue.depository = depository;
}
if (place !== undefined && place !== null && place !== "") {
// 如果扫描到库位
scanValue.place = place;
}
if (materialList.length > 0) {
for (let i = 1; i <= materialList.length; i++) {
Coverpage(i, materialList[i-1]);
}
} else {
var material = {};
material.mname = '';
material.mid = '';
material.code = '';
Coverpage(0, material);
}
}
})
} }
}) })
}; };
// 用于打开仓库树形菜单 // 用于打开仓库树形菜单
openDepositoryTree = function (obj) { openDepositoryTree = function (obj) {
var parent = obj.parentNode.parentNode.parentNode; var parent = obj.parentNode.parentNode.parentNode;
@ -506,6 +668,9 @@
content: '/selectDepositoryByCard?type=1&clickObj='+parentId, content: '/selectDepositoryByCard?type=1&clickObj='+parentId,
}); });
} }
}) })
</script> </script>
</body> </body>

Loading…
Cancel
Save