chengsc
2024-08-21 9096f4ff47567b613441a3d239e969514b0b9f76
HTML/views/SOSetting/ExportNotice.html
@@ -57,11 +57,21 @@
                     <div class="layui-input-inline">
                        <select name="Type" id="Type" lay-filter="Type" lay-search>
                           <option value=""></option>
                           <!-- 24 -->
                           <option value="0">成品出库</option>
                           <option value="1">领料出库</option>
                           <option value="2">抽检出库</option>
                           <option value="3">物料取样出库</option>
                           <option value="4">不合格品出库</option>
                           <option value="5">中间品出库</option>
                           <option value="6">代储出库</option>
                           <option value="7">其他出库</option>
                           <option value="8">寄存出库</option>
                           <!-- 09 -->
                           <option value="0">标准销售出库</option>
                           <!-- <option value="0">标准销售出库</option>
                           <option value="1">非标销售出库</option>
                           <option value="2">标准调拨出库</option>
                           <option value="3">非标调拨出库</option>
                           <option value="3">非标调拨出库</option> -->
                           <!-- 08 -->
                           <!-- <option value="0">成品出库</option>
                           <option value="1">原辅料出库</option>
@@ -81,6 +91,7 @@
                           <option value="3">正在执行</option>
                           <option value="4">执行完毕</option>
                           <option value="5">订单关闭</option>
                           <option value="6">上传完毕</option>
                        </select>
                     </div>
                  </div>
@@ -118,26 +129,49 @@
                           <option value="1">是</option>
                        </select>
                     </div>
                  </div>
                  <div class="layui-inline" id="divPickingArea" style="display: none; padding-top: 10px;">
                     <label class="layui-form-label">出库口</label>
                     <div class="layui-input-inline">
                        <select name="PickingArea" id="PickingArea" lay-search>
                           <option value=""></option>
                           <option value="1">1</option>
                           <option value="2">2</option>
                           <option value="3">3</option>
                           <option value="4">4</option>
                        </select>
                     </div>
                  </div>
                  </div>
                  <div class="layui-inline">
                     <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>
                  </div>
                  <!-- 确认出库口弹窗 -->
                  <div class="layui-inline" id="divPickingArea" style="display: none; padding-top: 10px;">
                     <div class="layui-inline">
                        <label class="layui-form-label">拆垛方式</label>
                        <div class="layui-input-inline" style="width: 220px;">
                           <select name="UnstackWay" id="UnstackWay" lay-filter="UnstackWay" lay-search>
                              <option value="0" selected>机器人拆垛</option>
                              <option value="1">PDA拆垛</option>
                           </select>
                        </div>
                     </div>
                     <div class="layui-inline DivLoadingArea" style="margin-top: 10px;">
                        <label class="layui-form-label">装车口</label>
                        <div class="layui-input-inline" style="width: 220px;">
                           <select name="LoadingArea" id="LoadingArea" lay-search>
                              <option value=""></option>
                              <option value="1">1</option>
                              <option value="2">2</option>
                              <option value="3">3</option>
                              <option value="4">4</option>
                           </select>
                        </div>
                     </div>
                     <div class="layui-inline DivPickingArea2" style="margin-top: 10px;">
                        <label class="layui-form-label">出库口</label>
                        <div class="layui-input-inline" style="width: 220px;">
                           <select name="PickingArea" id="PickingArea" lay-search>
                              <option value=""></option>
                              <option value="1">1</option>
                              <option value="2">2</option>
                              <option value="3">3</option>
                              <option value="4">4</option>
                           </select>
                        </div>
                     </div>
                  </div>
                  <!-- 维护备注弹框 -->
                  <div class="layui-inline" id="divEditDemo" style="display: none; padding-top: 10px;">
                     <label class="layui-form-label">备注</label>
@@ -164,13 +198,23 @@
                     {{# function GetBtn3(d){
                           switch (d.Type) {
                              case "0":
                                 return "标准销售出库";
                                 return "成品出库";
                              case "1":
                                 return "非标准销售出库";
                                 return "领料出库";
                              case "2":
                                 return "标准调拨出库";
                                 return "抽检出库";
                              case "3":
                                 return "非标准调拨出库";
                                 return "物料取样出库";
                              case "4":
                                 return "不合格品出库";
                              case "5":
                                 return "中间品出库";
                              case "6":
                                 return "代储出库";
                              case "7":
                                 return "其他出库";
                              case "8":
                                 return "寄存出库";
                              default:
                                 return "";
                           }
@@ -193,6 +237,8 @@
                              case "4":
                                 return `<button class="layui-btn layui-btn-radius layui-btn-normal layui-btn-xs">执行完毕</button>`;
                              case "5":
                                 return `<button class="layui-btn layui-btn-radius layui-btn-normal layui-btn-xs">订单关闭</button>`;
                              case "6":
                                 return `<button class="layui-btn layui-btn-radius layui-btn-normal layui-btn-xs">上传完毕</button>`;
                              default:
                                 return "";
@@ -231,6 +277,14 @@
                        }   
                     }}
                     {{ GetBtn7(d) }}
                  </script>
                  <script type="text/html" id="templetCheckTime">
                     {{# function GetBtn8(d){
                           return formatDate(d.CheckTime);
                        }
                     }}
                     {{ GetBtn8(d) }}
                  </script>
                  <!-- #endregion -->
               </div>
@@ -282,9 +336,11 @@
                        var html = ''; 
                        if(d.IsWave == '0'){
                           if(d.Status == '0' || d.Status == '1' ){
                              html += `<a class="layui-btn layui-btn-normal layui-btn-xs zifenClass" lay-event="auto">
                                       <i class="layui-icon layui-icon-ok"></i>自动分配
                                    </a>`;
                              if(d.Type != "8") {
                                 html += `<a class="layui-btn layui-btn-normal layui-btn-xs zifenClass" lay-event="auto">
                                    <i class="layui-icon layui-icon-ok"></i>自动分配
                                 </a>`;
                              }
                           }
                           if(d.Status == '0' && d.Origin == 'WMS'){
                              html += `<a class="layui-btn layui-btn-normal layui-btn-xs uptClass" lay-event="edit">
@@ -309,6 +365,11 @@
                           html += `<a class="layui-btn layui-btn-normal layui-btn-xs guanClass" lay-event="finish"> 
                                    <i class="layui-icon layui-icon-ok"></i>关单
                                 </a>`;
                        }
                        if( d.Status == '5'){
                           html += `<a class="layui-btn layui-btn-normal layui-btn-xs checkClass" lay-event="check">
                              <i class="layui-icon layui-icon-ok"></i>复核
                           </a>`;
                        }
                        html += `<a class="layui-btn layui-btn-normal layui-btn-xs shangClass" lay-event="xml"> 
                           <i class="layui-icon layui-icon-ok"></i>XML
@@ -428,6 +489,8 @@
                     {field: 'CreateTime',title: '创建时间',align: 'center',templet: '#templetCreateTime'},
                     {field: 'UpdateUserName',title: '修改人',align: 'center'},
                     {field: 'UpdateTime',title: '修改时间',align: 'center',templet: '#templetUpdateTime'},
                     {field: 'CheckUserName',title: '复核人',align: 'center',width: 110},
                     {field: 'CheckTime',title: '复核时间',align: 'center',templet: '#templetCheckTime'},
                     {field: 'caozuo',title: '操作',fixed: 'right',align: 'center',width: 200,toolbar: '#table-content-list', "disabled": true}
                  ]];
            var TotalColsSysArr=encodeURIComponent(encodeURIComponent(JSON.stringify(TotalColsArr)))//将表头数据进行url编码
@@ -950,6 +1013,7 @@
                  $(".qufenClass").hide(); //取消分配
                  $(".outClass").hide(); //出库
                  $(".editDemoClass").hide();//备注
                  $(".checkClass").hide(); //复核
               });
               sendData(IP + "/Basis/GetRoleRightList", {}, 'get', function(res) {
                  if (res.code == 0) { //成功 
@@ -1006,6 +1070,11 @@
                                 $(".editDemoClass").show(); 
                              });
                           }
                           if (res.data[k].MenuName == "复核出库单") {
                              $(function() {
                                 $(".checkClass").show();
                              });
                           }
                        }
                     }
                  } else { //不成功
@@ -1039,12 +1108,14 @@
                  });
               }
            });
            var isNeedUnpack='0'//是否需要拆箱,0:否  1:是
            //监听数据操作
            table.on('tool(LAY-app-content-list)', function(obj) {
               var data = obj.data;
               console.log(data);
               Id = data.Id;
               SoNo = data.SONo;
               var orderType=data.Type//单据类型
               if (obj.event === 'delete') {//删除
                  layer.confirm('确定删除此单据吗?', function(index) {
                     var param = {
@@ -1072,7 +1143,7 @@
                     var param = {
                        Id: parseInt(Id), 
                     };
                     sendData(IP + "/UpApi/FinishExportNotice", param, 'post', function(res) {
                     sendData(IP + "/UpApi/CloseExportNotice", param, 'post', function(res) {
                        console.log(res);
                        if (res.code == 0) { //成功
                           layer.msg(res.msg, {
@@ -1157,60 +1228,51 @@
                     area: ['1200px', '90%'],
                  });
               }else if(obj.event === 'outKu'){
                  layer.open({
                     type: 1,
                     title: '确认出库口',
                     content: $('#divPickingArea'),
                     maxmin: true,
                     area: ['300px','265px'],
                     btn: ['确定', '取消'],
                     yes: function(index, layero) {
                        var pa = $('#PickingArea').val();
                        console.log(pa)
                        if (isChongFu== true) {
                           isChongFu= false;
                           if(pa == null)
                           {
                              layer.msg("请勿重复点击", {
                                 icon: 2,
                                 time: 2000 //2秒关闭(如果不配置,默认是3秒)
                              });
                           }
                           var param = {
                              soNo: data.SONo,
                              outMode: pa,
                           };
                           console.log(param);
                           sendData(IP + "/DownApi/IssueOutHouse", param, 'get', function(res) {
                              console.log(res);
                              if (res.code == 0) { //成功
                                 layer.msg(res.msg, {
                                    icon: 1,
                                    time: 3000 //1秒关闭(如果不配置,默认是3秒)
                                 }, function() {
                                    refreshTable();
                                    isChongFu= true;
                                 });
                              } else { //不成功
                                 layer.msg(res.msg, {
                                    icon: 2,
                                    time: 3000 //2秒关闭(如果不配置,默认是3秒)
                                 }, function() {
                                    refreshTable();
                                    isChongFu= true;
                                 });
                              }
                              layer.close(index);
                           });
                        }else{
                           layer.msg("请勿重复点击", {
                  $("#UnstackWay").val(0)
                  $("#UnstackWay").attr("disabled",false);
                  $("#LoadingArea").val('')
                  $("#PickingArea").val('')
                  $('.DivLoadingArea').show()
                  form.render('select');
                  var param = {
                     soNo: SoNo
                  };
                  if(orderType=="0"){
                     // 判断是否需要拆箱,需要拆箱就需要选择出库口
                     sendData(IP + "/BllSo/IsNeedUnpack", param, 'get', function(res) {
                        if (res.code == 0) { //成功
                           if(res.data=="1"){
                              isNeedUnpack='1'
                              $('.DivPickingArea2').show()
                           }else{
                              isNeedUnpack='0'
                              $('.DivPickingArea2').hide()
                           }
                           if($('#UnstackWay').val()=='1'){
                              $('.DivPickingArea2').show()
                           }
                           outFunction(data.SONo)
                        } else { //不成功
                           layer.msg(res.msg, {
                              icon: 2,
                              time: 2000 //2秒关闭(如果不配置,默认是3秒)
                           }, function() {
                              return;
                           });
                        }
                     }
                  });
                     });
                  }else{
                     $("#UnstackWay").val(1)
                     $("#UnstackWay").attr("disabled",true);
                     form.render('select');
                     $('.DivLoadingArea').hide()
                     outFunction(data.SONo)
                  }
               }else if(obj.event === 'xml'){//编辑
                  layer.confirm('确定要将选中的单据上传吗?', function() {
                     if (isChongFu== true) {
@@ -1282,9 +1344,113 @@
                        });
                     }
                  }); 
               }else if(obj.event === 'check'){//复核
                  // 代码区域
                  layer.confirm('确定复核此单据吗?', function(index) {
                     var param = {
                        Id:data.Id,
                     };
                     sendData(IP + "/UpApi/FinishExportNotice", param, 'post', function (res) {
                        if (res.code == 0) { //成功
                           layer.msg(res.msg, {
                              icon: 1,
                              time: 2000 //2秒关闭(如果不配置,默认是3秒)
                           }, function () {
                              refreshTable();
                              doing = true
                           });
                        } else { //不成功
                           layer.msg(res.msg, {
                              icon: 2,
                              time: 2000 //2秒关闭(如果不配置,默认是3秒)
                           }, function () { doing = true });
                        }
                     });
                  });
               }
            });
            
            //选择出库口弹窗方法
            function outFunction(soNo){
               layer.open({
                  type: 1,
                  title: '确认出库口',
                  content: $('#divPickingArea'),
                  maxmin: true,
                  area: ['350px','285px'],
                  btn: ['确定', '取消'],
                  yes: function(index, layero) {
                     var pa = $('#PickingArea').val();
                     console.log(pa)
                     if (isChongFu== true) {
                        isChongFu= false;
                        if(pa == null)
                        {
                           layer.msg("请勿重复点击", {
                              icon: 2,
                              time: 2000 //2秒关闭(如果不配置,默认是3秒)
                           });
                           return;
                        }
                        if($('#UnstackWay').val()=='0'){
                           if($('#LoadingArea').val()==''){
                              layer.msg("请选择装车口", {
                                 icon: 2,
                                 time: 2000 //2秒关闭(如果不配置,默认是3秒)
                              });
                              isChongFu= true;
                              return;
                           }
                        }
                        console.log($("#PickingArea").val())
                        if($("#PickingArea").val() == '')
                        {
                           layer.msg("请选择出库口", {
                              icon: 2,
                              time: 2000 //2秒关闭(如果不配置,默认是3秒)
                           });
                           isChongFu= true;
                           return;
                        }
                        var param = {
                           soNo: soNo,
                           unstackingMode:$('#UnstackWay').val(),
                           outMode: pa,
                           loadingAddre:$('#LoadingArea').val()
                        };
                        console.log(param);
                        sendData(IP + "/DownApi/IssueOutHouse", param, 'get', function(res) {
                           console.log(res);
                           if (res.code == 0) { //成功
                              layer.msg(res.msg, {
                                 icon: 1,
                                 time: 3000 //1秒关闭(如果不配置,默认是3秒)
                              }, function() {
                                 refreshTable();
                                 isChongFu= true;
                              });
                           } else { //不成功
                              layer.msg(res.msg, {
                                 icon: 2,
                                 time: 3000 //2秒关闭(如果不配置,默认是3秒)
                              }, function() {
                                 refreshTable();
                                 isChongFu= true;
                              });
                           }
                           layer.close(index);
                        });
                     }else{
                        layer.msg("请勿重复点击", {
                           icon: 2,
                           time: 2000 //2秒关闭(如果不配置,默认是3秒)
                        });
                     }
                  }
               });
            }
            table.on('tool(LAY-app-content-list2)', function(obj) {
               var data = obj.data;
               var id = data.Id;
@@ -1376,6 +1542,21 @@
               downloadA.click();
               document.body.removeChild(downloadA);
            }
            //拆垛方式切换
            form.on('select(UnstackWay)',function(data){
               var value = data.value;
               if(value==0){
                  $('.DivLoadingArea').show()
                  if(isNeedUnpack=='0'){
                     $('.DivPickingArea2').hide()
                  }else{
                     $('.DivPickingArea2').show()
                  }
               }else{
                  $('.DivLoadingArea').hide()
                  $('.DivPickingArea2').show()
               }
            });
            //#region 自定义表头
            //自定义表头