| <!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"   type="hidden" name="id" th:value="${obj?.id}"> | 
|   | 
|         <div class="form-group"> | 
|             <label class="col-offset-1 col-sm-2 control-label">入库类型<span | 
|                     class="text-danger">*</span></label> | 
|             <div class="col-sm-3"> | 
|                 <select class="form-control autoFull" name="instoreType" | 
|                         id="instoreType" data-filed="name" data-value="name" | 
|                         th:data-url="@{/admin/dataDictionary/showDataDictionary}" | 
|                         data-param="{type:'入库类型'}" th:data-def="${obj?.instoreType}" | 
|                         datatype="*" nullmsg="入库类型不能为空"> | 
|                     <option value=''>--请选择入库类型--</option> | 
|                 </select> | 
|                 <div class="Validform_checktip"></div> | 
|             </div> | 
|             <label class="col-sm-2 control-label">创建时间<span | 
|                     class="text-danger">*</span></label> | 
|             <div class="col-sm-3"> | 
|                 <input autocomplete="off"   type="text" class="form-control datetimepicker" | 
|                        name="instoreDate" readonly="readonly" | 
|                        th:value="${#dates.format(obj==null?(new java.util.Date().getTime()):obj?.instoreDate ,'yyyy-MM-dd HH:mm:ss')}" | 
|                            datatype="*" nullmsg="入库日期不能为空" data-formatter="MGrid.getTime"> | 
|                 <div class="Validform_checktip"></div> | 
|             </div> | 
|         </div> | 
|   | 
|         <div class="form-group"> | 
|             <label class="col-sm-2 control-label">制单人</label> | 
|   | 
|             <div class="col-sm-3" th:if="${obj} eq null" > | 
|                     <input autocomplete="off"   type="text" th:value="${session.userInfo.suName}" name="makingmanName" class="form-control" readonly="readonly"> | 
|                 <input autocomplete="off"   type="hidden" th:value="${session.userInfo.suId}" name="makingmanId" id="makingmanId"> | 
|             </div> | 
|   | 
|             <div class="col-sm-3 " th:if="${obj} ne null " > | 
|                 <input autocomplete="off"   type="text" th:value="${obj?.makingmanName}" name="makingmanName" class="form-control " readonly="readonly"> | 
|                 <input autocomplete="off"   type="hidden" th:value="${obj?.makingmanId}" name="makingmanId"  id="makingmanId"> | 
|             </div> | 
|   | 
|         <label class="col-sm-2 control-label" th:if="${obj} ne null">审核人<span | 
|                 class="text-danger">*</span></label> | 
|         <div class="col-sm-3" th:if="${obj} ne null"> | 
| <!--            <select class="form-control autoFull" name="appmanId" id="appmanId"--> | 
| <!--                    data-filed="suName"--> | 
| <!--                    th:data-url="@{/admin/getShopStaffByRoleName?roleName=仓储主管}"--> | 
| <!--                    th:data-value="suId"--> | 
| <!--                    th:data-def="${obj?.appmanId}"--> | 
| <!--                    datatype="*" nullmsg="审核人不能为空">--> | 
| <!--                <option value=''>--请选择审核人--</option>--> | 
| <!--            </select>--> | 
| <!--            <div class="Validform_checktip"></div>--> | 
|   | 
|             <input autocomplete="off"   type="text" th:value="${obj?.appmanName}" name="appmanName" class="form-control " readonly="readonly"> | 
|             <input autocomplete="off"   type="hidden" th:value="${obj?.appmanId}" name="appmanId"  id="appmanId"> | 
|         </div> | 
| </div> | 
|   | 
| <div class="form-group"> | 
|     <label class="col-sm-2 control-label">往来单位<span | 
|             class="text-danger">*</span></label> | 
|     <div class="col-sm-3"> | 
|         <select class="form-control autoFull" name="supplierId" | 
|                 id="supplierId" data-filed="supplName" | 
|                 th:data-url="@{/admin/supplier/all}" th:data-def="${obj?.supplierId}" | 
|                 datatype="*" nullmsg="往来单位不能为空"> | 
|             <option value=''>--请选择往来单位--</option> | 
|         </select> | 
|         <div class="Validform_checktip"></div> | 
|     </div> | 
|   | 
|   | 
| </div> | 
|   | 
| <div class="form-group"> | 
|     <label class="col-sm-2 control-label">备注</label> | 
|     <div class="col-sm-3"> | 
|                 <textarea type="text" dataType="*1-500" ignore="ignore" | 
|                           class="form-control" name="remark" errormsg="备注不能超过500" th:text="${obj?.remark}"></textarea> | 
|         <div class="Validform_checktip"></div> | 
|     </div> | 
| </div> | 
| <div class="form-group"> | 
|     <label class="col-sm-2 control-label">入库仓库<span | 
|             class="text-danger">*</span></label> | 
|     <div class="col-sm-3"> | 
|         <select class="form-control autoFull" data-filed="name" | 
|                 name="storeId" dataType="*" errormsg="请选择入库仓库" | 
|                 th:data-url="@{/admin/warehouse/findSingleShopWarehouse}" th:data-def="${obj?.storeId}"> | 
|             <option value="">-- 请选择所属仓库--</option> | 
|         </select> | 
|     </div> | 
|   | 
|     <label class="col-sm-2 control-label">总价</label> | 
|     <div class="col-sm-3"> | 
|         <input autocomplete="off"   type="text" class="form-control" id="sumall" | 
|                readonly="readonly" th:value="${obj?.sumall}"> | 
|         <div class="Validform_checktip"></div> | 
|     </div> | 
| </div> | 
| <div class="form-group"> | 
|     <label class="col-sm-2 control-label">入库明细 <span | 
|             class="text-danger">*</span></label> | 
|     <div class="col-sm-3"> | 
|         <button class="btn btn-success btn-sm" onclick="openPruductList()" | 
|                 type="button">添加明细单 | 
|         </button> | 
|     </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">数量 <span class="text-danger">*</span></th> | 
|                 <th width="120">采购单价 <span class="text-danger">*</span></th> | 
|                 <th>总金额</th> | 
|                 <th>操作</th> | 
|             </tr> | 
|             </thead> | 
|             <tbody id="cpId"> | 
|   | 
|             </tbody> | 
|   | 
|         </table> | 
|     </div> | 
| </div> | 
|   | 
| <div class="form-group "> | 
|     <div class="col-sm-12 text-center fixed-button"> | 
|         <a href="javascript:;" onclick="myForm.submit()" | 
|            class="btn btn-success radius"><i class="fa fa-check"></i> 保存</a>     | 
|         <a class="btn btn-danger radius" href="javascript:;" | 
|            onclick="MTools.closeForm()"><i class="fa fa-close"></i> 关闭</a> | 
|     </div> | 
| </div> | 
| </form> | 
| </div> | 
| </body> | 
|   | 
|   | 
| <script type="text/javascript" th:src="@{/js/systools/MJsBase.js}"></script> | 
|   | 
| <script> | 
|     var readInitData=function(){}; | 
|   | 
| </script> | 
| <script th:if="${obj} ne null"  th:inline="javascript" > | 
|   | 
|     //初始化产品列表 | 
|     readInitData=function() { | 
|         /*<![CDATA[*/ | 
|         var projItems=/*[[${obj.instoreDetails}]]*/ | 
|         /*]]>*/ | 
|         for(var i =0; i<projItems.length; i++){ | 
|             var obj = new Object(); | 
|             var goods = new Object(); | 
|             var projItem=projItems[i]; | 
|             debugger | 
|             obj.goodsSortName = projItem.goods.goodsSortName; | 
|             obj.unit = projItem.goods.unit; | 
|             obj.name = projItem.goods.name; | 
|             obj.goodsNo = projItem.goods.goodsNo; | 
|             obj.id = projItem.goods.id; | 
|             obj.purchsePrice = projItem.price; | 
|             obj.sum =projItem.amount; | 
|             obj.totalMoney =projItem.amount; | 
|             obj.totalMoney = obj.totalMoney*projItem.price; | 
|             totalGoods[i] = obj; | 
|         }; | 
|     } | 
|   | 
|   | 
| </script> | 
|   | 
| <script th:inline="javascript"> | 
|     var goodsAttr = ''; | 
|     var totalGoods = []; | 
|     //初始化时间格式 | 
|   | 
|   | 
|     $(".datetimepicker").datetimepicker({ | 
|         format: 'yyyy-mm-dd hh:ii', | 
|         todayBtn: true, | 
|         autoclose: true, | 
|         startView: 2, | 
|         maxView: 3, | 
|         minView: 0 | 
|   | 
|     }) | 
|     //初始化select | 
|     MTools.autoFullSelect(); | 
|     //初始化数据 | 
|     readInitData(); | 
|     writeDate(); | 
|     var myForm = MForm.initForm({ | 
|         beforeSubmit: function () { | 
|             var bodyTrs = $("#cpId").find("tr"); | 
|             if (bodyTrs.length == 0) { | 
|                 layer.msg("请添加明细", {icon: 2}); | 
|                 return false; | 
|             } | 
|         }, | 
|         invokeUrl: basePath+"/admin/instore/addOrModify", | 
|         afterSubmit: function () { | 
|             parent.myGrid.serchData(); | 
|         }, | 
|     }); | 
|   | 
|   | 
|   | 
|   | 
|     //打开产品界面 | 
|     function openPruductList() { | 
|         //获取所选择 的产品属性,传递给选择页面 | 
|         goodsAttr = $("#instoreType").val(); | 
|         if (goodsAttr == '') { | 
|             layer.msg("请选择入库类型", {icon: 2}); | 
|             return false; | 
|         } | 
|         layer.open({ | 
|             type: 2, | 
|             title: "选择产品", | 
|             area: MUI.SIZE_M, | 
|             content: [basePath+'/admin/redirect/hive/products/select-products-list?goodsAttr=' + encodeURI(goodsAttr)] | 
|         }); | 
|     } | 
|   | 
|     //监听所选择的产品类型,切换类型则要清空原来的产品列表 | 
|     $("#instoreType").change(function () { | 
|         totalGoods = []; | 
|         $("#cpId").html(''); | 
|     }); | 
|   | 
|     //添加产品回调 | 
|     function callback(arr) { | 
|         console.log(arr); | 
|         removeDouble(arr); | 
|         writeDate(); | 
|     } | 
|   | 
|     //赋值或者去重复 | 
|     function removeDouble(arr) { | 
|         if (totalGoods == null) { | 
|             totalGoods = arr; | 
|         } else { | 
|             //去重 | 
|             for (var i = 0; i < arr.length; i++) { | 
|                 var isDouble = false; | 
|                 for (var j = 0; j < totalGoods.length; j++) { | 
|                     if (arr[i].id == totalGoods[j].id) { | 
|                         isDouble = true; | 
|                         break; | 
|                     } | 
|                 } | 
|                 //如果不重复 | 
|                 if (!isDouble) { | 
|                     totalGoods[totalGoods.length] = arr[i]; | 
|                 } | 
|             } | 
|         } | 
|     } | 
|   | 
|     //删除选中的元素 | 
|     function delSelectItem(node, id) { | 
|         //根据列表的id找到元素相应下表的元素 | 
|         for (var i = 0; i < totalGoods.length; i++) { | 
|             if (totalGoods[i].id == id) { | 
|                 totalGoods.splice(i, 1); | 
|                 break; | 
|   | 
|             } | 
|         } | 
|         //移除tr | 
|         $(node).closest('tr').remove(); | 
|         $("tbody").find("tr").each(function (i) { | 
|             $(this).find("td").eq(0).html(i + 1); | 
|         }); | 
|     } | 
|   | 
|     //填写数据到html | 
|     function writeDate() { | 
|         var html = ""; | 
|         for (var i = 0; i < totalGoods.length; i++) { | 
|             if (!totalGoods[i].sum) { | 
|                 totalGoods[i].sum = ""; | 
|             } | 
|             if (!totalGoods[i].purchsePrice) { | 
|                 totalGoods[i].purchsePrice = ""; | 
|             } | 
|             if (totalGoods[i].totalMoney == null) { | 
|                 totalGoods[i].totalMoney = "0"; | 
|             } | 
|             html += '<tr>' | 
|                 + '<td>' + (i + 1) + '</td>' | 
|                 + '<td>' + totalGoods[i].code + '</td>' | 
|                 + '<td>' + totalGoods[i].name + '<input autocomplete="off"   type="hidden" name="instoreDetails[' + i + '].skuId" value="' + totalGoods[i].id + '"></td>' | 
|                 + '<td>' + totalGoods[i].goodsSortName + '</td>' | 
|                 + '<td>' + totalGoods[i].unit + '</td>' | 
|                 + '<td><input autocomplete="off"   id="amount' + i + '" name="instoreDetails[' + i + '].amount" type="text" onblur="calculateTotalPrice(' + i + ')" dataType="n" nullmsg="请填写数量" errormsg="请填写数字" class="form-control moeny" value="' + totalGoods[i].sum + '"><div class="Validform_checktip"></div></td>' | 
|                 + '<td><input autocomplete="off"   id="price' + i + '" name="instoreDetails[' + i + '].price" type="text" onblur="calculateTotalPrice(' + i + ')" dataType="price" nullmsg="请填写成本价" errormsg="请填写数字" class="form-control moeny" value="' + totalGoods[i].purchsePrice + '"><div class="Validform_checktip"></div></td>' | 
|                 + '<td id="sum' + i + '">' + totalGoods[i].totalMoney + '</td>' | 
|                 + '<td class="center"><a style="text-decoration: none" class="fa fa-trash" onClick="delSelectItem(this,' + totalGoods[i].id + ')"  href="javascript:;" title="删除"></a></td>' | 
|                 + '</tr>'; | 
|         } | 
|         $("#cpId").html(html); | 
|     } | 
|   | 
|     //自动计算总价 | 
|     function calculateTotalPrice(i) { | 
|         var totalMoney = Number(0); | 
|         if ($("#cpId").html() == '') { | 
|             layer.alert('请先添加明细单', {icon: 5}, function (index) { | 
|                 layer.close(index); | 
|             }); | 
|             return false; | 
|         } | 
|         $("#cpId").find("tr").each(function (i) { | 
|   | 
|             var p = Number($(this).find("input").eq(1).val()); | 
|             var n = Number($(this).find("input").eq(2).val()); | 
|             if (p != '' && n != '') { | 
|                 totalMoney = totalMoney+(n*p); | 
|             } | 
|         }); | 
|         $("#sumall").val(totalMoney); | 
|         if ($("#amount" + i).val() != '' && $("#price" + i).val() != '') { | 
|             var n = Number($("#amount" + i).val()); | 
|             var p = Number($("#price" + i).val()); | 
|             $("#sum" + i).text(n*p); | 
|         } | 
|   | 
|     } | 
|   | 
| </script> | 
| </body> | 
| </html> |