<!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> <body class="white-bg"> <div class="row"> <div class="col-sm-12"> <div class="col-sm-12 select-info"> <div class="select-list"> <form id="cycleHeader-form"> <ul> <li> 调整主单编码:<input type="text" id="adjustCode" name="adjustCode"/> </li> <li> 调整单明细ID:<input id="id" type="text" name="id"/> </li> <li> 货主编码:<input id="companyCode" type="text" name="companyCode"/> </li> <li> 盘点单编码:<input id="cycleCountCode" type="text" name="cycleCountCode"/> </li> <li> 盘点明细状态:<input id="cycleDetailId" type="text" name="cycleDetailId"/> </li> <li> 质检单编码:<input id="checkCode" type="text" name="checkCode"/> </li> <li> 属性号:<input id="attributeId" type="text" name="attributeId"/> </li> <li> 质检单明细ID:<input id="checkDetailId" type="text" name="checkDetailId"/> </li> <li> 调整单关联单编码:<input id="referCode" type="text" name="referCode"/> </li> <li> 调整单关联明细行号:<input id="referDetailId" type="text" name="referDetailId"/> </li> <li> 容器:<input id="containerCode" type="text" name="containerCode"/> </li> <li> 库位:<input id="locationCode" type="text" name="locationCode"/> </li> <li> 物料编码:<input id="materialCode" type="text" name="materialCode"/> </li> <li> 物料名称:<input id="materialName" type="text" name="materialName"/> </li> <li> 物料规格:<input id="materialSpec" type="text" name="materialSpec"/> </li> <li> 调整类型:<select name="problemType" th:with="problemType=${@dict.getType('adjustType')}"> <option value="">所有</option> <option th:each="e : ${problemType}" th:text="${e['dictLabel']}" th:value="${e['dictValue']}"></option> </select> </li> <li> 调整明细状态:<select name="status" th:with="status=${@dict.getType('cyclecountStatus')}"> <option value="">所有</option> <option th:each="e : ${status}" th:text="${e['dictLabel']}" th:value="${e['dictValue']}"></option> </select> </li> <li> 创建人:<input id="createdBy" type="text" name="createdBy"/> </li> <li class="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> <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i> 搜索</a> </li> </ul> </form> </div> </div> <div class="btn-group hidden-xs" id="toolbar" role="group"> <a class="btn btn-outline btn-success btn-rounded" onclick="add()" shiro:hasPermission="inventory:adjustDetail:add" > <i class="fa fa-plus"></i> 新增 </a> <a class="btn btn-outline btn-primary btn-rounded" onclick="agree()" shiro:hasPermission="inventory:adjustDetail:adjustAgree" > <i class="fa fa-edit"></i> 审批 </a> <a class="btn btn-outline btn-danger btn-rounded" onclick="addAdjust()" shiro:hasPermission="inventory:adjustDetail:addAdjust"> <i class="fa fa-vcard"></i>调整 </a> <!--<a class="btn btn-outline btn-success btn-rounded" onclick="$.table.refresh()"> <i class="fa fa-refresh"></i> 刷新 </a>--> </div> <table id="bootstrap-table" data-mobile-responsive="true" class="table table-bordered table-hover"></table> </div> </div> <div th:include="include :: footer"></div> <script th:inline="javascript"> var prefix = ctx + "inventory/adjustDetail"; var prefix_head = ctx + "inventory/adjustHeader"; var removes= [[${@permission.hasPermi('inventory:adjustDetail:remove')}]]; var type2 = [[${@dict.getType('adjustType')}]]; var adjustStatus = [[${@dict.getType('adjustStatus')}]]; var inventoryStatus = [[${@dict.getType('inventoryStatus')}]]; var created; $(function () { let adjustCode=null; let options = { url:prefix + "/list", modalName: "调整单明细", sortName: "id", sortOrder: "desc", search: false, showRefresh: true, onRefresh: function(){ update(); }, columns: [ { checkbox: true }, /*{ title: '调整操作', align: 'center', formatter: function (value, row, index) { var actions = []; actions.push('<a class="btn btn-warning btn-xs " href="#" onclick="addAdjust(\'' + row.id + '\')"><i class="fa fa-send"></i> 调整</a> '); return actions.join(''); } },*/ { field: 'id', title: '明细id', sortable: true }, { field: 'adjustCode', title: '调整主单编码', visible: true }, { field: 'inventoryDetailId', title: '库存明细', visible: true }, { field: 'warehouseCode', title: '仓库', visible: false }, { field: 'companyCode', title: '货主' }, { field: 'cycleCountCode', title: '盘点单编码', }, { field: 'cycleDetailId', title: '盘点单明细ID', sortable: true, visible: true }, { field: 'locationCode', title: '库位编号', }, { field: 'containerCode', title: '容器编号', }, { field: 'materialCode', title: '物料编码', }, { field: 'materialName', title: '物料名称', }, { field: 'materialSpec', title: '物料规格', }, { field: 'materialUnit', title: '物料单位', }, { field: 'checkCode', title: '质检单号', visible: true }, { field: 'checkDetailId', title: '质检单明细行号', visible: true }, { field: 'referCode', title: '调整单关联单号', visible: true }, { field: 'referDetailId', title: '调整单关联明细ID', visible: true }, { field: 'problemType', title: '调整类型', align: 'center', formatter: function (value, row, index) { return $.table.selectDictLabel(type2, value); }, visible: true, //sortable: true }, { field: 'fromQty', title: '调整前数量' }, { field: 'toQty', title: '调整后数量' }, { field: 'gapQty', title: '调整数量' }, { field: 'fromInventorySts', title: '调整前状态', formatter: function (value, row, index) { return $.table.selectDictLabel(inventoryStatus, value); }, visible: true }, { field: 'toInventorySts', title: '调整后状态', formatter: function (value, row, index) { return $.table.selectDictLabel(inventoryStatus, value); }, visible: true }, { field: 'attributeId', title: '属性号', sortable: true, visible: false }, { field: 'supplierCode', title: '供应商编码', visible: true }, { field: 'agreeTime', title: '审批时间', sortable: true }, { field: 'agreeBy', title: '审批人' }, { field: 'status', title: '调整状态', formatter: function (value, row, index) { return $.table.selectDictLabel(adjustStatus, value); }, sortable: true }, { field: 'batch', title: '批次', visible: true }, { field: 'lot', title: '批号', visible: true }, { field: 'projectNo', title: '项目号', visible: true }, { field: 'weight', title: '重量', visible: true }, { field: 'manufactureDate', title: '生产日期', visible: true }, { field: 'expirationDate', title: '失效日期', visible: true }, { field: 'created', title: '创建时间', sortable: true }, { field: 'createdBy', title: '创建用户' }, { field: 'Remark', title: '备注', visible: true }, { field: 'version', title: '数据版本', visible: false }, { field: 'processStamp', title: '处理标记', visible: false }, { title: '操作', align: 'center', formatter: function (value, row, index) { var actions = []; actions.push('<a class="btn btn-danger btn-xs ' + removes + ' " href="#" onclick="remove(\'' + row.id + '\')"><i class="fa fa-trash-o"></i>删除</a> '); return actions.join(''); } } ] }; let url = location.search; //获取url中"?"符后的字串 if (url.indexOf("?") != -1) { //判断是否有参数 let str = url.substr(1); //从第一个字符开始 因为第0个是?号 获取所有除问号的所有符串 let strs = url.substr(1).split("="); $("#adjustCode").val(strs[1]); options.queryParams=function(params) { return { // 传递参数查询参数 adjustCode: strs[1], pageSize: params.limit, pageNum: params.offset / params.limit + 1, searchValue: params.search, orderByColumn: params.sort, isAsc: params.order }; }; adjustCode=str.split("=")[1]; $.table.init(options); } else{ $.table.init(options); } }); /*新增调整明细*/ function add() { var adjustCode = $('#adjustCode').val(); if(adjustCode !=null && adjustCode!="" && adjustCode!=undefined){ open("新增调整明细", prefix+"/add?adjustCode=" + adjustCode); } } /*审批*/ function agree() { var rows = $.common.isEmpty($.table._option.id) ? $.table.selectFirstColumns() : $.table.selectColumns($.table._option.id); if (rows.length == 0) { $.modal.alertWarning("请至少选择一条记录"); return; } $.modal.confirm("审批请谨慎核对数据!" , function() { var url = prefix + "/adjustAgree"; var data = { "ids": rows.join() }; postInner(url, data); }); } /*调整*/ function addAdjust() { var rows = $.common.isEmpty($.table._option.id) ? $.table.selectFirstColumns() : $.table.selectColumns($.table._option.id); if (rows.length == 0) { $.modal.alertWarning("请至少选择一条记录"); return; } $.modal.confirm("注意:该操作将更改库存数量或属性,当实盘数量为0且库位上只剩空容器时,请手动执行空托出库任务,容器上有货则无需其他操作!" , function() { var url = prefix + "/adjustEdit"; var data = { "ids": rows.join() }; postInner(url, data); }); } function postInner(url,data) { $.modal.loading("正在处理中,请稍后..."); $.ajax({ url:url, type:"post", data:data, success:function (result) { if (result.code == web_status.SUCCESS) { $.modal.msgSuccess(result.msg); $.table.refresh(); } else { $.modal.alertError(result.msg); } $.modal.closeLoading(); } }) } /*单条删除*/ function remove(id) { $.modal.confirm("确定删除该条" + $.table._option.modalName + "信息吗?", function() { var url = prefix+"/remove"; var data = { "id": id }; $.ajax({ url: url, type:"post", data:data, success:function (result) { if (result.code == web_status.SUCCESS) { $.modal.msgSuccess(result.msg); $.table.refresh(); } else { $.modal.alertError(result.msg); } $.modal.closeLoading(); } }) }); } // function open(title, url, width, height) { if (navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)) { width = 'auto'; height = 'auto'; } if (title == null) { title = false; } if (url == null) { url = "404.html"; } if ($.common.isEmpty(width)) { width = 800; // width = ($(window).width() - 100); } if ($.common.isEmpty(height)) { height = ($(window).height() - 50); } layer.open({ type: 2, area: [width + 'px', height + 'px'], fix: false, //不固定 maxmin: true, shade: 0.3, title: title, content: url // shadeClose: true, //点击遮罩关闭层 }) } </script> </body> </html>