<!DOCTYPE HTML> <html lang="zh" xmlns:th="http://www.thymeleaf.org"> <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 style=" float: left; width: 100%"> <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 style=" float: left; "> <li style="display: none">id:<input type="text" id="detailId"/></li> <li style="">收货数量:<input type="text" id="receiveNum" value="1"/></li> <li style="margin-left: 120px">容器编号:<input type="text" id="containerCode"/></li> <li style="margin-left: 120px">SN:<input type="text" id="sn" value=""/></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: 5, // 每页的记录行数(*) pageList: [5, 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); $("#receiveNum").val(1); $.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 = []; var companyName = '' $.each(company, function (index, dict) { if (dict.code == row.companyCode) { companyName = dict.name; return false; } }); var companyStr = companyName.slice(-3); $.each(uWarehouseNames, function (index, dict) { if (dict.uWarehouseCode == value) { var uWarehouseName = dict.uWarehouseName; var slice_name = uWarehouseName.slice(-3); if (companyStr == slice_name) { 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 = []; var companyName = '' $.each(company, function (index, dict) { if (dict.code == row.companyCode) { companyName = dict.name; return false; } }); var companyStr = companyName.slice(-3); $.each(uWarehouseNames, function (index, dict) { if (dict.uWarehouseCode == value) { var uWarehouseName = dict.uWarehouseName; var slice_name = uWarehouseName.slice(-3); if (companyStr == slice_name) { 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 = ''; let sn = $("#sn").val(); if (sn == '' || sn == null || sn == undefined) { $.modal.alertWarning("请填写SN"); return; } // receiptSelect(containerCode); 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(); if (receiptDetailId == '' || receiptDetailId == null || receiptDetailId == undefined) { $.modal.alertWarning("请先选择一条明细"); return; } $.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>