<!DOCTYPE HTML>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<!--<meta charset="utf-8" http-equiv="refresh" content="200">-->
<head th:include="include :: header"></head>
<style>
    .btn-default {
        color: #333;
        background-color: #fff;
        border-color: #ccc
    }
    .isShow{
        display: none;
    }
    .bg-orange{
        background: #BEBEBE;
    }
    .bg-blue{
    }
</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>
                                        生产订单主表ID:<input name="MoId" type="text"/>
                                    </li>
                                    <li>
                                        生产订单号:<input type="text" name="MoCode"/>
                                    </li>
                                    <li>
                                        备注:<input type="text" name="cMemo"/>
                                    </li>
                                    <li>
                                        制单人:<input type="text" name="cMaker"/>
                                    </li>
                                    <li>
                                        <a class="btn btn-primary btn-rounded btn-sm" onclick="workOrderSearch()">
                                            <i class="fa fa-search"></i>&nbsp;搜索</a>
                                        <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('receiptHeader-form')"><i class="fa fa-refresh"></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="btn-group hidden-xs" id="toolbar-detail" role="group" style="padding:20px 0;">
                        <a class="btn btn-outline btn-success btn-rounded" onclick="outStockAll()" >
                            <i class="fa fa-plus"></i> 成品入库批量选择
                        </a>
                    </div>
                    <table id="bootstrap-table-detail" data-row-style="rowStyle" 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 printFlag = [[${@permission.hasPermi('shipment:bill:report')}]]; //打印
    var editFlag = [[${@permission.hasPermi('shipment:bill:edit')}]];
    var removeFlag = [[${@permission.hasPermi('shipment:bill:remove')}]];
    var prefix = ctx + "shipment/shipmentHeader";
    var prefix1=ctx+"receipt/receiptHeader";
    var prefix_detail = ctx + "shipment/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('inventorySts')}]];
    var rossDoccking = [[${@permission.hasPermi('shipment:bill:rossDoccking')}]];
    var shipmentId = "";
    var shipmentCode="";


    function workOrderSearch(){
        var MoId = $("input[name='MoId']").val();
        var MoCode = $("input[name='MoCode']").val();
        var cMemo = $("input[name='cMemo']").val();
        var cMaker = $("input[name='cMaker']").val();
        $.ajax({
            url:ctx + 'shipment/shipmentICSmomOrder/getICSmomOrder',
            type: 'post',
            data:{
                "MoId":MoId,
                "MoCode":MoCode,
                "cMemo":cMemo,
                "cMaker":cMaker
            },
            success:function (value) {
                debugger;
                if (value.code == 200){
                    if (value.data.length == 0){
                        $.modal.msg(value.msg);
                        $("#bootstrap-table").bootstrapTable('removeAll');
                    }
                    $("#bootstrap-table").bootstrapTable('load',value.data);
                }else {
                    $.modal.msg(value.msg);
                    $("#bootstrap-table").bootstrapTable('removeAll');
                }

            }
        });

    }

    $("#bootstrap-table").bootstrapTable({
        modalName: "生产单",
        sortName: "created",
        sortOrder: "desc",
        search: false,
        pageSize: 10,
        pagination:true,
        columns: [
            {
                title: '操作',
                align: 'center',
                formatter: function (value, row, index) {
                    var actions = [];
                    actions.push('<a id="table_edit" class="btn btn-success btn-xs ' + printFlag + '" href="#" onclick="detail(\'' + row.moId + '\',\'' + row.moCode + '\')"><i class="fa fa-print"></i>成品入库选择</a> ');
                    return actions.join('');
                }
            },
            {
                field: 'moId',
                title: '生产订单主表ID',
                sortable:true
            },
            {
                field: 'moCode',
                title: '生产订单号',
            },
            {
                field: 'dDate',
                title: '订单日期',
            },
            {
                field: 'cPersonCode',
                title: '人员代码',
            },
            {
                field: 'cPersonName',
                title: '人员名称',
            },
            {
                field : 'cMemo',
                title : '备注',
            },
            {
                field: 'cMaker',
                title: '制单人',
            },
            {
                field : 'companyCode',
                title : '公司代码(账套代码)',
            },
            {
                field: 'cModifyDate',
                title: '维护日期',
            }
            ]
    });


    $("#bootstrap-table-detail").bootstrapTable(
        {
            sortable: true, //排序
            modalName: "生产单明细",
            search: false,
            clickToSelect: true,
            sortName: "lastUpdated",
            sortOrder: "desc",
            pagination: true,   // 是否显示分页(*)
            pageNumber: 1,                                      // 初始化加载第一页,默认第一页
            pageSize: 50,                                       // 每页的记录行数(*)
            pageList: [10, 25, 50, 100],                             // 可供选择的每页的行数(*)
            columns: [{
                checkbox: true
            },
                {
                    title: '操作',
                    align: 'center',
                    formatter: function (value, row, index) {
                        var actions = [];
                        actions.push('<a id="table_edit" class="btn btn-success btn-xs ' + printFlag + '" href="#" onclick="outStock(\'' + row.moId + '\',\'' + row.moCode + '\',\'' + row.moDId + '\',\'' + index + '\',\'' + row.iQuantity + '\')"><i class="fa fa-print"></i>入库选择</a> ');
                        return actions.join('');
                    }
                },
                {
                    field: 'dosage',
                    title: '入库数量',
                    valign:'middle',
                    align:"center",
                    clear:false,
                    formatter : function(value, row, index) {
                        var qty1 = row.iQuantity;
                        var html = '<input id="dosage'+index+'" onblur="numCheck('+index+')"  value="'+qty1+'" width="10" >';
                        return html;
                    }
                },
                {
                    field: 'moId',
                    title: '生产订单主表ID',
                    visible: true
                },
                {
                    field: 'moCode',
                    title: '生产订单号',
                    visible: true
                },
                {
                    field: 'moDId',
                    title: '生产订单明细资料ID',
                    visible: true
                },
                {
                    field: 'cItemName',
                    title: '项目号'
                },
                {
                    field: 'sortSeq',
                    title: '行号',
                    visible: true
                },
                {
                    field: 'cInvCode',
                    title: '存货编码'
                },
                {
                    field : 'cInvName',
                    title : '存货名称',
                    sortable:true
                },
                {
                    field : 'cInvStd',
                    title : '规格型号',
                    sortable:true
                },
                {
                    field: 'iQuantity',
                    title: '数量',
                    visible: true
                },
                {
                    field: 'cComUnitName',
                    title: '计量单位',
                    visible: false
                },
                {
                    field: 'cMemo',
                    title: '订单行备注',
                },
                {
                    field : 'startDate',
                    title : '计划开工日期',
                    sortable:true
                },
                {
                    field: 'dueDate',
                    title: '计划完工日期',
                    sortable:true
                },
            ]
        }
    );

    function numCheck(index){
        $('input[id=dosage'+index+']').val($('input[id=dosage'+index+']').val().replace(/[^0-9.]/g,''));
    }
    /**
     * 批量出库
     */
    function outStockAll(){
        debugger
        var rows  = $("#bootstrap-table-detail").bootstrapTable('getSelections');
        if (rows.length == 0){
            $.modal.msg("请选择明细数据!");
            return
        }
        var list = [];
        for (const i in rows) {
            debugger
            var dosage = $('input[id=dosage'+parseInt(i)+']').val()
            if (dosage == 0){
                $.modal.msg("请输入出库数量!");
                return;
            }
            var moId=rows[i].moId;
            var moCode=rows[i].moCode;
            var modID = rows[i].MoDId;
            if (moId && moCode && modID){
                var material = {
                    "qty":dosage,
                    "MoId":moId,
                    "MoCode":moCode,
                    "modID":modID
                };
                list.push(material);
            }
        }
        var data =  {
            "list":list
        };
        workOrderOutAll(data);
    }

    function workOrderOutAll(data){
        debugger
        data = JSON.stringify(data);
        $.ajax({
            url:ctx + 'shipment/shipmentICSmomOrder/inStorage',
            type: 'get',
            datatype: "json",
            data:{
                "parameters":data
            },
            success : function (value) {
                debugger;
                if (value.code == 200){
                    $.modal.msgSuccess(value.msg);
                }else {
                    $.modal.msgError(value.msg);
                }

            }
        });
    }

    /**
     * 出库
     */
    function outStock(MoId,MoCode,modID,index,kqty){
        debugger;
        var qty = $('input[id=dosage'+index+']').val();
        if (!qty || qty == 0){
            $.modal.msg("请输入出库数量!");
            return
        }
        if (parseInt(qty) > parseInt(kqty)){
            $.modal.msg("入庫数量不能大于单据数量!");
            return
        }
        if (MoId && MoCode && modID  && qty){
            var data = {
                "MoId":MoId,
                "MoCode":MoCode,
                "modID":modID,
                "qty":qty
            }
            data = JSON.stringify(data);
            debugger;
            $.ajax({
                url:ctx + 'shipment/shipmentICSmomOrder/inStorage',
                type: 'get',
                datatype: "json",
                data:{
                    "parameters":data
                },
                success : function (value) {
                    debugger;
                    if (value.code == 200){
                        $.modal.msgSuccess(value.msg);
                    }else {
                        $.modal.alertError(value.msg);
                    }

                }
            });
        }
    }




    /*入库单列表-详细*/
    function detail(MoId,MoCode) {
        if (!MoCode){
            $.modal.msg("请从生产单据界面进入!");
            return
        }
        loadDetail(MoId,MoCode);
    }

    /** 载入明细 */
    function loadDetail(MoId,MoCode) {
        debugger;
        $.ajax({
            url:ctx + 'shipment/shipmentICSmomOrder/getICSmomOrderDetail',
            type: 'post',
            data:{
                "MoId":MoId,
                "MoCode":MoCode
            },
            success : function (value) {
                debugger
                if (value.code == 200){
                    if (value.data.length == 0){
                        $.modal.msgError("无明细哈哈哈啊哈哈哈哈哈!");
                        return
                    }
                    $("#myTab li").removeClass("active");
                    $("#tabHeader").removeClass("in active");
                    $("#myTab li:eq(1)").addClass("active");
                    $("#tabDetail").addClass("in active");
                    $("#bootstrap-table-detail").bootstrapTable('load',value.data);
                }else{
                    $.modal.alertError(value.msg);
                }

            }
        });
    }

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