|  |  | 
 |  |  |     <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/admin.css?v=318" media="all"> | 
 |  |  |     <link rel="stylesheet" href="../../static/css/cool.css" media="all"> | 
 |  |  |     <link rel="stylesheet" href="../../static/css/common.css" media="all"> | 
 |  |  |     <style> | 
 |  |  | 
 |  |  |         #data-search-btn.layui-btn-container .layui-btn { | 
 |  |  |             margin-right: 20px; | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |     </style> | 
 |  |  | </head> | 
 |  |  | <body> | 
 |  |  | 
 |  |  |     <legend>搜索栏</legend> | 
 |  |  |     <!-- 搜索栏 --> | 
 |  |  |     <div id="search-box" class="layui-form layui-card-header"> | 
 |  |  | <!--        <div class="layui-input-inline" style="margin-top: -10px">--> | 
 |  |  | <!--            <select id="crnNo" name="crnNo">--> | 
 |  |  | <!--                <option value="" style="display: none">请选择巷道</option>--> | 
 |  |  | <!--                <option value="1">1号</option>--> | 
 |  |  | <!--                <option value="2">2号</option>--> | 
 |  |  | <!--                <option value="3">3号</option>--> | 
 |  |  | <!--                <option value="4">4号</option>--> | 
 |  |  | <!--            </select>--> | 
 |  |  | <!--        </div>--> | 
 |  |  |         <div class="layui-inline"> | 
 |  |  |             <div class="layui-input-inline cool-auto-complete"> | 
 |  |  |                 <input id="crnNo" class="layui-input" name="crnNo" type="text" placeholder="请输入" autocomplete="off" style="display: none"> | 
 |  |  |                 <input id="crnNo$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="堆垛机号" onfocus=this.blur()> | 
 |  |  |                 <div class="cool-auto-complete-window"> | 
 |  |  |                     <input class="cool-auto-complete-window-input" data-key="basCrnpQueryBycrnNo" onkeyup="autoLoad(this.getAttribute('data-key'))"> | 
 |  |  |                     <select class="cool-auto-complete-window-select" data-key="basCrnpQueryBycrnNoSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> | 
 |  |  |                     </select> | 
 |  |  |                 </div> | 
 |  |  |             </div> | 
 |  |  |         </div> | 
 |  |  |         <div class="layui-inline"> | 
 |  |  |             <div class="layui-input-inline"> | 
 |  |  |                 <input class="layui-input" type="text" name="loc_no" placeholder="库位号" autocomplete="off"> | 
 |  |  | 
 |  |  |         </div> | 
 |  |  |         <div class="layui-inline"> | 
 |  |  |             <div class="layui-input-inline"> | 
 |  |  |                 <input class="layui-input" type="text" name="matnr" placeholder="物料号"  autocomplete="off"> | 
 |  |  |                 <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="maktx" placeholder="物料描述" autocomplete="off"> | 
 |  |  |                 <input class="layui-input" type="text" name="batch" placeholder="批号"  autocomplete="off"> | 
 |  |  |             </div> | 
 |  |  |         </div> | 
 |  |  |         <div class="layui-inline"> | 
 |  |  |             <div class="layui-input-inline"> | 
 |  |  |                 <input class="layui-input" type="text" name="specs" placeholder="规格"  autocomplete="off"> | 
 |  |  |             </div> | 
 |  |  |         </div> | 
 |  |  | <!--        <div class="layui-inline">--> | 
 |  |  | <!--            <div class="layui-input-inline">--> | 
 |  |  | <!--                <input class="layui-input" type="text" name="maktx" placeholder="物料描述" autocomplete="off">--> | 
 |  |  | <!--            </div>--> | 
 |  |  | <!--        </div>--> | 
 |  |  |         <div class="layui-inline"> | 
 |  |  |             <div class="layui-input-inline"> | 
 |  |  |                 <select name="frozen" class="layui-input" type="text" autocomplete="off"> | 
 |  |  |                     <option value="">冻结否</option> | 
 |  |  |                     <option value="0">未冻结</option> | 
 |  |  |                     <option value="1">已冻结</option> | 
 |  |  |                 </select> | 
 |  |  |             </div> | 
 |  |  |         </div> | 
 |  |  |         <!-- 日期范围 --> | 
 |  |  | 
 |  |  | </body> | 
 |  |  | <script> | 
 |  |  |  | 
 |  |  |     var pageCurr; | 
 |  |  |     layui.use(['table','laydate', 'form'], function() { | 
 |  |  |     function getCol() { | 
 |  |  |         let cols = [ | 
 |  |  |             {type: 'checkbox', merge: ['locNo']} | 
 |  |  |             ,{field: 'locNo', align: 'center',title: '库位号', merge: true, style: 'font-weight: bold'} | 
 |  |  |         ]; | 
 |  |  |         cols.push.apply(cols, detlCols); | 
 |  |  |         cols.push({field: 'modiUser$', align: 'center',title: '修改人员', hide: true} | 
 |  |  |             ,{field: 'modiTime$', align: 'center',title: '修改时间'}) | 
 |  |  |         return cols; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     layui.config({ | 
 |  |  |         base: baseUrl + "/static/layui/lay/modules/" | 
 |  |  |     }).use(['table','laydate', 'form', 'admin', 'tableMerge'], function() { | 
 |  |  |         var table = layui.table; | 
 |  |  |         var $ = layui.jquery; | 
 |  |  |         var layer = layui.layer; | 
 |  |  |         var layDate = layui.laydate; | 
 |  |  |         var form = layui.form; | 
 |  |  |         var admin = layui.admin; | 
 |  |  |         var tableMerge = layui.tableMerge; | 
 |  |  |  | 
 |  |  |         // 数据渲染 | 
 |  |  |         locDetlTableIns = table.render({ | 
 |  |  |             elem: '#stockOut', | 
 |  |  |             headers: {token: localStorage.getItem('token')}, | 
 |  |  |             url: baseUrl+'/stock/out/list/auth', | 
 |  |  |             page: true, | 
 |  |  |             limit: 10, | 
 |  |  |             limit: 20, | 
 |  |  |             limits: [20, 50, 100, 200, 500], | 
 |  |  |             even: true, | 
 |  |  |             toolbar: '#toolbar', | 
 |  |  |             cellMinWidth: 50, | 
 |  |  |             cols: [[ | 
 |  |  |                 {type: 'checkbox', event: '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: '物料描述'} | 
 |  |  |                 // ,{field: 'werks', align: 'center',title: '工厂'} | 
 |  |  |                 ,{field: 'anfme', align: 'center',title: '数量'} | 
 |  |  |                 ,{field: 'altme', align: 'center',title: '单位'} | 
 |  |  |                 ,{field: 'zpallet', align: 'center',title: '托盘条码'} | 
 |  |  |                 // ,{field: 'bname', align: 'center',title: '用户ID'} | 
 |  |  |                 // ,{field: 'memo', align: 'center',title: '备注'} | 
 |  |  |                 ,{field: 'modiUser$', align: 'center',title: '修改人员', hide: true} | 
 |  |  |                 ,{field: 'modiTime$', align: 'center',title: '修改时间'} | 
 |  |  |  | 
 |  |  |             ]], | 
 |  |  |             cols: [getCol()], | 
 |  |  |             request: { | 
 |  |  |                 pageName: 'curr', | 
 |  |  |                 pageSize: 'limit' | 
 |  |  | 
 |  |  |                 statusCode: 200 | 
 |  |  |             }, | 
 |  |  |             done: function(res, curr, count) { | 
 |  |  |                 tableMerge.render(this); | 
 |  |  |                 if (res.code === 403) { | 
 |  |  |                     top.location.href = baseUrl+"/"; | 
 |  |  |                 } | 
 |  |  |                 pageCurr=curr; | 
 |  |  |             } | 
 |  |  |         }); | 
 |  |  |  | 
 |  |  | 
 |  |  |             switch(obj.event) { | 
 |  |  |                 case 'confirm': | 
 |  |  |                     if (data.length === 0){ | 
 |  |  |                         layer.msg("请选择数据"); | 
 |  |  |                         layer.msg("请选择数据", {icon: 2}); | 
 |  |  |                         return; | 
 |  |  |                     } | 
 |  |  |                     var locNos = []; | 
 |  |  |                     if (data.some(obj => obj.frozen === 1)) { | 
 |  |  |                         layer.msg("冻结的库存不允许出库!"); | 
 |  |  |                         return; | 
 |  |  |                     } | 
 |  |  |  | 
 |  |  |                     let locNos = []; | 
 |  |  |                     data.forEach(function(elem) { | 
 |  |  |                         locNos.push(elem.locNo); | 
 |  |  |                     }); | 
 |  |  | 
 |  |  |             } | 
 |  |  |         }); | 
 |  |  |  | 
 |  |  |         // 监听行工具事件 | 
 |  |  |         table.on('tool(stockOut)', function(obj) { | 
 |  |  |             var data = obj.data; | 
 |  |  |             switch (obj.event) { | 
 |  |  |                 case 'checkbox': | 
 |  |  |                     var currDom = obj.tr.children("td:first").children().children("div"); | 
 |  |  |                     console.log(currDom.attr("class")) | 
 |  |  |                     var otherDom = $("td[data-field=locNo\\$] div:contains("+ data.locNo +")").parent().prev().children().children("div"); | 
 |  |  |                     if (currDom.hasClass("layui-form-checked")){ | 
 |  |  |                         otherDom.addClass("layui-form-checked"); | 
 |  |  |                     } else { | 
 |  |  |                         otherDom.removeClass("layui-form-checked"); | 
 |  |  |                     } | 
 |  |  |                     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) { | 
 |  |  |     function tableReload() { | 
 |  |  |         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; | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |             where: searchData | 
 |  |  |         }); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     function clearFormVal(el) { | 
 |  |  |         $(':input', el) | 
 |  |  |             .val('') | 
 |  |  |             .removeAttr('checked') | 
 |  |  |             .removeAttr('selected'); | 
 |  |  |     } | 
 |  |  | </script> | 
 |  |  | </html> | 
 |  |  |  |