From 3817dc568be5e59f9c32401945e5a6dc139acc83 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期二, 16 六月 2020 16:35:30 +0800
Subject: [PATCH] #

---
 src/main/webapp/views/pakStore/stockOut.html     |  105 ++++++------
 src/main/webapp/views/pakStore/locDetlQuery.html |  225 ++++++++++++++++++++++++++++
 src/main/webapp/static/js/pakStore/pakStore.js   |    2 
 src/main/webapp/static/js/pakStore/stockOut.js   |   98 ++++++++---
 4 files changed, 344 insertions(+), 86 deletions(-)

diff --git a/src/main/webapp/static/js/pakStore/pakStore.js b/src/main/webapp/static/js/pakStore/pakStore.js
index 4f7129a..72b6a35 100644
--- a/src/main/webapp/static/js/pakStore/pakStore.js
+++ b/src/main/webapp/static/js/pakStore/pakStore.js
@@ -52,8 +52,6 @@
         }
     });
 
-
-
     // 椤甸潰淇敼
     table.on('edit(chooseData)', function (obj) {
         if (!isNaN(obj.value)) {
diff --git a/src/main/webapp/static/js/pakStore/stockOut.js b/src/main/webapp/static/js/pakStore/stockOut.js
index 728dc60..2c6d459 100644
--- a/src/main/webapp/static/js/pakStore/stockOut.js
+++ b/src/main/webapp/static/js/pakStore/stockOut.js
@@ -1,4 +1,6 @@
-var pageCurr;
+
+var locDetlData = [];
+
 layui.use(['table','laydate', 'form'], function() {
     var table = layui.table;
     var $ = layui.jquery;
@@ -6,11 +8,10 @@
     var layDate = layui.laydate;
     var form = layui.form;
 
-    // 鏁版嵁娓叉煋
     tableIns = table.render({
-        elem: '#stockOut',
+        elem: '#chooseData',
         headers: {token: localStorage.getItem('token')},
-        url: baseUrl+'/stock/out/list/auth',
+        data: [],
         page: true,
         limit: 10,
         even: true,
@@ -18,6 +19,7 @@
         cellMinWidth: 50,
         cols: [[
             {type: 'checkbox'}
+            ,{field: 'anfme', align: 'center',title: '鏁伴噺锛堣閫夋嫨锛�', edit:'text', width: 120,  style:'color: blue;font-weight: bold'}
             ,{field: 'locNo$', align: 'center',title: '搴撲綅鍙�'}
             ,{field: 'matnr', align: 'center',title: '鐗╂枡'}
             ,{field: 'lgnum', align: 'center',title: '浠撳簱鍙�', width:80}
@@ -26,12 +28,10 @@
             ,{field: 'zmatid', align: 'center',title: '鐗╂枡鏍囩ID', width:200}
             ,{field: 'maktx', align: 'center',title: '鐗╂枡鎻忚堪', width:150}
             ,{field: 'werks', align: 'center',title: '宸ュ巶'}
-            ,{field: 'anfme', align: 'center',title: '鏁伴噺', width:80}
             ,{field: 'altme', align: 'center',title: '鍗曚綅', width:80}
             ,{field: 'zpallet', align: 'center',title: '鎵樼洏鏉$爜'}
             ,{field: 'bname', align: 'center',title: '鐢ㄦ埛ID'}
-            // ,{field: 'memo', align: 'center',title: '澶囨敞'}
-
+            ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:80}
         ]],
         request: {
             pageName: 'curr',
@@ -62,35 +62,24 @@
                     res.data[_index][data.value] = 'N';
                 }
             });
-            getOutBound();
         }
     });
 
-    // 鐩戝惉鎺掑簭浜嬩欢
-    table.on('sort(stockOut)', function (obj) {
-        var searchData = {};
-        $.each($('#search-box [name]').serializeArray(), function() {
-            searchData[this.name] = this.value;
-        });
-        searchData['orderByField'] = obj.field;
-        searchData['orderByType'] = obj.type;
-        tableIns.reload({
-            where: searchData,
-            page: {
-                curr: 1
-            },
-            done: function (res, curr, count) {
-                if (res.code === 403) {
-                    top.location.href = baseUrl+"/";
-                }
-                pageCurr=curr;
-                limit();
-            }
-        });
+    // 椤甸潰淇敼
+    table.on('edit(chooseData)', function (obj) {
+        if (!isNaN(obj.value)) {
+            updateMatCodeData(obj.data.matNo, Number(obj.value));
+            tableIns.reload({data: locDetlData,done:function (res) {
+                    limit();
+                    // 瑕嗙洊render鏂规硶鐨刣one
+                }});
+        } else {
+            layer.msg("璇疯緭鍏ユ暟瀛�");
+        }
     });
 
     // 鐩戝惉澶村伐鍏锋爮浜嬩欢
-    table.on('toolbar(stockOut)', function (obj) {
+    table.on('toolbar(chooseData)', function (obj) {
         var data = table.checkStatus(obj.config.id).data;
         switch (obj.event) {
             case 'outbound':
@@ -132,6 +121,25 @@
         }
     });
 
+    // 鐩戝惉琛屽伐鍏蜂簨浠�
+    table.on('tool(chooseData)', function(obj){
+        var data = obj.data;
+        switch (obj.event) {
+            // 璇︽儏
+            case 'remove':
+                for (var i = locDetlData.length - 1; i >= 0; i--) {
+                    if (locDetlData[i].matNo === data.matNo) {
+                        locDetlData.splice(i, 1);
+                    }
+                }
+                tableIns.reload({data: locDetlData,done:function (res) {
+                        limit();
+                        // 瑕嗙洊render鏂规硶鐨刣one
+                    }});
+                break;
+        }
+    });
+
     // 鎼滅储鏍忔悳绱簨浠�
     form.on('submit(search)', function (data) {
         pageCurr = 1;
@@ -146,6 +154,21 @@
         tableReload();
         getOutBound();
     });
+
+    function setLocDetlData(data) {
+        locDetlData = data;
+        for (var i=0;i<locDetlData.length;i++){
+            locDetlData[i]["count"] = initCountVal;
+        }
+    }
+
+    function updateLocDetleData(matNo, count) {
+        for (var i=0;i<locDetlData.length;i++){
+            if (locDetlData[i]["matNo"] === matNo){
+                matCodeData[i]["count"] = count;
+            }
+        }
+    }
 
     // 鑾峰彇鍑哄簱鍙�
     function getOutBound(){
@@ -200,3 +223,18 @@
         }
     });
 }
+
+// 鎻愬彇鐗╂枡
+var locDetlLayerIdx;
+function getLocDetl() {
+    locDetlLayerIdx = layer.open({
+        type: 2,
+        title: '鎻愬彇鐗╂枡',
+        maxmin: true,
+        area: [top.detailWidth, top.detailHeight],
+        shadeClose: true,
+        content: 'locDetlQuery.html',
+        success: function(layero, index){
+        }
+    });
+}
diff --git a/src/main/webapp/views/pakStore/locDetlQuery.html b/src/main/webapp/views/pakStore/locDetlQuery.html
new file mode 100644
index 0000000..048cbe2
--- /dev/null
+++ b/src/main/webapp/views/pakStore/locDetlQuery.html
@@ -0,0 +1,225 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta 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">
+    <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all">
+    <link rel="stylesheet" href="../../static/css/cool.css" media="all">
+    <link rel="stylesheet" href="../../static/css/common.css" media="all">
+    <style>
+        body {
+            padding: 0 20px;
+        }
+        .layui-table-box {
+            border-right: 1px solid #9F9F9F;
+            border-left: 1px solid #9F9F9F;
+        }
+
+        #search-box {
+            padding: 30px 0 20px 0;
+        }
+        #search-box .layui-inline:first-child {
+            margin-left: 30px;
+        }
+        #search-box .layui-inline {
+            margin-right: 5px;
+        }
+
+        #data-search-btn {
+            margin-left: 10px;
+            display: inline-block;
+        }
+        #data-search-btn.layui-btn-container .layui-btn {
+            margin-right: 20px;
+        }
+    </style>
+</head>
+<body>
+
+<!-- 鎼滅储鏍� -->
+<fieldset class="layui-elem-field site-demo-button" style="margin: 20px;">
+    <legend>鎼滅储鏍�</legend>
+    <!-- 鎼滅储鏍� -->
+    <div id="search-box" class="layui-form layui-card-header">
+        <div class="layui-inline">
+            <div class="layui-input-inline">
+                <input class="layui-input" type="text" name="loc_no" placeholder="搴撲綅鍙�" autocomplete="off">
+            </div>
+        </div>
+        <div class="layui-inline">
+            <div class="layui-input-inline">
+                <input class="layui-input" type="text" name="matnr" placeholder="绠卞彿/鎵瑰彿"  autocomplete="off">
+            </div>
+        </div>
+        <div class="layui-inline">
+            <div class="layui-input-inline">
+                <input class="layui-input" type="text" name="mat_name" placeholder="鐗╂枡鍚嶇О" autocomplete="off">
+            </div>
+        </div>
+
+        <!-- 寰呮坊鍔� -->
+        <div id="data-search-btn" class="layui-btn-container layui-form-item" style="display: inline-block">
+            <button id="search" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="search">鎼滅储</button>
+            <button id="reset" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="reset">閲嶇疆</button>
+        </div>
+    </div>
+</fieldset>
+
+<script type="text/html" id="toolbar">
+    <div class="layui-btn-container">
+        <button class="layui-btn" id="btn-confirm" lay-event="confirm" style="">鎻愬彇</button>
+    </div>
+</script>
+
+<div class="layui-form">
+    <table class="layui-hide" id="stockOut" lay-filter="stockOut"></table>
+</div>
+
+<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>
+
+</body>
+<script>
+
+    var pageCurr;
+    layui.use(['table','laydate', 'form'], function() {
+        var table = layui.table;
+        var $ = layui.jquery;
+        var layer = layui.layer;
+        var form = layui.form;
+        // 鏁版嵁娓叉煋
+        locDetlTableIns = table.render({
+            elem: '#stockOut',
+            headers: {token: localStorage.getItem('token')},
+            url: baseUrl+'/stock/out/list/auth',
+            page: true,
+            limit: 10,
+            even: true,
+            toolbar: '#toolbar',
+            cellMinWidth: 50,
+            cols: [[
+                {type: 'checkbox'}
+                ,{field: 'locNo$', align: 'center',title: '搴撲綅鍙�'}
+                ,{field: 'matnr', align: 'center',title: '鐗╂枡'}
+                ,{field: 'lgnum', align: 'center',title: '浠撳簱鍙�', width:80}
+                ,{field: 'tbnum', align: 'center',title: '杞偍璇锋眰缂栧彿'}
+                // ,{field: 'tbpos', align: 'center',title: '琛岄」鐩�'}
+                ,{field: 'zmatid', align: 'center',title: '鐗╂枡鏍囩ID', width:200}
+                ,{field: 'maktx', align: 'center',title: '鐗╂枡鎻忚堪', width:150}
+                ,{field: 'werks', align: 'center',title: '宸ュ巶'}
+                ,{field: 'anfme', align: 'center',title: '鏁伴噺', width:80}
+                ,{field: 'altme', align: 'center',title: '鍗曚綅', width:80}
+                ,{field: 'zpallet', align: 'center',title: '鎵樼洏鏉$爜'}
+                ,{field: 'bname', align: 'center',title: '鐢ㄦ埛ID'}
+                // ,{field: 'memo', align: 'center',title: '澶囨敞'}
+
+            ]],
+            request: {
+                pageName: 'curr',
+                pageSize: 'limit'
+            },
+            parseData: function (res) {
+                return {
+                    'code': res.code,
+                    'msg': res.msg,
+                    'count': res.data.total,
+                    'data': res.data.records
+                }
+            },
+            response: {
+                statusCode: 200
+            },
+            done: function(res, curr, count) {
+                if (res.code === 403) {
+                    top.location.href = baseUrl+"/";
+                }
+                pageCurr=curr;
+                limit();
+                form.on('checkbox(tableCheckbox)', function (data) {
+                    var _index = $(data.elem).attr('table-index')||0;
+                    if(data.elem.checked){
+                        res.data[_index][data.value] = 'Y';
+                    }else{
+                        res.data[_index][data.value] = 'N';
+                    }
+                });
+            }
+        });
+
+        // 鐩戝惉澶村伐鍏锋爮浜嬩欢
+        table.on('toolbar(stockOut)', function (obj) {
+            var checkStatus = table.checkStatus(obj.config.id);
+            var data = checkStatus.data;
+            switch(obj.event) {
+                case 'confirm':
+                    if (data.length === 0){
+                        layer.msg("璇烽�夋嫨鏁版嵁");
+                        return;
+                    }
+                    for (var i=0;i<data.length;i++){
+                        data[i]["count"] = parent.initCountVal;
+                    }
+                    parent.locDetlData.push.apply(parent.locDetlData, data);
+                    parent.tableIns.reload({data: parent.locDetlData});
+                    parent.layer.close(parent.locDetlLayerIdx);
+                    break;
+            }
+        });
+
+        // 鎼滅储鏍忔悳绱簨浠�
+        form.on('submit(search)', function (data) {
+            pageCurr = 1;
+            tableReload();
+        });
+
+        // 鎼滅储鏍忛噸缃簨浠�
+        form.on('submit(reset)', function (data) {
+            pageCurr = 1;
+            clearFormVal($('#search-box'));
+            tableReload();
+        });
+    })
+
+    function tableReload(child) {
+        var searchData = {};
+        $.each($('#search-box [name]').serializeArray(), function() {
+            searchData[this.name] = this.value;
+        });
+        locDetlTableIns.reload({
+            where: searchData,
+            page: {
+                curr: pageCurr
+            },
+            done: function (res, curr, count) {
+                if (res.code === 403) {
+                    top.location.href = baseUrl+"/";
+                }
+                pageCurr=curr;
+                if (res.data.length === 0 && count !== 0) {
+                    locDetlTableIns.reload({
+                        where: searchData,
+                        page: {
+                            curr: pageCurr-1
+                        }
+                    });
+                    pageCurr -= 1;
+                }
+            }
+        });
+    }
+
+    function clearFormVal(el) {
+        $(':input', el)
+            .val('')
+            .removeAttr('checked')
+            .removeAttr('selected');
+    }
+</script>
+</html>
+
diff --git a/src/main/webapp/views/pakStore/stockOut.html b/src/main/webapp/views/pakStore/stockOut.html
index 959defd..efbd955 100644
--- a/src/main/webapp/views/pakStore/stockOut.html
+++ b/src/main/webapp/views/pakStore/stockOut.html
@@ -22,23 +22,7 @@
             padding-bottom: 20px;
         }
 
-        #search-box {
-            padding: 30px 0 20px 0;
-        }
-        #search-box .layui-inline:first-child {
-            margin-left: 30px;
-        }
-        #search-box .layui-inline {
-            margin-right: 5px;
-        }
 
-        #data-search-btn {
-            margin-left: 10px;
-            display: inline-block;
-        }
-        #data-search-btn.layui-btn-container .layui-btn {
-            margin-right: 20px;
-        }
 
         #staNoSpan {
             text-align: center;
@@ -67,51 +51,64 @@
             display: none;
         }
 
+        /*----------------------------------*/
+        .function-area {
+            padding: 20px 50px;
+        }
+        .function-btn {
+            font-size: 16px;
+            padding: 1px 1px 1px 1px;
+            width: 100px;
+            height: 50px;
+            border-color: #2b425b;
+            border-radius: 4px;
+            border-width: 2px;
+            background: none;
+            border-style: solid;
+            transition: 0.4s;
+            cursor: pointer;
+            letter-spacing: 3px;
+        }
+        .function-btn:hover {
+            background-color: #2b425b;
+            color: #fff;
+        }
     </style>
 </head>
 <body>
 
-<!-- 鎼滅储鏍� -->
-<!-- 鎼滅储鏍� -->
-<div id="search-box" class="layui-form layui-card-header">
-    <div class="layui-inline">
-        <div class="layui-input-inline">
-            <input class="layui-input" type="text" name="loc_no" placeholder="搴撲綅鍙�" autocomplete="off">
-        </div>
-    </div>
-    <div class="layui-inline">
-        <div class="layui-input-inline">
-            <input class="layui-input" type="text" name="matnr" placeholder="绠卞彿/鎵瑰彿"  autocomplete="off">
-        </div>
-    </div>
-    <div class="layui-inline">
-        <div class="layui-input-inline">
-            <input class="layui-input" type="text" name="mat_name" placeholder="鐗╂枡鍚嶇О" autocomplete="off">
-        </div>
-    </div>
-
-    <!-- 寰呮坊鍔� -->
-    <div id="data-search-btn" class="layui-btn-container layui-form-item" style="display: inline-block">
-        <button id="search" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="search">鎼滅储</button>
-        <button id="reset" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="reset">閲嶇疆</button>
-    </div>
+<!-- 鍔熻兘鍖� -->
+<div class="function-area">
+    <button id="mat-query" class="function-btn" onclick="getLocDetl()">鏂板</button>
 </div>
 
-<script type="text/html" id="toolbar">
-    <div class="layui-form">
-        <div class="layui-btn-container">
-            <!-- 1.閫夋嫨鍑哄簱鍙� -->
-            <span id="staNoSpan">鍑哄簱鍙o細</span>
-            <select id="staNoSelect" lay-verify="required">
-                <option value="">璇烽�夋嫨绔欑偣</option>
-            </select>
-            <!-- 2.鍚姩鍑哄簱 -->
-            <button class="layui-btn layui-btn-lg" id="btn-outbound" lay-event="outbound">鍚姩鍑哄簱</button>
-        </div>
-    </div>
-</script>
+<hr>
 
-<table class="layui-hide" id="stockOut" lay-filter="stockOut"></table>
+<!-- 琛ㄦ牸 -->
+<div style="padding-bottom: 5px; margin-bottom: 45px">
+
+    <!-- 澶撮儴 -->
+    <script type="text/html" id="toolbar">
+        <div class="layui-form">
+            <div class="layui-btn-container">
+                <!-- 1.閫夋嫨鍑哄簱鍙� -->
+                <span id="staNoSpan">鍑哄簱鍙o細</span>
+                <select id="staNoSelect" lay-verify="required">
+                    <option value="">璇烽�夋嫨绔欑偣</option>
+                </select>
+                <!-- 2.鍚姩鍑哄簱 -->
+                <button class="layui-btn layui-btn-lg" id="btn-outbound" lay-event="outbound">鍚姩鍑哄簱</button>
+            </div>
+        </div>
+    </script>
+
+    <!-- 琛� -->
+    <script type="text/html" id="operate">
+        <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="remove">绉婚櫎</a>
+    </script>
+
+    <table class="layui-table" id="chooseData" lay-filter="chooseData"></table>
+</div>
 
 <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>

--
Gitblit v1.9.1