DESKTOP-9BNTV8O
2024-12-30 2bcd2e34b928daf86ecb1c478a7b8a54fd698c7e
HTML/views/StatisticalReport/BoxInfor.html
@@ -32,7 +32,7 @@
         <div class="layui-card">
            <div class="layui-form layui-card-header layuiadmin-card-header-auto" id="top">
               <div class="layui-form-item" style="margin-bottom: 0px;">
                  <div class="layui-inline zongdan" >
                  <!-- <div class="layui-inline zongdan" >
                     <label class="layui-form-label" style="width: 60px;">物料编码</label>
                     <div class="layui-input-inline" style="width: 170px; margin-right: 0px;">
                        <input type="text" id="SkuNo"  name="SkuNo" placeholder="物料编码" autocomplete="off" class="layui-input">
@@ -43,11 +43,33 @@
                     <div class="layui-input-inline" style="width: 170px; margin-right: 0px;">
                        <input type="text" id="SkuName"  name="SkuName" placeholder="物料名称" autocomplete="off" class="layui-input">
                     </div>
                  </div> -->
                  <div class="layui-inline">
                     <label class="layui-form-label" style="width: 60px;">所属仓库</label>
                     <div class="layui-input-inline">
                        <select name="WareHouseNo" id="WareHouseNo" lay-filter="getWareHouseNo" lay-search>
                           <option value=""></option>
                        </select>
                     </div>
                  </div>
                  <div class="layui-inline">
                     <label class="layui-form-label" style="width: 60px;">所属区域</label>
                     <div class="layui-input-inline">
                        <select name="AreaNo" id="AreaNo" lay-filter="getAreaNo" lay-search>
                           <option value=""></option>
                        </select>
                     </div>
                  </div>
                  <div class="layui-inline zongdan" >
                     <label class="layui-form-label" style="width: 60px;">托盘号</label>
                     <label class="layui-form-label" style="width: 60px;">储位地址</label>
                     <div class="layui-input-inline" style="width: 170px; margin-right: 0px;">
                        <input type="text" id="PalletNo"  name="PalletNo" placeholder="托盘号" autocomplete="off" class="layui-input">
                        <input type="text" id="LocatNo"  name="LocatNo" placeholder="储位地址" autocomplete="off" class="layui-input">
                     </div>
                  </div>
                  <div class="layui-inline zongdan" >
                     <label class="layui-form-label" style="width: 60px;">桶号</label>
                     <div class="layui-input-inline" style="width: 170px; margin-right: 0px;">
                        <input type="text" id="PalletNo"  name="PalletNo" placeholder="桶号" autocomplete="off" class="layui-input">
                     </div>
                  </div>
                  <!-- <div class="layui-inline mingxi">
@@ -124,19 +146,19 @@
                        </select>
                     </div>
                  </div> -->
                  <div class="layui-inline zhijian">
                  <!-- <div class="layui-inline zhijian">
                     <label class="layui-form-label" style="width: 60px;">质检状态</label>
                     <div class="layui-input-inline" style="width: 170px; margin-right: 0px;">
                        <select name="InspectStatus" id="InspectStatus" lay-filter="InspectStatus"
                           lay-search>
                           <option value=""></option>
                           <option value="0">待质检</option><!-- 待检验 -->
                           <option value="1">检验合格</option><!-- 合格品 -->
                           <option value="2">不合格</option><!-- 不合格 -->
                           <option value="3">放置期</option><!-- 不合格 -->
                           <option value="0">待质检</option>
                           <option value="1">检验合格</option>
                           <option value="2">不合格</option>
                           <option value="3">放置期</option>
                        </select>
                     </div>
                  </div>
                  </div> -->
                  <!-- <div class="layui-inline zhijian">
                     <label class="layui-form-label" style="width: 60px;">开始时间</label>
@@ -157,10 +179,10 @@
                     <button class="layui-btn layui-btn-sm layuiadmin-btn-list" lay-submit lay-filter="LAY-app-contlist-search">
                        <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>搜索
                     </button>
                     <button class="layui-btn layui-btn-sm layuiadmin-btn-list" lay-submit
                     <!-- <button class="layui-btn layui-btn-sm layuiadmin-btn-list" lay-submit
                        lay-filter="daochu">
                        <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>导出
                     </button>
                     </button>  -->
                  </div>
               </div>
            </div>
@@ -190,18 +212,56 @@
                        {{#  } else if(d.BitPalletMark == '1') { }}
                            <p>是</p>
                        {{# } }}
                  <script type="text/html" id="InspectPalletStatus">
                     {{#  if(d.PalletStatus=='0'){ }}
                        <p>净桶</p>
                     {{#  } else if(d.PalletStatus == '1') { }}
                        <p>预混</p>
                     {{# } else if(d.PalletStatus == '2') { }}
                        <p>半成品</p>
                     {{# } else if(d.PalletStatus == '3') { }}
                        <p>脏桶</p>
                     {{# }  }}
                  </script>
                    </script>
               <script type="text/html" id="InspectPalletStatus">
                  {{# function GetBtn11(d){
                     var html = ``;
                     if(d.PalletStatus=='0'){
                        html = `净桶`;
                     } else if(d.PalletStatus=='1') {
                        html = `预混`;
                     } else if(d.PalletStatus=='2') {
                        html = `半成品`;
                     }else if(d.PalletStatus=='3') {
                        html = `脏桶`;
                     }
                     return html;
                  }
               }}
               {{ GetBtn11(d) }}
               </script>
               <script type="text/html" id="InspectStatus1">
                        {{#  if(d.InspectStatus == '0') { }}
                            <p>待检验</p>
                        {{#  } else if(d.InspectStatus == '1'){ }}
                            <p>检验合格</p>
                        {{#  } else if(d.InspectStatus == '2'){ }}
                            <p>不合格</p>
                        {{#  } else if(d.InspectStatus == '4') { }}
                            <p>放置期</p>
                        {{#  } }}
                    </script>
               <script type="text/html" id="TempletStatus">
                        {{#  if(d.Status=='0'){ }}
                     <button class="layui-btn layui-btn-radius layui-btn-danger layui-btn-xs">待分配</button>
                  {{#  } else if(d.Status == '1') { }}
                     <button class="layui-btn layui-btn-radius layui-btn-xs">部分分配</button>
                  {{#  } else if(d.Status == '2') { }}
                     <button class="layui-btn layui-btn-radius layui-btn-xs">已分配</button>
                  {{#  } else if(d.Status == '3') { }}
                     <button class="layui-btn layui-btn-radius layui-btn-xs">盘点锁定</button>
                  {{#  } else if(d.Status == '4') { }}
                     <button class="layui-btn layui-btn-radius layui-btn-xs">移库锁定</button>
                  {{#  } else if(d.Status == '5') { }}
                     <button class="layui-btn layui-btn-radius layui-btn-xs layui-btn-danger">异常锁定</button>
                  {{#  } }}
                    </script>
               <script type="text/html" id="toolbarDemo">
                  <!-- <button class="layui-btn layuiadmin-btn-list layui-btn-sm  addClass" lay-event="add">
                     <i class="layui-icon">&#xe654;</i>添加
                  </button> -->
               </script>
            </div>
         </div>
      </div>
@@ -331,11 +391,11 @@
            var TotalColsArr = [[
               {field: '',title: '序号',type:'numbers',align: 'center',fixed: 'left', "disabled": true},
               {field: 'WareHouseName', title: '所属仓库', align: 'center'},
               {field: 'RoadwayName', title: '所属巷道', align: 'center'},
               //{field: 'RoadwayName', title: '所属巷道', align: 'center'},
                    {field: 'AreaName', title: '所属区域', align: 'center'},
                    {field: 'LocatNo', title: '储位地址', align: 'center'},
                    {field: 'PalletNo', title: '托盘号', align: 'center'},
               {field: 'PalletStatus', title: '托盘状态', align: 'center', templet: '#InspectPalletStatus'},
                    {field: 'PalletNo', title: '桶号', align: 'center'},
               {field: 'PalletStatus', title: '桶状态', align: 'center', templet: '#InspectPalletStatus'},
                    {field: 'SkuNo', title: '物料编码', align: 'center'},
                    {field: 'SkuName', title: '物料名称', align: 'center'},
               //{field: 'OwnerNo',title: '货主编码',align: 'center'},
@@ -345,16 +405,18 @@
                    {field: 'LotNo', title: '批次号', align: 'center'},
                    {field: 'LotText', title: '批次描述', align: 'center'},
                    //{field: 'SupplierLot', title: '供货批次', align: 'center'},
               {field: 'Status', title: '分配状态', align: 'center', templet: '#TempletStatus'},
                    {field: 'Qty', title: '数量', align: 'center'},
                    {field: 'LockQty', title: '锁定数量', align: 'center',},
                    {field: 'FrozenQty', title: '冻结数量', align: 'center'},
               {field: 'InspectStatus', title: '质检状态', align: 'center', templet: '#InspectStatus1'},
                    //{field: 'InspectMark', title: '抽检标记', align: 'center', templet: '#InspectMarkStatus'},
                    //{field: 'BitPalletMark', title: '零托标记', align: 'center', templet: '#BitPalletMarkStatus'},
            ]];
            var TotalColsSysArr=encodeURIComponent(encodeURIComponent(JSON.stringify(TotalColsArr)))//将表头数据进行url编码
            //#endregion
            //获取托盘明细
                function refreshTable(SkuNo,SkuName,PalletNo,LotNo,BoxNo,Status,InspectMark,BitPalletMark,BitBoxMark,InspectStatus,OwnerNo,OwnerName,StartTime,EndTime) {
                function refreshTable(WareHouseName,AreaName,LocatNo,PalletNo,LotNo) {
               //#region 自定义表头
               var colsJson
               var param1={
@@ -378,6 +440,8 @@
                     limit: pageCnt,
                     limits: pageLimits,
                     even: true,
                     toolbar: '#toolbarDemo',
                     defaultToolbar: [''], //'print', 'exports'
                     cellMinWidth: 80, //全局定义常规单元格的最小宽度,layui 2.2.1 新增
                     done: function(){
                        //自定义列宽
@@ -387,20 +451,12 @@
                  };
                  var param = {
                     SkuNo:SkuNo, //物料号
                     SkuName:SkuName, //物料名称
                     wareHouseName:WareHouseName,
                     areaName:AreaName,
                     locatNo:LocatNo,
                     palletNo:PalletNo, //托盘号
                     LotNo:LotNo, //批次号
                     BoxNo:BoxNo, //箱码
                     Status:Status, //箱支状态
                     InspectMark:InspectMark, //检验标记
                     BitPalletMark:BitPalletMark, //零托标记
                     BitBoxMark:BitBoxMark, //零箱标记
                     InspectStatus:InspectStatus, //质量状态
                     OwnerNo:OwnerNo, //货主编码
                     OwnerName:OwnerName, //货主名称
                     StartTime:StartTime, //开始时间
                     EndTime:EndTime, //结束时间
                  };
                  sendData(IP + "/Statistical/GetBindList", param, 'get', function(res) { 
                     console.log(res)                       
@@ -423,29 +479,120 @@
                  });
               });
               //#endregion                    
                }
                }
            //头工具栏事件
            table.on('toolbar(LAY-app-content-list)', function (obj) {
               var checkStatus = table.checkStatus(obj.config.id);
               if (obj.event == "add") {
                  layer.open({
                     type: 2,
                     title: '添加托盘库存明细',
                     content: 'PalletAddFrom.html',
                     maxmin: true,
                     area: ['530px', '530px'],
                     btn: ['确定', '取消'],
                     yes: function(index, layero) {
                        var iframeWindow = window['layui-layer-iframe' + index],
                           submitID = 'layuiadmin-app-form-submit',
                           submit = layero.find('iframe').contents().find('#' + submitID);
                        //监听提交
                        iframeWindow.layui.form.on('submit(' + submitID + ')', function(data) {
                           var field = data.field; //获取提交的字段
                           //提交 Ajax 成功后,静态更新表格中的数据
                           var param = {
                              PalletNo:field.PalletNo,//托盘码
                              WareHouseNo: field.WareHouseNo, //所属仓库
                              AreaNo: field.AreaNo, //所属区域
                              LocatNo:field.LocatNo,//所属储位
                              PalletStatus: field.PalletStatus, //托盘类别
                              SkuNo:field.SkuNo,
                              SkuName:field.SkuName,
                              LotNo:field.LotNo
                           };
                           if(doing){
                              doing = false;
                              sendData(IP + "/Statistical/InsertStockDetail", param, 'post',function(res) {
                                 console.log(res);
                                 if (res.code == 0) { //成功
                                    layer.msg(res.msg, {
                                       icon: 1,
                                       time: 2000 //2秒关闭(如果不配置,默认是3秒)
                                    }, function() {
                                       layer.close(index); //关闭弹层
                                       refreshTable("","","","","","","","","","","","","","");
                                       doing = true;
                                    });
                                 }
                                 else
                                 { //不成功
                                    layer.msg(res.msg, {
                                       icon: 2,
                                       time: 2000 //2秒关闭(如果不配置,默认是3秒)
                                    }, function() {doing = true;});
                                 }
                              });
                           }
                        });
                        submit.trigger('click');
                     }
                  });
               }
            });
            //获取仓库下拉框信息
            sendData(IP + "/Sys/GetWarehouseDic", {}, 'get', function(res) {
               if (res.code == 0) { //成功
               for (var i = 0; i < res.data.length; i++) {
                  $("#WareHouseNo").append('<option value =' + res.data[i].WareHouseNo + '>' + res.data[i].WareHouseNo + '-' +
                     res.data[i].WareHouseName + '</option>');
               }
               form.render('select');
               } else { //不成功
                  layer.msg(res.msg, {
                     icon: 2,
                     time: 2000 //2秒关闭(如果不配置,默认是3秒)
                  }, function() {});
               }
            });
            getAR("");
            form.on('select(getWareHouseNo)', function(data) {
               getAR(data.value);
            });
            function getAR(val) {
               //获取 区域下拉框
               sendData(IP + "/Sys/GetStorageAreaByHouseNo?wareHouseNo="+val, {}, 'get', function(res) {
                  $("#AreaNo").empty();
                  $("#AreaNo").append('<option value =""></option>');
                  if (res.code == 0) { //成功
                     for (var i = 0; i < res.data.length; i++) {
                        $("#AreaNo").append('<option value =' + res.data[i].AreaNo + '>' + res.data[i].AreaNo + '-' +
                           res.data[i].AreaName + '</option>');
                     }
                     form.render('select');
                  } else { //不成功
                     layer.msg('获取区域信息失败', {
                        icon: 2,
                        time: 2000 //2秒关闭(如果不配置,默认是3秒)
                     }, function() {
                        //回调
                        form.render('select');
                     });
                  }
               });
            };
            //监听搜索
            form.on('submit(LAY-app-contlist-search)', function(data) {
               var SkuNo = $("#SkuNo").val();
               var SkuName = $("#SkuName").val();
               var LotNo = $("#LotNo").val();
               var WareHouseName = $("#WareHouseNo").val();
               var AreaName = $("#AreaNo").val();
               var LocatNo = $("#LocatNo").val();
               var PalletNo = $("#PalletNo").val();
               var LotNo = $("#LotNo").val();
               var BoxNo = $("#BoxNo").val();
               var Status = $("#Status").val();
               var InspectMark = $("#InspectMark").val();
               var BitPalletMark = $("#BitPalletMark").val();
               var BitBoxMark = $("#BitBoxMark").val();
               var InspectStatus = $("#InspectStatus").val();
               var OwnerNo = $("#OwnerNo").val();
               var OwnerName = $("#OwnerName").val();
               var StartTime = $("#StartTime").val();
               var EndTime = $("#EndTime").val();
               refreshTable(SkuNo,SkuName,PalletNo,LotNo,BoxNo,Status,InspectMark,BitPalletMark,BitBoxMark,InspectStatus,OwnerNo,OwnerName,StartTime,EndTime);
               refreshTable(WareHouseName,AreaName,LocatNo,PalletNo,LotNo);
               
            });