<!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="containerCode"/>
									</li>

									<li>
										库位编号:<input type="text" name="toLocation"/>
									</li>
									<li class="time" style="height: 30px">
										<label>创建时间: </label>
										<input type="text" class="time-input" id="startTime" placeholder="开始时间" name="createdBegin"/>
										<span>-</span>
										<input type="text" class="time-input" id="endTime" placeholder="结束时间" name="createdEnd"/>
									</li>
									<li>
										<input type="hidden" name="internalTaskType"  th:value="${InternalTaskType}"/>
									</li>

									<!--<li>-->
										<!--&lt;!&ndash;头 状 态:<input type="text" name="firstStatus"/>&ndash;&gt;-->
										<!--头 状 态:<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>-->
										<!--&lt;!&ndash;尾 状 态:<input type="text" name="lastStatus"/>&ndash;&gt;-->
										<!--尾 状 态:<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>-->
                                    <!--&lt;!&ndash;<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>&ndash;&gt;-->
									<!--<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>&nbsp;搜索</a>
										<!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="receipt:receiptHeader:export"><i class="fa fa-download"></i>&nbsp;导出</a>-->
									</li>
								</ul>
							</div>
						   </form>
					   </div>

				      <div class="btn-group hidden-xs" id="toolbar" role="group">
					      <!--<a class="btn btn-outline btn-info btn-rounded" onclick="emptyIn()" shiro:hasPermission="task:task:emptyIn">-->
						     <!--<i class="fa fa-level-down"></i> 空托入库-->
					      <!--</a>-->
					      <!--<a class="btn btn-outline btn-info btn-rounded" onclick="emptyOut()" shiro:hasPermission="task:task:emptyOut">-->
						     <!--<i class="fa fa-level-up"></i> 空托出库-->
					      <!--</a>-->
                          <a class="btn btn-outline btn-primary btn-rounded" onclick="batchExecute()" shiro:hasPermission="task:task:execute">
                              <i class="fa fa-send"></i> 批量执行
                          </a>
                          <!--<a class="btn btn-outline btn-primary btn-rounded" onclick="batchComplete()" shiro:hasPermission="task:task:completeTaskByWMS">-->
                              <!--<i class="fa fa-check"></i> 批量完成-->
                          <!--</a>-->
					      <a class="btn btn-outline btn-danger btn-rounded" onclick="batchRemoveHead()" shiro:hasPermission="task:task:remove">
						     <i class="fa fa-remove"></i>批量取消
					      </a>
				      </div>
					  <input type="hidden" id="taskId" name="taskId" th:value="${taskId}"/>
					   <input type="hidden" id="internalTaskType" name="internalTaskType" th:value="${InternalTaskType}"/>
					   <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">
						   <!--
						   <a class="btn btn-outline btn-success btn-rounded" onclick="add()" >
							  <i class="fa fa-plus"></i> 新增
						   </a>
						   <a class="btn btn-outline btn-danger btn-rounded" onclick="batRemove()" shiro:hasPermission="receipt:bill:remove">
							  <i class="fa fa-trash-o"></i> 删除
						   </a>
						   -->
					   </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 editFlag = [[${@permission.hasPermi('task:taskHeader:edit')}]];
        var removeFlag = [[${@permission.hasPermi('task:taskHeader:remove')}]];
        var executeFlag = [[${@permission.hasPermi('task:taskHeader:execute')}]];
        var completeFlag = [[${@permission.hasPermi('task:taskHeader:complete')}]];
        var agvFlag = [[${@permission.hasPermi('task:task:agvFlag')}]];
        var prefix = ctx + "task/taskHeader";
        var prefix1 = ctx + "task/taskDetail"
        var stations = [[${@dict.getType('station')}]];
        var taskTypes=[[${@dict.getType('taskType')}]];
        var taskStatus=[[${@dict.getType('taskStatus')}]];
        var taskDetailStatus=[[${@dict.getType('taskDetailStatus')}]];

        $(function() {
            var options = {
                url: prefix + "/list",
                createUrl: prefix + "/add",
                updateUrl: prefix + "/edit/{id}",
                removeUrl: prefix + "/remove",
                modalName: "任务管理",
                sortName: "lastUpdated",
                sortOrder: "desc",
                search: false,
                clickToSelect:true,
				queryParams:"InternalTaskType="+[[${InternalTaskType}]],
                columns: [{
		            checkbox: true
		        },
				{
					field : 'id', 
					title : '任务id' ,
                    sortable: true
				},
				{
					field : 'companyCode',
					title : '货主编码',
					visible:true
				},
				{
					field : 'taskType',
					title : '任务类型' ,
                    align: 'center',
                    visible:true,
                    formatter: function(value, row, index) {
                        return $.table.selectDictLabel(taskTypes, value);
                    }

				},
                 {
                        field : 'toLocation',
                        title : '库位号',
                        visible:true
                   },
				{
					field : 'containerCode', 
					title : '容器号' ,
                    sortable: true
				},

				{
						field : 'startPickDateTime',
						title : '开始拣货时间',
						sortable: true
				},
				{
						field : 'endPickDateTime',
						title : '截止拣货时间'
				},
				{
						field : 'created',
						title : '生成时间',
						sortable: true
				},
				{
					field : 'createdBy', 
					title : '任务下达人' 
				},
				{
					field : 'lastUpdated', 
					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-info btn-xs " href="#" onclick="detail(\'' + row.id + '\')"><i class="fa fa-list-ul"></i>明细</a> ');
                        if (row.status < 10)  {
                            actions.push('<a class="btn btn-success btn-xs ' + executeFlag + '" href="#" onclick="execute(\'' + row.id + '\')"><i class="fa fa-send" style="padding-right: 1px;"></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> ');
                            actions.push('<a class="btn btn-primary btn-xs ' + completeFlag + '" href="#" onclick="complete(\'' + row.id + '\')"><i class="fa fa-check"></i>完成</a>');
                        }
						if (row.status >= 10 && row.status < 100)  {
							actions.push('<a class="btn btn-primary btn-xs ' + completeFlag + '" href="#" onclick="complete(\'' + row.id + '\')"><i class="fa fa-check"></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 : 'materialCode',
                    title : '存货编码',
                    sortable: true
                },
                {
                    field : 'materialName',
                    title : '物料名称',
                    sortable:true
                },
                {
                    field : 'project',
                    title : '项目号',
                },
                {
                    field : 'containerCode',
                    title : '容器编码',
                    sortable:true
                },
                {
                    field : 'fromLocation',
                    title : '源库位',
                    sortable:true
                },
                {
                    field : 'toLocation',
                    title : '目的库位',
                    sortable:true
                },
                {
                    field : 'qty',
                    title : '数量'
                },
                {
                    field : 'status',
                    title : '子任务状态',
                    align: 'center',
                    formatter: function(value, row, index) {
                        return $.table.selectDictLabel(taskDetailStatus, value);
                    }
                },
                {
                    field : 'created',
                    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/taskHeader/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/taskHeader/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/taskHeader/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/taskHeader/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>