From 91f2cd5b0f832091f654cce926585d2f05cad114 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <xltys1995>
Date: 星期四, 08 四月 2021 23:22:32 +0800
Subject: [PATCH] Merge branches 'dev' and 'master' of https://gitee.com/luxiaotao1123/xtywms into master

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

diff --git a/src/main/webapp/views/pda/locNormalOut.html b/src/main/webapp/views/pda/locNormalOut.html
new file mode 100644
index 0000000..9879238
--- /dev/null
+++ b/src/main/webapp/views/pda/locNormalOut.html
@@ -0,0 +1,422 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <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>
+</head>
+<style>
+    .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;
+    }
+    .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;
+    }
+</style>
+<body>
+
+<header class="layui-form">
+    <div class="layui-input-inline">
+        <label class="layui-form-label" style="margin-left: 32px">鍗曞彿</label>
+        <div class="layui-input-inline">
+            <input id="billNo" class="layui-input" autocomplete="off" oninput="findCode(this, 'billNo')"
+                   style="width: 175px">
+        </div>
+    </div>
+    <div class="layui-input-inline">
+        <label class="layui-form-label">鐗╂枡缂栫爜</label>
+        <input class="layui-input" id="matnr" onkeyup="findCode(this, 'matnr')" placeholder="鎵爜 / 杈撳叆"
+               style="width: 175px"
+               autocomplete="off">
+    </div>
+    <div class="layui-input-inline">
+        <label class="layui-form-label" style="margin-left: 28px;">搴撳尯</label>
+        <div class="layui-input-inline" style="margin-left: 5px;width: 175px">
+            <select id="uuid" lay-filter="uuid">
+                <option value="">璇烽�夋嫨</option>
+            </select>
+        </div>
+    </div>
+</header>
+
+<main>
+    <table class="layui-table" id="locNormalOut" lay-filter="locNormalOut"></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="out-btn" class="layui-btn layui-btn-normal " onclick="locNormalOut()"
+                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>
+    </div>
+</footer>
+
+<!-- 淇敼鏁伴噺寮圭獥 -->
+<div id="modify" style="display: none; padding-top: 10px; text-align: center;">
+    <div class="form-box">
+        <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="matnr2" 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="3" style="resize: none; width: 165px" id="maktx2" type="text" disabled="disabled"
+                              readonly="readonly"></textarea>
+                    </td>
+                </tr>
+            </table>
+        </div>
+    </div>
+    <input id="index" type="text" disabled="disabled" style="display: none;">
+    <div class="form-item" style="margin-top: 5px; margin-bottom: 8px;">
+        <span style="vertical-align: middle">鏁伴噺</span>
+        <div class="number-tool" style="vertical-align: middle">
+            <button onclick="reduce()">-</button>
+            <input id="anfme2" type="number" onchange="fix(this)">
+            <button onclick="add()">+</button>
+        </div>
+    </div>
+    <button id="remove" onclick="remove()">绉婚櫎</button>
+    <button id="confirm" onclick="confirm()">淇濆瓨</button>
+</div>
+
+</body>
+<script>
+    var countLayer;
+    // 褰撳墠鐐瑰嚮鐗╂枡鐨勬渶澶ф暟閲�
+    var maxCount;
+    // 琛ㄦ牸鏁版嵁
+    var normalOutList = [];
+    window.onload = function () {
+        document.getElementById("billNo").focus();
+    }
+
+    /**
+     * 鎻愮ず淇℃伅
+     * @param msg 鎻愮ず鍐呭
+     * @param warn true锛氱孩鑹插瓧浣�
+     */
+    function tips(msg, warn) {
+        layer.msg(msg, {icon: warn ? 2 : 1})
+    }
+
+    function back() {
+        parent.backIndex();
+    }
+
+    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: 'locNormalOut',
+            elem: '#locNormalOut',
+            data: [],
+            limit: 500,
+            cellMinWidth: 50,
+            cols: [[
+                {field: 'matnr', align: 'center', title: '缂栫爜', event: 'detail', width: 80},
+                {field: 'maktx', align: 'center', title: '鍚嶇О', event: 'detail'},
+                {field: 'warehouse', align: 'center', title: '搴撳尯', event: 'detail', width: 50},
+                {
+                    field: 'anfmeOut',
+                    align: 'center',
+                    title: '鏁伴噺',
+                    event: 'detail',
+                    style: 'color: blue',
+                    event: 'modify',
+                    style: 'cursor: pointer;color: blue',
+                    width: 50
+                },
+                {type: 'checkbox', fixed: 'right', width: 30},
+            ]],
+            done: function (res, curr, count) {
+            }
+        });
+
+
+        // 鐩戝惉琛屽伐鍏蜂簨浠�
+        table.on('tool(locNormalOut)', function (obj) {
+            var data = obj.data;
+            switch (obj.event) {
+                case 'modify':
+                    countLayer = layer.open({
+                        type: 1,
+                        offset: '20px',
+                        title: '淇敼鏁伴噺',
+                        shadeClose: true,
+                        area: ['80%', '240px'],
+                        content: $("#modify"),
+                        success: function (layero, index) {
+                            $('#matnr2').val(data.matnr);
+                            $('#maktx2').val(data.maktx);
+                            $('#index').val(data.id);
+                            $('#anfme2').val(0);
+                            maxCount = data.anfme;
+                        }
+                    });
+                    break;
+            }
+        });
+
+        form.on('select(uuid)', function (data) {
+            var val = data.value;
+            findCode(this, 'uuid');
+        });
+
+        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 + "/";
+                } else {
+                    layer.msg(res.msg)
+                }
+            }
+        });
+    });
+
+    var warehouseBar;
+    var matnrBar;
+    var billNo;
+
+    /* 鎵爜銆佽緭鍏ュ簱鍖哄拰鐗╂枡缂栫爜 */
+    function findCode(el, type) {
+        warehouseBar = $('#uuid').val();
+        billNo = $("#billNo").val();
+        if (billNo && billNo != '' && billNo.indexOf('=') > -1) {
+            billNo = billNo.split(",")[0].split("=")[1];
+        }
+        switch (type) {
+            case 'uuid':
+//                exist('uuid', 'locArea');
+                break;
+            case 'matnr':
+                matnrBar = el.value;
+                break;
+            default:
+                break;
+        }
+
+        // 鍒ゆ柇搴撳尯鎴栬�呯墿鏂欑紪鐮侀兘涓嶄负绌�
+//        if (!warehouseBar || !matnrBar) {
+//            return;
+//        }
+
+        $.ajax({
+            url: baseUrl + "/locNormal/pda/out/query?matnr=" + (matnrBar ? matnrBar : "") + "&warehouse=" + (warehouseBar ? warehouseBar : "") + "&billNo=" + (billNo ? billNo : ""),
+            headers: {'token': localStorage.getItem('token')},
+//            contentType: 'application/json;charset=UTF-8',
+            method: 'GET',
+            async: false,
+            success: function (res) {
+                if (res.code === 200) {
+                    if (res.data && res.data.length > 0) {
+                        res.data.map(function (item) {
+                            // 榛樿璧嬪��0寮�濮�
+                            item.anfmeOut = 0;
+                        });
+                    }
+                    tableIns.reload({
+                        data: res.data,
+                    });
+                    normalOutList = res.data;
+                } else if (res.code === 403) {
+                    top.location.href = baseUrl + "/pda";
+                } else {
+                    tips(res.msg, true)
+                }
+            },
+        });
+    }
+
+    /* 淇敼鏁伴噺 */
+    var countDom = $('#anfme2');
+
+    function add() {
+        if (countDom.val() >= maxCount) {
+            return;
+        }
+        countDom.val(Number(countDom.val()) + 1);
+    }
+
+    function reduce() {
+        if (countDom.val() <= 0) {
+            return;
+        }
+        countDom.val(Number(countDom.val()) - 1);
+    }
+
+    function fix(e) {
+        if (Number(e.value) > maxCount) {
+            countDom.val(maxCount);
+        }
+    }
+
+    function remove() {
+        var matnr = $('#matnr2').val();
+        var index = $('#index').val();
+        for (var j = 0; j < normalOutList.length; j++) {
+            if (matnr === normalOutList[j].matnr && index == normalOutList[j].id) {
+                normalOutList.splice(j, 1);
+            }
+        }
+        tableIns.reload({data: normalOutList});
+        layer.close(countLayer);
+        tips("绉婚櫎鎴愬姛");
+    }
+
+    // 淇敼鏁伴噺
+    function confirm() {
+        var matnr = $('#matnr2').val();
+        var count = $('#anfme2').val();
+        var index = $('#index').val();
+        for (var j = 0; j < normalOutList.length; j++) {
+            if (matnr === normalOutList[j].matnr && index == normalOutList[j].id) {
+                if (count > maxCount || count < 0) {
+                    tips("鏁伴噺涓嶈兘瓒呰繃鑼冨洿", true);
+                    return;
+                }
+                normalOutList[j].anfmeOut = Number(count);
+            }
+        }
+        tableIns.reload({data: normalOutList});
+        layer.close(countLayer);
+        tips("淇敼鎴愬姛");
+    }
+
+    /* 骞充粨鍑哄簱 */
+    function locNormalOut() {
+        // 璋冪敤鍑哄簱鎺ュ彛锛屽鏋滄暟閲忎笉鏄叏閮ㄥ垯杩涜update鏇存柊anfme瀛楁锛屽鏋滄槸鍏ㄩ儴鏁伴噺鍒欑洿鎺pdate鏇存柊state瀛楁1鈫�2
+        var table = layui.table;
+        var checkStatus = table.checkStatus('locNormalOut');
+        var data = checkStatus.data;
+        if (data.length == 0) {
+            layer.msg("璇烽�夋嫨鐗╂枡!");
+            return;
+        }
+        // 搴撳尯璧嬪��
+        var warehouse = $('#uuid').val();
+        data.map(function (item) {
+            item.warehouse = warehouse;
+        });
+        // 鍑哄簱鎺ュ彛
+        $.ajax({
+            url: baseUrl + "/locNormal/pda/out",
+            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) {
+                    layer.msg("鍑哄簱鎴愬姛");
+                    $("#matnr").val(null);
+                    $("#billNo").val(null);
+                    warehouseBar = null;
+                    matnrBar = null;
+                    normalOutList = [];
+                    tableIns.reload({
+                        data: normalOutList,
+                    })
+                } else if (res.code === 403) {
+                    top.location.href = baseUrl + "/pda";
+                } else {
+                    tips(res.msg, true)
+                }
+            },
+        });
+    }
+
+    function reset() {
+        $("#uuid").val(null);
+        $("#matnr").val(null);
+        $("#billNo").val(null);
+        layui.form.render('select');
+        normalOutList = [];
+        tableIns.reload({data: normalOutList});
+        layer.closeAll();
+    }
+</script>
+</html>
\ No newline at end of file

--
Gitblit v1.9.1