<!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>&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-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>