<!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> <style> #toolbar1{ display: inline-block; /*position: absolute; margin: 10px auto;*/ line-height: 34px; } .btn-default { color: #333; background-color: #fff; border-color: #ccc } </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 id="receiptHeader-form"> <div class="select-list"> <ul> <li> 入库单号:<input type="text" name="code"/> </li> <li> 仓库:<input type="text" name="warehouseCode"/> </li> <li> <!--入库类型:<input type="text" name="sourceCode"/>--> 入库类型:<select name="type" th:with="type=${@dict.getType('receiptType')}"> <option value="">所有</option> <option th:each="e : ${type}" th:text="${e['dictLabel']}" th:value="${e['dictValue']}"></option></select> </li> <li> 供 应 商:<input type="text" name="supplierCode"/> </li> <li> <!--头 状 态:<input type="text" name="firstStatus"/>--> 头 状 态:<select name="firstStatus" th:with="firstStatus=${@dict.getType('receiptHeaderStatus')}"> <option value="">所有</option> <option th:each="e : ${firstStatus}" th:text="${e['dictLabel']}" th:value="${e['dictValue']}"></option></select> </li> <li> <!--尾 状 态:<input type="text" name="lastStatus"/>--> 尾 状 态:<select name="lastStatus" th:with="lastStatus=${@dict.getType('receiptHeaderStatus')}"> <option value="">所有</option> <option th:each="e : ${lastStatus}" th:text="${e['dictLabel']}" th:value="${e['dictValue']}"></option></select> </li> <li> 上游单号:<input type="text" name="sourceCode"/> </li> <li> 上游平台:<input type="text" name="sourcePlatform"/> </li> <li class="time"> <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> u8仓库:<select name="uWarehouseCode" th:with="warehouse=${@warehouse.selectList()}"> <option value="">所有</option> <option th:each="e : ${warehouse}" th:text="${e['uWarehouseName']}" th:value="${e['uWarehouseCode']}"></option></select> </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-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="receipt:receiptHeader:export"><i class="fa fa-download"></i> 导出</a>--> </li> </ul> </div> </form> </div> <div class="btn-group hidden-xs" id="toolbar" role="group"> </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="col-sm-12 select-info"> <form id = "shipmentHeadForm" > <ul id="tabHead" class="nav nav-tabs"> <li class="active"><a href="#tabBase" data-toggle="tab">基础数据</a></li> <li role="presentation" ><a href="#tabCustomer" data-toggle="tab">客户信息</a></li> <li><a href="#tabExcute" data-toggle="tab">执行信息</a></li> <li><a href="#tabOther" data-toggle="tab">其他信息</a></li> <li><a href="#tabSystem" data-toggle="tab">系统信息</a></li> </ul> <div class="tab-content"> <div class="tab-pane in active" id="tabBase"> <div class="select-list"> <ul> <!--<input type="hidden" name="warehouseId" id = "shipmentWarehouseId">--> <li>入库单id:<input type="text" name="receiptId" id="receiptId"></li> <li>入库单号:<input type="text" name="receiptCode" id="receiptCode"></li> <li>货主编码: <input type="text" name="receiptCompanyCode" id="receiptCompanyCode"> <input type="hidden" name="receiptCompanyId" id="receiptCompanyId"> </li> <li>上游系统单号:<input type="text" name="receiptSourceCode" id="receiptSourceCode"></li> <li>上游平台:<input type="text" name="receiptSourcePlatform" id="receiptSourcePlatform"></li> <li>入库单类型:<input type="text" name="receiptType" id = "receiptType"></li> <li>总数量:<input type="text" name="receiptTotalQty" id="receiptTotalQty"></li> <li>总行数:<input type="text" name="receiptTotalLines" id="receiptTotalLines"></li> <li>单据头状态:<input type="text" name="receiptFirstStatus" id="receiptFirstStatus"></li> <li>单据尾状态:<input type="text" name="receiptLastStatus" id="receiptLastStatus"></li> </ul> </div> </div> <div class="tab-pane fade" id="tabCustomer"> <div class="select-list"> <ul> <li>供应商编码:<input type="text" name="receiptSupplierCode" id="receiptSupplierCode"></li> <li>入库预约时间:<input type="text" name="receiptAppointmentTime" id="receiptAppointmentTime"></li> </ul> </div> </div> <div class="tab-pane fade" id="tabExcute"> <div class="select-list"> <ul> <li>优先级:<input type="text" name="receiptPriority" id="receiptPriority"></li> <li>发货站台:<input type="text" name="receiptStation" id="receiptStation"></li> <li></li> </ul> </div> </div> <div class="tab-pane fade" id="tabOther"> <div class="select-list"> <ul> <li>备注:<input type="text" name="receiptRemark" id="receiptRemark"></li> <li>扩展属性1:<input type="text" name="receiptUserDef1" id="receiptUserDef1"></li> <li>扩展属性2:<input type="text" name="receiptUserDef2" id="receiptUserDef2"></li> <li>扩展属性3:<input type="text" name="receiptUserDef3" id="receiptUserDef3"></li> </ul> </div> </div> <div class="tab-pane fade" id="tabSystem"> <div class="select-list"> <ul> <li>上传备注:<input type="text" name="receiptUploadremark" id="receiptUploadremark"></li> <li>上传时间:<input type="text" name="receiptUploadTime" id="receiptUploadTime"></li> <li>上传状态:<input type="text" name="receiptUploadStatus" id="receiptUploadStatus"></li> <li>创建时间:<input type="text" name="receiptCreated" id="receiptCreated"></li> <li>创建用户:<input type="text" name="receiptCreatedBy" id="receiptCreatedBy"></li> <li>最后修改时间:<input type="text" name="receiptLastUpdated" id="receiptLastUpdated"></li> <li>更新用户:<input type="text" name="receiptLastUpdatedBy" id="receiptLastUpdatedBy"></li> <li>是否有效:<input type="text" name="receiptEnable" id="receiptEnable"></li> <li>是否删除:<input type="text" name="receiptDeleted" id="receiptDeleted"></li> </ul> </div> </div> </div> </form> </div> <div class="btn-group hidden-xs" id="toolbar1" role="group" style="position:relative;"> </div> <table id="bootstrap-table1" data-mobile-responsive="true" class="table table-bordered table-hover"></table> </div> </div> </div> </div> </div> <div th:include="include :: footer"></div> <script th:inline="javascript"> var prefix = ctx + "admin/receiptHeader"; var detailPrefix = ctx + "admin/receiptDetail"; var datas = [[${@dict.getType('sys_normal_disable')}]]; var receiptTypes = [[${@dict.getType('receiptType')}]]; var receiptHeaderStatus = [[${@dict.getType('receiptHeaderStatus')}]]; var uploadStatus = [[${@dict.getType('uploadStatus')}]]; var inventoryStatus = [[${@dict.getType('inventoryStatus')}]]; var receiptId = ''; var receiptCode = ''; $(function() { let url = window.location.search; //获取url中"?"符后的字串 let dates=null; if (url.indexOf("?") != -1){ let date=new Date(); let year=date.getFullYear(); let month=date.getMonth(); let day=date.getDate(); let str = url.substr(1); //从第一个字符开始 因为第0个是?号 获取所有除问号的所有符串 strs = str.split("="); if (strs[1]) { dates=year+'-'+month+'-'+day; } } var options = { url: prefix + "/list", modalName: "入库主表", sortName: "created", sortOrder: "desc", search: false, queryParams: function (params) { return { pageSize: params.limit, pageNum: params.offset / params.limit + 1, time:dates, }; }, columns: [{ checkbox: true }, { field : 'id', title : '入库单id' }, { field : 'code', title : '入库单号', }, { field : 'warehouseCode', title : '仓库', }, { field : 'uWarehouseCode', title : 'U8仓库', sortable:true }, { field : 'companyId', title : '货主ID', visible:false }, { field : 'companyCode', title : '货主编码', visible:false }, { field : 'type', title : '入库类型', align: 'center', formatter: function(value, row, index) { return $.table.selectDictLabel(receiptTypes, value); } }, { field : 'sourceCode', title : '上游单号', sortable:true }, { field : 'sourcePlatform', title : '上游平台', visible:false }, { field : 'supplierId', title : '供应商id', visible:false }, { field : 'supplierCode', title : '供应商编码', visible:false }, { field: 'supplierName', title: '供应商名称', sortable: true }, { field : 'totalQty', title : '总数量' }, { field : 'totalLines', title : '总行数' }, { field : 'remark', title : '备注' }, { field : 'uploadStatus', title : '上传状态', visible:false }, { field : 'uploadremark', title : '上传备注', visible:false }, { field : 'uploadTime', title : '上传时间', visible:false, sortable:true }, { field : 'appointmentTime', title : '入库预约时间', visible:false, sortable: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 : 'created', title : '创建时间', sortable:true }, { field : 'createdBy', title : '创建用户' }, { field : 'lastUpdated', title : '最后修改时间', sortable:true }, { field : 'lastUpdatedBy', title : '更新用户' }, { field : 'enable', title : '是否有效', align: 'center', formatter: function(value, row, index) { return $.table.selectDictLabel(datas, value); } }, { field : 'userDef1', title : '自定义字段1', visible: false }, { field : 'userDef2', title : '自定义字段2', visible: false }, { field : 'userDef3', title : '自定义字段3' , visible: false }, { title: '操作', align: 'center', formatter: function(value, row, index) { var actions = []; return actions.join(''); } }] }; $.table.init(options); }); $("#bootstrap-table1").bootstrapTable({ // url: detailPrefix + "/list", // search: true, //搜索 sortable: true, //排序 showRefresh: true, //刷新 showToggle:true, //视图切换 clickToSelect: true, showColumns:true, //列选择 // detailView:true, showExport: true, //导出 exportDataType: "all", //导出类型basic', 'all', 'selected'.当前页、所有数据、选中数据 modalName: "入库明细", sortName: "lastUpdated", sortOrder: "desc", iconSize: "outline", toolbar: "#toolbar1", contentType: "application/x-www-form-urlencoded", pagination: true, // 是否显示分页(*) pageNumber: 1, // 初始化加载第一页,默认第一页 pageSize: 10, // 每页的记录行数(*) pageList: [10, 25, 50], // 可供选择的每页的行数(*) onRefresh: function(){ loadDetail(); }, columns: [{ checkbox: true }, { field : 'id', title : '明细id' }, { field:"receiptId", title:"入库单id", visible:false }, { field : 'receiptCode', title : '入库单号', visible:false }, { field : 'zoneCode', title : '库区编码' }, { field : 'materialCode', title : '存货编码' }, { field : 'materialName', title : '物料名称' }, { field : 'specification', title : '规格' }, { field : 'batch', title : '批次' }, { field : 'lot', title : '批号' }, { field : 'project', title : '项目号' }, { field : 'manufactureDate', title : '生产日期' }, { field : 'expirationDate', title : '失效日期' }, { field : 'inventoryStatus', title : '库存状态', formatter: function(value, row, index) { return $.table.selectDictLabel(inventoryStatus, value); }, }, { field : 'qty', title : '单据数量' }, { field : 'qtyCompleted', title : '已收数量' }, { field : 'status', title : '单据状态', align: 'center', formatter: function(value, row, index) { return $.table.selectDictLabel(receiptHeaderStatus, value); } }, { field : 'created', title : '创建时间' }, { field : 'createdBy', title : '创建用户' }, { field : 'lastUpdated', title : '最后修改时间' }, { field : 'lastUpdatedBy', title : '更新用户' }, { title: '操作', align: 'center', events:'operateEvents', formatter: function(value, row, index) { var actions = []; return actions.join(''); } }] }); /* 入库单列表-详细 */ 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 + 'admin/receiptDetail/list', type:"post", data:{ receiptId:receiptId, }, success:function (value) { $("#bootstrap-table1").bootstrapTable('load',value.data); } }); $.ajax({ url: ctx + "admin/receiptHeader/getReceiptHeader", type:"post", data:{ id:receiptId }, success:function (value) { $('#receiptId').val(value.data.id); $('#receiptCode').val(value.data.code); receiptCode=value.data.code $('#receiptCompanyId').val(value.data.companyId); $('#receiptCompanyCode').val(value.data.companyCode); $('#receiptSourceCode').val(value.data.sourceCode); $('#receiptSourcePlatform').val(value.data.sourcePlatform); $('#receiptType').val(receiptTypes.filter(function (e) {return e.dictValue==value.data.type})[0].dictLabel); $('#receiptTotalQty').val(value.data.totalQty); $('#receiptTotalLines').val(value.data.totalLines); $('#receiptFirstStatus').val(receiptHeaderStatus.filter(function (e) {return e.dictValue==value.data.firstStatus})[0].dictLabel); $('#receiptLastStatus').val(receiptHeaderStatus.filter(function (e) {return e.dictValue==value.data.lastStatus})[0].dictLabel); $('#receiptSupplierCode').val(value.data.supplierCode); $('#receiptAppointmentTime').val(value.data.appointmentTime); $('#receiptRemark').val(value.data.remark); $('#receiptUserDef1').val(value.data.userDef1); $('#receiptUserDef2').val(value.data.userDef2); $('#receiptUserDef3').val(value.data.userDef3); $('#receiptUploadremark').val(value.data.uploadremark); $('#receiptUploadTime').val(value.data.uploadTime); $('#receiptUploadStatus').val(uploadStatus.filter(function (e) {return e.dictValue==value.data.uploadStatus})[0].dictLabel); $('#receiptCreated').val(value.data.created); $('#receiptCreatedBy').val(value.data.createdBy); $('#receiptLastUpdated').val(value.data.lastUpdated); $('#receiptLastUpdatedBy').val(value.data.lastUpdatedBy); if(value.data.enable==true){ $('#receiptEnable').val('是') }else{ $('#receiptEnable').val('否') }; if(value.data.deleted==false){ $('#receiptDeleted').val('否') }else{ $('#receiptDeleted').val('是') }; } }) } function submit(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); loadDetail(); } else { $.modal.alertError(result.msg); } $.modal.closeLoading(); } }; $.ajax(config) } /* 点击明细面板 */ $("#myTab li:eq(1)").click(function () { if (receiptId == '') { receiptId = $("#bootstrap-table tr:eq(1) td:eq(1)").text(); } detail(receiptId, ""); }); /* 点击主表面板 */ $("#myTab li:eq(0)").click(function () { $.ajax({ url: prefix + "/list", type:"post", success:function (value) { $("#bootstrap-table").bootstrapTable('refresh', value.data); } }) }); // function get_receiptid() { // var receipt_id2=$("#bootstrap-table tr:eq(1) td:eq(1)").text(); // var url = ctx + 'receipt/receiptDetail/list'; // createtable(url,receipt_id2); // } // setTimeout("get_receiptid()",2000); //延迟2s加载 // function createMenuItem(dataUrl, menuName) { // dataIndex = $.common.random(1,100); // flag = true; // if (dataUrl == undefined || $.trim(dataUrl).length == 0) return false; // var topWindow = $(window.parent.document); // // 选项卡菜单已存在 // $('.menuTab', topWindow).each(function() { // //todo 增加判断 如果是detail 则需去掉后面的/id 再判断 // if ($(this).data('id') == dataUrl) { // if (!$(this).hasClass('active')) { // $(this).addClass('active').siblings('.menuTab').removeClass('active'); // $('.page-tabs-content').animate({ marginLeft: ""}, "fast"); // // 显示tab对应的内容区 // $('.mainContent .huaheng_iframe', topWindow).each(function() { // if ($(this).data('id') == dataUrl) { // $(this).show().siblings('.huaheng_iframe').hide(); // return false; // } // }); // } // flag = false; // return false; // } // }); // // 选项卡菜单不存在 // if (flag) { // var str = '<a href="javascript:;" class="active menuTab" data-id="' + dataUrl + '">' + menuName + ' <i class="fa fa-times-circle"></i></a>'; // $('.menuTab', topWindow).removeClass('active'); // // // 添加选项卡对应的iframe // var str1 = '<iframe class="huaheng_iframe" name="iframe' + 110 + '" width="100%" height="100%" src="' + dataUrl + '" frameborder="0" data-id="' + dataUrl + '" seamless></iframe>'; // $('.mainContent', topWindow).find('iframe.huaheng_iframe').hide().parents('.mainContent').append(str1); // // // 添加选项卡 // $('.menuTabs .page-tabs-content', topWindow).append(str); // } // return false; // } </script> </body> </html>