From 730b8f59c9d54ab30d343fce6f96fd1e96eefdd4 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期一, 13 七月 2020 11:08:55 +0800
Subject: [PATCH] #

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

diff --git a/src/main/webapp/views/pda/stockOut.html b/src/main/webapp/views/pda/stockOut.html
index 7264fe5..2b96608 100644
--- a/src/main/webapp/views/pda/stockOut.html
+++ b/src/main/webapp/views/pda/stockOut.html
@@ -10,8 +10,399 @@
     <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>
+        * {
+            font-family: microsoft yahei,serif;
+            margin: 0;
+            padding: 0;
+            box-sizing: border-box;
+            -webkit-box-sizing: border-box;
+            -moz-box-sizing: border-box;
+            font-size: 11px;
+        }
+        html {
+            height: 100%;
+            background-color: #f1f1f1;
+            padding: 5px;
+        }
+        body {
+            height: 100%;
+            background-color: #fff;
+            border-radius: 5px;
+            box-shadow: 0 0 3px rgba(0,0,0,.3);
+            padding: 2px 5px;
+            position: relative;
+        }
+        /* 澶撮儴 */
+        header {
+            padding: 5px 0;
+        }
+        .layui-input-inline {
+            margin-bottom: 5px;
+        }
+        .layui-form-label {
+            width: initial;
+            padding: 2px 10px;
+        }
+        .layui-input {
+            width: 75%;
+            height: 25px;
+            margin-right: 0;
+        }
+        /* layer */
+        .layui-layer-title {
+            font-size: 11px;
+            height: 20px;
+            line-height: 20px;
+        }
+        /* 涓讳綋 */
+        main {
+            height: 150px;
+            overflow: auto;
+        }
+        .layui-table, .layui-table-view {
+            margin: 0;
+        }
+        .layui-table-view .layui-table td, .layui-table-view .layui-table th {
+            padding: 0;
+        }
+        .layui-table-cell {
+            height: 22px;
+            line-height: 22px;
+            padding: 0;
+        }
+        .layui-table-grid-down {
+            display: none;
+        }
+        .layui-form-checkbox[lay-skin=primary] {
+            height: 15px;
+            width: 15px;
+        }
+        .layui-table-view .layui-form-checkbox[lay-skin=primary] i {
+            height: 15px;
+            width: 15px;
+        }
+        /* 灏鹃儴 */
+        footer {
+            position: absolute;
+            bottom: 5px;
+            width: 100%;
+        }
+
+        .site-list {
+            padding: 2px 0;
+            height: 22px;
+            margin-bottom: 5px;
+        }
+        .site-list label {
+            padding-right: 15px;
+        }
+        .site-list label span {
+            vertical-align: middle;
+            font-size: 13px;
+        }
+
+        .cool-checkbox:checked {
+            background:#1673ff
+        }
+        .cool-checkbox {
+            width:15px;
+            height:15px;
+            background-color:#ffffff;
+            border:solid 1px #dddddd;
+            -webkit-border-radius:50%;
+            border-radius:50%;
+            font-size:15px;
+            margin:0 5px 0 0;
+            padding:0;
+            position:relative;
+            display:inline-block;
+            vertical-align:middle;
+            cursor:default;
+            -webkit-appearance:none;
+            -webkit-user-select:none;
+            user-select:none;
+            -webkit-transition:background-color ease 0.1s;
+            transition:background-color ease 0.1s;
+        }
+        .cool-checkbox:checked::after {
+            content:'';
+            top:3px;
+            left:3px;
+            position:absolute;
+            background:transparent;
+            border:#fff solid 2px;
+            border-top:none;
+            border-right:none;
+            height:3px;
+            width:6px;
+            -moz-transform:rotate(-45deg);
+            -ms-transform:rotate(-45deg);
+            -webkit-transform:rotate(-45deg);
+            transform:rotate(-45deg);
+        }
+
+        .layui-btn-container .layui-btn {
+            margin-left: 10px;
+            margin-bottom: 2px;
+        }
+        #tips {
+            display: inline-block;
+            width: 90px;
+            color: #666;
+            margin-left: 5px;
+            margin-bottom: 5px;
+            vertical-align: middle;
+            overflow:hidden;
+            white-space:nowrap;
+            text-overflow:ellipsis;
+        }
+
+        .layui-btn-primary:hover {
+            border-color: #C9C9C9
+        }
+    </style>
 </head>
 <body>
-
+<!-- 澶撮儴 -->
+<header>
+    <div class="layui-input-inline">
+        <label class="layui-form-label">搴撲綅</label>
+        <input class="layui-input" type="text" id="locNo" onkeyup="findByLocNo(this)" autocomplete="off">
+    </div>
+    <div class="layui-input-inline">
+        <label class="layui-form-label">鐗╂枡</label>
+        <input class="layui-input" type="text" id="matNo" onkeyup="findByMatNo(this)" autocomplete="off">
+    </div>
+</header>
+<!-- 涓讳綋 -->
+<main>
+    <table class="layui-table" id="dataByLoc" lay-filter="dataByLoc"></table>
+</main>
+<!-- 灏鹃儴 -->
+<footer>
+    <!-- 鍑哄簱鍙� -->
+    <div class="site-list">
+        <span style="display: inline-block; padding:0 0 0 10px; font-size: 12px;">鍑哄簱鍙o細</span>
+    </div>
+    <div class="layui-btn-container">
+        <button type="button" class="layui-btn layui-btn-xs layui-btn-primary" onclick="reset()">閲嶇疆</button>
+        <button type="button" class="layui-btn layui-btn-normal  layui-btn-xs" 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});
+                    }
+                } 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:30},
+                {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%', '77%'],
+                        content: 'locDetlIframe.html',
+                        success: function(layero, index){
+                            // 璁剧疆寮圭獥鏍峰紡
+                            $('.layui-layer-title').css('height', '20px').css('line-height', '20px').css('font-size', '12px').css('padding-left', '10px')
+                            $('.layui-layer-setwin').css("top", '2px').css('right', '3px');
+                            // 娉ㄥ叆鍊�
+                            let el = layer.getChildFrame('.form-box', index);
+                            for (var val in data) {
+                                var find = el.find(":input[id='" + val + "']");
+                                find.val(data[val]);
+                            }
+                        }
+                    });
+                    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 = $("#outSitesTemplate").html();
+                    var template = Handlebars.compile(tpl);
+                    var html = template(res);
+                    $('.site-list').append(html);
+                } 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);
+            document.getElementById("locNo").focus();
+            return;
+        }
+        let site = $('input:radio[name="site"]:checked').next("span").html();
+        if (null === site || undefined === 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});
+        $('input:radio[name="site"]').prop('checked',false);
+        tips("");
+    }
+
+    /**
+     * 鎻愮ず淇℃伅
+     * @param msg 鎻愮ず鍐呭
+     * @param warn true锛氱孩鑹插瓧浣�
+     */
+    function tips(msg, warn) {
+        let tips = $('#tips');
+        tips.html(msg);
+        tips.css("color", warn?"red":'#666');
+    }
+</script>
+<script type="text/template" id="outSitesTemplate">
+    {{#each data}}
+    <label><input class="cool-checkbox" type="radio" name="site"><span>{{this}}</span></label>
+    {{/each}}
+</script>
 </html>
\ No newline at end of file

--
Gitblit v1.9.1