已废弃
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.

964 lines
50 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.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-form-select{
width: 100%;
}
.lay-step{
display: none;
}
.layui-form-select .layui-input{
border-style: 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; ">
<input th:value="${materialList}" style="display:none;" id="scanValue_materialList">
<input th:value="${depository}" style="display: none" id="scanValue_depositoryId">
<input th:value="${place}" style="display: none" id="scanValue_placeId">
<div carousel-item style="overflow: inherit">
<div>
<form class="layui-form layui-form-pane" style="margin: 0 auto;max-width: 460px;padding-top: 40px;">
<div class="layui-card" id="cardParent">
<!-- 提交按钮-->
<div class="layui-form-item" id="btn_sub">
<div class="layui-input-block" style="bottom: 15px;">
<button id="submitForm" class="layui-btn" lay-submit lay-filter="formStep"
style="margin-left: 15%">
&emsp;提交&emsp;
</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;">&#xe605;</i>
<div style="font-size: 24px;color: #333;font-weight: 500;margin-top: 30px;">
提交成功
</div>
</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 deleteItem(obj) {
}
// 用于编码查询
function selectCode(obj) {
}
// 用于点击搜索按钮
function selectMaterial(obj) {
}
// 用于扫码入库
function scanCodeInStorage(obj) {
}
// 用于扫描条形码
function scanBarCode(obj) {
}
// 用于扫描入库位置
function scanLocationByQrCode(obj) {
}
// 用于物料名称查询
function selectMaterialByName(obj) {
}
// 用于加载仓库菜单
function openDepositoryTree(obj) {
}
// 用于页面初始化时的卡片构造
function initForm(num, obj) {
}
// 用于暂存卡片个数
var params = [];
// 用于卡片编号
var NewIdNumber = 0;
layui.use(['form', 'step', 'flow'], function () {
var $ = layui.$,
form = layui.form,
flow = layui.flow,
step = layui.step;
let scanValue = {};
// 页面初始化
$(function () {
let depository = $("#scanValue_depositoryId").val();
let place = $("#scanValue_placeId").val();
let materialList = $("#scanValue_materialList").val();
materialList = JSON.parse(materialList);
if (depository !== undefined && depository !== null && depository !== "") {
// 如果扫描到仓库
depository = JSON.parse(depository);
scanValue.depository = depository;
}
if (place !== undefined && place !== null && place !== "") {
// 如果扫描到库位
place = JSON.parse(place);
scanValue.place = place;
}
if (materialList.length > 0) {
for (let i = 0; i < materialList.length; i++) {
initForm(i, materialList[i]);
form.render();
var materialAndBarCodeList = materialList[i]["materialAndBarCodeList"];
var num = i;
if(num === 0){
num = "";
}
$.each(materialAndBarCodeList, function (index, item) {
$("#barCode"+num).append(new Option(item.bmcode, item.bmcode));//往下拉菜单里添加元素
});
form.render()
}
} else {
var material = {};
material.mname = '';
material.mid = '';
material.code = '';
initForm(0, material);
}
});
//用于页面初始化时的卡片构造
initForm = 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">
<div class="inputdiv">
<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"/>
<img src="/static/images/search.ico" height="16" width="16"
id="scanLocation"
style="margin-top: 10px" onclick="scanLocationByQrCode(this)">
</div>
</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">
<div class="inputdiv">
<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"/>
<img src="/static/images/search.ico" height="16" width="16"
id="scanLocation"
style="margin-top: 10px" onclick="scanLocationByQrCode(this)">
</div>
</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">
<div class="inputdiv">
<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"/>
<img src="/static/images/search.ico" height="16" width="16"
id="scanLocation"
style="margin-top: 10px" onclick="scanLocationByQrCode(this)">
</div>
</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">
<div class="inputdiv">
<input id="code" name=` + "code" + NewIdNumber + ` type="text" placeholder="请填写入物料编码" onblur="selectCode(this)"
class="layui-input" lay-verify="required" value="${obj.code}">
<img src="/static/images/search.ico" height="16" width="16"
style="margin-top: 10px" onclick="scanCodeInStorage(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">
<select id=`+"barCode"+NewIdNumber+` name=`+"barCode"+NewIdNumber+`></select>
<img id= `+"barCodeImg"+NewIdNumber+` name=`+"barCodeImg"+NewIdNumber+` src="/static/images/search.ico" height="16" width="16" 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 name=` + "price" + NewIdNumber + ` type="number" placeholder="请填写入物料单价" value="${obj.price}"
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">
<input name=` + "applyRemark" + NewIdNumber + ` placeholder="请填写相关原因及申请原因" value=""
class="layui-input"/>
</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)
};
// 用于分步表单加载
step.render({
elem: '#stepForm',
filter: 'stepForm',
width: '100%', //设置容器宽度
height: '600px',
stepItems: [{
title: '填写信息'
}, {
title: '提交成功'
}]
});
// 用于提交操作
form.on('submit(formStep)', function (data) {
data = data.field;
data.type = 1;
data.params = params;
$.ajax({
url: "/depositoryRecord/applicationIn",
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) {
var d = data.data;
if (d === "") {
layer.msg(data.statusInfo.detail);
} else {
var err = d["err"];
var success = d["success"];
var errMsg = "";
for (let i = 0; i < err.length; i++) {
errMsg += "物料编码: "
errMsg += err[i]["code"];
}
errMsg += "添加失败,请选择新仓库或库位";
layer.msg(errMsg, {
icon: 5,
time: 1000
}, function () {
step.next('#stepForm');
});
}
} 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');
});
// 实现卡片添加
addItem = function (obj) {
// 获取父元素id
var parentId = obj.parentNode.id;
NewIdNumber = NewIdNumber + 1;
// 物料名称栏目
var depositoryItem = ` <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"
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"
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>
`;
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">
<div class="inputdiv">
<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"/>
<img src="/static/images/search.ico" height="16" width="16"
id="scanLocation"
style="margin-top: 10px" onclick="scanLocationByQrCode(this)">
</div>
</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">
<div class="inputdiv">
<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"/>
<img src="/static/images/search.ico" height="16" width="16"
id="scanLocation"
style="margin-top: 10px" onclick="scanLocationByQrCode(this)">
</div>
</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" 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"
style="display: none" lay-verify="required" />
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">物料编码:</label>
<div class="layui-input-block">
<div class="inputdiv">
<input id="code" name=` + "code" + NewIdNumber + ` type="text" placeholder="请填写入物料编码" value="" onblur="selectCode(this)"
class="layui-input" lay-verify="required">
<img src="/static/images/search.ico" height="16" width="16"
style="margin-top: 10px" onclick="scanCodeInStorage(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" + NewIdNumber + ` type="text" placeholder="请填写入条形编码" value=""
class="layui-input" style="border-style: none">
<img src="/static/images/search.ico" height="16"
id = `+"barCodeImg"+NewIdNumber+`
width="16" 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 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">
<input name=` + "applyRemark" + NewIdNumber + ` placeholder="请填写相关原因及申请原因" value=""
class="layui-input"/>
</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]);
params.push(NewIdNumber)
$("#stepForm").css("height", height + 535 + 'px');
var materialItem = firstItem + depositoryItem + lastItem;
$("#" + parentId).after(materialItem);
};
// 实现卡片删除
deleteItem = function (obj) {
// 获取父节点
var parent = obj.parentNode;
var parentId = parent.id;
parentId = parseInt(parentId.split("cardItem")[1]);
// 获取祖父节点
var reparent = parent.parentNode;
var height = parseInt(($("#stepForm").css('height')).split("px")[0]);
$("#stepForm").css("height", height - 535 + 'px');
params = remove(params, parentId);
reparent.removeChild(parent);
};
//删除数组中指定元素
function remove(arr, item) {
var result = [];
for (let i = 0; i < arr.length; i++) {
if (arr[i] === item) {
continue;
}
result.push(arr[i]);
}
return result;
}
// 用于实现通过编码查询物料
selectCode = function (obj) {
// 输入code
var code = obj.value;
// 获取对应元素
var parent = obj.parentNode.parentNode.parentNode;
var materialChildren = parent.childNodes[5];
var priceChildren = parent.childNodes[11];
var barCodeChildren = parent.childNodes[9];
// 物料条目
var materialItem = materialChildren.childNodes[3].childNodes[1].childNodes;
var materialName = materialItem[1];
var materialId = materialName.parentNode.parentNode.childNodes[3];
// 单价条目
var priceItem = priceChildren.childNodes[3].childNodes;
var priceValue = priceItem[1];
// 条形码条码
var barCodeItem = barCodeChildren.childNodes[3];
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;
var idNumber = materialId.name.split("mid")[1];
if (d == null) {
layer.msg("没有该编码,请确认是否输入正确");
materialName.value = "";
materialId.value = "";
priceValue.value = "";
obj.value = "";
$("#barCode" + idNumber).remove();
form.render();
} else {
materialName.value = d.mname;
materialId.value = d.id;
priceValue.value = d.price;
// 获取物料与条形码的对应关系
var materialAndBarCodeList = d["materialAndBarCodeList"];
if (materialAndBarCodeList.length > 0) {
// 如果有对应的条形码
var barCodeInput = barCodeItem.childNodes[1].childNodes[1];
var barCodeImg = barCodeItem.childNodes[1].childNodes[3];
var id = barCodeInput.id;
$("#" + id).remove();
$("#barCode" + idNumber).empty();
var barCode = $("#barCode" + idNumber);
if (barCode.length > 0) {
barCode.empty();
} else {
var barCodeSelect = `
<select id=` + "barCode" + idNumber + ` name=` + "barCode" + idNumber + `>
</select>`;
$("#" + barCodeImg.id).before(barCodeSelect);
}
form.render();
$.each(materialAndBarCodeList, function (index, item) {
$("#barCode" + idNumber).append(new Option(item.bmcode, item.id));//往下拉菜单里添加元素
});
form.render();
}
else{
var barCode = $("#barCode" + idNumber);
if (barCode.length > 0) {
barCode.empty();
}
}
}
}
});
};
// 用于实现点击搜索按钮
selectMaterial = function (obj) {
var parent = obj.parentNode.parentNode.parentNode.parentNode;
var parentId = parent.id;
var codeChildren = parent.childNodes[7];
var materialChildren = parent.childNodes[5];
var codeItem = codeChildren.childNodes[3].childNodes;
var codeValue = codeItem[1];
var materialItem = materialChildren.childNodes[3].childNodes[1].childNodes;
var materialName = materialItem[1];
var materialId = materialName.parentNode.parentNode.childNodes[3];
var mname = materialName.value;
mname = mname.split(",")[0];
layer.open({
type: 2,
title: '弹窗内容',
skin: 'layui-layer-rim',
maxmin: true,
shadeClose: true, //点击遮罩关闭层
area: ['70%', '70%'],
// content: '/selectMaterialByCard?mname=' + mname + '&type=1&clickObj=' + parentId,
content: '/getMaterialAll?mname=' + mname + '&type=1&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%');
},
end: function () {
var mid = materialId.value;
$.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 = "";
}
codeValue.value = code;
}
});
}
});
};
//用于实现物料名称搜索
selectMaterialByName = function (obj) {
// 输入code
var data = obj.value;
// 获取对应元素
var parent = obj.parentNode.parentNode.parentNode.parentNode;
var materialChildren = parent.childNodes[5];
var codeChildren = parent.childNodes[7];
var codeItem = codeChildren.childNodes[3].childNodes;
var codeValue = codeItem[1];
var materialItem = materialChildren.childNodes[3].childNodes[1].childNodes;
var materialName = materialItem[1];
var materialId = materialName.parentNode.parentNode.childNodes[3];
var req = {};
req.mname = data;
$.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.value = "";
codeValue.value = "";
return false;
} else if (d.count === 0) {
layer.msg("没有该物品,请确认输入是否正确");
materialId.value = "";
codeValue.value = "";
materialName.value = "";
return false;
} else {
var material = d.data[0];
materialName.value = material.mname;
materialId.value = material.id;
codeValue.value = material.code;
}
}
});
};
scanBarCode = function (obj) {
parent.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) {
var data = d.data;
var material = data["material"];
var parent = obj.parentNode.parentNode.parentNode.parentNode;
var codeChildren = parent.childNodes[7];
var priceChildren = parent.childNodes[11];
var materialChildren = parent.childNodes[5];
// 条形码
var barCodeChildren = parent.childNodes[9];
var codeItem = codeChildren.childNodes[3].childNodes[1];
var codeValue = codeItem.childNodes[1];
var materialItem = materialChildren.childNodes[3].childNodes[1].childNodes;
var materialName = materialItem[1];
var materialId = materialName.parentNode.parentNode.childNodes[3];
var mname = materialName.value;
// 单价条目
var priceItem = priceChildren.childNodes[3].childNodes;
var priceValue = priceItem[1];
// 条形码条码
var barCodeItem = barCodeChildren.childNodes[3];
var code = material.mcode;
if (code === undefined) {
code = "";
}
materialName.value = material.mname;
materialId.value = material.mid;
codeValue.value = code;
priceValue.value = material.price;
var barCodeInput = barCodeItem.childNodes[1].childNodes[1];
barCodeInput.value = result;
form.render();
}
})
},
error: function (res) {
if (res.errMsg.indexOf('function_not_exist') > 0) {
alert('版本过低请升级')
}
alert(res)
}
});
}
// 用于打开仓库树形菜单
openDepositoryTree = function (obj) {
var parent = obj.parentNode.parentNode.parentNode.parentNode;
var parentId = parent.id;
layer.open({
type: 2,
title: '弹窗内容',
skin: 'layui-layer-rim',
maxmin: true,
shadeClose: true, //点击遮罩关闭层
area: ['70%', '70%'],
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%');
}
});
}
// 用于扫码入库
scanCodeInStorage = function (obj) {
parent.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;
$.ajax({
url: "/material/qywxApplicationInScanQrCode",
type: "post",
dataType: 'json',
data: JSON.stringify(req),
contentType: "application/json;charset=utf-8",
success: function (d) {
var data = d.data;
var parent = obj.parentNode.parentNode.parentNode.parentNode;
var codeChildren = parent.childNodes[7];
var priceChildren = parent.childNodes[11];
var materialChildren = parent.childNodes[5];
// 条形码
var barCodeChildren = parent.childNodes[9];
var codeItem = codeChildren.childNodes[3].childNodes[1];
var codeValue = codeItem.childNodes[1];
var materialItem = materialChildren.childNodes[3].childNodes[1].childNodes;
var materialName = materialItem[1];
var materialId = materialName.parentNode.parentNode.childNodes[3];
var mname = materialName.value;
// 单价条目
var priceItem = priceChildren.childNodes[3].childNodes;
var priceValue = priceItem[1];
// 条形码条码
var barCodeItem = barCodeChildren.childNodes[3];
var code = data.code;
if (code === undefined) {
code = "";
}
materialName.value = data.mname;
materialId.value = data.id;
codeValue.value = code;
priceValue.value = data.price;
var materialAndBarCodeList = data["materialAndBarCodeList"];
var idNumber = materialId.name.split("mid")[1];
if (materialAndBarCodeList.length > 0) {
// 如果有对应的条形码
var barCodeInput = barCodeItem.childNodes[1].childNodes[1];
var barCodeImg = barCodeItem.childNodes[1].childNodes[3];
var id = barCodeInput.id;
$("#" + id).remove();
$("#barCode" + idNumber).empty();
var barCode = $("#barCode" + idNumber);
if (barCode.length > 0) {
barCode.empty();
} else {
var barCodeSelect = `
<select id=` + "barCode" + idNumber + ` name=` + "barCode" + idNumber + `>
</select>`;
$("#" + barCodeImg.id).before(barCodeSelect);
}
form.render();
$.each(materialAndBarCodeList, function (index, item) {
$("#barCode" + idNumber).append(new Option(item.bmcode, item.id));//往下拉菜单里添加元素
});
form.render();
}
}
})
}
})
};
// 用于扫描入库位置
scanLocationByQrCode = function (obj) {
parent.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;
$.ajax({
url: "/place/qywxApplicationInScanQrCode",
type: "post",
dataType: 'json',
data: JSON.stringify(req),
contentType: "application/json;charset=utf-8",
success: function (d) {
var data = d.data;
var flag = data["flag"];
var parent = obj.parentNode;
var depositoryName = parent.childNodes[1];
var depositoryId = parent.childNodes[3];
var placeId = parent.childNodes[5];
if(flag === 0){
// 如果没有获取到位置
layer.msg("当前二维码错误,请重新扫描");
}else if(flag === 1){
// 如果获取到的是库位
var place = data["place"];
placeId.value = place.id;
depositoryId.value = place.did;
depositoryName.value = place.depositoryName;
}else if(flag === 2){
// 如果获取到的是仓库
var depository = data["depository"];
placeId.value = "0";
depositoryId.value = depository.id;
depositoryName.value = depository.dname;
}
}
})
}
})
}
})
</script>
</body>
</html>