src/main/java/com/zy/asrs/controller/LocDetlController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/mapper/LocDetlMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/service/LocDetlService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/mapper/LocDetlMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/webapp/static/js/locDetlGroup/locDetlGroup.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/webapp/static/js/report/locMap.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/webapp/static/js/stoMan/stoQue.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/webapp/views/locDetlGroup/locDetlGroup.html | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/webapp/views/locDetlGroup/locDetl_detail.html | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/zy/asrs/controller/LocDetlController.java
@@ -24,6 +24,7 @@ import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.net.URLEncoder; import java.text.SimpleDateFormat; import java.util.*; @RestController @@ -276,4 +277,89 @@ return R.ok(sum); } /**********************************************************异常库存相关controller**********************************************************/ @RequestMapping(value = "/locDetl/grouplist/auth") @ManagerAuth public R groupList(@RequestParam(defaultValue = "1")Integer curr, @RequestParam(defaultValue = "10")Integer limit, @RequestParam(required = false)String orderByField, @RequestParam(required = false)String orderByType, @RequestParam(required = false)String condition, @RequestParam Map<String, Object> param){ List<LocDetl> result = new ArrayList<>(); // excludeTrash(param); param.put("curr",curr); param.put("limit",limit); List<LocDetl> groupLocDetl = locDetlService.selectGroupPage(param,curr,limit); for (LocDetl locDetl : groupLocDetl) { Mat mat = matService.selectOne(new EntityWrapper<Mat>() .eq("matnr", locDetl.getMatnr())); if (Cools.isEmpty(mat) || Cools.isEmpty(mat.getStoreMax()) || Cools.isEmpty(mat.getStoreMaxDate()) || Cools.isEmpty(mat.getStoreMin())) { continue; } if (mat.getMatnr().equals("LPJ.JSJ.QFS.017")){ System.out.println("\"LPJ.JSJ.QFS.017\" = " + "LPJ.JSJ.QFS.017"); } if (locDetl.getAnfme() > mat.getStoreMax()){ result.add(locDetl); continue; } if (locDetl.getAnfme() < mat.getStoreMin()){ result.add(locDetl); continue; } if (Cools.isEmpty(locDetl.getBatch())) { continue; } if (locDetl.getBatch().length() != 8){ continue; } try{ SimpleDateFormat simple = new SimpleDateFormat("yyyyMMdd"); Date maxDate = simple.parse(locDetl.getBatch()); Calendar calendar = new GregorianCalendar(); calendar.setTime(maxDate); // 把日期往后增加一天,整数 往后推,负数往前移动 calendar.add(Calendar.DATE, mat.getStoreMaxDate()); // 这个时间就是日期往后推一天的结果 maxDate = calendar.getTime(); Date now = new Date(); if (now.compareTo(maxDate) > 0) { result.add(locDetl); } }catch (Exception e){ continue; } } Page<LocDetl> locDetlPage = new Page<>(); locDetlPage.setRecords(paging(result,curr,limit)); locDetlPage.setTotal(result.size()); locDetlPage.setCurrent(curr); locDetlPage.setSize(limit); return R.ok(locDetlPage); } private List<LocDetl> paging(List<LocDetl> result, Integer curr, Integer limit) { List<LocDetl> pageRecord = new ArrayList<LocDetl>(); int minIndex = (curr - 1) * limit; int maxIndex = (curr * limit) - 1; if (result.size() < maxIndex){ maxIndex = result.size(); } for (int i = minIndex; i < maxIndex; i++){ pageRecord.add(result.get(i)); } return pageRecord; } } src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
@@ -66,4 +66,6 @@ List<LocDetl> unreason(); Double selectSumByMatnr(@Param("matnr") String matnr); List<LocDetl> selectGroupPage(Map<String, Object> param); } src/main/java/com/zy/asrs/service/LocDetlService.java
@@ -6,6 +6,7 @@ import com.zy.asrs.entity.result.StockVo; import java.util.List; import java.util.Map; import java.util.Set; public interface LocDetlService extends IService<LocDetl> { @@ -59,4 +60,6 @@ List<LocDetl> unreason(); Double selectSumByMatnr(String matnr); List<LocDetl> selectGroupPage(Map<String, Object> param, Integer curr, Integer limit); } src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
@@ -11,6 +11,7 @@ import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Set; @Service("locDetlService") @@ -127,6 +128,11 @@ } } @Override public List<LocDetl> selectGroupPage(Map<String, Object> param, Integer curr, Integer limit) { return this.baseMapper.selectGroupPage(param); } @Override public LocDetl selectItem(String locNo, String matnr, String batch) { src/main/resources/mapper/LocDetlMapper.xml
@@ -102,6 +102,22 @@ </if> </sql> <sql id="groupListCondition"> <if test="matnr!=null and matnr!='' "> and matnr like '%' + #{matnr} + '%' </if> <if test="maktx!=null and maktx!='' "> and maktx like '%' + #{maktx} + '%' </if> <if test="specs!=null and specs!='' "> and specs like '%' + #{specs} + '%' </if> <if test="batch!=null and batch!='' "> and batch like '%' + #{batch} + '%' </if> </sql> <select id="getStockOutPage" resultMap="BaseResultMap"> select * from ( @@ -390,5 +406,10 @@ <select id="selectSumByMatnr" resultType="java.lang.Double"> select sum(anfme) FROM asr_loc_detl WHERE matnr = #{matnr} </select> <select id="selectGroupPage" resultMap="BaseResultMap" parameterType="java.util.Map"> SELECT * FROM [dbo].[asr_loc_detl_group] WHERE 1 = 1 <include refid="groupListCondition"></include> </select> </mapper> src/main/webapp/static/js/locDetlGroup/locDetlGroup.js
New file @@ -0,0 +1,551 @@ var pageCurr; function getCol() { var cols = [ {field: 'matnr', align: 'center',title: '物料号', sort:true} ,{field: 'maktx', align: 'center',title: '物料名称', sort:true} ,{field: 'specs', align: 'center',title: '规格'} ,{field: 'batch', align: 'center',title: '批号', width: 300, sort:true} ,{field: 'anfme', align: 'center',title: '数量'} ]; return cols; } layui.use(['table','laydate', 'form'], function(){ var table = layui.table; var $ = layui.jquery; var layer = layui.layer; var layDate = layui.laydate; var form = layui.form; // 数据渲染 tableIns = table.render({ elem: '#locDetl', headers: {token: localStorage.getItem('token')}, url: baseUrl+'/locDetl/grouplist/auth', page: true, limit: 20, limits: [20, 30, 50, 100, 200, 500], even: true, toolbar: '#toolbar', cellMinWidth: 50, cols: [getCol()], 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('sort(locDetl)', 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('toolbar(locDetl)', function (obj) { var checkStatus = table.checkStatus(obj.config.id); switch(obj.event) { case 'addData': layer.open({ type: 2, title: '新增', maxmin: true, area: [top.detailWidth, top.detailHeight], shadeClose: false, content: 'locDetl_detail.html', success: function(layero, index){ layer.getChildFrame('#data-detail-submit-edit', index).hide(); clearFormVal(layer.getChildFrame('#detail', index)); layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); } }); break; case 'refreshData': tableIns.reload({ page: { curr: pageCurr } }); limit(); break; case 'deleteData': var data = checkStatus.data; if (data.length === 0){ layer.msg('请选择数据'); } else { layer.confirm('确定删除'+(data.length===1?'此':data.length)+'条数据吗', function(){ $.ajax({ url: baseUrl+"/locDetl/delete/auth", headers: {'token': localStorage.getItem('token')}, data: {param: JSON.stringify(data)}, method: 'POST', traditional:true, success: function (res) { if (res.code === 200){ layer.closeAll(); tableReload(false); } else if (res.code === 403){ top.location.href = baseUrl+"/"; } else { layer.msg(res.msg) } } }) }); } break; case 'exportData': layer.confirm('确定导出Excel吗', {shadeClose: true}, function(){ var titles=[]; var fields=[]; obj.config.cols[0].map(function (col) { if (col.type === 'normal' && col.hide === false && col.toolbar == null) { titles.push(col.title); fields.push(col.field); } }); var exportData = {}; $.each($('#search-box [name]').serializeArray(), function() { exportData[this.name] = this.value; }); var param = { 'locDetl': exportData, 'fields': fields }; var loadIndex = layer.msg('正在导出...', {icon: 16, shade: 0.01, time: false}); $.ajax({ url: baseUrl+"/locDetl/export/auth", headers: {'token': localStorage.getItem('token')}, data: JSON.stringify(param), dataType:'json', contentType:'application/json;charset=UTF-8', method: 'POST', success: function (res) { layer.close(loadIndex); layer.closeAll(); if (res.code === 200) { table.exportFile(titles,res.data,'xls'); } else if (res.code === 403) { top.location.href = baseUrl+"/"; } else { layer.msg(res.msg) } } }); }); break; } }); // 监听行工具事件 table.on('tool(locDetl)', function(obj){ var data = obj.data; switch (obj.event) { // 详情 case 'detail': layer.open({ type: 2, title: '详情', maxmin: true, area: [top.detailWidth, top.detailHeight], shadeClose: false, content: 'locDetl_detail.html', success: function(layero, index){ setFormVal(layer.getChildFrame('#detail', index), data, true); top.convertDisabled(layer.getChildFrame('#data-detail :input', index), true); layer.getChildFrame('#data-detail-submit-save,#data-detail-submit-edit,#prompt', index).hide(); layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); layero.find('iframe')[0].contentWindow.layui.form.render('select'); layero.find('iframe')[0].contentWindow.layui.form.render('checkbox'); } }); break; // 编辑 case 'edit': layer.open({ type: 2, title: '修改', maxmin: true, area: [top.detailWidth, top.detailHeight], shadeClose: false, content: 'locDetl_detail.html', success: function(layero, index){ layer.getChildFrame('#data-detail-submit-save', index).hide(); setFormVal(layer.getChildFrame('#detail', index), data, false); top.convertDisabled(layer.getChildFrame('#data-detail :input', index), false); top.convertDisabled(layer.getChildFrame('#locNo,#matnr', index), true); layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); layero.find('iframe')[0].contentWindow.layui.form.render('select'); layero.find('iframe')[0].contentWindow.layui.form.render('checkbox'); } }); break; case 'locNo': var param = top.reObject(data).locNo; if (param === undefined) { layer.msg("无数据"); } else { layer.open({ type: 2, title: '库位号详情', maxmin: true, area: [top.detailWidth, top.detailHeight], shadeClose: false, content: '../locMast/locMast_detail.html', success: function(layero, index){ $.ajax({ url: baseUrl+"/locMast/"+ param +"/auth", headers: {'token': localStorage.getItem('token')}, method: 'GET', success: function (res) { if (res.code === 200){ setFormVal(layer.getChildFrame('#detail', index), res.data, true); top.convertDisabled(layer.getChildFrame('#data-detail :input', index), true); layer.getChildFrame('#data-detail-submit-save,#data-detail-submit-edit,#prompt', index).hide(); layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); layero.find('iframe')[0].contentWindow.layui.form.render('select'); layero.find('iframe')[0].contentWindow.layui.form.render('checkbox'); } else if (res.code === 403){ parent.location.href = "/"; }else { layer.msg(res.msg) } } }) } }); } break; case 'modiUser': var param = top.reObject(data).modiUser; if (param === undefined) { layer.msg("无数据"); } else { layer.open({ type: 2, title: '修改人员详情', maxmin: true, area: [top.detailWidth, top.detailHeight], shadeClose: false, content: '../user/user_detail.html', success: function(layero, index){ $.ajax({ url: baseUrl+"/user/"+ param +"/auth", headers: {'token': localStorage.getItem('token')}, method: 'GET', success: function (res) { if (res.code === 200){ setFormVal(layer.getChildFrame('#detail', index), res.data, true); top.convertDisabled(layer.getChildFrame('#data-detail :input', index), true); layer.getChildFrame('#data-detail-submit-save,#data-detail-submit-edit,#prompt', index).hide(); layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); layero.find('iframe')[0].contentWindow.layui.form.render('select'); layero.find('iframe')[0].contentWindow.layui.form.render('checkbox'); } else if (res.code === 403){ parent.location.href = "/"; }else { layer.msg(res.msg) } } }) } }); } break; case 'appeUser': var param = top.reObject(data).appeUser; if (param === undefined) { layer.msg("无数据"); } else { layer.open({ type: 2, title: '创建者详情', maxmin: true, area: [top.detailWidth, top.detailHeight], shadeClose: false, content: '../user/user_detail.html', success: function(layero, index){ $.ajax({ url: baseUrl+"/user/"+ param +"/auth", headers: {'token': localStorage.getItem('token')}, method: 'GET', success: function (res) { if (res.code === 200){ setFormVal(layer.getChildFrame('#detail', index), res.data, true); top.convertDisabled(layer.getChildFrame('#data-detail :input', index), true); layer.getChildFrame('#data-detail-submit-save,#data-detail-submit-edit,#prompt', index).hide(); layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); layero.find('iframe')[0].contentWindow.layui.form.render('select'); layero.find('iframe')[0].contentWindow.layui.form.render('checkbox'); } else if (res.code === 403){ parent.location.href = "/"; }else { layer.msg(res.msg) } } }) } }); } break; } }); // 数据保存动作 form.on('submit(save)', function () { if (banMsg != null){ layer.msg(banMsg); return; } method("add"); }); // 数据修改动作 form.on('submit(edit)', function () { method("update") }); function method(name){ var index = layer.load(1, { shade: [0.5,'#000'] //0.1透明度的背景 }); var data = { // id: $('#id').val(), locNo: $('#locNo').val(), matnr: $('#matnr').val(), lgnum: $('#lgnum').val(), tbnum: $('#tbnum').val(), tbpos: $('#tbpos').val(), zmatid: $('#zmatid').val(), maktx: $('#maktx').val(), werks: $('#werks').val(), anfme: $('#anfme').val(), altme: $('#altme').val(), zpallet: $('#zpallet').val(), bname: $('#bname').val(), memo: $('#memo').val(), modiUser: $('#modiUser').val(), modiTime: top.strToDate($('#modiTime\\$').val()), appeUser: $('#appeUser').val(), appeTime: top.strToDate($('#appeTime\\$').val()), }; $.ajax({ url: baseUrl+"/locDetl/"+name+"/auth", headers: {'token': localStorage.getItem('token')}, data: top.reObject(data), method: 'POST', success: function (res) { if (res.code === 200){ parent.layer.closeAll(); parent.$(".layui-laypage-btn")[0].click(); $("#data-detail :input").each(function () { $(this).val(""); }); } else if (res.code === 403){ top.location.href = baseUrl+"/"; }else { layer.msg(res.msg) } layer.close(index); } }) } // 复选框事件 form.on('checkbox(detailCheckbox)', function (data) { var el = data.elem; if (el.checked) { $(el).val('Y'); } else { $(el).val('N'); } }); // 搜索栏搜索事件 form.on('submit(search)', function (data) { pageCurr = 1; tableReload(false); }); // 搜索栏重置事件 form.on('submit(reset)', function (data) { pageCurr = 1; clearFormVal($('#search-box')); tableReload(false); }); //查看异常数据 form.on('submit(unreason)', function (data) { pageCurr = 1; tableIns.reload({ where: { unreason: true }, page: { curr: pageCurr }, done: function (res, curr, count) { if (res.code === 403) { top.location.href = baseUrl+"/"; } pageCurr=curr; limit(child); } }); }); // 时间选择器 layDate.render({ elem: '#modiTime\\$', type: 'datetime' }); layDate.render({ elem: '#appeTime\\$', type: 'datetime' }); }); // 关闭动作 $(document).on('click','#data-detail-close', function () { parent.layer.closeAll(); }); function tableReload(child) { var searchData = { }; $.each($('#search-box [name]').serializeArray(), function() { searchData[this.name] = this.value; }); (child ? parent.tableIns : tableIns).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) { tableIns.reload({ where: searchData, page: { curr: pageCurr-1 } }); pageCurr -= 1; } limit(child); } }); } function setFormVal(el, data, showImg) { for (var val in data) { var find = el.find(":input[id='" + val + "']"); if (find[0]!=null){ if (find[0].type === 'checkbox'){ if (data[val]==='Y'){ find.attr("checked","checked"); find.val('Y'); } else { find.remove("checked"); find.val('N'); } continue; } } find.val(data[val]); if (showImg){ var next = find.next(); if (next.get(0)){ if (next.get(0).localName === "img") { find.hide(); next.attr("src", data[val]); next.show(); } } } } } function clearFormVal(el) { $(':input', el) .val('') .removeAttr('checked') .removeAttr('selected'); } function detailScreen(index) { var detail = layer.getChildFrame('#data-detail', index); var height = detail.height()+60; if (height > ($(window).height()*0.9)) { height = ($(window).height()*0.8); } layer.style(index, { // top: (($(window).height()-height)/3)+"px", height: height+'px' }); } $('body').keydown(function () { if (event.keyCode === 13) { $("#search").click(); } }); src/main/webapp/static/js/report/locMap.js
@@ -73,7 +73,7 @@ maxmin: true, area: [top.detailWidth, top.detailHeight], shadeClose: true, content: 'locDetl.html', content: 'locDetlGroup.html', success: function(layero, index){ locNo = value; } src/main/webapp/static/js/stoMan/stoQue.js
@@ -178,7 +178,7 @@ maxmin: true, area: [top.detailWidth, top.detailHeight], shadeClose: true, content: '../report/locDetl.html', content: '../report/locDetlGroup.html', success: function(layero, index){ } }); src/main/webapp/views/locDetlGroup/locDetlGroup.html
New file @@ -0,0 +1,74 @@ <!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"> </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="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"> </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="batch" placeholder="批号" autocomplete="off"> </div> </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> <!-- <button id="unreason" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="unreason">查看异常数据</button>--> </div> </div> <!-- 表格 --> <div class="layui-form"> <table class="layui-hide" id="locDetl" lay-filter="locDetl"></table> </div> <script type="text/html" id="toolbar"> <div class="layui-btn-container"> <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData" style="margin-top: 10px">导出</button> </div> </script> <script type="text/html" id="operate"> <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">详情</a> </script> <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/locDetlGroup/locDetlGroup.js" charset="utf-8"></script> <iframe id="detail-iframe" scrolling="auto" style="display:none;"></iframe> </body> </html> src/main/webapp/views/locDetlGroup/locDetl_detail.html
New file @@ -0,0 +1,168 @@ <!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"> </head> <body> <!-- 详情 --> <div id="data-detail" class="layer_self_wrap"> <form id="detail" class="layui-form"> <!-- <div class="layui-inline" style="display: none"> <label class="layui-form-label"><span class="not-null">*</span>编 号:</label> <div class="layui-input-inline"> <input id="id" class="layui-input" type="text" placeholder="编号"> </div> </div> --> <div class="layui-inline" style="width:31%;"> <label class="layui-form-label"><span class="not-null">*</span>库 位 号:</label> <div class="layui-input-inline cool-auto-complete"> <input id="locNo" class="layui-input" type="text" onkeyup="check(this.id, 'locDetl')" lay-verify="required" style="display: none"> <input id="locNo$" 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="locMastQueryBylocNo" onkeyup="autoLoad(this.getAttribute('data-key'))"> <select class="cool-auto-complete-window-select" data-key="locMastQueryBylocNoSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> </select> </div> </div> </div> <div class="layui-inline" style="width:31%;"> <label class="layui-form-label"><span class="not-null">*</span>物 料:</label> <div class="layui-input-inline"> <input id="matnr" class="layui-input" type="text" onkeyup="check(this.id, 'locDetl')" lay-verify="required" > </div> </div> <div class="layui-inline" style="width:31%;display: none"> <label class="layui-form-label">仓 库 号:</label> <div class="layui-input-inline"> <input id="lgnum" class="layui-input" type="text" > </div> </div> <div class="layui-inline" style="width:31%;display: none"> <label class="layui-form-label" style="font-size: x-small">转储请求编号:</label> <div class="layui-input-inline"> <input id="tbnum" class="layui-input" type="text" lay-verify="number" > </div> </div> <div class="layui-inline" style="width:31%;display: none"> <label class="layui-form-label">行 项 目:</label> <div class="layui-input-inline"> <input id="tbpos" class="layui-input" type="text" lay-verify="number" > </div> </div> <div class="layui-inline" style="width:31%;display: none"> <label class="layui-form-label" style="font-size: x-small">物料标签ID:</label> <div class="layui-input-inline"> <input id="zmatid" class="layui-input" type="text" > </div> </div> <div class="layui-inline" style="width:31%;"> <label class="layui-form-label">物料描述:</label> <div class="layui-input-inline"> <input id="maktx" class="layui-input" type="text"> </div> </div> <div class="layui-inline" style="width:31%;display: none"> <label class="layui-form-label">工 厂:</label> <div class="layui-input-inline"> <input id="werks" class="layui-input" type="text"> </div> </div> <div class="layui-inline" style="width:31%;"> <label class="layui-form-label">数 量:</label> <div class="layui-input-inline"> <input id="anfme" class="layui-input" type="text" lay-verify="number" > </div> </div> <div class="layui-inline" style="width:31%;"> <label class="layui-form-label">单 位:</label> <div class="layui-input-inline"> <input id="altme" class="layui-input" type="text"> </div> </div> <div class="layui-inline" style="width:31%;"> <label class="layui-form-label">托盘条码:</label> <div class="layui-input-inline"> <input id="zpallet" class="layui-input" type="text"> </div> </div> <div class="layui-inline" style="width:31%;display: none"> <label class="layui-form-label">用户ID:</label> <div class="layui-input-inline"> <input id="bname" class="layui-input" type="text"> </div> </div> <div class="layui-inline" style="width:31%;"> <label class="layui-form-label">备 注:</label> <div class="layui-input-inline"> <input id="memo" class="layui-input" type="text"> </div> </div> <div class="layui-inline" style="width:31%;display: none"> <label class="layui-form-label">修改人员:</label> <div class="layui-input-inline cool-auto-complete"> <input id="modiUser" class="layui-input" type="text" lay-verify="number" style="display: none"> <input id="modiUser$" 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="userQueryBymodiUser" onkeyup="autoLoad(this.getAttribute('data-key'))"> <select class="cool-auto-complete-window-select" data-key="userQueryBymodiUserSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> </select> </div> </div> </div> <div class="layui-inline" style="width:31%;display: none"> <label class="layui-form-label">修改时间:</label> <div class="layui-input-inline"> <input id="modiTime$" class="layui-input" type="text" autocomplete="off"> </div> </div> <div class="layui-inline" style="width:31%;display: none"> <label class="layui-form-label">创 建 者:</label> <div class="layui-input-inline cool-auto-complete"> <input id="appeUser" class="layui-input" type="text" lay-verify="number" style="display: none"> <input id="appeUser$" 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="userQueryByappeUser" onkeyup="autoLoad(this.getAttribute('data-key'))"> <select class="cool-auto-complete-window-select" data-key="userQueryByappeUserSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> </select> </div> </div> </div> <div class="layui-inline" style="width:31%;display: none"> <label class="layui-form-label">添加时间:</label> <div class="layui-input-inline"> <input id="appeTime$" class="layui-input" type="text" autocomplete="off"> </div> </div> <hr class="layui-bg-gray"> <div id="data-detail-btn" class="layui-btn-container layui-form-item"> <div id="data-detail-submit-save" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="save">保存</div> <div id="data-detail-submit-edit" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="edit">修改</div> <div id="data-detail-close" type="button" class="layui-btn" lay-submit lay-filter="close">关闭</div> </div> <div id="prompt"> 温馨提示:请仔细填写相关信息,<span class="extrude"><span class="not-null">*</span> 为必填选项。</span> </div> </form> </div> </body> <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/locDetl/locDetl.js" charset="utf-8"></script> </html>