<!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; } </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="task-form"> <div class="select-list"> <ul> <li> 任务id:<input type="text" name="id"/> </li> <!--<li>--> <!--单据编码:<input type="text" name="billCode"/>--> <!--</li>--> <li> 容器编号:<input type="text" name="containerCode"/> </li> <li> <!--入库类型:<input type="text" name="sourceCode"/>--> 任务类型:<select name="type" th:with="type=${@dict.getType('taskType')}"> <option value="">所有</option> <option th:each="e : ${type}" th:text="${e['dictLabel']}" th:value="${e['dictValue']}"></option></select> </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> <!--头 状 态:<input type="text" name="firstStatus"/>--> 头 状 态:<select name="firstStatus" th:with="firstStatus=${@dict.getType('taskStatus')}"> <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('taskStatus')}"> <option value="">所有</option> <option th:each="e : ${lastStatus}" th:text="${e['dictLabel']}" th:value="${e['dictValue']}"></option></select> </li> <!--<li> 出入库站台:<select name="station" th:with="stations = ${@dict.getType('station')}"> <option value="">所有</option> <option th:each="e : ${stations}" th:text="${e['dictLabel']}" th:value="${e['dictValue']}"></option></select> </li>--> <li> 巷道:<input type="text" name="roadway"/> </li> <li> 库区:<input type="text" name="zoneCode"/> </li> <li> 来源库位:<input type="text" name="sourceLocation"/> </li> <li> 目的库位:<input type="text" name="destinationLocation"/> </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> <input type="hidden" id="taskId" name="taskId" th:value="${taskId}"/> <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="btn-group hidden-xs" id="toolbar1" role="group"> </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/task"; var prefix1 = ctx + "admin/taskDetail"; var stations = [[${@dict.getType('station')}]]; var taskTypes=[[${@dict.getType('taskType')}]]; var taskStatus=[[${@dict.getType('taskStatus')}]]; var taskDetailStatus=[[${@dict.getType('taskDetailStatus')}]]; $(function() { let url = window.location.search; //获取url中"?"符后的字串 let type=null; if (url.indexOf("?") != -1){ let str = url.substr(1); //从第一个字符开始 因为第0个是?号 获取所有除问号的所有符串 strs = str.split("="); if (strs[1]) { type=40; } } var options = { url: prefix + "/list", modalName: "任务管理", sortName: "lastUpdated", sortOrder: "desc", search: false, queryParams: function (params) { console.log(params); return { pageSize: params.limit, pageNum: params.offset / params.limit + 1, lastStatus:type, }; }, clickToSelect:true, columns: [{ checkbox: true }, { field : 'id', title : '任务id' , sortable: true }, { field : 'companyId', title : '货主id' , visible:false }, /*{ field : 'billCode', title : '单据编码' , },*/ { field : 'priority', title : '优先级' }, { field : 'type', title : '任务类型' , align: 'center', visible:true, formatter: function(value, row, index) { return $.table.selectDictLabel(taskTypes, value); } }, { field : 'roadway', title : '巷道', visible:true }, { field : 'station', title : '出入库站台' , align: 'center', visible:true, formatter: function(value, row, index) { return $.table.selectDictLabel(stations, value); }, visible:false }, { field : 'containerCode', title : '容器编码' , sortable: true }, { field : 'sourceLocation', title : '来源库位', sortable: true }, { field : 'zoneCode', title : '库区', sortable: true }, { field : 'destinationLocation', title : '目的库位' , sortable: true }, { field : 'firstStatus', title : '头状态' , align: 'center', formatter: function(value, row, index) { return $.table.selectDictLabel(taskStatus, value); } }, { field : 'lastStatus', title : '尾状态' , align: 'center', formatter: function(value, row, index) { return $.table.selectDictLabel(taskStatus, value); } }, { field : 'created', title : '生成时间', sortable: true }, { field : 'createdBy', title : '任务下达人' }, { field : 'beginTime', title : '任务下达时间' , visible:false }, { field : 'lastUpdated', title : '修改时间' , sortable: true, }, { field : 'endTime', title : '任务完成时间', sortable: true }, { field : 'lastUpdatedBy', title : '更新用户' }, { 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 = []; // 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> '); return actions.join(''); } } ] }; $.table.init(options); }); $("#bootstrap-table1").bootstrapTable({ // url: prefix1 + "/list", // createUrl: prefix1 + "/add", // updateUrl: prefix1 + "/edit/{id}", // removeUrl: prefix1 + "/remove", // queryParams: queryParams, 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", sortName: "id", sortOrder: "desc", columns: [{ checkbox: true }, { field : 'id', title : '明细Id' }, { field : 'taskId', title : '任务Id', sortable: true }, { field : 'billCode', title : '单据编码', }, { field : 'allocationId', title : '容器物料表ID' , sortable: true }, { field : 'materialCode', title : '存货编码', sortable: true }, { field : 'materialName', title : '物料名称', sortable:true }, { field : 'project', title : '项目号', }, { field : 'containerCode', title : '容器编码', sortable:true }, { field : 'sourceLocation', title : '源库位', sortable:true }, { field : 'destinationLocation', title : '目的库位', sortable:true }, { field : 'qty', title : '数量' }, { field : 'status', title : '子任务状态', align: 'center', formatter: function(value, row, index) { return $.table.selectDictLabel(taskDetailStatus, value); } }, { field : 'endTime', title : '子任务完成时间' , visible:false, sortable:true }, { field : 'lastUpdated', title : '最后修改时间' , visible:false, sortable:true }, { field : 'lastUpdatedBy', 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="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-remove"></i>删除</a>'); return actions.join(''); } }*/ ] }); function createtable(url,taskId) { // $("#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:{ taskId:taskId }, success : function (value) { // console.log(value); $("#bootstrap-table1").bootstrapTable('load', value.data); // $("#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, // taskId: value.data[i].taskId, // warehouseId: value.data[i].warehouseId, // warehouseCode: value.data[i].warehouseCode, // materialCode: value.data[i].materialCode, // allocationId: value.data[i].allocationId, // containerCode: value.data[i].containerCode, // sourceLocation: value.data[i].sourceLocation, // destinationLocation: value.data[i].destinationLocation, // qty: value.data[i].qty, // status: value.data[i].status, // // created: value.data[i].created, // // createdBy: value.data[i].createdBy, // lastUpdated: value.data[i].lastUpdated, // lastUpdatedBy: value.data[i].lastUpdatedBy, // endTime:value.data[i].endTime // // userDef1: value.data[i].userDef1, // // userDef2: value.data[i].userDef2, // // userDef3: value.data[i].userDef3 // } // }); // } } }) } /*入库单列表-详细*/ function detail(taskId) { var url = ctx + 'task/taskDetail/list'; // createMenuItem(url, "入库单明细"); // createtab(curl); createtable(url,taskId); } // /*任务列表-详细*/ // function detail(taskId) { // var url = 'task/taskDetail/' + taskId; // createMenuItem(url, "任务明细"); // } /*任务列表-下发执行*/ function execute(taskId) { $.modal.confirm("确定执行任务?", function() { var url = ctx + 'task/task/execute'; var data = { "taskId" : taskId }; $.operate.post(url, data); }); } /*任务列表-批量下发执行*/ function batchExecute() { //var rows = $.common.isEmpty($.table._option.taskId) ? $.table.selectFirstColumns() : $.table.selectColumns($.table._option.taskId); var rows=$("#bootstrap-table").bootstrapTable('getSelections'); if (rows.length == 0) { $.modal.alertWarning("请至少选择一条记录"); return; } $.modal.confirm("确认要执行选中的" + rows.length + "条数据吗?", function() { var url = ctx + 'task/task/execute'; var ids = ""; for(var i=0; i<rows.length; i++) { ids = ids + rows[i].id + "," } var data = { "taskId": ids.substring(0, ids.length-1) }; $.operate.submit(url, "post", "json", data); }) } /*任务列表-完成任务*/ function complete(taskId) { $.modal.confirm("确定完成任务?", function() { var url = ctx + 'task/task/completeTaskByWMS'; var data = { "taskId" : taskId }; $.operate.post(url, data); }); } /*任务列表-批量完成任务*/ function batchComplete() { //var rows = $.common.isEmpty($.table._option.taskId) ? $.table.selectFirstColumns() : $.table.selectColumns($.table._option.taskId); var rows=$("#bootstrap-table").bootstrapTable('getSelections'); if (rows.length == 0) { $.modal.alertWarning("请至少选择一条记录"); return; } $.modal.confirm("确认要执行选中的" + rows.length + "条数据吗?", function() { var url = ctx + 'task/task/completeTaskByWMS'; var ids = ""; for(var i=0; i<rows.length; i++) { ids = ids + rows[i].id + "," } var data = { "taskId": ids.substring(0, ids.length-1) }; $.operate.submit(url, "post", "json", data); }) } /*任务列表-批量删除任务*/ function batchRemoveHead() { //var rows = $.common.isEmpty($.table._option.taskId) ? $.table.selectFirstColumns() : $.table.selectColumns($.table._option.taskId); var rows=$("#bootstrap-table").bootstrapTable('getSelections'); if (rows.length == 0) { $.modal.alertWarning("请至少选择一条记录"); return; } $.modal.confirm("确认要删除选中的" + rows.length + "条数据吗?", function() { var url = ctx + 'task/task/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.submit(url, "post", "json", data); }) } function emptyIn() { $.modal.open("空托盘入库",prefix+"/emptyIn") } function emptyOut() { $.modal.open("空托盘出库",prefix+"/emptyOut") } </script> </body> </html>