<!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="white-bg">
<div class="container-div">
	<div class="row">
		<div class="col-sm-12 select-info">
			<form id="inventory-form">
                <!--th:value="${cycleCountHeadCode}"-->
                <!--<input type="hidden" id="cycleCountHeadCode" name="cycleCountHeadCode" >-->
					<div class="select-list">
                        <ul>
                        <li>
                             <input  type="hidden" id="cycleCountHeadCode" name="cycleCountHeadCode" th:value="${cycleCountHeadCode}" readonly="readonly"/>
                        </li>
                            <li>
                                仓库:<input  id="warehouseCode" type="text" name="warehouseCode" th:value="${warehouseCode}" readonly="readonly" />
                            </li>
                            <li>
                                库位:<input id="locationCode" type="text" name="locationCode" />
                            </li>
                            <li>
                                容器:<input id="containerCode" type="text" name="containerCode" />
                            </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>
								<a id="search" class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
							</li>
                        </ul>
					</div>
			</form>
		</div>
		<div class="col-sm-12 select-info">
			<a class="btn btn-success btn-sm" onclick="addDetails()" style="float: left; margin-top: 12px"
               shiro:hasPermission="inventory:cyclecountDetail:add">
                <i class="fa fa-edit" ></i>&nbsp;添加盘点库存</a>
			<table id="bootstrap-table"  class ="table table-bordered table-hover"></table>
		</div>
	</div>
	<!--</div>-->
</div>
<div th:include="include::footer"></div>

<script th:inline="javascript">
    var addFlag = [[${@permission.hasPermi('inventory:cyclecountDetail:add')}]];
    // var removeFlag = [[${@permission.hasPermi('inventoryHeader:inventoryHeader:remove')}]];
    var prefixDetail = ctx + "inventory/inventoryDetail";
    var prefix_cycleDetails = ctx + "inventory/cycleCountDetail";
    var prefix = ctx + "inventory/inventoryHeader";
    var report = [[${@permission.hasPermi('inventoryHeader:adjustHeader:report')}]];
    var datas = [[${@dict.getType('sys_normal_disable')}]];
    var inventoryStatus = [[${@dict.getType('inventorySts')}]];
    /*var status2 = [[${@dict.getType('adjustType')}]];*/

    $(function () {
        var options = {
            url: prefix + "/cycleCountInventoryHeader",
            createUrl: prefix + "/add",
            updateUrl: prefix + "/edit/{id}",
            modalName: "库存头",
            sortName: "id",
            sortOrder: "desc",
            pagination: false,  //取消分页
            search: false,
            showSearch: false,
            showRefresh: false,
            showToggle: false,
            showColumns: false,
            detailView: true,
            onExpandRow : function(index, row, $detail) {
                initChildTable(index, row, $detail);
            },
            columns: [
                {
                    checkbox: true
                },
                {
                    field: 'id',
                    title: '库存头ID',
                    sortable: true
                },
                {
                    field: 'warehouseCode',
                    title: '仓库 ',
                    visible: true
                },
                {
                    field: 'companyCode',
                    title: ' 货主',
                    visible: true
                },
                {
                    field: 'locationCode',
                    title: '库位 '
                },
                {
                    field: 'containerCode',
                    title: ' 容器'
                },
                {
                    field: 'containerStatus',
                    title: ' 容器状态',
                    visible: false
                },
                {
                    field: 'totalWeight',
                    title: ' 总重量'
                },
                {
                    field: 'materialSkuQty',
                    title: ' 商品种类数',
                    visible: false
                },
                {
                    field: 'totalQty',
                    title: ' 总数'
                },
                {
                    field: 'totalLines',
                    title: '总行',
                    visible: false
                },
                /*{
                    field: 'projectNos',
                    title: ' 项目号列表',
                    visible: false
                },
                {
                    field: 'batchs',
                    title: ' 批次列表'
                },
                {
                    field: 'lots',
                    title: ' 批号列表',
                    visible: false
                },*/
                {
                    field: 'locking',
                    title: ' 锁定',
                    visible: true
                },
                {
                    field: 'lockRemark',
                    title: ' 锁定备注',
                    visible: false
                },
                {
                    field: 'created',
                    title: ' 创建时间'
                },
                {
                    field: 'createdBy',
                    title: ' 创建用户'
                },
                {
                    field: 'lastUpdated',
                    title: ' 更新时间',
                    visible: false
                },
                {
                    field: 'lastUpdatedBy',
                    title: ' 更新用户',
                    visible: false
                },
                {
                    field: 'userDef1',
                    title: ' 自定义字段1',
                    visible: false
                },
                {
                    field: 'userDef2',
                    title: ' 自定义字段2',
                    visible: false
                },

                /*{
                    field: 'enable',
                    title: '状态',
                    align: 'center',
                    formatter: function (value, row, index) {
                        return $.table.selectDictLabel(datas, value);
                    }
                },*/
            ]
        };
        $.table.init(options);
    });

    //子表
    initChildTable = function(index, row, $detail) {
        let childTable = $detail.html('<table style="table-layout:fixed"></table>').find('table');
        $(childTable).bootstrapTable({
            url: prefixDetail + "/inventoryCycleCountLook",
            method: 'post',
            sortName: "id",
            sortOrder: "desc",
            sidePagination: "server",
            contentType: "application/x-www-form-urlencoded",
            //页面渲染
            responseHandler: responseHandler,
            queryParams : {
                //传值
                inventoryHeaderId: row.id,
                warehouseCode: row.warehouseCode,
            },

            columns: [
                {
                    field: 'id',
                    title: '明细ID',
                    sortable: true,
                    width: 80
                },
                {
                    field: 'inventoryHeaderId',
                    title: '库存头ID',
                    visible: false
                },
                {
                    field: 'locationCode',
                    title: '库位编号',
                    visible: false
                },
                {
                    field: 'containerCode',
                    title: '容器编号',
                    visible: false
                },

                {
                    field: 'materialCode',
                    title: '物料编码'
                },

                {
                    field: 'materialName',
                    title: '物料名称',
                    width: 150
                },
                {
                    field: 'materialSpec',
                    title: '物料规格',
                    visible: false
                },
                {
                    field: 'materialUnit',
                    title: '物料单位',
                    visible: true,
                    width: 80
                },
                {
                    field: 'qty',
                    title: '数量',
                    width: 90
                },
                {
                    field: 'taskQty',
                    title: '预定执行数量',
                    visible: false,
                    width: 90
                },
                {
                    field: 'lockedQty',
                    title: '冻结数量',
                    visible: false
                },
                {
                    field: 'receiptCode',
                    title: '入库单编码',
                    visible: true,
                    width: 150
                },
                {
                    field: 'companyCode',
                    title: '货主编码',
                    width: 80
                },
                {
                    field: 'receiptDetailId',
                    title: '入库单明细ID',
                    visible: false
                },
                {
                    field: 'batch',
                    title: '批次',
                    sortable: false,
                    visible: true
                },
                {
                    field: 'lot',
                    title: '批号',
                    sortable: false,
                    visible: false
                },
                {
                    field: 'projectNo',
                    title: '项目号',
                    visible: false,
                    sortable: true
                },
                {
                    field: 'supplierCode',
                    title: '供应商编码',
                    visible: false
                },
                {
                    field: 'manufactureDate',
                    title: '生产日期',
                    sortable: true,
                    visible: false
                },
                {
                    field: 'expirationDate',
                    title: '失效日期',
                    sortable: true,
                    visible: false
                },
                {
                    field: 'inventorySts',
                    title: '库存状态',
                    align: 'center',
                    formatter: function (value, row, index) {
                        return $.table.selectDictLabel(inventoryStatus, value);
                    },
                    visible: false
                },

                {
                    field: 'referCode',
                    title: '上游单号',
                    visible: false
                },
                {
                    field: 'referDetailId',
                    title: '上游单号行号',
                    visible: false
                },
                {
                    field: 'qcCheck',
                    title: '质检',
                    visible: false
                },
                {
                    field: 'weight',
                    title: '重量',
                    visible: false
                },
                {
                    field: 'attributeId',
                    title: '属性号',
                    visible: false
                },
                {
                    field: 'attribute1',
                    title: '属性1',
                    visible: false
                },
                {
                    field: 'attribute2',
                    title: '属性2',
                    visible: false
                },
                {
                    field: 'attribute3',
                    title: '属性3',
                    visible: false
                },
                {
                    field: 'lockCode',
                    title: '锁',
                    visible: false,
                    width: 110
                },
                {
                    field: 'lastCycleCountDate',
                    title: '上次盘点日期',
                    visible: false,
                    sortable: true
                },
                {
                    field: 'created',
                    title: '入库日期',
                    sortable: true,
                    visible: true,
                    width: 150
                },
                {
                    field: 'createdBy',
                    title: '创建用户',
                    visible: true,
                    width: 120
                },
                {
                    field: 'lastUpdated',
                    title: '最后修改时间',
                    sortable: true,
                    visible: false
                },
                {
                    field: 'lastUpdatedBy',
                    title: '更新用户',
                    visible: false
                },
            ]
        });
    };

    function addDetails() {
        var rows=$("#bootstrap-table").bootstrapTable('getSelections');
        if (rows.length < 1) {
            $.modal.alertWarning("请选择库存明细!");
            return;
        }
        $.modal.loading("正在处理,请稍后...");
        var ids =[];
        rows.forEach(function (item) {
			ids.push(item.id);
        });
        addInner($('#cycleCountHeadCode').val(),ids.join(','));
    }
    function addInner(cycleCountHeadCode,ids) {
        $.ajax({
            cache : true,
            type : "post",
            url : prefix_cycleDetails + "/add",
            data:{
                cycleCountHeadCode:cycleCountHeadCode,
                inventoryHeaderIds:ids
            },
            async : true,
            error : function(request) {
                $.modal.alertError("请求失败!");
            },
            success : function(data) {
                if(data.code=="200"){
                    $.modal.closeLoading();
                    $.modal.alertSuccess("添加盤點成功");
                    $.table.refresh();
                }else{
                    $.modal.closeLoading();
                    $.modal.alertError(data.msg);
                    $.table.refresh();
                }
                parent.$.table.refresh();
            }
        })
    }

    function isFloat( str ) {
        for(i=0;i<str.length;i++)  {
            if ((str.charAt(i)<"0" || str.charAt(i)>"9")&& str.charAt(i) != '.'){
                return false;
            }
        }
        return true;
    }

    function responseHandler(res) {
        if (res.code == 200) {
            return { rows: res.data, total: res.total, code: 0};
        } else {
            $.modal.alertWarning(res.msg);
            return { rows: [], total: 0 };
        }
    }

</script>

</body>
</html>