<!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="gray-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> 库位编号:<input type="text" name="locationCode"/> </li> <li> 容器编号:<input type="text" name="containerCode"/> </li> <li> 存货编码:<input type="text" name="materialCode"/> </li> <li> 存货代码:<input type="text" name="materialOldCode"/> </li> <li> 物料名称:<input type="text" name="materialName"/> </li> <li> 物料规格:<input type="text" name="materialSpec"/> </li> <li> 工作令号:<input type="text" name="moCode"/> </li> <li> 货主:<select name="companyCode" th:with="company=${@companyService.getCode()}"> <option value="">所有</option> <option th:each="e : ${company}" th:text="${e['name']}" th:value="${e['code']}"></option></select> </li> <li> U8仓库:<select name="uWarehouseCode" th:with="warehouse=${@warehouseWu.selectList()}"> <option value="">所有</option> <option th:each="e : ${warehouse}" th:text="${e['uWarehouseName']}" th:value="${e['uWarehouseCode']}"></option></select> </li> <li> 库存状态: <select name="status" th:with="inventoryStatus=${@dict.getType('inventoryStatus')}"> <option value="">所有</option> <option th:each="e : ${inventoryStatus}" th:text="${e['dictLabel']}" th:value="${e['dictValue']}"></option> </select> </li> <li> 供应商编码:<input type="text" name="supplierCode"/> </li> <li> 项 目 号:<input type="text" name="project"/> </li> <li class="time" style="height:30px"> <label>创建时间: </label> <input type="text" class="time-input" id="startTime" placeholder="开始时间" name="params[createdBegin]"/> <span>-</span> <input type="text" class="time-input" id="endTime" placeholder="结束时间" name="params[createdEnd]"/> </li> <li> <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('inventory-form')"><i class="fa fa-refresh"></i> 重置</a> <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="general:inventory:export"><i class="fa fa-download"></i> 导出</a>--> </li> </ul> </div> </form> </div> <div class="btn-group hidden-xs" id="toolbar" role="group"> <a class="btn btn-outline btn-primary btn-rounded" onclick="transfers()"> <i class="fa fa-eye"></i> XN库存移库 </a> <div class="zkc pull-left" style="margin-left: 300px"> <label >总库存:</label> <div class="pull-right"> <input id="remainder" name="remainder" class="form-control" type="text" readonly style="width: 50%"> </div> </div> </div> <div class="col-sm-12 select-info"> <table id="bootstrap-table" 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 editFlag = [[${@permission.hasPermi('inventory:inventory:edit')}]]; var removeFlag = [[${@permission.hasPermi('inventory:inventory:remove')}]]; var prefix = ctx + "inventory/inventoryTransfer"; var prefix1=ctx+"receipt/receiptHeader"; var inventoryStatus=[[${@dict.getType('inventoryStatus')}]]; var company =[[${@companyService.getCode()}]]; var uWarehouseNames = [[${@warehouseWu.getName()}]]; $(function() { $("select[name='companyCode']").change(function (e) { let companyCode=$("select[name='companyCode'] option:selected").val(); $.ajax({ url:prefix1+'/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)} } }) }) }); $("#bootstrap-table").bootstrapTable({ url: prefix + "/list", createUrl: prefix + "/add", updateUrl: prefix + "/edit/{id}", removeUrl: prefix + "/remove", contentType: "application/x-www-form-urlencoded", // 编码类型 method: 'post', iconSize: "outline", toolbar: "#toolbar", showRefresh: true,//刷新 showToggle:true, //视图切换 clickToSelect: true, showColumns:true, //列选择 showExport: true, //导出 modalName: "", sortable: true, // 是否启用排序 sortStable: true, // 设置为 true 将获得稳定的排序 sortName: "id", sortOrder: "desc", sidePagination: "client", search: false, pagination: true, // 是否显示分页(*) pageNumber: 1, pageSize: 500, pageList: [10, 25, 50,100,500,3000,5000,'all'], sidePagination: "server", // 启用服务端分页 queryParams: function(params) { return { // 传递参数查询参数 pageSize: params.limit, pageNum: params.offset / params.limit + 1, searchValue: params.search, sort: params.sort, order: params.order }; }, responseHandler: function(res) { if (res.code == 200) { return { rows: res.data, total: res.total }; } else { $.modal.alertWarning(res.msg); return { rows: [], total: 0 }; } }, onLoadSuccess: function (res) { let count = 0; if (res.rows.length > 0) { res.rows.map(item => { count +=item.qty }); } $("#remainder").val(count) }, columns: [ { checkbox: true }, { title: '操作', align: 'center', formatter: function(value, row, index) { var actions = []; actions.push('<a class="btn btn-info btn-xs " href="#" onclick="transfer(\'' + row.id+'\',\''+row.companyCode+'\',\''+row.materialCode+'\',\''+row.qty+ '\')"><i class="fa fa-list-ul"></i>移库</a> '); return actions.join(''); } }, { field : 'id', title : '库存ID', visible:false }, { field : 'createdBy', title : '创建用户' , sortable: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 : 'containerCode', title : '容器编号', sortable:true, visible:false }, { field : 'materialCode', title : '存货编码', sortable:true }, { field : 'materialOldCode', title : '存货代码', sortable:true }, { field : 'materialName', title : '物料名称', sortable:true }, { field : 'materialSpec', title : '物料规格' }, { field : 'qty', title : '数量', sortable:true }, { field : 'moCode', title : '工作令号' }, { field : 'zoneCode', title : '储货库区' , sortable:true }, { field : 'taskQty', title : '预定执行数量', visible:false }, // { // field : 'zoneCode', // title : '物料库区', // visible:true // }, { field : 'sourceCode', title : '上游系统单号', visible:false }, { field : 'sourceLine', title : '上游系统行号', visible:false }, { field : 'receiptId', title : '入库单标识' , visible:false }, { field : 'receiptCode', title : '入库单编码' , visible:false }, { field : 'receiptDetailId', title : '入库单明细标识' , visible:false }, { field : 'batch', title : '批次' , sortable:false, visible:false }, { field : 'lot', title : '批号' , sortable:false, visible:false }, { field : 'project', title : '项目号' , visible:false }, { field : 'supplierName', title : '供应商', visible:false }, { field : 'manufactureDate', title : '生产日期' , sortable:true , visible:false }, { field : 'expirationDate', title : '失效日期' , sortable:true , visible:false }, { field : 'created', title : '入库时间', sortable:true }, { field:'days', title:'库龄', visible:true }, { field : 'status', title : '库存状态' , align: 'center', formatter: function(value, row, index) { return $.table.selectDictLabel(inventoryStatus, value); } }, { field : 'costPrice', title : '成本' , visible:false }, { field : 'listPrice', title : '标价' , visible:false }, { field : 'netPrice', title : '净价' , visible:false }, { field : 'userDef1', title : '自定义字段1' , visible:false }, { field : 'userDef2', title : '自定义字段2' , visible:false }, { field : 'userDef3', title : '自定义字段3' , visible:false } ] }); function transfer(id, companyCode, materialCode, qty) { let url = prefix + "/transfer?ids="+id+"&companyCode="+companyCode+"&materialCode=" +materialCode+"&qty="+qty; $.modal.openFull("立库移库",url); } function transfers() { var rows=$("#bootstrap-table").bootstrapTable('getSelections'); if (rows.length == 0) { $.modal.alertWarning("请至少选择一条记录"); return; } let ids = ""; for(let i=0; i<rows.length; i++) { ids = ids + rows[i].id + "," } var url = prefix + "/transfers/"+ids; var data = { "ids": rows.map(function(v){return v.id;}).join(',') }; $.modal.open("立库移库",url); } function localSubmit (url, type, dataType, data) { $.modal.loading("正在处理中,请稍后..."); var config = { url: url, type: type, dataType: dataType, data: data, success: function (result) { if (result.code == web_status.SUCCESS) { $.modal.msgSuccess(result.msg); } else { $.modal.alertError(result.msg) } $.modal.closeLoading() } }; $.ajax(config) } </script> </body> </html>