src/main/java/com/zy/asrs/entity/Pla.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/webapp/static/js/pla/productionInfo.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/webapp/views/pla/productionInfo.html | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/zy/asrs/entity/Pla.java
New file @@ -0,0 +1,98 @@ package com.zy.asrs.entity; import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.annotations.TableName; import com.baomidou.mybatisplus.enums.IdType; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @Data @TableName("asr_pla_detl") public class Pla { @ApiModelProperty(value= "ID") @TableId(value = "id", type = IdType.AUTO) private Long id; //入库时间 private Date io_time; //批号 private String batch; //包装号 private String packageNo; //牌号 private String brand; //重量 private double weight; //车间 private String workshop; //生产线 private String line; //包装类型 private String packageType; //托盘类型 private String zpalletType; //缠膜 private String filmWrap; //熔指 private double fingerMelting; //熔点 private double fusingPoint; //挥发份1 private double vadf1; //挥发份2 private double vadf2; //黄度 private double yellowness; //不透明度 private double opacity; //水分 private double water; //L值 private double l; //a值 private double a; //b值 private double b; //填充 private double fillIn; //质量状态 private String massState; //质量问题 private String problem; //仓库 private String stash; //库位 private String locNo; //剩余重量 private String weightAnfme; //状态 private String status; } src/main/webapp/static/js/pla/productionInfo.js
New file @@ -0,0 +1,212 @@ var initCountVal = 0; var initAnfmeVal = "-"; var matCodeData = []; var currLocNo; var matCodeLayerIdx; var data = []; function getCol() { var cols = [ {field: 'id', title: 'id', align: 'center',hide:true} ,{type: 'checkbox'} ,{field: 'ioTime', title: '入库时间', align: 'center'} ,{field: 'batch', align: 'center',title: '批号', edit: true} ,{field: 'packageNo', align: 'center',title: '包号', edit: true} ,{field: 'brand', align: 'center',title: '牌号', edit: true} ,{field: 'weight', align: 'center',title: '重量(KG)', edit: true} ,{field: 'workshop', align: 'center',title: '生产车间', edit: true} ,{field: 'line', align: 'center',title: '生产线', edit: true} ,{field: 'packageType', align: 'center',title: '包装类型', edit: true} ,{field: 'zpalletType', align: 'center',title: '托盘类型', edit: true} ]; return cols; } layui.config({ base: baseUrl + "/static/layui/lay/modules/" }).use(['table','laydate', 'form', 'admin'], function() { var table = layui.table; var $ = layui.jquery; var layer = layui.layer; var layDate = layui.laydate; var form = layui.form; var admin = layui.admin; tableIns = table.render({ elem: '#productionInfoTable', data: [], even: true, limit: 500, cellMinWidth: 50, toolbar: '#toolbar', cols: [getCol()], done: function (res, curr, count) { limit(); } }); // 页面修改 table.on('edit(chooseData)', function (obj) { let index = obj.tr.attr("data-index"); let data = matCodeData[index]; let modify = true; if (obj.field === 'count'){ let vle = Number(obj.value); if (isNaN(vle)) { layer.msg("请输入数字", {icon: 2}); modify = false; } else { if (vle <= 0) { layer.msg("数量必须大于零", {icon: 2}); modify = false; } } } if (modify) { data[obj.field] = obj.value; } tableIns.reload({data: matCodeData}); }); // 监听头工具栏事件 table.on('toolbar(chooseData)', function (obj) { switch(obj.event) { case 'adjust': if (isEmpty(currLocNo)) { layer.msg("请先检索库位", {icon: 2}) inputTip($("#searchLocNo")); return; } if (matCodeData.length === 0) { layer.msg("请先添加明细", {icon: 2}); return; } for (var i=0;i<matCodeData.length;i++){ if (isNaN(matCodeData[i].count)) { layer.msg("请输入数字", {icon: 2}); return; } if (matCodeData[i].count < 0){ layer.msg("数量不能小于零", {icon: 2}); return; } } layer.confirm('确定调整'+currLocNo+'库位的明细吗?', {shadeClose: true}, function(){ $.ajax({ url: baseUrl+"/manLocDetl/adjust/start", headers: {'token': localStorage.getItem('token')}, data: JSON.stringify({ locNo: currLocNo, list: matCodeData }), contentType:'application/json;charset=UTF-8', method: 'POST', async: false, success: function (res) { if (res.code === 200){ layer.msg(currLocNo + res.msg, {icon: 1}); init(currLocNo) } else if (res.code === 403){ top.location.href = baseUrl+"/"; }else { layer.msg(res.msg, {icon: 2}) } } }) }); break; } }); // 监听行工具事件 table.on('tool(chooseData)', function(obj){ var data = obj.data; switch (obj.event) { case 'remove': let index = obj.tr.attr("data-index"); matCodeData.splice(index, 1); tableIns.reload({data: matCodeData}); break; } }); // 检索事件 form.on('submit(search)', function (data) { let loc_no = data.field.loc_no; if (loc_no === "") { inputTip($("#searchLocNo")); layer.msg("请输入库位号"); return; } init(loc_no); }); // 重置事件 form.on('submit(reset)', function (data) { reset(); }); function init(locNo) { http.post(baseUrl + "/manLocDetl/list", {loc_no: locNo,limit: 1000}, function (res) { matCodeData = []; matCodeData = res.data.records; for (var i = 0; i<matCodeData.length; i++) { matCodeData[i]["count"] = matCodeData[i]["anfme"]; } locTips(true, locNo); tableReload(); }) } function reset() { clearFormVal($('#search-box')); matCodeData = []; tableReload(); locTips(false); } // 重载表格 function tableReload() { tableIns.reload({data: matCodeData}); } // 库位提示框 function locTips(retrieve, locNo) { if (retrieve) { http.post(baseUrl+"/node/select/"+locNo+"/auth", null, function (res) { console.log(res); let data = res.data; if (data != null) { $(".retrieve").show(); // $("#locMsg").html(locNo + " ,库位状态:" + data.locSts$); $("#locMsg").html(locNo + " "); $('.not-retrieve').hide(); currLocNo = locNo; } else { layer.msg("请输入有效库位号", {icon: 2}); $('.not-retrieve').show(); $("#locMsg").html(""); $(".retrieve").hide(); currLocNo = null; inputTip($("#searchLocNo")); } }) } else { $('.not-retrieve').show(); $("#locMsg").html(""); $(".retrieve").hide(); currLocNo = null; } } $(document).on('click','#add', function () { var strTime = "20" var now = new Date(year,month,date,hrs,min,sec); var newRow = {ioTime : now}; data.push(newRow); table.reload('productionInfoTable',{ data: data }) }) }) src/main/webapp/views/pla/productionInfo.html
New file @@ -0,0 +1,106 @@ <!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/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> html { height: 100%; padding: 10px; background-color: #f1f1f1; box-sizing: border-box; } body { background-color: #fff; border-radius: 5px; box-shadow: 0 0 3px rgba(0,0,0,.3); } /* search */ .layui-card-header { border-bottom: none; } #search-box { padding: 30px 0 10px 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; } /* add */ .function-area { padding: 15px 0 20px 40px; } .function-btn { font-size: 16px; padding: 1px 1px 1px 1px; width: 120px; height: 40px; border-color: #2b425b; border-radius: 4px; border-width: 1px; background: none; border-style: solid; transition: 0.4s; cursor: pointer; } .function-btn:hover { background-color: #2b425b; color: #fff; } #mat-query { /*display: none;*/ } #btn-adjust { /*display: none;*/ } </style> </head> <body style="padding-bottom: 30px"> <hr> <!-- 功能区 --> <div class="function-area"> <button id="add" class="function-btn">新增</button> <button id="delete" class="function-btn">删除</button> <button id="submit" style="alignment: right" class="function-btn">提交</button> </div> <!-- 行 --> <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="productionInfoTable" lay-filter="productionInfoTable"></table> <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> <script type="text/javascript" src="../../static/js/pla/productionInfo.js" charset="utf-8"></script> </body> </html>