<!DOCTYPE HTML> <html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro"> <meta charset="utf-8"> <head th:include="include :: header"></head> <style> /*.table-striped-left{*/ /* width: 41%;*/ /* !*margin-right: 4px;*!*/ /*}*/ /*.table-striped-right{*/ /* !*right: -10px;*!*/ /* width: 58%;*/ /* float: right;*/ /*}*/ .info_text{ float: right; } .info_text li{ font-size: 16px; } .info_text li span{ font-size: 20px; font-weight: bold; color: rgb(28,132,198); } .select-list{ font-weight: bold; } </style> <body class="gray-bg"> <div class="container-div"> <div class="row"> <div class="col-sm-12 select-info"> <form id="dept-form"> <div class="select-list"> <ul> <li> 收货单号:<input type="text" id="code" name="deptName"/> </li> <li> <a class="btn btn-primary btn-rounded btn-sm" id="list-btn"><i class="fa fa-search"></i> 搜索</a> </li> </ul> <ul> <li style="display: none">id:<input type="text" id="detailId"/></li> <li style="margin-left: 120px">收货数量:<input type="text" id="receiveNum"/></li> <li>容器编号:<input type="text" id="containerCode"/></li> <li> <button class="btn btn-sm btn-success" type="button" onclick="receipt()">组盘</button> </li> </ul> <ul class="info_text" style="display: none"> <li>物料总数:<span id="material_length"></span></li> <li>总单据数量:<span id="qty_length"></span></li> <li>已收货数量:<span id="qtyCompleted_length"></span></li> </ul> </div> </form> </div> <div class="col-sm-12 select-info"> <table id="bootstrap-table" data-mobile-responsive="true" class="table table-bordered table-hover text-nowrap"></table> </div> <div class="col-sm-12 select-info table-striped-bottom"> <div id="toolbar1" style="color: rgb(28,132,198)">本物料库存</div> <table id="bootstrap-table1" data-mobile-responsive="true" class="table table-bordered table-hover"></table> <div id="toolbar2" style="color: rgb(28,132,198)">地面储位</div> <table id="bootstrap-table2" data-mobile-responsive="true" class="table table-bordered table-hover"></table> <div id="toolbar3" style="color: rgb(28,132,198)">本物料交易</div> <table id="bootstrap-table3" data-mobile-responsive="true" class="table table-bordered table-hover"></table> </div> </div> </div> <div th:include="include :: footer"></div> <script th:inline="javascript"> var addFlag = [[${@permission.hasPermi('receipt:receiving:add')}]]; var removeFlag = [[${@permission.hasPermi('receipt:receiving:remove')}]]; var prefix = ctx + "receipt/receiving"; var Types = [[${@dict.getType('taskType')}]]; var Status=[[${@dict.getType('receiptContainerHeaderStatus')}]]; var inventoryStatus =[[${@dict.getType('inventoryStatus')}]]; var uWarehouseNames = [[${@warehouseWu.getName()}]]; var company = [[${@companyService.getCode()}]]; var customer = [[${@CustomerService.getCode()}]]; function list_select(code) { $.ajax({ url: prefix + "/scanBill", type: 'post', datatype: 'json', data: { code: code }, error:function (response) { console.log(response); }, success: function (value) { var qty_show=0; var qtyCompleted_show=0; $("#bootstrap-table").bootstrapTable('removeAll'); if(value.data){ // $("#bootstrap-table").bootstrapTable('load',value.data); for (var i = 0; i < value.data.length; i++) { if (value.data[i].qty > value.data[i].taskQty) { $("#bootstrap-table").bootstrapTable('insertRow', { index: 0, row: { projectNo:value.data[i].project, id: value.data[i].id, materialName: value.data[i].materialName, receiptId: value.data[i].receiptId, receiptCode: value.data[i].receiptCode, materialCode: value.data[i].materialCode, qty: value.data[i].qty, taskQty: value.data[i].taskQty, inventorySts: value.data[i].inventorySts, materialUnit: value.data[i].materialUnit } }); } qty_show=value.data[i].qty + qty_show; qtyCompleted_show=value.data[i].taskQty + qtyCompleted_show; } $("#material_length").text(value.data.length); $("#qty_length").text(qty_show); $("#qtyCompleted_length").text(qtyCompleted_show); } else { console.log("收货单不存在!") } } }) } $("#list-btn").click(initTable); $("body").bind("keypress",function(e){ // 兼容FF和IE和Opera var theEvent = e || window.event; var code = theEvent.keyCode || theEvent.which || theEvent.charCode; if (code == 13) { e.preventDefault(); //回车执行查询 initTable(); // list_select($("#code").val()); } }); function initTable(){ var receiptCode=$("#code").val(); list_select(receiptCode); $("#bootstrap-table1").bootstrapTable('removeAll'); $("#bootstrap-table2").bootstrapTable('removeAll'); $("#bootstrap-table3").bootstrapTable('removeAll'); } $("#bootstrap-table").bootstrapTable({ createUrl: prefix + "/add", updateUrl: prefix + "/edit/{id}", removeUrl: prefix + "/remove", clickToSelect: true, pagination: true, // 是否显示分页(*) pageNumber: 1, // 初始化加载第一页,默认第一页 pageSize: 4, // 每页的记录行数(*) pageList: [10, 25, 50,100], modalName: "收货", contentType: "application/x-www-form-urlencoded", onClickRow:function(row,ele,field){ let code=$("#code").val(); $("#detailId").val(row.id); $("#receiveNum").val(row.qty-row.taskQty); $.ajax({ url:prefix+'/getReceiptInfoByBillKS', type:'post', data:{ code:code, id:row.id }, success:res=>{ $("#bootstrap-table1").bootstrapTable('load',res.data.list); $("#bootstrap-table2").bootstrapTable('load',res.data.containers); $("#bootstrap-table3").bootstrapTable('load',res.data.transactionList); } }) }, columns: [ { checkbox: true }, { field : 'materialCode', title : '物料编码', width:'20px' }, { field : 'materialName', title : "物料名称", width:'20px' }, { field : 'qty', title : '单据数量', width:'10px' }, { field : 'taskQty', title : '已入数量', width:'10px' }, { field : 'inventorySts', title : '库存状态', width:'20px' }, { field : 'lot', title : '批号', width:'20px' }, { field : 'moCode', title : '工作令号', width:'120px' }, { field : 'id', title : '明细id', sortable:true } ] }); $("#bootstrap-table1").bootstrapTable({ removeUrl: ctx + "receipt/receiptContainerDetail/remove", clickToSelect: true, showColumns:true, //列选择 showExport: true, //导出 iconSize: "outline", toolbar: "#toolbar", exportDataType: "all", //导出类型basic', 'all', 'selected'.当前页、所有数据、选中数据 modalName: "入库组盘", pagination: true, // 是否显示分页(*) pageNumber: 1, // 初始化加载第一页,默认第一页 pageSize: 5, // 每页的记录行数(*) pageList: [10, 25, 50], toolbar: '#toolbar1', contentType: "application/x-www-form-urlencoded", columns: [ { title: '操作', align: 'center', events:'operateEvents', formatter: function(value, row, index) { let actions = []; if(row.zoneCode==='PK'){ actions.push('<a id="cancel" class="btn btn-success btn-xs" style="background-color: #ac2925" href="#" onclick="Receiving(\'' + row.locationCode + '\',\'' + row.containerCode +'\')"><i class="fa fa-edit"></i>组盘</a> '); } else{ actions.push('<a id="cancel" class="btn btn-success btn-xs " href="#" onclick="Receiving(\'' + row.locationCode + '\',\'' + row.containerCode +'\')"><i class="fa fa-edit"></i>组盘</a> '); } return actions.join(''); } }, // { // field : 'id', // title : 'id' // }, { field: 'companyCode', title: '货主', align: 'center', sortable: true, formatter: function (value, row, index) { var actions = []; $.each(company, function (index, dict) { if (dict.code == value) { actions.push("<span class='badge badge-info'>" + dict.name + "</span>"); return false; } }); return actions.join(''); } }, { field: 'uWarehouseCode', title: 'U8仓库', align: 'center', sortable: true, formatter: function (value, row, index) { var actions = []; $.each(uWarehouseNames, function (index, dict) { if (dict.uWarehouseCode == value) { actions.push("<span class='badge badge-info'>" + dict.uWarehouseName + "</span>"); return false; } }); return actions.join(''); } }, { field : 'containerCode', title : '容器编号' }, { field : 'materialCode', title : '存货编码' }, { field : 'materialOldCode', title : '存货代码' }, { field : 'materialName', title : '物料名称' }, { field : 'materialSpec', title : '物料规格' }, { field : 'qty', title : '数量' }, { field : 'locationCode', title : '库位编号' }, { field : 'moCode', title : '工作令号' , sortable:true }, { field : 'supplierCode', title : '供应商编码', visible:false }, { field : 'status', title : '库存状态' , align: 'center', formatter: function(value, row, index) { return $.table.selectDictLabel(inventoryStatus, value); } }, ] }); $("#bootstrap-table2").bootstrapTable({ removeUrl: ctx + "receipt/receiptContainerDetail/remove", clickToSelect: true, showColumns:true, //列选择 showExport: true, //导出 iconSize: "outline", toolbar: "#toolbar", exportDataType: "all", //导出类型basic', 'all', 'selected'.当前页、所有数据、选中数据 modalName: "入库组盘", pagination: true, // 是否显示分页(*) pageNumber: 1, // 初始化加载第一页,默认第一页 pageSize: 5, // 每页的记录行数(*) pageList: [10, 25, 50], toolbar: '#toolbar2', contentType: "application/x-www-form-urlencoded", columns: [ { title: '操作', align: 'center', events:'operateEvents', formatter: function(value, row, index) { let actions = []; if(row.zoneCode==='PK'){ actions.push('<a id="cancel" class="btn btn-success btn-xs" style="background-color: #ac2925" href="#" onclick="Receiving(\'' + row.locationCode + '\',\'' + row.code +'\')"><i class="fa fa-edit"></i>组盘</a> '); } else{ actions.push('<a id="cancel" class="btn btn-success btn-xs " href="#" onclick="Receiving(\'' + row.locationCode + '\',\'' + row.code +'\')"><i class="fa fa-edit"></i>组盘</a> '); } return actions.join(''); } }, { field: 'uWarehouseCode', title: 'U8仓库', align: 'center', sortable: true, formatter: function (value, row, index) { var actions = []; $.each(uWarehouseNames, function (index, dict) { if (dict.uWarehouseCode == value) { actions.push("<span class='badge badge-info'>" + dict.uWarehouseName + "</span>"); return false; } }); return actions.join(''); } }, { field : 'code', title : '容器编号' }, { field : 'locationCode', title : '库位编号' } ] }); $("#bootstrap-table3").bootstrapTable({ removeUrl: ctx + "receipt/receiptContainerDetail/remove", clickToSelect: true, showColumns:true, //列选择 showExport: true, //导出 iconSize: "outline", toolbar: "#toolbar", exportDataType: "all", //导出类型basic', 'all', 'selected'.当前页、所有数据、选中数据 modalName: "入库组盘", pagination: true, // 是否显示分页(*) pageNumber: 1, // 初始化加载第一页,默认第一页 pageSize: 5, // 每页的记录行数(*) pageList: [10, 25, 50], toolbar: '#toolbar3', contentType: "application/x-www-form-urlencoded", columns: [ { title: '操作', align: 'center', events:'operateEvents', formatter: function(value, row, index) { let actions = []; if(row.zoneCode==='PK'){ actions.push('<a id="cancel" class="btn btn-success btn-xs" style="background-color: #ac2925" href="#" onclick="Receiving(\'' + row.locationCode + '\',\'' + row.containerCode +'\')"><i class="fa fa-edit"></i>组盘</a> '); } else{ actions.push('<a id="cancel" class="btn btn-success btn-xs " href="#" onclick="Receiving(\'' + row.locationCode + '\',\'' + row.containerCode +'\')"><i class="fa fa-edit"></i>组盘</a> '); } return actions.join(''); } }, // { // field : 'id', // title : 'id' // }, { field : 'containerCode', title : '容器编号' }, { field : 'materialCode', title : '存货编码' }, { field : 'materialOldCode', title : '存货代码' }, { field : 'materialName', title : '物料名称' }, { field : 'materialSpec', title : '物料规格' }, { field : 'qty', title : '数量' }, { field : 'uWarehouseName', title : 'U8仓库' }, { field : 'companyName', title : '货主' }, { field : 'created', title : '创建时间', sortable:true, formatter: function(value, row, index) { let time=value.slice(5,10); return `<span>${time}</span>` } }, { field : 'moCode', title : '工作令号' , sortable:true }, ] }); window.operateEvents = { 'click #qty': function (e, value, row, index) { var url = prefix + '/add?'; jQuery.each(row, function(key, val) { url = url + key + "=" + encodeURI(val) + "&"; }); var modalName="入库组盘"; $.modal.open("添加"+modalName,url); } }; function receiving_refresh() { var receiving_code = localStorage.getItem("receiving_code"); $("#code").val(receiving_code); if (receiving_code) { initTable(); } localStorage.removeItem("receiving_code"); } receiving_refresh(); //组盘 function receipt() { let num=$("#receiveNum").val(); let containerCode = $("#containerCode").val(); let locationCode = ''; debugger; if(num==0){ receiptSelect(containerCode); }else { Receiving(locationCode, containerCode); } } function receiptSelect(containerCode) { var rows=$("#bootstrap-table").bootstrapTable('getSelections'); if (rows.length == 0) { $.modal.alertWarning("请至少选择一条记录"); return; } var ids = rows.map(function(v){return v.id;}).join(',') ; $.ajax({ url:ctx + "receipt/receiving/saveAll", type:'post', data:{ ids:ids, receiptContainerCode:containerCode }, success:function (data) { if(data.code===200){ $.modal.msgSuccess('成功'); initTable(); } else{ $.modal.msg(data.msg); } } }) } /** * 组盘 * @param locationCode * @param containerCode */ function Receiving(locationCode,containerCode) { let receiptCode=$("#code").val(); let num=$("#receiveNum").val(); let receiptDetailId=$("#detailId").val(); $.ajax({ url:ctx + "receipt/receiving/save", type:'post', data:{ receiptCode:receiptCode, qty: num, receiptDetailId:receiptDetailId, locationCode:locationCode, containerCode:containerCode }, success:function (data) { if(data.code===200){ debugger; $.modal.msgSuccess('成功'); initTable(); }else { $.modal.alertError(data.msg); } } }) } </script> </body> </html>