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 |  254 +++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 219 insertions(+), 35 deletions(-)

diff --git a/src/main/webapp/views/pda/stockOut.html b/src/main/webapp/views/pda/stockOut.html
index 4795bb0..2b96608 100644
--- a/src/main/webapp/views/pda/stockOut.html
+++ b/src/main/webapp/views/pda/stockOut.html
@@ -88,16 +88,74 @@
             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 {
@@ -110,22 +168,22 @@
 <header>
     <div class="layui-input-inline">
         <label class="layui-form-label">搴撲綅</label>
-        <input class="layui-input" type="text" id="locNo" onkeyup="findLocDetl(this)" autocomplete="off">
+        <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" autocomplete="off">
+        <input class="layui-input" type="text" id="matNo" onkeyup="findByMatNo(this)" autocomplete="off">
     </div>
 </header>
 <!-- 涓讳綋 -->
 <main>
-    <table class="layui-table" id="dataByLoc" lay-filter="chooseData"></table>
+    <table class="layui-table" id="dataByLoc" lay-filter="dataByLoc"></table>
 </main>
 <!-- 灏鹃儴 -->
 <footer>
     <!-- 鍑哄簱鍙� -->
     <div class="site-list">
-        <span style="display: inline-block; margin:0 0 0 10px; font-size: 12px">鍑哄簱鍙o細</span>
+        <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>
@@ -144,33 +202,103 @@
     /**
      * 鏍规嵁搴撲綅鍙锋煡鎵惧簱瀛樻槑缁�
      */
-    function findLocDetl(el){
+    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 + "/matCode/auth",
+            url: baseUrl + "/mobile/locDetl",
             headers: {'token': localStorage.getItem('token')},
             data: {
-                id: el.value
+                locNo: locNo,
+                matNo: matNo
             },
             method: 'POST',
             success: function (res) {
                 if (res.code === 200) {
                     if (res.data != null) {
-                        $('#matName').val(res.data.matName);
-                        $('#str1').val(res.data.str1);
-                        $('#str2').val(res.data.str2);
-                        countDom.focus().val(initMatCount)
+                        locDetlData = res.data;
+                        tableIns.reload({data: locDetlData});
                     }
                 } else if (res.code === 403) {
                     top.location.href = baseUrl + "/pda";
                 } else {
-                    alert(res.msg)
+                    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(){
@@ -184,37 +312,93 @@
                     var tpl = $("#outSitesTemplate").html();
                     var template = Handlebars.compile(tpl);
                     var html = template(res);
-                    $('#site-list').append(html);
+                    $('.site-list').append(html);
                 } else if (res.code === 403){
-                    top.location.href = baseUrl+"/";
+                    top.location.href = baseUrl+"/pda";
                 }else {
-                    layer.msg(res.msg)
+                    tips("鑾峰彇鍑哄簱鍙eけ璐�", true)
                 }
             }
         })
     }
 
-    layui.use(['table','laydate', 'form'], function() {
-        var table = layui.table;
-        var $ = layui.jquery;
-        var layer = layui.layer;
-        var form = layui.form;
-
-        tableIns = table.render({
-            elem: '#dataByLoc',
-            data: [],
-            limit: 500,
-            cellMinWidth: 50,
-            cols: [[
-                {type: 'checkbox', fixed: 'left', width:30},
-                {fixed: 'left', align: 'center', field: 'count', title: '閲�', style:'color: blue', width:30},
-                {field: 'matNo', align: 'center', title: '鐗╂枡缂栫爜'},
-                {field: 'matName', align: 'center', title: '鐗╂枡鍚嶇О'}
-            ]],
-            done: function (res, curr, count) {
+    // 鍑哄簱
+    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}}

--
Gitblit v1.9.1