From b4a8d50e3d97fc9e893b554a60134e4eceb012eb Mon Sep 17 00:00:00 2001
From: zhou zhou <3272660260@qq.com>
Date: 星期一, 05 一月 2026 08:58:08 +0800
Subject: [PATCH] #
---
src/main/webapp/views/pda/locNormalIn.html | 536 ++++++++++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 468 insertions(+), 68 deletions(-)
diff --git a/src/main/webapp/views/pda/locNormalIn.html b/src/main/webapp/views/pda/locNormalIn.html
index f91e840..d6e14db 100644
--- a/src/main/webapp/views/pda/locNormalIn.html
+++ b/src/main/webapp/views/pda/locNormalIn.html
@@ -1,55 +1,188 @@
<!DOCTYPE html>
<html lang="en">
+
<head>
<meta charset="UTF-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" />
<title>骞充粨鍏ュ簱</title>
<link rel="stylesheet" href="../../static/layui/css/layui.css" media="all">
<link rel="stylesheet" href="../../static/css/pda.css" media="all">
+
<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script>
<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script>
<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script>
<script type="text/javascript" src="../../static/js/handlebars/handlebars-v4.5.3.js"></script>
<style>
+ .number-tool {
+ margin-left: 10px;
+ padding: 1px 0 1px 5px;
+ display: inline-block;
+ width: 120px;
+ }
+ .number-tool:after {
+ clear: both;
+ content: "";
+ display: table;
+ }
+
+ .number-tool button {
+ background-color: #fff;
+ margin-top: 3px;
+ font-size: 16px;
+ height: 25px;
+ float: left;
+ width: 25px;
+ border: 1px solid #777777;
+ }
+
+ .number-tool input {
+ text-align: center;
+ height: 30px;
+ float: left;
+ margin: 0 5px;
+ width: 50px;
+ padding: 0;
+ }
+
+ #confirm {
+ margin: 10px 10px;
+ padding: 5px 20px;
+ font-weight: 600;
+ }
+
+ #remove {
+ margin: 10px 10px;
+ padding: 5px 20px;
+ color: darkred;
+ }
+
+ .form-box span {
+ font-size: 16px;
+ display: inline-block;
+ text-align: right;
+ }
+
+ .form-box input {
+ width: 165px;
+ padding-left: 5px;
+ height: 30px;
+ border: 1px solid #777777;
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ }
</style>
</head>
+
<body>
-<!-- 澶撮儴 -->
-<header>
- <div>
- <div class="layui-input-inline">
- <label class="layui-form-label">搴撳尯</label>
- <input class="layui-input" type="number" id="warehouse" onkeyup="findCode(this)" placeholder="鎵爜 / 杈撳叆"
- autocomplete="off">
+ <!-- 澶撮儴 -->
+ <header class="layui-form">
+ <div>
+ <div class="layui-input-inline">
+ <label class="layui-form-label">鍗曞彿</label>
+ <div class="layui-input-inline" style="width: 175px">
+ <input id="billNo" class="layui-input" autocomplete="off" oninput="find(this)">
+ </div>
+ </div>
</div>
- </div>
+ <div>
+ <div class="layui-input-inline">
+ <label class="layui-form-label">搴撳尯</label>
+ <div class="layui-input-inline" style="width: 175px">
+ <select id="uuid">
+ <option value="">璇烽�夋嫨</option>
+ </select>
+ </div>
+ </div>
+ </div>
- <div style="margin: 5px 5px">
- <button id="mat-btn" type="button" class="layui-btn layui-btn-normal" onclick="getMat()"><i
- class="layui-icon">+</i>鎻愬彇
- </button>
- </div>
-</header>
+ <!--<div style="margin: 5px 5px">-->
+ <!--<button id="mat-btn" type="button" class="layui-btn layui-btn-normal" onclick="getMat()"><i-->
+ <!-- class="layui-icon">+</i>鎻愬彇-->
+ <!--</button>-->
+ <!--</div>-->
+ </header>
+ <!-- 涓讳綋 -->
+ <main>
+ <div class="layui-btn-group demoTable">
+ <div class="layui-inline">
+ <input class="layui-input" name="id" id="demoReload" autocomplete="off" placeholder="鐢熶骇鍗曞彿">
+ </div>
+ <button class="layui-btn" data-type="reload">鎼滅储</button>
+ <button class="layui-btn" data-type="getCheckData">鎻愬彇</button>
+ </div>
+ <table class="layui-table" id="chooseData" lay-filter="chooseData"></table>
+ </main>
-<!-- 涓讳綋 -->
-<main>
- <table class="layui-table" id="chooseData" lay-filter="chooseData"></table>
-</main>
-<!-- 灏鹃儴 -->
-<footer>
- <div class="layui-btn-container">
- <button type="button" id="reset-btn" class="layui-btn layui-btn-primary" onclick="reset()">閲嶇疆</button>
- <button type="button" id="comb-btn" class="layui-btn layui-btn-normal " onclick="comb()"
- style="margin-left: 20px">缁勬墭
- </button>
- <button type="button" id="retrun-btn" class="layui-btn layui-btn-primary " onclick="back()"
+ <!-- 灏鹃儴 -->
+ <footer>
+ <div class="layui-btn-container">
+ <button type="button" id="reset-btn" class="layui-btn layui-btn-primary" onclick="reset()">閲嶇疆</button>
+ <button type="button" id="comb-btn" class="layui-btn layui-btn-normal " onclick="comb()"
+ style="margin-left: 20px">鍏ュ簱
+ </button>
+ <button type="button" id="retrun-btn" class="layui-btn layui-btn-primary " onclick="back()"
style="margin-left: 20px">杩斿洖
- </button>
- <span id="tips"></span>
+ </button>
+ <span id="tips"></span>
+ </div>
+ </footer>
+
+ <!-- 淇敼鏁伴噺寮圭獥 -->
+ <div id="modify" style="display: none; text-align: center;padding-top: 10px">
+ <div class="form-box">
+ <div class="form-item">
+ <table style="display: none">
+ <tr>
+ <td>
+ <span style="width: 35px; margin-right: 5px">鐗╂枡</span>
+ </td>
+ <td style="text-align: left">
+ <input id="matNo" type="text" disabled="disabled">
+ </td>
+ </tr>
+ </table>
+ </div>
+ <div class="form-item">
+ <table style="display: inline">
+ <tr>
+ <td style="vertical-align: top">
+ <span style="width: 35px; margin-right: 5px">鍚嶇О</span>
+ </td>
+ <td style="text-align: left">
+ <textarea rows="2" style="resize: none; width: 165px" id="matName" type="text"
+ disabled="disabled" readonly="readonly"></textarea>
+ </td>
+ </tr>
+ </table>
+ </div>
+ <div class="form-item">
+ <table style="display: inline">
+ <tr>
+ <td>
+ <span style="width: 35px; margin-right: 5px">鍗曞彿</span>
+ </td>
+ <td style="text-align: left">
+ <input id="mnemonic" type="text" disabled="disabled">
+ </td>
+ </tr>
+ </table>
+ </div>
+ </div>
+ <div class="form-item" style="margin-top: 5px">
+ <span style="vertical-align: middle">鏁伴噺</span>
+ <div class="number-tool" style="vertical-align: middle">
+ <button onclick="reduce()">-</button>
+ <input id="count" type="number">
+ <button onclick="add()">+</button>
+ </div>
+ </div>
+ <button id="remove" onclick="remove()">绉婚櫎</button>
+ <button id="confirm" onclick="confirm()">淇濆瓨</button>
</div>
-</footer>
+
</body>
<script>
var tableIns;
@@ -59,31 +192,160 @@
var layer = layui.layer;
var form = layui.form;
+ var $$ = layui.$, active = {
+ getCheckData: function () { //鑾峰彇閫変腑鏁版嵁
+ var checkStatus = table.checkStatus('chooseData')
+ , data = checkStatus.data;
+ matData = data
+ tableIns.reload({ data: matData });
+ },
+ reload: function () {
+ findMata();
+ }
+ };
+ $$('.demoTable .layui-btn').on('click', function () {
+ var type = $(this).data('type');
+ active[type] ? active[type].call(this) : '';
+ });
+ document.getElementById("billNo").focus();
+
tableIns = table.render({
elem: '#chooseData',
data: [],
+ width: 320,
limit: 500,
cellMinWidth: 50,
cols: [[
- {fixed: 'left', align: 'center', field: 'count', title: '鏁伴噺', style: 'color: blue', width: 50},
- {field: 'matNo', align: 'center', title: '鐗╂枡缂栫爜'},
- {field: 'matName', align: 'center', title: '鐗╂枡鍚嶇О'}
+ { type: 'checkbox' },
+ { field: 'matNo', align: 'center', title: '鐗╂枡缂栫爜', event: 'modify' },
+ { field: 'mnemonic', align: 'center', title: '鐢熶骇鍗曞彿', event: 'modify' },
+ { field: 'count', align: 'center', title: '鏁伴噺', style: 'color: blue', width: 50, event: 'modify' },
+ { field: 'matName', align: 'center', title: '鐗╂枡鍚嶇О', event: 'modify' },
]],
done: function (res, curr, count) {
}
});
+ // 鐩戝惉琛屽伐鍏蜂簨浠�
+ table.on('tool(chooseData)', function (obj) {
+ var data = obj.data;
+ switch (obj.event) {
+ case 'modify':
+ countLayer = layer.open({
+ type: 1,
+ offset: '20px',
+ title: '淇敼鏁伴噺',
+ shadeClose: true,
+ area: ['80%', '300px'],
+ content: $("#modify"),
+ success: function (layero, index) {
+ $('#matNo').val(data.matNo);
+ $('#matName').val(data.matName);
+ $('#count').val(data.count);
+ $('#mnemonic').val(data.mnemonic);
+ maxCount = data.count;
+ }
+ });
+ break;
+ }
+ });
+
+
+ var areaType = getQueryVariable('areaType');
+ // 鑾峰彇浠撳簱涓嬫媺
+ $.ajax({
+ url: baseUrl + "/locArea/queryAll/auth?areaType=" + (areaType ? areaType : ""),
+ headers: { 'token': localStorage.getItem('token') },
+ method: 'POST',
+ success: function (res) {
+ if (res.code === 200) {
+ var html = "";
+ if (res.data && res.data.length > 0) {
+ html += res.data.map(function (item) {
+ return "<Option value=" + item.uuid + ">" + item.name + "</Option>";
+ });
+ }
+ $('#uuid').append(html);
+ layui.form.render('select');
+ } else if (res.code === 403) {
+ top.location.href = baseUrl + "/pda";
+ } else {
+ layer.msg(res.msg)
+ }
+ }
+ });
});
- window.onload = function () {
- document.getElementById("warehouse").focus();
+
+ /************************************* 鏁伴噺 ****************************************/
+ var countDom = $('#count');
+ var minCount = 1;
+ var maxCount = 1;
+ function add() {
+ if (countDom.val() >= maxCount) {
+ return;
+ }
+ countDom.val(Number(countDom.val()) + 1);
}
- function findCode(el) {
- if (el.value.length === 7) {
- $('#mat-btn').focus();
- getMat();
+ function reduce() {
+ if (countDom.val() <= minCount) {
+ return;
}
+ countDom.val(countDom.val() - 1);
+ }
+
+ // 淇敼鏁伴噺
+ function confirm() {
+ var matNo = $('#matNo').val();
+ var count = $('#count').val();
+ if (count > maxCount) {
+ alert("鏁伴噺涓嶈兘瓒呰繃" + maxCount);
+ return;
+ }
+ if (count < minCount) {
+ alert("鏁伴噺涓嶈兘浣庝簬" + minCount);
+ return;
+ }
+ var mnemonic = $("#mnemonic").val() === '' ? null : $("#mnemonic").val();
+ for (var j = 0; j < matData.length; j++) {
+ if (mnemonic) {
+ if (matNo === matData[j].matNo && mnemonic === matData[j].mnemonic) {
+ matData[j].count = Number(count);
+ }
+ } else {
+ if (matNo === matData[j].matNo) {
+ matData[j].count = Number(count);
+ }
+ }
+ }
+ tableIns.reload({ data: matData });
+ layer.close(countLayer);
+ tips("淇敼鎴愬姛");
+ }
+
+ function remove() {
+ var matnr = $('#matNo').val();
+ var index = $('#index').val();
+ var mnemonic = $("#mnemonic").val() === '' ? null : $("#mnemonic").val();
+ for (var j = 0; j < matData.length; j++) {
+ if (mnemonic) {
+ if (matnr === matData[j].matNo && mnemonic === matData[j].mnemonic) {
+ matData.splice(j, 1);
+ }
+ } else {
+ if (matnr === matData[j].matNo) {
+ matData.splice(j, 1);
+ }
+ }
+ }
+ tableIns.reload({ data: matData });
+ layer.close(countLayer);
+ tips("绉婚櫎鎴愬姛");
+ }
+
+ window.onload = function () {
+ document.getElementById("uuid").focus();
}
var matCodeLayerIdx;
@@ -93,7 +355,7 @@
type: 2,
title: '鎻愬彇鐗╂枡',
shade: [0.3, '#000'],
- area: ['90%', '80%'],
+ area: ['90%', '90%'],
content: 'matQuery.html',
success: function (layero, index) {
$('.layui-layer-title').css('font-size', '16px');
@@ -123,26 +385,32 @@
matData.push(data);
}
tips("鎻愬彇鎴愬姛");
- tableIns.reload({data: matData});
+ tableIns.reload({ data: matData });
}
- // 閲嶇疆
- function reset() {
- $('#warehouse').val("");
- matData = [];
- tableIns.reload({data: matData});
- }
+ // 缁勬墭 - 闃叉姈閿�
+ var isCombLocked = false;
// 缁勬墭
function comb() {
- let barcode = $('#warehouse').val();
+ // 闃叉姈妫�鏌�
+ if (isCombLocked) {
+ tips("鎿嶄綔涓紝璇风◢鍊�...", true);
+ return;
+ }
+ isCombLocked = true;
+
+ let barcode = $('#uuid').val();
+ console.log('barcode', barcode);
if (isEmpty(barcode)) {
- tips("搴撳尯鏉$爜涓虹┖", true);
- document.getElementById("warehouse").focus();
+ tips("璇烽�夋嫨搴撳尯", true);
+ document.getElementById("uuid").focus();
+ isCombLocked = false;
return;
}
if (matData.length === 0) {
tips("璇锋彁鍙栫墿鏂�", true);
+ isCombLocked = false;
return;
}
@@ -154,32 +422,155 @@
maktx: item.matName,
anfme: item.count,
warehouse: barcode,
+ mnemonic: item.mnemonic,
+ supplier: item.supplier,
+ lgnum: item.lgnum,
+ type: item.type,
+ altme: item.altme,
});
});
// 璇锋眰淇濆瓨鎺ュ彛
+ var areaType = getQueryVariable('areaType');
+ if (areaType == 1) {
+ $.ajax({
+ url: baseUrl + "/locNormal/in/source",
+ headers: { 'token': localStorage.getItem('token') },
+ data: JSON.stringify({
+ normalList: data,
+ }),
+ contentType: 'application/json;charset=UTF-8',
+ method: 'POST',
+ async: false,
+ success: function (res) {
+ if (res.code === 200) {
+ reset(true);
+ tips("缁勬墭鎴愬姛")
+ } else if (res.code === 403) {
+ top.location.href = baseUrl + "/pda";
+ } else {
+ tips(res.msg, true)
+ }
+ // 寤惰繜瑙i攣闃叉姈
+ setTimeout(function () { isCombLocked = false; }, 500);
+ },
+ error: function () {
+ tips("璇锋眰澶辫触", true);
+ isCombLocked = false;
+ }
+ });
+ } else {
+ $.ajax({
+ url: baseUrl + "/locNormal/pda/in",
+ headers: { 'token': localStorage.getItem('token') },
+ data: JSON.stringify({
+ normalList: data,
+ }),
+ contentType: 'application/json;charset=UTF-8',
+ method: 'POST',
+ async: false,
+ success: function (res) {
+ if (res.code === 200) {
+ reset(true);
+ tips("缁勬墭鎴愬姛")
+ } else if (res.code === 403) {
+ top.location.href = baseUrl + "/pda";
+ } else {
+ tips(res.msg, true)
+ }
+ // 寤惰繜瑙i攣闃叉姈
+ setTimeout(function () { isCombLocked = false; }, 500);
+ },
+ error: function () {
+ tips("璇锋眰澶辫触", true);
+ isCombLocked = false;
+ }
+ });
+ }
+ }
+
+ /**
+ * 鏍规嵁閫氱煡鍗曞彿鏌ヨ鐗╂枡璇︽儏
+ */
+ function find(el) {
+ var billNo = el.value;
+ if (isEmpty(billNo)) {
+ return;
+ }
+ if (billNo.indexOf('=') > -1) {
+ billNo = billNo.split(",")[0].split("=")[1];
+ }
+ // 璧嬪�煎墠娓呯┖琛ㄦ牸
+ matData = [];
+ tableIns.reload({ data: matData });
+
$.ajax({
- url: baseUrl + "/locNormal/pda/in",
- headers: {'token': localStorage.getItem('token')},
- data: JSON.stringify({
- normalList: data,
- }),
- contentType: 'application/json;charset=UTF-8',
+ url: baseUrl + "/mobile/bill/query/auth",
+ headers: { 'token': localStorage.getItem('token') },
+ data: {
+ billNo: billNo,
+ mnemonic: '',
+ },
method: 'POST',
- async: false,
success: function (res) {
if (res.code === 200) {
- reset();
- tips("缁勬墭鎴愬姛")
+ if (res.data != null) {
+ console.log('鍗曞彿鏁版嵁', res.data);
+ var data = res.data;
+ if (data.length > 0) {
+ for (var i = 0; i < data.length; i++) {
+ addTableData(data[i]);
+ }
+ }
+ }
} else if (res.code === 403) {
top.location.href = baseUrl + "/pda";
} else {
tips(res.msg, true)
}
- },
+ }
});
-
-
+ }
+ function findMata() {
+ var billNo = $('#billNo').val()
+ if (isEmpty(billNo)) {
+ return;
+ }
+ if (billNo.indexOf('=') > -1) {
+ billNo = billNo.split(",")[0].split("=")[1];
+ }
+ var mnemonic = $('#demoReload').val();
+ // 璧嬪�煎墠娓呯┖琛ㄦ牸
+ matData = [];
+ tableIns.reload({ data: matData });
+ console.log(billNo)
+ console.log(mnemonic)
+ $.ajax({
+ url: baseUrl + "/mobile/bill/query/auth",
+ headers: { 'token': localStorage.getItem('token') },
+ data: {
+ billNo: billNo,
+ mnemonic: mnemonic,
+ },
+ method: 'POST',
+ success: function (res) {
+ if (res.code === 200) {
+ if (res.data != null) {
+ console.log('鍗曞彿鏁版嵁', res.data);
+ var data = res.data;
+ if (data.length > 0) {
+ for (var i = 0; i < data.length; i++) {
+ addTableData(data[i]);
+ }
+ }
+ }
+ } else if (res.code === 403) {
+ top.location.href = baseUrl + "/pda";
+ } else {
+ tips(res.msg, true)
+ }
+ }
+ });
}
/**
@@ -188,10 +579,7 @@
* @param warn true锛氱孩鑹插瓧浣�
*/
function tips(msg, warn) {
- // var tips = $('#tips');
- // tips.html(msg);
- // tips.css("color", warn?"red":'#666');
- layer.msg(msg, {icon: warn ? 2 : 1})
+ layer.msg(msg, { icon: warn ? 2 : 1 })
}
document.onkeyup = function (e) {
@@ -202,13 +590,25 @@
$("#comb-btn").focus();
comb();
} else if (key === 113) {
- $("#warehouse").val("");
- $("#warehouse").focus();
+ $("#uuid").val("");
+ $("#uuid").focus();
}
}
function back() {
parent.backIndex();
}
+
+ // 閲嶇疆
+ function reset() {
+ matData = [];
+ tableIns.reload({ data: matData });
+ layer.closeAll();
+ $("#billNo").val("");
+ $("#uuid").val("");
+ $("#demoReload").val("");
+ layui.form.render('select');
+ }
</script>
+
</html>
\ No newline at end of file
--
Gitblit v1.9.1