<!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="row">
    <div class="col-sm-12">
        <div class="col-sm-12 select-info">
            <div class="select-list">
                <form id="cycleHeader-form">
                    <ul>
                        <li>
                            调整主单编码:<input type="text" id="adjustCode" name="adjustCode"/>
                        </li>
                        <li>
                            调整单明细ID:<input id="id" type="text" name="id"/>
                        </li>
                        <li>
                            货主编码:<input id="companyCode" type="text" name="companyCode"/>
                        </li>
                        <li>
                            盘点单编码:<input id="cycleCountCode" type="text" name="cycleCountCode"/>
                        </li>
                        <li>
                            盘点明细状态:<input id="cycleDetailId" type="text" name="cycleDetailId"/>
                        </li>
                        <li>
                            质检单编码:<input id="checkCode" type="text" name="checkCode"/>
                        </li>
                        <li>
                            属性号:<input id="attributeId" type="text" name="attributeId"/>
                        </li>
                        <li>
                            质检单明细ID:<input id="checkDetailId" type="text" name="checkDetailId"/>
                        </li>
                        <li>
                            调整单关联单编码:<input id="referCode" type="text" name="referCode"/>
                        </li>
                        <li>
                            调整单关联明细行号:<input id="referDetailId" type="text" name="referDetailId"/>
                        </li>
                        <li>
                            容器:<input id="containerCode" type="text" name="containerCode"/>
                        </li>
                        <li>
                            库位:<input id="locationCode" type="text" name="locationCode"/>
                        </li>
                        <li>
                            物料编码:<input id="materialCode" type="text" name="materialCode"/>
                        </li>
                        <li>
                            物料名称:<input id="materialName" type="text" name="materialName"/>
                        </li>
                        <li>
                            物料规格:<input id="materialSpec" type="text" name="materialSpec"/>
                        </li>
                        <li>
                            调整单类型:<select name="problemType"
                                           th:with="problemType=${@dict.getType('cyclecountStatus')}">
                            <option value="">所有</option>
                            <option th:each="e : ${problemType}" th:text="${e['dictLabel']}"
                                    th:value="${e['dictValue']}"></option>
                        </select>
                        </li>
                        <li>
                            调整明细状态:<select name="status"
                                           th:with="status=${@dict.getType('cyclecountStatus')}">
                            <option value="">所有</option>
                            <option th:each="e : ${status}" th:text="${e['dictLabel']}"
                                    th:value="${e['dictValue']}"></option>
                        </select>
                        </li>

                        <li>
                            创建人:<input id="createdBy" 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>
                        </li>
                    </ul>
                </form>
            </div>
        </div>
        <div class="btn-group hidden-xs" id="toolbar" role="group">

            <a class="btn btn-outline btn-danger btn-rounded" onclick="addAdjust()"/>
            <!--shiro:hasPermission="inventory:cyclecountAdjustDetail:addAdjust"-->
            <i class="fa fa-vcard"></i>差异调整
            </a>
            <!--<a class="btn btn-outline btn-danger btn-rounded" onclick="createCyclecountWithGapQty()"
                shiro:hasPermission="inventoryHeader:cycleCountDetail:cyclecountRepeat">
                 <i class="fa fa-vcard"></i> 差异复盘
             </a>-->
            <!--<a class="btn btn-outline btn-danger btn-rounded" onclick="adjust()"
               shiro:hasPermission="inventoryHeader:cycleCountDetail:adjust">
                <i class="fa fa-vcard"></i> 差异库存调整
            </a>-->
            <a class="btn btn-outline btn-success btn-rounded" onclick="update()">
                <i class="fa fa-refresh"></i>&nbsp;&nbsp;刷&nbsp;&nbsp;&nbsp;&nbsp;新
            </a>
        </div>
        <table id="bootstrap-table" data-mobile-responsive="true" class="table table-bordered table-hover"></table>
    </div>
</div>
<div th:include="include :: footer"></div>
<script th:inline="javascript">
    var prefix = ctx + "inventory/adjustDetail";
    var prefix_head = ctx + "inventory/adjustHeader";
    var datas = [[${@dict.getType('adjustType')}]];
    var inventoryStatus = [[${@dict.getType('inventoryStatus')}]];
    var created;

    $(function () {
        update();
    });

    function update() {
        let adjustCode=null;
        let options = {
            url:prefix + "/list",
            modalName: "调整单明细",
            sortName: "id",
            sortOrder: "desc",
            showRefresh: false,
            search: false,
            columns: [
                {
                    radio: true
                },
                {
                    field: 'id',
                    title: '明细id',
                    sortable: true
                },
                {
                    field: 'adjustCode',
                    title: '调整主单编码',
                    visible: true
                },
                {
                    field: 'warehouseCode',
                    title: '仓库',
                    visible: false
                },
                {
                    field: 'companyCode',
                    title: '货主'
                },
                {
                    field: 'cycleCountCode',
                    title: '盘点单编码',
                },
                {
                    field: 'cycleDetailId',
                    title: '盘点单明细ID',
                    sortable: true,
                    visible: true
                },
                {
                    field: 'locationCode',
                    title: '库位编号',
                },
                {
                    field: 'containerCode',
                    title: '容器编号',
                },
                {
                    field: 'materialCode',
                    title: '物料编码',

                },
                {
                    field: 'materialName',
                    title: '物料名称',

                },
                {
                    field: 'materialSpec',
                    title: '物料规格',

                },
                {
                    field: 'materialUnit',
                    title: '物料单位',

                },
                {
                    field: 'checkCode',
                    title: '质检单号',
                    visible: true
                },
                {
                    field: 'checkDetailId',
                    title: '质检单明细行号',
                    visible: false
                },
                {
                    field: 'referCode',
                    title: '调整单关联单号',
                    visible: true
                },
                {
                    field: 'referDetailId',
                    title: '调整单关联明细ID',
                    visible: false
                },

                {
                    field: 'problemType',
                    title: '调整类型',
                    sortable: true,
                    visible: true
                },
                {
                    field: 'fromQty',
                    title: '调整前数量'
                },
                {
                    field: 'toQty',
                    title: '调整后数量'
                },
                {
                    field: 'gapQty',
                    title: '调整数量'
                },
                {
                    field: 'fromInventorySts',
                    title: '调整前状态',
                    visible: true
                },
                {
                    field: 'toInventorySts',
                    title: '调整后状态',
                    visible: true
                },
                {
                    field: 'attributeId',
                    title: '属性号',
                    sortable: true,
                    visible: false

                },
                {
                    field: 'inventorySts',
                    title: '库存状态',
                    formatter: function (value, row, index) {
                        return $.table.selectDictLabel(inventoryStatus, value);
                    },
                    sortable: true
                },

                {
                    field: 'created',
                    title: '创建时间',
                    sortable: true
                },
                {
                    field: 'createdBy',
                    title: '创建用户'
                },
                {
                    field: 'agreeTime',
                    title: '审批时间',
                    sortable: true
                },
                {
                    field: 'agreeBy',
                    title: '审批人'
                },
                {
                    field: 'status',
                    title: '明细状态',
                    formatter: function (value, row, index) {
                        return $.table.selectDictLabel(datas, value);
                    },
                    sortable: true
                },
                {
                    field: 'Remark',
                    title: '备注',
                    visible: true
                },
                {
                    field: 'version',
                    title: '数据版本',
                    visible: false
                },
                {
                    field: 'processStamp',
                    title: '处理标记',
                    visible: false
                },


            ]
        };
        let url = location.search; //获取url中"?"符后的字串
        if (url.indexOf("?") != -1) {    //判断是否有参数
            let str = url.substr(1); //从第一个字符开始 因为第0个是?号 获取所有除问号的所有符串
            let strs = url.substr(1).split("=");
            $("#adjustCode").val(strs[1]);
            options.queryParams=function(params) {

                return {
                    // 传递参数查询参数
                    adjustCode:     strs[1],
                    pageSize:       params.limit,
                    pageNum:        params.offset / params.limit + 1,
                    searchValue:    params.search,
                    orderByColumn:  params.sort,
                    isAsc:          params.order
                };
            };
            adjustCode=str.split("=")[1];
            $.table.init(options);
        }
        else{
            $.table.init(options);
        }

        /*$.ajax({
            url: prefix_head + "/getHeader",
            type: "post",
            data: {
                id: $('#cyclecountAdjustId').val()
            },
            success: function (value) {
                if (value.data) {
                    $('#code').val(value.data.code);
                    // $('#type').val(value.data.typeLabel);
                    $('#status').val(value.data.statusLabel);
                    $('#created').val(value.data.created);
                    var text_val = $('#created').val();
                    $('#created').val(text_val.replace("T", " "));
                    //$('#createdBy').val(value.data.createdBy);
                    $('#lastUpdated').val(value.data.lastUpdated);
                    var text_val_t = $('#lastUpdated').val();
                    $('#lastUpdated').val(text_val_t.replace("T", " "));
                    //$('#lastUpdatedBy').val(value.data.lastUpdatedBy);
                }
            }
        })*/
    }

    /**盘点差异调整*/
    function addAdjust() {
        var row = $('#bootstrap-table').bootstrapTable('getSelections');

        $.modal.confirm("注意:该操作将更改库存,当实盘数量为0且库位上只剩空容器时,请手动执行空托出库任务,容器上有货则无需其他操作!",
            function () {
                var cyclecountAdjustId = $('#cyclecountAdjustId').val();
                var companyCode = $('#companyCode').val();
                var code = $('#code').val();
                var cyclecountHeadCode = $('#sourceCode').val();
                //判断有没有选取明细条目,进的页面不同
                if (row.length !== 0) {
                    /*判断是否已经调整过*/
                    if (row[0].status == 40) {
                        $.modal.msg('该条明细已调整,请勿重复调整!')
                    } else {
                        $.modal.open("差异调整单", prefix + "/adjustEdit?id=" + row[0].id)
                    }
                } else {
                    $.modal.open("调整单", prefix + "/addAdjust?cyclecountAdjustId=" + cyclecountAdjustId + "&companyCode=" + companyCode + "&code=" + code + "&cyclecountHeadCode=" + cyclecountHeadCode);
                }
            });
    }

    //
    function open(title, url, width, height) {
        if (navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)) {
            width = 'auto';
            height = 'auto';
        }
        if (title == null) {
            title = false;
        }
        if (url == null) {
            url = "404.html";
        }
        if ($.common.isEmpty(width)) {
            width = 800;
            // width = ($(window).width() - 100);
        }
        if ($.common.isEmpty(height)) {
            height = ($(window).height() - 50);
        }
        layer.open({
            type: 2,
            area: [width + 'px', height + 'px'],
            fix: false,
            //不固定
            maxmin: true,
            shade: 0.3,
            title: title,
            content: url
            // shadeClose: true, //点击遮罩关闭层
        })
    }

    /*
     *  差异复盘
     */
    function createCyclecountWithGapQty() {
        $.modal.confirm("确认进行差异复盘么?该操作会将有差异的明细重新生成一个新的盘点单。", function () {
            var url = prefix + "/createCyclecountWithGapQty";
            var data = {"headId": $('#headId').val()};
            postInner(url, data);
        });
    }

    /*    //调整差异库存
        function adjust() {
            $.modal.confirm("注意:该操作将更改库存,当实盘数量为0且库位上只剩空容器时,请手动执行空托出库任务,容器上有货则无需其他操作!",
            function() {
                var url = prefix + "/adjust";
                var data = { "headId": $('#headId').val() };
                postInner(url,data);
            });
        }
        function postInner(url,data) {
            $.modal.loading("正在处理中,请稍后...");
            $.ajax({
                url:url,
                type:"post",
                data:data,
                success:function (result) {
                    if (result.code == web_status.SUCCESS) {
                        $.modal.msgSuccess(result.msg);
                        update();
                    } else {
                        $.modal.alertError(result.msg);
                    }
                    $.modal.closeLoading();
                }
            })
        }*/

    /*    //下发单条盘点
        function outcheck(id) {
            var url = prefix + "/createCyccoutTaskByDetailId";
            var data = { "detailId": id };
            postInner(url,data);
        }*/


</script>
</body>
</html>