|
|
|
|
<!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%;
|
|
|
|
|
border-style: none;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.layui-card-body {
|
|
|
|
|
padding: 10px 5px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.lay-step {
|
|
|
|
|
display: none;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
</style>
|
|
|
|
|
<div class="layuimini-container">
|
|
|
|
|
<div class="layuimini-main">
|
|
|
|
|
<div class="layui-fluid">
|
|
|
|
|
<div class="layui-tab">
|
|
|
|
|
<ul class="layui-tab-title" style="text-align: center">
|
|
|
|
|
<li class="layui-this">物料出库</li>
|
|
|
|
|
<li class="layui-this">组合出库</li>
|
|
|
|
|
</ul>
|
|
|
|
|
<div class="layui-tab-content">
|
|
|
|
|
<!-- 普通物料出库申请-->
|
|
|
|
|
<div class="layui-tab-item layui-show">
|
|
|
|
|
<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">
|
|
|
|
|
<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="scanCodeByOut(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">
|
|
|
|
|
<input name="quantity" type="number" placeholder="请填写入物料数量"
|
|
|
|
|
value=""
|
|
|
|
|
onblur="MaterialQuantityIsTrue(this)" id="quantity"
|
|
|
|
|
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">
|
|
|
|
|
|
|
|
|
|
</select>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="layui-form-item">
|
|
|
|
|
<label class="layui-form-label">备注说明:</label>
|
|
|
|
|
<div class="layui-input-block">
|
|
|
|
|
<input name="applyRemark" placeholder="请填写相关原因及申请原因" value=""
|
|
|
|
|
class="layui-input"/>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<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: 30px;margin-left: 15%">
|
|
|
|
|
 提交 
|
|
|
|
|
</button>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</form>
|
|
|
|
|
</div>
|
|
|
|
|
<div>
|
|
|
|
|
<form class="layui-form" style="margin: 0 auto;max-width: 460px;padding-top: 40px;">
|
|
|
|
|
<div style="text-align: center;margin-top: 90px;">
|
|
|
|
|
<i class="layui-icon layui-circle"
|
|
|
|
|
style="color: white;font-size:30px;font-weight:bold;background: #52C41A;padding: 20px;line-height: 80px;"></i>
|
|
|
|
|
<div style="font-size: 24px;color: #333;font-weight: 500;margin-top: 30px;">
|
|
|
|
|
提交申请成功
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div style="text-align: center;margin-top: 50px;">
|
|
|
|
|
<button class="layui-btn next">再申请一次</button>
|
|
|
|
|
</div>
|
|
|
|
|
</form>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="layui-tab-item">
|
|
|
|
|
<div class="layui-carousel" id="stepForm2" lay-filter="stepForm2" 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="cardParentForGroup">
|
|
|
|
|
<div class="layui-card-body" id="cardItemForGroup">
|
|
|
|
|
<hr>
|
|
|
|
|
<i class="layui-icon layui-icon-subtraction" style="display: inline"
|
|
|
|
|
onclick="deleteItemForGroup(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="openGroupList" onblur="selectGroupByName(this)"
|
|
|
|
|
lay-verify="required"/>
|
|
|
|
|
<i class="layui-icon layui-icon-search"
|
|
|
|
|
style="display: inline"
|
|
|
|
|
id="selectGroup" onclick="selectGroup(this)"></i>
|
|
|
|
|
</div>
|
|
|
|
|
<input type="text" name="gid" class="layui-input" id="gid"
|
|
|
|
|
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">
|
|
|
|
|
<div class="inputdiv">
|
|
|
|
|
<input id="gcode" name="code" type="text"
|
|
|
|
|
placeholder="请填写入组合编码"
|
|
|
|
|
value=""
|
|
|
|
|
onblur="selectCodeForGroup(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;display: none"
|
|
|
|
|
onclick="scanCodeByOut(this)">
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="layui-form-item">
|
|
|
|
|
<label class="layui-form-label">组合数量:</label>
|
|
|
|
|
<div class="layui-input-block">
|
|
|
|
|
<input type="number" name="quantity" class="layui-input"
|
|
|
|
|
id="quantityForGroup" onblur="groupQuantityIsTrue(this)"
|
|
|
|
|
required lay-verify="number" placeholder="请填写组合数量"/>
|
|
|
|
|
</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>
|
|
|
|
|
<i class="layui-icon layui-icon-addition" style="display: inline"
|
|
|
|
|
id="addItemForGroup"
|
|
|
|
|
onclick="addItemForGroup(this)"></i>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<!--提交按钮-->
|
|
|
|
|
<div class="layui-form-item" id="btn_sub2">
|
|
|
|
|
<div class="layui-input-block">
|
|
|
|
|
<button class="layui-btn" lay-submit lay-filter="formStep2"
|
|
|
|
|
type="button"
|
|
|
|
|
style="margin-bottom: 30px;margin-left: 15%">
|
|
|
|
|
 提交 
|
|
|
|
|
</button>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</form>
|
|
|
|
|
</div>
|
|
|
|
|
<div>
|
|
|
|
|
<form class="layui-form" style="margin: 0 auto;max-width: 460px;padding-top: 40px;">
|
|
|
|
|
<div style="text-align: center;margin-top: 90px;">
|
|
|
|
|
<i class="layui-icon layui-circle"
|
|
|
|
|
style="color: white;font-size:30px;font-weight:bold;background: #52C41A;padding: 20px;line-height: 80px;"></i>
|
|
|
|
|
<div style="font-size: 24px;color: #333;font-weight: 500;margin-top: 30px;">
|
|
|
|
|
提交申请成功
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div style="text-align: center;margin-top: 50px;">
|
|
|
|
|
<button class="layui-btn next">再申请一次</button>
|
|
|
|
|
</div>
|
|
|
|
|
</form>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</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 src="https://open.work.weixin.qq.com/wwopen/js/jwxwork-1.0.0.js"></script>
|
|
|
|
|
<!--<script src="/static/js/application-out/application-out.js" charset="'UTF-8"></script>-->
|
|
|
|
|
<script>
|
|
|
|
|
// 用于添加标签
|
|
|
|
|
function addItem(obj) {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 用于删除标签
|
|
|
|
|
function deleteItem(obj) {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 用于添加标签(用于组合)
|
|
|
|
|
function addItemForGroup(obj) {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 用于删除标签(用于组合)
|
|
|
|
|
function deleteItemForGroup(obj) {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 用于编码查询
|
|
|
|
|
function selectCode(obj) {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 用于编码查询(用于组合)
|
|
|
|
|
function selectCodeForGroup(obj) {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 用于点击搜索按钮
|
|
|
|
|
function selectMaterial(obj) {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 用于点击搜索按钮(组合)
|
|
|
|
|
function selectGroup(obj) {
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 用于物料名称查询
|
|
|
|
|
function selectMaterialByName(obj) {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 用于组合名称查询
|
|
|
|
|
function selectGroupByName() {
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 用于判断当前物料数量是否合适
|
|
|
|
|
function MaterialQuantityIsTrue() {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 用于判断当前组合数量是否合适
|
|
|
|
|
function groupQuantityIsTrue() {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 用于扫描条形码
|
|
|
|
|
function scanBarCode() {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 用于重新渲染页面(组合)
|
|
|
|
|
function CoverpageForGroup() {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 用于扫码出库
|
|
|
|
|
function scanCodeByOut(obj) {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 用于暂存卡片个数
|
|
|
|
|
var params = [];
|
|
|
|
|
|
|
|
|
|
// 用于标志当前表单是否第一次提交
|
|
|
|
|
let flagForForm = false;
|
|
|
|
|
let GroupflagForForm = false;
|
|
|
|
|
|
|
|
|
|
// 用于暂存卡片个数(组合)
|
|
|
|
|
var params2 = [];
|
|
|
|
|
// 用于卡片编号
|
|
|
|
|
var NewIdNumber = 1;
|
|
|
|
|
layui.use(['form', 'step', 'layer', 'jquery', 'element'], function () {
|
|
|
|
|
var $ = layui.$,
|
|
|
|
|
form = layui.form,
|
|
|
|
|
element = layui.element,
|
|
|
|
|
step = layui.step;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 用于分步表单加载
|
|
|
|
|
step.render({
|
|
|
|
|
elem: '#stepForm',
|
|
|
|
|
filter: 'stepForm',
|
|
|
|
|
width: '100%', //设置容器宽度
|
|
|
|
|
height: '600px',
|
|
|
|
|
stepItems: [{
|
|
|
|
|
title: '填写信息'
|
|
|
|
|
}, {
|
|
|
|
|
title: '提交成功'
|
|
|
|
|
}]
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
step.render({
|
|
|
|
|
elem: '#stepForm2',
|
|
|
|
|
filter: 'stepForm2',
|
|
|
|
|
width: '100%', //设置容器宽度
|
|
|
|
|
height: '600px',
|
|
|
|
|
stepItems: [{
|
|
|
|
|
title: '填写信息'
|
|
|
|
|
}, {
|
|
|
|
|
title: '提交成功'
|
|
|
|
|
}]
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// 提交(物料出库)
|
|
|
|
|
form.on('submit(formStep)', function (data) {
|
|
|
|
|
if(!flagForForm){
|
|
|
|
|
flagForForm = true;
|
|
|
|
|
data = data.field;
|
|
|
|
|
data.params = params;
|
|
|
|
|
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")) {
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
// 获取当前数字
|
|
|
|
|
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, "");
|
|
|
|
|
data[key] = data[tempKey];
|
|
|
|
|
delete data[tempKey];
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
data.params = remove(data.params, Number(keyNumber));
|
|
|
|
|
}
|
|
|
|
|
$.ajax({
|
|
|
|
|
url: "/depositoryRecord/applicationOut",
|
|
|
|
|
type: 'post',
|
|
|
|
|
dataType: 'json',
|
|
|
|
|
contentType: "application/json;charset=utf-8",
|
|
|
|
|
data: JSON.stringify(data),
|
|
|
|
|
beforeSend: function () {
|
|
|
|
|
this.layerIndex = layer.load(0, {shade: [0.5, '#393D49']});
|
|
|
|
|
},
|
|
|
|
|
success: function (data) {
|
|
|
|
|
layer.close(this.layerIndex);
|
|
|
|
|
if (data.status >= 300) {
|
|
|
|
|
layer.msg(data.statusInfo.message,{icon:0,time:500},function () {
|
|
|
|
|
flagForForm = false;
|
|
|
|
|
});//失败的表情
|
|
|
|
|
|
|
|
|
|
} 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) {
|
|
|
|
|
if(!GroupflagForForm){
|
|
|
|
|
GroupflagForForm = true;
|
|
|
|
|
data = data.field;
|
|
|
|
|
data.params = params2;
|
|
|
|
|
if (data.gid === undefined) {
|
|
|
|
|
// 如果没有初始项
|
|
|
|
|
var dataKeys = Object.keys(data);
|
|
|
|
|
var dataKey;
|
|
|
|
|
for (let i = 0; i < dataKeys.length; i++) {
|
|
|
|
|
dataKey = dataKeys[i];
|
|
|
|
|
if (dataKey.includes("gid")) {
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
// 获取当前数字
|
|
|
|
|
var keyNumber = dataKey.split("gid")[1];
|
|
|
|
|
for (let index = 0; index < dataKeys.length; index++) {
|
|
|
|
|
var tempKey = dataKeys[index];
|
|
|
|
|
if (tempKey.includes(keyNumber)) {
|
|
|
|
|
var key = tempKey.replace(keyNumber, "");
|
|
|
|
|
data[key] = data[tempKey];
|
|
|
|
|
delete data[tempKey];
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
data.params = remove(data.params, Number(keyNumber));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$.ajax({
|
|
|
|
|
url: "/group/applicationOutForGroup",
|
|
|
|
|
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 (d) {
|
|
|
|
|
layer.close(this.layerIndex);
|
|
|
|
|
if (d.status >= 300) {
|
|
|
|
|
layer.msg(data.statusInfo.message,{icon:0,time:500},function () {
|
|
|
|
|
flagForForm = false;
|
|
|
|
|
});//失败的表情
|
|
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
layer.msg("申请提交成功", {
|
|
|
|
|
icon: 6,//成功的表情
|
|
|
|
|
time: 500 //1秒关闭(如果不配置,默认是3秒)
|
|
|
|
|
}, function () {
|
|
|
|
|
step.next('#stepForm2');
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
complete: function () {
|
|
|
|
|
layer.close(this.layerIndex);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
return false;
|
|
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
$('.pre').click(function () {
|
|
|
|
|
step.pre('#stepForm');
|
|
|
|
|
step.pre('#stepForm2');
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
$('.next').click(function () {
|
|
|
|
|
step.next('#stepForm');
|
|
|
|
|
step.next('#stepForm2');
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// 实现卡片添加
|
|
|
|
|
addItem = function (obj) {
|
|
|
|
|
// 获取父元素id
|
|
|
|
|
var parentId = obj.parentNode.id;
|
|
|
|
|
NewIdNumber = NewIdNumber + 1;
|
|
|
|
|
// 物料名称栏目
|
|
|
|
|
var materialItem = `
|
|
|
|
|
<div class="layui-card-body" 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" 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" 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" style="height: 40px;">物料编码:</label>
|
|
|
|
|
<div class="layui-input-block">
|
|
|
|
|
<div class="inputdiv">
|
|
|
|
|
<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="scanCodeByOut(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" + NewIdNumber + ` name=` + "barCode" + NewIdNumber + ` type="text" placeholder="请填写入条形编码"
|
|
|
|
|
value=""
|
|
|
|
|
class="layui-input"
|
|
|
|
|
style="border-style: none">
|
|
|
|
|
<img src="/static/images/search.ico" height="16" width="16" id=` + "barCodeImg" + NewIdNumber + `
|
|
|
|
|
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=` + "quantity" + NewIdNumber + ` type="number" placeholder="请填写入物料数量" value="" onblur="MaterialQuantityIsTrue(this)"
|
|
|
|
|
id=` + "quantity" + NewIdNumber + ` 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>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<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 + 422 + 'px');
|
|
|
|
|
$("#" + parentId).after(materialItem);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
// 实现卡片添加(组合)
|
|
|
|
|
addItemForGroup = function (obj) {
|
|
|
|
|
var parentId = obj.parentNode.id;
|
|
|
|
|
NewIdNumber = NewIdNumber + 1;
|
|
|
|
|
var materialItem = `
|
|
|
|
|
<div class="layui-card-body" id=` + "cardItemForGroup" + NewIdNumber + `>
|
|
|
|
|
<hr>
|
|
|
|
|
<i class="layui-icon layui-icon-subtraction" style="display: inline"
|
|
|
|
|
onclick="deleteItemForGroup(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=` + "openGroupList" + NewIdNumber + ` onblur="selectGroupByName(this)"
|
|
|
|
|
lay-verify="required"/>
|
|
|
|
|
<i class="layui-icon layui-icon-search"
|
|
|
|
|
style="display: inline"
|
|
|
|
|
id=` + "selectGroup" + NewIdNumber + ` onclick="selectGroup(this)"></i>
|
|
|
|
|
</div>
|
|
|
|
|
<input type="text" name=` + "gid" + NewIdNumber + ` class="layui-input" id=` + "gid" + NewIdNumber + `
|
|
|
|
|
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">
|
|
|
|
|
<div class="inputdiv">
|
|
|
|
|
<input id=` + "gcode" + ` name=` + "code" + NewIdNumber + ` type="text" placeholder="请填写入组合编码" value=""
|
|
|
|
|
onblur="selectCodeForGroup(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;display: none" onclick="scanCodeByOut(this)">
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="layui-form-item">
|
|
|
|
|
<label class="layui-form-label">组合数量:</label>
|
|
|
|
|
<div class="layui-input-block">
|
|
|
|
|
<input type="number" name=` + "quantity" + NewIdNumber + ` class="layui-input" id=` + "quantityForGroup" + NewIdNumber + `
|
|
|
|
|
required lay-verify="number" onblur="groupQuantityIsTrue(this)" placeholder="请填写组合数量"/>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<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" id=` + "addItemForGroup" + NewIdNumber + `
|
|
|
|
|
onclick="addItemForGroup(this)"></i>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
`;
|
|
|
|
|
// 获取当前高度
|
|
|
|
|
var height = parseInt(($("#stepForm2").css('height')).split("px")[0]);
|
|
|
|
|
params2.push(NewIdNumber);
|
|
|
|
|
$("#stepForm2").css("height", height + 289 + 'px');
|
|
|
|
|
$("#" + parentId).after(materialItem);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
// 用于重新渲染页面(组合)
|
|
|
|
|
CoverpageForGroup = function (num, obj) {
|
|
|
|
|
// 获取待添加父类
|
|
|
|
|
NewIdNumber = num;
|
|
|
|
|
if (num === 0) { // 如果是第一个
|
|
|
|
|
NewIdNumber = "";
|
|
|
|
|
}
|
|
|
|
|
var materialItem = `
|
|
|
|
|
<div class="layui-collapse">
|
|
|
|
|
<div class="layui-colla-item">
|
|
|
|
|
<h2 class="layui-colla-title"">${obj.mname}</h2>
|
|
|
|
|
<div class="layui-colla-content">
|
|
|
|
|
<div class="layui-form-item">
|
|
|
|
|
<label class="layui-form-label">物料编码:</label>
|
|
|
|
|
<div class="layui-input-block">
|
|
|
|
|
<input type="text" placeholder="请填写入物料编码" value="${obj.mcode}"
|
|
|
|
|
readonly
|
|
|
|
|
class="layui-input" required>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="layui-form-item">
|
|
|
|
|
<label class="layui-form-label">物料数量:</label>
|
|
|
|
|
<div class="layui-input-block">
|
|
|
|
|
<input type="number" placeholder="请填写入物料数量" value="${obj.quantity}"
|
|
|
|
|
readonly
|
|
|
|
|
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">
|
|
|
|
|
<input type="text" placeholder="请填写入物料型号" value="${obj.version === null ? '' : obj.version}"
|
|
|
|
|
readonly
|
|
|
|
|
class="layui-input" required>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="layui-form-item">
|
|
|
|
|
<label class="layui-form-label">物料类型:</label>
|
|
|
|
|
<div class="layui-input-block">
|
|
|
|
|
<input type="text" placeholder="请填写入物料类型" value="${obj.tname}"
|
|
|
|
|
readonly
|
|
|
|
|
class="layui-input" lay-verify="text" required>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="layui-form-item">
|
|
|
|
|
<label class="layui-form-label">计量单位:</label>
|
|
|
|
|
<div class="layui-input-block">
|
|
|
|
|
<input type="text" placeholder="请填写入物料计量单位" value="${obj.showUnit === null ? '' : obj.showUnit}"
|
|
|
|
|
readonly
|
|
|
|
|
class="layui-input" lay-verify="text" required>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
`; // 最终
|
|
|
|
|
|
|
|
|
|
// 获取当前高度
|
|
|
|
|
var height = parseInt(($("#stepForm2").css('height')).split("px")[0]);
|
|
|
|
|
$("#stepForm2").css("height", height + 183 + 'px');
|
|
|
|
|
$("#" + "addItemForGroup" + NewIdNumber).before(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 - 422 + 'px');
|
|
|
|
|
params = remove(params, parentId);
|
|
|
|
|
reparent.removeChild(parent);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
// 实现卡片删除(组合)
|
|
|
|
|
deleteItemForGroup = function (obj) {
|
|
|
|
|
// 获取父节点
|
|
|
|
|
var parent = obj.parentNode;
|
|
|
|
|
var parentId = parent.id;
|
|
|
|
|
parentId = parseInt(parentId.split("cardItemForGroup")[1]);
|
|
|
|
|
// 获取祖父节点
|
|
|
|
|
var reparent = parent.parentNode;
|
|
|
|
|
var height = parseInt(($("#stepForm2").css('height')).split("px")[0]);
|
|
|
|
|
$("#stepForm2").css("height", height - 289 + 'px');
|
|
|
|
|
params2 = remove(params2, 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.parentNode;
|
|
|
|
|
var objId = parent.id.split("cardItem")[1];
|
|
|
|
|
var children = parent.childNodes[5];
|
|
|
|
|
var materialItem = children.childNodes[3].childNodes[1].childNodes;
|
|
|
|
|
var barCodeChildren = parent.childNodes[9];
|
|
|
|
|
|
|
|
|
|
var materialName = materialItem[1];
|
|
|
|
|
var materialId = materialName.parentNode.parentNode.childNodes[3];
|
|
|
|
|
// 条形码条码
|
|
|
|
|
var barCodeItem = barCodeChildren.childNodes[3];
|
|
|
|
|
var req = {};
|
|
|
|
|
req.code = code;
|
|
|
|
|
req.type = "out";
|
|
|
|
|
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),
|
|
|
|
|
contentType: "application/json;charset=utf-8",
|
|
|
|
|
success: function (d) {
|
|
|
|
|
var d = d.data;
|
|
|
|
|
if (d == null) {
|
|
|
|
|
layer.msg("仓库中暂无该物料",{icon:5,time:500},function () {
|
|
|
|
|
materialName.value = "";
|
|
|
|
|
materialId.value = "";
|
|
|
|
|
obj.value = "";
|
|
|
|
|
$('#place' + objId).empty();
|
|
|
|
|
layer.close(loading2)
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
materialName.value = d.mname;
|
|
|
|
|
materialId.value = d.id;
|
|
|
|
|
var idNumber = materialId.name.split("mid")[1];
|
|
|
|
|
// 获取物料与条形码的对应关系
|
|
|
|
|
var materialAndBarCodeList = d["materialAndBarCodeList"];
|
|
|
|
|
var unit = $("#unit" + idNumber);
|
|
|
|
|
unit.empty();
|
|
|
|
|
$("#unit" + idNumber).append(new Option(d.baseUnit, "-1"));
|
|
|
|
|
var unitList = d["splitInfoList"];
|
|
|
|
|
for (let i = 0; i < unitList.length; i++) {
|
|
|
|
|
$("#unit" + idNumber).append(new Option(unitList[i].newUnit, unitList[i].newUnit));
|
|
|
|
|
}
|
|
|
|
|
form.render();
|
|
|
|
|
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();
|
|
|
|
|
layer.close(loading2)
|
|
|
|
|
} else {
|
|
|
|
|
var barCode = $("#barCode" + idNumber);
|
|
|
|
|
if (barCode.length > 0) {
|
|
|
|
|
barCode.empty();
|
|
|
|
|
}
|
|
|
|
|
layer.close(loading2)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
// 用于实现通过编码查询组合
|
|
|
|
|
selectCodeForGroup = function (obj) {
|
|
|
|
|
// 输入code
|
|
|
|
|
var code = obj.value;
|
|
|
|
|
// 获取搜索的对应卡片
|
|
|
|
|
var parent = obj.parentNode.parentNode.parentNode.parentNode;
|
|
|
|
|
var pid = Number(parent.id.split("cardItemForGroup")[1]);
|
|
|
|
|
|
|
|
|
|
// 获取当前卡片中的组合名称等
|
|
|
|
|
let gnameParent = parent.childNodes[5].childNodes[3];
|
|
|
|
|
|
|
|
|
|
// gid
|
|
|
|
|
let gidItem = gnameParent.childNodes[3];
|
|
|
|
|
// gname
|
|
|
|
|
let gnameItem = gnameParent.childNodes[1].childNodes[1];
|
|
|
|
|
let req = {};
|
|
|
|
|
req.code = code;
|
|
|
|
|
if (code !== "") {
|
|
|
|
|
let loading2 = layer.open({ type: 3, shade: [0.25, '#000'], icon: 2, speed: 0});
|
|
|
|
|
$.ajax({
|
|
|
|
|
url: "/group/findGroupByCode",
|
|
|
|
|
type: "post",
|
|
|
|
|
dataType: 'json',
|
|
|
|
|
data: JSON.stringify(req),
|
|
|
|
|
contentType: "application/json;charset=utf-8",
|
|
|
|
|
success: function (d) {
|
|
|
|
|
var data = d.data;
|
|
|
|
|
if (data === null) {
|
|
|
|
|
layer.msg(d.statusInfo.detail, {
|
|
|
|
|
icon: 0,
|
|
|
|
|
time: 1500
|
|
|
|
|
}, function () {
|
|
|
|
|
obj.value = '';
|
|
|
|
|
gidItem.value = '';
|
|
|
|
|
gnameItem.value = '';
|
|
|
|
|
let childNodes = parent.childNodes;
|
|
|
|
|
for (let i = 0; i < childNodes.length; i++) {
|
|
|
|
|
if (childNodes[i].className === "layui-collapse") {
|
|
|
|
|
childNodes[i].remove()
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
layer.close(loading2)
|
|
|
|
|
})
|
|
|
|
|
} else {
|
|
|
|
|
let childNodes = parent.childNodes;
|
|
|
|
|
if (childNodes.length > 9) {
|
|
|
|
|
for (let i = 0; i < childNodes.length; i++) {
|
|
|
|
|
if (childNodes[i].className === "layui-collapse") {
|
|
|
|
|
childNodes[i].remove()
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
layer.close(loading2)
|
|
|
|
|
}
|
|
|
|
|
// 赋值给gname
|
|
|
|
|
gnameItem.value = data[0].gname;
|
|
|
|
|
gidItem.value = data[0].gid;
|
|
|
|
|
for (let i = 0; i < data.length; i++) {
|
|
|
|
|
CoverpageForGroup(pid, data[i]);
|
|
|
|
|
}
|
|
|
|
|
element.init();
|
|
|
|
|
layer.close(loading2)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
// 用于实现点击搜索按钮
|
|
|
|
|
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[1].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;
|
|
|
|
|
var barCodeChildren = parent.childNodes[9];
|
|
|
|
|
// 条形码条码
|
|
|
|
|
var barCodeItem = barCodeChildren.childNodes[3];
|
|
|
|
|
|
|
|
|
|
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=2&clickObj=' + parentId,
|
|
|
|
|
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%');
|
|
|
|
|
},
|
|
|
|
|
end: function () {
|
|
|
|
|
let loading2 = layer.open({ type: 3, shade: [0.25, '#000'], icon: 2, speed: 0});
|
|
|
|
|
var mid = materialId.value;
|
|
|
|
|
if (mid !== '') {
|
|
|
|
|
$.ajax({
|
|
|
|
|
url: "/material/findMatrialById?mid=" + mid + "&type=out",
|
|
|
|
|
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;
|
|
|
|
|
var materialAndBarCodeList = material["materialAndBarCodeList"];
|
|
|
|
|
var idNumber = materialId.name.split("mid")[1];
|
|
|
|
|
var unit = $("#unit" + idNumber);
|
|
|
|
|
unit.empty();
|
|
|
|
|
$("#unit" + idNumber).append(new Option(material.baseUnit, "-1"));
|
|
|
|
|
var unitList = material["splitInfoList"];
|
|
|
|
|
for (let i = 0; i < unitList.length; i++) {
|
|
|
|
|
$("#unit" + idNumber).append(new Option(unitList[i].newUnit, unitList[i].newUnit));
|
|
|
|
|
}
|
|
|
|
|
form.render();
|
|
|
|
|
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();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
layer.close(loading2);
|
|
|
|
|
form.render();
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
// 用于实现点击搜索按钮(组合)
|
|
|
|
|
selectGroup = function (obj) {
|
|
|
|
|
var parent = obj.parentNode.parentNode.parentNode.parentNode;
|
|
|
|
|
var parentId = parent.id;
|
|
|
|
|
|
|
|
|
|
// 获取对应元素
|
|
|
|
|
var pid = Number(parent.id.split("cardItemForGroup")[1]);
|
|
|
|
|
|
|
|
|
|
// 获取当前卡片中的组合名称等
|
|
|
|
|
let gnameParent = parent.childNodes[5].childNodes[3];
|
|
|
|
|
|
|
|
|
|
// 组合编码
|
|
|
|
|
let gcodeItem = parent.childNodes[7].childNodes[3].childNodes[1].childNodes[1];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// gid
|
|
|
|
|
let gidItem = gnameParent.childNodes[3];
|
|
|
|
|
|
|
|
|
|
// gname
|
|
|
|
|
let gnameItem = gnameParent.childNodes[1].childNodes[1];
|
|
|
|
|
|
|
|
|
|
let gname = gnameItem.value;
|
|
|
|
|
layer.open({
|
|
|
|
|
type: 2,
|
|
|
|
|
title: '弹窗内容',
|
|
|
|
|
skin: 'layui-layer-rim',
|
|
|
|
|
maxmin: true,
|
|
|
|
|
shadeClose: true, //点击遮罩关闭层
|
|
|
|
|
area: ['70%', '70%'],
|
|
|
|
|
content: '/selectGroup?gname=' + gname + '&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 () {
|
|
|
|
|
let gid = gidItem.value;
|
|
|
|
|
if (gid !== '') {
|
|
|
|
|
let loading2 = layer.open({ type: 3, shade: [0.25, '#000'], icon: 2, speed: 0});
|
|
|
|
|
let req = {};
|
|
|
|
|
req.gid = gid;
|
|
|
|
|
$.ajax({
|
|
|
|
|
url: "/group/findGroupInfoByGid",
|
|
|
|
|
data: JSON.stringify(req),
|
|
|
|
|
type: 'post',
|
|
|
|
|
dataType: 'json',
|
|
|
|
|
contentType: "application/json;charset=utf-8",
|
|
|
|
|
success: function (d) {
|
|
|
|
|
var data = d.data;
|
|
|
|
|
if (data === null) {
|
|
|
|
|
layer.msg(d.statusInfo.detail, {
|
|
|
|
|
icon: 0,
|
|
|
|
|
time: 1500
|
|
|
|
|
}, function () {
|
|
|
|
|
obj.value = '';
|
|
|
|
|
gidItem.value = '';
|
|
|
|
|
gnameItem.value = '';
|
|
|
|
|
let childNodes = parent.childNodes;
|
|
|
|
|
for (let i = 0; i < childNodes.length; i++) {
|
|
|
|
|
if (childNodes[i].className === "layui-collapse") {
|
|
|
|
|
childNodes[i].remove()
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
layer.close(loading2)
|
|
|
|
|
})
|
|
|
|
|
} else {
|
|
|
|
|
let childNodes = parent.childNodes;
|
|
|
|
|
if (childNodes.length > 9) {
|
|
|
|
|
for (let i = 0; i < childNodes.length; i++) {
|
|
|
|
|
if (childNodes[i].className === "layui-collapse") {
|
|
|
|
|
childNodes[i].remove()
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
// 赋值给gname
|
|
|
|
|
gcodeItem.value = data[0].gcode;
|
|
|
|
|
for (let i = 0; i < data.length; i++) {
|
|
|
|
|
CoverpageForGroup(pid, data[i]);
|
|
|
|
|
}
|
|
|
|
|
element.init();
|
|
|
|
|
layer.close(loading2)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
// 用于实现组合名称搜索
|
|
|
|
|
selectGroupByName = function (obj) {
|
|
|
|
|
let gname = obj.value;
|
|
|
|
|
var parent = obj.parentNode.parentNode.parentNode.parentNode;
|
|
|
|
|
// 获取对应元素
|
|
|
|
|
var pid = Number(parent.id.split("cardItemForGroup")[1]);
|
|
|
|
|
|
|
|
|
|
// 获取当前卡片中的组合名称等
|
|
|
|
|
let gnameParent = parent.childNodes[5].childNodes[3];
|
|
|
|
|
|
|
|
|
|
// 组合编码
|
|
|
|
|
let gcodeItem = parent.childNodes[7].childNodes[3].childNodes[1].childNodes[1];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// gid
|
|
|
|
|
let gidItem = gnameParent.childNodes[3];
|
|
|
|
|
|
|
|
|
|
if (gname !== '') {
|
|
|
|
|
|
|
|
|
|
let loading2 = layer.open({ type: 3, shade: [0.25, '#000'], icon: 2, speed: 0});
|
|
|
|
|
var req = {};
|
|
|
|
|
req.gname = gname;
|
|
|
|
|
$.ajax({
|
|
|
|
|
url: "/group/findGroupByGname",
|
|
|
|
|
type: "post",
|
|
|
|
|
dataType: 'json',
|
|
|
|
|
data: JSON.stringify(req),
|
|
|
|
|
contentType: "application/json;charset=utf-8",
|
|
|
|
|
success: function (d) {
|
|
|
|
|
if (d.count === -1) {
|
|
|
|
|
// 如果当前组合名称的数量不止一个
|
|
|
|
|
layer.msg("请点击右侧搜索确定物品", {
|
|
|
|
|
icon: 0,
|
|
|
|
|
time: 1500
|
|
|
|
|
}, function () {
|
|
|
|
|
obj.value = '';
|
|
|
|
|
gidItem.value = '';
|
|
|
|
|
gcodeItem.value = '';
|
|
|
|
|
let childNodes = parent.childNodes;
|
|
|
|
|
for (let i = 0; i < childNodes.length; i++) {
|
|
|
|
|
if (childNodes[i].className === "layui-collapse") {
|
|
|
|
|
childNodes[i].remove()
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
layer.close(loading2);
|
|
|
|
|
});
|
|
|
|
|
} else if (d.count === 0) {
|
|
|
|
|
// 如果当前组合名称不存在
|
|
|
|
|
layer.msg("没有该组合,请确认输入是否正确", {
|
|
|
|
|
icon: 0,
|
|
|
|
|
time: 1500
|
|
|
|
|
}, function () {
|
|
|
|
|
obj.value = '';
|
|
|
|
|
gidItem.value = '';
|
|
|
|
|
gcodeItem.value = '';
|
|
|
|
|
let childNodes = parent.childNodes;
|
|
|
|
|
for (let i = 0; i < childNodes.length; i++) {
|
|
|
|
|
if (childNodes[i].className === "layui-collapse") {
|
|
|
|
|
childNodes[i].remove()
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
layer.close(loading2);
|
|
|
|
|
});
|
|
|
|
|
} else {
|
|
|
|
|
// 正常
|
|
|
|
|
let data = d.data;
|
|
|
|
|
let childNodes = parent.childNodes;
|
|
|
|
|
if (childNodes.length > 9) {
|
|
|
|
|
for (let i = 0; i < childNodes.length; i++) {
|
|
|
|
|
if (childNodes[i].className === "layui-collapse") {
|
|
|
|
|
childNodes[i].remove()
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
// 赋值给gname
|
|
|
|
|
gidItem.value = data[0].gid;
|
|
|
|
|
gcodeItem.value = data[0].gcode;
|
|
|
|
|
for (let i = 0; i < data.length; i++) {
|
|
|
|
|
CoverpageForGroup(pid, data[i]);
|
|
|
|
|
}
|
|
|
|
|
element.init();
|
|
|
|
|
layer.close(loading2);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
} else {
|
|
|
|
|
gcodeItem.value = '';
|
|
|
|
|
gidItem.value = '';
|
|
|
|
|
let childNodes = parent.childNodes;
|
|
|
|
|
for (let i = 0; i < childNodes.length; i++) {
|
|
|
|
|
if (childNodes[i].className === "layui-collapse") {
|
|
|
|
|
childNodes[i].remove()
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
layer.close(loading2);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
//用于实现物料名称搜索
|
|
|
|
|
selectMaterialByName = function (obj) {
|
|
|
|
|
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[1].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 barCodeChildren = parent.childNodes[9];
|
|
|
|
|
// 条形码条码
|
|
|
|
|
var barCodeItem = barCodeChildren.childNodes[3];
|
|
|
|
|
var req = {};
|
|
|
|
|
data = data.split(",")[0];
|
|
|
|
|
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),
|
|
|
|
|
contentType: "application/json;charset=utf-8",
|
|
|
|
|
success: function (d) {
|
|
|
|
|
if (d.count > 1) {
|
|
|
|
|
layer.msg("请点击右侧搜索确定物品",{icon:0,time:500},function () {
|
|
|
|
|
layer.close(loading2);
|
|
|
|
|
materialId.value = "";
|
|
|
|
|
codeValue.value = "";
|
|
|
|
|
});
|
|
|
|
|
return false;
|
|
|
|
|
} else if (d.count === 0) {
|
|
|
|
|
layer.msg("没有该物品,请确认输入是否正确",{icon:5,time:500},function() {
|
|
|
|
|
materialId.value = "";
|
|
|
|
|
codeValue.value = "";
|
|
|
|
|
materialName.value = "";
|
|
|
|
|
layer.close(loading2);
|
|
|
|
|
});
|
|
|
|
|
return false;
|
|
|
|
|
} 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) {
|
|
|
|
|
for (let i = 0; i < unitList.length; i++) {
|
|
|
|
|
$("#unit" + idNumber).append(new Option(unitList[i].newUnit, unitList[i].newUnit));
|
|
|
|
|
}
|
|
|
|
|
form.render();
|
|
|
|
|
}
|
|
|
|
|
var materialAndBarCodeList = material["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();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
materialName.value = material.mname;
|
|
|
|
|
materialId.value = material.id;
|
|
|
|
|
codeValue.value = material.code;
|
|
|
|
|
layer.close(loading2);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
// 扫描物料条码
|
|
|
|
|
scanBarCode = function (obj) {
|
|
|
|
|
let wxScan = parent;
|
|
|
|
|
|
|
|
|
|
if (wxScan.wx === undefined) {
|
|
|
|
|
wxScan = wxScan.parent.wx;
|
|
|
|
|
} else {
|
|
|
|
|
wxScan = wxScan.wx;
|
|
|
|
|
}
|
|
|
|
|
wxScan.scanQRCode({
|
|
|
|
|
desc: 'scanQRCode desc',
|
|
|
|
|
needResult: 1, // 默认为0,扫描结果由企业微信处理,1则直接返回扫描结果,
|
|
|
|
|
scanType: ["barCode"], // 可以指定扫二维码还是条形码(一维码),默认二者都有
|
|
|
|
|
success: function (res) {
|
|
|
|
|
// 回调
|
|
|
|
|
var result = res.resultStr;//当needResult为1时返回处理结果
|
|
|
|
|
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",
|
|
|
|
|
dataType: 'json',
|
|
|
|
|
data: JSON.stringify(req),
|
|
|
|
|
contentType: "application/json;charset=utf-8",
|
|
|
|
|
success: function (d) {
|
|
|
|
|
// 获取对应元素
|
|
|
|
|
var parent = obj.parentNode.parentNode.parentNode.parentNode;
|
|
|
|
|
|
|
|
|
|
var MaterialChildren = parent.childNodes[5];
|
|
|
|
|
var materialItem = MaterialChildren.childNodes[3].childNodes[1].childNodes;
|
|
|
|
|
|
|
|
|
|
var barCodeChildren = parent.childNodes[9];
|
|
|
|
|
|
|
|
|
|
var materialName = materialItem[1];
|
|
|
|
|
var materialId = materialName.parentNode.parentNode.childNodes[3];
|
|
|
|
|
// 条形码条码
|
|
|
|
|
var barCodeItem = barCodeChildren.childNodes[3];
|
|
|
|
|
// 物料编码
|
|
|
|
|
var materialCodeItem = parent.childNodes[7].childNodes[3].childNodes[1].childNodes;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var materialCode = materialCodeItem[1];
|
|
|
|
|
|
|
|
|
|
var data = d.data;
|
|
|
|
|
if (data !== null) {
|
|
|
|
|
materialName.value = data.mname;
|
|
|
|
|
materialId.value = data.iid;
|
|
|
|
|
materialCode.value = data.mcode;
|
|
|
|
|
var barCodeInput = barCodeItem.childNodes[1].childNodes[1];
|
|
|
|
|
barCodeInput.value = result;
|
|
|
|
|
var idNumber = materialId.name.split("mid")[1];
|
|
|
|
|
var unit = $("#unit" + idNumber);
|
|
|
|
|
unit.empty();
|
|
|
|
|
$("#unit" + idNumber).append(new Option(data.unit, "-1"));
|
|
|
|
|
var unitList = data["splitInfoList"];
|
|
|
|
|
for (let i = 0; i < unitList.length; i++) {
|
|
|
|
|
$("#unit" + idNumber).append(new Option(unitList[i].newUnit, unitList[i].newUnit));
|
|
|
|
|
}
|
|
|
|
|
form.render();
|
|
|
|
|
layer.close(loading2);
|
|
|
|
|
} else {
|
|
|
|
|
// 如果没有对应关系
|
|
|
|
|
layer.msg("对于编码:" + result + ",并未发现仓库中存在对应的物料", {
|
|
|
|
|
icon: 0,
|
|
|
|
|
time: 1000 //0.5秒关闭(如果不配置,默认是3秒)
|
|
|
|
|
}, function () {
|
|
|
|
|
layer.close(loading2);
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
// 用于扫码功能
|
|
|
|
|
scanCodeByOut = function (obj) {
|
|
|
|
|
let wxScan = parent;
|
|
|
|
|
|
|
|
|
|
if (wxScan.wx === undefined) {
|
|
|
|
|
wxScan = wxScan.parent.wx;
|
|
|
|
|
} else {
|
|
|
|
|
wxScan = wxScan.wx;
|
|
|
|
|
}
|
|
|
|
|
wxScan.scanQRCode({
|
|
|
|
|
desc: 'scanQRCode desc',
|
|
|
|
|
needResult: 1, // 默认为0,扫描结果由企业微信处理,1则直接返回扫描结果,
|
|
|
|
|
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",
|
|
|
|
|
dataType: 'json',
|
|
|
|
|
data: JSON.stringify(req),
|
|
|
|
|
contentType: "application/json;charset=utf-8",
|
|
|
|
|
success: function (d) {
|
|
|
|
|
var data = d.data;
|
|
|
|
|
if (data === null) {
|
|
|
|
|
layer.msg("对于编码:" + result + ",并未发现仓库中存在对应的物料", {
|
|
|
|
|
icon: 0,
|
|
|
|
|
time: 1000 //0.5秒关闭(如果不配置,默认是3秒)
|
|
|
|
|
}, function () {
|
|
|
|
|
layer.close(loading2);
|
|
|
|
|
})
|
|
|
|
|
} else {
|
|
|
|
|
// 获取对应元素
|
|
|
|
|
var parent = obj.parentNode.parentNode.parentNode.parentNode;
|
|
|
|
|
var MaterialChildren = parent.childNodes[5];
|
|
|
|
|
var materialItem = MaterialChildren.childNodes[3].childNodes[1].childNodes;
|
|
|
|
|
|
|
|
|
|
var barCodeChildren = parent.childNodes[9];
|
|
|
|
|
|
|
|
|
|
var materialName = materialItem[1];
|
|
|
|
|
var materialId = materialName.parentNode.parentNode.childNodes[3];
|
|
|
|
|
// 条形码条码
|
|
|
|
|
var barCodeItem = barCodeChildren.childNodes[3];
|
|
|
|
|
// 物料编码
|
|
|
|
|
var materialCodeItem = parent.childNodes[7].childNodes[3].childNodes[1].childNodes;
|
|
|
|
|
|
|
|
|
|
var materialCode = materialCodeItem[1];
|
|
|
|
|
|
|
|
|
|
var idNumber = materialId.name.split("mid")[1];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 获取物料与条形码的对应关系
|
|
|
|
|
var materialAndBarCodeList = data["materialAndBarCodeList"];
|
|
|
|
|
var barCode = $("#barCode" + idNumber);
|
|
|
|
|
if (barCode.length > 0) {
|
|
|
|
|
barCode.empty();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
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();
|
|
|
|
|
}
|
|
|
|
|
$('#place' + idNumber).empty();
|
|
|
|
|
$.each(data.placePList, function (index, item) {
|
|
|
|
|
$('#place' + idNumber).append(new Option(item.depositoryName + "-" + item.code, item.id));//往下拉菜单里添加元素
|
|
|
|
|
});
|
|
|
|
|
$("#unit" + idNumber).empty();
|
|
|
|
|
$("#unit" + idNumber).append(new Option(data.baseUnit, "-1"));
|
|
|
|
|
$.each(data.splitInfoList, function (index, item) {
|
|
|
|
|
$("#unit" + idNumber).append(new Option(item.newUnit, item.newUnit));
|
|
|
|
|
});
|
|
|
|
|
form.render();
|
|
|
|
|
materialName.value = data.mname;
|
|
|
|
|
materialId.value = data.id;
|
|
|
|
|
materialCode.value = data.code;
|
|
|
|
|
layer.close(loading2);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
//用于判断当前物料数量是否合适
|
|
|
|
|
MaterialQuantityIsTrue = function (obj) {
|
|
|
|
|
var id = obj.id.split("quantity")[1];
|
|
|
|
|
var mcode = $("#code" + id).val(); // 获取到当前输入的物料编码
|
|
|
|
|
var unit = $("#unit" + id).val();
|
|
|
|
|
if (mcode === "" || mcode === undefined || mcode === null) {
|
|
|
|
|
layer.msg("请输入物料的正确编码!", {icon: 0, time: 500}, function () {
|
|
|
|
|
$("#quantity" + id).val("")
|
|
|
|
|
});
|
|
|
|
|
} else {
|
|
|
|
|
let val = $("#quantity" + id).val();
|
|
|
|
|
if (val !== null && val !== undefined && val !== '') {
|
|
|
|
|
var req = {};
|
|
|
|
|
req.mcode = mcode;
|
|
|
|
|
req.quantity = val;
|
|
|
|
|
req.unit = unit;
|
|
|
|
|
req.placeId = -1;
|
|
|
|
|
let loading2 = layer.open({type: 3, shade: [0.25, '#000'], icon: 2, speed: 0});
|
|
|
|
|
$.ajax({
|
|
|
|
|
url: "/material/MaterialQuantityIsTrue",
|
|
|
|
|
type: "post",
|
|
|
|
|
data: JSON.stringify(req),
|
|
|
|
|
dataType: 'json',
|
|
|
|
|
contentType: "application/json;charset=utf-8",
|
|
|
|
|
success: function (res) {
|
|
|
|
|
var flag = res.data;
|
|
|
|
|
if (!flag) { // 如果当前数目不合适
|
|
|
|
|
layer.msg("当前单个仓库中物料数量不足", {icon: 0, time: 500}, function () {
|
|
|
|
|
$("#quantity" + id).val("");
|
|
|
|
|
layer.close(loading2);
|
|
|
|
|
});
|
|
|
|
|
} else {
|
|
|
|
|
layer.close(loading2);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
//用于判断当前组合数量是否合适
|
|
|
|
|
groupQuantityIsTrue = function (obj) {
|
|
|
|
|
var id = obj.id.split("quantityForGroup")[1];
|
|
|
|
|
var gid = $("#gid" + id).val(); // 获取到当前输入的物料编码
|
|
|
|
|
if (gid === "" || gid === undefined || gid === null) {
|
|
|
|
|
layer.msg("请输入正确的组合!", {icon: 0, time: 500}, function () {
|
|
|
|
|
$("#quantityForGroup" + id).val("")
|
|
|
|
|
});
|
|
|
|
|
} else {
|
|
|
|
|
let val = $("#quantityForGroup" + id).val();
|
|
|
|
|
if (val !== null && val !== undefined && val !== '') {
|
|
|
|
|
var req = {};
|
|
|
|
|
req.gid = gid;
|
|
|
|
|
req.quantity = val;
|
|
|
|
|
let loading2 = layer.open({ type: 3, shade: [0.25, '#000'], icon: 2, speed: 0});
|
|
|
|
|
$.ajax({
|
|
|
|
|
url: "/group/groupQuantityIsTrue",
|
|
|
|
|
type: "post",
|
|
|
|
|
data: JSON.stringify(req),
|
|
|
|
|
dataType: 'json',
|
|
|
|
|
contentType: "application/json;charset=utf-8",
|
|
|
|
|
success: function (res) {
|
|
|
|
|
|
|
|
|
|
var flag = res.data;
|
|
|
|
|
if (!flag) { // 如果当前数目不合适
|
|
|
|
|
layer.msg("当前组合中" + res.statusInfo.message + "的库存数量不足", {
|
|
|
|
|
icon: 0,
|
|
|
|
|
time: 1000
|
|
|
|
|
}, function () {
|
|
|
|
|
layer.close(loading2);
|
|
|
|
|
$("#quantityForGroup" + id).val("");
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
}else{
|
|
|
|
|
layer.close(loading2);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
form.on('select()', function (data) {
|
|
|
|
|
let unit = data.value;
|
|
|
|
|
let id = data.elem.id;
|
|
|
|
|
let idNum = id.split("unit")[1];
|
|
|
|
|
let mcode = $("#code" + idNum).val();
|
|
|
|
|
if (mcode === "" || mcode === undefined || mcode === null) {
|
|
|
|
|
layer.msg("请输入物料的正确编码!", {icon: 0, time: 500}, function () {
|
|
|
|
|
$("#quantity" + idNum).val("")
|
|
|
|
|
});
|
|
|
|
|
} else {
|
|
|
|
|
let val = $("#quantity" + idNum).val();
|
|
|
|
|
if (val !== null && val !== undefined && val !== '') {
|
|
|
|
|
var req = {};
|
|
|
|
|
req.mcode = mcode;
|
|
|
|
|
req.quantity = val;
|
|
|
|
|
req.unit = unit;
|
|
|
|
|
req.placeId = -1;
|
|
|
|
|
let loading2 = layer.open({type: 3, shade: [0.25, '#000'], icon: 2, speed: 0});
|
|
|
|
|
$.ajax({
|
|
|
|
|
url: "/material/MaterialQuantityIsTrue",
|
|
|
|
|
type: "post",
|
|
|
|
|
data: JSON.stringify(req),
|
|
|
|
|
dataType: 'json',
|
|
|
|
|
contentType: "application/json;charset=utf-8",
|
|
|
|
|
success: function (res) {
|
|
|
|
|
var flag = res.data;
|
|
|
|
|
if (!flag) { // 如果当前数目不合适
|
|
|
|
|
layer.msg("当前单个仓库中物料数量不足", {icon: 0, time: 500}, function () {
|
|
|
|
|
layer.close(loading2);
|
|
|
|
|
$("#quantity" + idNum).val("");
|
|
|
|
|
},
|
|
|
|
|
);
|
|
|
|
|
} else {
|
|
|
|
|
layer.close(loading2)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
})
|
|
|
|
|
</script>
|
|
|
|
|
</body>
|
|
|
|
|
</html>
|