src/main/java/com/zy/asrs/controller/WrkLogController.java
New file @@ -0,0 +1,117 @@ package com.zy.asrs.controller; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.mapper.Wrapper; import com.baomidou.mybatisplus.plugins.Page; import com.core.annotations.ManagerAuth; import com.core.common.BaseRes; import com.core.common.Cools; import com.core.common.DateUtils; import com.core.common.R; import com.zy.asrs.entity.WrkLog; import com.zy.asrs.service.WrkLogService; import com.zy.common.web.BaseController; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @RestController @RequestMapping("/agv") public class WrkLogController extends BaseController { @Autowired private WrkLogService wrkLogService; @RequestMapping(value = "/wrkLog/{id}/auth") @ManagerAuth public R get(@PathVariable("id") String id) { return R.ok(wrkLogService.selectById(String.valueOf(id))); } @RequestMapping(value = "/wrkLog/list/auth") @ManagerAuth public R list(@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){ EntityWrapper<WrkLog> wrapper = new EntityWrapper<>(); excludeTrash(param); convert(param, wrapper); allLike(WrkLog.class, param.keySet(), wrapper, condition); if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} return R.ok(wrkLogService.selectPage(new Page<>(curr, limit), wrapper)); } private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){ for (Map.Entry<String, Object> entry : map.entrySet()){ String val = String.valueOf(entry.getValue()); if (val.contains(RANGE_TIME_LINK)){ String[] dates = val.split(RANGE_TIME_LINK); wrapper.ge(entry.getKey(), DateUtils.convert(dates[0])); wrapper.le(entry.getKey(), DateUtils.convert(dates[1])); } else { wrapper.eq(entry.getKey(), val); } } } @RequestMapping(value = "/wrkLog/add/auth") @ManagerAuth public R add(WrkLog wrkLog) { wrkLogService.insert(wrkLog); return R.ok(); } @RequestMapping(value = "/wrkLog/delete/auth") @ManagerAuth public R delete(@RequestParam(value="ids[]") Long[] ids){ for (Long id : ids){ wrkLogService.deleteById(id); } return R.ok(); } @RequestMapping(value = "/wrkLog/export/auth") @ManagerAuth public R export(@RequestBody JSONObject param){ EntityWrapper<WrkLog> wrapper = new EntityWrapper<>(); List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class); Map<String, Object> map = excludeTrash(param.getJSONObject("wrkLog")); convert(map, wrapper); List<WrkLog> list = wrkLogService.selectList(wrapper); return R.ok(exportSupport(list, fields)); } @RequestMapping(value = "/wrkLogQuery/auth") @ManagerAuth public R query(String condition) { EntityWrapper<WrkLog> wrapper = new EntityWrapper<>(); wrapper.like("id", condition); Page<WrkLog> page = wrkLogService.selectPage(new Page<>(0, 10), wrapper); List<Map<String, Object>> result = new ArrayList<>(); for (WrkLog wrkLog : page.getRecords()){ Map<String, Object> map = new HashMap<>(); result.add(map); } return R.ok(result); } @RequestMapping(value = "/wrkLog/check/column/auth") @ManagerAuth public R query(@RequestBody JSONObject param) { Wrapper<WrkLog> wrapper = new EntityWrapper<WrkLog>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val")); if (null != wrkLogService.selectOne(wrapper)){ return R.parse(BaseRes.REPEAT).add(getComment(WrkLog.class, String.valueOf(param.get("key")))); } return R.ok(); } } src/main/java/com/zy/asrs/entity/WrkLog.java
New file @@ -0,0 +1,40 @@ package com.zy.asrs.entity; import com.baomidou.mybatisplus.annotations.TableField; import com.baomidou.mybatisplus.annotations.TableName; import com.core.common.Cools; import com.core.common.SpringUtils; import com.zy.asrs.service.BasWrkIotypeService; import com.zy.asrs.service.BasWrkStatusService; import lombok.Data; @Data @TableName("agv_wrk_log") public class WrkLog extends AgvWrkDetlLog{ @TableField("io_type") private Integer ioType; @TableField("loc_no") private String locNo; @TableField("source_loc_no") private String sourceLocNo; @TableField("wrk_sts") private Long wrkSts; public String getWrkSts$(){ BasWrkStatusService service = SpringUtils.getBean(BasWrkStatusService.class); BasWrkStatus basWrkStatus = service.selectById(this.wrkSts); if (!Cools.isEmpty(basWrkStatus)){ return String.valueOf(basWrkStatus.getWrkDesc()); } return null; } public String getIoType$(){ BasWrkIotypeService service = SpringUtils.getBean(BasWrkIotypeService.class); BasWrkIotype basWrkIotype = service.selectById(this.ioType); if (!Cools.isEmpty(basWrkIotype)){ return String.valueOf(basWrkIotype.getIoDesc()); } return null; } } src/main/java/com/zy/asrs/mapper/WrkLogMapper.java
New file @@ -0,0 +1,12 @@ package com.zy.asrs.mapper; import com.zy.asrs.entity.WrkLog; import com.baomidou.mybatisplus.mapper.BaseMapper; import org.apache.ibatis.annotations.Mapper; import org.springframework.stereotype.Repository; @Mapper @Repository public interface WrkLogMapper extends BaseMapper<WrkLog> { } src/main/java/com/zy/asrs/service/WrkLogService.java
New file @@ -0,0 +1,8 @@ package com.zy.asrs.service; import com.zy.asrs.entity.WrkLog; import com.baomidou.mybatisplus.service.IService; public interface WrkLogService extends IService<WrkLog> { } src/main/java/com/zy/asrs/service/impl/WrkLogServiceImpl.java
New file @@ -0,0 +1,12 @@ package com.zy.asrs.service.impl; import com.zy.asrs.mapper.WrkLogMapper; import com.zy.asrs.entity.WrkLog; import com.zy.asrs.service.WrkLogService; import com.baomidou.mybatisplus.service.impl.ServiceImpl; import org.springframework.stereotype.Service; @Service("wrkLogService") public class WrkLogServiceImpl extends ServiceImpl<WrkLogMapper, WrkLog> implements WrkLogService { } src/main/java/com/zy/common/CodeBuilder.java
@@ -20,8 +20,8 @@ generator.url="127.0.0.1:1433;databasename=phyzasrs"; generator.username="sa"; generator.password="sa@123"; generator.table="sys_role_pda_resource"; generator.packagePath="com.zy.system"; generator.table="agv_wrk_log"; generator.packagePath="com.zy.asrs"; generator.sql = false; generator.build(); } src/main/resources/mapper/WrkLogMapper.xml
New file @@ -0,0 +1,10 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.zy.asrs.mapper.WrkLogMapper"> <!-- 通用查询映射结果 --> <resultMap id="BaseResultMap" type="com.zy.asrs.entity.WrkLog"> </resultMap> </mapper> src/main/webapp/static/js/agvHandWrkMast/agvHandWrkMast.js
@@ -148,7 +148,7 @@ maxmin: true, area: [top.detailWidth, top.detailHeight], shadeClose: true, content: 'wrkDetlLog.html', content: 'wrkLog.html', success: function(layero, index){ } }); src/main/webapp/static/js/agvWrkLog/wrkLog.js
New file @@ -0,0 +1,494 @@ var pageCurr; function getCol() { var cols = [ {field: 'wrkNo', align: 'center',title: '工作号'} ,{field: 'modiTime$', align: 'center',title: '工作时间'} ,{field: 'wrkSts$', align: 'center',title: '工作状态'} ,{field: 'ioType$', align: 'center',title: '工作类型'} ,{field: 'sourceLocNo', align: 'center',title: '源库位'} ,{field: 'locNo', align: 'center',title: '目标库位'} ]; arrRemove(detlCols, 'field', 'anfme'); cols.push( //{field: 'suppCode', align: 'center',title: '货架码'}, {field: 'anfme', align: 'center',title: '数量'}); arrRemove(detlCols, 'field', 'zpallet'); cols.push.apply(cols, detlCols); cols.push({field: 'modiUser$', align: 'center',title: '修改人员',hide: true} ,{field: 'modiTime$', align: 'center',title: '修改时间',hide: true} ) 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: '#wrkDetlLog', headers: {token: localStorage.getItem('token')}, url: baseUrl+'/agv/wrkLog/list/auth', page: true, limit: 16, limits: [16, 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(locMast)', 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(wrkDetlLog)', 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], content: 'wrkDetlLog_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 'deleteData': var data = checkStatus.data; if (data.length === 0){ layer.msg('请选择数据'); } else { layer.confirm('确定删除'+(data.length===1?'此':data.length)+'条数据吗', function(){ $.ajax({ url: baseUrl+"/agv/wrkDetlLog/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 = { 'wrkDetlLog': exportData, 'fields': fields }; $.ajax({ url: baseUrl+"/agv/wrkDetlLog/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.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(wrkDetlLog)', function(obj){ var data = obj.data; switch (obj.event) { // 详情 case 'detail': layer.open({ type: 2, title: '详情', maxmin: true, area: [top.detailWidth, top.detailHeight], shadeClose: true, content: 'wrkDetlLog_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], content: 'wrkDetlLog_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('', 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 '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: true, 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){ top.location.href = baseUrl+"/"; }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: true, 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){ top.location.href = baseUrl+"/"; }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(), wrkNo: $('#wrkNo').val(), ioTime: top.strToDate($('#ioTime\\$').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()), nista: $('#nista').val(), }; $.ajax({ url: baseUrl+"/agv/wrkDetlLog/"+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); }); // 时间选择器 layDate.render({ elem: '#ioTime\\$', type: 'datetime' }); layDate.render({ elem: '#modiTime\\$', type: 'datetime' }); layDate.render({ elem: '#appeTime\\$', type: 'datetime' }); layDate.render({ elem: '.layui-laydate-range' ,type: 'datetime' ,range: true }); }); // 关闭动作 $(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/agvWrkMastLog/wrkMastLog.js
@@ -198,7 +198,7 @@ maxmin: true, area: [top.detailWidth, top.detailHeight], shadeClose: true, content: 'wrkDetlLog.html', content: 'wrkLog.html', success: function(layero, index){ } }); src/main/webapp/static/js/handWrkMast/handWrkMast.js
@@ -148,7 +148,7 @@ maxmin: true, area: [top.detailWidth, top.detailHeight], shadeClose: true, content: 'wrkDetlLog.html', content: 'wrkLog.html', success: function(layero, index){ } }); src/main/webapp/static/js/wrkMastLog/wrkMastLog.js
@@ -235,7 +235,7 @@ maxmin: true, area: [top.detailWidth, top.detailHeight], shadeClose: true, content: 'wrkDetlLog.html', content: 'wrkLog.html', success: function(layero, index){ } }); src/main/webapp/views/agvWrkLog/wrkDetlLog_detail.html
New file @@ -0,0 +1,174 @@ <!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"> <input id="wrkNo" class="layui-input" type="text" lay-verify="required|number" > </div> </div> <div class="layui-inline" style="width:31%;"> <label class="layui-form-label">工作时间:</label> <div class="layui-input-inline"> <input id="ioTime$" class="layui-input" type="text" autocomplete="off"> </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" lay-verify="required" > </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="lgnum" class="layui-input" type="text" lay-verify="required" > </div> </div> <div class="layui-inline" style="width:31%;"> <label class="layui-form-label" style="font-size: x-small"><span class="not-null">*</span>转储请求编号:</label> <div class="layui-input-inline"> <input id="tbnum" class="layui-input" type="text" lay-verify="required|number" > </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="tbpos" class="layui-input" type="text" lay-verify="required|number" > </div> </div> <div class="layui-inline" style="width:31%;"> <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%;"> <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%;"> <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%;"> <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%;"> <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%;"> <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%;"> <label class="layui-form-label">添加时间:</label> <div class="layui-input-inline"> <input id="appeTime$" class="layui-input" type="text" autocomplete="off"> </div> </div> <div class="layui-inline" style="width:31%;"> <label class="layui-form-label">:</label> <div class="layui-input-inline"> <input id="nista" class="layui-input" type="text" lay-verify="number" > </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/agvWrkDetlLog/wrkDetlLog.js" charset="utf-8"></script> </html> src/main/webapp/views/agvWrkLog/wrkLog.html
New file @@ -0,0 +1,101 @@ <!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="wrk_no" placeholder="工作号" autocomplete="off"> </div> </div> <div class="layui-inline"> <div class="layui-input-inline cool-auto-complete"> <input id="wrkSts" class="layui-input" name="wrk_sts" type="text" placeholder="请输入" autocomplete="off" style="display: none"> <input id="wrkSts$" 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="basWrkStatusQueryBywrkSts" onkeyup="autoLoad(this.getAttribute('data-key'))"> <select class="cool-auto-complete-window-select" data-key="basWrkStatusQueryBywrkStsSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> </select> </div> </div> </div> <div class="layui-inline"> <div class="layui-input-inline cool-auto-complete"> <input id="ioType" class="layui-input" name="io_type" type="text" placeholder="请输入" autocomplete="off" style="display: none"> <input id="ioType$" 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="basWrkIotypeQueryByioType" onkeyup="autoLoad(this.getAttribute('data-key'))"> <select class="cool-auto-complete-window-select" data-key="basWrkIotypeQueryByioTypeSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> </select> </div> </div> </div> <div class="layui-inline" style="width: 300px"> <div class="layui-input-inline"> <input class="layui-input layui-laydate-range" name="modi_time" type="text" placeholder="起始时间 - 终止时间" autocomplete="off" style="width: 300px"> </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="supp_code" placeholder="货架码" autocomplete="off"> </div> </div> <div class="layui-inline"> <div class="layui-input-inline"> <input class="layui-input" type="text" name="order_no" placeholder="单据编号" autocomplete="off"> </div> </div> <div class="layui-inline"> <div class="layui-input-inline"> <input class="layui-input" type="text" name="condition" placeholder="请输入" autocomplete="off"> </div> </div> <!-- 待添加 --> <div id="data-search-btn" class="layui-btn-container layui-form-item"> <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> <!-- 表格 --> <div class="layui-form"> <table class="layui-hide" id="wrkDetlLog" lay-filter="wrkDetlLog"></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> <a class="layui-btn layui-btn-xs btn-edit" lay-event="edit">编辑</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/agvWrkLog/wrkLog.js" charset="utf-8"></script> <iframe id="detail-iframe" scrolling="auto" style="display:none;"></iframe> </body> </html>