<!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:block th:include="include :: header"/> <th:block th:include="include :: select2-css"/> </head> <body class="white-bg"> <div class="container-div"> <div class="row"> <div class="col-sm-12 select-info"> <form id="inventory-form"> <div class="select-list"> <ul> <li class="col-sm-3"> <label>物料编码:</label> <select id="materialCode" name="materialCode"/> </li> <li> <input type="hidden" id="cycleCountHeadCode" name="cycleCountHeadCode" th:value="${cycleCountHeadCode}" readonly="readonly"/> </li> <li> <label>库位编码:</label> <input id="locationCode" type="text" name="locationCode"/> </li> <li> <label>载具编码:</label> <input id="containerCode" type="text" name="containerCode"/> </li> <li class="select-time"> <label>入库时间: </label> <input type="text" class="time-input" id="startTime" placeholder="开始时间" name="createdBegin"/> <span>-</span> <input type="text" class="time-input" id="endTime" placeholder="结束时间" name="createdEnd"/> </li> <li style="float: right; margin-right: 45px"> <a id="search" 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('inventory-form')"> <i class="fa fa-refresh"></i> 重置 </a> </li> </ul> </div> </form> </div> <div class="col-sm-12 select-info"> <a class="btn btn-success btn-sm" onclick="addDetails()" style="float: left; margin: 12px 0 12px 0" shiro:hasPermission="inventory:cyclecountDetail:add"> <i class="fa fa-edit"></i> 添加盘点库存</a> <table id="bootstrap-table" class="table table-bordered table-hover"></table> </div> </div> </div> <div th:include="include::footer"></div> <th:block th:include="include :: select2-js"/> <script th:inline="javascript"> var addFlag = [[${@permission.hasPermi('inventory:cyclecountDetail:add')}]]; var prefixDetail = ctx + "inventory/inventoryDetail"; var prefix_cycleDetails = ctx + "inventory/cycleCountDetail"; var prefix = ctx + "inventory/inventoryHeader"; var report = [[${@permission.hasPermi('inventoryHeader:adjustHeader:report')}]]; var datas = [[${@dict.getType('sys_normal_disable')}]]; var inventoryStatus = [[${@dict.getType('inventorySts')}]]; $(function () { var options = { url: prefix + "/cycleCountInventoryHeader", createUrl: prefix + "/add", updateUrl: prefix + "/edit/{id}", modalName: "库存头", sortName: "id", sortOrder: "desc", pagination: false, //取消分页 search: false, showSearch: false, showRefresh: false, showToggle: false, showColumns: false, detailView: true, onExpandRow: function (index, row, $detail) { initChildTable(index, row, $detail); }, columns: [ { checkbox: true }, { field: 'id', title: '库存头ID', }, { field: 'warehouseCode', title: '仓库 ', visible: true }, { field: 'companyCode', title: '货主', visible: true }, { field: 'locationCode', title: '库位 ' }, { field: 'containerCode', title: '载具' }, { field: 'containerStatus', title: '载具状态', visible: false }, { field: 'totalWeight', title: '总重量' }, { field: 'materialSkuQty', title: '商品种类数', visible: false }, { field: 'totalQty', title: '总数' }, { field: 'totalLines', title: '总行', visible: false }, /*{ field: 'locking', title: ' 锁定', visible: true, },*/ { field: 'lockRemark', title: ' 锁定备注', visible: false }, { field: 'created', title: ' 创建时间' }, { field: 'createdBy', title: ' 创建用户' }, { field: 'lastUpdated', title: ' 更新时间', visible: false }, { field: 'lastUpdatedBy', title: ' 更新用户', visible: false }, ] }; $.table.init(options); }); //子表 initChildTable = function (index, row, $detail) { let childTable = $detail.html('<table style="table table-bordered table-hover text-nowrap"></table>').find('table'); $(childTable).bootstrapTable({ url: prefixDetail + "/inventoryCycleCountLook", method: 'post', sortName: "id", sortOrder: "desc", sidePagination: "server", contentType: "application/x-www-form-urlencoded", //页面渲染 responseHandler: responseHandler, queryParams: { inventoryHeaderId: row.id, warehouseCode: row.warehouseCode, }, columns: [ { field: 'id', title: '明细ID', width: 80 }, { field: 'inventoryHeaderId', title: '库存头ID', visible: false }, { field: 'locationCode', title: '库位编号', visible: false }, { field: 'containerCode', title: '载具编号', visible: false }, { field: 'materialCode', title: '物料编码' }, { field: 'materialName', title: '物料名称', width: 150 }, { field: 'materialSpec', title: '物料规格', visible: false }, { field: 'materialUnit', title: '物料单位', visible: true, width: 80 }, { field: 'qty', title: '数量', width: 90 }, { field: 'locationNoX', title: 'x', }, { field: 'locationNoY', title: 'y', }, { field: 'tracingNo', title: '追溯码', }, { field: 'taskQty', title: '预定执行数量', visible: false, width: 90 }, { field: 'lockedQty', title: '冻结数量', visible: false }, { field: 'receiptCode', title: '入库单编码', visible: true, width: 150 }, { field: 'companyCode', title: '货主编码', width: 80 }, { field: 'receiptDetailId', title: '入库单明细ID', visible: false }, { field: 'batch', title: '批次', visible: true }, { field: 'lot', title: '批号', visible: false }, { field: 'projectNo', title: '项目号', visible: false, }, { field: 'supplierCode', title: '供应商编码', visible: false }, { field: 'manufactureDate', title: '生产日期', visible: false }, { field: 'expirationDate', title: '失效日期', visible: false }, { field: 'inventorySts', title: '库存状态', align: 'center', formatter: function (value, row, index) { return $.table.selectDictLabel(inventoryStatus, value); }, visible: false }, { field: 'referCode', title: '上游单号', visible: false }, { field: 'referDetailId', title: '上游单号行号', visible: false }, { field: 'qcCheck', title: '质检', visible: false }, { field: 'weight', title: '重量', visible: false }, { field: 'attributeId', title: '属性号', visible: false }, { field: 'attribute1', title: '属性1', visible: false }, { field: 'attribute2', title: '属性2', visible: false }, { field: 'attribute3', title: '属性3', visible: false }, { field: 'lockCode', title: '锁', visible: false, width: 110 }, { field: 'lastCycleCountDate', title: '上次盘点日期', visible: false, }, { field: 'created', title: '入库日期', visible: true, width: 150 }, { field: 'createdBy', title: '创建用户', visible: true, width: 120 }, { field: 'lastUpdated', title: '最后修改时间', visible: false }, { field: 'lastUpdatedBy', title: '更新用户', visible: false }, ] }); }; function addDetails() { var rows = $("#bootstrap-table").bootstrapTable('getSelections'); if (rows.length < 1) { $.modal.alertWarning("请选择库存明细!"); return; } $.modal.loading("正在处理,请稍后..."); var ids = []; rows.forEach(function (item) { ids.push(item.id); }); addInner($('#cycleCountHeadCode').val(), ids.join(',')); } function addInner(cycleCountHeadCode, ids) { $.ajax({ cache: true, type: "post", url: prefix_cycleDetails + "/add", data: { cycleCountHeadCode: cycleCountHeadCode, inventoryHeaderIds: ids }, async: true, error: function (request) { $.modal.alertError("请求失败!"); }, success: function (data) { if (data.code === 200) { $.modal.closeLoading(); $.modal.alertSuccess("添加盘点成功"); $.table.refresh(); } else { $.modal.closeLoading(); $.modal.alertError(data.msg); $.table.refresh(); } parent.$.table.refresh(); } }) } function responseHandler(res) { if (res.code === 200) { return {rows: res.data, total: res.total, code: 0}; } else { $.modal.alertWarning(res.msg); return {rows: [], total: 0}; } } $(function () { $('#materialCode').select2({ width: "200", ajax: { url: ctx + 'config/material/getData', dataType: 'json', type: 'post', data: function (params) { return { materialName: params.term, }; } } }); }); </script> </body> </html>