<!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>
<style>
    .btn-default {
        color: #333;
        background-color: #fff;
        border-color: #ccc
    }
</style>
<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="receiptHeader-form">
                            <div class="select-list">
                                <ul>
                                    <li>
                                        出库单号:<input type="text" name="code"/>
                                    </li>
                                    <li>
                                    仓库:<input type="text" name="warehouseCode"/>
                                </li>
                                    <li>
                                        <!--入库类型:<input type="text" name="sourceCode"/>-->
                                        出库类型:<select name="type" th:with="type=${@dict.getType('shipmentType')}">
                                        <option value="">所有</option>
                                        <option th:each="e : ${type}" th:text="${e['dictLabel']}"
                                                th:value="${e['dictValue']}"></option>
                                    </select>
                                    </li>
                                    <li>
                                        客户编码:<input type="text" name="sourceCode"/>
                                    </li>
                                    <li>
                                        <!--头 状 态:<input type="text" name="firstStatus"/>-->
                                        头 状 态:<select name="firstStatus"
                                                      th:with="firstStatus=${@dict.getType('shipmentHeaderStatus')}">
                                        <option value="">所有</option>
                                        <option th:each="e : ${firstStatus}" th:text="${e['dictLabel']}"
                                                th:value="${e['dictValue']}"></option>
                                    </select>
                                    </li>
                                    <li>
                                        <!--尾 状 态:<input type="text" name="lastStatus"/>-->
                                        尾 状 态:<select name="lastStatus"
                                                      th:with="lastStatus=${@dict.getType('shipmentHeaderStatus')}">
                                        <option value="">所有</option>
                                        <option th:each="e : ${lastStatus}" th:text="${e['dictLabel']}"
                                                th:value="${e['dictValue']}"></option>
                                    </select>
                                    </li>
                                    <li>
                                        上游单号:<input type="text" name="sourceCode"/>
                                    </li>
                                    <li>
                                        u8仓库:<select name="uWarehouseCode" th:with="warehouse=${@warehouse.selectList()}">
                                        <option value="">所有</option>
                                        <option th:each="e : ${warehouse}" th:text="${e['uWarehouseName']}" th:value="${e['uWarehouseCode']}"></option></select>
                                    </li>
                                    <li>
                                        上游平台:<input type="text" name="sourcePlatform"/>
                                    </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">
                    </div>
                    <table id="bootstrap-table" data-mobile-responsive="true" class="table table-bordered table-hover"></table>
                </div>
                <div class="tab-pane fade" id="tabDetail">
                    <div class="col-sm-12 select-info">
                        <form id = "shipmentHeadForm" >
                            <ul id="tabHead" class="nav nav-tabs">
                                <li class="active"><a href="#tabBase" data-toggle="tab">基础数据</a></li>
                                <li role="presentation" ><a href="#tabCustomer" data-toggle="tab">客户信息</a></li>
                                <li><a href="#tabExcute" data-toggle="tab">执行信息</a></li>
                                <li><a href="#tabOther" data-toggle="tab">其他信息</a></li>
                                <li><a href="#tabSystem" data-toggle="tab">系统信息</a></li>
                            </ul>
                            <div class="tab-content">
                                <div class="tab-pane fade in active" id="tabBase">
                                    <div class="select-list">
                                        <ul>
                                            <li>出库单id:<input type="text" name="shipmentId" id="shipmentId"><li>
                                            <li>出库单号:<input type="text"  name="shipmentCode" id="shipmentCode"></li>
                                            <input type="hidden" name="shipmentWarehouseId" id = "shipmentWarehouseId">
                                            <li>仓库编码:<input type="text" name="shipmentWarehouseCode" id="shipmentWarehouseCode"></li>
                                            <input type="hidden" name="shipmentCompanyId" id="shipmentCompanyId">
                                            <li>货主:<input type="text" name="shipmentCompanyCode" id="shipmentCompanyCode"></li>
                                            <li>上游系统单号:<input type="text" name="shipmentSourceCode" id="shipmentSourceCode"></li>
                                            <li>上游平台:<input type="text" name="shipmentSourcePlatform" id="shipmentSourcePlatform"></li>
                                            <li>出库单类型:<input type="text" name="shipmentType" id = "shipmentType"></li>
                                            <li>总数量:<input type="text" name="shipmentTotalQty" id="shipmentTotalQty"></li>
                                            <li>总行数:<input type="text" name="shipmentTotalLines" id="shipmentTotalLines"></li>
                                            <li>单据头状态:<input type="text" name="shipmentFirstStatus" id="shipmentFirstStatus"></li>
                                            <li>单据尾状态:<input type="text" name="shipmentLastStatus" id="shipmentLastStatus"></li>
                                        </ul>
                                    </div>
                                </div>
                                <div class="tab-pane fade" id="tabCustomer">
                                    <div class="select-list">
                                        <ul>
                                            <li>客户编码:<input type="text" name="shipmentShipTo" id="shipmentShipTo"></li>
                                            <li>发货预约时间:<input type="text" name="shipmentAppointmentTime" id="shipmentAppointmentTime"></li>
                                        </ul>
                                    </div>
                                </div>
                                <div class="tab-pane fade" id="tabExcute">
                                    <div class="select-list">
                                        <ul>
                                            <li>优先级:<input type="text" name="shipmentPriority" id="shipmentPriority"></li>
                                            <li>发货站台:<input type="text" name="shipmentStation" id="shipmentStation"></li>
                                            <li></li>
                                        </ul>
                                    </div>
                                </div>
                                <div class="tab-pane fade" id="tabOther">
                                    <div class="select-list">
                                        <ul>
                                            <li>备注:<input type="text" name="shipmentRemark" id="shipmentRemark"></li>
                                            <li>扩展属性1:<input type="text" name="shipmentUserDef1" id="shipmentUserDef1"></li>
                                            <li>扩展属性2:<input type="text" name="shipmentUserDef2" id="shipmentUserDef2"></li>
                                            <li>扩展属性3:<input type="text" name="shipmentUserDef3" id="shipmentUserDef3"></li>

                                        </ul>
                                    </div>
                                </div>
                                <div class="tab-pane fade" id="tabSystem">
                                    <div class="select-list">
                                        <ul>
                                            <li>上传备注:<input type="text" name="shipmentUploadremark" id="shipmentUploadremark"></li>
                                            <li>上传时间:<input type="text" name="shipmentUploadTime" id="shipmentUploadTime"></li>
                                            <li>上传状态:<input type="text" name="shipmentUploadStatus" id="shipmentUploadStatus"></li>
                                            <li>创建时间:<input type="text" name="shipmentCreated" id="shipmentCreated"></li>
                                            <li>创建用户:<input type="text" name="shipmentCreatedBy" id="shipmentCreatedBy"></li>
                                            <li>最后修改时间:<input type="text" name="shipmentLastUpdated" id="shipmentLastUpdated"></li>
                                            <li>更新用户:<input type="text" name=" shipmentLastUpdatedBy" id="shipmentLastUpdatedBy"></li>
                                            <li>是否有效:<input type="text" name="shipmentEnable" id="shipmentEnable"></li>
                                            <li>是否删除:<input type="text" name="shipmentDeleted" id="shipmentDeleted"></li>
                                        </ul>
                                    </div>
                                </div>
                            </div>
                        </form>
                    </div>
                    <div class="btn-group hidden-xs" id="toolbar-detail" role="group" style="padding:20px 0;">

                            </div>
                    <table id="bootstrap-table-detail" 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 prefix = ctx + "admin/shipmentHeader";
    var prefix_detail = ctx + "admin/shipmentDetail";
    var datas = [[${@dict.getType('sys_normal_disable')}]];
    var shipmentTypes=[[${@dict.getType('shipmentType')}]];
    var shipmentHeaderStatus=[[${@dict.getType('shipmentHeaderStatus')}]];
    var stations = [[${@dict.getType('station')}]];
    var uploadStatus=[[${@dict.getType('uploadStatus')}]];
    var inventoryStatus=[[${@dict.getType('inventoryStatus')}]];
    var shipmentId = "";
    var shipmentCode="";

    $(function () {
        let url = window.location.search; //获取url中"?"符后的字串
        let dates=null;
        if (url.indexOf("?") != -1){
            let date=new Date();
            let year=date.getFullYear();
            let month=date.getMonth();
            let day=date.getDate();
            let str = url.substr(1); //从第一个字符开始 因为第0个是?号 获取所有除问号的所有符串
            strs = str.split("=");
            if (strs[1]) {
                dates=year+'-'+month+'-'+day;
            }
        }
        var options = {
            url: prefix + "/list",
            modalName: "出库单",
            sortName: "created",
            sortOrder: "desc",
            queryParams: function (params) {
                return {
                    pageSize:       params.limit,
                    pageNum:        params.offset / params.limit + 1,
                    time:dates,
                };
            },
            search: false,
            columns: [
                {
                checkbox: true
            },
                {
                    field: 'id',
                    title: '出库单id'
                },
                {
                    field: 'code',
                    title: '出库单号',
                    sortable:true
                },
                {
                    field: 'warehouseCode',
                    title: '仓库',
                    sortable:true
                },
                {
                    field: 'companyId',
                    title: '货主标识',
                    visible:false
                },
                {
                    field: 'companyCode',
                    title: '货主',
                    sortable:true
                },
                {
                    field: 'sourceCode',
                    title: '上游单号',
                    sortable:true
                },
                {
                    field: 'sourcePlatform',
                    title: '上游平台',
                    sortable:true,
                    visible:false
                },
                {
                    field : 'uWarehouseCode',
                    title : 'U8仓库',
                    sortable:true
                },
                {
                    field: 'type',
                    title: '类型',
                    align: 'center',
                    formatter: function(value, row, index) {
                        return $.table.selectDictLabel(shipmentTypes, value);
                    },
                    sortable:true

                },
                {
                    field: 'shipTo',
                    title: '客户编码',
                    sortable:true
                },
                {
                    field: 'priority',
                    title: '优先级'
                },
                {
                    field: 'station',
                    title: '发货站台',
                    align: 'center',
                    formatter: function(value, row, index) {
                        return $.table.selectDictLabel(stations, value);
                    },
                    sortable:true
                },
                {
                    field: 'totalQty',
                    title: '总数量'
                },
                {
                    field: 'totalLines',
                    title: '总行数'
                },
                {
                    field: 'remark',
                    title: '备注'
                },
                {
                    field: 'uploadremark',
                    title: '上传备注',
                    visible:false
                },
                {
                    field: 'uploadTime',
                    title: '上传时间',
                    visible:false
                },
                {
                    field: 'appointmentTime',
                    title: '发货预约时间',
                    visible:false
                },
                {
                    field: 'firstStatus',
                    title: '头状态',
                    formatter: function(value, row, index) {
                        return $.table.selectDictLabel(shipmentHeaderStatus, value);
                    },
                    sortable:true
                },
                {
                    field: 'lastStatus',
                    title: '尾状态',
                    formatter: function(value, row, index) {
                        return $.table.selectDictLabel(shipmentHeaderStatus, value);
                    },
                    sortable:true
                },
                {
                    field: 'uploadStatus',
                    title: '上传状态',
                    visible:false
                },
                {
                    field: 'created',
                    title: '创建时间',
                    sortable: true
                },
                {
                    field: 'createdBy',
                    title: '创建用户'
                },
                {
                    field: 'lastUpdated',
                    title: '最后修改时间',
                    visible:false
                },
                {
                    field: 'lastUpdatedBy',
                    title: '更新用户',
                    visible:false
                },
                {
                    field: 'enable',
                    title: '是否有效',
                    formatter: function(value, row, index) {
                        return $.table.selectDictLabel(datas, value);
                    }
                },
                {
                    title: '操作',
                    align: 'center',
                    formatter: function (value, row, index) {
                        var actions = [];
                        return actions.join('');
                    }
                }]
        };
        $.table.init(options);
    });

    $("#bootstrap-table-detail").bootstrapTable(
        {
            /*url: prefix_detail + "/list",*/
            // queryParams: queryParams,
            sortable: true, //排序
            // showRefresh: true, //刷新
            modalName: "出库明细",
            search: false,
            clickToSelect: true,
            sortName: "lastUpdated",
            sortOrder: "desc",
            pagination: true,   // 是否显示分页(*)
            pageNumber: 1,                                      // 初始化加载第一页,默认第一页
            pageSize: 10,                                       // 每页的记录行数(*)
            pageList: [10, 25, 50],                             // 可供选择的每页的行数(*)
            columns: [{
                checkbox: true
            },
                {
                    field: 'id',
                    title: '明细id'
                },
                {
                    field: 'zoneCode',
                    title: '库区'
                },

               /* {
                    field: 'shipmentId',
                    title: '出库单Id'
                },*/
                {
                    field: 'materialCode',
                    title: '存货编码'
                },
                {
                    field: 'materialName',
                    title: '物料名称'
                },
                {
                    field: 'specification',
                    title: '物料规格'
                },
                {
                    field: 'batch',
                    title: '批次'
                },
                {
                    field: 'lot',
                    title: '批号',
                    visible:false
                },
                {
                    field: 'project',
                    title: '项目号'
                },
                {
                    field: 'status',
                    title: '明细状态',
                    formatter: function(value, row, index) {
                        return $.table.selectDictLabel(shipmentHeaderStatus, value);
                    },
                    visible:true
                },
                {
                    field: 'manufactureDate',
                    title: '生产日期',
                    visible:false
                },
                {
                    field: 'expirationDate',
                    title: '失效日期',
                    visible:false
                },
                {
                    field: 'agingDate',
                    title: '入库日期',
                    sortable: true
                },
                {
                    field: 'inventoryStatus',
                    title: '库存状态',
                    formatter: function(value, row, index) {
                        return $.table.selectDictLabel(inventoryStatus, value);
                    },
                },
                {
                    field: 'qty',
                    title: '发货数量'
                },
                {
                    field: 'qtyCompleted',
                    title: '已出数量'
                },
                {
                    field : 'status',
                    title : '单据状态',
                    align: 'center',
                    formatter: function(value, row, index) {
                        return $.table.selectDictLabel(shipmentHeaderStatus, value);
                    }
                },
                {
                    field: 'price',
                    title: '物料单价',
                    visible:false
                },
                {
                    field: 'created',
                    title: '创建时间',
                },
                {
                    field: 'createdBy',
                    title: '创建用户'
                },
                {
                    field: 'lastUpdated',
                    title: '最后修改时间'
                },
                {
                    field: 'lastUpdatedBy',
                    title: '更新用户'
                },
                {
                    title: '操作',
                    align: 'center',
                    formatter: function (value, row, index) {
                        var actions = [];
                        return actions.join('');
                    }
                }]
        }
    );


    /*入库单列表-详细*/
    function detail(id, code) {
        shipmentId = id;
        shipmentCode=code;
        $("#myTab li").removeClass("active");
        $("#tabHeader").removeClass("in active");
        $("#myTab li:eq(1)").addClass("active");
        $("#tabDetail").addClass("in active");

        loadDetail();
    }

    /** 载入明细 */
    function loadDetail() {
        $.ajax({
            url:ctx + 'admin/shipmentDetail/list',
            type: 'post',
            data:{
                shipmentId:shipmentId
            },
            success : function (value) {
                    $("#bootstrap-table-detail").bootstrapTable('load',value.data);
            }
        })
        $.ajax({
            url:"shipmentHeader/getShipmentHeader",
            type:"post",
            data:{
                id:shipmentId
            },
            success:function (value) {
                $('#shipmentId').val(value.data.id);
                $('#shipmentCode').val(value.data.code);
                $('#shipmentWarehouseId').val(value.data.warehouseId);
                $('#shipmentWarehouseCode').val(value.data.warehouseCode);
                $('#shipmentCompanyId').val(value.data.companyId);
                $('#shipmentCompanyCode').val(value.data.companyCode);
                $('#shipmentSourceCode').val(value.data.sourceCode);
                $('#shipmentSourcePlatform').val(value.data.sourcePlatform);
                $('#shipmentType').val(shipmentTypes.filter(function(a){return a.dictValue==value.data.type})[0].dictLabel);
                $('#shipmentShipTo').val(value.data.shipTo);
                $('#shipmentPriority').val(value.data.priority);
                $('#shipmentStation').val(value.data.station);
                $('#shipmentTotalQty').val(value.data.totalQty);
                $('#shipmentTotalLines').val(value.data.totalLines);
                $('#shipmentRemark').val(value.data.remark);
                $('#shipmentUploadremark').val(value.data.uploadremark);
                $('#shipmentUploadTime').val(value.data.uploadTime);
                $('#shipmentAppointmentTime').val(value.data.appointmentTime);
                $('#shipmentFirstStatus').val(shipmentHeaderStatus.filter(function(a){return a.dictValue==value.data.firstStatus})[0].dictLabel);
                $('#shipmentLastStatus').val(shipmentHeaderStatus.filter(function(a){return a.dictValue==value.data.lastStatus})[0].dictLabel);
                $('#shipmentUploadStatus').val(uploadStatus.filter(function (a) {return a.dictValue==value.data.uploadStatus})[0].dictLabel);
                $('#shipmentCreated').val(value.data.created);
                $('#shipmentCreatedBy').val(value.data.createdBy);
                $('#shipmentLastUpdated').val(value.data.lastUpdated);
                $('#shipmentLastUpdatedBy').val(value.data.lastUpdatedBy);
                //$('#shipmentEnable').val(value.data.enable);
                if(value.data.enable==true){
                    $('#shipmentEnable').val('是')
                }else{
                    $('#shipmentEnable').val('否')
                };
                //$('#shipmentDeleted').val(value.data.deleted);
                if(value.data.deleted==false){
                    $('#shipmentDeleted').val('否')
                }else{
                    $('#shipmentDeleted').val('是')
                };
                $('#shipmentUserDef1').val(value.data.userDef1);
                $('#shipmentUserDef2').val(value.data.userDef2);
                $('#shipmentUserDef3').val(value.data.userDef3);


            }
        })
    }

    /* 添加主单据 */
    function add() {
        if (shipmentId == '') {
            $.modal.open("未选择出库单" , "404.html");
        }
        else {
            var  url = detailCreateUrl + "?shipmentId=" + $('#shipmentId').val()
                                        + "&shipmentCode=" + $('#shipmentCode').val()
                                        + "&companyId=" + $('#shipmentCompanyId').val()
                                        + "&companyCode=" + $('#shipmentCompanyCode').val();
                                        + "&sourceCode=" + $('#shipmentSourceCode').val();
            $.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);
                    loadDetail(shipmentId, shipmentCode)
                } else {
                    $.modal.alertError(result.msg)
                }
                $.modal.closeLoading()
            }
        };
        $.ajax(config)
    }



    /* 点击明细面板 */
    $("#myTab li:eq(1)").click(function () {
        if (shipmentId == '')   {
            shipmentId = $("#bootstrap-table tr:eq(1) td:eq(1)").text();
        }
        detail(shipmentId, "");
    });

    /* 点击主表面板 */
    $("#myTab li:eq(0)").click(function () {
        $.ajax({
            url: prefix + "/list",
            type:"post",
            success:function (value) {
                $("#bootstrap-table").bootstrapTable('refresh', value.data);
            }
        })
    });


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