<!DOCTYPE HTML> <html lang="zh" xmlns:th="http://www.thymeleaf.org"> <meta charset="utf-8"> <head th:include="include :: header"></head> <style></style> <body class="gray-bg"> <div class="container-div"> <div class="row"> <div class="col-sm-12 select-info"> <ul id="myTab" class="nav nav-tabs"> <li class="active"><a href="#tabHeader" data-toggle="tab">主表</a></li> <li><a href="#tabDetail" data-toggle="tab">明细</a></li> </ul> <div id="myTabContent" class="tab-content"> <div class="tab-pane fade in active" id="tabHeader"> <div class="col-sm-12 select-info"> <form class="form-horizontal m" id="form-receiptHeader-add"> <div class="select-list"> <ul> <li> 货主: <select id="companyCode" name="companyCode" th:with="companyList=${@companyService.selectCompanyByCurrentUserId()}"> <option th:each="company : ${companyList}" th:text="${company['name']}" th:value="${company['code']}" th:attr=" code = ${company['code']}"></option> </select> </li> <li> u8仓库: <select name="uWarehouseCode" id="uWarehouseCode" th:with="warehouse=${@warehouseWu.selectList()}"> <option value="">所有</option> <option th:each="e : ${warehouse}" th:text="${e['uWarehouseName']}" th:value="${e['uWarehouseCode']}" th:attr=" code = ${e['uWarehouseCode']}"></option> </select> </li> <li> 产成品入库单单号: <input id="referCode" name="referCode" type="text" style="width: 260px"> </li> <li> <button type="submit" class="btn btn-primary btn-rounded btn-sm">拉取</button> <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i> 搜索</a> <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('form-receiptHeader-add')"><i class="fa fa-refresh"></i> 重置</a> </li> </ul> </div> </form> </div> <div class="btn-group hidden-xs" id="toolbar1" role="group"> <a class="btn btn-outline btn-primary btn-rounded" onclick="batchReceiptContainer()"> <i class="fa fa-save"></i> 批量组盘 </a> </div> <table id="bootstrap-table" data-mobile-responsive="true" class="table table-bordered table-hover"></table> </div> <div class="tab-pane fade" id="tabDetail"> <div class="btn-group hidden-xs" id="toolbar2" role="group" style="position:relative;"> <a class="btn btn-outline btn-success btn-rounded" onclick="receiptDetailPrint()"> <i class="fa fa-print"></i> 标签打印 </a> </div> <table id="bootstrap-table1" data-mobile-responsive="true" class="table table-bordered table-hover text-nowrap"></table> </div> </div> </div> </div> </div> <div th:include="include::footer"></div> <script th:inline="javascript"> var detailPrefix = ctx + "receipt/receiptDetail"; var prefix = ctx + "receipt/finishedProductReceiving"; var receiptTypes = [[${@receiptTypeService.getType()}]]; var uWarehouseNames = [[${@warehouseWu.getName()}]]; var company =[[${@companyService.getCode()}]]; var receiptHeaderStatus = [[${@dict.getType('receiptHeaderStatus')}]]; var editFlag = [[${@permission.hasPermi('receipt:receiptHeader:edit')}]]; var receiptId = ''; var receiptCode = ''; var resubmit = new Date().getTime(); $("#form-receiptHeader-add").validate({ submitHandler: function (form) { $.ajax({ cache: true, type: "POST", url: prefix + "/getReceiptSI", data: { "referCode": $("input[name='referCode']").val(), "companyCode": $("#companyCode option:selected").attr("code"), "uWarehouseCode": $("#uWarehouseCode option:selected").val() }, async: false, error: function (request) { $.modal.alertError("请求失败!"); }, success: function (value) { saveSuc(value); let data = value.data; let receiptHeader = data['receiptHeader']; let receiptDetails = data['receiptDetails']; $("#bootstrap-table").bootstrapTable('prepend', receiptHeader); // $("#bootstrap-table1").bootstrapTable('append', receiptDetails); } }); } }); function saveSuc(result) { if (result.code == web_status.FAIL) { $.modal.alertError(result.msg); } } function unique(result) { return result.filter(function (item, index, arr) { //当前元素,在原始数组中的第一个索引==当前索引值,否则返回当前元素 return result.indexOf(item, 0) === index; }); } function batchReceiptContainer() { var rows = $("#bootstrap-table").bootstrapTable('getSelections'); if (rows.length == 0) { $.modal.alertWarning("请至少选择一条记录"); return; } debugger; var referCodes = ""; var result = rows.map(function (row) { return row.referCode; }) result = unique(result); debugger; for (var i = 0; i < result.length; i++) { referCodes = referCodes + result[i] + "," } let storage = window.localStorage; storage.referCodes = referCodes; createMenuItem(ctx + "receipt/finishedProductReceiving/batchReceiving", "产成品入库单批量组盘"); debugger; parent.parent.$('.tabReload').click(); } /* 打印*/ function receiptDetailPrint() { var rows = $("#bootstrap-table1").bootstrapTable('getSelections'); if (rows.length == 0) { $.modal.alertWarning("请至少选择一条记录"); return; } var ids = ""; for (var i = 0; i < rows.length; i++) { ids = ids + rows[i].id + "," } var url = detailPrefix + "/report/" + ids; $.modal.open("历史入库铭牌打印", url); } $(function() { var options = { url: prefix + "/list", updateUrl: ctx + "receipt/receiptHeader/edit/{id}", modalName: "产成品入库单", sortName: "created", sortOrder: "desc", search: false, showColumns:true, //列选择 pagination: true, // 是否显示分页(*) pageNumber: 1, // 初始化加载第一页,默认第一页 pageSize: 10, // 每页的记录行数(*) pageList: [10, 25, 50, 100], toolbar: "toolbar1", onDblClickRow: function (row, value, index) { detail(row.id, row.code); }, columns: [ { checkbox: true }, { title: '操作', align: 'center', formatter: function(value, row, index) { var actions = []; actions.push('<a class="btn btn-info btn-xs ' + editFlag + '" href="#" onclick="$.operate.edit(\'' + row.id + '\')" ><i class="fa fa-edit"></i>编辑</a> '); return actions.join(''); } }, { field : 'id', title : 'id', visible: false }, { field : 'code', title : '入库单编码', visible: false }, { field : 'receiptType', title : '入库类型', align: 'center', formatter: function(value, row, index) { var actions = []; $.each(receiptTypes, function(index, dict) { if (dict.code == value) { actions.push("<span class='badge badge-info'>" + dict.name + "</span>"); return false; } }); return actions.join(''); } }, { field: 'companyCode', title: '货主', align: 'center', 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仓库', // 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: 'uWarehouseName', title: 'U8仓库', sortable:true, formatter:function(value, row, index) { var actions=[]; if(value){ actions.push("<span class='badge badge-info'>" + value + "</span>"); } return actions.join(''); } }, { field: 'referCode', title: 'U8单号', visible: true }, { field : 'firstStatus', title : '头状态', align: 'center', formatter: function(value, row, index) { return $.table.selectDictLabel(receiptHeaderStatus, value); } }, { field : 'lastStatus', title : '尾状态', align: 'center', formatter: function(value, row, index) { return $.table.selectDictLabel(receiptHeaderStatus, value); } }, { field: "cDeptName", title: "部门名称", visible: true }, { field: "totalQty", title: "总数", visible: true }, { field : 'created', title : '创建时间', sortable:true }, { field : 'createdBy', title : '创建人', sortable:true } ] }; $.table.init(options); }); $("#bootstrap-table1").bootstrapTable({ modalName: "入库明细", sortName: "moCode", sortOrder: "desc", search: false, pageSize: 10, pagination: true, // 可供选择的每页的行数(*) toolbar: "#toolbar2", columns: [ { checkbox: true }, { field: "id", title: "id", visible: false }, { field: "receiptId", title: "receiptId", visible: false }, { field: "moCode", title: "工作令号", visible: true }, { field: 'referCode', title: 'U8单号', visible: true }, { field: 'companyCode', title: '货主', align: 'center', 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仓库', 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: "materialCode", title: "物料编码", visible: true }, { field: 'materialName', title: '物料名称', visible: true }, { field: 'materialSpec', title: '物料规格', visible: true }, { field: 'referLineNum', title: '生产订单行id', sortable: true }, { field: 'qty', title: '数量', sortable: true }, { field: 'taskQty', title: '任务数量', sortable: true }, { field: 'inventoryQty', title: '库存数量', sortable: true } ], onClickCell: function(field, value, row, $element) { if (field==="qty") { debugger; $element.attr('contenteditable', true); $element.blur(function () { let tdValue = $element.text(); if ((new Date().getTime()-resubmit)>1500) { resubmit = new Date().getTime() if (isNaN(tdValue)) { $.modal.alertWarning("请输入有效数字!"); return; } if (row.qty < tdValue) { $.modal.alertWarning("修改数量不允许大于单据数量!"); return; } submitDelivery(row, tdValue); } }) } } }); function submitDelivery(row,value){ if(row.qty == value){ return; } formData = {} formData["id"] = row["id"] formData["receiptId"] = row["receiptId"] formData["referCode"] = row["referCode"] formData["materialCode"] = row["materialCode"] formData["qty"] = value confirmAmount(formData) } function confirmAmount(form) { $.ajax({ cache : true, type : "POST", url :ctx + 'receipt/receiptDetail/edit', data : form, async : false, error : function(request) { $.modal.alertError("请求失败!"); }, success : function(data) { // $.operate.saveSuccess(data); ajaxSuccess(data); } }); } function ajaxSuccess(result) { if (result.code == web_status.SUCCESS) { $.modal.msgSuccess(result.msg); var index = parent.layer.getFrameIndex(window.name); parent.layer.close(index); window.parent.$.table.search(); } else { $.modal.alertError(result.msg); } // $.modal.msgSuccess(result.msg); $.modal.closeLoading(); detail(receiptId); } $(function () { //监听浏览器宽度的改变 window.onresize = function () { resize(); }; resize(); //货架input $("#code").bind('input propertychange keypress', function (e) { let theEvent = e || window.event; let code = theEvent.keyCode || theEvent.which || theEvent.charCode; if (code === 13) { e.preventDefault(); //回车执行查询 // getCode(); } }); }); function resize() { $("#code").focus(); } function detail(id, code) { receiptId = id; receiptCode=code; $("#myTab li").removeClass("active"); $("#tabHeader").removeClass("in active"); $("#myTab li:eq(1)").addClass("active"); $("#tabDetail").addClass("in active"); // $("#tabBase").addClass("in active"); loadDetail(); } function loadDetail() { $.ajax({ url:ctx + 'receipt/receiptDetail/list', type:"post", data:{ receiptId:receiptId, }, success:function (value) { $("#bootstrap-table1").bootstrapTable('load',value.data); } }); } //货架 // function getCode() { // resize(); // let code=$("#code").val(); // if(code){ // $.ajax({ // cache: true, // type: "POST", // url: prefix + "/getReceiptSI", // data:{ // code:code, // }, // async: false, // error: function (request) { // $.modal.alertError("请求失败!"); // }, // success: function (data) { // $.operate.saveSuccess(data); // } // }); // } // else{ // layer.tips('请输入单号!','#code',{tips:[1,"rgb(28,132,198)"],time:1000,area:'auto',maxWidth: '1000'}) // } // } function queryParams(params) { var curParams = { // 传递参数查询参数 pageSize: params.limit, pageNum: params.offset / params.limit + 1, searchValue: params.search, orderByColumn: params.sort, isAsc: params.order, status: status, statusFirst: statusFirst, statusLast: statusLast }; return curParams } $(function () { layui.use('laydate', function () { var laydate = layui.laydate; laydate.render({elem: '#appointmentTime', min: 0, theme: 'molv', type: 'datetime'}); }); $("select[name='companyCode']").change(function (e) { let companyCode = $("select[name='companyCode'] option:selected").attr('code'); $.ajax({ url: ctx + "receipt/receiptHeader/getwarehouse", type: 'post', data: {code: companyCode}, success: function (response) { if (response.code === 200) { $("select[name='uWarehouseCode']").children().remove(); $("select[name='uWarehouseCode']").append(`<option value="">所有</option>`); for (let item of response.data) { let option = `<option value="${item.uWarehouseCode}">${item.uWarehouseName}</option>`; $("select[name='uWarehouseCode']").append(option); } } else { $.modal.msgError(response.msg) } } }) }) }) </script> </body> </html>