<!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">
            <form id="inventory-form">
                <div class="select-list">
                    <ul>
                        <li>
                            库位编号:<input type="text" name="locationCode"/>
                        </li>
                        <li>
                            容器编号:<input type="text" name="containerCode"/>
                        </li>
                        <li>
                            存货编码:<input type="text" name="materialCode"/>
                        </li>
                        <li>
                            存货代码:<input type="text" name="materialOldCode"/>
                        </li>
                        <li>
                            物料名称:<input type="text" name="materialName"/>
                        </li>
                        <li>
                            物料规格:<input type="text" name="materialSpec"/>
                        </li>
                        <li>
                            工作令号:<input type="text" name="moCode"/>
                        </li>
                        <li>
                            货主:<select name="companyCode" th:with="company=${@companyService.getCode()}">
                            <option value="">所有</option>
                            <option th:each="e : ${company}" th:text="${e['name']}" th:value="${e['code']}"></option></select>
                        </li>
                        <li>
                            U8仓库:<select name="uWarehouseCode" th:with="warehouse=${@warehouseWu.selectList()}">
                            <option value="">所有</option>
                            <option th:each="e : ${warehouse}" th:text="${e['uWarehouseName']}" th:value="${e['uWarehouseCode']}"></option></select>
                        </li>
                        <li>
                            库存状态:
                            <select name="status" th:with="inventoryStatus=${@dict.getType('inventoryStatus')}">
                                <option value="">所有</option>
                                <option th:each="e : ${inventoryStatus}" th:text="${e['dictLabel']}" th:value="${e['dictValue']}"></option>
                            </select>
                        </li>
                        <li>
                            供应商编码:<input type="text" name="supplierCode"/>
                        </li>

                        <li>
                            项 目 号:<input type="text" name="project"/>
                        </li>
                        <li class="time" style="height:30px">
                            <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-warning btn-rounded btn-sm" onclick="$.form.reset('inventory-form')"><i class="fa fa-refresh"></i>&nbsp;重置</a>
                            <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="general:inventory: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-primary btn-rounded" onclick="transfers()">
                <i class="fa fa-eye"></i> XN库存移库
            </a>
            <div class="zkc pull-left" style="margin-left: 300px">
                <label >总库存:</label>
                <div class="pull-right">
                    <input id="remainder" name="remainder" class="form-control" type="text" readonly  style="width: 50%">
                </div>
            </div>
        </div>

        <div class="col-sm-12 select-info">
            <table id="bootstrap-table" data-mobile-responsive="true" class="table table-bordered table-hover"></table>
        </div>
    </div>
</div>
<div th:include="include :: footer"></div>
<script th:inline="javascript">
    var editFlag = [[${@permission.hasPermi('inventory:inventory:edit')}]];
    var removeFlag = [[${@permission.hasPermi('inventory:inventory:remove')}]];
    var prefix = ctx + "inventory/inventoryTransfer";
    var prefix1=ctx+"receipt/receiptHeader";
    var inventoryStatus=[[${@dict.getType('inventoryStatus')}]];
    var company =[[${@companyService.getCode()}]];
    var uWarehouseNames = [[${@warehouseWu.getName()}]];
    $(function() {
        $("select[name='companyCode']").change(function (e) {
            let companyCode=$("select[name='companyCode'] option:selected").val();
            $.ajax({
                url:prefix1+'/getwarehouse',
                type:'post',
                data:{code:companyCode},
                success:function (response) {
                    if(response.code===200){
                        $("select[name='uwarehouseCode']").children().remove();
                        $("select[name='uwarehouseCode']").append(`<option value="">所有</option>`);
                        for (let item of response.data) {
                            let option=`<option value="${item.uWarehouseCode}">${item.uWarehouseName}</option>`;
                            $("select[name='uwarehouseCode']").append(option);
                        }
                    }
                    else {$.modal.msgError(response.msg)}
                }
            })
        })

    });

    $("#bootstrap-table").bootstrapTable({
        url: prefix + "/list",
        createUrl: prefix + "/add",
        updateUrl: prefix + "/edit/{id}",
        removeUrl: prefix + "/remove",
        contentType: "application/x-www-form-urlencoded",   // 编码类型
        method: 'post',
        iconSize: "outline",
        toolbar: "#toolbar",
        showRefresh: true,//刷新
        showToggle:true, //视图切换
        clickToSelect: true,
        showColumns:true, //列选择
        showExport: true, //导出
        modalName: "",
        sortable: true,                                     // 是否启用排序
        sortStable: true,                                   // 设置为 true 将获得稳定的排序
        sortName: "id",
        sortOrder: "desc",
        sidePagination: "client",
        search: false,
        pagination: true,   // 是否显示分页(*)
        pageNumber: 1,
        pageSize: 500,
        pageList: [10, 25, 50,100,500,3000,5000,'all'],
        sidePagination: "server",                           // 启用服务端分页
        queryParams: function(params) {
            return {
                // 传递参数查询参数
                pageSize:       params.limit,
                pageNum:        params.offset / params.limit + 1,
                searchValue:    params.search,
                sort:           params.sort,
                order:          params.order
            };
        },
        responseHandler: function(res) {
            if (res.code == 200) {
                return { rows: res.data, total: res.total };
            } else {
                $.modal.alertWarning(res.msg);
                return { rows: [], total: 0 };
            }
        },
        onLoadSuccess: function (res) {
            let count = 0;
            if (res.rows.length > 0) {
                res.rows.map(item => {
                    count +=item.qty
                });
            }
            $("#remainder").val(count)
        },
        columns: [
            {
                checkbox: true
            },
            {
                title: '操作',
                align: 'center',
                formatter: function(value, row, index) {
                    var actions = [];
                    actions.push('<a class="btn btn-info btn-xs " href="#" onclick="transfer(\'' + row.id+'\',\''+row.companyCode+'\',\''+row.materialCode+'\',\''+row.qty+ '\')"><i class="fa fa-list-ul"></i>移库</a> ');
                    return actions.join('');
                }
            },
            {
                field : 'id',
                title : '库存ID',
                visible:false
            },
            {
                field : 'createdBy',
                title : '创建用户' ,
                sortable:true
            },
            {
                field: 'companyCode',
                title: '货主',
                align: 'center',
                formatter: function(value, row, index) {
                    var actions = [];
                    $.each(company, function(index, dict) {
                        if (dict.code == value) {
                            actions.push("<span class='badge badge-info'>" + dict.name + "</span>");
                            return false;
                        }
                    });
                    return actions.join('');
                }
            },
            {
                field : 'uWarehouseCode',
                title : 'U8仓库',
                formatter: function(value, row, index) {
                    var actions = [];
                    $.each(uWarehouseNames, function(index, dict) {
                        if (dict.uWarehouseCode == value) {
                            actions.push("<span class='badge badge-info'>" + dict.uWarehouseName + "</span>");
                            return false;
                        }
                    });
                    return actions.join('');
                }
            },
            {
                field : 'containerCode',
                title : '容器编号',
                sortable:true,
                visible:false
            },
            {
                field : 'materialCode',
                title : '存货编码',
                sortable:true
            },
            {
                field : 'materialOldCode',
                title : '存货代码',
                sortable:true
            },
            {
                field : 'materialName',
                title : '物料名称',
                sortable:true
            },
            {
                field : 'materialSpec',
                title : '物料规格'
            },
            {
                field : 'qty',
                title : '数量',
                sortable:true
            },
            {
                field : 'moCode',
                title : '工作令号'
            },
            {
                field : 'zoneCode',
                title : '储货库区' ,
                sortable:true
            },
            {
                field : 'taskQty',
                title : '预定执行数量',
                visible:false
            },
            // {
            // 	field : 'zoneCode',
            // 	title : '物料库区',
            // 	visible:true
            // },
            {
                field : 'sourceCode',
                title : '上游系统单号',
                visible:false
            },
            {
                field : 'sourceLine',
                title : '上游系统行号',
                visible:false
            },
            {
                field : 'receiptId',
                title : '入库单标识' ,
                visible:false
            },
            {
                field : 'receiptCode',
                title : '入库单编码' ,
                visible:false
            },
            {
                field : 'receiptDetailId',
                title : '入库单明细标识'  ,
                visible:false
            },
            {
                field : 'batch',
                title : '批次' ,
                sortable:false,
                visible:false
            },
            {
                field : 'lot',
                title : '批号' ,
                sortable:false,
                visible:false
            },
            {
                field : 'project',
                title : '项目号' ,
                visible:false
            },
            {
                field : 'supplierName',
                title : '供应商',
                visible:false
            },
            {
                field : 'manufactureDate',
                title : '生产日期' ,
                sortable:true ,
                visible:false
            },
            {
                field : 'expirationDate',
                title : '失效日期' ,
                sortable:true ,
                visible:false
            },
            {
                field : 'created',
                title : '入库时间',
                sortable:true
            },
            {
                field:'days',
                title:'库龄',
                visible:true
            },
            {
                field : 'status',
                title : '库存状态' ,
                align: 'center',
                formatter: function(value, row, index) {
                    return $.table.selectDictLabel(inventoryStatus, value);
                }
            },

            {
                field : 'costPrice',
                title : '成本' ,
                visible:false
            },
            {
                field : 'listPrice',
                title : '标价' ,
                visible:false
            },
            {
                field : 'netPrice',
                title : '净价' ,
                visible:false
            },
            {
                field : 'userDef1',
                title : '自定义字段1' ,
                visible:false
            },
            {
                field : 'userDef2',
                title : '自定义字段2' ,
                visible:false
            },
            {
                field : 'userDef3',
                title : '自定义字段3' ,
                visible:false
            }
        ]
    });


    function transfer(id, companyCode, materialCode, qty) {
        let url = prefix + "/transfer?ids="+id+"&companyCode="+companyCode+"&materialCode="
            +materialCode+"&qty="+qty;
        $.modal.openFull("立库移库",url);
    }



    function transfers() {
        var rows=$("#bootstrap-table").bootstrapTable('getSelections');
        if (rows.length == 0) {
            $.modal.alertWarning("请至少选择一条记录");
            return;
        }
        let ids = "";
        for(let i=0; i<rows.length; i++) {
            ids = ids + rows[i].id + ","
        }
        var url = prefix + "/transfers/"+ids;
        var data = { "ids": rows.map(function(v){return v.id;}).join(',') };
        $.modal.open("立库移库",url);
    }


    function localSubmit (url, type, dataType, data) {
        $.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()
            }
        };
        $.ajax(config)
    }


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