From 40e24ffdfc95c186bccc24c2bc99a0ffcfec73e3 Mon Sep 17 00:00:00 2001
From: zc <zc>
Date: 星期一, 29 七月 2024 10:48:21 +0800
Subject: [PATCH] 订单组托代码

---
 src/main/webapp/views/pda/stockOut.html |  271 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 271 insertions(+), 0 deletions(-)

diff --git a/src/main/webapp/views/pda/stockOut.html b/src/main/webapp/views/pda/stockOut.html
index 7264fe5..54cd9c7 100644
--- a/src/main/webapp/views/pda/stockOut.html
+++ b/src/main/webapp/views/pda/stockOut.html
@@ -5,13 +5,284 @@
     <meta name="viewport" content="width=device-width, target-densitydpi=high-dpi, 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>
+        .layui-input-block {
+            margin-left: 60px;
+        }
+        main {
+            height: 200px;
+        }
+    </style>
 </head>
 <body>
+<!-- 澶撮儴 -->
+<header class="layui-form">
+    <div class="layui-input-inline">
+        <label class="layui-form-label">搴撲綅</label>
+        <div class="layui-input-block">
+            <input class="layui-input" type="number" id="locNo" onkeyup="findByLocNo(this)" autocomplete="off">
+        </div>
 
+    </div>
+    <div class="layui-input-inline">
+        <label class="layui-form-label">鐗╂枡</label>
+        <div class="layui-input-block">
+            <input class="layui-input" type="text" id="matNo" onkeyup="findByMatNo(this)" autocomplete="off">
+        </div>
+    </div>
+    <div class="layui-input-inline">
+        <label class="layui-form-label">鍑哄簱鍙�</label>
+        <div class="layui-input-inline" style="margin-left: 5px;width: 120px">
+            <select id="staNoSelect">
+                <option value="">璇烽�夋嫨</option>
+            </select>
+        </div>
+    </div>
+</header>
+<!-- 涓讳綋 -->
+<main>
+    <table class="layui-table" id="dataByLoc" lay-filter="dataByLoc"></table>
+</main>
+<!-- 灏鹃儴 -->
+<footer>
+    <div class="layui-btn-container">
+        <button id="reset" type="button" class="layui-btn layui-btn-primary" onclick="reset()">閲嶇疆</button>
+        <button id="pakOut" type="button" class="layui-btn layui-btn-normal" onclick="pakOut()" style="margin-left: 20px">鍑哄簱</button>
+        <span id="tips"></span>
+    </div>
+</footer>
 </body>
+<script>
+
+    window.onload = function(){
+        document.getElementById("locNo").focus();
+        getOutBound();
+    }
+
+    /**
+     * 鏍规嵁搴撲綅鍙锋煡鎵惧簱瀛樻槑缁�
+     */
+    function findByLocNo(el){
+        if (isEmpty(el.value)) {
+            return;
+        }
+        $("#matNo").val("");
+        find(el.value, null);
+    }
+
+    /**
+     * 鏍规嵁鍟嗗搧缂栧彿鏌ユ壘搴撳瓨鏄庣粏
+     */
+    function findByMatNo(el){
+        if (isEmpty(el.value)) {
+            return;
+        }
+        $("#locNo").val("");
+        find(null, el.value);
+    }
+    function find(locNo, matNo) {
+        $.ajax({
+            url: baseUrl + "/mobile/locDetl",
+            headers: {'token': localStorage.getItem('token')},
+            data: {
+                locNo: locNo,
+                matNo: matNo
+            },
+            method: 'POST',
+            success: function (res) {
+                if (res.code === 200) {
+                    if (res.data != null) {
+                        locDetlData = res.data;
+                        tableIns.reload({data: locDetlData});
+                    }
+                    $('#pakOut').focus();
+                } else if (res.code === 403) {
+                    top.location.href = baseUrl + "/pda";
+                } else {
+                    locDetlData = [];
+                    tableIns.reload({data: locDetlData});
+                }
+            }
+        })
+    }
+
+    // 琛ㄦ牸
+    var locDetlData = [];
+    var tableIns;
+    layui.use(['table','laydate', 'form'], function() {
+        var table = layui.table;
+        var $ = layui.jquery;
+        var layer = layui.layer;
+        var form = layui.form;
+
+        tableIns = table.render({
+            id: 'tableIdx',
+            elem: '#dataByLoc',
+            data: [],
+            limit: 500,
+            cellMinWidth: 50,
+            cols: [[
+                {type: 'checkbox', fixed: 'left', width:30},
+                {field: 'count', align: 'center', title: '鏁伴噺', event: 'detail', style:'color: blue', width:50},
+                {field: 'matnr', align: 'center', title: '缂栫爜', event: 'detail'},
+                {field: 'maktx', align: 'center', title: '鍚嶇О', event: 'detail'},
+                {field: 'locNo', align: 'center', title: '搴撲綅', event: 'detail'}
+            ]],
+            done: function (res, curr, count) {
+            }
+        });
+
+        // 鐩戝惉琛屽伐鍏蜂簨浠�
+        table.on('tool(dataByLoc)', function(obj) {
+            var data = obj.data;
+            switch (obj.event) {
+                // 璇︽儏
+                case 'detail':
+                    layer.open({
+                        type: 2,
+                        title: '搴撳瓨鏄庣粏',
+                        shade: [0.3,'#000'],
+                        area: ['90%', '70%'],
+                        content: 'locDetlIframe.html',
+                        success: function(layero, index){
+                            // 璁剧疆寮圭獥鏍峰紡
+                            $('.layui-layer-title').css('font-size', '16px');
+                            // 娉ㄥ叆鍊�
+                            let el = layer.getChildFrame('.form-box', index);
+                            for (var val in data) {
+                                var find = el.find(":input[id='" + val + "']");
+                                find.val(data[val]);
+                            }
+                        },
+                        end: function () {
+                            $('#pakOut').focus();
+                        }
+                    });
+                    break;
+            }
+        })
+    });
+
+    // 鑾峰彇鍑哄簱鍙�
+    function getOutBound(){
+        $.ajax({
+            url: baseUrl+"/available/take/site",
+            headers: {'token': localStorage.getItem('token')},
+            method: 'POST',
+            async: false,
+            success: function (res) {
+                if (res.code === 200){
+                    var tpl = $("#takeSiteSelectTemplate").html();
+                    var template = Handlebars.compile(tpl);
+                    var html = template(res);
+                    $('#staNoSelect').append(html);
+                    layui.form.render('select');
+                } else if (res.code === 403){
+                    top.location.href = baseUrl+"/pda";
+                }else {
+                    tips("鑾峰彇鍑哄簱鍙eけ璐�", true)
+                }
+            }
+        })
+    }
+
+    // 鍑哄簱
+    function pakOut() {
+        var tableData = layui.table.checkStatus('tableIdx').data;
+        if (tableData.length === 0) {
+            tips("璇烽�夋嫨鐗╂枡", true);
+            return;
+        }
+        var site = $('#staNoSelect').val();
+        if (null === site || undefined === site || site === "") {
+            tips("璇烽�夋嫨鍑哄簱鍙�", true);
+            return;
+        }
+        $.ajax({
+            url: baseUrl+"/plate/out/start",
+            headers: {'token': localStorage.getItem('token')},
+            data: JSON.stringify({
+                outSite: site,
+                locDetls: tableData
+            }),
+            contentType:'application/json;charset=UTF-8',
+            method: 'POST',
+            async: false,
+            success: function (res) {
+                if (res.code === 200) {
+                    reset();
+                    tips("鍚姩鍑哄簱鎴愬姛")
+                } else if (res.code === 403) {
+                    top.location.href = baseUrl + "/pda";
+                } else {
+                    tips(res.msg, true)
+                }
+            }
+        })
+    }
+
+    // 淇敼琛ㄦ牸鏁版嵁
+    function updateTableData(data) {
+        for (var i=0;i<locDetlData.length;i++) {
+            if (data.matnr === locDetlData[i].matnr && data.locNo === locDetlData[i].locNo) {
+                locDetlData[i].count = data.count;
+                break
+            }
+        }
+        tableIns.reload({data: locDetlData});
+    }
+
+    // 鍒犻櫎琛ㄦ牸琛�
+    function removeTableData(data) {
+        for (var i = locDetlData.length - 1; i >= 0; i--) {
+            if (locDetlData[i].locNo === data.locNo && locDetlData[i].matnr === data.matnr) {
+                locDetlData.splice(i, 1);
+            }
+        }
+        tableIns.reload({data: locDetlData});
+    }
+
+    // 閲嶇疆
+    function reset() {
+        $("#matNo").val("");
+        $("#locNo").val("");
+        locDetlData = [];
+        tableIns.reload({data: locDetlData});
+        $('#staNoSelect').val("");
+        layui.form.render('select');
+    }
+
+    /**
+     * 鎻愮ず淇℃伅
+     * @param msg 鎻愮ず鍐呭
+     * @param warn true锛氱孩鑹瞯ar瀛椾綋
+     */
+    function tips(msg, warn) {
+        layer.msg(msg, {icon: warn?2:1})
+    }
+
+    document.onkeyup = function (e) {
+        if (window.event)//濡傛灉window.event瀵硅薄瀛樺湪锛屽氨浠ユ浜嬩欢瀵硅薄涓哄噯
+            e = window.event;
+        var key = e.charCode || e.keyCode;
+        if (key === 115) {
+            $("#pakOut").focus();
+            pakOut();
+        } else if (key === 113) {
+            $("#locNo").val("");
+            $("#locNo").focus();
+        }
+    }
+</script>
+<script type="text/template" id="takeSiteSelectTemplate">
+    {{#each data}}
+    <option value="{{siteId}}">{{desc}}</option>
+    {{/each}}
+</script>
 </html>
\ No newline at end of file

--
Gitblit v1.9.1