From 563ddd8866b7af1dc945347fd8176cca10310d3f Mon Sep 17 00:00:00 2001
From: yxj <yxj@hz-kingdee.com>
Date: 星期二, 15 四月 2025 13:41:58 +0800
Subject: [PATCH] 新增夏宝出门确认扫码模块,原出门确认扫码模块审核按钮调用方法修改

---
 WebTM/views/home/console_Mobile.html                 |    2 
 WebTM/views/领料发货/收料入库/Kf_ReciveBill_Fast_XiaBao.html |  422 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 WebTM/views/领料发货/收料入库/Kf_ReciveBill_Fast.html        |    6 
 WebTM/WebTM.csproj                                   |    1 
 4 files changed, 429 insertions(+), 2 deletions(-)

diff --git a/WebTM/WebTM.csproj b/WebTM/WebTM.csproj
index bec5290..0045d1e 100644
--- a/WebTM/WebTM.csproj
+++ b/WebTM/WebTM.csproj
@@ -2315,6 +2315,7 @@
     <Content Include="views\棰嗘枡鍙戣揣\濮斿琛ユ枡\Kf_EntrustReplenishOutBill_Check_New.html" />
     <Content Include="views\棰嗘枡鍙戣揣\濮斿琛ユ枡\Kf_EntrustReplenishOutBill_CheckList_New.html" />
     <Content Include="views\棰嗘枡鍙戣揣\鏀舵枡鍏ュ簱\Kf_ReciveBill_Check.html" />
+    <Content Include="views\棰嗘枡鍙戣揣\鏀舵枡鍏ュ簱\Kf_ReciveBill_Fast_XiaBao.html" />
     <Content Include="views\棰嗘枡鍙戣揣\鏀舵枡鍏ュ簱\Kf_ReciveBill_Fast_AR.html" />
     <Content Include="views\棰嗘枡鍙戣揣\鏀舵枡鍏ュ簱\Kf_ReciveBill_Fast.html" />
     <Content Include="views\棰嗘枡鍙戣揣\鏀舵枡鍏ュ簱\Kf_ReciveBill_Fast_TK.html" />
diff --git a/WebTM/views/home/console_Mobile.html b/WebTM/views/home/console_Mobile.html
index 78a09f5..7ceb063 100644
--- a/WebTM/views/home/console_Mobile.html
+++ b/WebTM/views/home/console_Mobile.html
@@ -130,7 +130,7 @@
                                             </a>
                                         </li>
                                         <li class="layui-col-xs3">
-                                            <a href="../棰嗘枡鍙戣揣/鏀舵枡鍏ュ簱/Kf_ReciveBill_Fast_AR.html" target="main_self_frame">
+                                            <a href="../棰嗘枡鍙戣揣/鏀舵枡鍏ュ簱/Kf_ReciveBill_Fast.html" target="main_self_frame">
                                                 <i class="layui-icon layui-icon-chart"></i>
                                                 <cite style="white-space:pre-wrap">鍒拌揣纭</cite>
                                             </a>
diff --git "a/WebTM/views/\351\242\206\346\226\231\345\217\221\350\264\247/\346\224\266\346\226\231\345\205\245\345\272\223/Kf_ReciveBill_Fast.html" "b/WebTM/views/\351\242\206\346\226\231\345\217\221\350\264\247/\346\224\266\346\226\231\345\205\245\345\272\223/Kf_ReciveBill_Fast.html"
index 400132b..2cdd867 100644
--- "a/WebTM/views/\351\242\206\346\226\231\345\217\221\350\264\247/\346\224\266\346\226\231\345\205\245\345\272\223/Kf_ReciveBill_Fast.html"
+++ "b/WebTM/views/\351\242\206\346\226\231\345\217\221\350\264\247/\346\224\266\346\226\231\345\205\245\345\272\223/Kf_ReciveBill_Fast.html"
@@ -335,10 +335,14 @@
                 var HInterID = $('#HInterID').val();
                 var HBillNo = $('#HBillNo').val();
                 var sSubStr = table.cache['mainTable'];
+
+                //鎷兼帴搴忓垪鍖栫殑鏁版嵁
+                var msg = JSON.stringify(sSubStr) + ';' + sessionStorage["HUserName"];
+
                 $.ajax({
                     url: GetWEBURL() + "/POStockInBillList/AuditPOInStockBillPost",
                     type: "Post",
-                    data: { "msg": JSON.stringify(sSubStr) },
+                    data: { "msg": msg },
                     success: function (result) {
                         if (result.code == "1") {
                             layer.msg("瀹℃牳鎴愬姛", {
diff --git "a/WebTM/views/\351\242\206\346\226\231\345\217\221\350\264\247/\346\224\266\346\226\231\345\205\245\345\272\223/Kf_ReciveBill_Fast_XiaBao.html" "b/WebTM/views/\351\242\206\346\226\231\345\217\221\350\264\247/\346\224\266\346\226\231\345\205\245\345\272\223/Kf_ReciveBill_Fast_XiaBao.html"
new file mode 100644
index 0000000..a1c4f2a
--- /dev/null
+++ "b/WebTM/views/\351\242\206\346\226\231\345\217\221\350\264\247/\346\224\266\346\226\231\345\205\245\345\272\223/Kf_ReciveBill_Fast_XiaBao.html"
@@ -0,0 +1,422 @@
+锘�<!DOCTYPE html>
+<html>
+<head>
+    <meta http-equiv="Content-Type" content="text/html; 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">
+    <!--寮曠敤layui鏍峰紡鏂囦欢-->
+    <link rel="stylesheet" href="../../../layuiadmin/layui/css/layui.css" media="all">
+    <link rel="stylesheet" href="../../../layuiadmin/style/admin.css" media="all">
+    <!--寮曠敤layui js鏂囦欢-->
+    <script src="../../../layuiadmin/layui/layui.js"></script>
+    <script src="../../../layuiadmin/Scripts/json2.js"></script>
+    <script src="../../../layuiadmin/Scripts/jquery-1.4.1.js"></script>
+    <script src="../../../layuiadmin/Scripts/webConfig.js"></script>
+    <!--鑷畾涔夋牱寮�-->
+    <style>
+        .maintitle {
+            background-color: #1492ff;
+            color: #fff;
+            padding: 5px 10px;
+            border: none;
+            border-radius: 4px;
+        }
+
+        .title {
+            border-left: 4px solid #1492ff;
+            padding-left: 6px;
+            margin: 20px 10px 4px;
+            font-size: 16px;
+            color: #333;
+        }
+
+        .buttom_box_little {
+            width: 60px;
+            height: 36px;
+            color: #fff;
+            background-color: #1492ff;
+            border-radius: 4px;
+            border: none;
+            margin: 10px;
+        }
+
+        .layui-input {
+            width: 50%;
+        }
+
+        .layui-inline, img {
+            display: block;
+            vertical-align: middle
+        }
+
+        .layui-input, .layui-textarea {
+            display: inline-block;
+            width: 50%;
+            padding-left: 10px;
+        }
+
+        .laydate-time-list ol {
+            overflow-x: hidden !important;
+            overflow-y: auto !important;
+        }
+
+        .layui-form-label {
+            padding: 9px 5px;
+            width: 85px;
+        }
+
+        .layui-input-block {
+            margin-left: 85px;
+            min-height: 36px;
+        }
+
+        .editable-input {
+            border: 0px solid #ccc;
+            padding: 5px;
+            font-size: 14px;
+            width: 50px; /* 鍙牴鎹渶瑕佽皟鏁村搴� */
+            box-sizing: border-box; /* 纭繚鍐呰竟璺濆拰杈规鍖呭惈鍦ㄥ搴﹀唴 */
+        }
+    </style>
+</head>
+<body>
+    <div class="layui-fluid" style="padding: 0;">
+        <div class="layui-card" style="padding: 15px;background-color: #efefef;">
+            <div class="layui-card-body" style="padding: 1px;">
+                <form class="layui-form" action="" lay-filter="formData" id="formData" style="background-color:white;">
+                    <div class="maintitle">鍒拌揣纭</div>
+                    <div class="layui-form-item" style="padding-top: 10px;">
+                        <div class="layui-row">
+                            <label class="layui-form-label" style="width: 85px;"><span style="color:red;">*</span>鏉$爜</label>
+                            <div class="layui-input-block" style="margin-left: 100px;width:46%;">
+                                <input type="text" name="HBarCode" id="HBarCode" placeholder="璇烽敭鍏ュ悗鍥炶溅" autocomplete="off" class="layui-input"><!--lay-verify="required"-->
+                                <button type="button" lay-submit="" class="layui-btn" lay-filter="QueDin" name="QueDin" id="QueDin" style="width: 70px; background-color: #1492ff;color:white">纭畾</button>
+                            </div>
+                        </div>
+                    </div>
+
+                    <div class="layui-tab layui-tab-card" lay-filter="TabTest">
+                        <ul class="layui-tab-title">
+                            <li lay-id="1" style="padding:1px;" class="layui-this">琛ㄥご淇℃伅</li>
+                            <li lay-id="2" style="padding:1px;">鏄庣粏淇℃伅</li>
+                        </ul>
+                        <div class="layui-tab-content">
+                            <div class="layui-tab-item layui-show">
+                                <div class="layui-form-item" style="padding-top: 10px;">
+                                    <div class="layui-row">
+                                        <div class="layui-inline">
+                                            <label class="layui-form-label" style="width: 75px;">鍗曟嵁鍙�:</label>
+                                            <div class="layui-input-block" style="margin-left: 85px;">
+                                                <input type="text" class="layui-input" name="HBillNo" id="HBillNo">
+                                                <button type="button" lay-submit="" class="layui-btn" lay-filter="QueDin2">纭畾</button>
+                                                <input type="hidden" class="layui-input" name="HInterID" id="HInterID" style="width:100px">
+                                            </div>
+                                        </div>
+                                    </div>
+                                    <div class="layui-row">
+                                        <div class="layui-inline">
+                                            <label class="layui-form-label" style="width: 75px;padding: 9px 5px;">渚涘簲鍟�:</label>
+                                            <div class="layui-input-block">
+                                                <input type="text" name="HSupName" id="HSupName" class="layui-input" disabled="disabled">
+                                            </div>
+                                        </div>
+                                    </div>
+                                    <div class="layui-row">
+                                        <div class="layui-inline">
+                                            <label class="layui-form-label" style="width: 75px;padding: 9px 5px;">閮ㄩ棬:</label>
+                                            <div class="layui-input-block">
+                                                <input type="text" name="HDeptName" id="HDeptName" class="layui-input" disabled="disabled">
+                                            </div>
+                                        </div>
+                                    </div>
+                                </div>
+                            </div>
+
+                            <div class="layui-tab-item">
+                                <table class="" id="mainTable" lay-filter="mainTable"></table>
+                                <script type="text/html" id="xuhao">
+                                    {{d.LAY_TABLE_INDEX+1}}
+                                </script>
+                                <script type="text/html" id="barDemo">
+                                    <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">鍒犻櫎</a>
+                                </script>
+                            </div>
+                        </div>
+                    </div>
+
+                    <div class="layer-footer" style="text-align: center;">
+                        <button type="button" lay-submit="" class="layui-btn buttom_box_little" lay-filter="btn_Check" id="btn_Check">瀹℃牳</button>
+                        <button type="button" lay-submit="" class="layui-btn buttom_box_little" lay-filter="btn_Cancel" id="btn_Cancel">閫�鍑�</button>
+                    </div>
+                </form>
+            </div>
+        </div>
+    </div>
+
+    <script>
+        layui.config({
+            base: '../../../layuiadmin/' //闈欐�佽祫婧愭墍鍦ㄨ矾寰�
+        }).extend({
+            index: 'lib/index' //涓诲叆鍙fā鍧�
+        }).use(['index', 'form', 'laydate', 'table', 'element'], function () {
+            var $ = layui.$
+                , admin = layui.admin
+                , layer = layui.layer
+                , table = layui.table
+                , form = layui.form
+                , laydate = layui.laydate
+                , element = layui.element;
+            var option = [];
+            //鍒濆鍖栬〃鏍�
+            set_InitGrid();
+
+            //琛屽唴浜嬩欢
+            table.on('tool(mainTable)', function (obj) {
+                set_GridDelete(obj);   //琛屽唴鍒犻櫎
+            });
+
+            //杩涘叆椤甸潰榛樿鍏夋爣鍦ㄦ潯褰㈢爜涓�
+            $("#HBillNo").focus();
+
+            //鏉″舰鐮佸洖杞︽柟娉�
+            $('#HBarCode').on('keydown', function (event) {
+                if (event.keyCode == 13) {
+                    GetMeesageByBarCode();
+                }
+            });
+            //鏉″舰鐮佺‘璁�
+            form.on('submit(QueDin)', function (data) {
+                GetMeesageByBarCode();
+            });
+            //鎵弿鏉″舰鐮佹柟娉�
+            function GetMeesageByBarCode() {
+
+                layer.msg("鏃犻渶鎵弿鐗╂枡鏉$爜锛�")
+
+                //var HBarCode = $('#HBarCode').val();
+                //if (!HBarCode) {
+                //    layer.msg("鏉″舰鐮佷笉鑳戒负绌猴紒")
+                //    return;
+                //}
+                //var HInterID = $('#HInterID').val();
+                //if (!HInterID) {
+                //    layer.msg("璇峰厛杈撳叆鏀舵枡閫氱煡鍗曞崟鎹彿锛�")
+                //    return;
+                //}
+                //var index = layer.load();
+                //$.ajax({
+                //    url: GetWEBURL() + "/POStockInBillList/Get_ReciveBillByBarcode",
+                //    type: "GET",
+                //    data: { "HBarCode": HBarCode, "HInterID": HInterID },
+                //    success: function (result) {
+                //        if (result.code == "1") {
+                //            var sSubStr = table.cache['mainTable'];
+                //            for (var i = 0; i < sSubStr.length; i++) {
+                //                if (sSubStr[i].HMaterID == HBarCode.split("#")[0]) {
+                //                    sSubStr[i].HSQty += parseInt(HBarCode.split("#")[1]);
+                //                    table.render(option);
+                //                    break;
+                //                }
+                //            }
+                //            layer.close(index);
+                //        }
+                //        else {
+                //            layer.close(index);
+                //            layer.msg(result.Message, { icon: 5, btn: ['纭'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "娓╅Θ鎻愮ず" });
+                //        }
+                //    },
+                //    error: function (err) {
+                //        layer.close(index);
+                //        layer.msg("鎺ュ彛璇锋眰澶辫触锛�" + err, { icon: 5, btn: ['纭'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "娓╅Θ鎻愮ず" });
+                //    }
+                //});
+                $('#HBarCode').val("");
+                $("#HBarCode").focus();
+            }
+            form.on('submit(btn_Cancel)', function () {
+                parent.location.href = "../../../views/index.html"
+            })
+            //瀹℃牳
+            form.on('submit(btn_Check)', function (data) {//瀹℃牳
+                var sSubStr = table.cache['mainTable'];
+                var s = 0;
+                for (var i = 0; i < sSubStr.length; i++) {
+                    if (parseInt(sSubStr[i].HSQty) > parseInt(sSubStr[i].HQty)) {
+                        layer.msg("鏄庣粏璁板綍绗�" + (i + 1) + "琛�,鎵爜鏁伴噺涓嶈兘瓒呭嚭璁㈠崟鏁伴噺!", { icon: 5, btn: ['纭'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "娓╅Θ鎻愮ず" });
+                        return;
+                    }
+                    if (parseInt(sSubStr[i].HSQty) > 0) {
+                        s = 1;
+                    }
+                }
+                if (s == 0) {
+                    layer.msg("鏄庣粏琛屾暟閲忎笉鍏佽閮戒负0锛岃杈撳叆鏁伴噺鍚庡啀瀹℃牳锛�", { icon: 5, btn: ['纭'], time: 100000, offset: 'auto', skin: 'layui-layer-lan', title: "娓╅Θ鎻愮ず" });
+                    return;
+                }
+
+                var index = layer.load();
+                var HInterID = $('#HInterID').val();
+                var HBillNo = $('#HBillNo').val();
+
+                //鎷兼帴搴忓垪鍖栫殑鏁版嵁
+                var msg = JSON.stringify(sSubStr) + ';' + sessionStorage["HUserName"];
+
+                $.ajax({
+                    url: GetWEBURL() + "/POStockInBillList/AuditPOInStockBillPost",
+                    type: "Post",
+                    data: { "msg": msg },
+                    success: function (result) {
+                        if (result.code == "1") {
+                            layer.msg("瀹℃牳鎴愬姛", {
+                                icon: 1, time: 1000000, offset: 't', skin: 'layui-layer-lan', title: "娓╅Θ鎻愮ず", btn: ['纭']
+                            }, function () {
+                                window.location.reload();
+                                element.tabChange('TabTest', '1');
+                            });
+                            layer.close(index);
+                        }
+                        else {
+                            layer.msg(result.Message, { icon: 5, btn: ['纭'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "娓╅Θ鎻愮ず" });
+                            layer.close(index);
+                        }
+                    },
+                    error: function (err) {
+                        layer.msg("鎺ュ彛璇锋眰澶辫触锛�" + err, { icon: 5, btn: ['纭'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "娓╅Θ鎻愮ず" });
+                        layer.close(index);
+                    }
+                });
+            });
+
+            //鍒濆鍖栬〃鏍�
+            function set_InitGrid() {
+                //琛ㄥご
+                columns = [
+                    { templet: '#xuhao', title: '搴忓彿', sort: true, width: 70, fixed: 'left' }
+                    , {
+                        field: 'HSQty', title: '鏁伴噺', width: 80, templet: function (d) {
+                            return '<input type="number" value="' + d.HSQty + '" autocomplete="off" class="editable-input" data-id="' + d.HEntryID + '" onfocus="this.select();">';
+                        }
+                    }
+                    //, { field: 'HSQty', title: '鏁伴噺', edit: 'text', width: 80 }
+                    , { field: 'HQty', title: '璁㈠崟鏁伴噺', width: 90 }
+                    , { field: 'HMaterID', title: 'HMaterID', hide: true }
+                    , { field: 'HMaterNum', title: '鐗╂枡浠g爜', width: 150 }
+                    , { field: 'HMaterName', title: '鐗╂枡鍚嶇О', width: 150 }
+                    , { field: 'HModel', title: '瑙勬牸鍨嬪彿', width: 200 }
+                    , { field: 'HInterID', title: '涓诲唴鐮�', sort: true, width: 200, hide: true }
+                    , { field: 'HEntryID', title: '瀛愬唴鐮�', sort: true, width: 200, hide: true }
+                ];
+                option = {
+                    id: 'mainTable'
+                    , elem: '#mainTable'
+                    , page: true
+                    , cellMinWidth: 120
+                    , height: 500
+                    , cols: [columns]
+                    , done: function (res, curr, count) {
+                    }
+                };
+                //option.data = [{ "鏁伴噺": 0, "鐗╂枡浠g爜": 0, "鐗╂枡鍚嶇О": "", "瑙勬牸鍨嬪彿": "" }];
+                table.render(option);
+            }
+            // 琛ㄦ牸琛屽唴浜嬩欢鍒犻櫎
+            function set_GridDelete(obj) {
+                var data = obj.data;
+                var index = layer.load();
+                var rowIndex = $(obj.tr).attr("data-index");
+                if (obj.event === 'del') {
+                    layer.confirm('鐪熺殑鍒犻櫎琛屼箞', function (index) {
+                        console.log("绱㈠紩涓�:" + rowIndex);
+                        if (rowIndex === '0') {
+                            layer.msg('棣栬鏃犳硶鍒犻櫎锛侊紒锛�');
+                        } else {
+                            //obj.del();
+                            layer.close(index);
+                            var oldData = table.cache["mainTable"];
+                            oldData.splice(obj.tr.data('index'), 1);
+                            table.reload('mainTable', { data: oldData });
+                            layer.close(index);
+                        }
+                    });
+                }
+            }
+            //婧愬崟鍥炶溅鏂规硶
+            $('#HBillNo').on('keydown', function (event) {
+                if (event.keyCode == 13) {
+                    GetMeesageBySourceBillNo();
+                }
+            });
+            //婧愬崟纭
+            form.on('submit(QueDin2)', function (data) {
+                GetMeesageBySourceBillNo();
+            });
+            //鎵簮鍗�
+            function GetMeesageBySourceBillNo(obj) {  //杩斿洖宸ヤ綔涓績
+                var HBarCode = $('#HBillNo').val();//鏉″舰鐮侊紙娴佽浆鍗″彿锛夛紙鏁版嵁搴撲腑涓哄崟鎹彿锛�
+                if (!HBarCode) {
+                    layer.msg("鍗曟嵁鍙蜂笉鑳戒负绌猴紒")
+                    return;
+                }
+                var index = layer.load();
+                $.ajax({
+                    url: GetWEBURL() + "/POStockInBillList/Get_ReciveBill",
+                    type: "GET",
+                    data: { "HBillno": HBarCode },
+                    success: function (result) {
+                        if (result.code == "1") {
+                            var data = result.data[0];
+                            $("#HSupName").val(data.HSupName);
+                            $("#HDeptName").val(data.HDeptName);
+                            $("#HBillNo").val(data.HBillNo);
+                            $("#HInterID").val(data.HInterID);
+                            option.data = result.data;
+                            table.render(option);
+                            layer.close(index);
+                            element.tabChange('TabTest', '2');
+                        }
+                        else {
+                            layer.close(index);
+                            layer.msg(result.Message, {
+                                icon: 5, time: 100000, offset: 't', skin: 'layui-layer-lan', title: "娓╅Θ鎻愮ず", btn: ['纭']
+                            }, function () {
+                                element.tabChange('TabTest', '1');
+                                $("#HBillNo").select();
+                                $("#HBillNo").focus();
+                            });
+                        }
+                    },
+                    error: function (err) {
+                        layer.close(index);
+                        layer.msg("鎺ュ彛璇锋眰澶辫触锛�" + err, { icon: 5, btn: ['纭'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "娓╅Θ鎻愮ず" });
+                    }
+                });
+            }
+
+            //#region 鐩戝惉杈撳叆妗嗙殑blur浜嬩欢
+
+            $(document).on('blur', '.editable-input', function () {
+                var $input = $(this);
+                var value = $input.val().trim(); // 鍘婚櫎杈撳叆鍊间袱杈圭殑绌烘牸
+                var id = $input.data('id');
+
+                // 閬嶅巻table.cache鏉ヨ幏鍙栧搴旂殑琛屾暟鎹紝骞舵洿鏂板畠
+                var tableData = table.cache['mainTable']; // 鑾峰彇琛ㄦ牸缂撳瓨鐨勬暟鎹�
+                var rowData = tableData.find(function (item) { return item.HEntryID == id; }); // 鎵惧埌瀵瑰簲鐨勮鏁版嵁
+                if (rowData) {
+                    rowData.HSQty = value || 0; // 鏇存柊琛屾暟鎹腑鐨凥SQty瀛楁锛屽綋value涓簄ull銆乽ndefined銆佺┖瀛楃涓�''銆�0銆丯aN銆乫alse鏃讹紝閮戒細璁や负value鏄�'鍋噛'鐨勶紝浠庤�岃繑鍥�0
+
+                    // 濡傛灉杈撳叆鍊间负绌哄瓧绗︿覆锛屽垯灏嗗叾璁剧疆涓�0
+                    if (value === '') {
+                        $input.val(0);
+                    }
+                }
+            });
+            //#endregion
+
+            //浠ヤ笂涓簂ayui妯″潡
+        });
+    </script>
+</body>
+</html>
\ No newline at end of file

--
Gitblit v1.9.1