<!DOCTYPE HTML> 
 | 
<html xmlns:th="http://www.thymeleaf.org"> 
 | 
<head> 
 | 
    <meta charset="utf-8"> 
 | 
    <META HTTP-EQUIV="Pragma" CONTENT="no-cache"> 
 | 
    <meta name="renderer" content="webkit|ie-comp|ie-stand"> 
 | 
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 
 | 
    <meta name="viewport" 
 | 
          content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> 
 | 
    <meta http-equiv="Cache-Control" content="no-siteapp" /> 
 | 
    <!-- 本框架基本脚本和样式 --> 
 | 
    <script type="text/javascript" 
 | 
            th:src="@{/js/plugin/jquery-2.1.4.min.js}"></script> 
 | 
    <script type="text/javascript" th:src="@{/js/systools/MBase.js}"></script> 
 | 
</head> 
 | 
<body> 
 | 
<div class="ibox-content"> 
 | 
    <form class="form-horizontal" id="dataform" 
 | 
          onsubmit="javascripr:return false;"> 
 | 
  
 | 
            <input autocomplete="off"   th:if="${obj ne null }"  type="hidden" name="id" th:value="${obj?.id }"> 
 | 
  
 | 
        <div class="form-group"> 
 | 
            <label class="col-offset-1 col-sm-2 control-label">调拨类型</label> 
 | 
            <div class="col-sm-3"> 
 | 
                <p class="form-control-static" th:text="${obj?.allottedType}"></p> 
 | 
            </div> 
 | 
  
 | 
            <label class="col-sm-2 control-label">调拨日期</label> 
 | 
            <div class="col-sm-3"> 
 | 
                <p class="form-control-static" th:text="${#dates.format(obj.allottedDate, 'yyyy-MM-dd')}"> 
 | 
  
 | 
                </p> 
 | 
            </div> 
 | 
        </div> 
 | 
  
 | 
        <div class="form-group"> 
 | 
            <label class="col-sm-2 control-label">制单人</label> 
 | 
            <div class="col-sm-3"> 
 | 
                    <p   class="form-control-static"  th:text="${obj?.makingManName}"></p> 
 | 
                <div class="Validform_checktip"></div> 
 | 
            </div> 
 | 
  
 | 
            <label class="col-sm-2 control-label">审核人</label> 
 | 
            <div class="col-sm-3"> 
 | 
                <p class="form-control-static" th:text="${obj?.appManName}"></p> 
 | 
            </div> 
 | 
        </div> 
 | 
  
 | 
        <div class="form-group"> 
 | 
            <label class="col-sm-2 control-label">调入仓库</label> 
 | 
            <!-- 调入仓库是本店   TODO============= --> 
 | 
            <div class="col-sm-3"> 
 | 
                <p class="form-control-static" th:text="${obj?.allottedInstoreName}" ></p> 
 | 
            </div> 
 | 
            <label class="col-sm-2 control-label">调出仓库</label> 
 | 
            <div class="col-sm-3"> 
 | 
                <p class="form-control-static" th:text="${obj?.allottedOutstoreName }"></p> 
 | 
                <input autocomplete="off"   type="hidden" class="form-control autoFull" 
 | 
                       name="allottedOutstoreId" th:value="${obj.allottedOutstoreId}"> 
 | 
            </div> 
 | 
        </div> 
 | 
  
 | 
        <div class="form-group"> 
 | 
            <label class="col-sm-2 control-label">备注</label> 
 | 
            <span class="col-sm-3 form-control-static" th:text="${obj?.allottedRemark}"></span> 
 | 
  
 | 
        </div> 
 | 
        <div class="form-group"> 
 | 
  
 | 
            <label class="col-sm-2 control-label">调拨金额</label> 
 | 
            <div class="col-sm-3"> 
 | 
                <input autocomplete="off"   type="text" readonly="readonly" th:value="${obj.amountPrice}" 
 | 
                       class="form-control" id="amountPrice" name="amountPrice"></input> 
 | 
            </div> 
 | 
            <div th:if="${obj.checkStatus eq '待收货' or obj.checkStatus eq '已完成'  }"> 
 | 
                <label class="col-sm-2 control-label">收货金额</label> 
 | 
                <div class="col-sm-3"> 
 | 
                    <input autocomplete="off"   type="text" readonly="readonly" th:value="${obj.receivedPrice}" 
 | 
                           class="form-control" id="receivedPrice" name="receivedPrice"></input> 
 | 
                </div> 
 | 
            </div> 
 | 
        </div> 
 | 
  
 | 
        <div class="form-group"> 
 | 
            <div class="col-sm-3 col-md-offset-1"> 
 | 
                <span style="font-size: 14px; font-weight: bold;">调拨明细 </span> 
 | 
            </div> 
 | 
        </div> 
 | 
        <div class="form-group"> 
 | 
            <div class="col-sm-8 col-md-offset-2"> 
 | 
                <table class="table table-striped table-hover table-bordered" 
 | 
                       id="mgrid"> 
 | 
                    <thead> 
 | 
                    <tr> 
 | 
                        <th>序号</th> 
 | 
                        <th>产品编号</th> 
 | 
                        <th>产品名称</th> 
 | 
                        <th>产品类型</th> 
 | 
                        <th>单位</th> 
 | 
                        <th width="120">申请调拨数量</th> 
 | 
                        <th width="120">实际调拨数量</th> 
 | 
                        <th width="120">调拨单价</th> 
 | 
                        <th width="120">调拨金额</th> 
 | 
                        <th  th:if="${obj.checkStatus eq '待收货' or obj.checkStatus eq '已完成'  }" width="120">实际收货数量</th> 
 | 
                        <th th:if="${obj.checkStatus eq '待收货' or obj.checkStatus eq '已完成'  }"  width="120">收货金额</th> 
 | 
                        <th width="120">库存量</th> 
 | 
                    </tr> 
 | 
                    </thead> 
 | 
                    <tbody id="cpId"> 
 | 
  
 | 
                    </tbody> 
 | 
  
 | 
                </table> 
 | 
            </div> 
 | 
        </div> 
 | 
        <div class="form-group "> 
 | 
            <div class="col-sm-12 text-center"> 
 | 
                <div th:if="${(obj.checkStatus eq '待审核')  && (obj.appManId eq session.userInfo.suId) }"> 
 | 
                    <a   href="javascript:;" onclick="myForm.submit()" 
 | 
                       class="btn btn-info radius">确认审核</a>     
 | 
                    <a href="javascript:;" onclick="noCheck('addcheckremark')" 
 | 
                       class="btn btn-success radius">不予审核</a> 
 | 
                </div> 
 | 
                    <a th:if="${(obj.checkStatus eq '审核通过')  && (obj.appManId eq session.userInfo.suId) }" href="javascript:;" onclick="toDo('sendGoods')" 
 | 
                       class="btn btn-success radius">发货</a> 
 | 
                    <a  th:if="${(obj.checkStatus eq '待收货')}" href="javascript:;" onclick="reject()" 
 | 
                       class="btn btn-success radius">确认收货</a> 
 | 
                <button onclick="MTools.closeForm()" class="btn btn-danger radius">取消</button> 
 | 
            </div> 
 | 
        </div> 
 | 
    </form> 
 | 
</div> 
 | 
</body> 
 | 
  
 | 
  
 | 
<script type="text/javascript" th:src="@{/js/systools/MJsBase.js}"></script> 
 | 
<script  th:inline="javascript"> 
 | 
    var totalGoods = []; 
 | 
    readInitData(); 
 | 
    writeDate(); 
 | 
    /*<![CDATA[*/ 
 | 
    var checkStatus =/*[[${obj.checkStatus}]]*/; 
 | 
    /*]]>*/ 
 | 
  
 | 
    if (checkStatus == '待收货') { 
 | 
        var url = basePath+"/admin/allotted/rejectGoods"; 
 | 
    } else { 
 | 
        var url = basePath+"/admin/allotted/check"; 
 | 
    } 
 | 
    var myForm = MForm.initForm({ 
 | 
        invokeUrl : url, 
 | 
        afterSubmit : function() { 
 | 
            parent.myGrid.serchData(); 
 | 
        }, 
 | 
    }); 
 | 
    var length; 
 | 
    function reject() { 
 | 
        var t = true; 
 | 
        for (var i = 0; i < length; i++) { 
 | 
            if ($("#receiveTotal" + i).val() < totalGoods[i].realTotal) { 
 | 
                layer.confirm('实际收货数少于发货数量,是否继续操作?', { 
 | 
                    btn : [ '确定', '取消' ], //按钮 
 | 
                    shade : false 
 | 
                    //不显示遮罩 
 | 
                }, function() { 
 | 
                    myForm.submit(); 
 | 
                }); 
 | 
                return; 
 | 
            } 
 | 
        } 
 | 
        myForm.submit(); 
 | 
  
 | 
    } 
 | 
  
 | 
  
 | 
    //初始化产品列表 
 | 
    function readInitData(){ 
 | 
  
 | 
        /*<![CDATA[*/ 
 | 
        var projItemsL=/*[[${obj?.sysAllotDetails}]]*/; 
 | 
  
 | 
        var allottedOutstoreId=/*[[${obj?.allottedOutstoreId}]]*/; 
 | 
        /*]]>*/ 
 | 
  
 | 
        if(projItemsL){ 
 | 
  
 | 
            for(var i =0; i<projItemsL.length; i++) { 
 | 
  
 | 
                var obj = new Object(); 
 | 
                //库存sku信息 
 | 
                var goods = {}; 
 | 
                var projItems=projItemsL[i]; 
 | 
                goods.id = projItems.goods.id; 
 | 
                goods.name = projItems.goods.name; 
 | 
               goods.unit = projItems.goods.unit; 
 | 
               goods.goodsSortName = projItems.goods.goodsSortName; 
 | 
               goods.goodsNo = projItems.goods.goodsNo; 
 | 
                //调拨单本身的信息 
 | 
                obj.detailId = projItems.id; 
 | 
                //调拨单价 
 | 
                obj.wholesale = projItems.wholesale; 
 | 
                //调拨申请数量 
 | 
                obj.appTotal = projItems.appTotal; 
 | 
                //出库仓id 
 | 
                obj.storeId = allottedOutstoreId; 
 | 
                //库存量 
 | 
                obj.storeTotal = projItems.storeInfo.storeTotal; 
 | 
                //实际库存量 
 | 
                obj.realTotal = projItems.realTotal; 
 | 
                obj.batch = projItems.storeInfo.batch; 
 | 
                obj.goods = goods; 
 | 
                console.log(obj); 
 | 
                totalGoods[i] = obj; 
 | 
            } 
 | 
        } 
 | 
  
 | 
  
 | 
    } 
 | 
  
 | 
  
 | 
    //填写数据到html 
 | 
    function writeDate() { 
 | 
  
 | 
        /*<![CDATA[*/ 
 | 
        var status=/*[[${obj.checkStatus}]]*/ 
 | 
        /*]]>*/ 
 | 
  
 | 
  
 | 
        var html = ""; 
 | 
        length = totalGoods.length; 
 | 
        for (var i = 0; i < totalGoods.length; i++) { 
 | 
            if (!totalGoods[i].realTotal) { 
 | 
                totalGoods[i].realTotal = ""; 
 | 
            } 
 | 
            if (status == "待收货") { 
 | 
                html += '<tr>' + '<td>' + (i + 1) + '<input autocomplete="off"   type="hidden" name="sysAllotDetails['+i+'].id" value="'+totalGoods[i].detailId+'"></td>' 
 | 
                    + '<td>'+ totalGoods[i].goods.goodsNo+ '</td>' 
 | 
                    + '<td>' + totalGoods[i].goods.name + '<input autocomplete="off"   type="hidden" name="sysAllotDetails['+i+'].skuId" value="'+totalGoods[i].goods.id+'"></td>' 
 | 
                    + '<td>'+ totalGoods[i].goods.goodsSortName+ '</td>' 
 | 
                    + '<td>'+ totalGoods[i].goods.unit+ '</td>' 
 | 
                    + '<td>'+ totalGoods[i].appTotal + '</td>' 
 | 
                    + '<td>' + totalGoods[i].realTotal + '</td>' 
 | 
                    + '<td>' + totalGoods[i].wholesale + '</td>' 
 | 
                    + '<td >'+ (totalGoods[i].wholesale * totalGoods[i].appTotal).toFixed(2) + '</td>' 
 | 
                    + '<td><input autocomplete="off"   id="receiveTotal'+i+'" name="sysAllotDetails['+i+'].receiveTotal" value="'+totalGoods[i].realTotal+'"  onchange="changePriceSh(this)"  data-max="'+totalGoods[i].realTotal+'" type="text" dataType="n" nullmsg="请填写数字" errormsg="请填写数字" class="form-control"><div class="Validform_checktip"></div></td>' 
 | 
                    + '<td class="total">'+ (totalGoods[i].wholesale * totalGoods[i].realTotal).toFixed(2) + '</td>' 
 | 
                    + '<td>' + totalGoods[i].storeTotal + '</td>' 
 | 
  
 | 
                    + '</tr>'; 
 | 
  
 | 
            } else if (status == '待审核') { 
 | 
                html += '<tr>' + '<td>' 
 | 
                    + (i + 1) 
 | 
                    + '<input autocomplete="off"   type="hidden" name="sysAllotDetails['+i+'].id" value="'+totalGoods[i].detailId+'"></td>' 
 | 
                    + '<td>'+ totalGoods[i].goods.goodsNo + '</td>' 
 | 
                    + '<td>'+ totalGoods[i].goods.name  + '<input autocomplete="off"   type="hidden" name="sysAllotDetails['+i+'].skuId" value="'+totalGoods[i].goods.id+'"></td>' 
 | 
                    + '<td>'+ totalGoods[i].goods.goodsSortName + '</td>' 
 | 
                    + '<td>'+ totalGoods[i].goods.unit + '</td>' 
 | 
                    + '<td>' 
 | 
                    + totalGoods[i].appTotal 
 | 
                    + '</td>' 
 | 
                    + '<td><input autocomplete="off"   name="sysAllotDetails[' 
 | 
                    + i 
 | 
                    + '].realTotal" value="' 
 | 
                    + totalGoods[i].appTotal 
 | 
                    + '"  onchange="changePrice(this)"  data-max="'+totalGoods[i].appTotal+'"    type="text" dataType="n" nullmsg="请填写数字" errormsg="请填写数字" class="form-control"><div class="Validform_checktip"></div></td>' 
 | 
                    + '<td>' 
 | 
                    + totalGoods[i].wholesale 
 | 
                    + '</td>' 
 | 
                    + '<td class="total">' 
 | 
                    + (totalGoods[i].wholesale * totalGoods[i].appTotal) 
 | 
                        .toFixed(2) + '</td>' + '<td>' 
 | 
                    + totalGoods[i].storeTotal + '</td>' + '</tr>'; 
 | 
  
 | 
            } else if (status == "审核通过") { 
 | 
                html += '<tr>' 
 | 
                    + '<td>' 
 | 
                    + (i + 1) 
 | 
                    + '<input autocomplete="off"   type="hidden" name="sysAllotDetails['+i+'].id" value="'+totalGoods[i].detailId+'"></td>' 
 | 
                    + '<td>'+ totalGoods[i].goods.goodsNo + '</td>' 
 | 
                    + '<td>'+ totalGoods[i].goods.name  + '<input autocomplete="off"   type="hidden" name="sysAllotDetails['+i+'].skuId" value="'+totalGoods[i].goods.id+'"></td>' 
 | 
                    + '<td>'+ totalGoods[i].goods.goodsSortName + '</td>' 
 | 
                    + '<td>'+ totalGoods[i].goods.unit + '</td>' 
 | 
                    + '<td>' + totalGoods[i].appTotal + '</td>' + '<td>' 
 | 
                    + totalGoods[i].realTotal + '</td>' 
 | 
                    + '<td>' 
 | 
                    + totalGoods[i].wholesale 
 | 
                    + '</td>' 
 | 
                    + '<td class="total">'+ (totalGoods[i].wholesale * totalGoods[i].appTotal).toFixed(2) + '</td>' 
 | 
                    + '<td>'+ totalGoods[i].storeTotal + '</td>' 
 | 
                    + '</tr>'; 
 | 
            } else { 
 | 
                html += '<tr>' + '<td>' 
 | 
                    + (i + 1) 
 | 
                    + '<input autocomplete="off"   type="hidden" name="sysAllotDetails['+i+'].id" value="'+totalGoods[i].detailId+'"></td>' 
 | 
                    + '<td>'+ totalGoods[i].goods.goodsNo + '</td>' 
 | 
                    + '<td>'+ totalGoods[i].goods.name  + '<input autocomplete="off"   type="hidden" name="sysAllotDetails['+i+'].skuId" value="'+totalGoods[i].goods.id+'"></td>' 
 | 
                    + '<td>'+ totalGoods[i].goods.goodsSortName + '</td>' 
 | 
                    + '<td>'+ totalGoods[i].goods.unit + '</td>' 
 | 
                    + '<td>' + totalGoods[i].appTotal + '</td>' 
 | 
                    + '<td>'+ totalGoods[i].realTotal + '</td>' 
 | 
                    + '<td>' + totalGoods[i].wholesale + '</td>' 
 | 
                    + '<td >'+ (totalGoods[i].wholesale * totalGoods[i].realTotal).toFixed(2) + '</td>' 
 | 
                    + '<td>'+ totalGoods[i].receiveTotal + '</td>' 
 | 
                    + '<td class="total">'+ (totalGoods[i].wholesale * totalGoods[i].receiveTotal).toFixed(2) + '</td>' 
 | 
                    + '<td>' + totalGoods[i].storeTotal + '</td>' + '</tr>'; 
 | 
            } 
 | 
  
 | 
  
 | 
  
 | 
        } 
 | 
        $("#cpId").html(html); 
 | 
  
 | 
  
 | 
  
 | 
        //初始化收货金额 
 | 
        if (status == "待收货") { 
 | 
            //计算总金额 
 | 
            var sum = 0; 
 | 
            $(".total").each(function() { 
 | 
                sum += parseFloat(this.innerHTML); 
 | 
            }); 
 | 
            $("#receivedPrice").val(sum.toFixed(2)); 
 | 
        } 
 | 
  
 | 
  
 | 
  
 | 
    } 
 | 
  
 | 
  
 | 
  
 | 
    //收货计算价格 
 | 
    function changePriceSh(node) { 
 | 
        console.log("changePriceSh"); 
 | 
        var $node=$(node); 
 | 
        var maxValue=$(node).data("max"); 
 | 
        var $tr = $node.closest("tr"); 
 | 
        var tds = $tr.find("td"); 
 | 
        var price = tds.eq(6).html(); 
 | 
        var total = tds.eq(8).find("input").val(); 
 | 
  
 | 
        total=total>maxValue?maxValue:total; 
 | 
        $node.val(parseInt(total)); 
 | 
  
 | 
        tds.eq(9).html((price * total).toFixed(2)); 
 | 
        //计算总金额 
 | 
        var sum = 0; 
 | 
        $(".total").each(function() { 
 | 
            sum += parseFloat(this.innerHTML); 
 | 
        }); 
 | 
        $("#receivedPrice").val(sum.toFixed(2)); 
 | 
    } 
 | 
  
 | 
    function changePrice(node) { 
 | 
        console.log("changePrice"); 
 | 
        var $node=$(node); 
 | 
        var maxValue=$(node).data("max"); 
 | 
  
 | 
        var $tr = $(node).closest("tr"); 
 | 
        var tds = $tr.find("td"); 
 | 
        var price = tds.eq(6).html(); 
 | 
        var total = tds.eq(5).find("input").val(); 
 | 
  
 | 
        total=total>maxValue?maxValue:total; 
 | 
        $node.val(parseInt(total)); 
 | 
  
 | 
        tds.eq(7).html((price * total).toFixed(2)); 
 | 
        //计算总金额 
 | 
        var sum = 0; 
 | 
        $(".total").each(function() { 
 | 
            sum += parseFloat(this.innerHTML); 
 | 
        }); 
 | 
        $("#amountPrice").val(sum.toFixed(2)); 
 | 
  
 | 
    } 
 | 
  
 | 
    function toDo(url) { 
 | 
        var id=[[${obj.id}]] 
 | 
        $.AjaxProxy({ 
 | 
            a : false, 
 | 
            c : false, 
 | 
            p : { 
 | 
                id : id 
 | 
            } 
 | 
        }).invoke(basePath+'/admin/allotted/' + url, function(loj) { 
 | 
            if (layer.alert) { 
 | 
                // 执行成功弹出提示层 
 | 
                layer.alert(loj.getValue("info"), { 
 | 
                    icon : 1 
 | 
                }, function(inindex) { 
 | 
                    layer.closeAll(); 
 | 
                    parent.myGrid.serchData(); 
 | 
                    MTools.closeForm(); 
 | 
                }); 
 | 
                return; 
 | 
            } 
 | 
        }); 
 | 
    } 
 | 
  
 | 
    function noCheck(url) { 
 | 
        var id = $ 
 | 
        { 
 | 
            obj.id 
 | 
        } 
 | 
        ; 
 | 
        layer.prompt({ 
 | 
            formType : 2, 
 | 
            title : '审核意见' 
 | 
        }, function(value, index, elem) { 
 | 
            $.AjaxProxy({ 
 | 
                a : false, 
 | 
                c : false, 
 | 
                p : { 
 | 
                    id : id, 
 | 
                    appRemark : value, 
 | 
                    appStatus : 3 
 | 
                } 
 | 
            }).invoke(basePath+'/admin/allotted/' + url, function(loj) { 
 | 
                if (loj.attr("result").status == '200') { 
 | 
                    layer.msg('备注成功', { 
 | 
                        icon : 1 
 | 
                    }, function() { 
 | 
                        parent.myGrid.serchData(); 
 | 
                        MTools.closeForm(); 
 | 
                    }); 
 | 
  
 | 
                } 
 | 
            }); 
 | 
  
 | 
        }); 
 | 
  
 | 
    } 
 | 
</script> 
 | 
</body> 
 | 
</html> 
 |