<%@ page contentType="text/html;charset=UTF-8" %>
<%@ include file="/WEB-INF/views/include/taglib.jsp" %>
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport"
          content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
    <meta name="decorator" content="base"/>
    <link rel="stylesheet" href="${ctxPlugin}/lib/layuiAdmin/dist/layuiadmin/layui/css/layui.css" media="all">
    <link rel="stylesheet" href="${ctxPlugin}/lib/layuiAdmin/dist/layuiadmin/style/admin.css" media="all">
    <link rel="stylesheet" href="${ctxPlugin}/static/css/reset.css" media="all">
    <style>
        .layui-form-select dl{
            max-height:200px;
            width: 80%;
        }
        html {
            background-color: #fff;
        }
        .layui-table td, .layui-table th {
            text-align: center;
        }
    </style>
</head>
<body>
<div class="aaa">
    <div class="layui-form">
        <div class="layui-card-body over pt-20 pb-40 h-350" action="" id="detailSet">
            <div class="layui-col-xs12 mb-10 pr-30">

                <div class="layui-inline layui-col-xs4">
                    <label class="layui-form-label w-130"><i class="red">*</i>出库仓库：</label>
                    <div class="layui-input-block w-200">
                        <select name="warehouseId" lay-verify="required" id="warehouseId" lay-filter="warehouseId">
                            <option value="">请选择</option>
                            <c:forEach items="${warehouseList}" var="warehouse">
                                <option value="${warehouse.columns.id}">${warehouse.columns.name}</option>
                            </c:forEach>
                        </select>
                    </div>
                    <input type="text" class="layui-hide warehouseId">
                </div>
                <div class="layui-inline layui-col-xs12">
                    <label class="layui-form-label w-130">使用说明：</label>
                    <div class="layui-input-block w-200" >
                        <textarea name="remarks" class="layui-textarea"></textarea>
                    </div>
                </div>

            </div>


            <input type="hidden" name="details" lay-verify="details">
            <c:if test="${mode ne 'view'}">
                <div>
                    <input type="button" class="layui-btn layui-btn-sm" id="importPlan" value="批量导入"/>
                </div>
            </c:if>
            <div class="layui-col-xs12 mb-20 pr-30 mt-20">
                <table class="layui-table">
                    <thead>
                    <tr>
                        <th>序号</th>
                        <th>物料代码</th>
                        <th>物料类型</th>
                        <th>物料组</th>
                        <th>单位</th>
                        <th>物料描述</th>
                        <th>当前库存</th>
                        <th>使用数量</th>
                    </tr>
                    </thead>
                    <tbody id="materialTable">
                    <c:forEach items="${materials}" varStatus="vs" var="material">
                        <tr>
                            <td>${vs.count}</td>
                            <td>${material.columns.code}</td>
                            <td>${material.columns.name}</td>
                            <td>${material.columns.spec}</td>
                            <td>${material.columns.unit_name}</td>
                            <td>${material.columns.amount}</td>
                            <td>${material.columns.amount}</td>
                        </tr>
                    </c:forEach>
                    </tbody>
                </table>
            </div>
        </div>
        <c:if test="${readOnly ne '1'}">
            <div class="layui-form-item operate-footer" style="text-align: center;">
                <c:if test="${mode ne 'view'}">
                    <input type="button" lay-submit lay-filter="confirm" id="confirm" class="layui-btn " value="确认">
                </c:if>
                <button type="button" class="layui-btn layui-btn-primary " onclick="closeDiv();">取消</button>
            </div>
        </c:if>
    </div>
</div>

<script src="${ctxPlugin}/lib/layuiAdmin/dist/layuiadmin/layui/layui.js"></script>
<script type="text/javascript">
    //初始数据
    var $form;
    var form;
    var upload;
    var $;
    var imgs='';
    var myreg=/^[1][3,4,5,6,7,8,9][0-9]{9}$/;
    var type='${type}';
    layui.use(['form', 'table', 'upload', 'jquery'], function () {
        $ = layui.jquery;
        form = layui.form;
        upload = layui.upload;
        $form = $('form');





        // 监听盘点仓库下拉选
        form.on('select(warehouseId)', function (data) {
            var old = $('.warehouseId').val();
            var warehouseId = data.value;
            if (old.toString() !== warehouseId.toString()) {
                $('#materialTable').empty();
            }
            $('.warehouseId').val(warehouseId);
        });


        form.verify({
            details: function(){
                if($('#materialTable>tr').length === 0){
                    return "请导入物料信息";
                }
            }
        });

        $(document).on('mouseenter', '#materialTable td', function(){
            var that = this;
            $(that).attr('title', $(that).text());
        });

        window.importMaterial = function(data){

            var html = "";
            for(var i=0; i<data.materialList.length; i++){
                html += "<tr data-id="+data.materialList[i].materialId+">";
                html += '<td>' + (i+1) + '</td>';
                html += '<td>' + data.materialList[i].code + '</td>';
                html += '<td>' + data.materialList[i].type + '</td>';
                html += '<td>' + data.materialList[i].materialGroup + '</td>';
                html += '<td>' + data.materialList[i].unit + '</td>';
                html += '<td>' + data.materialList[i].description + '</td>';
                html += '<td>' + data.materialList[i].stocks + '</td>';
                html += '<td><input type="text" class="layui-input amount" value="' + data.materialList[i].amount + '"></td>';
                html += '</tr>';
            }

            $('#materialTable').empty().append(html);
        };




        $('#importPlan').click(function(){
            var warehouseId = $('select[name=warehouseId]').val();
            if (isBlank(warehouseId)) {
                layer.msg('请先选择出库仓库');
                return;
            }
            parent.layer.open({
                title: '导入物料',
                type: 2,
                area: ['550px', '300px'],
                content: '${ctx}/inventory/toImportMaterialForm?warehouseId=' + warehouseId
            });
        });

        var saveFlag = true;
        form.on('submit(confirm)', function(data){
            if(!saveFlag){
                return;
            }
            var order = {};

            order.warehouseId = data.field.warehouseId;
            order.remarks = data.field.remarks;


            var arr = [];
            var checkFlag = false;
            $('#materialTable>tr').each(function(i){
                var material = {};
                material.materialId = $(this).attr("data-id");
                var stock = $(this).find('td').eq(6).text();
                var amount = $(this).find('td').eq(7).find('.amount').val();
                if (!/^[0-9]+(.[0-9]{1,2})?$/.test(amount)) {
                    layer.msg("数量格式不正确", {icon:2});
                    checkFlag = true;
                    return;
                }
                if (parseFloat(amount).toFixed(2) <= 0.00) {
                    layer.msg('使用数量须大于0', {icon: 2});
                    checkFlag = true;
                    return;
                }
                if (Number(stock) < Number(amount)) {
                    layer.msg('第' + (i + 1) + '行使用数量大于当前库存', {icon: 2});
                    checkFlag = true;
                    return;
                }
                material.amount = amount;
                arr.push(material);
            });
            if (checkFlag) {
                return;
            }
            order.details = arr;
            console.log(order);
            saveFlag = false;
            $.ajax({
                url:'${ctx}/outStockOrder/saveOrder',
                method:'post',
                contentType: 'application/json',
                data:JSON.stringify(order),
                dataType:'JSON',
                success:function(res){
                    if(res.code=="200"){
                        parent.layer.msg("保存成功",{time:1000});
                        closeDiv();
                        parent.table.reload('test');
                    } else if(res.code=="501") {
                        layer.msg(res.errMsg,{time:1500},function (){
                            saveFlag = true;
                        });
                    } else if(res.code == '422'){
                        layer.msg(res.msg,{time:1500},function(){
                            saveFlag = true;
                        });
                    } else{
                        layer.msg("保存失败",{time:1000});
                        saveFlag = true;
                    }
                },
                complete: function(){

                }
            }) ;
        });



        $(document).on('click','.hx_del',function(){
            $(this).parent('li').remove();
        });

    })

    function  closeDiv() {
        var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
        parent.layer.close(index);
    }

    function isBlank(val) {
        if (val == null || val == '' || val == undefined) {
            return true;
        }
        return false;
    }

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