admin
12 小时以前 cd93dd1fd57afa3437e43499236273c2e1df4423
HTML/views/SOSetting/ExportNotice.html
@@ -68,7 +68,7 @@
                        <option value="2">抽检出库</option>
                        <option value="4">不合格品出库</option>
                        <option value="7">其他出库</option>
                        <option value="9">生产领料出库</option>
                        <option value="9">生产领料出库</option>
                     </select>
                  </div>
               </div>
@@ -128,6 +128,38 @@
                     <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>搜索
                  </button>
               </div>
               <!-- 批量导出按钮 -->
               <div class="layui-inline">
                  <button class="layui-btn layui-btn-sm layui-btn-normal" lay-submit
                     lay-filter="LAY-app-xml-search" id="xmlExportBtn">
                     <i class="layui-icon"></i>XML
                  </button>
               </div>
               <!-- 批量导出按钮时间选择框 -->
               <div class="layui-inline" id="divXmlExport" style="display: none; padding-top: 10px;">
                  <div class="layui-form">
                     <div class="layui-form-item">
                        <label class="layui-form-label">选择日期</label>
                        <div class="layui-input-inline" style="width: 200px;">
                           <input type="text" id="exportDate" class="layui-input" placeholder="请选择日期">
                        </div>
                     </div>
                     <div class="layui-form-item">
                        <div class="layui-input-block">
                           <button class="layui-btn layui-btn-sm" id="confirmExportBtn">
                              <i class="layui-icon layui-icon-ok"></i>确定导出
                           </button>
                           <button type="button" class="layui-btn layui-btn-sm layui-btn-primary"
                              id="cancelExportBtn">
                              <i class="layui-icon layui-icon-close"></i>取消
                           </button>
                        </div>
                     </div>
                  </div>
               </div>
               <!-- 确认出库口弹窗 -->
               <div class="layui-inline" id="divPickingArea" style="display: none; padding-top: 10px;">
                  <!-- <div class="layui-inline">
@@ -338,7 +370,7 @@
               </script>
               <!-- #endregion -->
            </div>
<!-- if(d.Type == "1" && (d.Status == '2' || d.Status == '3')){
            <!-- if(d.Type == "1" && (d.Status == '2' || d.Status == '3')){
                              html += `<a class="layui-btn layui-btn-normal layui-btn-xs outClass" lay-event="beiLiaoOutKu">
                                 <i class="layui-icon layui-icon-ok"></i>备料
                              </a>`;
@@ -354,7 +386,7 @@
                                 </a>`;
                              }
                           }
                           if(d.Status == '0' && d.Origin == 'WMS'){
                           if(d.Status == '0'){
                              html += `<a class="layui-btn layui-btn-normal layui-btn-xs uptClass" lay-event="edit">
                                       <i class="layui-icon layui-icon-edit"></i>编辑
                                    </a>
@@ -374,7 +406,7 @@
                                    </a>`;
                           }
                        }
                        if( d.Status == '4'){
                        if( d.Status == '3' || d.Status == '4'){
                           html += `<a class="layui-btn layui-btn-normal layui-btn-xs guanClass" lay-event="finish"> 
                                    <i class="layui-icon layui-icon-ok"></i>关单
                                 </a>`;
@@ -400,12 +432,13 @@
                  {{# function GetBtn2(d){
                        var html = '';
                        
                        if((d.Status == "0" ||d.Status == "1") && d.Qty > d.AllotQty && d.IsWave == "0"){
                        if(d.AllotQty<d.Qty){
                           html += `<a class="layui-btn layui-btn-normal layui-btn-xs shoufenClass" lay-event="wan">
                                    <i class="layui-icon layui-icon-ok"></i>手动分配
                                 </a>`;
                        } 
                        if(d.Status == "0" && d.Origin == "WMS" && d.IsWave == "0"){
                        if(d.Status == "0" && d.Origin == "WMS"){
                           html +=`<a class="layui-btn layui-btn-danger layui-btn-xs delClass" lay-event="del">
                                    <i class="layui-icon layui-icon-delete"></i>删除
                                 </a>`;
@@ -488,7 +521,7 @@
         var TotalColsArr = [[
            { field: '', title: '序号', type: 'numbers', width: 50, align: 'center', fixed: 'left', "disabled": true },
            { field: 'SONo', title: '出库单号', align: 'center', fixed: 'left', width: 165, "disabled": true },
            { field: 'Type', title: '单据类型', align: 'center', templet: '#templetType' , width: 120,},
            { field: 'Type', title: '单据类型', align: 'center', templet: '#templetType', width: 120, },
            { field: 'Status', title: '执行状态', align: 'center', templet: '#templetStatus', width: 90, },
            { field: 'OrderCode', title: '下发单号', align: 'center', width: 180 },
            { field: 'LogisticsName', title: '承运商', align: 'center', width: 120, },
@@ -496,7 +529,7 @@
            { field: 'WareHouseName', title: '仓库', align: 'center', width: 90, },
            { field: 'Origin', title: '来源', align: 'center', width: 90, },
            { field: 'Demo', title: '备注', align: 'center', width: 180 },
            { field: 'CreateUserName', title: '创建人', align: 'center' , width: 110},
            { field: 'CreateUserName', title: '创建人', align: 'center', width: 110 },
            { field: 'CreateTime', title: '创建时间', align: 'center', width: 160, templet: '#templetCreateTime' },
            { field: 'UpdateUserName', title: '修改人', align: 'center', width: 110 },
            { field: 'UpdateTime', title: '修改时间', align: 'center', width: 160, templet: '#templetUpdateTime' },
@@ -508,7 +541,7 @@
            { field: 'LotNoText', title: '批次描述', align: 'center' },
            { field: 'IsDespatch', title: '是否发运', align: 'center', templet: '#templetIsDespatch' },
            { field: 'SupplierLot', title: '供货批次', align: 'center' },
            { field: 'caozuo', title: '操作', fixed: 'right', align: 'center', width: 360, toolbar: '#table-content-list', "disabled": false }
         ]];
         var TotalColsSysArr = encodeURIComponent(encodeURIComponent(JSON.stringify(TotalColsArr)))//将表头数据进行url编码
@@ -1127,6 +1160,7 @@
            }
         });
         var isNeedUnpack = '0'//是否需要拆箱,0:否  1:是
         var xmlFileName = "";
         //监听数据操作
         table.on('tool(LAY-app-content-list)', function (obj) {
            var data = obj.data;
@@ -1199,7 +1233,7 @@
                              isChongFu = true;
                           });
                        } else { //不成功
                           if(res.code==2){
                           if (res.code == 2) {
                              layer.confirm('当前单据批次出库是跨批出库,是否跨批出库?', function () {
                                 var param1 = {
                                    soNo: SoNo,
@@ -1224,12 +1258,12 @@
                                    }
                                 })
                              })
                           }else{
                           } else {
                              layer.msg(res.msg, {
                                 icon: 2,
                                 time: 2000 //2秒关闭(如果不配置,默认是3秒)
                              });
                           }
                           }
                           isChongFu = true;
                        }
                     });
@@ -1273,9 +1307,9 @@
                  area: ['1200px', '90%'],
               });
            } else if (obj.event === 'outKu') {
               //if(data.WareHouseName =="成品库"){
                  outFunction(data.SONo);
               outFunction(data.SONo);
               // }else{
               //    outFunction2(data.SONo)
               // }
@@ -1301,6 +1335,14 @@
                     };
                     sendData(IP + "/BllSo/AddExXmlStr", param, 'post', function (res) {
                        console.log(res);
                        if (data.Type == "0") {
                           xmlFileName = "SalesWareHouseOut_" + data.OrderCode + "_linklink";
                        } else if (data.Type == "2") {
                           xmlFileName = "CheckWareHouseOut_" + data.OrderCode + "_linklink";
                        } else {
                           xmlFileName = data.OrderCode + "_linklink";
                        }
                        if (res.code == 0) { //成功 
                           createFile(res.data);
                           layer.msg("操作成功!", {
@@ -1366,25 +1408,33 @@
            } 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 });
                     }
                  });
                  if (isChongFu == true) {
                     isChongFu = false;
                     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();
                              isChongFu = true;
                           });
                        } else { //不成功
                           layer.msg(res.msg, {
                              icon: 2,
                              time: 2000 //2秒关闭(如果不配置,默认是3秒)
                           }, function () { isChongFu = true; });
                        }
                     });
                  } else {
                     layer.msg("请勿重复点击", {
                        icon: 2,
                        time: 2000 //2秒关闭(如果不配置,默认是3秒)
                     });
                  }
               });
            }
         });
@@ -1400,10 +1450,10 @@
               area: ['350px', '285px'],
               btn: ['确定', '取消'],
               yes: function (index, layero) {
                  if (isChongFu == true) {
                     isChongFu = false;
                     if ($("#PickingArea").val() == '' || $('#PickingArea').val() == null) {
                        layer.msg("请选择出库口", {
                           icon: 2,
@@ -1450,14 +1500,14 @@
               }
            });
         }
         //不选择出库口的弹窗方法
         function outFunction2(soNo) {
            layer.confirm('确定当前单据出库吗?', function (index) {
               if (isChongFu == true) {
                  isChongFu = false;
                  var param = {
                     soNo: soNo,
                  };
@@ -1598,7 +1648,7 @@
         function createFile(val) {
            var content = val;   // 文件内容
            var blob = new Blob([content], { type: "text/plain;charset=utf-8" });
            var fileName = "ExInfo.xml"; // 文件名
            var fileName = xmlFileName + ".xml"; // 文件名
            saveAs(blob, fileName);
         }
         //下载文件函数
@@ -1658,6 +1708,118 @@
         //#endregion
      });
      //xml批量导出
      $('#xmlExportBtn').on('click', function () {
         // 打开日期选择弹窗
         layer.open({
            type: 1,
            title: '选择导出日期',
            content: $('#divXmlExport'),
            maxmin: false,
            area: ['350px', '200px'],
            success: function (layero, index) {
               // 初始化日期选择器
               laydate.render({
                  elem: '#exportDate',
                  type: 'date',
                  format: 'yyyy-MM-dd',
                  value: new Date(),
                  btns: ['confirm'],
                  done: function (value, date) {
                     console.log('选择的日期:', value);
                  }
               });
               // 清空输入框
               $('#exportDate').val('');
            }
         });
      });
      // 确定导出按钮点击事件
      $(document).on('click', '#confirmExportBtn', function () {
         var selectedDate = $('#exportDate').val();
         if (!selectedDate) {
            layer.msg('请先选择日期', {
               icon: 2,
               time: 2000
            });
            return;
         }
         //生成文件
         function createFile(val) {
            var content = val;   // 文件内容
            var blob = new Blob([content], { type: "text/plain;charset=utf-8" });
            var fileName = xmlFileName + ".xml"; // 文件名
            saveAs(blob, fileName);
         }
         //下载文件函数
         function saveAs(blob, fileName) {
            var downloadA = document.createElement("a");
            downloadA.download = fileName;
            downloadA.href = URL.createObjectURL(blob);
            document.body.appendChild(downloadA);
            downloadA.click();
            document.body.removeChild(downloadA);
         }
         // 获取搜索参数
         var param = {
            date: selectedDate  // 添加选择的日期
         };
         layer.confirm('确定导出 ' + selectedDate + ' 的数据吗?', function (index) {
            layer.close(index); // 关闭确认框
            // 显示加载中
            var loadingIndex = layer.load(1, {
               shade: [0.1, '#fff']
            });
            // 调用后端接口导出XML
            sendData(IP + "/BllSo/AddExportXmls", param, 'get', function (res) {
               console.log(res);
               if (res.code == 0) { //成功
                  for (var i = 0; i < res.data.length; i++) {
                     xmlFileName = res.data[i].fileName;
                     createFile(res.data[i].fileContent);
                  }
                  layer.msg("操作成功!", {
                     icon: 1,
                     time: 2000 //2秒关闭(如果不配置,默认是3秒)
                  }, function () {
                     layer.closeAll();
                  });
               } else { //不成功
                  layer.msg(res.msg, {
                     icon: 2,
                     time: 2000 //2秒关闭(如果不配置,默认是3秒)
                  }, function () {
                     isChongFu = true;
                  });
               }
            }, function (xhr, status, error) {
               layer.close(loadingIndex);
               layer.msg('网络请求失败: ' + error, {
                  icon: 2,
                  time: 2000
               });
            });
         });
      });
      // 取消按钮点击事件
      $(document).on('click', '#cancelExportBtn', function () {
         layer.closeAll();
      });
   </script>
</body>