<%@ 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;
        }
        .hx_l{
            position: relative;
        }
        .hx_l>span{position: absolute; right: 10px; top: 5px}
        .hx_del{ font-size: 12px; color: #0e8ee7; position: relative; top: 4px; display: none}
        #attachFile>li{height: 26px}
        #attachFile>li:hover .hx_del{ display: inline-block}
        .hx_ts{
            font-size: 12px;
            color: red;
        }
        .layui-word-aux{
            padding: 7px 0 !important;
        }
        .totalAmount{
            color: #0099cc;
        }
        .totalDiff{
            color: #ff0000;
        }
        table tbody {
            display: block;
            overflow-y: auto;
            overflow-x: clip;
            max-height: 180px;
        }
        table thead, tbody tr {
            display: table;
            width: 100%;
            table-layout: fixed;
        }
        table thead {
            width: 100%
        }
        .load-icon{background: url('${ctxPlugin}/static/img/shili_img.png') center center no-repeat; width: 12px; height: 12px; display: inline-block; border-radius: 50%;
            vertical-align: text-bottom;transform: translate(0px, -1px);margin-right: 2px;}

        table tbody td div{
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }
        .layui-textarea{min-height: 80px}
    </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 ">
                        <select name="inventoryType" lay-verify="required" lay-filter="inventoryType">
                            <option value="">请选择</option>
                            <option value="1">平台仓</option>
                            <option value="2">代理商</option>
                        </select>
                    </div>
                    <input type="text" class="layui-hide inventoryType">
                </div>
                <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" lay-search>
                            <option value="">请选择</option>
                        </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 hx_l" >
                        <textarea name="remarks" class="layui-textarea"></textarea>
                    </div>
                </div>
                <div class="layui-col-xs12 layui-form-item mt-5">
                    <label class="layui-form-label">清单附件：
                        <%--<br/><a href="${commonStaticImgPath}/prohibit_delete/示例图/库单盘点表示例.png" style="font-size: 12px;color: red;margin-right: 5px;"><i class="load-icon"></i>下载示例图</a>--%>
                    </label>
                    <div class="layui-input-block">
                        <div id="imgsDiv"></div>
                        <div class="upload-container" id="uploader">
                            <img src="" alt="img placeholder" id="imgsAdd">
                        </div>
                    </div>

                </div>
            </div>


            <input type="hidden" name="details" lay-verify="details">
            <input type="hidden" name="img" lay-verify="img">
            <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>

                    </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 class="operate-footer" style="padding: 40px 0;">
            <div class="layui-inline layui-col-xs2">
                <label class="layui-form-label w-130">本次盘点数量：</label>
                <div class="layui-input-block "><div class="layui-form-mid layui-word-aux"><b class="totalAmount">0</b></div></div>
            </div>
            <div class="layui-inline layui-col-xs2">
                <label class="layui-form-label w-130">盘亏/盘盈：</label>
                <div class="layui-input-block "><div class="layui-form-mid layui-word-aux"><b class="totalDiff">0</b></div></div>
            </div>
            </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');

        //执行实例
        var uploadInst = upload.render({
            elem: '#uploader' //绑定元素
            , url: '${ctx}/common/uploadFile' //上传接口
            ,before: function(obj){
                //预读本地文件示例，不支持ie8
                obj.preview(function (index, file, result) {

                });
            }
            , done: function (res) {
                console.log(res.path);
                //上传完毕回调
                addImg(res.path);
            }
            , error: function () {
                //请求异常回调
            }
        });

        function addImg(data){
            $("#uploader").hide();
            var html = '<div class="bj-img imgSpan"><span class="layui-icon-close layui-icon" onclick="delImg(this)"></span>';
            html += '<img src="${commonStaticImgPath}'+data+'" height="700" width="1200"/>';
            html += '<input type="hidden" class="imgPicker" value="'+data+'" /> </div>';
            $("#imgsDiv").append(html);
        }

        window.delImg = function(that){
            $("#uploader").show();
            $(that).parent().remove();
        }

        // 监听盘点对象下拉选
        form.on('select(inventoryType)', function (data) {
            var old = $('.inventoryType').val();
            var inventoryType = data.value;
            if (parseInt(old) !== parseInt(inventoryType)) {
                $('#materialTable').empty();
                $('.totalAmount').text(0);
                $('.totalDiff').text(0);
            }
            $.ajaxSettings.async = false;
            $.post('${ctx}/warehouseSetting/findByType', {type: inventoryType}, function (result) {
                if (result.code === '200') {
                    var html = '<option value="">请选择</option>'
                    if (!isBlank(result.data)) {
                        for (var i = 0; i < result.data.length; i++) {
                            var selected = result.data.length == 1 ? 'selected' : '';
                            var warehouse = result.data[i];
                            html += '<option value="' + warehouse.id + '"' + selected + '>' + warehouse.name + '</option>';
                        }
                    }
                    $('#warehouseId').empty().append(html);
                    form.render('select');

                }
            });
            $.ajaxSettings.async = true;
            $('.inventoryType').val(data.value);
            var oldWarehouseId = $('.warehouseId').val();
            var currentWarehouseId = $('select[name=warehouseId]').val();
            if (oldWarehouseId.toString() !== currentWarehouseId.toString()) {
                $('#materialTable').empty();
                $('.totalAmount').text(0);
                $('.totalDiff').text(0);
            }
            $('.warehouseId').val(currentWarehouseId);
        });

        // 监听盘点仓库下拉选
        form.on('select(warehouseId)', function (data) {
            var old = $('.warehouseId').val();
            var warehouseId = data.value;
            if (old.toString() !== warehouseId.toString()) {
                $('#materialTable').empty();
                $('.totalAmount').text(0);
                $('.totalDiff').text(0);
            }
            $('.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 description;
            var html = "";
            for(var i=0; i<data.materialList.length; i++){
                description=data.materialList[i].description;
                if(description === 'undefined' || description==undefined){
                    description='';
                }
                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].unit + '</td>';
                html += '<td><div>' + description + '</div></td>';
                html += '<td>' + data.materialList[i].stocks + '</td>';
                html += '<td><input type="text" class="layui-input amount" value="' + data.materialList[i].amount + '"></td>';
                // html += '<td><input type="text" class="layui-input cost_price" value="' + data.materialList[i].costPrice + '"></td>';
            /*    html += '<td><input type="text" class="layui-input bdSalePrice" value="' + data.materialList[i].bdSalePrice + '"></td>';*/
                html += '</tr>';

            }

            $('#materialTable').empty().append(html);
            $('.totalAmount').text(data.totalAmount);
            if (data.totalDiff > 0) {
                $('.totalDiff').text("+"+data.totalDiff);
            }else {
                $('.totalDiff').text(data.totalDiff);
            }

        };

        $(document).on('change keyup', '.amount', function () {
            var val = $(this).val();
            if (!/^[0-9]+(.[0-9]{1,2})?$/.test(val)) {
                //layer.msg("数量必须是整数", {icon:2});
                return;
            }
            if (parseFloat(val).toFixed(2) < 0.00) {
                //layer.msg('数量不能小于0', {icon: 2});
                return;
            }
            var totalAmount = 0;
            var totalStocks = 0;
            $('#materialTable>tr').each(function(){
                var stocks = $(this).find('td').eq(5).text();
                var amount = $(this).find('td').eq(6).find('.amount').val();
                totalAmount = totalAmount + parseInt(amount);
                totalStocks = totalStocks + parseInt(stocks);
            });
            $('.totalAmount').text(totalAmount);
            var diff = totalAmount-totalStocks;
            if (diff > 0) {
                $('.totalDiff').text("+"+diff);
            } else {
                $('.totalDiff').text(diff);
            }

        });

        $('#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.inventoryType = data.field.inventoryType;
            order.warehouseId = data.field.warehouseId;
            order.remarks = data.field.remarks;
            order.img = $('.imgPicker').val();

            var arr = [];
            var checkFlag = false;
            $('#materialTable>tr').each(function(){
                var material = {};
                material.materialId = $(this).attr("data-id");
                var amount = $(this).find('td').eq(6).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;
                }

                material.amount = amount;
                arr.push(material);
            });
            if (checkFlag) {
                return;
            }
            order.details = arr;
            console.log(order);
            saveFlag = false;
            $.ajax({
                url:'${ctx}/inventory/saveInventOrder',
                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>
