receiptContainerHeader.html 12.5 KB
<!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="receiptContainerHeader-form">
							   <div class="select-list">
								   <ul>
									   <li>
									   入库单号:<input type="text" name="receiptCode"/>
									   </li>
									   <li>
										   容器编号:<input type="text" name="receiptContainerCode"/>
									   </li>
									   <li>
										   库位编号:<input type="text" name="toLocation"/>
									   </li>
									   <li>
										   <!--入库类型:<input type="text" name="sourceCode"/>
										   -->
										   任务类型:<select name="taskType" th:with="type=${@dict.getType('receiptTaskType')}">
										   <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('receiptContainerHeaderStatus')}">
										   <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="createdBegin"/>
										   <span>-</span>
										   <input type="text" class="time-input" id="endTime" placeholder="结束时间" name="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-warning btn-rounded btn-sm" onclick="$.form.reset('receiptContainerHeader-form')"><i class="fa fa-refresh"></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="receipt:receiptContainer:add">
                                <i class="fa fa-edit"></i> 批量生成任务
                            </a>
                            <a class="btn btn-outline btn-danger btn-rounded" onclick="batchRemoveHead()" shiro:hasPermission="receipt:receiptContainer: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 createTaskFlag = [[${@permission.hasPermi('receipt:receiptContainer:add')}]];
        var removeFlag = [[${@permission.hasPermi('receipt:receiptContainer:remove')}]];
        var prefix = ctx + "receipt/receiptContainerHeader";
        var detailPrefix = ctx + "receipt/receiptContainerDetail";
        var taskType=[[${@dict.getType('taskType')}]];
        // var taskStatus=[[${@dict.getType('taskStatus')}]]; //任务状态
        var receiptContainerHeaderStatus = [[${@dict.getType('receiptContainerHeaderStatus')}]]  //容器状态
		var S_headerId;
        $(function() {
            var options = {
                url: prefix + "/list",
                createUrl: prefix + "/add",
                updateUrl: prefix + "/edit/{id}",
                removeUrl: prefix + "/remove",
                sortName: "created",
                sortOrder: "desc",
                modalName: "入库组盘头",
                search: false,
                columns: [{
		            checkbox: true
		        },
				{
					field : 'id', 
					title : '组盘头id' ,
                    sortable:true
				},
				{
					field : 'containerCode',
					title : '容器编号' ,
					sortable:true
				},
				{
					field : 'toLocation',
					title : '库位编号'  ,
                    sortable:true
				},
				{
					field : 'taskType', 
					title : '任务类型',
                    align: 'center',
                    formatter: function(value, row, index) {
                        return $.table.selectDictLabel(taskType, value);
                    },sortable:true
				},
				{
					field : 'status',
					title : '容器任务状态',
                    formatter: function(value, row, index) {
                        return $.table.selectDictLabel(receiptContainerHeaderStatus, 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-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 ' + createTaskFlag + '" href="#" onclick="createTask(\'' + row.id + '\')"><i class="fa fa-edit"></i>生成任务</a> ');
						}
						if (row.status == 0) {
                            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('');
		            }
		        }]
            };
            $.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: true,
            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 : 'id',
                title : '明细id'
            },
            {
                field : 'headerId',
                title : '组盘头标识',
				visible:false
            },
            {
                field : 'receiptDetailId',
                title : '入库单明细标识',
				visible:false
            },
			{
				field : 'receiptCode',
				title : '入库单号' ,
				sortable:true
			},
            {
                field : 'materialCode',
                title : '物料编码',
                sortable:true
            },
			{
				field : 'materialName',
				title : '物料名称',
				sortable:true
			},
			{
				field : 'materialSpec',
				title : '物料规格',
				sortable:true
			},
            /*{
                field : 'batch',
                title : '批次',
                sortable:true
            },
            {
                field : 'lot',
                title : '批号',
                sortable:true
            },*/
                {
                    field : 'project',
                    title : '项目号'
                },
            {
                field : 'qty',
                title : '组盘数量'
            },
            {
                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-danger btn-xs ' + removeFlag + '" href="#" onclick="remove(\'' + row.id + '\')"><i class="fa fa-trash-o"></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);
                }
            })
        }

        /*入库单列表-详细*/
        function detail(headerId) {
            var url = detailPrefix + "/list/"+headerId;
            // createMenuItem(url, "入库组盘明细");
			S_headerId=headerId;
			createtable(url, S_headerId);
        }

        /* 单个删除组盘明细 */
        function remove(id) {
            $.modal.confirm("确定删除该条明细信息吗?", function() {
                var url = detailPrefix + "/remove";
                var data = { "id": id };
                $.operate.post(url, data);
                createtable(url, S_headerId);
            });
        }

        /* 批量删除组盘 */
        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 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;
            }
            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);
        }

		function position(id){
			var url = prefix + "/position/";
			var data = { "ids" : id };
			$.operate.post(url, data);
		}
    </script>
</body>
</html>