<!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"> <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="shipmentContainerHeader-form"> <div class="select-list"> <ul> <li> 出库单号:<input type="text" name="shipmentCode"/> </li> <li> 容器编号:<input type="text" name="shipmentContainerCode"/> </li> <li> 库位编号:<input type="text" name="locationCode"/> </li> <li> <!--入库类型:<input type="text" name="sourceCode"/>--> 任务类型:<select name="taskType" th:with="type=${@dict.getType('shipmentTaskType')}"> <option value="">所有</option> <option th:each="e : ${type}" th:text="${e['dictLabel']}" th:value="${e['dictValue']}" ></option> </select> </li> <li> <!--头 状 态:<input type="text" name="firstStatus"/>--> 容器任务状态:<select name="status" th:with="firstStatus=${@dict.getType('shipmentContainerHeaderStatus')}"> <option value="">所有</option> <option th:each="e : ${firstStatus}" th:text="${e['dictLabel']}" th:value="${e['dictValue']}"></option> </select> </li> <li> 创 建 人:<input type="text" name="createdBy"/> </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"> <a class="btn btn-outline btn-success btn-rounded" onclick="batchCreateTask()" shiro:hasPermission="shipment:container:add"> <i class="fa fa-edit"></i> 批量生成任务 </a> <a class="btn btn-outline btn-danger btn-rounded" onclick="batchRemoveHead()" shiro:hasPermission="shipment:container:remove"> <i class="fa fa-remove"></i> 批量撤销组盘 </a> </div> <table id="bootstrap-table" data-mobile-responsive="true" class="table table-bordered table-hover"></table> </div> <div class="tab-pane fade" id="tabDetail"> <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 editFlag = [[${@permission.hasPermi('shipment:container:edit')}]]; var removeFlag = [[${@permission.hasPermi('shipment:container:remove')}]]; var prefix = ctx + "shipment/shipmentContainerHeader" var detailPrefix = ctx + "shipment/shipmentContainerDetail"; var locationCode; var shipmentTaskType=[[${@dict.getType('shipmentTaskType')}]]; var shipmentContainerHeaderStatus=[[${@dict.getType('shipmentContainerHeaderStatus')}]]; var createTaskFlag = [[${@permission.hasPermi('shipment:container:add')}]] var headerId; $(function() { var options = { url: prefix + "/list", createUrl: prefix + "/add", updateUrl: prefix + "/edit/{id}", removeUrl: prefix + "/remove", modalName: "出库组盘", sortName: "created", sortOrder: "desc", search: false, clickToSelect:true, columns: [ { checkbox: true }, { field : 'id', title : '组盘头id' }, { field : 'locationCode', title : '库位编号', sortable:true }, { field : 'shipmentContainerCode', title : '容器编号', sortable:true }, { field : 'warehouseId', title : '仓库id' , visible:false }, { field : 'warehouseCode', title : '仓库编号' , visible:false }, { field : 'taskType', title : '下发任务类型' , formatter: function(value, row, index) { return $.table.selectDictLabel(shipmentTaskType, value); },sortable:true }, { field : 'taskTypeReal', title : '实际任务类型' , formatter: function(value, row, index) { return $.table.selectDictLabel(shipmentTaskType, value); },sortable:true }, { field : 'status', title : '容器任务状态' , formatter: function(value, row, index) { return $.table.selectDictLabel(shipmentContainerHeaderStatus, value); },sortable:true }, { field : 'created', title : '创建日期' , sortable:true }, { field : 'createdBy', title : '创建人' , sortable:true }, { title: '操作', align: 'center', formatter: function(value, row, index) { var actions = []; // actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="#" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> '); actions.push('<a class="btn btn-info btn-xs " href="#" onclick="detail(\'' + row.id + '\')"><i class="fa fa-list-ul"></i>明细</a> '); if (row.status == 0) { actions.push('<a class="btn btn-success btn-xs ' + createTaskFlag + '" href="#" onclick="createTask(\'' + row.id + '\')"><i class="fa fa-cab"></i>生成任务</a> '); actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="#" onclick="removeHead(\'' + row.id + '\')"><i class="fa fa-remove"></i>取消配盘</a>'); } return actions.join(''); } }] }; $.table.init(options); }); $("#bootstrap-table1").bootstrapTable({ // url: detailPrefix + "/headerId", // createUrl: detailPrefix + "/add", // updateUrl: detailPrefix + "/edit/{id}", // removeUrl: detailPrefix + "/remove", // search: true, //搜索 sortable: true, //排序 showRefresh: true, //刷新 showToggle:true, //视图切换 clickToSelect: false, showColumns:true, //列选择 // detailView:true, showExport: true, //导出 exportDataType: "all", //导出类型basic', 'all', 'selected'.当前页、所有数据、选中数据 modalName: "出库明细", iconSize: "outline", toolbar: "#toolbar1", contentType: "application/x-www-form-urlencoded", columns: [{ checkbox: true }, { field : 'shipmentDetailId', title : '明细id', sortable:true }, /* { field : 'locationCode', title : '库位编号', sortable:true }, { field : 'containerCode', title : '容器编号', sortable:true },*/ /* { field : 'headerId', title : '单号Id' },*/ { field : 'shipmentCode', title : '出库单号' }, // { // field : 'shipmentHeaderId', // title : '单头标识' // }, { field : 'materialCode', title : '存货编码', }, { field : 'materialName', title : '物料名称', }, { field : 'project', title : '项目号', }, /* { field : 'specification', title : '规格', sortable:true }, { field : 'batch', title : '批次', sortable:true }, { field : 'lot', title : '批号', sortable:true },*/ { field : 'qty', title : '组盘数量', }, { field : 'created', title : '创建时间', sortable:true }, { field : 'createdBy', title : '创建用户', }, // { // title: '操作', // align: 'center', // formatter: function(value, row, index) { // var actions = []; // // actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="#" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> '); // actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="#" onclick="removeDetail(\'' + row.id + '\')"><i class="fa fa-remove"></i>取消明细</a>'); // return actions.join(''); // } // } ] }); function createtable(url,headerId) { // $("#tabDetail").children().remove(); $("#myTab li").removeClass("active"); $(".tab-pane").removeClass("in active"); $("#myTab li:eq(1)").addClass("active"); $("#tabDetail").addClass("in active"); $.ajax({ url:url, type: 'post', data:{ headerId:headerId }, success : function (value) { $("#bootstrap-table1").bootstrapTable('load',value.data); // console.log(value); // $("#bootstrap-table1").bootstrapTable('removeAll'); // for (var i = value.data.length-1; i >=0 ; i--) { // $("#bootstrap-table1").bootstrapTable('insertRow', { // index: 0, row: { // id: value.data[i].id, // headerId: value.data[i].headerId, // shipmentDetailId: value.data[i].shipmentDetailId, // shipmentHeaderId: value.data[i].shipmentHeaderId, // shipmentCode:value.data[i].shipmentCode, // locationCode:value.data[i].locationCode, // containerCode:value.data[i].containerCode, // materialCode:value.data[i].materialCode, // materialName:value.data[i].materialName, // inventoryId:value.data[i].inventoryId, // qty:value.data[i].qty, // created: value.data[i].created, // createdBy: value.data[i].createdBy // } // }); // } } }) } /*入库单列表-详细*/ function detail(id) { var url = detailPrefix + '/list/'; headerId = id; // createMenuItem(url, "入库组盘明细"); createtable(url,headerId); } /* 单个生成任务 */ function createTask(id) { var url = prefix + "/createTask"; var data = { "ids" : id }; $.operate.post(url, data); } /* 批量生成任务 */ function batchCreateTask() { var rows=$("#bootstrap-table").bootstrapTable('getSelections'); if (rows.length == 0) { $.modal.alertWarning("请至少选择一条记录"); return; } $.modal.confirm("确认要生成选中的" + rows.length + "条组盘任务吗?", function() { var url = prefix + "/createTask"; var ids = ""; for(var i=0; i<rows.length; i++) { ids = ids + rows[i].id + "," } var data = { "ids": ids.substring(0, ids.length-1) }; $.operate.post(url, data); // submit(url, "post", "json", data); }); } /* 单个取消组盘 */ function removeHead(id) { $.modal.confirm("确定删除该条明细信息吗?", function() { var url = prefix+"/remove"; var data = { "ids": id }; submit(url, "post", "json", data, false); }); } /* 批量取消组盘 */ function batchRemoveHead() { var rows=$("#bootstrap-table").bootstrapTable('getSelections'); if (rows.length == 0) { $.modal.alertWarning("请至少选择一条记录"); return; } $.modal.confirm("确认要撤销选中的" + rows.length + "条组盘吗?", function() { var url = prefix + "/remove"; var ids = ""; for(var i=0; i<rows.length; i++) { ids = ids + rows[i].id + "," } var data = { "ids": ids.substring(0, ids.length-1) }; $.operate.post(url, data); // submit(url, "post", "json", data); }); } /* 取消单个组盘明细 */ function removeDetail(id) { $.modal.confirm("确定删除该条明细信息吗?", function() { var url = detailPrefix+"/remove"; var data = { "ids": id }; submit(url, "post", "json", data, true); }); } function submit(url, type, dataType, data ,flag) { $.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(); } }; if(flag){ $.ajax(config).then(function (value) { detail(headerId); $.table.refresh(); }) }else { $.ajax(config).then(function (value) { $("#bootstrap-table1").bootstrapTable('removeAll'); $.table.refresh(); }) } } </script> </body> </html>