From eb5ddb58e0d42ca0155ed03f951aac643e810d4a Mon Sep 17 00:00:00 2001
From: zhou zhou <3272660260@qq.com>
Date: 星期日, 04 一月 2026 13:28:06 +0800
Subject: [PATCH] #

---
 src/main/webapp/views/pda/locNormalIn.html |  259 ++++++++++++++++++++++++++++-----------------------
 1 files changed, 143 insertions(+), 116 deletions(-)

diff --git a/src/main/webapp/views/pda/locNormalIn.html b/src/main/webapp/views/pda/locNormalIn.html
index d7b1f90..d6e14db 100644
--- a/src/main/webapp/views/pda/locNormalIn.html
+++ b/src/main/webapp/views/pda/locNormalIn.html
@@ -1,8 +1,9 @@
 <!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">
@@ -74,112 +75,113 @@
         }
     </style>
 </head>
-<body>
-<!-- 澶撮儴 -->
-<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 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">-->
+<body>
+    <!-- 澶撮儴 -->
+    <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 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>
-<!-- 涓讳綋 -->
-<main>
-    <div class="layui-btn-group demoTable">
-        <div class="layui-inline">
-            <input class="layui-input" name="id" id="demoReload" autocomplete="off" placeholder="鐢熶骇鍗曞彿">
+        <!--</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>
-        <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>
+        <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()"
+    <!-- 灏鹃儴 -->
+    <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()"
+            </button>
+            <button type="button" id="retrun-btn" class="layui-btn layui-btn-primary " onclick="back()"
                 style="margin-left: 20px">杩斿洖
-        </button>
-        <span id="tips"></span>
-    </div>
-</footer>
+            </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 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">
-            <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 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>
-        <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>
+        <button id="remove" onclick="remove()">绉婚櫎</button>
+        <button id="confirm" onclick="confirm()">淇濆瓨</button>
     </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>
 
 </body>
 <script>
@@ -191,17 +193,17 @@
         var form = layui.form;
 
         var $$ = layui.$, active = {
-            getCheckData: function(){ //鑾峰彇閫変腑鏁版嵁
+            getCheckData: function () { //鑾峰彇閫変腑鏁版嵁
                 var checkStatus = table.checkStatus('chooseData')
-                    ,data = checkStatus.data;
+                    , data = checkStatus.data;
                 matData = data
-                tableIns.reload({data: matData});
+                tableIns.reload({ data: matData });
             },
             reload: function () {
                 findMata();
             }
         };
-        $$('.demoTable .layui-btn').on('click', function(){
+        $$('.demoTable .layui-btn').on('click', function () {
             var type = $(this).data('type');
             active[type] ? active[type].call(this) : '';
         });
@@ -214,11 +216,11 @@
             limit: 500,
             cellMinWidth: 50,
             cols: [[
-                {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'},
+                { 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) {
             }
@@ -253,7 +255,7 @@
         // 鑾峰彇浠撳簱涓嬫媺
         $.ajax({
             url: baseUrl + "/locArea/queryAll/auth?areaType=" + (areaType ? areaType : ""),
-            headers: {'token': localStorage.getItem('token')},
+            headers: { 'token': localStorage.getItem('token') },
             method: 'POST',
             success: function (res) {
                 if (res.code === 200) {
@@ -317,7 +319,7 @@
                 }
             }
         }
-        tableIns.reload({data: matData});
+        tableIns.reload({ data: matData });
         layer.close(countLayer);
         tips("淇敼鎴愬姛");
     }
@@ -337,7 +339,7 @@
                 }
             }
         }
-        tableIns.reload({data: matData});
+        tableIns.reload({ data: matData });
         layer.close(countLayer);
         tips("绉婚櫎鎴愬姛");
     }
@@ -383,20 +385,32 @@
             matData.push(data);
         }
         tips("鎻愬彇鎴愬姛");
-        tableIns.reload({data: matData});
+        tableIns.reload({ data: matData });
     }
+
+    // 缁勬墭 - 闃叉姈閿�
+    var isCombLocked = false;
 
     // 缁勬墭
     function comb() {
+        // 闃叉姈妫�鏌�
+        if (isCombLocked) {
+            tips("鎿嶄綔涓紝璇风◢鍊�...", true);
+            return;
+        }
+        isCombLocked = true;
+
         let barcode = $('#uuid').val();
         console.log('barcode', barcode);
         if (isEmpty(barcode)) {
             tips("璇烽�夋嫨搴撳尯", true);
             document.getElementById("uuid").focus();
+            isCombLocked = false;
             return;
         }
         if (matData.length === 0) {
             tips("璇锋彁鍙栫墿鏂�", true);
+            isCombLocked = false;
             return;
         }
 
@@ -421,7 +435,7 @@
         if (areaType == 1) {
             $.ajax({
                 url: baseUrl + "/locNormal/in/source",
-                headers: {'token': localStorage.getItem('token')},
+                headers: { 'token': localStorage.getItem('token') },
                 data: JSON.stringify({
                     normalList: data,
                 }),
@@ -437,12 +451,18 @@
                     } 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')},
+                headers: { 'token': localStorage.getItem('token') },
                 data: JSON.stringify({
                     normalList: data,
                 }),
@@ -458,7 +478,13 @@
                     } else {
                         tips(res.msg, true)
                     }
+                    // 寤惰繜瑙i攣闃叉姈
+                    setTimeout(function () { isCombLocked = false; }, 500);
                 },
+                error: function () {
+                    tips("璇锋眰澶辫触", true);
+                    isCombLocked = false;
+                }
             });
         }
     }
@@ -476,11 +502,11 @@
         }
         // 璧嬪�煎墠娓呯┖琛ㄦ牸
         matData = [];
-        tableIns.reload({data: matData});
+        tableIns.reload({ data: matData });
 
         $.ajax({
             url: baseUrl + "/mobile/bill/query/auth",
-            headers: {'token': localStorage.getItem('token')},
+            headers: { 'token': localStorage.getItem('token') },
             data: {
                 billNo: billNo,
                 mnemonic: '',
@@ -516,12 +542,12 @@
         var mnemonic = $('#demoReload').val();
         // 璧嬪�煎墠娓呯┖琛ㄦ牸
         matData = [];
-        tableIns.reload({data: matData});
+        tableIns.reload({ data: matData });
         console.log(billNo)
         console.log(mnemonic)
         $.ajax({
             url: baseUrl + "/mobile/bill/query/auth",
-            headers: {'token': localStorage.getItem('token')},
+            headers: { 'token': localStorage.getItem('token') },
             data: {
                 billNo: billNo,
                 mnemonic: mnemonic,
@@ -553,7 +579,7 @@
      * @param warn true锛氱孩鑹插瓧浣�
      */
     function tips(msg, warn) {
-        layer.msg(msg, {icon: warn ? 2 : 1})
+        layer.msg(msg, { icon: warn ? 2 : 1 })
     }
 
     document.onkeyup = function (e) {
@@ -576,7 +602,7 @@
     // 閲嶇疆
     function reset() {
         matData = [];
-        tableIns.reload({data: matData});
+        tableIns.reload({ data: matData });
         layer.closeAll();
         $("#billNo").val("");
         $("#uuid").val("");
@@ -584,4 +610,5 @@
         layui.form.render('select');
     }
 </script>
+
 </html>
\ No newline at end of file

--
Gitblit v1.9.1