<!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> .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('shipmentType')}"> <option value="">所有</option> <option th:each="e : ${type}" th:text="${e['dictLabel']}" th:value="${e['dictValue']}"></option> </select> </li> <li> 客户编码:<input type="text" name="sourceCode"/> </li> <li> <!--头 状 态:<input type="text" name="firstStatus"/>--> 头 状 态:<select name="firstStatus" th:with="firstStatus=${@dict.getType('shipmentHeaderStatus')}"> <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('shipmentHeaderStatus')}"> <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> 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> 上游平台:<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> <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 fade in active" id="tabBase"> <div class="select-list"> <ul> <li>出库单id:<input type="text" name="shipmentId" id="shipmentId"><li> <li>出库单号:<input type="text" name="shipmentCode" id="shipmentCode"></li> <input type="hidden" name="shipmentWarehouseId" id = "shipmentWarehouseId"> <li>仓库编码:<input type="text" name="shipmentWarehouseCode" id="shipmentWarehouseCode"></li> <input type="hidden" name="shipmentCompanyId" id="shipmentCompanyId"> <li>货主:<input type="text" name="shipmentCompanyCode" id="shipmentCompanyCode"></li> <li>上游系统单号:<input type="text" name="shipmentSourceCode" id="shipmentSourceCode"></li> <li>上游平台:<input type="text" name="shipmentSourcePlatform" id="shipmentSourcePlatform"></li> <li>出库单类型:<input type="text" name="shipmentType" id = "shipmentType"></li> <li>总数量:<input type="text" name="shipmentTotalQty" id="shipmentTotalQty"></li> <li>总行数:<input type="text" name="shipmentTotalLines" id="shipmentTotalLines"></li> <li>单据头状态:<input type="text" name="shipmentFirstStatus" id="shipmentFirstStatus"></li> <li>单据尾状态:<input type="text" name="shipmentLastStatus" id="shipmentLastStatus"></li> </ul> </div> </div> <div class="tab-pane fade" id="tabCustomer"> <div class="select-list"> <ul> <li>客户编码:<input type="text" name="shipmentShipTo" id="shipmentShipTo"></li> <li>发货预约时间:<input type="text" name="shipmentAppointmentTime" id="shipmentAppointmentTime"></li> </ul> </div> </div> <div class="tab-pane fade" id="tabExcute"> <div class="select-list"> <ul> <li>优先级:<input type="text" name="shipmentPriority" id="shipmentPriority"></li> <li>发货站台:<input type="text" name="shipmentStation" id="shipmentStation"></li> <li></li> </ul> </div> </div> <div class="tab-pane fade" id="tabOther"> <div class="select-list"> <ul> <li>备注:<input type="text" name="shipmentRemark" id="shipmentRemark"></li> <li>扩展属性1:<input type="text" name="shipmentUserDef1" id="shipmentUserDef1"></li> <li>扩展属性2:<input type="text" name="shipmentUserDef2" id="shipmentUserDef2"></li> <li>扩展属性3:<input type="text" name="shipmentUserDef3" id="shipmentUserDef3"></li> </ul> </div> </div> <div class="tab-pane fade" id="tabSystem"> <div class="select-list"> <ul> <li>上传备注:<input type="text" name="shipmentUploadremark" id="shipmentUploadremark"></li> <li>上传时间:<input type="text" name="shipmentUploadTime" id="shipmentUploadTime"></li> <li>上传状态:<input type="text" name="shipmentUploadStatus" id="shipmentUploadStatus"></li> <li>创建时间:<input type="text" name="shipmentCreated" id="shipmentCreated"></li> <li>创建用户:<input type="text" name="shipmentCreatedBy" id="shipmentCreatedBy"></li> <li>最后修改时间:<input type="text" name="shipmentLastUpdated" id="shipmentLastUpdated"></li> <li>更新用户:<input type="text" name=" shipmentLastUpdatedBy" id="shipmentLastUpdatedBy"></li> <li>是否有效:<input type="text" name="shipmentEnable" id="shipmentEnable"></li> <li>是否删除:<input type="text" name="shipmentDeleted" id="shipmentDeleted"></li> </ul> </div> </div> </div> </form> </div> <div class="btn-group hidden-xs" id="toolbar-detail" role="group" style="padding:20px 0;"> </div> <table id="bootstrap-table-detail" 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/shipmentHeader"; var prefix_detail = ctx + "admin/shipmentDetail"; var datas = [[${@dict.getType('sys_normal_disable')}]]; var shipmentTypes=[[${@dict.getType('shipmentType')}]]; var shipmentHeaderStatus=[[${@dict.getType('shipmentHeaderStatus')}]]; var stations = [[${@dict.getType('station')}]]; var uploadStatus=[[${@dict.getType('uploadStatus')}]]; var inventoryStatus=[[${@dict.getType('inventoryStatus')}]]; var shipmentId = ""; var shipmentCode=""; $(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", queryParams: function (params) { return { pageSize: params.limit, pageNum: params.offset / params.limit + 1, time:dates, }; }, search: false, columns: [ { checkbox: true }, { field: 'id', title: '出库单id' }, { field: 'code', title: '出库单号', sortable:true }, { field: 'warehouseCode', title: '仓库', sortable:true }, { field: 'companyId', title: '货主标识', visible:false }, { field: 'companyCode', title: '货主', sortable:true }, { field: 'sourceCode', title: '上游单号', sortable:true }, { field: 'sourcePlatform', title: '上游平台', sortable:true, visible:false }, { field : 'uWarehouseCode', title : 'U8仓库', sortable:true }, { field: 'type', title: '类型', align: 'center', formatter: function(value, row, index) { return $.table.selectDictLabel(shipmentTypes, value); }, sortable:true }, { field: 'shipTo', title: '客户编码', sortable:true }, { field: 'priority', title: '优先级' }, { field: 'station', title: '发货站台', align: 'center', formatter: function(value, row, index) { return $.table.selectDictLabel(stations, value); }, sortable:true }, { field: 'totalQty', title: '总数量' }, { field: 'totalLines', title: '总行数' }, { field: 'remark', title: '备注' }, { field: 'uploadremark', title: '上传备注', visible:false }, { field: 'uploadTime', title: '上传时间', visible:false }, { field: 'appointmentTime', title: '发货预约时间', visible:false }, { field: 'firstStatus', title: '头状态', formatter: function(value, row, index) { return $.table.selectDictLabel(shipmentHeaderStatus, value); }, sortable:true }, { field: 'lastStatus', title: '尾状态', formatter: function(value, row, index) { return $.table.selectDictLabel(shipmentHeaderStatus, value); }, sortable:true }, { field: 'uploadStatus', title: '上传状态', visible:false }, { field: 'created', title: '创建时间', sortable: true }, { field: 'createdBy', title: '创建用户' }, { field: 'lastUpdated', title: '最后修改时间', visible:false }, { field: 'lastUpdatedBy', title: '更新用户', visible:false }, { field: 'enable', title: '是否有效', formatter: function(value, row, index) { return $.table.selectDictLabel(datas, value); } }, { title: '操作', align: 'center', formatter: function (value, row, index) { var actions = []; return actions.join(''); } }] }; $.table.init(options); }); $("#bootstrap-table-detail").bootstrapTable( { /*url: prefix_detail + "/list",*/ // queryParams: queryParams, sortable: true, //排序 // showRefresh: true, //刷新 modalName: "出库明细", search: false, clickToSelect: true, sortName: "lastUpdated", sortOrder: "desc", pagination: true, // 是否显示分页(*) pageNumber: 1, // 初始化加载第一页,默认第一页 pageSize: 10, // 每页的记录行数(*) pageList: [10, 25, 50], // 可供选择的每页的行数(*) columns: [{ checkbox: true }, { field: 'id', title: '明细id' }, { field: 'zoneCode', title: '库区' }, /* { field: 'shipmentId', title: '出库单Id' },*/ { field: 'materialCode', title: '存货编码' }, { field: 'materialName', title: '物料名称' }, { field: 'specification', title: '物料规格' }, { field: 'batch', title: '批次' }, { field: 'lot', title: '批号', visible:false }, { field: 'project', title: '项目号' }, { field: 'status', title: '明细状态', formatter: function(value, row, index) { return $.table.selectDictLabel(shipmentHeaderStatus, value); }, visible:true }, { field: 'manufactureDate', title: '生产日期', visible:false }, { field: 'expirationDate', title: '失效日期', visible:false }, { field: 'agingDate', title: '入库日期', sortable: true }, { 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(shipmentHeaderStatus, value); } }, { field: 'price', title: '物料单价', visible:false }, { field: 'created', title: '创建时间', }, { field: 'createdBy', title: '创建用户' }, { field: 'lastUpdated', title: '最后修改时间' }, { field: 'lastUpdatedBy', title: '更新用户' }, { title: '操作', align: 'center', formatter: function (value, row, index) { var actions = []; return actions.join(''); } }] } ); /*入库单列表-详细*/ function detail(id, code) { shipmentId = id; shipmentCode=code; $("#myTab li").removeClass("active"); $("#tabHeader").removeClass("in active"); $("#myTab li:eq(1)").addClass("active"); $("#tabDetail").addClass("in active"); loadDetail(); } /** 载入明细 */ function loadDetail() { $.ajax({ url:ctx + 'admin/shipmentDetail/list', type: 'post', data:{ shipmentId:shipmentId }, success : function (value) { $("#bootstrap-table-detail").bootstrapTable('load',value.data); } }) $.ajax({ url:"shipmentHeader/getShipmentHeader", type:"post", data:{ id:shipmentId }, success:function (value) { $('#shipmentId').val(value.data.id); $('#shipmentCode').val(value.data.code); $('#shipmentWarehouseId').val(value.data.warehouseId); $('#shipmentWarehouseCode').val(value.data.warehouseCode); $('#shipmentCompanyId').val(value.data.companyId); $('#shipmentCompanyCode').val(value.data.companyCode); $('#shipmentSourceCode').val(value.data.sourceCode); $('#shipmentSourcePlatform').val(value.data.sourcePlatform); $('#shipmentType').val(shipmentTypes.filter(function(a){return a.dictValue==value.data.type})[0].dictLabel); $('#shipmentShipTo').val(value.data.shipTo); $('#shipmentPriority').val(value.data.priority); $('#shipmentStation').val(value.data.station); $('#shipmentTotalQty').val(value.data.totalQty); $('#shipmentTotalLines').val(value.data.totalLines); $('#shipmentRemark').val(value.data.remark); $('#shipmentUploadremark').val(value.data.uploadremark); $('#shipmentUploadTime').val(value.data.uploadTime); $('#shipmentAppointmentTime').val(value.data.appointmentTime); $('#shipmentFirstStatus').val(shipmentHeaderStatus.filter(function(a){return a.dictValue==value.data.firstStatus})[0].dictLabel); $('#shipmentLastStatus').val(shipmentHeaderStatus.filter(function(a){return a.dictValue==value.data.lastStatus})[0].dictLabel); $('#shipmentUploadStatus').val(uploadStatus.filter(function (a) {return a.dictValue==value.data.uploadStatus})[0].dictLabel); $('#shipmentCreated').val(value.data.created); $('#shipmentCreatedBy').val(value.data.createdBy); $('#shipmentLastUpdated').val(value.data.lastUpdated); $('#shipmentLastUpdatedBy').val(value.data.lastUpdatedBy); //$('#shipmentEnable').val(value.data.enable); if(value.data.enable==true){ $('#shipmentEnable').val('是') }else{ $('#shipmentEnable').val('否') }; //$('#shipmentDeleted').val(value.data.deleted); if(value.data.deleted==false){ $('#shipmentDeleted').val('否') }else{ $('#shipmentDeleted').val('是') }; $('#shipmentUserDef1').val(value.data.userDef1); $('#shipmentUserDef2').val(value.data.userDef2); $('#shipmentUserDef3').val(value.data.userDef3); } }) } /* 添加主单据 */ function add() { if (shipmentId == '') { $.modal.open("未选择出库单" , "404.html"); } else { var url = detailCreateUrl + "?shipmentId=" + $('#shipmentId').val() + "&shipmentCode=" + $('#shipmentCode').val() + "&companyId=" + $('#shipmentCompanyId').val() + "&companyCode=" + $('#shipmentCompanyCode').val(); + "&sourceCode=" + $('#shipmentSourceCode').val(); $.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); loadDetail(shipmentId, shipmentCode) } else { $.modal.alertError(result.msg) } $.modal.closeLoading() } }; $.ajax(config) } /* 点击明细面板 */ $("#myTab li:eq(1)").click(function () { if (shipmentId == '') { shipmentId = $("#bootstrap-table tr:eq(1) td:eq(1)").text(); } detail(shipmentId, ""); }); /* 点击主表面板 */ $("#myTab li:eq(0)").click(function () { $.ajax({ url: prefix + "/list", type:"post", success:function (value) { $("#bootstrap-table").bootstrapTable('refresh', value.data); } }) }); </script> </body> </html>