test
昨天 587d9d9cec49585729d8f141dd3b0df2ffb637dc
HTML/views/SOSetting/ExportNoticeAddFrom.html
@@ -1,346 +1,274 @@
<!DOCTYPE html>
<html>
   <head>
      <meta charset="utf-8">
      <title>添加出库单</title>
      <meta name="renderer" content="webkit">
      <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
      <meta name="viewport"
         content="width=device-width, initial-scale=1.0, minExum-scale=1.0, maxExum-scale=1.0, user-scalable=0">
      <link rel="stylesheet" href="../../layuiadmin/layui/css/layui.css" media="all">
      <style>
<head>
   <meta charset="utf-8">
   <title>添加出库单</title>
   <meta name="renderer" content="webkit">
   <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
   <meta name="viewport"
      content="width=device-width, initial-scale=1.0, minExum-scale=1.0, maxExum-scale=1.0, user-scalable=0">
   <link rel="stylesheet" href="../../layuiadmin/layui/css/layui.css" media="all">
   <style>
         .isShow{
            display: block;
         }
         display: block;
      }
         .isNoShow{
            display: none;
         }
      </style>
   </head>
   <body>
      <div class="layui-form" lay-filter="layuiadmin-app-form-list" style="padding: 20px 0 0 0;">
         <div class="layui-form-item" style="margin-bottom: 0px;">
            <div class="layui-inline">
               <label class="layui-form-label">单据类型</label>
               <div class="layui-input-inline">
                  <select name="Type" id="Type" lay-filter="Type" lay-verify="required" lay-search>
                     <!-- <option value=""></option> -->
                     <!--JC26-->
                     <option value="0">成品出库</option>
                     <option value="1">领料出库</option>
                     <option value="2">抽检出库</option>
                     <option value="4">不合格品出库</option>
                     <option value="7">其他出库</option>
                     <option value="9">生产领料出库</option>
                  </select>
               </div>
            </div>
            <div class="layui-inline">
               <label class="layui-form-label">出库仓库</label>
               <div class="layui-input-inline">
                  <select name="WarehouseId" id="WarehouseId" lay-filter="WarehouseId" lay-verify="required" lay-search>
                     <option value=""></option>
                  </select>
               </div>
            </div>
            <div class="layui-inline">
               <label class="layui-form-label" id="CustomerNamep">客户名称</label>
               <div class="layui-input-inline">
                  <select name="CustomerNo" id="CustomerNo" lay-search>
                     <option value=""></option>
                  </select>
               </div>
            </div>
            <div class="layui-inline " id="chengyunshang">
               <label class="layui-form-label">承运商</label>
               <div class="layui-input-inline">
                  <select name="LogisticsId" id="LogisticsId" lay-search>
                     <option value=""></option>
                  </select>
               </div>
            </div>
            <div class="layui-inline">
               <div style="padding-bottom: 2px;margin-left: 15px;">
                  <button class="layui-btn layui-btn-sm layuiadmin-btn-list" data-type="add">添加明细</button>
                  <button type="submit" class="layui-btn layui-btn-sm layuiadmin-btn-list" lay-submit=""
                  lay-filter="form1">立即提交</button>
               </div>
         display: none;
      }
   </style>
</head>
<body>
   <div class="layui-form" lay-filter="layuiadmin-app-form-list" style="padding: 20px 0 0 0;">
      <div class="layui-form-item" style="margin-bottom: 0px;">
         <div class="layui-inline">
            <label class="layui-form-label">单据类型</label>
            <div class="layui-input-inline">
               <select name="Type" id="Type" lay-filter="Type" lay-verify="required" lay-search>
                  <!-- <option value=""></option> -->
                  <!--JC26-->
                  <option value="0">成品出库</option>
                  <option value="1">领料出库</option>
                  <option value="2">抽检出库</option>
                  <option value="4">不合格品出库</option>
                  <option value="7">其他出库</option>
                  <option value="9">生产领料出库</option>
               </select>
            </div>
         </div>
         <div class="layui-card">
            <div class="layui-card-body">
               <table id="LAY-app-content-list" name="LAY-app-content-list" lay-filter="LAY-app-content-list"></table>
               <!-- <script type="text/html" id="switchTpl">
         <div class="layui-inline">
            <label class="layui-form-label">出库仓库</label>
            <div class="layui-input-inline">
               <select name="WarehouseId" id="WarehouseId" lay-filter="WarehouseId" lay-verify="required"
                  lay-search>
                  <option value=""></option>
               </select>
            </div>
         </div>
         <div class="layui-inline">
            <label class="layui-form-label" id="CustomerNamep">客户名称</label>
            <div class="layui-input-inline">
               <select name="CustomerNo" id="CustomerNo" lay-search>
                  <option value=""></option>
               </select>
            </div>
         </div>
         <div class="layui-inline " id="chengyunshang">
            <label class="layui-form-label">承运商</label>
            <div class="layui-input-inline">
               <select name="LogisticsId" id="LogisticsId" lay-search>
                  <option value=""></option>
               </select>
            </div>
         </div>
         <div class="layui-inline">
            <div style="padding-bottom: 2px;margin-left: 15px;">
               <button class="layui-btn layui-btn-sm layuiadmin-btn-list" data-type="add">添加明细</button>
               <button type="submit" class="layui-btn layui-btn-sm layuiadmin-btn-list" lay-submit=""
                  lay-filter="form1">立即提交</button>
            </div>
         </div>
      </div>
      <div class="layui-card">
         <div class="layui-card-body">
            <table id="LAY-app-content-list" name="LAY-app-content-list" lay-filter="LAY-app-content-list"></table>
            <!-- <script type="text/html" id="switchTpl">
                  <input type="checkbox" name="IsBale" value="{{d.LAY_TABLE_INDEX}}" lay-skin="switch" lay-text="是|否" lay-filter="IsBaleDemo" {{ d.IsBale == "1" ? 'checked' : '' }}>
               </script>
               <script type="text/html" id="checkboxTpl">
                  <input type="checkbox" name="IsBelt" value="{{d.LAY_TABLE_INDEX}}" lay-skin="switch" lay-text="是|否" lay-filter="IsBeltDemo" {{ d.IsBelt == "1" ? 'checked' : '' }}> 
               </script>    -->
               <script type="text/html" id="table-content-list">
            <script type="text/html" id="table-content-list">
                  <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del"> <i
                        class="layui-icon layui-icon-delete"></i>删除</a>
               </script>
            </div>
         </div>
      </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>
         layui.config({
            base: '../../layuiadmin/' //静态资源所在路径
         }).extend({
            index: 'lib/index' //主入口模块
         }).use(['index', 'form', 'layer', 'laydate', 'table','jquery'], function() {
            var $ = layui.$,
               form = layui.form,
               table = layui.table,
               layer = layui.layer;
            getWareHouseList();
            getCustomerList();
            getLogisticsInfoList();
            window.success = function(data) {
               console.log(data);
               refreshTable(data);
            };
   <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>
      layui.config({
         base: '../../layuiadmin/' //静态资源所在路径
      }).extend({
         index: 'lib/index' //主入口模块
      }).use(['index', 'form', 'layer', 'laydate', 'table', 'jquery'], function () {
         var $ = layui.$,
            form = layui.form,
            table = layui.table,
            layer = layui.layer;
            var arr = [];
            var TypeValue=$("#Type").val();
            function refreshTable(data) {
               //table.clear();
               for (var i in data) {
                  var isHave = false;
                  data[i].ExQty = 0;
                  data[i].IsBale="0";
                  data[i].IsBelt="0";
                  for(var j in arr){
                     if(arr[j].SkuNo == data[i].SkuNo && arr[j].LotNo == data[i].LotNo){
                        isHave = true;
                        break;
                     }
         getWareHouseList();
         getCustomerList();
         getLogisticsInfoList();
         window.success = function (data) {
            console.log(data);
            refreshTable(data);
         };
         var arr = [];
         var TypeValue = $("#Type").val();
         function refreshTable(data) {
            //table.clear();
            for (var i in data) {
               var isHave = false;
               data[i].ExQty = 0;
               data[i].IsBale = "0";
               data[i].IsBelt = "0";
               for (var j in arr) {
                  if (arr[j].SkuNo == data[i].SkuNo && arr[j].LotNo == data[i].LotNo) {
                     isHave = true;
                     break;
                  }
                  if(isHave){
                     continue;
                  }
                  arr.push(data[i]); //属性
               }
               $.extend(infoOptions, {
                  data: arr
               });
               infoOptions.page = {
                  curr: 1
               if (isHave) {
                  continue;
               }
               table.render(infoOptions);
               arr.push(data[i]); //属性
            }
            var infoOptions = {
               elem: '#LAY-app-content-list',
               height: 'full-160',
               id: 'LAY-app-content-list',
               page: true,
               limit: pageCnt,
               limits: pageLimits,
               cellMinWidth: 60, //全局定义常规单元格的最小宽度,layui 2.2.1 新增
               cols: [
                  [{
                     field: 'SkuNo',
                     title: '物品编码',
                     align: 'center',
                     fixed: 'left',
                     width:140,
                  }, {
                     field: 'SkuName',
                     title: '物品名称',
                     align: 'center',
                     fixed: 'left',
                  }, {
                     field: 'LotNo',
                     title: '批次',
                     align: 'center',
                     minWidth:140,
                  }, {
                     field: 'Standard',
                     title: '物品规格',
                     align: 'center',
                  }, {
                     field: 'Qty',
                     title: '库存数量',
                     align: 'center',
                     width:100,
                  }, {
                     field: 'ExQty',
                     title: '出库数量',
                     align: 'center',
                     width:100,
                     edit: 'number',
                     event: 'dataNumber'
                  },
                  // {
                  //    field:'IsBale',
                  //    title:'是否裹包',
                  //    width:90,
                  //    templet: '#switchTpl',
                  //    unresize: true //是否禁用拖拽列宽
                  // }, {
                  //    field:'IsBelt',
                  //    title:'是否打带',
                  //    width:90,
                  //    templet: '#checkboxTpl',
                  //    unresize: true //是否禁用拖拽列宽
                  // },
                  {
                     title: '操作',
                     align: 'center',
                     width:90,
                     templet: '#table-content-list',
                     fixed: 'right',
                  }]
               ],
            };
            // //监听裹包操作
            // form.on('switch(IsBaleDemo)', function(obj){
            //    if (obj.elem.checked) {
            //       for (var k in arr) {
            //          if (arr[k].LAY_TABLE_INDEX == obj.value) {
            //             arr[k].IsBale = "1";
            //          }
            //       }
            //    }else{
            //       for (var k in arr) {
            //          if (arr[k].LAY_TABLE_INDEX == obj.value) {
            //             arr[k].IsBale = "0";
            //          }
            //       }
            //    }
            // });
            // //监听打带操作
            // form.on('switch(IsBeltDemo)', function(obj){
            //    if (obj.elem.checked) {
            //       for (var k in arr) {
            //          if (arr[k].LAY_TABLE_INDEX == obj.value) {
            //             arr[k].IsBelt = "1";
            //          }
            //       }
            //    }else{
            //       for (var k in arr) {
            //          if (arr[k].LAY_TABLE_INDEX == obj.value) {
            //             arr[k].IsBelt = "0";
            //          }
            //       }
            //    }
            // });
            //初始渲染
            refreshTable(null);
            var $ = layui.$;
            var   active = {
               add: function() {
                  if ($("#WarehouseId").val()== "") {
                     layer.msg("请选择仓库!", {
                        icon: 2,
                        time: 2000 //2秒关闭(如果不配置,默认是3秒)
                     },function() {});
                     return;
                  }
                  if ($("#Type").val()== "") {
                     layer.msg("请选择单据类型!", {
                        icon: 2,
                        time: 2000 //2秒关闭(如果不配置,默认是3秒)
                     },function() {});
                     return;
                  }
                  if($("#Type").val()=='6'){
                     if($("#CustomerNo").val()==''){
                        layer.msg("代储单据请选择货主!", {
                           icon: 2,
                           time: 2000 //2秒关闭(如果不配置,默认是3秒)
                        }, function () {
                        });
                        return;
                     }
                  }
                  console.log($("#WarehouseId").val());
                  layer.open({
                     type: 2,
                     title: '选择物品信息',
                     content: 'ExportSelectSkuFrom.html?houseId='+$("#WarehouseId").val()+'&Type='+$("#Type").val()+'&OwnerNo='+$("#CustomerNo").val(),
                     maxmin: true,
                     area: ['950px', '90%'],
                     fixed: false,
                  });
               }
            };
            $('.layui-btn.layuiadmin-btn-list').on('click', function() {
               var type = $(this).data('type');
               active[type] ? active[type].call(this) : '';
            $.extend(infoOptions, {
               data: arr
            });
            infoOptions.page = {
               curr: 1
            }
            table.render(infoOptions);
            table.on('tool(LAY-app-content-list)', function(obj) {
               var data = obj.data;
               if (obj.event === 'del') {
                  var ii = -1;
                  for (var j in arr) {
                     if (obj.data.SkuNo == arr[j].SkuNo && arr[j].LotNo == obj.data.LotNo) {
                        ii = j;
                        break;
                     }
         }
         var infoOptions = {
            elem: '#LAY-app-content-list',
            height: 'full-160',
            id: 'LAY-app-content-list',
            page: true,
            limit: pageCnt,
            limits: pageLimits,
            cellMinWidth: 60,
            cols: [
               [{
                  field: 'SkuNo',
                  title: '物品编码',
                  align: 'center',
                  fixed: 'left',
                  width: 140,
               }, {
                  field: 'SkuName',
                  title: '物品名称',
                  align: 'center',
                  fixed: 'left',
               }, {
                  field: 'LotNo',
                  title: '批次',
                  align: 'center',
                  minWidth: 140,
               }, {
                  field: 'Standard',
                  title: '物品规格',
                  align: 'center',
               }, {
                  field: 'Qty',
                  title: '库存数量',
                  align: 'center',
                  width: 100,
                  // 格式化库存数量显示为4位小数
                  templet: function (d) {
                     return parseFloat(d.Qty).toFixed(4);
                  }
                  if (ii > -1) {
                     arr.splice(ii, 1);
                     obj.del();
                  }
               } else if (obj.event === 'dataNumber') {
                  $(".layui-input.layui-table-edit").attr("type", "number");
               }
            });
               }, {
                  field: 'ExQty',
                  title: '出库数量',
                  align: 'center',
                  width: 100,
                  edit: 'text', // 改为text支持小数输入
                  event: 'dataNumber'
               }, {
                  title: '操作',
                  align: 'center',
                  width: 90,
                  templet: '#table-content-list',
                  fixed: 'right',
               }]
            ],
         };
         // {
         //    field:'IsBale',
         //    title:'是否裹包',
         //    width:90,
         //    templet: '#switchTpl',
         //    unresize: true //是否禁用拖拽列宽
         // }, {
         //    field:'IsBelt',
         //    title:'是否打带',
         //    width:90,
         //    templet: '#checkboxTpl',
         //    unresize: true //是否禁用拖拽列宽
         // },
         // //监听裹包操作
         // form.on('switch(IsBaleDemo)', function(obj){
         //    if (obj.elem.checked) {
         //       for (var k in arr) {
         //          if (arr[k].LAY_TABLE_INDEX == obj.value) {
         //             arr[k].IsBale = "1";
         //          }
         //       }
            form.verify({
               emptyNo: function(value) {
                  if (value == '') {
                     return '';
                  } else {
                     var ver = /^[0-9]+$/;
                     if (!ver.test(value)) {
                        return '只能输入正整数';
                     }
                  }
               }
            });
            var isrun = 0;
            form.on('submit(form1)', function(data) {
               if(isrun == 1){
                  return;
               }
               isrun = 1;
               if (infoOptions.data == 0) {
                  layer.msg("请添加明细!", {
         //    }else{
         //       for (var k in arr) {
         //          if (arr[k].LAY_TABLE_INDEX == obj.value) {
         //             arr[k].IsBale = "0";
         //          }
         //       }
         //    }
         // });
         // //监听打带操作
         // form.on('switch(IsBeltDemo)', function(obj){
         //    if (obj.elem.checked) {
         //       for (var k in arr) {
         //          if (arr[k].LAY_TABLE_INDEX == obj.value) {
         //             arr[k].IsBelt = "1";
         //          }
         //       }
         //    }else{
         //       for (var k in arr) {
         //          if (arr[k].LAY_TABLE_INDEX == obj.value) {
         //             arr[k].IsBelt = "0";
         //          }
         //       }
         //    }
         // });
         //初始渲染
         refreshTable(null);
         var $ = layui.$;
         var active = {
            add: function () {
               if ($("#WarehouseId").val() == "") {
                  layer.msg("请选择仓库!", {
                     icon: 2,
                     time: 2000 //2秒关闭(如果不配置,默认是3秒)
                  }, function() {
                  });
                  isrun = 0;
                  }, function () { });
                  return;
               }
               var type= $("#Type").val();
               if(type=='6'){
                  var CustomerNo=$("#CustomerNo").val();
                  if(CustomerNo==''){
               if ($("#Type").val() == "") {
                  layer.msg("请选择单据类型!", {
                     icon: 2,
                     time: 2000 //2秒关闭(如果不配置,默认是3秒)
                  }, function () { });
                  return;
               }
               if ($("#Type").val() == '6') {
                  if ($("#CustomerNo").val() == '') {
                     layer.msg("代储单据请选择货主!", {
                        icon: 2,
                        time: 2000 //2秒关闭(如果不配置,默认是3秒)
@@ -350,217 +278,281 @@
                     return;
                  }
               }
               var DataList = [];
               for (var i in infoOptions.data) {
                  console.log(infoOptions.data[i].ExQty);
                  if (infoOptions.data[i].ExQty == "") {
                     layer.msg("请输入出库数量!", {
                        icon: 2,
                        time: 2000 //2秒关闭(如果不配置,默认是3秒)
                     }, function() {});
                     isrun = 0;
                     return;
                  }
                  if(infoOptions.data[i].ExQty.indexOf('.')>=0){
                     layer.msg("出库数量必须是大于0的整数", {
                        icon: 2,
                        time: 2000 //2秒关闭(如果不配置,默认是3秒)
                     }, function() {});
                     isrun = 0;
                     return;
                  }
                  if(infoOptions.data[i].ExQty.indexOf('-')>=0){
                     layer.msg("出库数量必须是大于0的整数", {
                        icon: 2,
                        time: 2000 //2秒关闭(如果不配置,默认是3秒)
                     }, function() {});
                     isrun = 0;
                     return;
                  }
                  if(infoOptions.data[i].ExQty.charAt(0)=='0'){
                     layer.msg("出库数量必须是大于0的整数", {
                        icon: 2,
                        time: 2000 //2秒关闭(如果不配置,默认是3秒)
                     }, function() {});
                     isrun = 0;
                     return;
                  }
                  if (infoOptions.data[i].ExQty <= 0) {
                     layer.msg("出库数量必须大于0!", {
                        icon: 2,
                        time: 2000 //2秒关闭(如果不配置,默认是3秒)
                     }, function() {});
                     isrun = 0;
                     return;
                  }
                  if (infoOptions.data[i].ExQty > infoOptions.data[i].Qty) {
                     layer.msg("出库数量不能大于库存数量!", {
                        icon: 2,
                        time: 2000 //2秒关闭(如果不配置,默认是3秒)
                     }, function() {});
                     isrun = 0;
                     return;
                  }
                  var item = {
                     SkuNo: infoOptions.data[i].SkuNo,
                     LotNo: infoOptions.data[i].LotNo,
                     Qty: parseInt(infoOptions.data[i].ExQty),
                     IsBale:infoOptions.data[i].IsBale,
                     IsBelt:infoOptions.data[i].IsBelt,
                  };
                  DataList.push(item); //属性
               }
               var param = {
                  Type: data.field.Type,
                  CustomerNo: data.field.CustomerNo,
                  WareHouseNo:data.field.WarehouseId,
                  LogisticsId: parseInt(data.field.LogisticsId),
                  Detail: DataList
               }
               sendData(IP + "/BllSo/AddExportNotice", param, 'post', function(res) {
                  console.log(res);
                  if (res.code == 0) { //成功
                     layer.msg(res.msg, {
                        icon: 1,
                        time: 2000 //2秒关闭(如果不配置,默认是3秒)
                     }, function() {
                        parent.location.reload();
                        parent.layer.close(layer.index);
                     });
                     isrun = 0;
                  } else if(res.code == 1) { //不成功
                     layer.msg(res.msg, {
                        icon: 2,
                        time: 2000 //2秒关闭(如果不配置,默认是3秒)
                     }, function() {});
                     isrun = 0;
                  }
               });
               return false;
            });
            //下拉单据类型选中后事件
            form.on('select(Type)', function(data) {
               var value = data.value;
               if(value!=TypeValue){
                  getCustomerList();
                  arr = [];
                  // 渲染Table
                  refreshTable(null);
                  TypeValue=value;
               }
            });
            //获取仓库信息
            function getWareHouseList(){
               sendData(IP + "/Sys/GetWarehouseDic", {}, 'get', function(res) {
                  if (res.code == 0) { //成功
                     $("#WarehouseId").empty();
                     $("#WarehouseId").append('<option value =""></option>');
                     for (var i = 0; i < res.data.length; i++) {
                        $("#WarehouseId").append('<option value =' + res.data[i].WareHouseNo + '>' +
                           res.data[i].WareHouseName + '</option>');
                     }
                     //$("#WarehouseId option[value='W01']").attr("selected", "selected")
                     form.render('select');
                  } else { //不成功
                     layer.msg(res.msg, {
                        icon: 2,
                        time: 2000 //2秒关闭(如果不配置,默认是3秒)
                     }, function() {});
                  }
               console.log($("#WarehouseId").val());
               layer.open({
                  type: 2,
                  title: '选择物品信息',
                  content: 'ExportSelectSkuFrom.html?houseId=' + $("#WarehouseId").val() + '&Type=' + $("#Type").val() + '&OwnerNo=' + $("#CustomerNo").val(),
                  maxmin: true,
                  area: ['950px', '90%'],
                  fixed: false,
               });
            }
            //获取客户下拉框信息
            function getCustomerList() {
               sendData(IP + "/Basis/GetCustomerSelect", {}, 'get', function(res) {
                  if (res.code == 0) { //成功
                     $("#CustomerNo").empty();
                     $("#CustomerNo").append('<option value =""></option>');
                     for (var i = 0; i < res.data.length; i++) {
                        var TypeNum = 0;
                        switch($("#Type").val())
                        {
                           case "0": //成品出库
                              TypeNum = 0;
                              console.log(TypeNum)
                              break;
                           case "1": //领料出库
                           case "2": //抽检出库
                           case "3": //物料取样出库
                           case "4": //不合格品出库
                           case "5": //中间品出库
                           case "6": //代储出库
                           case "7": //其他出库
                           case "8": //寄存出库
                              TypeNum = 2;
                              console.log(TypeNum)
                              break;
                        }
                        //判断单据类型
                        if (TypeNum == 0)
                        {
                           if (res.data[i].Type == 0)
                           {
                              $("#CustomerNamep").html("客户");
                              $("#CustomerNo").append('<option value =' + res.data[i].CustomerNo + '>' +
         };
         $('.layui-btn.layuiadmin-btn-list').on('click', function () {
            var type = $(this).data('type');
            active[type] ? active[type].call(this) : '';
         });
         table.on('tool(LAY-app-content-list)', function (obj) {
            var data = obj.data;
            if (obj.event === 'del') {
               var ii = -1;
               for (var j in arr) {
                  if (obj.data.SkuNo == arr[j].SkuNo && arr[j].LotNo == obj.data.LotNo) {
                     ii = j;
                     break;
                  }
               }
               if (ii > -1) {
                  arr.splice(ii, 1);
                  obj.del();
               }
            } else if (obj.event === 'dataNumber') {
               $(".layui-input.layui-table-edit").attr("type", "number");
            }
         });
         form.verify({
            emptyNo: function (value) {
               if (value == '') {
                  return '';
               } else {
                  var ver = /^[0-9]+$/;
                  if (!ver.test(value)) {
                     return '只能输入正整数';
                  }
               }
            }
         });
         var isrun = 0;
         form.on('submit(form1)', function (data) {
            if (isrun == 1) {
               return;
            }
            isrun = 1;
            if (infoOptions.data == 0) {
               layer.msg("请添加明细!", {
                  icon: 2,
                  time: 2000 //2秒关闭(如果不配置,默认是3秒)
               }, function () {
               });
               isrun = 0;
               return;
            }
            var type = $("#Type").val();
            if (type == '6') {
               var CustomerNo = $("#CustomerNo").val();
               if (CustomerNo == '') {
                  layer.msg("代储单据请选择货主!", {
                     icon: 2,
                     time: 2000 //2秒关闭(如果不配置,默认是3秒)
                  }, function () {
                  });
                  return;
               }
            }
            var DataList = [];
            // 只保留一个验证循环,移除重复代码
            for (var i in infoOptions.data) {
               const exqtyStr = (infoOptions.data[i].ExQty || '').trim();
               const stockQty = parseFloat(infoOptions.data[i].Qty) || 0;
               // 验证是否为空
               if (exqtyStr === "") {
                  layer.msg("请输入出库数量!", { icon: 2, time: 2000 });
                  isrun = 0;
                  return;
               }
               // 验证数字格式(支持正数和最多4位小数)
               const decimalRegex = /^(0|[1-9]\d*)(\.\d{1,4})?$/;
               if (!decimalRegex.test(exqtyStr)) {
                  layer.msg("出库数量必须是大于0的数字,且最多保留4位小数!", { icon: 2, time: 2000 });
                  isrun = 0;
                  return;
               }
               // 转换为浮点数并处理精度
               const precision = 10000;
               const exqty = Math.round(parseFloat(exqtyStr) * precision) / precision;
               // 验证是否大于0
               if (exqty < 0) {
                  layer.msg("出库数量必须大于0!", { icon: 2, time: 2000 });
                  isrun = 0;
                  return;
               }
               // 验证不超过库存数量
               if (exqty > stockQty) {
                  layer.msg("出库数量不能大于库存数量!", { icon: 2, time: 2000 });
                  isrun = 0;
                  return;
               }
               // 格式化出库数量为4位小数
               const formattedExQty = exqty.toFixed(4);
               infoOptions.data[i].ExQty = formattedExQty;
               // 构建数据对象
               var item = {
                  SkuNo: infoOptions.data[i].SkuNo,
                  LotNo: infoOptions.data[i].LotNo,
                  Qty: parseFloat(infoOptions.data[i].Qty), // 保留4位小数精度
                  IsBale: infoOptions.data[i].IsBale,
                  IsBelt: infoOptions.data[i].IsBelt,
                  ExQty: parseFloat(formattedExQty),
               };
               DataList.push(item);
            }
            var param = {
               Type: data.field.Type,
               CustomerNo: data.field.CustomerNo,
               WareHouseNo: data.field.WarehouseId,
               LogisticsId: parseInt(data.field.LogisticsId),
               Detail: DataList
            }
            sendData(IP + "/BllSo/AddExportNotice", param, 'post', function (res) {
               console.log(res);
               if (res.code == 0) { //成功
                  layer.msg(res.msg, {
                     icon: 1,
                     time: 2000 //2秒关闭(如果不配置,默认是3秒)
                  }, function () {
                     parent.location.reload();
                     parent.layer.close(layer.index);
                  });
                  isrun = 0;
               } else if (res.code == 1) { //不成功
                  layer.msg(res.msg, {
                     icon: 2,
                     time: 2000 //2秒关闭(如果不配置,默认是3秒)
                  }, function () { });
                  isrun = 0;
               }
            });
            return false;
         });
         //下拉单据类型选中后事件
         form.on('select(Type)', function (data) {
            var value = data.value;
            if (value != TypeValue) {
               getCustomerList();
               arr = [];
               // 渲染Table
               refreshTable(null);
               TypeValue = value;
            }
         });
         //获取仓库信息
         function getWareHouseList() {
            sendData(IP + "/Sys/GetWarehouseDic", {}, 'get', function (res) {
               if (res.code == 0) { //成功
                  $("#WarehouseId").empty();
                  $("#WarehouseId").append('<option value =""></option>');
                  for (var i = 0; i < res.data.length; i++) {
                     $("#WarehouseId").append('<option value =' + res.data[i].WareHouseNo + '>' +
                        res.data[i].WareHouseName + '</option>');
                  }
                  //$("#WarehouseId option[value='W01']").attr("selected", "selected")
                  form.render('select');
               } else { //不成功
                  layer.msg(res.msg, {
                     icon: 2,
                     time: 2000 //2秒关闭(如果不配置,默认是3秒)
                  }, function () { });
               }
            });
         }
         //获取客户下拉框信息
         function getCustomerList() {
            sendData(IP + "/Basis/GetCustomerSelect", {}, 'get', function (res) {
               if (res.code == 0) { //成功
                  $("#CustomerNo").empty();
                  $("#CustomerNo").append('<option value =""></option>');
                  for (var i = 0; i < res.data.length; i++) {
                     var TypeNum = 0;
                     switch ($("#Type").val()) {
                        case "0": //成品出库
                           TypeNum = 0;
                           console.log(TypeNum)
                           break;
                        case "1": //领料出库
                        case "2": //抽检出库
                        case "3": //物料取样出库
                        case "4": //不合格品出库
                        case "5": //中间品出库
                        case "6": //代储出库
                        case "7": //其他出库
                        case "8": //寄存出库
                           TypeNum = 2;
                           console.log(TypeNum)
                           break;
                     }
                     //判断单据类型
                     if (TypeNum == 0) {
                        if (res.data[i].Type == 0) {
                           $("#CustomerNamep").html("客户");
                           $("#CustomerNo").append('<option value =' + res.data[i].CustomerNo + '>' +
                              res.data[i].CustomerName + '</option>');
                           }
                        }
                        else if (TypeNum == 1)
                        {
                           if (res.data[i].Type == 1)
                           {
                              $("#CustomerNamep").html("供应商");
                              $("#CustomerNo").append('<option value =' + res.data[i].CustomerNo + '>' +
                              res.data[i].CustomerName + '</option>');
                           }
                        }
                        else if (TypeNum == 2)
                        {
                           if (res.data[i].Type == 2)
                           {
                              $("#CustomerNamep").html("货主");
                              $("#CustomerNo").append('<option value =' + res.data[i].CustomerNo + '>' +
                              res.data[i].CustomerName + '</option>');
                           }
                        }
                     }
                     form.render('select');
                  } else { //不成功
                     layer.msg(res.msg, {
                        icon: 2,
                        time: 2000 //2秒关闭(如果不配置,默认是3秒)
                     }, function() {});
                     else if (TypeNum == 1) {
                        if (res.data[i].Type == 1) {
                           $("#CustomerNamep").html("供应商");
                           $("#CustomerNo").append('<option value =' + res.data[i].CustomerNo + '>' +
                              res.data[i].CustomerName + '</option>');
                        }
                     }
                     else if (TypeNum == 2) {
                        if (res.data[i].Type == 2) {
                           $("#CustomerNamep").html("货主");
                           $("#CustomerNo").append('<option value =' + res.data[i].CustomerNo + '>' +
                              res.data[i].CustomerName + '</option>');
                        }
                     }
                  }
               });
            }
            //获取物流承运商下拉框信息
            function getLogisticsInfoList() {
               sendData(IP + "/Basis/GetLogisticsInfoSelect", {}, 'get', function(res) {
                  if (res.code == 0) { //成功
                     $("#LogisticsId").empty();
                     $("#LogisticsId").append('<option value =""></option>');
                     for (var i = 0; i < res.data.length; i++) {
                        $("#LogisticsId").append('<option value =' + res.data[i].Id + '>' +
                           res.data[i].CarrierName + '</option>');
                     }
                     form.render('select');
                  } else { //不成功
                     layer.msg(res.msg, {
                        icon: 2,
                        time: 2000 //2秒关闭(如果不配置,默认是3秒)
                     }, function() {});
                  form.render('select');
               } else { //不成功
                  layer.msg(res.msg, {
                     icon: 2,
                     time: 2000 //2秒关闭(如果不配置,默认是3秒)
                  }, function () { });
               }
            });
         }
         //获取物流承运商下拉框信息
         function getLogisticsInfoList() {
            sendData(IP + "/Basis/GetLogisticsInfoSelect", {}, 'get', function (res) {
               if (res.code == 0) { //成功
                  $("#LogisticsId").empty();
                  $("#LogisticsId").append('<option value =""></option>');
                  for (var i = 0; i < res.data.length; i++) {
                     $("#LogisticsId").append('<option value =' + res.data[i].Id + '>' +
                        res.data[i].CarrierName + '</option>');
                  }
               });
            }
         })
      </script>
   </body>
</html>
                  form.render('select');
               } else { //不成功
                  layer.msg(res.msg, {
                     icon: 2,
                     time: 2000 //2秒关闭(如果不配置,默认是3秒)
                  }, function () { });
               }
            });
         }
      })
   </script>
</body>
</html>