wxw
3 天以前 29b916fcff826d7cf5f6fc560ea7e950f9804cf9
HTML/views/StatisticalReport/BoxInfor.html
@@ -16,6 +16,14 @@
         margin-bottom: 1px;
         margin-right: 1px;
      }
      .hideCls {
            display: none;
        }
        .showCls {
            display: block;
        }
   </style>
   <script>
      // 这里是需要在页面渲染之前执行的代码
@@ -153,6 +161,30 @@
                     <input type="text" autocomplete="off" id="EndTime" class="layui-input" placeholder="结束时间">
                  </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" id="divEditDemo" style="display: none; padding-top: 10px;">
                  <label class="layui-form-label">备注</label>
                  <div class="layui-input-inline" style="width: 300px;height: 100%;">
                     <textarea placeholder="请输入内容" id="NoticeDemo" name="NoticeDemo"
                        class="layui-textarea"></textarea>
                  </div>
               </div>
               <div class="layui-inline sousuo">
                  <button class="layui-btn layui-btn-sm layuiadmin-btn-list" lay-submit
@@ -201,11 +233,29 @@
                              </button>
                           </div>
                           <!-- #endregion -->
                           <script type="text/html" id="toolbarDemo1">
                              {{# function GetBtn1(d){
                                 var html = '';
                                 html += `<a class="layui-btn layui-btn-normal layui-btn-xs editDemoClass" lay-event="editDemo">
                                    <i class="layui-icon layui-icon-edit"></i>备注</a>`;
                                 return html;
                              }
                           }}
                           {{ GetBtn1(d) }}
                           </script>
                           <!-- #region 自定义表头 -->
                           <script type="text/html" id="templetProductionTime">
                                 {{# function GetBtn(d){
                                       return formatDate(d.ProductionTime);
                                       return formatDate2(d.ProductionTime);
                                    }
                                 }}
                                 {{ GetBtn(d) }}
                              </script>
                           <script type="text/html" id="templetExpirationTime">
                                 {{# function GetBtn(d){
                                       return formatDate2(d.ExpirationTime);
                                    }   
                                 }}
                                 {{ GetBtn(d) }}
@@ -225,7 +275,21 @@
               </div>
            </div>
            <script type="text/html" id="buttonTpl">
               {{#  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="BoxStatus">
                        {{#  if(d.Status=='0'){ }}
                            <p>未组托</p>
@@ -279,15 +343,70 @@
                        <button class="layui-btn layui-btn-normal layui-btn-xs approvalBtnupt" id="approvalBtnupt" lay-event="edit">
                            <i class="layui-icon layui-icon-edit"></i>详情
                        </button>
                  <button class="layui-btn layui-btn-normal layui-btn-xs printBtnupt" id="printBtnupt" lay-event="print">
                            <i class="layui-icon layui-icon-print"></i>补打
                        </button>
                    </script>
         </div>
      </div>
       <div class="layui-form hideCls" lay-filter="layuiadmin-app-form-list" id="print"
            style="width: 100%;height:100%;">
            <div style="display: flex;align-items: center;justify-content: center; height: 260px;">
                <table border="0" id="table"
                    style="width: 90%; height:240px;border-collapse: collapse;table-layout: fixed;border:none">
                    <tr>
                        <td class="font-size12">
                            物料编号:
                            <table id="SkuNoP" class="font-size12"></table>
                        </td>
                    </tr>
                    <tr>
                        <td class="font-size12">
                            物料名称:
                            <table id="SkuNameP" class="font-size12"></table>
                        </td>
                    </tr>
                    <tr>
                        <td class="font-size12">
                            批次号:
                            <table id="LotNoP" class="font-size12"></table>
                        </td>
                    </tr>
                    <tr>
                        <td class="font-size12">
                            生产日期:
                            <table id="ProductionTimeP" class="font-size12"></table>
                        </td>
                    </tr>
                    <tr>
                        <td class="font-size12">
                            有效期:
                            <table id="ExpirationTimeP" class="font-size12"></table>
                        </td>
                    </tr>
                    <tr>
                        <td style="padding: 5px 0px;">
                            <img id="imgBar" style=" height: 60px;" />
                        </td>
                    </tr>
                </table>
            </div>
            <div style="page-break-after: always;"></div>
        </div>
        <div class="layui-form hideCls" lay-filter="layuiadmin-app-form-list" id="print2"
            style="width: 100%;height:100%;"></div>
   </div>
   <script src="../../layuiadmin/layui/layui.js"></script>
   <script src="../../js/public.js"></script>
   <script src="../../js/jquery-3.5.1.min.js"></script>
   <script src="../../js/jquery.cookie.js"></script>
   <script src="../../js/jquery.print.js"></script>
   <script>
      var uid = $.cookie('userId');
      layui.config({
@@ -339,7 +458,7 @@
         function addZero(s) {
            return s < 10 ? ('0' + s) : s;
         };
         var $ = layui.$;
         var yemianid = 0;
         refreshTable("", "", "", "", "", "", "", "", "", "", "", "", "", "");
@@ -349,33 +468,40 @@
         //#region 自定义表头
         var TotalColsArr = [[
            { field: '', title: '序号', type: 'numbers', align: 'center', fixed: 'left', "disabled": true },
            { field: 'WareHouseName', title: '所属仓库', align: 'center' },
            { field: 'RoadwayName', title: '所属巷道', align: 'center' },
            { field: 'AreaName', title: '所属区域', align: 'center' },
            { field: 'LocatNo', title: '储位地址', align: 'center' },
            { field: 'PalletNo', title: '托盘号', align: 'center' },
            { field: 'SkuNo', title: '物料编码', align: 'center' },
            { field: 'SkuName', title: '物料名称', align: 'center' },
            { field: 'OwnerNo', title: '货主编码', align: 'center' },
            { field: 'OwnerName', title: '货主名称', align: 'center' },
            { field: 'SupplierNo', title: '供应商编码', align: 'center' },
            { field: 'SupplierName', title: '供应商名称', align: 'center' },
            { field: 'LotNo', title: '批次号', align: 'center' },
            { field: 'LotText', title: '批次描述', align: 'center' },
            { field: 'SupplierLot', title: '供货批次', align: 'center' },
            { field: 'Qty', title: '数量', align: 'center' },
            { field: 'LockQty', title: '锁定数量', align: 'center', },
            { field: 'FrozenQty', title: '冻结数量', align: 'center' },
            { field: 'InspectMark', title: '抽检标记', align: 'center', templet: '#InspectMarkStatus' },
            { field: 'WareHouseName', title: '所属仓库', align: 'center', width: 120, },
            { field: 'RoadwayName', title: '所属巷道', align: 'center', width: 120, },
            { field: 'AreaName', title: '所属区域', align: 'center', width: 120, },
            { field: 'LocatNo', title: '储位地址', align: 'center', width: 100, },
            { field: 'PalletNo', title: '托盘号', align: 'center', width: 100, },
            { field: 'SkuNo', title: '物料编码', align: 'center', width: 120, },
            { field: 'SkuName', title: '物料名称', align: 'center', width: 120, },
            { field: 'LotNo', title: '批次号', align: 'center', width: 100, },
            //{ field: 'LotText', title: '批次描述', align: 'center' },
            { field: 'SupplierLot', title: '供货批次', align: 'center', width: 120, },
            { field: 'Qty', title: '数量', align: 'center', width: 90, },
            { field: 'LockQty', title: '锁定数量', align: 'center', width: 90, },
            { field: 'FrozenQty', title: '冻结数量', align: 'center', width: 90, },
            { field: 'Status', title: '库存状态', align: 'center', templet: '#buttonTpl', width: 90, },
            { field: 'InspectStatus', templet: '#InspectStatus1', title: '质检状态', align: 'center', width: 100, },
            { field: 'InspectMark', title: '抽检标记', align: 'center', templet: '#InspectMarkStatus', width: 100, },
            { field: 'BitPalletMark', title: '零托标记', align: 'center', templet: '#BitPalletMarkStatus', width: 100, },
            { field: 'ProductionTime', title: '生产日期', align: 'center', templet: '#templetProductionTime' },
            { field: 'InspectStatus', templet: '#InspectStatus1', title: '质检状态', align: 'center' },
            { field: 'BitPalletMark', title: '零托标记', align: 'center', templet: '#BitPalletMarkStatus' },
            { field: 'ExpirationTime', title: '过期日期', align: 'center', templet: '#templetExpirationTime' },
            { field: 'OwnerNo', title: '货主编码', align: 'center', width: 100, },
            { field: 'OwnerName', title: '货主名称', align: 'center', width: 100, },
            { field: 'SupplierNo', title: '供应商编码', align: 'center', width: 100, },
            { field: 'SupplierName', title: '供应商名称', align: 'center', width: 100, },
            { field: 'Demo', title: '备注', align: 'center', width: 100, },
            { field: 'caozuo', title: '操作', fixed: 'right', width: 280, align: 'center', toolbar: '#toolbarDemo1', "disabled": true }
         ]];
         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) {
            BitBoxMark, InspectStatus, OwnerNo, OwnerName, StartTime, EndTime, WareHouseNo, AreaNo) {
            //#region 自定义表头
            var colsJson
            var param1 = {
@@ -401,6 +527,7 @@
                  even: true,
                  cellMinWidth: 80, //全局定义常规单元格的最小宽度,layui 2.2.1 新增
                  done: function () {
                     setRight();
                     //自定义列宽
                     SetTableColW('LAY-app-content-list', 'Statistical/GetBindList', TotalColsSysArr);
                  },
@@ -422,6 +549,8 @@
                  OwnerName: OwnerName, //货主名称
                  StartTime: StartTime, //开始时间
                  EndTime: EndTime, //结束时间
                  WareHouseNo: WareHouseNo,
                  AreaNo: AreaNo,
               };
               sendData(IP + "/Statistical/GetBindList", param, 'get', function (res) {
                  console.log(res)
@@ -445,6 +574,28 @@
            });
            //#endregion                    
         }
         function setRight() {
            $(function () {
               $(".editDemoClass").hide();//备注
            });
            sendData(IP + "/Basis/GetRoleRightList", {}, 'get', function (res) {
               if (res.code == 0) { //成功
                  for (var k = 0; k < res.data.length; k++) {
                     if (res.data[k].MenuName == "维护托盘明细备注") {
                        $(function () {
                           $(".editDemoClass").show();
                        });
                     }
                  }
               } else { //不成功
                  layer.msg('获取权限信息失败', {
                     icon: 2,
                     time: 2000 //2秒关闭(如果不配置,默认是3秒)
                  }, function () { });
               }
            });
         }
         // 表单需要的变量
         var infoOptions2;
@@ -463,6 +614,7 @@
            { field: 'Qty', title: '数量', width: 90, align: 'center' },
            { field: 'FullQty', title: '整箱数量', width: 100, align: 'center' },
            { field: 'ProductionTime', title: '生产日期', align: 'center', templet: '#templetProductionTime' },
            { field: 'ExpirationTime', title: '有效期', align: 'center', templet: '#templetExpirationTime' },
            { field: 'InspectMark', title: '抽检标记', align: 'center', templet: '#InspectMarkStatus' },
            { field: 'BitBoxMark', templet: '#BitPalletMarkStatus1', title: '零箱标记', align: 'center' },
            { field: 'InspectStatus', templet: '#InspectStatus1', title: '质检状态', align: 'center' },
@@ -471,7 +623,8 @@
         ]];
         var DetailColsSysArr = encodeURIComponent(encodeURIComponent(JSON.stringify(DetailColsArr)))//将表头数据进行url编码
         //#endregion            
         function refreshTable2(Id, SkuNo, SkuName, LotNo, PalletNo, BoxNo, Status, InspectMark, BitBoxMark, InspectStatus, StartTime, EndTime) {
         function refreshTable2(Id, SkuNo, SkuName, LotNo, PalletNo, BoxNo, Status, InspectMark, BitBoxMark, InspectStatus,
            StartTime, EndTime, WareHouseNo, AreaNo) {
            //#region 自定义表头
            var colsJson2
            var param1 = {
@@ -516,6 +669,8 @@
                  InspectStatu: InspectStatus,
                  StartTime: StartTime,
                  EndTime: EndTime,
                  WareHouseNo: WareHouseNo,
                  AreaNo: AreaNo,
               }
               sendData(IP + "/Statistical/GetBoxInfo", param, 'get', function (res) {
                  if (res.code == 0) //成功
@@ -542,7 +697,49 @@
         }
         //var url = IP + "/Statistical/GetInventoryList1";
         table.on('tool(LAY-app-content-list)', function (obj) {
            var data = obj.data;
            switch (obj.event) {
               case "editDemo":
                  $('#NoticeDemo').val(data.Demo);
                  layer.open({
                     type: 1,
                     title: '维护备注',
                     content: $('#divEditDemo'),
                     maxmin: false,
                     area: ['420px', '260px'],
                     btn: ['确定', '取消'],
                     yes: function (index, layero) {
                        var demo = $('#NoticeDemo').val();
                        var param = {
                           id: data.Id,
                           demo: demo,
                        };
                        sendData(IP + "/Statistical/EditStockDetailDemo", param, 'get', function (res) {
                           if (res.code == 0) { //成功
                              refreshTable();
                              layer.msg(res.msg, {
                                 icon: 1,
                                 time: 1500 //1秒关闭(如果不配置,默认是3秒)
                              }, function () {
                              });
                           } else { //不成功
                              layer.msg(res.msg, {
                                 icon: 2,
                                 time: 3000 //2秒关闭(如果不配置,默认是3秒)
                              }, function () {
                                 refreshTable();
                              });
                           }
                           layer.close(index);
                        });
                     }
                  });
                  break;
               default: break;
            }
         });
         //接受全局变量
@@ -566,14 +763,18 @@
            var StartTime = $("#StartTime").val();
            var EndTime = $("#EndTime").val();
            var WareHouseNo = $("#WareHouseNo").val();
            var AreaNo = $("#AreaNo").val();
            if (yemianid == 0) {
               console.log("总单");
               refreshTable(SkuNo, SkuName, PalletNo, LotNo, BoxNo, Status, InspectMark, BitPalletMark, BitBoxMark, InspectStatus, OwnerNo, OwnerName, StartTime, EndTime);
               refreshTable(SkuNo, SkuName, PalletNo, LotNo, BoxNo, Status, InspectMark, BitPalletMark, BitBoxMark,
                  InspectStatus, OwnerNo, OwnerName, StartTime, EndTime, WareHouseNo, AreaNo);
            } else if (yemianid == 1) {
               quanid = '';
               console.log("明细");
               refreshTable2(quanid, SkuNo, SkuName, LotNo, PalletNo, BoxNo, Status, InspectMark, BitBoxMark, InspectStatus, StartTime, EndTime);
               refreshTable2(quanid, SkuNo, SkuName, LotNo, PalletNo, BoxNo, Status, InspectMark, BitBoxMark,
                  InspectStatus, StartTime, EndTime, WareHouseNo, AreaNo);
            }
         });
@@ -648,6 +849,111 @@
                     }
                  }
               });
            }
            //补打
            if (obj.event === 'print') {
               var param1 = {
                  BoxNo: data.BoxNo,
               };
               synData(IP + "/Statistical/GetBuDaLabelList", param1, 'post', function (res) {
                  if (res.code == 0) { //成功
                     var labels = "";
                     for (var z = 0; z < res.data.length; z++) {
                        var idd = "";
                        if (z - 1 >= 0) {
                           idd = (z - 1).toString();
                        }
                        $("#SkuNoP").attr("id", "SkuNoP" + z.toString());
                        $("#SkuNoP" + z.toString()).html(res.data[z].SkuNo);
                        $("#SkuNameP").attr("id", "SkuNameP" + z.toString());
                        $("#SkuNameP" + z.toString()).html(res.data[z].SkuName);
                        $("#PackageStandardP").attr("id", "PackageStandardP" + z.toString());
                        $("#PackageStandardP" + z.toString()).html(res.data[z].PackageStandard);
                        $("#StandardP").attr("id", "StandardP" + z.toString());
                        $("#StandardP" + z.toString()).html(res.data[z].Standard);
                        $("#QtyP").attr("id", "QtyP" + z.toString());
                        $("#QtyP" + z.toString()).html(res.data[z].Qty);
                        $("#SupplierLotP").attr("id", "SupplierLotP" + z.toString());
                        $("#SupplierLotP" + z.toString()).html(res.data[z].SupplierLot);
                        $("#LotNoP").attr("id", "LotNoP" + z.toString());
                        $("#LotNoP" + z.toString()).html(res.data[z].LotNo);
                        $("#SupplierLotP").attr("id", "SupplierLotP" + z.toString());
                        $("#SupplierLotP" + z.toString()).html(res.data[z].SupplierLot);
                        $("#ExpirationTimeP").attr("id", "ExpirationTimeP" + z.toString());
                        $("#ExpirationTimeP" + z.toString()).html(formatDate2(res.data[z].ExpirationTime));
                        $("#ProductionTimeP").attr("id", "ProductionTimeP" + z.toString());
                        $("#ProductionTimeP" + z.toString()).html(formatDate2(res.data[z].ProductionTime));
                        $("#imgBar").attr("id", "imgBar" + z.toString());
                        $("#imgBar" + z.toString()).attr("src", res.data[z].ImgStr);
                        // console.log("#SkuNo"+z.toString());
                        labels += $("#print").html();
                        //console.log(labels);
                        $("#SkuNoP" + z.toString()).attr("id", "SkuNoP");
                        $("#SkuNoP").html("");
                        $("#SkuNameP" + z.toString()).attr("id", "SkuNameP");
                        $("#SkuNameP").html("");
                        $("#PackageStandardP" + z.toString()).attr("id", "PackageStandardP");
                        $("#PackageStandardP").html("");
                        $("#QtyP" + z.toString()).attr("id", "QtyP");
                        $("#QtyP").html("");
                        $("#StandardP" + z.toString()).attr("id", "StandardP");
                        $("#StandardP").html("");
                        $("#LotNoP" + z.toString()).attr("id", "LotNoP");
                        $("#LotNoP").html("");
                        $("#SupplierLotP" + z.toString()).attr("id", "SupplierLotP");
                        $("#SupplierLotP").html("");
                        $("#StoreTimeP" + z.toString()).attr("id", "StoreTimeP");
                        $("#StoreTimeP").html("");
                        $("#ExpirationTimeP" + z.toString()).attr("id", "ExpirationTimeP");
                        $("#ExpirationTimeP").html("");
                        $("#imgBar" + z.toString()).attr("id", "imgBar");
                        $("#imgBar").attr("src", "");
                     }
                     // console.log(labels);
                     document.getElementById('print2').innerHTML = "";
                     document.getElementById('print2').innerHTML = labels;
                     $("#print2").removeClass("hideCls");
                     //$("#button").hide();
                     $("#print2").print();
                     //$("#button").show();
                     $("#print2").addClass("hideCls");
                     // $("#LabelStream").val("");
                     // $("#EndBoxCode").val("");
                     // $("#LabelStream2").val("");
                     // $("#EndBoxCode2").val("");
                  } else { //不成功
                     layer.msg(res.msg, {
                        icon: 2,
                        time: 2000 //2秒关闭(如果不配置,默认是3秒)
                     }, function () { });
                  }
               });
            }
@@ -733,6 +1039,52 @@
         });
         //获取仓库下拉框信息
         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) {
            console.log(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');
                  });
               }
            });
         };
         //#region 自定义表头
         //自定义表头         
         active = {